如何在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()
- Python:没有名为datetime的模块?
- 如何让Ubuntu使用Anaconda的python而不是标准的/ usr / lib / python ……?
- 我无法在我的ubuntu中安装easy_install
- 如何更改我的PYTHONPATH使3,2是我的默认Python而不是2.7.2?
- 如何使用Python播放固定频率的声音
- 如何在Ubuntu 12.04中创建新应用程序时快速设置使用python3
- 如何为dpkg-buildpackage或debuild安装的文件添加权限
- easy_install pygame由于“linux / videodev.h:没有这样的文件或目录”错误而无法正常工作
- 是否可以在14.04 LTS中安装Python 3.x,或从Python 2.7.6升级到2.7.8?