erg/doc/zh_CN/dev_guide/i18n_messages.md
Shunsuke Shibayama a76da9feb2 Update dev guide
2023-01-28 19:44:51 +09:00

57 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 多语言错误信息
[![badge](https://img.shields.io/endpoint.svg?url=https%3A%2F%2Fgezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com%2Fdefault%2Fsource_up_to_date%3Fowner%3Derg-lang%26repos%3Derg%26ref%3Dmain%26path%3Ddoc/EN/dev_guide/i18n_messages.md%26commit_hash%3Dd15cbbf7b33df0f78a575cff9679d84c36ea3ab1)](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1)
Erg 正在推动消息(开始、选项、文档、提示、警告、错误消息等)的多语言化。如果你不熟悉 Rust 或 Erg也可以参与此项目。请务必配合
以下是多语种方法的说明
## 查找`switch_lang!`
在 Erg 源代码中找到(使用 grep 或编辑器的搜索功能)。我们应该能找到下面这样的东西
```rust
switch_lang!(
"japanese" => format!("この機能({name})はまだ正式に提供されていません"),
"english" => format!("this feature({name}) is not implemented yet"),
),
```
此消息目前仅支持日语和英语。让我们尝试添加简体消息
## 添加消息
请在查看其他语言内容的同时添加翻译消息。最后不要忘记逗号(,)
```rust
switch_lang!(
"japanese" => format!("この機能({name})はまだ正式に提供されていません"),
"simplified_chinese" => format!("该功能({name})还没有正式提供"),
"english" => format!("this feature({name}) is not implemented yet"),
),
```
另外,英语是默认设置,一定要排在最后
`{name}`部分是 Rust 的格式化功能,允许你将变量的内容(`name`)嵌入到字符串中
## 构建
现在,我们使用选项构建它
<img src="https://raw.githubusercontent.com/erg-lang/erg/main/assets/screenshot_i18n_messages.png" alt='screenshot_i18n_messages'>
你做到了!
## FAQ
Q: 像这样的指定是什么意思?A: {RED} 及更高版本将显示为红色。重新启动交互渲染
Q: 如果想添加自己的语言,该如何替换部分?答: 目前支持以下语言
* "english"(默认设置)
* "japanese" (日语)
* "simplified_chinese" (简体中文)
* "traditional_chinese" (繁体中文)
如果你想添加其他语言,请提出请求。