ddnet/scripts/languages
2020-06-26 23:28:44 +02:00
..
analyze.py Use __file__ instead of sys.argv[0] 2018-07-25 09:17:10 +02:00
copy_fix.py copy_fix: Don't generate comment line, just add missing translations at the end 2020-06-26 23:28:44 +02:00
find_unchanged.py Use __file__ instead of sys.argv[0] 2018-07-25 09:17:10 +02:00
readme.txt Translation fixes 2020-06-26 18:34:50 +02:00
twlang.py Make language scripts callable from anywhere 2018-07-25 09:17:09 +02:00

Teeworlds language scripts by timakro

These scripts can help you to improve the language files. This is a short tutorial
about how to use the scripts.


You can start by analyzing the current languages using analyze.py
$ ./analyze.py

analyze.py outputs serveral columns. The column 'total' is the number of
translations in the file. 'empty' is the number of untranslated phrases in the
file. The 2nd and 3rd columns are calculated by looking into the source. The scirpt
searches through the source for all phrases. 'missing' is the number of phrases in
the source but not in the file. 'unused' is the number of phrases in the file but
not in the source.


To update a language you should first copy it using the copy_fix.py script.
$ ./copy_fix.py ../spanish.txt newspanish.txt --delete-unused --append-missing

Then you can start to modify newspanish.txt. Search in the file for the following
line and remove it:
##### generated by copy_fix.py, please translate this #####

Every phrase below this line should be empty. Now you can fill in the translations
you know. It's also okay to write just the same phrase as in english for words like
'Hookcollision' or 'Screenshot'. If you don't know how to translate something just
remove it.

That's all, you improved the translation. If you want you can add your name at the
start of the file. Now you can move the file back to its original location.
$ mv newspanish.txt ../spanish.txt


Often people know better phrases for translations where the english phrase was just
copied. To find these you can use find_unchanged.py
$ ./find_unchanged.py ../spanish.txt

To update all languages:

$ for i in data/languages/*.txt; do [ "${i:t}" != "license.txt" ] && [ "${i:t}" != "index.txt" ] && scripts/languages/copy_fix.py $i $i.$$.tmp --delete-unused --append-missing && mv $i.$$.tmp $i; done

To get a statistic of how complete the translation is:

$ for i in data/languages/*.txt; do COVERED=$(cat $i|grep "^== "|grep -v "^== $"|wc -l); TOTAL=$(cat $i|grep "^== "|wc -l); [ "${i:t}" != "license.txt" ] && [ "${i:t}" != "index.txt" ] && echo "$(($COVERED*100/$TOTAL))% ${i:r:t}"; done | sort -n -r