i18n-management/owner_README.md

79 lines
6.3 KiB
Markdown
Raw Normal View History

2024-05-21 16:21:46 +08:00
## openKylin i18n SIG 组 各项目Owner须知
### 概述
本文档用于帮助各组件owner参与到 openKylin 多语言模块相关工作,帮助社区用户了解 openKylin 多语言机制等。
### openKylin 多语言实现机制
首先简单了解 locales 包locales 包用于提供本地化Localization和国际化Internationalization的支持。它包含了用于翻译和本地化应用程序界面的语言和区域设置信息。系统中的 /etc/locale.gen 文件由该包提供。
/etc/locale.gen 文件用于配置系统支持的语言环境设置,包括启用和禁用不同的语言和区域设置。
openKylin 系统安装时会对该文件进行修改,补充对应多语言字段;而在安装完成系统后,如果需要安装新的语言包,也会对该文件进行修改,同样的,也是补充对应多语言字段。
在设置完语言环境后,系统会去固定目录中寻找组件、应用的翻译文件。首先会去 /usr/share/locale 寻找,如果应用程序找到了匹配用户首选语言的翻译文件,它将首先使用这些文件;如果在 /usr/share/locale 中没有找到匹配的翻译文件,应用程序将继续搜索 /usr/share/locale-langpack 目录;如果找不到匹配的翻译文件,应用程序将继续回退并尝试默认的语言文件。
在 openKylin 中,目前实现多语言首先是通过系统安装增加系统可支持语言环境变量以及默认安装系统语言,也就是修改 /etc/locale.gen 文件;控制面板会读取 /etc/locale.gen 并进行已有语言切换,无法进行安装,控制面板不会去修改 /etc/locale.gen 文件;新增语言都带有一个对应语言包来修改 /etc/locale.gen ,且这个语言包会带有部分基础组件多语言 ;最后通过组件/应用自带的翻译文件以及多语言软件包提供的翻译文件,支持系统多语言;
### 如何参与
首先请先注册 [gitee](https://gitee.com) 和 [weblate](https://weblate.openkylin.top/) 账户。
#### gitee
gitee 平台的使用这里就不再赘述。除了各组件各自项目仓库中有翻译文件存放,
#### weblate
首先先了解下 weblate 平台,地址 https://weblate.openkylin.top/projects/ weblate 是一个基于 Web、与版本控制紧密集成的翻译工具。它拥有简洁清爽的用户界面跨部件翻译同步、质量检查以及自动链接到源文件等功能。i18n-management项目中存在一个i18n.yaml文件该文件会记录当前以在weblate中创建部件对应openKylin中的项目。当记录在该文件中的项目的社区开发者上传或更新最新的翻译文件ts或者po通过提PR形式更新到各组件仓库中翻译就会自动同步到 weblate部件中同时在 weblate 上进行翻译添加、更改、校验等操作后也会自动同步到该文件对应openKylin仓库中。
#### 提交权限申请
在了解了职责权限与贡献方式后,需要根据你的情况进行项目权限申请。
- clone此项目并在i18n.yaml文件里增加内容以peony为例
```
- name:
- peony
- owner: larue
- branch: openkylin/nile
- weblate-project: peony-qt
- files: translations/peony-qt/peony-qt_*.ts
- weblate-project: peony-qt-desktop
- files: translations/peony-qt-desktop/peony-qt-desktop_*.ts
- weblate-project: libpeony-qt
- files: translations/libpeony-qt/libpeony-qt_*.ts
```
1. 文件中`package`字段之后每 `- name` 字段下的内容表示对应openkylin仓库名称
2. 文件中 `- name`字段之后 `owner` 字段表示该项目对应weblate中的负责人
3. 文件中 `- branch`字段表示当前`- name`中内容的项目对应的分支
4. 文件中 `- weblate-project`字段表示当前`- name`中内容的项目对应的weblate部件名称
5. 文件中 `- files`字段表示当前`weblate-project`中内容的部件对应的翻译文件地址
#### weblate使用
当项目开发者在完成对应的翻译文件上传并且进行了正确的设置后weblate 会有如下的项目界面显示:
![weblate界面示例](https://gitee.com/kylinos-i18n/language-packs/raw/master/img/3.png)
其次请确认自己是否有对应项目 weblate 中的权限,如果无法对对应 weblate 项目提交修改,请向 [i18n-management](https://gitee.com/openkylin/i18n-management) 提交 i18n SIG 相关 issue
以 ukui-clock 为例,在这里初步的语言种类是基于自己所传的各翻译文件的情况,以下为添加新语种翻译并自动翻译的步骤:
1. 点击下方的开始新翻译
2. 在搜索框中输入待添加语种
3. 点击开始新翻译等待加载,到达如下界面
![添加新语种翻译](https://gitee.com/kylinos-i18n/language-packs/raw/master/img/4.png)
4. 在如上界面后点击上方菜单的 工具->自动化翻译, 自动翻译模式选择为 "添加为翻译",搜算筛选器选择"未完成的字符串"(这里如果选择"所有字符串"的话自动化翻译会覆盖原翻译文件的所有翻译,尤其在翻译文件有更新的时候格外注意),自动翻译来源选择机器翻译,然后选择微软的翻译接口,点击应用。之后有如下进度条在界面上方,
![添加新语种翻译2](https://gitee.com/kylinos-i18n/language-packs/raw/master/img/5.png)
等待其完成会提示“自动翻译已完成xxx 个字符串已更新。”,有时候api会出现繁忙情况请稍作等待。
在机器翻译完之后,平台会反馈一些翻译有明显问题的翻译显示,红色标记的属于机器已经翻译但是可能存在问题的翻译,这一部分就需要手动处理。同样,也会存在部分字段翻译不准确的情况,这些也需要手动处理。点击‘所有字符串’可以逐个筛查错误翻译,也可以用到上方的搜索来帮助你快速定位字段,请注意每修改一个字段后请点击‘保存并继续’,不点击保存所有修改将会清除。
![字段检查示例](https://gitee.com/kylinos-i18n/language-packs/raw/master/img/6.png)
![字段检查示例](https://gitee.com/kylinos-i18n/language-packs/raw/master/img/7.png)
通过 weblate 平台更新生成新的翻译这就是一次对openkylin i18n SIG的贡献。以上就是 openKylin 多语言参与文档,欢迎各位社区小伙伴积极参与~