[opensuse-translation] update-desktop-files syntax errors
I submitted yesterday a partial italian translation of the update-desktop-file but it seems it contains syntax errors. I'm using a suggested tool to translate (poedit) which complains about a long list of duplicate strings, and the same does kbabel. How can I fix these issues? I'm using SLED 10, with gettext-0.14.5-13.2, kdesdk3-3.5.1-17.2 and poedit-1.3.7-1. Discussing in IRC, I discovered that this particular file uses a more recent format than the others, and that some tools are not compatible. This should clearly be state on the wiki, removing the not compatible tools or at least specifying what versions are supporting the format. Thanks in advance, Alberto --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
Hi, Yes, I went into a similar issue. It seems poedit 1.37 deletes all "msgctxt" lines without a warning message. So do not use poedit editing this update-desktop-files.po . First you have to update your gettext to above 0.15 . "msgctxt" is not supported by gettext < 0.15 . And recompile kbabel with gettext-devel
= 0.15 . Poedit 1.37 does not support "msgctxt" (at least for me) even you are with >= 0.15 gettext .
Then, do one of the following: A. download the pot file for the 50-pot directory, then use kbabel to translate the pot file with a reference po (the current po, yes, the one with syntax errors). Then rename the pot file as update-desktop-files.YOUR_LANGUAGE_CODE.po . B. Or you can start from a previous version po which can be downloaded from the svn repo. Anyway, you don't want t start from scratch, do you? Luck! Regards, Thruth On 8/6/07, Alberto Passalacqua <alberto.passalacqua@tin.it> wrote:
I submitted yesterday a partial italian translation of the update-desktop-file but it seems it contains syntax errors.
I'm using a suggested tool to translate (poedit) which complains about a long list of duplicate strings, and the same does kbabel.
How can I fix these issues?
I'm using SLED 10, with gettext-0.14.5-13.2, kdesdk3-3.5.1-17.2 and poedit-1.3.7-1.
Discussing in IRC, I discovered that this particular file uses a more recent format than the others, and that some tools are not compatible. This should clearly be state on the wiki, removing the not compatible tools or at least specifying what versions are supporting the format.
Thanks in advance, Alberto
--------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
--------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
Thanks for your kind answer.
First you have to update your gettext to above 0.15 . "msgctxt" is not supported by gettext < 0.15 . And recompile kbabel with gettext-devel
= 0.15 . Poedit 1.37 does not support "msgctxt" (at least for me) even you are with >= 0.15 gettext .
This is impossible at the moment. I'm using SLED 10, and I don't want to mess it with compiled stuff. I'll try to do what you suggested in openSUSE 10.3 Alpha 7. Let's hope. This issue however has to be solved in a more clever way. We can't be tied to a single version of a tool, which, for many, means a single version of the distribution. With kind regards, Alberto --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
Alberto Passalacqua <alberto.passalacqua@tin.it> writes:
This is impossible at the moment. I'm using SLED 10, and I don't want to mess it with compiled stuff.
Even without becoming root, you can install updated version temporarily into your home directory. I admit, sometimes that's a bit tedious. Alternatively, you could try running openSUSE 10.3x inside of a XEN instance on top of SLED10.
I'll try to do what you suggested in openSUSE 10.3 Alpha 7. Let's hope.
I'm using Emacs with po-mode. I did not check KBabel on Alpha7, but it probably works.
This issue however has to be solved in a more clever way. We can't be tied to a single version of a tool, which, for many, means a single version of the distribution.
We were forced to switch to the extended .po file format for the update-desktop-files. Previously, we used to have the context info inside of the msgids, but this caused quite some trouble for all of us. -- Karl Eichwalder R&D / Documentation SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
A. download the pot file for the 50-pot directory, then use kbabel to translate the pot file with a reference po (the current po, yes, the one with syntax errors). Then rename the pot file as update-desktop-files.YOUR_LANGUAGE_CODE.po .
This has to be done on a string-by-string basis, or is there a method to just merge the translations with the .pot and then check manually? Thanks, Alberto --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
Alberto Passalacqua <alberto.passalacqua@tin.it> writes:
A. download the pot file for the 50-pot directory, then use kbabel to translate the pot file with a reference po (the current po, yes, the one with syntax errors). Then rename the pot file as update-desktop-files.YOUR_LANGUAGE_CODE.po .
This has to be done on a string-by-string basis, or is there a method to just merge the translations with the .pot and then check manually?
You can try the "compendium" ("memory") approach: msgmerge -o new_file.po -C file_with_old_translations.po \ current_file.po pot_file.pot file_with_old_translations.po is the version of the update-desktop-files with your new translations. I'm not sure whether 'msgmerge' accepts a slightly broken compendium file, though; maybe, it accepts duplicate entries. -- Karl Eichwalder R&D / Documentation SUSE LINUX Products GmbH, GF: Markus Rex, HRB 16746 (AG Nuernberg) --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
Thanks Karl. In the end, I did as follow: - Completed the translation with poedit, and save a "broken" file. - Used a merging script a nice guy (runesk) provided to me :-) - Checked strings manually (a nightmare >;-) ). Something similar can be done by means of KBabel, using the "rough translation" tool, as suggested by Truth. The only issue is that KBabel marks all changes as fuzzy, both if they're completely corresponding or not. Regard, Alberto Il giorno mar, 07/08/2007 alle 10.46 +0200, Karl Eichwalder ha scritto:
Alberto Passalacqua <alberto.passalacqua@tin.it> writes:
A. download the pot file for the 50-pot directory, then use kbabel to translate the pot file with a reference po (the current po, yes, the one with syntax errors). Then rename the pot file as update-desktop-files.YOUR_LANGUAGE_CODE.po .
This has to be done on a string-by-string basis, or is there a method to just merge the translations with the .pot and then check manually?
You can try the "compendium" ("memory") approach:
msgmerge -o new_file.po -C file_with_old_translations.po \ current_file.po pot_file.pot
file_with_old_translations.po is the version of the update-desktop-files with your new translations. I'm not sure whether 'msgmerge' accepts a slightly broken compendium file, though; maybe, it accepts duplicate entries.
--------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-translation+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-translation+help@opensuse.org
participants (3)
-
Alberto Passalacqua
-
Karl Eichwalder
-
Truth