1Things we plan to do. Comments welcome. 2 3- Documentation: Distinguish more clearly between gettext/xgettext, 4 the Translation Project for GNU packages, and the PO mode. 5 6- Look at Christian Robottom Reis's manual: 7 http://www.async.com.br/~kiko/gettext.html 8 9- KBabel: 10 http://i18n.kde.org/translation-howto/gui-specialized-apps.html 11 http://i18n.kde.org/tools/kbabel/ 12 13- Tool to help people to correct msgid strings: 14 1. Program to move msgstr contents to msgid contents, 15 2. Program to update the translations accordingly, much like msgmerge. 16 17- Mention Qt linguist (part of Qt 3) 18 19- Easier delivery of PO directory for maintainer! Add a target for incoming 20 PO files 21 22- Qt 3.0 compatibility: 23 - .ts, .qph catalogs, example: http://dooble.svn.sourceforge.net/viewvc/dooble/trunk/browser/translations/ 24 - .qm binary catalogs 25 26- Add logging to libintl, in order to catch each of these problems: 27> - if the directory that was argument to bindtextdomain is usable 28> - what catalogs are installed there 29> - if the language , that is requested by LC_ALL or some other 30> variable is really there ... 31> - if program tries to translate some message, it doesn't really know 32> if it really get translated ... And if requested more than 33> one language , you have no way to realize into what 34> language, it had been really translated !!!!!!! 35 36- msgdiff 37 People recommend the 'poediff' program from Pology: 38 http://pology.nedohodnik.net 39 which supports merging the diff back to the PO 40 41- automake integration: Add to "make dist" an invocation of 42 "intltool-update --maintain", parametrized through a few variables that 43 specify 44 - where to look for i18n files, 45 - which file types are to be considered by i18n, 46 - which files are explicitly not i18n (e.g. generated files like 47 src/po-gram-gen.c) 48 49- Generating sr@latin PO file automatically from sr.po. 50 51- XLIFF support 52 53- object-oriented locale datatype, similar to giulia/glocale 54 55- automatic download at installation time of PO files that have been 56 provided by the translators after the official release. 57 58- Conversion of compendia from/to TMX format. 59 60- Support some of the conversions found in the translate-toolkit package, see 61 http://translate.sourceforge.net/wiki/nonpo 62 63- xgettext should have a simpler way to specify the --flags. 64 65- man page pgettext.3 66 67- po-mode.el: Editing of msgstr[i] plural forms, and setting of formula. 68 69- The recode-* programs and msggrep should ignore the accelerator char 70 transparently. 71 a word is divided by shortcut symbol (like "Raści_ahni") that will be 72 converted incorrectly (like "Расьці_агні", not "Расьц_ягні") 73 74- PO spell checker. People recommend: 75 - 'pospell' - qui ne gère apparemment pas les accents 76 - gettext-lint / POFileSpell - qui fonctionne mais le contexte est 77 trop court 78 - une version mise à jour de 79 http://lists.debian.org/debian-l10n-french/2000/04/msg00058.html 80 (qui date de 2000 quand même - voir en fin de message) - pas mal, 81 mais pas moyen de sauvegarder ni même de s'arrêter avant la fin du 82 .po 83 - pofilter 84 - acheck 85 86- An alternative converter for Java .properties files. 87 E.g. 88 error.socket.connect=Cannot connect socket 89 error.database.connect=Cannot connect to database {0} 90 -> 91 msgctxt "error.socket.connect" 92 msgid "Cannot connect socket" 93 msgstr "" 94 msgctxt "error.database.connect" 95 msgid "Cannot connect to database {0}" 96 msgstr "" 97 98- For people who use a 15 MB large compendium: 99 Add an msgmerge option --cache-compendium, which stores (during the 100 first run) or reuses (during subsequent runs) an mmapable file that 101 represents the index of the compendium file. Should be located in 102 /var/tmp/, in a filename that is a hash of the realpath of the compendium. 103 104- Translating via an intermediate language (see thread 2006-09-28): 105 > For my language alone, there are many possible translators who would 106 > work much better from Chinese or Russian to Vietnamese than from 107 > English. It's simply a matter of which languages you have had the 108 > opportunity to learn. 109 110 Now _that_ is an interesting idea! 111 112 Gettext can already nearly do this, too, if you write three small scripts/ 113 programs to 114 - convert an English-based .pot file into a Russian-based .pot file, 115 - convert an English->Vietnamese PO file to a Russian->Vietnamese PO file, 116 (to be used when such a translator starts her work), 117 - convert an Russian->Vietnamese PO file back to an English->Vietnamese PO file 118 (to be used when a translator is done with her work). 119 And then the translator has these additional conversions steps all the time. 120 121 It would be better, for the future, that the translator has only one 122 additional step to perform: When she gets a new PO file, she converts it 123 to a mixed English/Russian->Vietnamese PO file. Such a mixed 124 English/Russian->Vietnamese PO file would 125 1) permit the translator to peek into the English original when something is 126 unclear, 127 2) also work when not some of the Russian translations are missing or fuzzy, 128 3) get rid of the "convert back" step, since msgfmt could directly grok 129 the mixed English/Russian->Vietnamese PO file. 130 131 The syntax for a mixed PO file could like this: 132 133 msgid "Hello, world!" 134 msgid[ru] "Здравствуй, мир!" 135 msgstr "Chào thế giới !" 136 137- filter-sr-latin should transform the resulting output to NFC form. 138 Needed because the input may contain decomposed Cyrillic accented letters. 139 140- In x-c.c, support C++0x escape sequences, see 141 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2442.htm 142 143- Use libunistring as hard dependency. 144 145- Texinfo document translation, through TexinfoXML. 146 147- A way to hook xgettext to call external scanner written in the 148 target programming language. This would be particularly useful for 149 scripting languages which need run-time information to extract 150 strings. Some programming languages already provide their own 151 scanners: pygettext in Python, rgettext in Ruby. 152 153- Make xgettext XML handling extensible through user ITS files 154 https://lists.gnu.org/archive/html/bug-gettext/2014-06/msg00026.html 155 156- 3-way merge tool for PO files 157 msg3way was proposed by Panos Christeas 158 https://lists.gnu.org/archive/html/bug-gnu-utils/2010-11/msg00051.html 159