すべてのサイトには、Crowdin 経由で国際化 (i18n) されているシードバッジがいくつかあります。
カスタムバッジは、名前と説明をデータベースにプレーンテキストとして保存します。I18n.t (国際化機能) が badges.my_custom_badge.name のようなキーで呼び出された場合、一致する翻訳がないため、保存されているデータベースの値にフォールバックします。これにより、すべてのロケールで同じテキストが表示されます。
管理者がカスタムバッジキーの翻訳をロケールごとに手動で追加できる回避策があります。
サイトのテキストは、<your site>/admin/customize/site_texts でカスタマイズできます。
具体的な手順
- バッジを作成する
/admin/badges→ 新しいバッジ に移動します。- 通常どおり、名前、説明、アイコンなどを設定します。
- i18n キーを見つける
- キーのパターンは
badges.{snake_case_name}.nameです。 snake_case_nameは、バッジ名を小文字にし、スペースをアンダースコアに置き換えたものです。- 例:「Pokémon Master」 →
badges.pokémon_master.name
- 翻訳の上書きを追加する
/admin/customize/site_textsに移動します。badges.pokémon_masterを検索します。- 次のようなキーが表示されます。
badges.pokémon_master.namebadges.pokémon_master.descriptionbadges.pokémon_master.long_description
- 対象のロケール (例: 简体中文) に切り替え、キーをクリックして翻訳されたテキストを入力します。
- ロケールごとに繰り返す
- ドロップダウンでロケールを切り替え、必要な各言語の翻訳を追加します。
.name- バッジのタイトル.description- バッジカードに表示される短い説明.long_description- バッジの詳細ページに表示される完全な説明


