Re: [PEPr] Comment on Internationalisation::Maketext

From: Date: Fri, 09 Apr 2004 10:55:01 +0000
Subject: Re: [PEPr] Comment on Internationalisation::Maketext
References: 1 2 3 4  Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-27222@lists.php.net to get a copy of this message
Hi Jean-Michel, I think we can settle this now. I agree with you, that the description for Maketext needs to be more precise. I was a little too quick with the proposal, you probably know what it's like, the code is written and you'd like to get your module seen as soon as possible and thus pay too little attention to your documentation. I will fix this before the module goes into voting stage. > From: Jean-Michel POURE <jm@poure.com> > > > The only person who reviewed all source strings was the > > translator, and that is his job, or should he GUESS > > translations? (sorry, sarcasm, i know...) > > This is sarcasm, I am rather crying when thinking of these > poor people reviewing Maketext source stings in large > project. But a translator DOES need to look at all source strings of the language he intends to use as source for hist translation to the target language. Surely you must acknowledge this. > In large projects, we cannot ask each translator to review > all source strings, because most of us work on their free > time. "Free time" does not mean "Loose time". I simply don't see how your translators can translate anything without knowing what to translate. This is ridicuolous. Maybe you think he needs to look at ALL of the other translations? Well, this is not the case. He only needs to review the source language that he bases his translation on (usually English). > After each modification of sources, all translators will > need to provide updates. Let's take an example with 30 > languages: > > 1) Hebrew translator reviews all source strings and > modifies some of them. > 2) The other 29 translators are obliged to provide > updates. During updating, some of them might detect new > coding requirements for source strings. NO, I don't understand how you get the idea that this is necessary. I can assure you that this WON'T EVER be the case. Clearly, you must misunderstand something about how to use Maketext within a project, but I don't really understand what it is. > 3) As a result, everyone goes on with a new series of > updates... > > Because of the diversity of languages, you will not be > able to stop people from modifying the source strings. It > will result in "non-ending" loops. But nobody modifies source strings! A translator will only add new source strings for his language! I just don't see how you get the idea that source strings in one language, which is finished in the project, need any modification when a new language is added. This usually just means adding a new .po file, or adding new strings in the DB for that language. Additionally, if current Maketext functions are not enough for that language, it means extending Maketext for that language. No other modifications are needed. Also, if a maintainer of an existing translation whishes to modify his translation this will only ever affect his own message resources. Again, with the exception that if he decides he needs some smarter Maketext functionality, he can ask the programmer to provide that functionality in the extended Maketext class for his language. Other languages use their own Maketext class, or the default one and will thus not be affected by such changes. You see, the Locale_Maketext_iw_IL::quant() function will solely be used for the iw_IL messages. Other .po files will use other quant() functions which still work exactly the same as they did before Locale_Maketext_iw_IL::quant() was added. One more thing. I found, that within a project, the number of strings that actually require Maketext functions is usually very small. http://www.sixti.de/ for example, is completely built with Locale::Maketext (the Perl module). The site has 819 msgids in the .po for any language. From these 819 entries, only 8 entries make use of Maketext functions!! www.sixti.de was translated to Italian two months ago. This involved NEITHER any programming NOR modifications of .po files for the other languages. (Yes, I know Italian is simple, but it doesn't matter how difficult a language is, this scenario would still be valid for complicated languages, with the excepction of language-level, spezialized Maketext functions which may need to be added by the programmer) > For example, in the description of the package, you write: > > "Maketext overcomes the shortcomings of gettext with > respect to grammatical differences among languages (1). > Maketext is extensible and works nicely together with > PHP's gettext extension such that you can still use > gettext's features to store, manage, and retreive text > resources. Besides, it is simple to extend Maketext to use > other sources of translated resources such as a DB for > example (2)." > > I agree with (2) completely, but I laugh at the first > statement (1), which is vague and incomplete. Agreed (1) is really too vague. I am going to supply a better description. As I said before, I should have enough text by now, resulting from this discussion with you, to do this. Hans

« previous php.pear.dev (#27222) next »