-
Notifications
You must be signed in to change notification settings - Fork 148
How to translate Open GPX Tracker into my language
Since v1.7.0, thanks to @nitricware Open GPX tracker supports internationalization (i18n), that is, the interface is translated into different languages.
The current list of languages and the last time they were translated:
Language | Version | First translated by | Maintained by |
---|---|---|---|
English | 1.7.2 (latest) | default language | development team |
Chinese | 1.7.2 (latest) | @vincentneo | @vincentneo |
Finnish | 1.7.2 (latest) | @Phiilman | |
French | 1.7.2 (latest) | @m-hefti | |
German | 1.7.2 (latest) | @nitricware | @nitricware |
Russian | 1.7.2 (latest) | @NeoFusion | |
Spanish | 1.7.2 (latest) | @merlos | @merlos |
Ukrainian | 1.7.2 (latest) | @onix | |
Italian | 1.7.2 (latest) | Paolo Fehlmann |
If the application is not translated into your language, feel free to help us! It does not require any technical skill, only a couple of hours of your time, and you just need a simple text editor such as Notepad (Windows) or TextEdit (OSX).
-
Download the files:
- OpenGpxTracker/en.lproj/InfoPlist.strings
- OpenGpxTracker/en.lproj/Lozalizable.strings
- OpenGpxTracker-Watch/en.lproj/Interface.strings
- OpenGpxTracker-Watch Extension/en.lproj/InfoPlist.strings
Additionally, you can translate the description we use in the App Store. It will help people to know information about the app before downloading it.
-
Open each file with a text editor and translate the text into your language. Files have the following format:
"NO_LOCATION" = "Not getting location"; "START_TRACKING" = "Start Tracking"; "PAUSE" = "Pause"; "RESUME" = "Resume"; "SAVE" = "Save"; "RESET" = "Reset";
You have to translate the text after the
=
. For example the translated version in Spanish would be:"NO_LOCATION" = "Localización desconocida"; "START_TRACKING" = "Comenzar"; "PAUSE" = "Pausar"; "RESUME" = "Reanudar"; "SAVE" = "Guardar"; "RESET" = "Reiniciar";
DO NOT REMOVE THE QUOTES surounding the texts and keep each translation in one line
The file
Interface.strings
may look a bit weird. This is because it is generated automatically:/* Class = "WKInterfaceLabel"; text = "signal"; ObjectID = "036-aK-7ie"; */ "036-aK-7ie.text" = "signal"; /* Class = "WKInterfaceLabel"; text = "File Name"; ObjectID = "19n-8m-sC5"; */ "19n-8m-sC5.text" = "File Name";
Again, you have to translate the text after the
=
, but only in the lines that do not start with/*
, that is"036-aK-7ie.text" = "signal";
and"19n-8m-sC5.text" = "File Name";
. The Spanish translation of example above is:... /* Class = "WKInterfaceLabel"; text = "signal"; ObjectID = "036-aK-7ie"; */ "036-aK-7ie.text" = "señal"; /* Class = "WKInterfaceLabel"; text = "File Name"; ObjectID = "19n-8m-sC5"; */ "19n-8m-sC5.text" = "Nombre del archivo";
-
Once all strings in all files are translated open a new issue in github issues page with the title "Translation into "language" and attach the modified files with your translations. Note that you will need a GitHub account, but it is free.
-
Additionally, in your submissions, please mention if you want to maintain the translations. The app changes from time to time, if the translation into your language is not maintained, users will see some texts in English.
-
Try to find the text you are translating in the app. While translating the texts, keep the app open and try to find where the text appears. Sometimes, depending on the context you may use one word or another.
-
Be consistent, that is always use the same translation for the same word. For example, if you translated "Stop" with the word "X", then if "stop" appears again in other sentence, use the same "X" translation. By using the same word makes the user to understand it better.
In the source code will be relatively fast (1 week or so) but in the app store it may take a little bit more. We typically publish a new version every 4 to 6 months.
If you have any doubt about the process, go to the issues page and create a New issue (green button on the left) with the title "Translation into "language" and your question.