update: add detail about multi-language

master
hewro 7 years ago
parent 143704c517
commit a7cdeb681e
  1. 4
      comment.md
  2. 16
      common-problem.md
  3. 93
      i18n.md

@ -8,7 +8,9 @@
Q:为何需要关闭两个选项?</br>
A:关闭发垃圾保护,主题仍然会内置原本的反垃圾代码,只是为了适配pjax,调整了位置。</br></br>
A:关闭`防止垃圾保护`,主题仍然会内置原本的反垃圾代码,只是为了适配pjax,调整了位置。
`检查评论来源页 URL选项` 由于typecho此处可能会带来问题,最好也关闭此选项。</br></br>
Q:如何更好的防止垃圾评论?</br>

@ -1,24 +1,24 @@
#### 安装完主题后,页面错乱
## 安装完主题后,页面错乱
A:依次检查主题文件夹名称是否为`handsome`——是否已经安装并且启用主题必要的插件
#### 点击首页头像,显示404页面
## 点击首页头像,显示404页面
A:需要新建“时光机”独立页面,具体方法见[独立页面](/page)
#### 使用搜索功能,显示404页面
## 使用搜索功能,显示404页面
A:v3.1暂时需要开启伪静态,才能正常使用。v3.2会对此进行优化,请谅解。
#### 评论区不能斗图不能显示图片/说说不能显示图片
## 评论区不能斗图不能显示图片/说说不能显示图片
A:后台 `设置——评论——允许使用的HTML标签和属性` 里面添加html标签
```html
<img src="">
```
#### 评论区无法使用markdown语法
## 评论区无法使用markdown语法
A:后台 `设置——评论——在评论中使用Markdown语法(选中)`
后台 `设置——评论——允许使用的HTML标签和属性` 里面添加html标签
@ -27,7 +27,7 @@ A:后台 `设置——评论——在评论中使用Markdown语法(选中)`
```
#### 使用Aplayer播放器插件报错
## 使用Aplayer播放器插件报错
A:
在`自定义 JS`中添加这段js
@ -52,13 +52,13 @@ for(var i = 0; i < audios.length; i++) {if(audios[i]){audios[i].pause()}};
#### 启用主题后,无法评论
## 启用主题后,无法评论
A:别着急,放轻松。点一下这个链接:[#评论系统](/comment)
#### links插件无法启用,显示500错误
## links插件无法启用,显示500错误
A:links插件不是由我维护的,开发作者已经很久没有更新,很可能不能适用你的服务器上面(很可能没有正确的配置服务器)。如果有错误,请在typecho根目录下的`config.inc.php`里加入
```php

@ -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>
Loading…
Cancel
Save