WebGoat is mainly written in English, but it does support multiple languages.
- Current supported languages are: en, fr, de, nl
- The primary language is based on the language setting of the browser.
- If the language is not in the list of supported language, the language is English
- Once logged in, you can switch between the supported languages using a language dropdown menu on the main page
- After switching a language you are back at the Introduction page
The following steps are required when you want to add a new language
- Update main_new.html
- Add the parts for showing the flag and providing the correct value for the flag= parameter
- Add a flag image to src/main/resources/webgoat/static/css/img
- See the main_new.html for a link to download flag resources
- Add a welcome page to the introduction lesson
- Copy Introduction_.adoc to Introduction_es.adoc (if in this case you want to add Spanish)
- Add a highlighted section that explains that most parts of WebGoat will still be in English and invite people to translate parts where it would be valuable
- Translate the main labels
- Copy messages.properties to messages_es.properties (if in this case you want to add Spanish)
- Translate the label values
- Optionally translate lessons by
- Adding lang specifc adoc files in documentation folder of the lesson
- Adding WebGoatLabels.properties of a specific language if you want to
- Run mvn clean to see if the LabelAndHintIntegration test passes
- Run WebGoat and verify that your own language and the other languages work as expected
If you only want to translate more for a certain language, you only need to do step 4-8