JSON翻訳ツール:キーを壊さずにロケールファイルを翻訳
SmartcatはJSONを解析し、文字列値のみを翻訳して、一度定義した正規表現ルールによりプレースホルダーのトークンをタグとしてロックした状態で、まったく同じキーと同じネスト構造を持つファイルを280以上の言語で返します。
1,000社以上のエンタープライズブランドが、翻訳およびローカリゼーションのニーズにSmartcatを選んでいます
JSON翻訳ツールが保持すべきもの
JSON翻訳ツールは、ファイルの構造を変更することなく、JSONファイル内の人間が読める文字列を別の言語に変換します。Smartcatはロケールファイル内の文字列値を翻訳します。キー、数値、ブール値、ネスト構造はそのまま保持され、プレースホルダーのトークンは編集不可のタグとして保護されるため、翻訳されたファイルはそのままi18nパイプラインに復帰させることができます。
ファイル1件だけを、1回、無料で翻訳するだけですか?無料のJSON翻訳ツールをご利用ください。ブラウザ優先のフローを採用した、同じエンジンです。
280+
翻訳先言語
1つのen.jsonを入力し、de.json、ja.json、pt-BR.jsonを出力します。12個のファイルを手作業で管理する代わりに、en.jsonを信頼できる唯一の情報源として維持し、1つのプロジェクト内ですべての対象ロケールをそこから生成します。
103%
キーID TM一致
文字列はキーIDを保持するため、翻訳メモリはセグメントとそのキーを一致させることができます。これは、コンテキスト一致率が102%に制限されている通常のドキュメント形式では到達できないレベルの再利用性です。
6 GB
ドキュメントまたはプロジェクトファイルごと
公開されている上限はJSON固有のものではなく全体的なものであり、速度向上のために1GBを超えるものは小さく分割することが推奨されています。
一般的な翻訳ツールでJSONファイルが破損する理由
en.jsonを一般的な翻訳ツールに貼り付けると、ドキュメント全体が散文として処理されてしまいます。返ってきたものは、エディタ上では構文解析できるかもしれないし、できないかもしれないが、本番環境ではエラーになる。
キーが翻訳されてしまう — "checkout_button" が "bouton_de_paiement" になり、コード内のすべての検索が undefined を返すようになります。
プレースホルダーが破壊される — "Hello, {{userName}}" が "Bonjour, {{nomUtilisateur}}" として返され、変数が解決されなくなるため、文字列が生のトークンのままレンダリングされてしまいます。
複数形が崩壊する — {count, plural, one {# item} other {# items}} のようなICUメッセージは単一の文に平坦化され、英語以外のあらゆる言語において複数形の処理が静かに破綻します。
エスケープによる破損 — エスケープされた引用符、\n、および \uXXXX シーケンスが「親切にも」正規化され、diff では問題なさそうに見えたファイルが JSON.parse でエラーをスローします。
これらはどれもレビューに表示されません。それらは実行時に、ロケールごとに1つずつ表示されます。他の開発者向けフォーマットを使用していますか?Smartcatは同一ワークスペース内でgettext POファイルおよびXLIFFも解析し、1つの翻訳メモリと用語集を共有します。
1,000社以上のエンタープライズブランドから商品コンテンツで信頼されています
すべては呼び出すことから始まります
ローカリゼーションエンジニアとの1対1のセッションに、実際のロケールファイルを1つお持ち込みください。お持ちいただいた実際のファイルをもとに、XPath、プレースホルダーのルール、リリースサイクルについて詳細に確認します。縛りなし。
SmartcatでJSONファイルを翻訳する方法
1. ロケールファイルをアップロードしてください
en.json、または複数のロケールファイルを一度にアップロードしてください。
2. プレースホルダーのルールを定義する
「設定」の「プレースホルダー」タブで、コードベースで実際に使用されている各トークン形式に対応する正規表現を追加します。一致するものはすべて、ロックされた編集不可のタグとしてインポートされます。同様の仕組みがJSON、TJSON、PO、RESX、XLIFF、XML、PHP、CSVにも適用されます。
3. ターゲット言語の選択
1つのファイルを入力するだけで、280以上の選択肢からde.json、ja.json、pt-BR.jsonを出力します。
4. 重要なことを見直す
エディターを開いて、文字列の確認、用語集の用語の適用、または言語を人間の校閲者に割り当てる処理を行ってください。AIの下書きで十分な場合はスキップしてください。
5. JSONをダウンロード
同じキー、同じネスト構造、新しい言語。
6. またはプロジェクト全体を一度にエクスポートします
プロジェクトを選択して「ダウンロード」をクリックすると、すべてのファイルが元の形式のままフォルダごとに分類され、1つのZIPファイルとして取得できます。
チームが公開したJSON翻訳結果
2〜3日
書類の処理時間は、10から短縮されました
Smith+Nephewは、Smartcatの導入により翻訳の所要期間を10日から2~3日に短縮しました。
30%
その他の翻訳出力
ワンダーマン トンプソン(Wunderman Thompson)が、予算を増やすことなく品質を向上させながら、翻訳コンテンツ量を30%増加させた方法をご覧ください。
31時間
毎月節約される金額
Babbelは、マーケティング部門およびL&D(人材育成)部門全体で月に31時間を節約しています。
1つのソースファイルからすべてのロケールを出荷する
en.jsonをアップロードするだけで、他のすべての言語環境のファイルをダウンロードできます。キー、プレースホルダー、ネスト構造はそのまま保持され、リリース1で翻訳メモリが学習した内容のほぼすべてがリリース2で再利用されます。15日間無料、クレジットカードは不要です。
よくある質問
JSONファイルとは何ですか?
JSON(JavaScript Object Notation)ファイルは、構造化データの保存や交換に使用される、軽量でテキストベースのフォーマットです。人間にとっても機械にとっても読み書きが容易であるため、Webアプリケーションとサーバー間での情報共有に一般的に使用されています。JSONファイルは通常、キーと値のペアを使用し、文字列、数値、配列、オブジェクトなどのデータ型をサポートしています。
その出力は実際にパース(構文解析)できるのでしょうか?
構造が編集されることは決してなく、文字列値のみが編集されるため、妥当性は運ではなく構文解析モデルによって担保されます。Smartcatは構造とコンテンツを分離します。キー、数値、ブール値、null、ネスト構造はロックされ、文字列の値のみが翻訳可能なセグメントになります。
Smartcatはネストされたオブジェクトをどのように処理しますか?
ネストされたオブジェクト構造がサポートされており、その形状は保持されます。文字列はプロジェクト全体でキーIDを保持するため、翻訳メモリはテキストだけでなくキーでも一致させることができます。
ICU MessageFormatの複数形に対応していますか?
はい、両方向で可能です。Smartcatにおける複数形は、キーの追加時にすべての形式とともに各複数形が独自のセグメントとして作成されるネイティブ形式、またはICU MessageFormat構文のいずれかで存在できます。インポート時には、ICU構文を含むキーを個別のセグメントに解析するか、そのままの状態にしておくかを選択し、エクスポート時には、複数形がICU MessageFormat互換の文字列として書き戻されます。
前回のリリース以降に変更されたキーのみを翻訳することはできますか?
事実上、その通りです。変更されたファイルに対して現在のドキュメントを更新を使用します。これによりファイルが置き換えられ、既存のすべての翻訳作業が翻訳メモリから呼び戻されるため、新規および編集された文字列のみが実際の作業対象となります。これを利用する前に知っておくべき2つの注意点があります。アップデートを行うとそのドキュメントのタスク割り当てがすべて解除されるため、言語担当者を再割り当てする必要がある点、そして「アップデート」と「アップロード」のどちらを実行しても再翻訳のためにSmartwordが消費される点です。
どのJSONの規約がうまく機能しますか?
標準的なキー・バリュー形式のJSONとネストされたオブジェクトはどちらもサポート対象としてドキュメントに記載されており、LOCJSONとTJSONはそれぞれ独自のフォーマットとして個別にサポートされています。
ファイルサイズやファイル数に制限はありますか?
公開されている上限はJSON固有のものではなく全体的なものであり、ドキュメントまたはプロジェクトファイルあたり6 GBとなっています。また、処理速度向上のため、1 GBを超えるものは小さく分割することが推奨されています。文字列の個数に関する制限は文書化されていません。
1つのプロジェクトに含められるファイル数に上限はありません。数百ものロケールファイルの一括アップロードに対応しており、プランによって制限が変わることもありません。制約はファイル数ではなく、ファイルごとのサイズです。
JSON翻訳用のAPIはありますか?
はい、AnticipateプランおよびAutonomousプランで利用可能ですが、企業アカウントが必要です。フリーランスアカウントからはAPIを使用できず、無料トライアル中は有効化されません。
ファイルのアップロード、翻訳の取得を行い、通知コールバックによる非同期処理をサポートしています。すべてのメソッドで4リクエスト/秒のレート制限が共有されます。ドキュメント: developers.smartcat.com/api-guides/。
私のソースコンテンツは安全ですか?
SmartcatはSOC 2 Type IIに準拠しています。ファイルは転送時および保存時に暗号化され、ワークスペースは分離されており、アクセスはロールベースで行われます。詳細はセキュリティページをご覧ください。
JSONの機械翻訳において、不十分な点(課題)はどこにありますか?
機械翻訳はキー名からUIのコンテキストを推測することはできません。「Save」はボタン、割引、あるいは名詞である可能性があり、適切な翻訳はほとんどの言語で異なります。
およそ3単語未満の文字列の場合、AIによるドラフトはあくまで出発点にすぎません。リリース前に人間がスクリーンショットやコンテキストのメモと照らし合わせて確認できるようにするためにこそ、セグメントエディターが存在します。短いUI文字列のレビュー時間を確保し、長い説明文のレビューはスキップしてください。