|
|
|
@ -5,68 +5,79 @@ |
|
|
|
|
* 主题默认集成多语言文件(在主题的根目录的`lang`文件夹下) |
|
|
|
|
* 用户自定义语言文件(在主题的根目录`usr/lang`文件夹下) |
|
|
|
|
|
|
|
|
|
用户自定义语言文件优先级最高,**无需修改默认翻译文件**,只要修改`usr/lang`下的文件即可。 |
|
|
|
|
用户自定义语言文件优先级最高,**请勿修改默认翻译文件**(`lang/`目录下面的语言文件),只要修改`usr/lang`下的语言文件即可。 |
|
|
|
|
|
|
|
|
|
<p class="warn">通过修改相应的语言文件,可以更改主题里面**任何词组**和**时间格式**。在本文最后会举几个例子方便大家自行修改。</p> |
|
|
|
|
|
|
|
|
|
### 多语言文件命名规则 |
|
|
|
|
### 语言显示规则 |
|
|
|
|
|
|
|
|
|
一些常见语言的 Locale Code: |
|
|
|
|
``` |
|
|
|
|
zh_CN: Chinese-Simplified |
|
|
|
|
zh_HK: Chinese-Traditional, Hong Kong SAR China |
|
|
|
|
zh_TW: Chinese-Traditional, Taiwan |
|
|
|
|
en : English |
|
|
|
|
en_US: English-United States |
|
|
|
|
en_CA: English-Canada |
|
|
|
|
en_AU: English-Australia |
|
|
|
|
ja : Japanese |
|
|
|
|
ko : Korean |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
多语言文件命名规则:`Locale Code + .php`,如 `zh_CN.php`和`en.php` |
|
|
|
|
![](https://ws1.sinaimg.cn/large/006tNc79ly1fjhqfsjzg3j31kw084t9u.jpg) |
|
|
|
|
|
|
|
|
|
* `Auto` :自动根据用户浏览器的语言设置显示相应的语言文件。 |
|
|
|
|
|
|
|
|
|
### 修改用户自定义语言文件 |
|
|
|
|
* `简体中文` :显示顺序依次是:usr/lang/zh_CN.php —> lang/zh_CN.php,其他的语言文件(如zh_TW.php)则不会生效。其他语言设置同理。 |
|
|
|
|
|
|
|
|
|
主题默认集成了中文简体、中文繁体、英语三种语言设置。 |
|
|
|
|
### 修改主题默认翻译 |
|
|
|
|
|
|
|
|
|
通过修改`usr/lang`文件夹下对应的`en.php`,`zh_CN.php`,`zh_TW.php`,可以达到对主题默认翻译进行修改(**覆盖**) |
|
|
|
|
以语言设置中选择了使用**简体中文**为例 |
|
|
|
|
|
|
|
|
|
**比如:**文章页面的「浏览次数」默认显示为「200次浏览」,希望改成「200次小伙伴来过」 |
|
|
|
|
|
|
|
|
|
以用户语言包中的`en.php`为例。 |
|
|
|
|
在`usr/lang/zh_CN.php`修改如下: |
|
|
|
|
|
|
|
|
|
如主题默认将`首页`翻译成`Home`,`分类`翻译成`Categories`,而你想将翻译成`My Home`,`My Categories` |
|
|
|
|
```php |
|
|
|
|
/** |
|
|
|
|
* @return array 返回包含翻译文本的数组 |
|
|
|
|
*/ |
|
|
|
|
public function translated() { |
|
|
|
|
return array( |
|
|
|
|
'次浏览' => '次小伙伴来过' |
|
|
|
|
//添加翻译的词汇,每两组之间,用英文逗号隔开 |
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
请在`translated`的方法内添加返回的数组元素。 |
|
|
|
|
<p class="tip">注意,语言文件的翻译,是针对**已存在的词组**进行重新翻译,**而不是对任意汉字或不存在的词组翻译**。打开`lang/zh_TW.php` 可以看到所有可以翻译的词组。(目前所有翻译词组没有分类,有些凌乱,v4.0.0会进行整理)</p> |
|
|
|
|
|
|
|
|
|
即↓ |
|
|
|
|
**再比如:**文章顶部的「最后修改时间的时间格式」,默认为:「Y 年 m 月 d 日 h : i A」,想要修改为24进制时间 |
|
|
|
|
|
|
|
|
|
```php |
|
|
|
|
public function translated() { |
|
|
|
|
return array( |
|
|
|
|
//添加翻译的词汇,每两组之间,用英文逗号隔开 |
|
|
|
|
'首页' => 'My Home', |
|
|
|
|
'分类' => 'My Categories' |
|
|
|
|
在相应的语言文件的翻译函数里面增加: |
|
|
|
|
|
|
|
|
|
); |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
'Y 年 m 月 d 日 h : i A' => 'Y 年 m 月 d 日 G : i " |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
这样修改后,当语言设置选择了`English`或者选择了`Auto`且浏览器语言设置为英文,相应的中文会被自动翻译成你修改的词汇。 |
|
|
|
|
|
|
|
|
|
### 创建用户自定义语言文件 |
|
|
|
|
|
|
|
|
|
但是,你可能想**创建一份新的语言翻译**,比如日语。 |
|
|
|
|
修改其他语言同上所述,是完全一样的。 |
|
|
|
|
|
|
|
|
|
创建语言文件`ja.php` |
|
|
|
|
### 增加自定义语言文件 |
|
|
|
|
|
|
|
|
|
创建语言对应的类 |
|
|
|
|
主题默认集成了中文简体、中文繁体、英语三种语言设置。 |
|
|
|
|
|
|
|
|
|
类的命名规范为`Usr_Lang_ + Locale Code`,类必须继承自Lang类,然后在translated方法中实现自己的自定义词语。 |
|
|
|
|
首先需要了解**多语言文件的命名规则:** |
|
|
|
|
|
|
|
|
|
这里的类名称为`Usr_Lang_ja` |
|
|
|
|
**多语言文件名称 = `Locale Code + .php`**。如 `zh_CN.php`和`en.php` |
|
|
|
|
|
|
|
|
|
文件内容↓ |
|
|
|
|
一些常见语言的Local Code: |
|
|
|
|
|
|
|
|
|
``` |
|
|
|
|
zh_CN: 中文简体 |
|
|
|
|
zh_HK: 中文繁体,港澳 |
|
|
|
|
zh_TW: 中文繁体,台湾 |
|
|
|
|
en : 英语 |
|
|
|
|
en_US: 英语,美式 |
|
|
|
|
en_CA: 英语,加拿大 |
|
|
|
|
en_AU: 英语,澳洲 |
|
|
|
|
ja : 日语 |
|
|
|
|
ko : 韩语 |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
如果你想再增加一份新的语言文件,比如 日语 |
|
|
|
|
|
|
|
|
|
首先在`usr/lang`目录下创建语言文件:`ja.php` |
|
|
|
|
|
|
|
|
|
文件初始化内容如下: |
|
|
|
|
|
|
|
|
|
```php |
|
|
|
|
<?php |
|
|
|
@ -106,6 +117,8 @@ class Usr_Lang_ja extends Lang { |
|
|
|
|
} |
|
|
|
|
``` |
|
|
|
|
|
|
|
|
|
你需要知道,创建一份新的语言文件,需要对主题内的所有词汇进行翻译,这和上面的修改自定义语言文件完全不同。 |
|
|
|
|
在文件中的`translated`函数里面,按照格式填写翻译内容即可。 |
|
|
|
|
|
|
|
|
|
最后在后台语言设置中选择`日语`即可。 |
|
|
|
|
|
|
|
|
|
<p class="warn">自己创建的语言文件中,需要对所有的**已存在的词组进行翻译**,否则将默认返回简体中文默认的词组。这项工作量要远远大于修改主题默认翻译。</p> |