Skip to content
This repository has been archived by the owner on Jan 11, 2020. It is now read-only.

添加其他语言 [i18n]

621sama edited this page Feb 22, 2018 · 1 revision

Blessing Skin 的所有语言文件都位于 resources/lang 目录下,其中子文件夹的名称为该种语言的唯一标识符。目前 Blessing Skin 支持简体中文(zh_CN)和英文(en)两种语言。

➜  lang git:(master)$ tree
.
├── en
│   ├── admin.yml
│   ├── auth.yml
│   ├── errors.yml
│   ├── general.yml
│   ├── index.yml
│   ├── locale.js
│   ├── options.yml
│   ├── setup.yml
│   ├── skinlib.yml
│   ├── user.yml
│   └── validation.yml
└── zh_CN
    ├── admin.yml
    ├── auth.yml
    ├── errors.yml
    ├── general.yml
    ├── index.yml
    ├── locale.js
    ├── options.yml
    ├── setup.yml
    ├── skinlib.yml
    ├── user.yml
    └── validation.yml

如果想要添加一种自定义的语言,只需复制一份 en 或者 zh_CN 文件夹,将其名称改为该种语言的语言代码即可(遵循 ISO 639 或者 RFC 4646 规范),譬如「日语 - ja」。

接下来,请打开 config/locales.php 文件,其默认内容如下:

<?php

return [
    'zh_CN' => [
        'name' => '中文 (简体)',
        'short_name' => 'ZH (CN)',
    ],
    'zh_HANS_CN' => [
        // 这个别名的意思就是当语言为 zh_HANS_CN 就当成 zh_CN 看待
        'alias' => 'zh_CN',
    ],
    'en' => [
        'name' => 'English',
        'short_name' => 'EN',
    ],
    'en_US' => [
        'alias' => 'en',
    ],
];

这是一个以 语言代码(对应为 resources/lang 下子文件夹的名字)为主键,以含有 nameshort_name 键值对的字典为值的字典。其中,name 为该语言的本地化名称(如「中文 (简体)」、「日本語」等),而 short_name 应该是由英文字母组成的所有人都能看懂的语言名称简写(如 ZH (CN)JP)。

举个栗子,如果你想要把 Blessing Skin 翻译成日文,只需在 config/locales.php 中添加对日文的定义:

return [
    'jp' => [
        'name' => '日本語',
        'short_name' => 'JP',
    ],
    ......
];

然后复制一份 resources/lang/en 文件夹并重命名为 jp,然后将该文件夹内所有文件中的语言字符串翻译为日文即可。

最终效果:

Snipaste_2018-02-22_11-16-04.png

同样的,你也可以用这种方法修改其他语言的翻译字符串。

Clone this wiki locally