Ok, that was "fun" debugging, summmary of the issue

- g_app_info_get_display_name()  calls g_dgettext()
-  g_dgettext() decides on the translation strategy based on the return of the 
first call
- ubuntu-system-settings main.cpp calls initTr(I18N_DOMAIN, nullptr) with 
I18N_DOMAIN = "ubuntu-system-settings", so that's fine, but then when the 
MainView component is initialized, the domain is overwritten with the 
applicationName value, which is "SystemSettings"
- the first u-s-s call to g_dgettext() is made after that init, which has the 
wrong domain and leads to d_gettext() settling for "translations shouldn't be 
active there"

to add to the fun

- under unity7 the first call to g_dgettext() is made on start by
external component providing desktop integration (theme, appmenu, ...),
those calls success and enable translations, workarounding the
previously described issues ... those components are not enabled under
Mir though which explains why the bug seen only under unity8


In summary, changing applicationName to be "ubuntu-system-settings" (which is 
what the documentation suggests, it states that should = desktop name) should 
fix it, I'm submitting a fix for it

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1420404

Title:
  Name entry in desktop file not localized

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubuntu-system-settings/+bug/1420404/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to