mirror of
https://github.com/csunny/DB-GPT.git
synced 2025-09-07 03:50:42 +00:00
136 lines
3.5 KiB
Markdown
136 lines
3.5 KiB
Markdown
# 国际化提交指南
|
||
|
||
为确保我们的项目在全球范围内保持高可用性和易于维护,每位开发者在提交代码之前都需要遵循以下国际化(i18n)
|
||
处理步骤。这不仅有助于保持我们代码库的国际化最新,也确保了所有用户不论使用何种语言都能获得一致的体验。
|
||
|
||
## 安装
|
||
|
||
开始之前,确保已经安装了必要的工具:
|
||
- make
|
||
- gettext
|
||
|
||
下面是安装`gettext`的一些方法:
|
||
|
||
### 对于Debian/Ubuntu及其衍生系统
|
||
|
||
打开终端,然后运行以下命令来安装gettext:
|
||
|
||
```bash
|
||
sudo apt update
|
||
sudo apt install gettext
|
||
```
|
||
|
||
### 对于Fedora、CentOS/RHEL
|
||
|
||
如果你使用的是Fedora、CentOS或RHEL系统,可以使用下面的命令安装gettext:
|
||
|
||
- 对于Fedora:
|
||
```bash
|
||
sudo dnf install gettext
|
||
```
|
||
|
||
- 对于CentOS/RHEL:
|
||
```bash
|
||
# CentOS/RHEL 7 和一些旧版本
|
||
sudo yum install gettext
|
||
# CentOS/RHEL 8 及更高版本
|
||
sudo dnf install gettext
|
||
```
|
||
|
||
### 对于Arch Linux
|
||
|
||
在Arch Linux及其衍生系统上,使用pacman包管理器安装gettext:
|
||
|
||
```bash
|
||
sudo pacman -Sy gettext
|
||
```
|
||
|
||
### 对于MacOS
|
||
|
||
如果你使用的是MacOS,可以通过Homebrew来安装gettext:
|
||
|
||
```bash
|
||
brew install gettext
|
||
```
|
||
|
||
### 安装完成后
|
||
|
||
安装完成后,你可以通过在终端运行`xgettext --version`来检查`xgettext`是否成功安装。
|
||
|
||
如果你依然遇到问题,可能需要检查你的PATH环境变量设置,确保gettext的安装目录已被添加到PATH中,或者尝试重新打开一个新的终端会话。
|
||
|
||
## 在提交前
|
||
|
||
请按照以下步骤更新和验证项目的国际化文件:
|
||
|
||
### 1. 更新 POT 文件
|
||
|
||
首先,确保 POT 文件包含了最新的可翻译字符串。
|
||
|
||
```bash
|
||
make pot
|
||
```
|
||
|
||
这将扫描源代码中的所有可翻译字符串,并更新 `locales/messages.pot` 文件。
|
||
|
||
### 2. 更新 PO 文件
|
||
|
||
然后,更新所有语言的 PO 文件,以包含任何新的或变更的字符串。
|
||
|
||
```bash
|
||
make po
|
||
```
|
||
|
||
如果有新增的可翻译字符串,该命令将自动将它们添加到 PO 文件中。
|
||
|
||
### 3. 翻译
|
||
|
||
请确保所有新增的字符串都已翻译。使用您偏好的 PO 文件编辑器(如 Poedit 或 Virtaal)进行翻译。
|
||
|
||
### 4. 编译 MO 文件
|
||
|
||
完成翻译后,编译 PO 文件以生成最新的 MO 文件。
|
||
|
||
```bash
|
||
make mo
|
||
```
|
||
|
||
这一步是必要的,因为我们决定将 MO 文件提交到 GitHub。
|
||
|
||
### 5. 测试
|
||
|
||
在提交前,请在应用中测试这些翻译以确保它们按预期工作,并且没有破坏任何功能。
|
||
|
||
### 6. 提交更改
|
||
|
||
在确保所有翻译都正确无误之后,将 POT、PO 和 MO 文件的更改提交到您的 Git 仓库。
|
||
|
||
```bash
|
||
git add locales/
|
||
git commit -m "Update translations"
|
||
```
|
||
|
||
## 注意事项
|
||
|
||
- 请勿忽略 MO 文件的提交,它们对于确保所有用户都能即时看到最新翻译至关重要。
|
||
- 如果您对国际化流程有任何疑问,或需要帮助进行翻译,请及时与项目维护者联系。
|
||
|
||
通过遵循这些步骤,我们可以保持项目的高度国际化,为全球用户提供无缝的体验。谢谢您的合作和贡献!
|
||
|
||
|
||
## 翻译工具
|
||
|
||
下述命令可以自动翻译.
|
||
```bash
|
||
python ./translate_util.py --lang zh_CN --modules app,core,model,rag,serve,storage,util
|
||
```
|
||
|
||
会根据语言、模块自动生成翻译文件,文件在 `locales/zh_CN/LC_MESSAGES/dbgpt_{module}_ai_translated.po`。
|
||
|
||
对自动生成的翻译文件进行校对,确保翻译质量,然后复制到对应模块中 po 文件中。
|
||
|
||
现在支持的语言:
|
||
- zh_CN
|
||
- fr
|
||
- ko
|
||
- ru |