android - 使用特定语言环境中的字符串从默认语言环境获取字符串

标签 android localization

好的,我知道标题听起来很疯狂:)

这就是我想要的。我的应用程序针对设备用户进行了本地化,但我发送回服务器的信息必须全部为英文。我的默认应用语言环境英语。

例如,我有数组:

  • 苹果
  • 橙子
  • 桃子

我已经本地化了数组:

  • Яблоки
  • Апельсины
  • Персики

当俄罗斯用户看到列表并选择几个项目时 - 我需要获取相应的英文版本。

我想我的答案归结为如何做 getString() 和传递语言环境? 或者如何在特定语言环境中获取 Array?

最佳答案

即使设备上的默认语言环境不同,以下代码也会检索波兰语的本地化字符串:

Configuration conf = getResources().getConfiguration();
conf.locale = new Locale("pl");
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Resources resources = new Resources(getAssets(), metrics, conf);
/* get localized string */
String str = resources.getString(R.string.hello);

我希望这也适用于数组等其他资源类型,因此将“pl”替换为“en”就足够了...

关于android - 使用特定语言环境中的字符串从默认语言环境获取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526201/

相关文章:

java - 带有 API 21 的 Snackbar

c++ - OS语言在Linux中是如何表示的

android-studio - Android Studio 的外部翻译编辑器

android - 如何在android中分别获取应用程序语言和设备语言?

ruby-on-rails - Rails、Globalize 3 和 CRUD 操作

javascript - 服务器上的 Cordova 指纹认证

android - 使用 Line Control Nutiteq SDK 平滑转弯

android - 在 SlidingTabLayout 中自定义选定的选项卡文本颜色

android - 需要 GcmNetworkManager OneoffTask ExecutionWindow 吗?

java - 从 Java Locale 信息中检测 AM/PM 与 24 小时时钟偏好?