The user interface of OWASP Juice Shop is fully translated into several languages. For many more languages there is a partial translation available:
As long as the original author is taking part in the project's maintenance, there will always be 🇬🇧🇺🇸 English and a complete :de: German translation available. Everything beyond that depends on volunteer translators!
Juice Shop uses a Crowdin project to translate the project and perform reviews:
https://crowdin.com/project/owasp-juice-shop
Crowdin is a Localization Management Platform that allows to crowdsource translations of mobile apps, web, desktop software and related assets. It is free for open source projects.1
-
Create an account at Crowdin and log in.
-
Visit the project invitation page https://crowdin.com/project/owasp-juice-shop/invite
-
Pick a language you would like to help translate the project into
-
In the Files tab select the listed source file
en.json
-
Pick an untranslated label (marked with a red box) and provide a translation
-
That is all it takes!
In the background, Crowdin will use the dedicated l10n_develop
Git
branch to synchronize translations into the app/i18n/??.json
language
files where ??
is a language code (e.g. en
or de
).
If you do not find the language you would like to provide a translation for in the list, please contact the OWASP Juice Shop project leader or raise an issue on GitHub asking for the missing language. It will be added asap!
- Fork the repository https://github.com/bkimminich/juice-shop
- Translate the labels in the desired language-
.json
file in/app/i18n
- Commit, push and open a Pull Request
- Done!
If the language you would like to translate into is missing, just add a
corresponding two-letter-ISO-code-.json
file to the folder
/app/i18n
. It will be imported to Crowdin afterwards and added as a
new language there as well.
The Crowdin process is the preferred way for the project to handle its translations as it comes with built-in review and approval options and is very easy to use. But of course it would be stupid of us to turn down a translation just because someone likes to edit JSON files manually more!