-
Notifications
You must be signed in to change notification settings - Fork 2
Contribute a Translation
Language | Code | Version Added |
---|---|---|
English | en-US | n/a |
Italian | it-IT | 0.3.0 |
Dutch | nl-NL | 0.4.0 |
Your Language | ? | ? |
If you would like to contribute to the Get My IP translation effort your help would certainly be appreciated. 👏
If you have a question or feedback to share, I've enabled Discussions for this repository.
To make this a smoother process for everyone involved, it has become necessary to create new procedures.
- Each new translation contribution or language file update must be associated with a pull request or a new translation issue.
- Only one language file per PR or issue.
- Before submitting a new translation or an updated language file, the file must be checked using the new Check Language File tool found here.
- Updates to a language file will no longer be added to the bottom of the file. Instead, they will be done in place and comments will be added to the bottom of the language file. Adding updates to the bottom was leading to too many duplicate keys.
- These comments will have a header record that will note when the change was made.
- Changes to the language file will be noted in the comments. One comment per change.
PRs are welcome for adding a new language or for making updates to an existing one. The PR should be for the language file only.
Now that I'm more comfortable working with PRs, they are the preferred way to add or update a language. However, if you aren't comfortable with using a pull request, I'm happy to work with you to find a way that we are both comfortable with.
-
Do use the Languages/Strings.en-US.xaml file as a starting point. This file will be up to date with the latest changes.
-
Do update the strings between the tags. For example, in the following, Version would be updated to the appropriate word or phrase.
<sys:String x:Key="About_Version">Version</sys:String>
- Don't change the opening or closing tags.
<sys:String x:Key="About_Example"> and </sys:String>
- Don't change the value of the key.
x:Key="About_Example"
- Please don't sort, minify, or prettify the file, or change the layout in any way.
The file is arranged into sections. Strings are grouped together based on how or where in the application they are used. The key will provide a hint as to how the word or phrase is used.
When you see a digit in curly braces, (e.g., {0}
), that string will be interpolated at runtime, replacing the {0}
with an appropriate value. The value can be a string or a number. For example, "Displaying {0}
of {1}
updates" might be displayed as "Displaying 23 of 142 updates". In addition to checking the translation, also check that the placement of the {0}
makes sense in the translated language.
If you use an editor that can display the file in XML format, such as Notepad++, Visual Studio or VS Code, it will be easier to visualize the file and see what needs to be updated.
- Specify the name of the language, as it should appear in the language drop-down on the Settings page. This should be the local spelling of the language name.
- The language name in English.
- The language code. For example,
(en-US)
Put this information after Language name:
in the comments section at the top of the language file.
If you wish to be acknowledged, specify your GitHub user ID, or another way you wish to be identified (even an emoji 😉). The acknowledgement will appear on the About page.
If you wish to remain anonymous, I don't have a problem with that. Simply specify "anonymous".
Put this information after Translation contributed by:
in the comments section at the top of the language file.
When translation is complete, save the file as Strings.xx-XX.xaml
where xx-XX is the language code.
Refer to the Testing a Language File topic before submitting your contribution.