メインコンテンツへスキップ

サポートされている言語

rosettaには、50言語に対応した構造化された設定ファイルであるLanguage Cardsが同梱されています。各カードには、レジスター(使用域)のプリセット、フォーマル度システムのメタデータ、メソッドのサポートフラグ、タイポグラフィのルール、および文字スクリプト情報が含まれています。LLMが認識している言語であれば、設定を1行追加するだけで任意の言語を追加できます。ここに挙げているのは、本番環境ですぐに使えるように調整されたレジスターを持つ言語です。


翻訳メソッド

各言語では、以下の翻訳メソッドを1つ以上使用できます。

アイコンメソッド仕組みコスト
🟢Google Translateニューラル機械翻訳のベースライン。130以上の言語に対応。キーと値の文字列のみ — Markdownコンテンツを安全に翻訳することはできません。100万文字あたり約20ドル
🔵LLM (OpenRouter)モデルが認識している任意の言語。レジスターで制御されたプロンプト。キーと値のペアおよびMarkdownコンテンツを処理します。モデルにより異なる
🟣LLM-CoachedLLM + 文法辞書 + プロンプトに注入されるコーチングデータ。形態論的に複雑な言語に最適です。モデルにより異なる
🟠API (Plugin)HTTP経由で提供される、コミュニティがホストする翻訳パイプライン。OCAP互換プロバイダーにより異なる

Google Translateの場合はGOOGLE_TRANSLATE_API_KEYを、LLMメソッドの場合はOPENROUTER_API_KEYを設定します。詳細については、翻訳メソッドを参照してください。


優先言語

これらは、Webおよびモバイルアプリケーションで最もよくリクエストされるロケールであり、rosettaが推奨するアクセシビリティ優先の順序でリストされています。

国旗言語コードGoogleLLMCoachedスクリプト備考
🇸🇦アラビア語arRTL(右から左)。現代標準アラビア語(فصحى)。
🇵🇭フィリピン語(タグリッシュ)tl / filDocusaurusの設定ではfilを使用します。rosettaは両方を解決します。
🇫🇷フランス語frVousフォーム。ジェンダーインクルーシブ(Connecté·e)。
🇪🇸スペイン語esニュートラルなラテンアメリカ・スペイン語。
🇩🇪ドイツ語deSieフォーム。ジェンダーインクルーシブ(Benutzer:innen)。
🇯🇵日本語ja本文は「です/ます」、UIラベルは「する」調。
🇨🇳中国語(簡体字)zh简体中文。
🇮🇹イタリア語itLeiフォーム。
🇧🇷ポルトガル語(ブラジル)ptブラジル・ポルトガル語。
🇰🇷韓国語ko해요체(ヘヨ体)の丁寧なレジスター。

主要な世界言語

国旗言語コードGoogleLLMCoachedスクリプト備考
🇧🇩ベンガル語bnশুদ্ধ ভাষা(標準語)を優先。
🇧🇬ブルガリア語bg
🇨🇿チェコ語csVykání(vyフォーム)。
🇩🇰デンマーク語da
🇬🇷ギリシャ語el現代のΔημοτική(デモティキ)。
🇮🇷ペルシア語faRTL(右から左)。
🇫🇮フィンランド語fi文法上の性別なし。
🇮🇱ヘブライ語heRTL(右から左)。
🇮🇳ヒンディー語hiशुद्ध हिन्दी(純粋なヒンディー語)。英語からの借用語を最小限に。
🇭🇺ハンガリー語huÖnフォーム。
🇮🇩インドネシア語id
🇲🇾マレー語ms
🇳🇱オランダ語nlUフォーム。
🇳🇴ノルウェー語nbブークモール。
🇵🇱ポーランド語plPan/Paniフォーム。
🇵🇹ポルトガル語(欧州)pt-PTヨーロッパ・ポルトガル語。
🇷🇴ルーマニア語ro
🇷🇺ロシア語ruВыフォーム。
🇸🇰スロバキア語skVykanie(vyフォーム)。
🇷🇸セルビア語sr🔤 ラテン文字→キリル文字決定論的スクリプトコンバーター。
🇸🇪スウェーデン語sv
🇰🇪スワヒリ語sw
🇹🇭タイ語thครับ/ค่ะ(丁寧語の助詞)。
🇹🇷トルコ語trSizフォーム。
🇺🇦ウクライナ語ukВиフォーム。
🇵🇰ウルドゥー語urRTL(右から左)。آپフォーム。
🇻🇳ベトナム語vi
🇹🇼中国語(繁体字)zh-TW繁體中文。
🇬🇪ジョージア語kaქართული。カルトヴェリ語族。
🇳🇬ヨルバ語yoÈdè Yorùbá。声調言語(3声調)。

地域のバリアント

国旗言語コードGoogleLLMCoachedスクリプト備考
🇲🇽メキシコ・スペイン語es-MXTúフォーム。温かみのあるレジスター。
🇨🇦カナダ・フランス語fr-CAケベック特有の慣用句。

先住民言語および低資源言語

これらの言語は商用の機械翻訳サービスではサポートされていません。rosettaは、言語コミュニティがOCAP原則に基づいて独自のメソッドを構築するためのツールを提供します。

言語コードGoogleLLMCoachedスクリプトステータス
🪶平原クリー語crk🔤 SRO→音節文字🚧 開発中
🌄ケチュア語quRunasimi。証拠性の接尾辞。

:::info 平原クリー語は現在開発中です 平原クリー語のレジスター、コーチングインフラストラクチャ、スクリプトコンバーター、および評価ハーネスはすべて機能していますが、翻訳パイプラインはまだリリースされていません。リリース前に品質を確保するため、OCAP原則に基づき言語コミュニティと協力しています。詳細や貢献の方法については、低資源言語のサポートをご覧ください。 :::

:::tip さらに低資源言語を追加する rosettaのメソッドプラグインシステムは、この目的のために設計されています。言語コミュニティはカスタムの翻訳メソッドを構築し、自身の管理下でホストして、APIメソッド経由で提供することができます。メソッドリーダーボードでは、あらゆる言語ペアのスコアを追跡しています。メソッドを構築し、ハーネスを実行して、トップスコアを獲得しましょう。 :::


人工言語

人工言語(Conlang)は、LLMのレジスターとオプションのスクリプトコンバーターを通じてサポートされています。これらは自然言語と同じインフラストラクチャを使用しており、品質ゲート、コーチングシステム、およびスクリプト変換パイプラインはまったく同じように機能します。

言語コードGoogleLLMスクリプト備考
🖖クリンゴン語tlh🔤 ローマ字→pIqaDPUAフォントが必要。マーク・オークランドの語彙。
🧝シンダリン(トールキンのエルフ語)x-elvish-s🔤 ラテン文字→テングワールCSUR PUAフォントが必要。
🏴‍☠️海賊英語x-pirateレジスターのみ。航海に関するメタファー。
🦸クリプトン語x-kryptonian🔤 ラテン文字→クリプトン文字PUAフォントが必要。
🎭シェイクスピア英語x-shakespeareレジスターのみ。Thee/thou、-eth/-estフォーム。
🐸ヨーダ語x-yodaレジスターのみ。OSV(目的語-主語-動詞)の語順。

PUAフォントの要件、Unicodeの制限、および独自の言語を追加する方法については、人工言語、スクリプト、正書法を参照してください。


言語プリセット

initウィザードは、迅速なセットアップのためにプリセット名をサポートしています。プリセットと個別のコードを混在させることができます。

プリセット展開結果
europeanfr, de, es, it, pt, nl
asianja, zh, ko
globalfr, es, de, ja, zh, ko, pt, ar
nordicda, 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-tuformal-vous
韓国語polite-haeyo, formal-hapsyo, casual-haepolite-haeyo
日本語polite, formal-keigo, casualpolite
ドイツ語formal-Sie, casual-duformal-Sie
タイ語neutral-professional, polite-male, polite-femaleneutral-professional
スペイン語neutral-professional, formal-usted, casual-tuteoneutral-professional

フィールドの検証やPRのチェックリストを含む完全な仕様については、Language Cardへの貢献を参照してください。


関連項目