gpt4 book ai didi

python - 如何获取母语的语言名称?

转载 作者:太空狗 更新时间:2023-10-30 00:57:13 24 4
gpt4 key购买 nike

这是我第一次使用 ICU API,我很难找到我认为非常简单的东西:以母语获取给定的区域设置/语言名称(而不是英文)

例子:

fr    -> Français
en -> English
pt_BR -> Português Brasileiro, or "Português (Brasil)"
es_ES -> Español Iberico, or "Español (España)"

作为引用,在 babel 中,我可以获得任何语言的给定语言环境名称,默认为 native:

>>> import babel
>>> locale = babel.Locale.parse('pt_BR')
>>> locale.get_display_name()
português (Brasil)
>>> locale.get_display_name('fr')
portugais (Brésil)
>>> locale.get_display_name('en')
Portuguese (Brazil)

那么,如何在 ICU 中做同样的事情? python 中的示例是最受欢迎的,因为我使用的是 PyICU,但 Java/C/C++ 也很好,因为我的问题是 API,而不是语言。

谢谢!

最佳答案

我刚刚发现:最好的方法是 getDisplayName(),但是,我必须传递一个 Locale 实例,而不是传递一个字符串作为参数!

完整代码如下:

>>> import icu
>>> locale = icu.Locale("pt_BR")
>>> print icu.getDisplayName()
u'portuguese (Brazil)'
>>> print icu.getDisplayName(locale)
u'portugu\xeas (Brasil)'

因此,与 babel 不同,Locale 方法默认返回用户当前语言环境中的名称。我必须传递实例本身才能以母语获取名称。因此,如果您想要以您的 语言(在我的例子中是英语)命名,这很容易,但如果我想要法语,例如,我将不得不创建一个新的 Locale 实例 'fr_FR'。奇怪的 API,但仍然......

关于python - 如何获取母语的语言名称?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10405915/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com