i18n

大象笔记 > 标签 > i18n

Android i18n - 多语言版本

由于发现上架 Google Play 之后,中国区的 Android APP 无法显示 AdMob 广告,但是其他国家却非常正常。所以,我决定给 App 添加英文翻译,使其同时支持中文,和英文。 为文本添加翻译文件 鼠标放在待翻译的字符串上,按下 Alt + Enter 同样适用于 Jetpack Compose 组件。 不同语言对应的文本文件 例如: 中文:res/values-zh/strings.xml 法语:res/values-fr/strings.xml 日语:res/values-ja/strings.xml 默认文本 res/values/strings.xml And ...

阅读全文...

Spring Boot I18N 中文翻译乱码问题

在设置了 messages_zh.properties 翻译之后,使用请求路径 http://localhost:9090/emoji?lang=zh 发现,中文翻译显示为乱码。 在 application.properties 中配置了 spring.messages.encoding=UTF-8 依旧显示为乱码。 于是检查 messages_zh.properties 的文件编码,果然有问题,IDEA 默认是用 latin1 编码保存 properties 文件的。 修改配置之后,再次编辑 properties 文件,将其中的乱码更正为中文,再次保存。文件编码就变成了 utf-8 ...

阅读全文...

Spring Boot i18n 中英双语的多语言实现方案

为了练手 Spring Boot 写了个 Emoji 查询的小网站 https://www.paobujie.com/emoji 第一版实现了英文的,后来想干脆再加上中文翻译,于是就查了一下如何使用 Spring Boot 来实现 i18n,即国际化。不得不说 Spring 相关的文档真是差劲,基本没有说明白的,都是你抄我,我抄你。涉及到实现细节,没有一个讲的完整的。踩了不少坑,虽然功能实现了,但是还是有不少疑惑。 引入阶段 在英文版完成之后,再处理 i18n 的兼容逻辑。 路由规划 (废弃) 英文 首页 /emoji/en tag /emoji/tag/en/some-tag detail ...

阅读全文...

多语言软件 i18n 的手动实现流程,及痛点

手动 i18n 的流程,及痛点 基本功能实现 提取文本到默认语言的本地翻译 locale 文件。通常使用英语,但是如果主要群体是国内用户的话,我默认使用中文 翻译文件名使用 locale 命名。例如,zh, en 等。我这种个人开发做得比较粗糙,没有针对同一语言不同地区/国家做区分,例如,en_US,en_IN, zh_CN, zh_TW. 将默认翻译文件内容,复制到 Google 翻译网页版里,然后逐个语言翻译,并复制到对应的其他语言文件中。这个过程枯燥而繁琐 复制内容是 key value 格式的,需要将翻译后的 value 手动摘出来 Google 翻译选择语言的界面,要找到一门语言 ...

阅读全文...