Merge lp:~kalikiana/ubuntu-ui-toolkit/shareLocaleSmarts into lp:ubuntu-ui-toolkit/staging

Proposed by Cris Dywan
Status: Merged
Approved by: Tim Peeters
Approved revision: 1051
Merged at revision: 1053
Proposed branch: lp:~kalikiana/ubuntu-ui-toolkit/shareLocaleSmarts
Merge into: lp:ubuntu-ui-toolkit/staging
Diff against target: 94 lines (+13/-28)
4 files modified
modules/Ubuntu/Components/plugin/i18n.cpp (+6/-10)
tests/unit/tst_i18n/localizedApp/.click/status (+1/-0)
tests/unit/tst_i18n/src/tst_i18n.cpp (+5/-17)
tests/unit/tst_i18n/tst_i18n.pro (+1/-1)
To merge this branch: bzr merge lp:~kalikiana/ubuntu-ui-toolkit/shareLocaleSmarts
Reviewer Review Type Date Requested Status
David Planella (community) Approve
Tim Peeters Approve
PS Jenkins bot continuous-integration Approve
Review via email: mp+219341@code.launchpad.net

Commit message

Pick data path if .click is present

Description of the change

Note for testing:
 - System settings (deb) continues to be localized.
 - Music (click) is now localized.

To post a comment you must log in.
1048. By Cris Dywan

Correct path set and updated test case

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
1049. By Cris Dywan

Update tst_i18n.pro

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:1049
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/221/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/183
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/171
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/53
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/53
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/53/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/53
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/680
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/400
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/400/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/7110
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/155
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/217
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/217/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/221/rebuild

review: Approve (continuous-integration)
1050. By Cris Dywan

Look for .click/status

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:1050
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/222/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/187
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/174
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/54
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/54
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/54/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/54
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/683
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/407
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/407/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/7115
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/158
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/220
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/220/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/222/rebuild

review: Approve (continuous-integration)
1051. By Cris Dywan

Use APP_DIR instead of XDG_DATA_DIRS to find locale

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

PASSED: Continuous integration, rev:1051
http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/225/
Executed test runs:
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-utopic-touch/204
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-utopic/187
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-amd64-ci/57
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/57
        deb: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-armhf-ci/57/artifact/work/output/*zip*/output.zip
    SUCCESS: http://jenkins.qa.ubuntu.com/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-utopic-i386-ci/57
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-deb-autopilot-runner-mako/697
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/434
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-armhf/434/artifact/work/output/*zip*/output.zip
    SUCCESS: http://s-jenkins.ubuntu-ci:8080/job/touch-flash-device/7145
    SUCCESS: http://jenkins.qa.ubuntu.com/job/autopilot-testrunner-otto-utopic/172
    SUCCESS: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/233
        deb: http://jenkins.qa.ubuntu.com/job/generic-mediumtests-builder-utopic-amd64/233/artifact/work/output/*zip*/output.zip

Click here to trigger a rebuild:
http://s-jenkins.ubuntu-ci:8080/job/ubuntu-sdk-team-ubuntu-ui-toolkit-staging-ci/225/rebuild

review: Approve (continuous-integration)
Revision history for this message
Tim Peeters (tpeeters) wrote :

code changes make sense

review: Approve
Revision history for this message
David Planella (dpm) wrote :

This seems to work on the Simplified Chinese translation of Shorts -> http://i.imgur.com/SBh008P.png

Nice work!

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'modules/Ubuntu/Components/plugin/i18n.cpp'
2--- modules/Ubuntu/Components/plugin/i18n.cpp 2014-04-23 08:50:20 +0000
3+++ modules/Ubuntu/Components/plugin/i18n.cpp 2014-05-14 10:26:09 +0000
4@@ -102,18 +102,14 @@
5 m_domain = domain;
6 C::textdomain(domain.toUtf8());
7 /*
8- Look for locale folder as per XDG basedir spec
9 The default is /usr/share/locale if we don't set a folder
10- We look for share/domain to pick correctly among multiple prefixes
11+ For click we use APP_DIR/share/locale
12+ eg. /usr/share/click/preinstalled/com.example.foo/current/share/locale
13 */
14- QString dataPath(QStandardPaths::locate(QStandardPaths::GenericDataLocation,
15- domain, QStandardPaths::LocateDirectory));
16- if (!dataPath.isEmpty()) {
17- QDir dataDir(dataPath);
18- if (dataDir.cdUp() && dataDir.cd("locale")) {
19- QString localePath(dataDir.path());
20- C::bindtextdomain(domain.toUtf8(), localePath.toUtf8());
21- }
22+ QDir appDir(getenv("APP_DIR"));
23+ if (appDir.exists()) {
24+ QString localePath(appDir.filePath("share/locale"));
25+ C::bindtextdomain(domain.toUtf8(), localePath.toUtf8());
26 }
27 Q_EMIT domainChanged();
28 }
29
30=== removed directory 'tests/unit/tst_i18n/appropriate/localizedApp'
31=== renamed directory 'tests/unit/tst_i18n/appropriate' => 'tests/unit/tst_i18n/localizedApp'
32=== added directory 'tests/unit/tst_i18n/localizedApp/.click'
33=== added file 'tests/unit/tst_i18n/localizedApp/.click/status'
34--- tests/unit/tst_i18n/localizedApp/.click/status 1970-01-01 00:00:00 +0000
35+++ tests/unit/tst_i18n/localizedApp/.click/status 2014-05-14 10:26:09 +0000
36@@ -0,0 +1,1 @@
37+Package: localizedApp
38
39=== added directory 'tests/unit/tst_i18n/localizedApp/share'
40=== renamed directory 'tests/unit/tst_i18n/appropriate/locale' => 'tests/unit/tst_i18n/localizedApp/share/locale'
41=== modified file 'tests/unit/tst_i18n/src/tst_i18n.cpp'
42--- tests/unit/tst_i18n/src/tst_i18n.cpp 2013-12-13 15:37:31 +0000
43+++ tests/unit/tst_i18n/src/tst_i18n.cpp 2014-05-14 10:26:09 +0000
44@@ -76,19 +76,11 @@
45 {
46 // Set test locale folder in the environment
47 // Using setenv because QProcessEnvironment ignores changes
48- QString wrongDataFolder(QCoreApplication::applicationDirPath() + "/diversion");
49- QString testDataFolder(QCoreApplication::applicationDirPath() + "/appropriate");
50- setenv("XDG_DATA_DIRS", (wrongDataFolder + ":" + testDataFolder).toUtf8(), 1);
51+ QString testAppDir(QCoreApplication::applicationDirPath() + "/localizedApp");
52+ setenv("APP_DIR", testAppDir.toUtf8(), 1);
53
54 // Verify that we set it correctly
55- QString dataPath(QStandardPaths::locate(QStandardPaths::GenericDataLocation,
56- "localizedApp", QStandardPaths::LocateDirectory));
57- QDir dataDir(dataPath);
58- QVERIFY(dataDir.cdUp());
59- QVERIFY(dataDir.cd("locale"));
60- QString doubleCheckLocalePath(dataDir.path());
61- QCOMPARE(doubleCheckLocalePath, testDataFolder + "/locale");
62- QVERIFY(QFileInfo(testDataFolder + "/locale/en/LC_MESSAGES/localizedApp.mo").exists());
63+ QVERIFY(QFileInfo(testAppDir + "/share/locale/en/LC_MESSAGES/localizedApp.mo").exists());
64
65 QString modules("../../../modules");
66 QVERIFY(QDir(modules).exists());
67@@ -128,12 +120,8 @@
68
69 // Was the locale folder detected and set?
70 QString boundDomain(C::bindtextdomain(i18n->domain().toUtf8(), ((const char*)0)));
71- QString dataPath(QStandardPaths::locate(QStandardPaths::GenericDataLocation,
72- i18n->domain(), QStandardPaths::LocateDirectory));
73- QDir dataDir(dataPath);
74- QVERIFY(dataDir.cdUp());
75- QVERIFY(dataDir.cd("locale"));
76- QString expectedLocalePath(dataDir.path());
77+ QString testAppDir(QCoreApplication::applicationDirPath() + "/localizedApp");
78+ QString expectedLocalePath(QDir(testAppDir).filePath("share/locale"));
79 QCOMPARE(boundDomain, expectedLocalePath);
80 // Is the domain gettext uses correct?
81 QString gettextDomain(C::textdomain(((const char*)0)));
82
83=== modified file 'tests/unit/tst_i18n/tst_i18n.pro'
84--- tests/unit/tst_i18n/tst_i18n.pro 2013-12-13 15:37:31 +0000
85+++ tests/unit/tst_i18n/tst_i18n.pro 2014-05-14 10:26:09 +0000
86@@ -2,7 +2,7 @@
87 QT += gui
88 DEFINES += SRCDIR=\\\"$$PWD/\\\"
89
90-system(msgfmt po/en_US.po -o appropriate/locale/en/LC_MESSAGES/localizedApp.mo)
91+system(msgfmt po/en_US.po -o localizedApp/share/locale/en/LC_MESSAGES/localizedApp.mo)
92
93 SOURCES += \
94 src\/tst_i18n.cpp

Subscribers

People subscribed via source and target branches