Re: Default behaviors (header-wise) in KBabel
Daichi Kawahata <[email protected]> Sat, 29 Oct 2005 15:00:35 +0900
| Newsgroups | gmane.comp.kde.devel.kbabel |
|---|---|
| Message-ID | <[email protected]> |
On Fri, 28 Oct 2005 20:31:46 +0200 Nicolas Goutte wrote: > Very sorry! It seems that you emailed to me only and I answered you > to the kbabel mailing list too. > > (But if you want, you can make this answer public.) Yeah, I forgot to reply to the ML. BTW was that right place to post (I just saw that address at the homepage and couldn't find ML archive)? I wish that is for developers ML (and please CC me, I'm not subscribed). > All the settings that I describe below are in what I have called the > "project settings". Officially it is called Project/Configure in > KBabel's menu. > > I have used KBabel 1.11 (released in the future KDE 3.5). I am sorry > that I have no earlier version but as far as I know the project > configure has not much changed. Then, please reconsider improvement of `Project Setting' for the 1.12 release. > > > > > o It replaces given proper header string at `Project-Id-Version' > > > > > with ISO 639 language code. > > > > > > > > In fact it is the filename that it places there. > > > > > > > > (In KDE, PO files are not named by the language but like the > > > > corresponding POT file. And the directories are ordered by language, > > > > not by POT file.) > > > > > > Probably so, but I've seen many times the following case from KBabel: > > > > > > -"Project-Id-Version: Mousepad 0.2.2\n" > > > +"Project-Id-Version: ca\n" > > > > Yes, because in your project, the PO files are named like the language > > code: ca.po . KBabel drops the .po extension and uses the basename as > > project name. > > > > That is convenient in KDE, apparently not at all for you. > > > > > This clearly discarded proper give information. > > > > Because by default KBabel is told to do so. > > In the the project configure dialog, there is settings for save (the > "save" icon). On the "Header" tab, you can select which fields of the > headers are updated. > > So if you want you can uncheck the "Project" checkbox and then the > "Project-Id-Version" will not be changed anymore on save. > > Alternatively you can set the "Project-Id" edit box, but I do not know > which "magic" string will do what you intend to do. Please look a subject, what I asked is not knowing usage of KBabel, it was changing default behaviors of KBabel, okay I understood ISO language codes at the `Project-Id-Version' come from directories `$lang.po/', but what's logic behind there? I mean, PO file I used as example isn't unique, the most KBabel users tend to make a mess against the header. For example (from libxfcegui4-4.2.3, in Xfce): # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-10-28 20:54+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <[email protected]>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" yeah, that's initial header strings by `make *.pot', then usually I create target PO file with `msginit (--locale=$lang)', in this case I used `de', generated PO file has header below, # German translations for libxfcegui4 package # German messages for libxfcegui4. # Copyright (C) 2005 THE libxfcegui4'S COPYRIGHT HOLDER # This file is distributed under the same license as the libxfcegui4 package. # Daichi Kawahata <[email protected]>, 2005. # msgid "" msgstr "" "Project-Id-Version: libxfcegui4 4.2.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-10-28 20:54+0900\n" "PO-Revision-Date: 2005-10-29 13:59+0900\n" "Last-Translator: Daichi Kawahata <[email protected]>\n" "Language-Team: German <translation-team-de-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=ISO-8859-1\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" and the following is the ideal # German translations for libxfcegui4 package. # Copyright (C) 2002-2005 The Xfce development team. # This file is distributed under the same license as the libxfcegui4 package. # Daichi Kawahata <[email protected]>, 2005. # msgid "" msgstr "" "Project-Id-Version: libxfcegui4 4.2.3\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2005-10-28 20:54+0900\n" "PO-Revision-Date: 2005-10-29 14:05+0900\n" "Last-Translator: Daichi Kawahata <[email protected]>\n" "Language-Team: German <translation-team-de-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" now you can see the PO files come from KBabel below (it's from Xfce 4.2.2, 196 of 657 PO files used KBabel), # translation of ca.po to # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Pau Rul?lan Ferragut <[email protected]>, 2005. # msgid "" msgstr "" "Project-Id-Version: ca\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-12-19 10:56+0100\n" "PO-Revision-Date: 2005-04-21 00:25+0200\n" "Last-Translator: Pau Rul?lan Ferragut <[email protected]>\n" "Language-Team: <[email protected]>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.9.1\n" # translation of cs.po to # translation of cs.po to Czech # translation of libxfcegui4.po to Czech # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Alois Nespor <[email protected]>, 2004, 2005. # msgid "" msgstr "" "Project-Id-Version: cs\n" <- language code appears again and again "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-12-19 10:56+0100\n" "PO-Revision-Date: 2005-03-24 22:36+0100\n" "Last-Translator: Alois Nespor\n" <- where's address gone? "Language-Team: <[email protected]>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.9.1\n" # translation of libxfcegui4.po to # translation of pa.po to Punjabi # translation of libxfcegui4.po to Punjabi # This file is distributed under the same license as the PACKAGE package. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER. # Amanpreet Singh Alam <[email protected]>, 2004. # root <root@Phulewala>, 2004. # msgid "" msgstr "" "Project-Id-Version: libxfcegui4\n" <- version lacks "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2004-12-19 10:56+0100\n" "PO-Revision-Date: 2004-10-01 08:27+0530\n" "Last-Translator: root <root@Phulewala>\n" <- clearly Unix user name "Language-Team: <[email protected]>\n" <- language name missing "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "X-Generator: KBabel 1.3.1\n" "Plural-Forms: Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n" "\n" blah, blah... I'd like to say again, why KBabel allows header mess by the translators? Assuming that a translator isn't familiar with usage of Unix/Linux tools basically, why KBabel won't aid them? As for the initial given header strings, I really hope KBabel goes like `msginit' does, just using `basename' sounds fear for me... > > > When KBabel appears in the header, modified files tend to sound > > > a discord like below: > > > > > > $ grep Project-Id-Version *.po > > > ca.po:"Project-Id-Version: ca\n" > > > cs.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > de.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > el.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > es.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > eu.po:"Project-Id-Version: Mosuepad\n" > > > fr.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > gu.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > hu.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > it.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > ja.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > lt.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > pl.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > pt_BR.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > ru.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > sk.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > sv.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > ta.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > zh_CN.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > zh_TW.po:"Project-Id-Version: Mousepad 0.2.2\n" > > > > > > Yeah, Basque translator also uses KBabel (typo in project name...), > > > and next part, > > > > > > "Report-Msgid-Bugs-To: \n" > > > "POT-Creation-Date: 2005-10-21 17:30+0900\n" > > > -"PO-Revision-Date: 2005-10-07 18:36+0900\n" > > > -"Last-Translator: David Rosal <davidrr at users.sourceforge.net>\n" > > > -"Language-Team: Catalan <ca at dodds.net>\n" > > > +"PO-Revision-Date: 2005-10-27 22:30+0200\n" > > > +"Last-Translator: paurullan <paurullan at bulma.net>\n" > > > +"Language-Team: catala`\n" > > > > > > also given language team information is discarded, > > > translator name is given by Unix-like user name too. > > > > The user name is the one given to KBabel. I am not sure if KBabel > > tries to use the system user name by default but anyway that can be > > changed too. > > > > > My point was why KBabel discards given values every per file > > > saving? > > > > Because it is the default setting. > > For the user name, again, you can select it not to change it. In the > "save" icon, "Header" tab, you have the checkbox named "Last-Translator". > > If you want to save the last translator's name correctly, then you > have to set it in the "Identity" icon, in the "Name" edit box, The > used email address is the one of the "Email" edit box. I'd like to say again, a translator name should be fixed at first time setup Wizard, don't allow frequently changes by translator and please promote using proper name and address, please. > > > Is there any option `Disable force over writing at save'? > > > > Yes, there is an option to leave the header unmodified. (There is > > even more finer control if I remember well.) > > In the "Save" icon, "General" tab, you can uncheck "Update header when > saving" and the header is not changed anymore (not even PO-Revision-Date). I'm using Emacs PO mode, it never touch when that PO file isn't changed at all, only touches `PO-Revision-Date' when that file is modified, why KBabel goes with `All or Nothing'? > > > I really hope KBabel honors proper give strings. > > > > > > > > o It keeps leaving strange comments at initial comment part. > > > > > > > > I have tried to limit the impact of the "strange comments" in > > > > the KBabel version for KDE 3.5 by trying to remove all old strings > > > > of the kind. > > > > > > > > However in your case, it seems that your name has been given in 2 > > > > different forms, so that KBabel cannot find that it is the same > > > > name. > > > > > > That's not my name, > > > > Sorry! > > > > > I manage them for the release, and that's right, > > > it seemed to be caused by different given forms but why? > > > > Because the data in KBabel was different? > > > > > Usually translator only have to fill the contact (translator) form > > > once at startup Wizard (from my poEdit experience). > > > > Well, that is where it does not work cleanly with KBabel. If you use > > only the wizard, the are missing important settings. So you have to > > use the "project settings" afterward. (To avoid a misunderstanding, > > for KBabel a project, like in "project setting" does not mean a PO > > file but more the whole translation in a language, so all PO files.) > > As written above, it is Project/Configure in the menu. I'll say again and again, if that `Project setting' is invalid, don't allow to move next step also, yeah I know initial setup Wizard only works for the global values (probably, only contact address?). > > > What strange comments (for me at least) are, the following comment > > > part tends to get added per save, > > > > > > > > > # translation of ca.po to catala` <- added string by KBabel > > > > Yes, this line is added by KBabel. There is a template in the "project > > setting" that you can change (probably to an empty string too). > > In the "Save" icon, you can uncheck "Update description comment when > saving" to not have this sort of comments. > > Instead, you could also change that comment in the "Description" text > box (but again I am not sure how you ill get the name of the application > there). > > > > # Catalan translation of Mousepad. <- given string by me > > > # Copyright (C) 2005 Erik Harrison. <- (ditto) > > > # This file is distributed under the same license as the \ > > > Mousepad package. <- (ditto) > > > > > > can be > > > > > > # translation of ca.po to > > > # translation of ca.po to catala` > > > # translation of Mousepad.po to catala` > > > # translation of ca.po to catala` > > > > Yes, that is one bug in KBabel to repeat the lines as it cannot find > > (and remove) the older ones. This is supposed to be fixed in KBabel > > 1.11 (to be released with KDE 3.5). Okay good to hear. > Of course, this simplification happens only if KBabel is allowed to > change the description comment. > > > > # Catalan translation of Mousepad. > > > # Copyright (C) 2005 Erik Harrison. > > > # This file is distributed under the same license as the Mousepad > > > package. > > > > > > > It is for simplification of the translator's tasks. > > > > > > Sorry, but discarding given proper strings doesn't sound > > > simplification for me. > > > > The philosophy behind KBabel is probably another that the one that > > you expect. > > To avoid a potential misunderstandind: in the sentence above: the > "you" is supposed to be anonymous. I think that couldn't be excuse, what's philosophy KBabel has? Making tons of file with insufficient (in other words `slut') header won't succeed at building `The Tower of Babel'. > > You fill the project setting with the correct data and then it > > modifies the header comment and the header automatically. > > > (KDE has more than 900 POT files to translate, so you really want > > some automatisation. Of course the automatisation can only work > > correctly with the correct data entered in KBabel.) > > > > > > > as I've never used KDE, it's hard to figure the problem out, > > > > > but I smelled there's some bad design at giving values to the > > > > > PO header, at least Kbabel should warn at blank form (project > > > > > name, contact address) if it exists but Kbabel shouldn't fill > > > > > these forms with invalid values at the same time (there needs > > > > > some guidance/tooltips for the translators), > > > > > > > > Normally with the project setting you can set nearly everything > > > > (but the "project name" of a PO file). > > > > > > > > (The only bigger problem that I know is that the project wizard > > > > fails to ask some questions, like the language team email. So you > > > > have always to check the project setting (which is annoying as > > > > the wizard is supposed to avoid that.)) > > > > > > Probably, a language team should be given across the modules, > > > > The "project setting" is not linked to one PO file, but to each PO file > > that you modify with KBabel under this project setting. > > > > As written above, "project" in this case as another meaning than "project" > > like Gettext means it. > > > > > but each project name shouldn't be replaced by the single strings (e.g. > > > soon, I'll have see `ca' at the `Project-Id-Version' in the every ca.po > > > files.) > > > > > > > > to be more detailed, please read my post in the Xfce i18n ML also, > > > > > > > > > > http://foo-projects.org/pipermail/xfce-i18n/2005-September/003277.html > > > > > > > > I am not really understanding your critic about the language team that > > > > you have in that email, > > > > > > > > The language team can be set correctly by KBabel, it is done often in > > > > KDE. > > > > > > It's nothing to do with KBabel, I only pointed out that > > > > > > -"Language-Team: Catalan <ca at dodds.net>\n" > > > +"Language-Team: catala`\n" > > > > > > isn't welcomed. > > > > Ah, sorry, I misunderstood you. (So probably you meant to check to > > correctly set KBabel to avoid that.) > > > > > > > I'm bit tired with KBabel users, and thanks for your considerations. > > > > > > > > I am sorry about that you are tired to use KBabel. > > > > > > > > As far as I know, return of experience of non-KDE users is sparse, > > > > so it is difficult to know what is needed. > > > > > > > > You can also uses KDE Bugs: http://bugs.kde.org to report bugs and > > > > wishes that you would have for non-KDE projects. > > > > > > > > For the KDE 3.5 branch we cannot do much anymore, as we are already > > > > in message freeze for weeks. So major changes will only be in KDE 4 > > > > unfortunately. > > > > > > I'd like to say again, if PO file gets given proper strings, please > > > honor that, don't overwrite (except time stamp, last translator name) > > > > So set it that way in the "project setting" of KBabel. (As written, > > KBabel's defaults are meant for KDE.) > > Again it is Project/Configure Again, please don't expect anything from a translator other that translation works, it's KBabel that keeps watching file sanity, giving proper strings at the header/initial comment, warning a translator `Your Project/Contact address is invalid/vacant, please give decent values for them.' blah, blah, blah... Regards, -- Daichi Language Codes: http://www.w3.org/WAI/ER/IG/ert/iso639.htm Country Codes: http://www.ics.uci.edu/pub/ietf/http/related/iso3166.txt