バッジとグループをローカライズ(多言語化)するにはどうすればよいですか?

すべてのサイトには、Crowdin 経由で国際化 (i18n) されているシードバッジがいくつかあります。

カスタムバッジは、名前と説明をデータベースにプレーンテキストとして保存します。I18n.t (国際化機能) が badges.my_custom_badge.name のようなキーで呼び出された場合、一致する翻訳がないため、保存されているデータベースの値にフォールバックします。これにより、すべてのロケールで同じテキストが表示されます。

管理者がカスタムバッジキーの翻訳をロケールごとに手動で追加できる回避策があります。

サイトのテキストは、<your site>/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