为长毛象添加自定义语言

st 发布于 2021-09-19 721 次阅读


创建翻译文件

目前官方教程里头似乎没有详细步骤,能找到的只有这个比较老的文档,内容已经有一些过时了,所以还是记录一下过程吧。

复制以下文件并重命名至目标语言的代码:

app/javascript/mastodon/locales/en.json
app/javascript/mastodon/locales/whitelisht_en.json
config/locales/activerecord.en.yml
config/locales/devise.en.yml
config/locales/doorkeeper.en.yml
config/locales/simple_form.en.yml
config/locales/en.yml

对于.yml文件,修改第一行的语言代码以反映目标语言。

对于具体的翻译内容,在这些文件中修改即可。

配置日期及复数规则

\app\javascript\mastodon\locales\locale-data中,添加新语言对应的文件。具体可参照文件夹内ReadMe的说明修改。(似乎无效,这个位置的文件应该是新添加的语言代码前缀不在i18n中的时候才会被读取,例如en-XX就会直接用默认的en而不是这里的文件。)

config/locales/中添加一个新的.rb文件,内容为(对于中文类):

require 'rails_i18n/common_pluralizations/other'

::RailsI18n::Pluralization::Other.with_locale(:'xx')

添加语言并让配置生效

修改app/helpers/settings_helper.rb,添加目标语言与其在settings中显示的名称。

修改config/application.rb,添加目标语言。

修改app\javascript\styles\mastodon\variables.scss,添加目标语言。

全部修改完成后,precomile或者rebuild,重启服务即可。

2021年11月29日更新

最近有个更新略微改了文件结构,现在最后一步需要改的文件是app/helpers/languages_helper.rb