android - 如何检查android中的设备是否支持特定语言

标签 android

Locale.getAvaialableLocales() 为您提供设备中可用的所有语言环境。 但是设备安装的字体仅支持其中一些可用的语言环境

我使用了 Resources.getSystem().getAssets().getLocales() 它返回“设置->语言和输入->语言”选项中可用的列表语言。

但是该设备能够支持更多“设置->语言和输入->语言”中不存在的语言。

例如 在我的 Karbon 设备中 Resources.getSystem().getAssets().getLocales() 返回 只有“印地语”和“旁遮普语”作为支持语言。 但是当使用“远足”应用程序选择“泰卢固语”语言时,该设备工作正常。

那么有什么方法可以检查设备是否支持特定语言。

最佳答案

好问题 Siva。

到目前为止,很多人都在讨论同样的事情,但都没有答案。

google groups discussion is here

Locale.getAvailableLocales() 也不是 Resources.getSystem().getAssets().getLocales() 为您提供一组正确的区域设置,您可以依赖这些区域设置来支持应用程序语言。

原因是,

它们都为您提供了该操作系统支持的所有语言环境的列表。操作系统可能支持超过 100 种语言,但设备制造商可能不会将所有这些语言字体(ttf 文件)放在/system/fonts/(或任何系统字体目录)中只是为了节省 ROM 内存。他们所做的是,因为他们制作特定区域的 rom,所以他们只放置与该特定区域相关的字体(区域设置)。这就是您在美洲 ROM 中找不到印度地方语言的原因。

解决它的最好方法是, 在您的应用程序 Assets 中包含您想要支持的任何语言的所有 ttf 文件, 就像我们支持不同的语言字符串一样。

但要注意字体许可和所有问题。

希望这对您有所帮助。

关于android - 如何检查android中的设备是否支持特定语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35763413/

相关文章:

android - Paypal CardIO 返回异常

layout - 单击前是否有带有可见列的滑动菜单?

java - 在 Android 中编辑现有文件

android - E/AndroidRuntime : FATAL EXCEPTION: main java. lang.VerifyError

android - 错误 : Inflating class fragment

android - 从某一帧开始循环 Lottie 动画

java - 在 Android 中的 TextView 上设置文本时出错

android - 如何在android中单击按钮打开下面的自定义布局对话框?

安卓单选按钮

android - 如何全屏显示对话框 fragment ?