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

バッジとグループをローカライズ(多言語化)するにはどうすればよいですか?セットアップ中に、バッジとグループのタイトルがテーマの言語に切り替わらないことに気づきました。バッジとグループをテーマの切り替えに従わせるにはどうすればよいですか?

「いいね!」 3

多言語サイト向けにカスタムバッジやグループをローカライズする機能はまだありません。現時点では、投稿、カテゴリ、タグのみをローカライズできます。

了解しました、ありがとうございます。しかし、このウェブサイト(meta.discourse.org)のバッジがテーマと同時に言語を切り替えるのはなぜですか?これは翻訳機能によるものですか?公式チームに、バッジ、グループ、タグの多言語カスタマイズ設定を追加することを提案します。そうしないと、多言語ユーザーはバッジ、グループ、タグの内容を理解できません。

「いいね!」 1

すべてのサイトには、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

「いいね!」 2

こんにちは!ご返信ありがとうございます!2番目の手順である「i18n key」の検索はどのように実現されているのでしょうか、i18n keyの場所が見つかりませんでした。

「見つける」というよりは、バッジに付ける名前から導き出すだけです(2番目のステップを「見つける」から「導き出す」に変更します)。

したがって、バッジ名に「Bug Finder」を使用する場合、キーは badges.bug_finder.name になります。

何らかの理由で、/admin/customize/site_textsで何を検索しても「No matching site texts found」と表示されます。原因をご存知でしょうか?