软件开发多语言实践,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)

 

 

文哥博客(https://wenge365.com)属于文野个人博客,欢迎浏览使用

联系方式:qq:52292959 邮箱:52292959@qq.com

备案号:粤ICP备18108585号 友情链接