Как я могу получить локализованные имена приложений в Python?

Этот код дает мне только английское имя приложения, если файл .desktop не имеет параметров «Name [*]» (как в totem.desktop), а только «X-Ubuntu-Gettext-Domain: totem»:

[ 110]

Этот подобный код дает правильный результат для vlc.desktop.

Ubuntu Dash показывает правильные локализованные имена для всех приложений.

Как я могу получить локализованные имена приложений в python?

Извините за мой английский.

2
задан 7 December 2012 в 01:57

2 ответа

Я нашел решение. Этот код прекрасно работает:

from gi.repository import Gio
from xdg.DesktopEntry import DesktopEntry

app = Gio.app_info_get_default_for_type('video/x-flv', True)
filename = app.get_filename()
de = DesktopEntry(filename)

print de.getName()
0
ответ дан 7 December 2012 в 01:57

Вам нужно получить значение для X-Ubuntu-Gettext-Domain и получить перевод из этого домена с чем-то вроде gettext.dgettext(domain, app_name). Однако большинство названий приложений не переводятся / не должны переводиться.

0
ответ дан 7 December 2012 в 01:57

Другие вопросы по тегам:

Похожие вопросы: