Android 实现应用多语言化(跟随系统)

前言

随着应用的持续发展,可能面临着出海的需求,因此应用必须支持多种国家的语言以满足人们的需求。

个人认为适配语言分为两种:

  1. 跟随系统语言
  2. 语言内切换语言

示例

下面将以跟随系统语言这种方式作为示例介绍。那么既然适配语言,我们就不能以硬编码形式给 Text、TextView 控件赋值,首先在资源文件中 string.xml 创建两个字段。

<resources>
    <string name="app_name">SwitchLanguage</string>

    <string name="hello_android">你好 安卓</string>
    <string name="my_content">这是一段被翻译的文本</string>
</resources>

values 目录中新建一个资源文件
在这里插入图片描述
添加 Locale 语言环境
在这里插入图片描述
语言选择 en 英文代码后,还可以指定特定区域国家,默认是所有英语国家都使用该字符串资源。
在这里插入图片描述
创建完成后 values 会多了一个带有 (en)string.xml 文件,现在只需要赋值默认文件的字段,并修改内容为英文即可。
在这里插入图片描述

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string name="app_name">SwitchLanguage</string>

    <string name="hello_android">Hello Android</string>
    <string name="my_content">This is a translated text</string>
</resources>

最后一步在UI上应用字符串资源,如果你使用的是 xml 也是一样的,在 TextViewtext 属性中指向对应的字段就可以 @string/xxx

Column(
	modifier = Modifier.fillMaxSize(),
	horizontalAlignment = Alignment.CenterHorizontally,
	verticalArrangement = Arrangement.Center
) {
	Text(text = stringResource(id = R.string.hello_android))
	Spacer(modifier = Modifier.height(16.dp))
	Text(text = stringResource(id = R.string.my_content))
}

运行效果
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值