徽章和群组如何本地化(多语言)?

每个站点上都有一些通过 Crowdin 进行国际化 (i18n) 的种子徽章。

自定义徽章将名称/描述作为纯文本存储在数据库中。当调用 I18n.t(国际化功能)并传入像 badges.my_custom_badge.name 这样的键时,没有匹配的翻译,因此它会回退到存储的数据库值——所有语言环境使用相同的文本。

有一个变通方法是管理员可以为自定义徽章键手动为每种语言环境添加翻译。

您可以在 \u003cyour site\u003e/admin/customize/site_texts 定制您的站点文本。


给您的具体步骤

  1. 创建徽章
  • 前往 /admin/badges → 新建徽章
  • 像往常一样设置名称、描述、图标等
  1. 查找 i18n 键
  • 键的模式是 badges.{snake_case_name}.name
  • snake_case_name 是小写的徽章名称,空格替换为下划线
  • 因此 “Pokémon Master” → badges.pokémon_master.name
  1. 添加翻译覆盖
  • 前往 /admin/customize/site_texts
  • 搜索 badges.pokémon_master
  • 您会看到如下键:
    • badges.pokémon_master.name
    • badges.pokémon_master.description
    • badges.pokémon_master.long_description
  • 切换到目标语言环境(例如 简体中文),点击该键,输入翻译后的文本
  1. 对每种语言环境重复
  • 在下拉菜单中切换语言环境,为每种需要的语言添加翻译
    • .name - 徽章标题
    • .description - 显示在徽章卡上的简短描述
    • .long_description - 显示在徽章详情页面的完整描述

english

japanese

4 个赞