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!