文字列は、それだけでは意味が曖昧になりがちです。たとえば "Records" は、診療記録、音楽のレコード、データベースの行を指すことがあります。JSONCソースファイルでは、キーの上に書いたコメントがコンテキストとしてエンジンに送られるため、意図した意味で正しく翻訳できます。
jsonc
{
// Medical context: patient medical records
"records": "Records"
}コメントが出力に含まれることはありません。翻訳の方向付けに使われるだけです。
メモが使える場所#
翻訳メモは、JSONC(.jsonc)ソースファイルから読み取られます。files[] のエントリでそのファイルを指定してください。
json
{ "pattern": "content/en/app.jsonc" }JSON(.json)にはコメントを記述できないため、メモを持たせることはできません。メモを使いたい場合は、そのファイルにJSONCを使ってください。
旧CLIから移行してきた方へ。以前はXcode String Catalog(.xcstrings)からもメモを読み取っていました。現在のCLIではその形式はサポートされていないため、現時点でコンテキストを付けるにはJSONCコメントを使う必要があります。
役立つメモを書くコツ#
良いメモは、文字列そのものだけでは伝わらないコンテキストを補います。
jsonc
{
// Button in the checkout flow — keep it short
"checkout.pay": "Pay now",
// "Set" here means a collection, not the verb
"library.set": "Set",
// Formal tone — shown in the legal footer
"footer.terms": "Terms of Service"
}| メモ | 役立つ理由 |
|---|---|
// Appears in the top nav | 表示箇所や、どの程度簡潔であるべきかをエンジンに伝えられます |
// "Light" is the theme, not weight | 複数の意味を持つ語の解釈を明確にできます |
// Formal register | 期待するトーンを伝えられます |
文字列をただ言い換えているだけのメモ(// This says Welcome)は意味がありません。省きましょう。
メモとエンジン設定の違い#
翻訳メモは、ソース内の各文字列ごとに付けるものです。一方、ロケール全体に適用したいルール—用語、トーン、ブランドボイスなど—は、各キーに毎回メモを書くのではなく、エンジンに設定してください。そうすれば、どこでも一貫して適用されます。
