On Wed, 21 Apr 2010 23:25:15 +0200 Josselin Mouette <joss@debian.org> wrote: Fixing the CC: > Package: svn-buildpackage > Version: 0.8.0 > Severity: minor > Tags: l10n > > Hi, > > it’s nice to have svn-buildpackage translated in French, however I > noticed a problem with it. > > svn-buildpackage --svn-tag-only will translate > Tagging $package ($version) > with: > Étiquetage en cours $package ($version) > > This is wrong for three reasons: > * While “Étiquetage en cours” is a correct translation for “Tagging” > alone, the resulting text doesn’t mean anything. It should be > “Étiquetage de $package ($version)”. > * The code should use C-style format strings instead of > concatenating a translated string with a generated string. > * Translating auto-generated commit messages that end up into Debian > repositories? Think again. I can change the script to simply not try to translate the "Tagging" word (in effect, treat it as a keyword) - this would be the simplest option. The POT would simply lose a string. Alternatively: 1. The translated text includes the $package and $version as %s variables (perl-format - roughly equivalent to the c-format in PO), much as other translated strings in svn-bp already do. (I missed that one - I usually try to spot things like that because context is always important for translators.) 2. The translated text is displayed to the user *only* 3. An untranslated version of the string is sent to svn. I need to update the existing translations at some point anyway for source format 3.0 messages. The request for an updated French translation will be sent to debian-l10n-french@list.debian.org, so CC'ing them now so that this particular message gets reviewed. Using this method, the updated POT would contain: #. Translators: relates to the use of --svn-tag #: ../svn-buildpackage:362 ../svn-buildpackage:813 #, perl-format msgid "Tagging %s (%s)" msgstr "" Preferences? Is this the only problematic string? AFAICT it is the only one that ends up being passed to svn. The rest of the calls to withecho all specify only the command, the options and the filenames concerned. Overall, I think it would be best to consider "Tagging" to be a keyword, unsuitable for translation or simply replace "Tagging" with "svn-tag:" with the same effect. i.e. this change: Old code: # Translators: relates to the use of --svn-tag my $msg = _g("Tagging"); withecho ("svn", "-m", "$scriptname $msg $package ($tagVersion)", "-rBASE", "cp", ".", $$c{"tagsUrl"}."/$tagVersion"); New code: # Translators: relates to the use of --svn-tag printf (_g("Tagging %s (%s)\n"), $package, $tagVersion); # change from 'withecho' to output the translated string to user only withecho ("svn", "-m", "$scriptname Tagging $package $tagVersion", "-rBASE", "cp", ".", $$c{"tagsUrl"}."/$tagVersion"); I've committed this change to our SVN for now, along with updates of the PO files for other changes related to source format 3.0 and svn-bp 0.8.1. -- Neil Williams ============= http://www.data-freedom.org/ http://www.linux.codehelp.co.uk/ http://e-mail.is-not-s.ms/
Attachment:
pgprnYdKlikb3.pgp
Description: PGP signature