translation work for the open source NVDA screenreader
root
pt_BR: updated changes.html from t2t.
| Name | Date | Rev. | Commit message |
|---|---|---|---|
| am | Tue, Apr 03 | 2959 | [bdorer] all languages: removed all langstrings files as they aren... |
| ar | Mon, May 21 | 3583 | [CommitBot] ar: updated changes.html from t2t. |
| bg | Thu, May 17 | 3497 | [CommitBot] Merging in messages from rev5223 into nvda.po ar: before... |
| cs | Mon, May 21 | 3569 | [CommitBot] New revs to translate ar: 1 in ch-diffs (5224), cs: 1 in... |
| da | Thu, May 17 | 3543 | [mh1985] da: nvda.po as per emai. |
| de | Tue, May 22 | 3588 | [dave090679] * Suffix "Zeichen" bei einigen Zeichenbeschreibungen entf... |
| el | Fri, May 25 | 3624 | [e-rhetor] corrections |
| es | Mon, May 21 | 3580 | [CommitBot] es: updated changes.html from t2t. |
| fa | Fri, Feb 17 | 2601 | [mh1985] fa: added Farsi nvda.po. |
| fi | Fri, May 25 | 3625 | [jkinnunen] fi: Made a small modification to nvda.po. |
| fr | Mon, May 21 | 3576 | [pzajda] fr: changes already updated to 5224, deleted translated r... |
| gl | Mon, May 21 | 3581 | [CommitBot] gl: updated changes.html from t2t. |
| hr | Thu, May 10 | 3340 | [CommitBot] Merging in messages from rev5187 into nvda.po ar: before... |
| hu | Wed, May 23 | 3605 | [CommitBot] hu: updated keyCommands.html userGuide.html from t2t. |
| it | Fri, May 25 | 3617 | [CommitBot] it: updated userGuide.html ug-stats-diff.txt from t2t. |
| ja | Tue, May 22 | 3587 | [CommitBot] ja: updated changes.html from t2t. |
| nb_NO | Thu, May 17 | 3542 | [balubathebrave@gmail.com] Updated the norwegian nvda.po files |
| ne | Tue, Dec 20 2011 | 1925 | [mh1985] ne: added non-localized nvda.po. |
| nl | Sat, May 19 | 3566 | [CommitBot] nl: updated changes.html from t2t. |
| nn_NO | Thu, May 17 | 3542 | [balubathebrave@gmail.com] Updated the norwegian nvda.po files |
| pl | Mon, May 21 | 3569 | [CommitBot] New revs to translate ar: 1 in ch-diffs (5224), cs: 1 in... |
| promotion | Fri, Apr 20 | 3169 | [mh1985] added promotion folder with leaflet textfile. |
| pt_BR | Fri, May 25 | 3627 | [CommitBot] pt_BR: updated changes.html from t2t. |
| pt_PT | Thu, May 17 | 3497 | [CommitBot] Merging in messages from rev5223 into nvda.po ar: before... |
| scripts | Thu, May 24 | 3606 | [mh1985] scripts/addresses.py: added additional zh_TW translator. ... |
| sk | Fri, May 25 | 3621 | [CommitBot] sk: updated keyCommands.html userGuide.html from t2t. |
| sv | Thu, May 17 | 3541 | [mh1985] sv: translated some more messages/corrected fuzzy. |
| ta | Fri, May 18 | 3550 | [CommitBot] ta: updated keyCommands.html userGuide.html ug-stats-di... |
| tr | Fri, May 25 | 3622 | [surveyor] symbols.dic |
| uk | Wed, May 16 | 3495 | [mh1985] uk: Ukrainian nvda.po as emailed. |
| zh_CN | Thu, May 10 | 3340 | [CommitBot] Merging in messages from rev5187 into nvda.po ar: before... |
| zh_HK | Thu, May 10 | 3340 | [CommitBot] Merging in messages from rev5187 into nvda.po ar: before... |
| zh_TW | Thu, May 24 | 3608 | [CommitBot] zh_TW: updated keyCommands.html userGuide.html ug-stats... |
| changes.t2tconf | Mon, Sep 13 2010 | 405 | [mh1985] resolved problem introduced by the renaming of t2t config... |
| global.t2tconf | Thu, Mar 01 | 2737 | [mh1985] global.t2tconf: update version number. script: one more t... |
| readme.html | Mon, Nov 07 2011 | 1614 | [mh1985] general: update readme to include a little about the ug-s... |
| readme.t2t | Sun, Dec 11 2011 | 1874 | [mh1985] wiki: added content so far, some pages still need text, a... |
| userGuide.t2tconf | Mon, Sep 13 2010 | 405 | [mh1985] resolved problem introduced by the renaming of t2t config... |
readme.html
Working with the screen Reader Translation project
Advantages
- No need of a full nvda bzr setup
- 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 diff and word diff between previous and new version, to help you quickly finding the changes.
- A higher quality userGuide since the diffs 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 submitted to be 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 Statistics between the English and your localized user guide, to quickly spot missing paragraphs, tables and lists.
Subscribe to the 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 NVDA dev mailing list.
Creating an account
Subscribe to the NVDA translations mailing list (above) and request an invitation. Once you receive your assembla invitation, you can proceed by creating a username/password so that you can use the svn server. Once you are logged in, you need to accept the invitation to the screenReaderTranslations team. After that, we don't need the website any longer.
Download and install
If you use your own svn client then you can skip this section.
- You can download a zip file containing both svn and git here
- Extract the file to a new folder, and then run the setup.bat file.
- The setup.bat will run two installers. It will install svn, and then also install git, We install git because it gives you a better command line.
- In the subversion install just press next next next without any problems.
- In the git installer, run git from windows command line with unix tools. The rest is just fine as default.
- You may need to restart your computer to finish the setup of both svn and git.
- You can now delete the extracted folder
- Now create a folder on your c or d drive, call it translation make sure it is selected, and from the file menu, choose git bash here it will open the command line. The first time it may take a little while, but you know it finished its first time setup when it shows a dollar sign at the last line.
- (optional) To make your bash prompt a little nicer you can now type and press enter:
`echo "PS1='\w: '" >>~/.bashrc`- It will return to the prompt, simply type
`exit`and press enter. - Reopen by doing git bash here from the file menu, and your prompt should be easier to listen to. +
- It will return to the prompt, simply type
First time checkout (To download the repository)
svn checkout http://subversion.assembla.com/svn/screenReaderTranslations .
When you have just installed svn+git, and dont have a copy of the repository, create a translation folder in the root of your partition. When the translation folder is selected, choose git bash here from the file menu. It will take a few seconds and then you will see a command terminal. Use the above command to get your copy of the current files, don't forget the dot at the end of the line.
You can see that it is successful when the last line that it printed
says something like checked out revision 1234
Repository structure
The layout of the repository is as follows:
- Folders of two character language codes, as used by nvda, contains all the translation documents for this language.
- scripts: the scripts that are run on the server, should generally not be changed.
- some t2tconf files, standard config files that should not need to be changed.
- readme.txt, this document.
Each language directory contains:
- ch-diffs, directory containing updates that need to be translated for the changes.t2t
- ug-diffs, directory containing updates that need to be translated for the userGuide.t2t
- changes.t2t, localized list of changes.
- changes.html, automatically generated html from t2t, so that you can check your syntax.
- userGuide.t2t, localized manual.
- userGuide.html, automatically generated html from your t2t, so that you can check your syntax.
- ug-stats.txt, statistics for the localized user guide (very useful).
- ug-stats-diff.txt, the diffrence between the english user guide statistics, and the localized user guide stats.
- nvda.po, the nvda interface file, new messages from pot are automatically merged, and you will be sent an email when there are new messages to be translated.
- langstrings_en.txt, english installer interface file
- langstrings_xx.txt, your localized installer interface file.
- characterDescriptions.dic, your localized character descriptions file.
- symbols.dic, your localized symbols file.
Work flow
To minimize merge problems, and letting the automated system work effectively it is strongly recommended that you:
svn updatebefore you start working.svn commit -m "message"when you finish working with a section.
The work flow is something like this:
- You receive an email telling you that nvda.po has been updated, and it will tell you how many messages are untranslated, and how many are fuzzy.
- svn update to get the modifications
- localize the new messages/fuzzy messages.
- commit, in the commit message you say if the work was finished or not.
- You receive an email telling you that there are new revisions for ch-diffs, or ug-diffs to be translated
- you svn update, you see one new ch-diffs directory 4500 for example.
- inside 4500 you can see the full changes.t2t, diff.txt wdiff.txt and log.txt
- diff.txt will show you exactly what line has been added/changed/removed.
- if your localization is complete, the line numbers of each diff block should be close to where you need to do your changes.
- If diff.txt showed you a line that was modified, and it isnt easy to see what changed, then you find the same line in wdiff.txt, and it will show you word by word change.
- log.txt, sometimes helpful to see the commit message from nvda bzr directory, so it is provided incase it is useful.
- when we finished with all the diff blocks for 4500, we check to make sure that nothing has been missed (see svn diff, svn status)
- we svn commit, and in the message we say we completed the translation for 4500. -
Useful svn commands
before the following actions, you need to be in the right place i.e. go to the directory translation and while the language is selected, from the file menu choose git bash here.
When it opens, and if you listen to the path, you should hear your language code (ar for arabic, sv for swedish) at the end.
To check the status (to see which files have been modified)
svn status
If you get nothing, then svn didnt detect any changes.
If you got any output, then it is probably one of the following:
? file1.txt # means that svn does not know about file.txt, and it has not been asked to look after this file, and therefore will not be transmitted. a file2.txt # svn didnt know about this file, but it has now been added, and will be transmitted when committing. d file3.txt # we have told svn to stop looking after file3.txt. ! file4.txt # the file has been removed, and svn does not know why, file will be restored if we do svn update m file5.txt # the file has been modified and the changes will be transmitted when we commit.
Download new changes from the server
`svn update`
it should say updated to revision 1266 as an example.
it will show a list of files that have been effected.
a file1.txt # meens that file.txt has been added to svn, and you are getting your copy. u file2.txt # means that file2.txt has been updated d file3.txt # means that someone removed the file and svn is also removing your copy of the file. g file4.txt # means that you have changed the file , and it was also changed by someone else, but svn was happy merging the changes. c file5.txt # means that you have modified the file and it has been modified by someone else, but svn could not automatically merge, this causes a problem, so ask for help if you get it.
Seeing the modifications that you made of each file
svn diff >work.txt
will create a difference file, and save it to work.txt review work.txt using your editor, if all is well then go ahead and commit. otherwise, go to the file(s) that you have modified, and revise your modifications. after new modifications, delete work.txt and execute the command again to get a new difference file.
If you have modified several files, and you want to just look at the diff for one file:
svn diff changes.t2t >work.txt
Committing (sending the modifications to the server)
svn commit -m "informative message"
Will commit all your modifications to the svn server. Please make sure the message is informative, because it makes it easier to see what has changed from revision to revision. see also svn status and svn diff
unintended modification to file
svn revert filename
for example, when working on an arabic file, and reading english file along side, and a modification was made to the english unintentionally, and it now shows as modified when doing svn status, but the change should not be committed, then we use the revert command as above.
Less frequently used svn commands
Seeing what changed between revisions
svn diff -r 189:190 >work.txt
will show the diffrence between revision 189 and 190, printing the diffrence to work.txt
Viewing commit messages
svn log >log.txt
will create a log.txt file, and put all the commit messages in the file
If we are intrested in just the log messages for a particular file then:
svn log changes-ar.txt >log.txt
will only include the log messages that involve changes-ar.txt, again storing the messages in log.txt
cleaning the screenReaderTranslations directory
svn cleanup
if you did something wrong or there is a conflet in a file the team is working on, just clean the translation directory to obtain a new copy.
restoring the files you were working on
svn restore
after cleaning the directory , you should restore the deleted files to resume work.
Help
As always, if something is unclear or anything needs explaining, dont hesitate to ask, I am happy to explain by voice if this document is confusing.
Mesar