[Bug 1181183] Re: Add support for the Ubuntu SDK apps to dh_translations
David Planella
david.planella at ubuntu.com
Mon May 20 17:13:58 UTC 2013
Al 20/05/13 16:46, En/na Martin Pitt ha escrit:
> Olivier Tilloy [2013-05-17 14:54 -0000]:
>> The Ubuntu Touch QtCreator plugin exposes a "Translations" tool that has two options:
>> 1) Export ".pot" File
>> 2) Generate ".mo" File
>>
>> The first option invokes xgettext with the following arguments:
>>
>> xgettext -o messages.pot --qt --c++ --add-comments=TRANSLATORS
>> --keyword=tr %PROJECTFILES%
>
> Is this "translation tool" implemented in the build system, or is that
> separate logic in the GUI only?
>
These are two menu entries in Qt Creator calling a script in the UI, so
a manual step pointing and clicking, disconnected from the build system.
> Is this invoked automatically anyway?
Not automatically, it's a manual step.
The challenge is that for simple SDK apps there is either no build
system or qmake, which can create Makefiles from *.pro snippets, but
it's a bit limited. An example is the Clock core app, where I ended up
using override_dh_install in debian/rules directly as per your guidance:
https://code.launchpad.net/~dpm/ubuntu-clock-app/translations-
packaging/+merge/162785
In Olivier's case, he is using CMake, which seems to be more flexible in
defining build targets/rules:
https://code.launchpad.net/~osomon/webbrowser-app/i18n/+merge/164276
> I. e. is the issue here that
> dh_translations overwrites an already correct .pot file with an
> incomplete one, and we just need to disable dh_translations for Ubuntu
> SDK packages?
There is actually no issue. The only thing is that we were writing our
own rules to generate the pot file, but most importantly to build and
install translations, and we were wondering if the best thing to do
would be to simply expand dh_translations to support SDK apps and use
the standard to do this.
> Or is the point of this bug to replace the GUI tool's
> export function with dh_translations?
>
See the comment above. It's not as much as the export part, but rather
the build and install part, which the GUI cannot take care of when
installing an app.
> We can certainly call above xgettext command in dh_translations if we
> detect a project where this command is suitable. Do you have some
> guidance how to do this detection?
>
I'm not sure about the best way of detecting this, but in general,
Ubuntu SDK projects:
- Import Ubuntu.Components
- Use the i18n.tr() calls for translations
>> The alternative, if I understand it correctly, would be to add a
>> "$domain.pot" target to the make rules (need to investigate how to do
>> that with cmake). Is that correct?
>
> That would also work, yes. It depends a little bit how much you want
> these to work in a non-Debian(ish) environment, i. e. whether you have
> some notion of a non-packaged "upstream" release of these projects.
>
I think it might make sense to define a standard set of targets for
translations in CMake anyway, in the way they are already defined for
autotools-based projects (the make $domain.pot is a good example).
Cheers,
David.
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to pkgbinarymangler in Ubuntu.
https://bugs.launchpad.net/bugs/1181183
Title:
Add support for the Ubuntu SDK apps to dh_translations
Status in “pkgbinarymangler” package in Ubuntu:
Incomplete
Bug description:
dh_translations, when it builds a POT file from the source files, invokes intltool-update, which in turn invokes xgettext to extract the translatable strings from the source files.
By default, xgettext looks for a set of predefined keywords to identify translatable strings.
This set of predefined keywords doesn’t include "i18n.tr", which is the function used in QML files that use the Ubuntu SDK.
As a result, no strings are found, and no POT file is generated.
Ideally, dh_translations should support passing (arbitrary?) extra
options to intltool-update/xgettext. Or at least extend the default
list of keywords to support the apps written with the Ubuntu SDK.
ProblemType: Bug
DistroRelease: Ubuntu 13.04
Package: dh-translations 117
ProcVersionSignature: Ubuntu 3.8.0-21.32-generic 3.8.8
Uname: Linux 3.8.0-21-generic x86_64
NonfreeKernelModules: nvidia wl
ApportVersion: 2.9.2-0ubuntu8
Architecture: amd64
CheckboxSubmission: 2c7995ffdf051a6d0adf7ab2c7be5ba9
CheckboxSystem: 7e42599bda39ea7ff8b528272b6ef52b
Date: Fri May 17 12:27:40 2013
EcryptfsInUse: Yes
InstallationDate: Installed on 2013-03-26 (51 days ago)
InstallationMedia: Ubuntu 13.04 "Raring Ringtail" - Alpha amd64+mac (20130326)
MarkForUpload: True
PackageArchitecture: all
SourcePackage: pkgbinarymangler
UpgradeStatus: No upgrade log present (probably fresh install)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/pkgbinarymangler/+bug/1181183/+subscriptions
More information about the foundations-bugs
mailing list