本地化
(译者注:snake_case
是一种常见的命名法,他使用下划线来分割每个单词,比如 register_locales
,通常用在 C 语言或者 javascript 中。对应的还有一种 CamelCase,顾名思义就是驼峰命名法,一般使用在 Java 中,比如 RegisterLocales
)
你可以使用 Flarum 的本地管理器(locale manager)的 RegisterLocales
事件注册这些语言包。扩展框架默认注册以下语言包:
use Flarum\Events\RegisterLocales;
$event->addTranslations('en', __DIR__.'/../../locale/en.yml');
});
你需要从网站的 assets
目录里删除 forum-en-xxxx.js
文件,可以强制性重新编译本地的 JavaScript。
翻译会调用客户端的 app.trans()
方法:
app.trans('tags.edit_discussion_tags_title', {title: discussion.title()});
app.trans('tags.choose_primary_tags', {count: 7}); // 'Choose 7 primary tags'
您可以配置复式翻译系统的规则或者其他翻译器选项:通过给本地化管理器(locale manager)注册一个 JavaScript 配置文件:
use Flarum\Events\RegisterLocales;
$events->listen(RegisterLocales::class, function (RegisterLocales $event) {
});
Flarum 国际化语言包 https://github.com/justjavac/flarum-i18n-zh