Hi Bruno, The features in instrans.php aren't recommendations for how to change the PO/gettext format. Basically, I was trying to let people on the list know that a tool exists that they can use while they are waiting for the the PO/gettext format to be updated.
Instrans.php is just a quick and dirty tool for using the existing PO format, which is very inadequate for translators who can't read English or work with languages which borrow heavily from other languages. I wrote instrans.php for our group of Quechua translators to solve their problems. --- Bruno Haible <[EMAIL PROTECTED]> wrote: > Hello Amos, > > > You can download it: > > http://www.runasimipi.org/instrans.zip > > > > See the documentation for the scipt at: > > http://www.runasimipi.org/instrans-en.html > > Thank you for making this available. Yesterday I > looked at it, but am a > bit confused about the purpose of some features, and > therefore whether > I should consider putting these features into GNU > gettext. > > The current plan is to use a syntax like > > msgid "English" > msgid[es] "Spanish" > msgstr "Translation" > I would love to see this added to PO/gettext! It would help our quechua translations a lot. > > - --msgstr: "Insert the translated phrases en the > msgstrs which are empty." > This sounds to be useful for dialects, but the > usual way of working > with dialects is that the user has several entries > in the LANGUAGE > variable, e.g. LANGUAGE="de_CH:de". > This is very useful for languages which borrow heavily from other languages. In Quechua, almost every word related to computers is borrowed from Spanish, so this isn't a dialectal difference. (I would really piss off Andean linguists if I dared call Quechua a dialect of Spanish!) The dialectual specification is useful in some cases, but not in this case. Every dialect of Quechua is going to use "computadora" (the Spanish word for "computer"). If you want to accomodate indigenous languages like Quechua which borrow heavily from dominate world languages like Spanish, my suggestion is to create a flag to copy directly from the dominant language to the target language (if the msgstr is an empty string). Something like: COPY language If no language is specified, then it would default to the language of the msgid. If the translator For instance: #, copy es msgid "Print Layout" msgid[es] "Diseño de impresión" msgstr "" Gettext would copy "Di&seño de impresión" into the msgstr. #, copy msgid "Print Layout" msgid[es] "Diseño de impresión" msgstr "" Gettext would copy "Print Layout" into the msgstr. #, copy es msgid "Print Layout" msgid[es] "Diseño de impresión" msgstr "Nit'ipaq qhawana" In this case, gettext would ignore the COPY flag and use the string "Nit'ipaq qhawana" found in the msgstr. (Maybe gettext could give a warning message in this case to alert the translator that he/she forgot to delete the COPY flag.) Having a COPY flag in the PO/gettext format would make life much simpler for our group of translators. Roughly 15% to 20% of the strings in our Quechua translation of AbiWord were direct copies from the Spanish. Everytime the Spanish PO translation changes, we have to laboriously go through our Quechua PO file and copy every change. It is a real pain in the neck. If gettext would do it automatically, it would save us a lot of time. I noticed that PoEdit has a function (Alt + C) to directly copy the string from the msgid to msgstr, so I think that a COPY flag would be used by a lot of translators (not just people working with indigenous languages like Quechua). When the msgid changes, the msgstr will automatically change as well, and the translator won't have to laboriously change it everytime. (In this case, the PO phrase will still be marked with FUZZY to alert the translator that the msgid has changed, but he/she won't have to do anything except review the phrase to make sure that he/she still wants to directly copy the msgid into the msgstr.) > Thus no need to use a separator, no need for > --replace. > - What's the purpose of --comment versus > --bilingual? > - Is --statusbar something of general interest? > - What's the purpose of --strip? > I guess my documentation isn't very clear. The --strip, --replace, --bilingual, and --statusbar options in instrans.php are only useful for translators who want to make bilingual programs. These are features that are probably only useful when dealing with indigenous or minority languages which are mostly oral and rarely written. In the case of Quechua, very few Quechua-speakers know how to read and write their native language. In school they only learn how to read and write in Spanish. It is probably the same for most African languages. With the exception of a few languages like Swahili most Africans are only trained to read and write in English or French or Portuguese, not the language that they generally speak. The --comment option is for inserting the PO phrase from an intermediate language into the comment field of the PO file. This is used by translators who can't read English. For instance, we inserted the Spanish translations into the Quechua PO files like this: # [es] Diseño de impresión msgid "Print Layout" msgstr "Nit'ipaq qhawana" The --bilingual option is used when you want the msgstr to contain two languages. For instance, if you want to have both a Quechua and Spanish translation in the msgstr: msgid "Print Layout" msgstr "Nit'ipaq qhawana | Diseño de impresión" We needed this option for two reasons: 1. A lot of owners of cyber-cafes in the Andes can't speak Quechua, so the program needs to be bilingual or they won't install it. They also have to support the program, and they can't help the user, if they can't read the menus. 2. A lot of Quechua-speakers can only read and write in Spanish, so they need the Spanish translation to learn to read their native language. It sounds funny, but this is the sad reality of most indigenous language in the world. What we found, however, is that the --bilingual option made long strings which often didn't fit in dialog box buttons. So we designed the --statusbar option to insert the translation in the statusbar. For instance, the Menus would be in Quechua but the Status bar message would be the Spanish translation of the menus. The problem with copying phrases from the menu to the statusbar is that the menus strings contain variables (ex: %s) and hotkeys (ex: &), but the statusbar doesn't contain these things. So I designed the --strip option to get rid of hotkeys and the --replace option to replace variables. OK, hopefully that clarifies. If PO/gettext is changed to add msgid[language], then there is no need for the --comment option. The rest of the options are only useful for creating bilingual programs. I'm not sure how many people will be wanting to do this in the future. What do you guys think? Maybe the gettext documentation could have note pointing to instrans.php (or some other tool) for translators who want to create bilingual programs. There is a real need for bilingual programs. For instance in Latin America, speakers of Quechua, Aymara, Maya, Guarani, Mapuche, ...etc. would like to see bilingual programs for their language. Cheers, Amos BAtto __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys -- and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Translate-pootle mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/translate-pootle
