gpt4 book ai didi

java - 如何将 IETF BCP 47 语言代码转换为显示字符串?

转载 作者:太空狗 更新时间:2023-10-29 12:54:25 25 4
gpt4 key购买 nike

如何将 IETF BCP 47 语言代码 [例如 zh-cmn-Hant-HK] 转换为显示字符串 [例如Android (Java) 中的“繁体中文(香港特别行政区)”]?

一些背景。我正在使用语音转文本 API。我正在调用 sendOrderedBroadcast,传递一个 BroadcastReceiver,它通过 RecognizerIntent.EXTRA_SUPPORTED_LANGUAGES 接收支持的语言列表。 EXTRA_SUPPORTED_LANGUAGES 作为 IETF BCP 47 代码而不是 Java 语言环境代码提供: http://developer.android.com/reference/android/speech/RecognizerIntent.html

Android 为使用 IETF BCP 47 代码提供了哪些支持?我对获取如上例所示的显示名称特别感兴趣。

最佳答案

Android 不支持。总的来说,我认为您不会在 ICU 之外找到这样的支持。

因此您有两个选择:ICU4J 或 ICU4C。

对于 ICU4J,您应该带上自己的副本,因为那里没有。

ICU4C 存在于 Android 上(Dalvik 中的所有国际化功能都在其之上实现)。您可以使用 NDK(本地开发工具包)从 C/C++ 模块调用 ICU4C,并使用 JNI 从 Java 访问您的本地模块。但是,虽然 ICU4C 默认存在,但 Android 不会公开它,并且强烈建议不要使用它。更不用说 ICU4C 数据文件可能会被大量删除,因此拼写 bcp 47 代码所需的信息可能不存在。

所以最安全的是你自己的 ICU4J 副本。您可以将它与您的应用程序一起部署,也可以将该信息公开为供您的应用程序使用的 Web 服务。

关于java - 如何将 IETF BCP 47 语言代码转换为显示字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8337188/

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