[Bug 1181183] Re: Add support for the Ubuntu SDK apps to dh_translations
David Planella
david.planella at ubuntu.com
Tue May 21 12:06:06 UTC 2013
Al 21/05/13 13:05, En/na Martin Pitt ha escrit:
> Hello Olivier, David,
>
> David Planella [2013-05-20 17:13 -0000]:
>> 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.
>
> Ack, then it might indeed be simpler to just put everything into
> 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.
>
> Ah, so that's a different issue from the original report here (that
> building the .pot doesn't work).
>
Ah, sorry Martin, you're right, it's a separate discussion. I thought
dh_translations took care of everything (as in building and installing
translations), but if I understand it correctly now, it just generates
the .pot file (plus translation stripping and domain addition).
>> 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
>
> Oliver said about this:
>> Any project that depends on qtdeclarative5-ubuntu-ui-toolkit-plugin is a
>> candidate.
>
> Is the i18n.tr() call Ubuntu specific, or does it apply to all QML
> apps?
The i18n.tr() call is Ubuntu-SDK-specific. Essentially it is an alias
for gettext() [1].
> In the latter case, it seems easier to just check if the package
> has any *.qml files, and activate the xgettext call based on this? But
> I guess that's not generally sufficient, as Ubuntu SDK (or QML apps
> in general) might also have C++ files which use the standard _()
> convention?
>
It seems the C++ files would currently not be able to use the
Ubuntu-specific UbuntuI18n::tr() method, so for now it'd have to be _()
for C++ files, but I'm discussing that with the SDK team, as it'd be
nice for mixed projects (e.g. QML + C++) to use the same method to
internationalize messages.
Cheers,
David.
[1]
http://bazaar.launchpad.net/~ubuntu-sdk-team/ubuntu-ui-toolkit/trunk/view/head:/modules/Ubuntu/Components/plugin/i18n.cpp
--
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