如何在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)
 print app.get_name()

这个代码为vlc.desktop提供了正确的结果。

Ubuntu Dash为所有应用程序显示正确的本地化名称。

如何在python中获取应用程序的本地化名称?

对不起我的英语不好。

您需要获取X-Ubuntu-Gettext-Domain ,并使用gettext.dgettext(domain, app_name)等来获取该域的翻译。 但是,大多数应用名称都不会/不应该被翻译。

我找到了解决方案。 这段代码非常完美:

来自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(文件名)

 print de.getName()