How to make or update a language file for Shinobi
There is a tool provided to translate the "en_CA" file to other languages called "translateLanguageFile.js".
How to set the Language in Shinobi
1. Login to the Superuser panel and open he Configuration tab OR open Terminal and open the conf.json located in the root of the Shinobi directory.
2. Add or Edit the key "language" in the file. Set the value as the language you want, any filename appearing in "languages" folder of the Shinobi directory can be used as the value (excluding the .json suffix). For example : "en_CA".
3. Save and Restart Shinobi
Creating or Updating
Navigate to your tools folder in the Shinobi directory. If you used the Ninja Installer the default directory is /home/Shinobi
cd /home/Shinobi/tools
Then run the script to create a new file. This translator uses the Google Translator.
node translateLanguageFile.js <SOURCE> <FROM_LANGUAGE> <TO_LANGUAGE>
Here is an example of translating Canadian English to Arabic. This will create or update a file in your languages folder called ar.json. The languages folder is located in the main directory of Shinobi.
node translateLanguageFile.js en_CA en ar
Creating and Updating use the same command. If the file doesn't exist it will make it. If it does exist it will update it. Simple :)
Supported Lanuages
Below is a list of supported options for the <FROM_LANGUAGE> and <TO_LANGUAGE> parameters. For an updated list please visit Google's Website.
| Language | Code | Language | Code |
|---|---|---|---|
| Azerbaijan | az | Malayalam | ml |
| Albanian | sq | Maltese | mt |
| Amharic | am | Macedonian | mk |
| English | en | Maori | mi |
| Arabic | ar | Marathi | mr |
| Armenian | hy | Mari | mhr |
| Afrikaans | af | Mongolian | mn |
| Basque | eu | German | de |
| Bashkir | ba | Nepali | ne |
| Belarusian | be | Norwegian | no |
| Bengali | bn | Punjabi | pa |
| Burmese | my | Papiamento | pap |
| Bulgarian | bg | Persian | fa |
| Bosnian | bs | Polish | pl |
| Welsh | cy | Portuguese | pt |
| Hungarian | hu | Romanian | ro |
| Vietnamese | vi | Russian | ru |
| Haitian (Creole) | ht | Cebuano | ceb |
| Galician | gl | Serbian | sr |
| Dutch | nl | Sinhala | si |
| Hill Mari | mrj | Slovakian | sk |
| Greek | el | Slovenian | sl |
| Georgian | ka | Swahili | sw |
| Gujarati | gu | Sundanese | su |
| Danish | da | Tajik | tg |
| Hebrew | he | Thai | th |
| Yiddish | yi | Tagalog | tl |
| Indonesian | id | Tamil | ta |
| Irish | ga | Tatar | tt |
| Italian | it | Telugu | te |
| Icelandic | is | Turkish | tr |
| Spanish | es | Udmurt | udm |
| Kazakh | kk | Uzbek | uz |
| Kannada | kn | Ukrainian | uk |
| Catalan | ca | Urdu | ur |
| Kyrgyz | ky | Finnish | fi |
| Chinese | zh | French | fr |
| Korean | ko | Hindi | hi |
| Xhosa | xh | Croatian | hr |
| Khmer | km | Czech | cs |
| Laotian | lo | Swedish | sv |
| Latin | la | Scottish | gd |
| Latvian | lv | Estonian | et |
| Lithuanian | lt | Esperanto | eo |
| Luxembourgish | lb | Javanese | jv |
| Malagasy | mg | Japanese | ja |
| Malay | ms |
Warning!
Please be respectful with the translation tool as it uses Google's servers for the queries. Each variable that doesn't exist in the destination language file will be queried for a translation. So if your destination file is missing 1000 terms from the source file it will send 1000 translation queries.
If you want to make a language file manually I highly recommend that you create a base file with the translator first then correct spelling and grammar.
Why Google Translator?
It was easy to integrate but I am open to other solutions. I have also been told on many occasions the translations are just bad. So I really would appreciate any info on this.
Thank you to everyone who manually made language files!