【问题标题】:Get which locales have their own values folder获取哪些语言环境有自己的值文件夹
【发布时间】:2013-08-28 22:12:46
【问题描述】:

我正在为我的应用程序实现多语言支持。现在在我的默认values 文件夹中,我有英语语言环境的字符串。我还有一个瑞典语文件夹values-sv。 我想让用户能够手动选择语言环境,因为我需要显示一个支持语言的列表。

有没有办法获得支持的语言环境(有自己的值文件夹)?

到目前为止我有:

String[] 语言 = getResources().getAssets().getLocales();

但这会返回此 Android 版本支持的所有语言,但显示这么长的列表没有意义。我只需要我的应用程序支持的语言。

【问题讨论】:

    标签: android locale multilingual


    【解决方案1】:

    在你的你可以向用户显示一个微调器/对话框选择器,其中包含你拥有的受支持语言的项目,并且可以告诉你的应用你必须选择哪些资源

    假设你有西班牙语和英语:

    显示带有值的微调器,即:西班牙语,英语 用户选择的值将区域设置设置为西班牙语或英语

    【讨论】:

    • 所以你想在设备区域设置从设置中更改时更改应用程序语言??我说的对吗??
    • 不,从系统设置更改应用程序语言就可以了。我想让用户覆盖应用程序中的语言。
    • 无法理解您的要求“想让用户覆盖应用程序中的语言”,这是否意味着您要求用户显示哪种语言??
    • 没错,我想让用户从应用程序中选择语言,而不是从android设置中选择。
    • 那么唯一的办法就是让用户给出一些东西来选择他想选择的语言是对的??
    【解决方案2】:

    硬编码。

    或者,编写一个脚本,根据您的res/values/ 目录中的内容生成 Java 代码的 sn-p,并将该脚本集成到您的构建过程中。随着新的基于 Gradle 的构建系统进入发布状态,这可能会更容易。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多