android 指定语言的资源,如何在Android Studio中使用指定语言启动App?

本文详细介绍了如何在Android应用中实现资源的本地化和国际化,包括创建自定义资源目录、添加不同语言环境的支持,以及如何根据设备区域设置加载相应资源。通过创建如values-es/strings.xml和mipmap-b+es+ES/country_flag.png等目录和文件,为不同语言环境提供字符串和图标。同时,文章提到了可以编程方式或通过ADB手动更改语言环境,但不建议这样做。
摘要由CSDN通过智能技术生成

这其实很简单。您只需要为语言标识符的字符串创建自定义资源目录,Android将自动选择正确的资源目录。

创建区域设置目录和资源文件添加支持更多的语言环境 ,创建内部RES /附加目录。每个目录的 名称应遵循以下格式:

-b + [+]例如, 值-B + ES /包含字符串资源的语言 码ES语言环境。类似地,mipmap-b + es + ES /包含语言代码和ES国家/地区代码的区域设置图标 。 Android在运行时根据设备 的区域设置加载适当的资源 。有关更多信息,请参阅提供替代资源。

确定要支持的语言环境后,请创建资源 子目录和文件。例如:

MyProject的/ RES/ 值/ 的strings.xml 值-B + ES/ 的strings.xml mip映射/ country_flag.png Mip映射B + ES + ES/ country_flag.png例如,以下是一些不同的资源文件针对不同的语言:

英文字符串(默认语言环境),/values/strings.xml:

的Hello World!西班牙语字符串(es locale),/values-es/strings.xml:

Hola Mundo!美国国旗图标(默认语言环境),/mipmap/country_flag.png:

用于 默认(EN_US)区域

西班牙的国旗图标美国图2.图标的标志的图标( es_ES区域设置),/mipmap-b+es+ES/country_flag.png:

西班牙国旗图标图3。用于es_ES图标区域设置

注意:您可以在任何资源类型使用的语言环境预选赛(或任何配置 预选赛),例如,如果您想为您的位图绘制的 本地化版本。有关更多信息,请参阅 本地化。

使用的资源在App

如果你不想让Android系统自动选择你的资源的语言,您可以以编程方式更改语言(不建议)。但是,你需要改变语言的每个活动:

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

String languageToLoad = "fa"; // your language

Locale locale = new Locale(languageToLoad);

Locale.setDefault(locale);

Configuration config = new Configuration();

config.locale = locale;

getBaseContext().getResources().updateConfiguration(config,

getBaseContext().getResources().getDisplayMetrics());

//setContentView...

}

或者你通过ADB设置语言,如果它只是用于测试目的(但是通过设置大概是接近那么快,这个解决方案):

adb shell "setprop persist.sys.language en; setprop persist.sys.country CA; setprop ctl.restart zygote"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值