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
You can subscribe to NVDA translations mailing list here Thanks to Freelists.org.
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 NVDA official releases, to remind translators to make sure their localization is up to date. As a translator, you no longer need to follow the NVDA dev mailing list.
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. Work submitted after this time will not be included in the upcoming release, for further information please see the ReleaseProcess page.
The translation list and 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 NVDA translations email list. Information updated pre 2015.2. When 2015.2 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.
|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.||2015.2|
|ar: Arabic||Up to date.||2015.2|
|bg: Bulgarian||Up to date.||2015.2|
|CA: Catalan||Translation worked on, not complete||May 2015|
|cs: Czech||Not complete, intermitant, help needed.||2015.2|
|da: Danish||Up to date.||2015.2|
|de: German||Up to date.||2015.2|
|el: Greek||The nvda interface is up to date. There is work to be done on the user's guide.||2015.2|
|es: Spanish||Up to date.||2015.2|
|es_CO: Spanish (Columbia)||The nvda interface is up to date. There is work to be done on the user's guide.||2015.2|
|fa: Farsi||Worked on, not complete, help needed.||2015.2|
|fi: Finnish||Up to date.||2015.2|
|fr: French||Up to date.||2015.2|
|ga: Gaeilge||worked on, not complete, help needed.||2015.2|
|gl: Galician||Up to date.||2015.2|
|he: Hebrew||Not complete/out of date, maintainer needed.||Feb 2015|
|hi: Hindi||Not complete, intermitant, help needed.||Jan 2015|
|hr: Croatian||Up to date.||2015.2|
|hu: Hungarian||Up to date.||2015.2|
|is: Icelandic||Not complete, intermitant, help needed.||Apr 2013|
|it: Italian||Up to date.||2015.2|
|ja: Japanese||Up to date.||2015.2|
|ka: Georgian||Not complete/out of date, maintainer needed.||May 2015|
|ko: Korean||Up to date||2015.2|
|nb_NO: Norwegian||Not complete, intermitant, help needed.||Mar 2013|
|ne: Nepali||Interface up to date, Userguide not complete.||2015.2|
|nl: Dutch||Up to date.||2015.2|
|Pa: Punjabi||Not complete, help needed.||Nov 2014|
|pl: Polish||Up to date.||2015.2|
|pt_BR: Portuguese (Brazil)||Up to date.||2015.2|
|pt_PT: Portuguese (Portugal)||Up to date.||2015.2|
|ro: Romanian||Not complete/out of date, maintainer needed.||Dec 2010|
|ru: Russian||Up to date.||2015.2|
|sk: Slovak||Up to date.||2015.2|
|sl: Slovenian||Not complete.||2015.2|
|sq: Albanian||Not complete/out of date, maintainer needed.||Jul 2011|
|sr: Serbian||Interface Up to date, not complete.||2015.2|
|sv: Swedish||Not complete/out of date.||May 2015|
|ta: Tamil||Up to date.||2015.2|
|th: Tai||Not complete/out of date, maintainer needed.||Feb 2011|
|tr: Turkish||Worked on, not complete.||2014.3|
|uk: Ukranian||Worked on, not complete.||May 2015|
|vi: Vietnamese||Not complete/out of date, maintainer needed.||Jul 2011|
|zh_CN: Simplified Chinese||Not complete, intermitant, help needed.||Apr 2015|
|zh_HK: Traditional Chinese Hong Kong||Interface up to date, intermitant, not complete.||2013.2|
|zh_TW: Traditional Chinese Taiwan||Interface up to date, Not complete, intermitant.||2015.2|
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.