软件开发多语言实践,iOS app,Android app,和php
所属分类:独立开发 | 发布于 2023-12-25 18:28:38
目前开发的app都是多语言的,这里总结一下,包括iOS app,Android app和使用thinkphp开发的php项目。
各个语言对多语言的要求不一样,不热android的strings.xml中不能有空格,也不能使用横线,而ios的Localizable中就没有这些限制。再比如iOS中不要求,多语言的文件一一对应,而android和php都要求一一对应。
为了统一,我们约定:
1、多个单词之间用下划线隔开。比如save_success。
2、所有的单词必须使用小写字母。比如在App内部英文语言中需要使用大写显示,但在定义时,key还是用小写,如save="SAVE"。
3、优先使用公共定义,公共定义放在文件最上方。
下面就从三个平台分别介绍定义与用法。
1、Android App
1.1、Android配置多语言
a、在res-values目录右击新建Values Resource File
b、选择Locale
c、搜索zh,选择Any Region,然后OK
d、strings下默认有一个xml,我们把它作为英文环境的配置项,新增加的中文配置文件后面有zh标志
1.2、定义多语言配置项
strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_title">Welcome to WengeWorld</string>
<!--More items-->
</resources>
strings.xml(zh)
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="welcome_title">欢迎来到文哥世界</string>
<!--其它更多配置项-->
</resources>
1.3、在Composable函数中使用多语言文件
Text(text = stringResource(id = R.string.welcome_title))
1.4、在ViewModel及其它文件中使用多语言文件
// context.getString()
// 根据自己的情况封装context
App.CONTEXT.getString(R.string.welcoome_title)
2、iOS App
2.1、iOS配置多语言
xcode项目默认是使用英语作为app语言的,下面新建一个中文的语言文件。
a、在PROJECT的Info标签页的Localizations里面点击+号新建
b、选择Chinese,Simplified简体中文
c、选择Strings File(Legacy)
d、选择文件位置,保存文件名为Localizable
e、打开新建的Localizable文件,点击步骤3的Localize...
f、选择要本地化的语言
g、点击Localize后是这样的
h、勾选新建的Chinese, Simplified
i、最终在Localizable下可以看到生成的中文和英文的语言文件
3、php(基于thinkphp)