Как я могу получить локализованные имена приложений в Python?
Этот код дает мне только английское имя приложения, если файл.desktop не имеет опций "Name[*]" (как в totem.desktop), а только "X-Ubuntu-Gettext-Domain: totem":
из gi.repository import Gio app = Gio.app_info_get_default_for_type('video/x-flv', True) распечатать app.get_name()
Этот код дает мне правильный результат для vlc.desktop.
Ubuntu Dash показывает правильные локализованные имена для всех приложений.
Как я могу получить локализованные имена приложений в Python?
Извините за мой английский.
2 ответа
Решение
Я нашел решение. Этот код отлично работает:
из gi.repository import Gio из xdg.DesktopEntry импортировать DesktopEntry app = Gio.app_info_get_default_for_type ('video / x-flv', True) filename = app.get_filename () de = DesktopEntry (имя файла) распечатать de.getName()
Вам нужно будет получить значение для X-Ubuntu-Gettext-Domain
и получить перевод из этого домена с чем-то вроде gettext.dgettext(domain, app_name)
, Однако большинство названий приложений не / не должны переводиться.