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".
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!