on xenial help sign in
Fix launcher internationalization
a3d38fbAlbert Astals
plugins/Unity/Launcher/backend/launcherbackend.cpp+7
@@ -28,6 +28,8 @@
28#include <QDebug>
28#include <QDebug>
29#include <QStandardPaths>
29#include <QStandardPaths>
30
30
31+#include <libintl.h>
32+
31class LauncherBackendItem
33class LauncherBackendItem
32{
34{
33public:
35public:
@@ -350,7 +352,12 @@ LauncherBackendItem* LauncherBackend::parseDesktopFile(const QString &desktopFil
350 QSettings settings(desktopFile, QSettings::IniFormat);
352 QSettings settings(desktopFile, QSettings::IniFormat);
351
353
352 LauncherBackendItem* item = new LauncherBackendItem();
354 LauncherBackendItem* item = new LauncherBackendItem();
355+
353 item->displayName = settings.value("Desktop Entry/Name").toString();
356 item->displayName = settings.value("Desktop Entry/Name").toString();
357+ const QString domain = settings.value("Desktop Entry/X-Ubuntu-Gettext-Domain").toString();
358+ if (!domain.isEmpty()) {
359+ item->displayName = dgettext(domain.toUtf8().constData(), item->displayName.toUtf8().constData());
360+ }
354
361
355 QString iconString = settings.value("Desktop Entry/Icon").toString();
362 QString iconString = settings.value("Desktop Entry/Icon").toString();
356 QString pathString = settings.value("Desktop Entry/Path").toString();
363 QString pathString = settings.value("Desktop Entry/Path").toString();
qml/Dash/DashApplication.qml−6
@@ -24,12 +24,6 @@ MainView {
24
24
25 useDeprecatedToolbar: false
25 useDeprecatedToolbar: false
26
26
27− Binding {
28− target: i18n
29− property: "domain"
30− value: "unity8"
31− }
32−
33 Dash {
27 Dash {
34 anchors.fill: parent
28 anchors.fill: parent
35 }
29 }
qml/Shell.qml−6
@@ -593,12 +593,6 @@ Item {
593 }
593 }
594 }
594 }
595
595
596− Binding {
597− target: i18n
598− property: "domain"
599− value: "unity8"
600− }
601−
602 Dialogs {
596 Dialogs {
603 id: dialogs
597 id: dialogs
604 anchors.fill: parent
598 anchors.fill: parent
src/Dash/main.cpp+1
@@ -68,6 +68,7 @@ int main(int argc, const char *argv[])
68 }
68 }
69
69
70 bindtextdomain("unity8", translationDirectory().toUtf8().data());
70 bindtextdomain("unity8", translationDirectory().toUtf8().data());
71+ textdomain("unity8");
71
72
72 QQuickView* view = new QQuickView();
73 QQuickView* view = new QQuickView();
73 view->setResizeMode(QQuickView::SizeRootObjectToView);
74 view->setResizeMode(QQuickView::SizeRootObjectToView);
src/main.cpp+1
@@ -108,6 +108,7 @@ Load the testability driver");
108 }
108 }
109
109
110 bindtextdomain("unity8", translationDirectory().toUtf8().data());
110 bindtextdomain("unity8", translationDirectory().toUtf8().data());
111+ textdomain("unity8");
111
112
112 QQuickView* view = new QQuickView();
113 QQuickView* view = new QQuickView();
113 view->setResizeMode(QQuickView::SizeRootObjectToView);
114 view->setResizeMode(QQuickView::SizeRootObjectToView);