本地化

    (译者注:snake_case 是一种常见的命名法,他使用下划线来分割每个单词,比如 register_locales,通常用在 C 语言或者 javascript 中。对应的还有一种 CamelCase,顾名思义就是驼峰命名法,一般使用在 Java 中,比如 RegisterLocales

    你可以使用 Flarum 的本地管理器(locale manager)的 RegisterLocales 事件注册这些语言包。扩展框架默认注册以下语言包:

    1. use Flarum\Events\RegisterLocales;
    2. $event->addTranslations('en', __DIR__.'/../../locale/en.yml');
    3. });

    你需要从网站的 assets 目录里删除 forum-en-xxxx.js文件,可以强制性重新编译本地的 JavaScript。

    翻译会调用客户端的 app.trans() 方法:

    1. app.trans('tags.edit_discussion_tags_title', {title: discussion.title()});
    1. app.trans('tags.choose_primary_tags', {count: 7}); // 'Choose 7 primary tags'

    您可以配置复式翻译系统的规则或者其他翻译器选项:通过给本地化管理器(locale manager)注册一个 JavaScript 配置文件:

    1. use Flarum\Events\RegisterLocales;
    2. $events->listen(RegisterLocales::class, function (RegisterLocales $event) {
    3. });

    Flarum 国际化语言包 https://github.com/justjavac/flarum-i18n-zh