| 3 | == How to contribute new or update Django translations == |
| 4 | |
| 5 | See http://docs.djangoproject.com/en/dev/internals/contributing/#submitting-and-maintaining-translations |
| 6 | |
| 7 | Prior to any release, Django maintainers will make an announcement and we'll have a couple of weeks of string freeze in order to give people time to be 100% translated. |
| 8 | |
| 9 | == Tools == |
| 10 | |
| 11 | This should be a list of useful (and needed) software for translators to work on .po files. |
| 12 | |
| 13 | === Linux and other Unix Systems === |
| 14 | |
| 15 | * required for {{{makemessages}}} and {{{compilemessages}}} commands: the gettext utilities. These should be available with your distribution. With Debian based distributions it is the {{{gettext}}} package. |
| 16 | |
| 17 | * translating: [http://gtranslator.sourceforge.net/ gtranslator] for GNOME, [http://kde.org/applications/development/lokalize/ lokalize] for KDE, [http://www.poedit.net/ poEdit] |
| 18 | |
| 19 | === Windows === |
| 20 | |
| 21 | * required for {{{makemessages}}} and {{{compilemessages}}}: the gettext utilities. The [http://www.cygwin.com/ cygwin installation] looks most promising. Another place would be [http://sourceforge.net/project/showfiles.php?group_id=25167 the gettext Download on SourceForge]. |
| 22 | |
| 23 | * translating: [http://www.poedit.net/ poEdit] (supports fuzzy, plural, translation memory, UTF-8, compiles to .mo files - it includes native win32 GNU gettext binaries) |
| 24 | |
| 25 | === Mac OS X === |
| 26 | |
| 27 | * translating: [http://www.poedit.net/ poEdit], [http://www.triplespin.com/en/products/locfactoryeditor.html LocFactory Editor] |
| 28 | |
| 29 | === Multi-platform === |
| 30 | |
| 31 | * [http://www.gnu.org/software/emacs/ GNU Emacs] with {{{po-mode}}}; |
| 32 | |
| 33 | * [http://www.vim.org VIM] can work with .po files without trouble, there's a special plugin with helpers: [http://vim.sourceforge.net/scripts/script.php?script_id=695 po.vim] which updates dates, and searches for strings. |
| 34 | |
| 35 | == Translations of the Django documentation == |
| 36 | |
| 37 | If for some reason you are not interested to translate Django interface, but instead you feel the desire to point your translation weapons against Django documentation (the content of '/docs'), you are invited to use the TranslateDocumentation wiki page to better organize your translation works together with other translators. |
| 38 | |
59 | | |
60 | | == How to Send Translations == |
61 | | |
62 | | The best way to send in translations - after registering oneself as translator above - is to create a ticket and to attach the new .po file to that ticket (please don't attach .po files to this page, use the ticket system!). Use "Translations" as the component when you file the ticket, so that it shows up in {13}. |
63 | | |
64 | | Additionally it would be great if you join the [http://groups.google.com/group/Django-I18N Django I18N mailing list]. |
65 | | |
66 | | == How to Update Translations == |
67 | | |
68 | | Assuming you have done a checkout of django in a folder called '''django_src''' and that's where the django, docs, examples, extras and other files are. |
69 | | |
70 | | 1. Ensure that you are running the latest subversion checkout of the code - run "svn update" in your local django subversion copy. |
71 | | 1. Change dir to django_src/django |
72 | | 1. Run {{{PYTHONPATH=../ bin/django-admin.py makemessages -l <locale>}}} and you get updated .po files |
73 | | 1. Update any untranslated and fuzzy messages with your favorite translation tool. Anything that looks like "%s" or "%(something)s" has to be copied precisely and the 's' may be a 'd' or 'x' or 'i', possibly. |
74 | | 1. Run {{{django-admin.py compilemessages -l <locale>}}} and ensure there are no errors. |
75 | | 1. Change dir to django_src |
76 | | 1. Do a {{{svn diff django/conf/locale/ > django-i18n-<locale>.patch}}} to create the diff file |
77 | | 1. Upload the diff of .po files to Trac. (The complete new .po files are ok, but diff file would be better.) |
78 | | |
79 | | It is best practice to just check every few weeks (once a month or so if you're really enthusiastic; less often if you're |
80 | | not) to see if there's been any big changes. |
81 | | |
82 | | Prior to any release, Django maintainers will make an announcement. Prior to 1.0, we'll have a couple of weeks of string freeze in order to give people time to be 100% translated. |
83 | | |
84 | | == Tools == |
85 | | |
86 | | This should be a list of useful (and needed) software for translators to work on .po files. |
87 | | |
88 | | === Linux and other Unix Systems === |
89 | | |
90 | | * required for {{{makemessages}}} and {{{compilemessages}}} commands: the gettext utilities. These should be available with your distribution. With Debian based distributions it is the {{{gettext}}} package. |
91 | | |
92 | | * translating: [http://gtranslator.sourceforge.net/ gtranslator] for GNOME, [http://kde.org/applications/development/lokalize/ lokalize] for KDE, [http://www.poedit.net/ poEdit] |
93 | | |
94 | | === Windows === |
95 | | |
96 | | * required for {{{makemessages}}} and {{{compilemessages}}}: the gettext utilities. The [http://www.cygwin.com/ cygwin installation] looks most promising. Another place would be [http://sourceforge.net/project/showfiles.php?group_id=25167 the gettext Download on SourceForge]. |
97 | | |
98 | | * translating: [http://www.poedit.net/ poEdit] (supports fuzzy, plural, translation memory, UTF-8, compiles to .mo files - it includes native win32 GNU gettext binaries) |
99 | | |
100 | | === Mac OS X === |
101 | | |
102 | | * translating: [http://www.poedit.net/ poEdit], [http://www.triplespin.com/en/products/locfactoryeditor.html LocFactory Editor] |
103 | | |
104 | | === Multi-platform === |
105 | | |
106 | | * [http://www.gnu.org/software/emacs/ GNU Emacs] with {{{po-mode}}}; |
107 | | |
108 | | * [http://www.vim.org VIM] can work with .po files without trouble, there's a special plugin with helpers: [http://vim.sourceforge.net/scripts/script.php?script_id=695 po.vim] which updates dates, and searches for strings. |
109 | | |
110 | | == Translations of the Django documentation == |
111 | | |
112 | | If for some reason you are not interested to translate Django interface, but instead you feel the desire to point your translation weapons against Django documentation (the content of '/docs'), you are invited to use the TranslateDocumentation wiki page to better organize your translation works together with other translators. |