NVDA Translation and Localization
Thank you for considering to localize NVDA to your language, or improving an existing translation. In order to support multiple languages/locales, NVDA must be translated and data specific to the locale must be provided. There are several tasks to be done, and this document hopes to give you an overview and guide you through the process.
Translation Mailing List
Translators should subscribe to the NVDA translations mailing list hosted at Groups.IO.
It is an English low trafic list devoted for the discussion of translation. Important messages that relate to translators will also be sent here, i.e. before official NVDA releases, to remind translators to make sure their localization is up to date.
Translators should ensure their translation is up to date by (UTC 00:00 on 14 February, 14 May, 14 August and 14 November) in order for it to be included in the upcoming final release, with this being delayed up to three days for some releases. Work submitted after this time will not be included in the upcoming release. A reminder will be sent three to five days prior to end of this period. For further information please see the ReleaseProcess page.
Status for existing NVDA localizations are provided below. If you would like to improve or would like to work on a new language, please write to the NVDA translations email list. Information updated as of August 2017 (2017.3). When 2017.3 is listed in the last updated column, it means that the localization is fully up to date and will be ready for the next release. For the purposes of the information below, "up to date" refers to interface translation of at least 90%.
|af_ZA: Afrikaans||Not complete/out of date, maintainer needed.||Oct 2009|
|am: Amharic||Not complete/out of date, maintainer needed.||Jul 2012|
|an: Aragonese||Up to date.||2018.3|
|ar: Arabic||Up to date.||2018.3|
|bg: Bulgarian||Up to date.||2018.3|
|CA: Catalan||Up to date.||2018.2|
|CKB: Central Kurdish||In progress.||N/A|
|cs: Czech||Up to date.||2018.3|
|da: Danish||Up to date.||2018.3|
|de: German||Up to date.||2018.3|
|de_CH: Swiss German||Up to date.||2018.3|
|el: Greek||The NVDA interface is up to date. There is work to be done on the user's guide.||2018.3|
|es: Spanish||Up to date.||2018.3|
|es_CO: Spanish (Columbia)||NVDA interface needs updating. There is work to be done on the user's guide.||July 2016|
|fa: Farsi||Up to date.||2017.3|
|fi: Finnish||Up to date.||2018.3|
|fr: French||Up to date.||2018.3|
|ga: Gaeilge (Ireland)||Update in progress.||2016.3|
|gl: Galician||Up to date.||2018.3|
|he: Hebrew||Up to date.||2018.2|
|hi: Hindi||Not complete, intermittent, help needed.||Jan 2015|
|hr: Croatian||Up to date.||2018.3|
|hu: Hungarian||Up to date.||2018.3|
|is: Icelandic||Not complete, intermittent, help needed.||Apr 2013|
|it: Italian||Up to date.||2018.3|
|ja: Japanese||Up to date.||2018.3|
|ka: Georgian||Not complete/out of date, maintainer needed.||May 2015|
|kmr: Northern Kurdish||In progress.||N/A|
|kn: Kannada||Out of date, help needed.||Date unknown|
|ko: Korean||Up to date.||2018.3|
|ky: Kyrgyz||Up to date.||2018.3|
|lt: Lithuanian||Out of date, help needed.||2016|
|lv: Latvian||Out of date, help needed.||2016|
|mk: Macedonian||Up to date.||2017.4|
|mn: Mongolian||Up to date.||2018.2|
|my: Burmese||Up to date.||2018.3|
|nb_NO: Norwegian||Out of date.||2012|
|ne: Nepali||Translator deceased.||2016|
|nl: Dutch||Up to date.||2018.3|
|Pa: Punjabi||Not complete, help needed.||Nov 2014|
|pl: Polish||Up to date.||2018.3|
|pt_BR: Portuguese (Brazil)||Up to date.||2018.3|
|pt_PT: Portuguese (Portugal)||Up to date.||2018.3|
|ro: Romanian||Up to date.||2018.3|
|ru: Russian||Up to date.||2018.3|
|sk: Slovak||Up to date.||2018.2|
|sl: Slovenian||Up to date.||2018.3|
|sq: Albanian||Not complete/out of date, maintainer needed.||Jul 2011|
|sr: Serbian||Interface Up to date, documentation not complete.||2018.3|
|sv: Swedish||Not complete/out of date.||May 2015|
|ta: Tamil||Up to date.||2018.3|
|th: Tai||Out of date.||Feb 2011|
|tr: Turkish||Up to date.||2018.3|
|uk: Ukranian||Up to date.||2018.3|
|ur: Urdu||Incomplete, barely translated.||2016|
|vi: Vietnamese||Up to date.||2018.3|
|zh_CN: Simplified Chinese||Up to date.||2018.3|
|zh_HK: Traditional Chinese Hong Kong||Up to date.||2018.3|
|zh_TW: Traditional Chinese Taiwan||Up to date.||2018.3|
Start by subscribing to the translation list above, so that you can get help and advice.
It is recommended that you use our new more automated workflow, which will allow you to focus only on translation. See the automated workflow section below.
Improving an Existing Localization
You should contact the existing maintainer of your language, and discuss your suggestions and changes. Together you should be able to agree on the best translation and terms to be used, and the necessary changes can be made.
You can send an email to the translation mailing list to find out the correct person.
If your language is no longer maintained, you can request to be the new maintainer for the language.
Files to be Localized
These files are listed in order of importance.
- nvda.po: NVDA's interface messages, see TranslatingTheInterface page for more info.
- characterDescriptions.dic: names of characters in your language, see TranslatingCharacterDescriptions for more info.
- symbols.dic: names of symbols and punctuation in your language, see TranslatingSymbols for more information.
- userGuide.t2t: the User Guide, see TranslatingUserGuide for more information.
- changes.t2t (optional): a list of changes between releases, see TranslatingChanges for more information.
- Add-ons (optional): a set of optional features that users can install, see TranslatingAddons for more information.
Advantages of the Automatic Workflow Process
- No need of a full NVDA development environment.
- You will be sent an email or twitter message when your po file needs updating.
- You will be sent an email or twitter message when your userGuide or changes file needs to be updated.
- Automatic generation of html from t2t files, so that you can check the correctness of your t2t markup.
- Automatically generated difference and word difference between previous and new versions, to help you quickly find the changes.
- A higher quality User Guide since the difference files encourage you to keep the English and your localization closely updated.
- Translation becomes many small tasks instead a big rush near a deadline. Maybe 10 minutes per week on average.
- It is easier to contribute, since each work unit is self contained.
- Your translation is regularly and automatically included into NVDA snapshots.
- Instead of following nvda-dev mailing list emails, you can just subscribe to nvda translations and important messages related to translation will be sent there.
- Auto generated structure difference between the English and your localized user guide, to quickly spot missing paragraphs, tables and lists.
- Automatic checking of po files, making sure that there are no mistakes that could cause any runtime errors.
If you want to follow the automatic workflow process, visit the TranslatingUsingAutomaticProcess page.
Please feel free to update this or any subsequent page with any tips or hints that you feel may be of use to other translators.
If someone could add Sites for Gestures.ini, it'll be done.