サポートされている言語
rosettaには、50言語に対応した構造化された設定ファイルであるLanguage Cardsが同梱されています。各カードには、レジスター(使用域)のプリセット、フォーマル度システムのメタデータ、メソッドのサポートフラグ、タイポグラフィのルール、および文字スクリプト情報が含まれています。LLMが認識している言語であれば、設定を1行追加するだけで任意の言語を追加できます。ここに挙げているのは、本番環境ですぐに使えるように調整されたレジスターを持つ言語です。
翻訳メソッド
各言語では、以下の翻訳メソッドを1つ以上使用できます。
| アイコン | メソッド | 仕組み | コスト |
|---|---|---|---|
| 🟢 | Google Translate | ニューラル機械翻訳のベースライン。130以上の言語に対応。キーと値の文字列のみ — Markdownコンテンツを安全に翻訳することはできません。 | 100万文字あたり約20ドル |
| 🔵 | LLM (OpenRouter) | モデルが認識している任意の言語。レジスターで制御されたプロンプト。キーと値のペアおよびMarkdownコンテンツを処理します。 | モデルにより異なる |
| 🟣 | LLM-Coached | LLM + 文法辞書 + プロンプトに注入されるコーチングデータ。形態論的に複雑な言語に最適です。 | モデルにより異なる |
| 🟠 | API (Plugin) | HTTP経由で提供される、コミュニティがホストする翻訳パイプライン。OCAP互換。 | プロバイダーにより異なる |
Google Translateの場合はGOOGLE_TRANSLATE_API_KEYを、LLMメソッドの場合はOPENROUTER_API_KEYを設定します。詳細については、翻訳メソッドを参照してください。
優先言語
これらは、Webおよびモバイルアプリケーションで最もよくリクエストされるロケールであり、rosettaが推奨するアクセシビリティ優先の順序でリストされています。
| 国旗 | 言語 | コード | LLM | Coached | スクリプト | 備考 | |
|---|---|---|---|---|---|---|---|
| 🇸🇦 | アラビア語 | ar | ✅ | ✅ | ✅ | — | RTL(右から左)。現代標準アラビア語(فصحى)。 |
| 🇵🇭 | フィリピン語(タグリッシュ) | tl / fil | ✅ | ✅ | ✅ | — | Docusaurusの設定ではfilを使用します。rosettaは両方を解決します。 |
| 🇫🇷 | フランス語 | fr | ✅ | ✅ | ✅ | — | Vousフォーム。ジェンダーインクルーシブ(Connecté·e)。 |
| 🇪🇸 | スペイン語 | es | ✅ | ✅ | ✅ | — | ニュートラルなラテンアメリカ・スペイン語。 |
| 🇩🇪 | ドイツ語 | de | ✅ | ✅ | ✅ | — | Sieフォーム。ジェンダーインクルーシブ(Benutzer:innen)。 |
| 🇯🇵 | 日本語 | ja | ✅ | ✅ | ✅ | — | 本文は「です/ます」、UIラベルは「する」調。 |
| 🇨🇳 | 中国語(簡体字) | zh | ✅ | ✅ | ✅ | — | 简体中文。 |
| 🇮🇹 | イタリア語 | it | ✅ | ✅ | ✅ | — | Leiフォーム。 |
| 🇧🇷 | ポルトガル語(ブラジル) | pt | ✅ | ✅ | ✅ | — | ブラジル・ポルトガル語。 |
| 🇰🇷 | 韓国語 | ko | ✅ | ✅ | ✅ | — | 해요체(ヘヨ体)の丁寧なレジスター。 |
主要な世界言語
| 国旗 | 言語 | コード | LLM | Coached | スクリプト | 備考 | |
|---|---|---|---|---|---|---|---|
| 🇧🇩 | ベンガル語 | bn | ✅ | ✅ | ✅ | — | শুদ্ধ ভাষা(標準語)を優先。 |
| 🇧🇬 | ブルガリア語 | bg | ✅ | ✅ | ✅ | — | |
| 🇨🇿 | チェコ語 | cs | ✅ | ✅ | ✅ | — | Vykání(vyフォーム)。 |
| 🇩🇰 | デンマーク語 | da | ✅ | ✅ | ✅ | — | |
| 🇬🇷 | ギリシャ語 | el | ✅ | ✅ | ✅ | — | 現代のΔημοτική(デモティキ)。 |
| 🇮🇷 | ペルシア語 | fa | ✅ | ✅ | ✅ | — | RTL(右から左)。 |
| 🇫🇮 | フィンランド語 | fi | ✅ | ✅ | ✅ | — | 文法上の性別なし。 |
| 🇮🇱 | ヘブライ語 | he | ✅ | ✅ | ✅ | — | RTL(右から左)。 |
| 🇮🇳 | ヒンディー語 | hi | ✅ | ✅ | ✅ | — | शुद्ध हिन्दी(純粋なヒンディー語)。英語からの借用語を最小限に。 |
| 🇭🇺 | ハンガリー語 | hu | ✅ | ✅ | ✅ | — | Önフォーム。 |
| 🇮🇩 | インドネシア語 | id | ✅ | ✅ | ✅ | — | |
| 🇲🇾 | マレー語 | ms | ✅ | ✅ | ✅ | — | |
| 🇳🇱 | オランダ語 | nl | ✅ | ✅ | ✅ | — | Uフォーム。 |
| 🇳🇴 | ノルウェー語 | nb | ✅ | ✅ | ✅ | — | ブークモール。 |
| 🇵🇱 | ポーランド語 | pl | ✅ | ✅ | ✅ | — | Pan/Paniフォーム。 |
| 🇵🇹 | ポルトガル語(欧州) | pt-PT | ✅ | ✅ | ✅ | — | ヨーロッパ・ポルトガル語。 |
| 🇷🇴 | ルーマニア語 | ro | ✅ | ✅ | ✅ | — | |
| 🇷🇺 | ロシア語 | ru | ✅ | ✅ | ✅ | — | Выフォーム。 |
| 🇸🇰 | スロバキア語 | sk | ✅ | ✅ | ✅ | — | Vykanie(vyフォーム)。 |
| 🇷🇸 | セルビア語 | sr | ✅ | ✅ | ✅ | 🔤 ラテン文字→キリル文字 | 決定論的スクリプトコンバーター。 |
| 🇸🇪 | スウェーデン語 | sv | ✅ | ✅ | ✅ | — | |
| 🇰🇪 | スワヒリ語 | sw | ✅ | ✅ | ✅ | — | |
| 🇹🇭 | タイ語 | th | ✅ | ✅ | ✅ | — | ครับ/ค่ะ(丁寧語の助詞)。 |
| 🇹🇷 | トルコ語 | tr | ✅ | ✅ | ✅ | — | Sizフォーム。 |
| 🇺🇦 | ウクライナ語 | uk | ✅ | ✅ | ✅ | — | Виフォーム。 |
| 🇵🇰 | ウルドゥー語 | ur | ✅ | ✅ | ✅ | — | RTL(右から左)。آپフォーム。 |
| 🇻🇳 | ベトナム語 | vi | ✅ | ✅ | ✅ | — | |
| 🇹🇼 | 中国語(繁体字) | zh-TW | ✅ | ✅ | ✅ | — | 繁體中文。 |
| 🇬🇪 | ジョージア語 | ka | ✅ | ✅ | — | — | ქართული。カルトヴェリ語族。 |
| 🇳🇬 | ヨルバ語 | yo | ✅ | ✅ | — | — | Èdè Yorùbá。声調言語(3声調)。 |
地域のバリアント
| 国旗 | 言語 | コード | LLM | Coached | スクリプト | 備考 | |
|---|---|---|---|---|---|---|---|
| 🇲🇽 | メキシコ・スペイン語 | es-MX | ✅ | ✅ | ✅ | — | Túフォーム。温かみのあるレジスター。 |
| 🇨🇦 | カナダ・フランス語 | fr-CA | ✅ | ✅ | ✅ | — | ケベック特有の慣用句。 |
先住民言語および低資源言語
これらの言語は商用の機械翻訳サービスではサポートされていません。rosettaは、言語コミュニティがOCAP原則に基づいて独自のメソッドを構築するためのツールを提供します。
| 言語 | コード | LLM | Coached | スクリプト | ステータス | ||
|---|---|---|---|---|---|---|---|
| 🪶 | 平原クリー語 | crk | ❌ | ✅ | ✅ | 🔤 SRO→音節文字 | 🚧 開発中 |
| 🌄 | ケチュア語 | qu | ✅ | ✅ | — | — | Runasimi。証拠性の接尾辞。 |
:::info 平原クリー語は現在開発中です 平原クリー語のレジスター、コーチングインフラストラクチャ、スクリプトコンバーター、および評価ハーネスはすべて機能していますが、翻訳パイプラインはまだリリースされていません。リリース前に品質を確保するため、OCAP原則に基づき言語コミュニティと協力しています。詳細や貢献の方法については、低資源言語のサポートをご覧ください。 :::
:::tip さらに低資源言語を追加する rosettaのメソッドプラグインシステムは、この目的のために設計されています。言語コミュニティはカスタムの翻訳メソッドを構築し、自身の管理下でホストして、APIメソッド経由で提供することができます。メソッドリーダーボードでは、あらゆる言語ペアのスコアを追跡しています。メソッドを構築し、ハーネスを実行して、トップスコアを獲得しましょう。 :::
人工言語
人工言語(Conlang)は、LLMのレジスターとオプションのスクリプトコンバーターを通じてサポートされています。これらは自然言語と同じインフラストラクチャを使用しており、品質ゲート、コーチングシステム、およびスクリプト変換パイプラインはまったく同じように機能します。
| 言語 | コード | LLM | スクリプト | 備考 | ||
|---|---|---|---|---|---|---|
| 🖖 | クリンゴン語 | tlh | ❌ | ✅ | 🔤 ローマ字→pIqaD | PUAフォントが必要。マーク・オークランドの語彙。 |
| 🧝 | シンダリン(トールキンのエルフ語) | x-elvish-s | ❌ | ✅ | 🔤 ラテン文字→テングワール | CSUR PUAフォントが必要。 |
| 🏴☠️ | 海賊英語 | x-pirate | ❌ | ✅ | — | レジスターのみ。航海に関するメタファー。 |
| 🦸 | クリプトン語 | x-kryptonian | ❌ | ✅ | 🔤 ラテン文字→クリプトン文字 | PUAフォントが必要。 |
| 🎭 | シェイクスピア英語 | x-shakespeare | ❌ | ✅ | — | レジスターのみ。Thee/thou、-eth/-estフォーム。 |
| 🐸 | ヨーダ語 | x-yoda | ❌ | ✅ | — | レジスターのみ。OSV(目的語-主語-動詞)の語順。 |
PUAフォントの要件、Unicodeの制限、および独自の言語を追加する方法については、人工言語、スクリプト、正書法を参照してください。
言語プリセット
initウィザードは、迅速なセットアップのためにプリセット名をサポートしています。プリセットと個別のコードを混在させることができます。
| プリセット | 展開結果 |
|---|---|
european | fr, de, es, it, pt, nl |
asian | ja, zh, ko |
global | fr, es, de, ja, zh, ko, pt, ar |
nordic | da, fi, nb, sv |
# Mix presets with individual codes
i18n-rosetta init
# → Target languages: european, ja
# → Resolves to: fr, de, es, it, pt, nl, ja
任意の言語の追加
rosettaはLLMが認識している任意の言語に翻訳できます。上の表は、組み込みのレジスタープリセットを持つ言語をリストしているにすぎません。リストにない言語を追加するには、設定にそのBCP-47コードを含めます。
{
"languages": {
"sw": {},
"am": {
"register": "Formal Amharic. Professional register with Geʽez script."
}
}
}
LLMは、その言語に関するトレーニング知識を使用して翻訳します。registerを設定することで、トーン、フォーマル度、および正書法の規則を制御できます。詳細については、設定を参照してください。
Language Cards
組み込みの各言語にはLanguage Cardsがあります。これは、パフォーマンスのために2つの層(ティア)に分割された構造化JSON設定です。
2層アーキテクチャ
| ティア | ディレクトリ | 読み込みタイミング | 目的 |
|---|---|---|---|
| ランタイム (Runtime) | lib/data/language-cards/ | import 時に即時読み込み | 翻訳エンジン:レジスター、フォーマル度、ルール、メソッドサポート |
| リファレンス (Reference) | lib/data/language-reference/ | 必要に応じて遅延読み込み | 開発者向けドキュメント:言語学的な課題、百科事典的データ、NLPリソース |
ランタイムティアは小規模(1カードあたり約2KB)に保たれているため、rosettaをインポートしても数メガバイトのドキュメントデータが読み込まれることはありません。リファレンスティアは、ツール、Webサイト、および評価ハーネス向けにgetLanguageReference(code)経由で利用できます。
ランタイムカードのフィールド
| フィールド | 内容 |
|---|---|
nativeName | エンドニム(自称) — その言語自身の文字による言語名(例:ქართული、Runasimi) |
| フォーマル度システム (Formality system) | T-V区分、スピーチレベル、敬語、助詞など |
| レジスタープリセット (Register presets) | その言語の特性に合わせた名前付きのLLMプロンプトプリセット |
| メソッドサポート (Method support) | どの翻訳APIがこの言語をサポートしているか |
| ジェンダーガイダンス (Gender guidance) | 文法上の性のルールとインクルーシブな記述のヒント |
| スクリプト/方向 (Script/direction) | ISO 15924のスクリプトコードとRTL/LTR |
| ルール (Rules) | タイポグラフィ(引用符、スペース)、大文字化、複数形のカテゴリ |
| 評価データセット (Eval datasets) | どのベンチマークがこの言語をカバーしているか |
glottocode | 相互参照用の正規Glottolog識別子 |
humanReviewed | カードが話者によってレビューされたかどうか |
リファレンスカードのフィールド
| フィールド | 内容 |
|---|---|
| 言語学的な課題 (Linguistic challenges) | 機械翻訳特有の落とし穴(例:証拠性、声調記号、膠着性) |
| 百科事典的データ (Encyclopedic) | 語族、分類、話者数、地域 |
| リソース (Resources) | NLPツール、対訳コーパス、事前学習済みモデル |
新しいLanguage Cardのスキャフォールディング
ジェネレーターを使用して、信頼できるデータソース(IANA、CLDR、Glottolog)から両方のティアの雛形(スキャフォールド)を作成します。
# Preview what would be generated
node scripts/generate-language-card.mjs sw --dry-run
# Generate both runtime + reference cards
node scripts/generate-language-card.mjs sw
ジェネレーターはメタデータ(コード、スクリプト、方向、複数形、引用符、メソッドサポート、語族)を自動入力し、言語学的な判断が必要なフィールドを人間のキュレーション用にTODOとしてマークします。
プリセットキーの使用
レジスターのテキストをすべて記述する代わりに、プリセットのキー名を使用できます。
{
"languages": {
"fr": "casual-tu",
"ko": "formal-hapsyo",
"ja": "polite"
}
}
rosettaは、キーを完全なレジスタープロンプトに解決します。各言語で利用可能なプリセットを確認するには、npx i18n-rosetta initを実行してください。
プリセットの例
| 言語 | プリセット | デフォルト |
|---|---|---|
| フランス語 | formal-vous, casual-tu | formal-vous |
| 韓国語 | polite-haeyo, formal-hapsyo, casual-hae | polite-haeyo |
| 日本語 | polite, formal-keigo, casual | polite |
| ドイツ語 | formal-Sie, casual-du | formal-Sie |
| タイ語 | neutral-professional, polite-male, polite-female | neutral-professional |
| スペイン語 | neutral-professional, formal-usted, casual-tuteo | neutral-professional |
フィールドの検証やPRのチェックリストを含む完全な仕様については、Language Cardへの貢献を参照してください。
関連項目
- 設定 — 言語のセットアップを含む完全な設定リファレンス
- 翻訳メソッド — 各メソッドの仕組み
- スクリプトコンバーター — 決定論的なスクリプト変換パイプライン
- 人工言語、スクリプト、正書法 — PUAフォント、Unicode、人工言語の追加
- 低資源言語のサポート — 十分なサービスを受けていない言語のためのメソッド構築