如果 .desktop 文件没有“Name[*]”选项(例如在 totem.desktop 中)而只有“X-Ubuntu-Gettext-Domain: totem”,则此代码仅提供英文应用程序名称:
从 gi.repository 导入 Gio app = Gio.app_info_get_default_for_type('video/x-flv', True) 打印应用程序.get_name()
类似的代码给了我 vlc.desktop 的正确结果。
Ubuntu Dash 显示所有应用程序的正确的本地化名称。
如何在 python 中获取应用程序的本地化名称?
对不起我的英语不好。
答案1
您需要获取 的值X-Ubuntu-Gettext-Domain
,然后使用 之类的内容从该域获取翻译gettext.dgettext(domain, app_name)
。不过,大多数应用程序名称都不应翻译。
答案2
我找到了解决方案。此代码运行完美:
从 gi.repository 导入 Gio 从 xdg.DesktopEntry 导入 DesktopEntry app = Gio.app_info_get_default_for_type('video/x-flv', True) 文件名 = app.get_filename() de = DesktopEntry(文件名) 打印 de.getName()