ANYONE can help localize Tetra Stats on own native language #10
dan63047
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Take part in the development of Tetra Stats by contributing into i18n. That announce contain instruction on how to contribute.
Providing localization
If you take a closer look at project, you will notice, that every local stored as JSON file at
*project root*/res/i18n
. Default locale has a namestrings.i18n.json
, while other locales should have a namestrings_*lang-code*.i18n.json
. Those JSON files contains a dictionary of every string, that appears in app. Therefore, there is 2 ways that you can provide me your localization file.№1 - Fork, then Pull Request
That way requires at least some knowledge on how to use
git
. It would be great if you also knew how to work withflutter
git clone https://github.com/*your_github_username*/TetraStats.git
. It will download your fork intoTetraStats
folder.TetraStats/res/i18n
folder, and create a copy ofstrings.i18n.json
. Rename it intostrings_*lang-code*.i18n.json
, where lang-code is 2 letter code of the language you are going to localize.flutter
installed) inside of project folder executeflutter pub get
(to get dependencies), thendart run slang
. That will generate a file, that app uses to retrieve the strings.git add /res/i18n/strings_*lang-code*.i18n.json
(and if step 5 was accomplished, executegit add /lib/gen/strings.g.dart
), thengit commit -m "Added *lang-code* localization"
.git push origin master
)№2 - Download stock locale, then post your locale here (or send me it in my DMs).
If you not capable to do it, or if it's too incomprehensibly, or just too lazy and want more easy way to help, there it is:
https://raw.githubusercontent.com/dan63047/TetraStats/master/res/i18n/strings.i18n.json
strings_*lang-code*.i18n.json
, where lang-code is 2 letter code of the language you are going to localize.Translation moments
Lets take a look at
locales(map)
value. It contains a dictionary, where key is a language code, and value is a full name of language on your locale + full name of language on that language in brakets. You should add your entry with your locale. (and do it for all other locales, if possible).Requirements
They are not so high, as you can think. The only thing i require, is availability. If original localization will be changed, you will be asked to update your own localization.
I hope, I will get at least some help from you.
Beta Was this translation helpful? Give feedback.
All reactions