プロジェクトにファイルをアップロードすると、新しいリソースがそのファイルから抽出され、プロジェクトに保存されます。アップロードされたファイルの形式は、プロジェクトの初期設定形式である必要はありません。リソースをグループ化するためのタグが提供されている場合、新しいキーにはそれらのタグが適用されます。
Gettextなどの一部の形式は、コメント、説明、または複数形に関する情報など、追加の貴重なメタ情報を提供します。この情報は可能な限り抽出され、割り当てられたリソースと共に保存され、ローカリゼーションファイルに提供されたすべての貴重な情報が今後の使用のために保存されます。
ファイルをアップロードするためのいくつかの方法があります:
-
デフォルトでは、新しいコンテンツのみが抽出され、ローカリゼーションプロジェクト内の既存のキーは削除または更新されません。ファイルをアップロードしてもデータが失われることはありません。既存のデータを上書きする必要がある場合は、オプションを選択して、ローカリゼーションファイルのコンテンツでプロジェクトリソースを置き換えます。既存の翻訳は、アップロードされたローカリゼーションファイルの内容で上書きされます。
このオプションはAPIでも利用可能です。
備考
データ損失を防ぐために、変更を加える前にPhraseからローカリゼーションファイルに最新の変更がダウンロードされていることを確認し、オプションで再度アップロードします。
-
アップロードされた翻訳キー名の前に追加するための一意の識別子(例:ファイルパス)を入力してください。プロジェクトまたはファイルに関連する意味のあるプレフィックスを使用して、キー名を整理してください。
例えば、プレフィックス
project_を持つインポートされたキーhello_worldは、キーproject_hello_worldになります。翻訳キーのプレフィックスは、異なるプロジェクトやファイル間での衝突を避けるために、既存のキーと一致するようにします。
このオプションは、APIおよびCLIインターフェースでも利用可能です。
-
新しいキーを追加し、アップロードされたファイルの内容で既存のキーを上書きします。
-
プロジェクトのデフォルト言語における既存のソーステキストがアップロードされた多言語ファイルのソーステキストと一致する場合のみ、ターゲット翻訳を更新します。
-
アップロードされたファイルからキーのすべての説明を更新する必要がある場合は、このオプションを選択してください。空の説明は既存のものを上書きします。説明には翻訳者のための追加情報を含めることができ、エディタ内の個々のキーを特定するのに役立ちます。
-
翻訳を整理するために、意味のあるラベルを持つ複数のタグをキーに追加してください。新しいキーが自動的にアップロードタグでタグ付けされるのを防ぐために、このオプションを選択してください。
-
アップロード時に新しいキーと更新された翻訳のキーに自動的にタグを付けるために、このオプションを選択してください。これにより、新しい、更新された、古い翻訳文字列を区別し、関連するキーのみがさらに処理されることが保証されます。
このオプションはAPIでも利用可能です。
-
ファイルのエンコーディング(例:UTF-8)を指定するか、自動的に選択されるようにします(自動選択されたエンコーディングは不正確なエンコーディングを引き起こす可能性があり、アップロードを元に戻すことでロールバックできます)。
-
-
は、翻訳を更新する際に非主要言語の翻訳を再度検証する必要を防ぎます。
-
は、すべてのアップロードされた翻訳をレビュー済みとして扱います。このオプションは、高度なレビュー ワークフローが有効になっているときに利用可能です。これは、キーが本番環境に送信する準備ができていることを示します。
-
は、すべてのアップロードされた翻訳を検証済みとして扱います。
-
Stringsにファイルをアップロードするには、次の手順に従います:
-
アップロードの前に、ファイルがタイプに基づいて正しくフォーマットされていることを確認してください。
-
プロジェクトから、ファイルをアップロードをメニューから選択します。
ページが開きます。
-
ファイルを選択をクリックし、ディレクトリからファイルを選択します。
選択したファイルがフィールドに追加されます。
-
ファイルのを選択します。
提案された形式は、ファイルタイプに基づいて最初に表示されます。
-
ドロップダウンリストからファイルコンテンツの言語を選択します。
この情報がファイル自体に含まれていない場合は、コンテンツの新しい言語を作成するか、既存のものを使用します。
-
新しいキーに割り当てるタグやその他のオプションを任意で提供します。
-
保存をクリックします。
コンテンツはインポートされ、キーに変換されます。
-
アップロードに失敗しました
ファイルが正しく処理できなかった場合、エラーの詳細が提供され、エラーの軽減に役立ちます。
-
アップロード成功
翻訳ファイルの処理が成功した後、アップロードの概要を示すサマリーページが表示され、次のステップへのリンクボタンが提供されます。アップロードタグをクリックして、エディタでファイルを開きます。
-
キーを削除中
ローカライズファイルからキーを削除して再アップロードする際に、誤ってキーが削除されないように、これらのキーは自動的に削除されません。
これらのキーを削除するには、次の手順に従ってください:
未言及のキーは、現在のアップロードに含まれていないが、プロジェクトにまだ存在するキーです。それらを削除することで、アップロードされたファイルに含まれていないすべてのキーと関連する翻訳がプロジェクトから削除されます。
-
アップロードを元に戻す
すべてのアップロードは複数のアクションを引き起こし、プロジェクト内の多くのデータを変更する可能性があり、アップロードを取り消すことはできません。
アップロードされたファイルによって(誤って)導入されたキーを削除するには、次の手順に従ってください:
そのアップロードによって作成されたすべてのキーと関連する翻訳が削除されます。アップロード前に存在していたキーの翻訳は削除されません。個別の翻訳を削除するには、各翻訳のバージョン履歴を使用してください。
言語ファイルは、プロジェクトからいつでも任意のサポートされているファイル形式にエクスポートできます。
ファイルは、アプリケーションから、APIを介して、またはCLIを介してエクスポートできます。
ファイルは、任意のプロジェクトのタブから選択してダウンロードをクリックすることでダウンロードできます(複数のファイル)または言語のその他のオプション /ダウンロードボタンをクリックします。
ダウンロードオプションは、ウィンドウでファイルをダウンロードする際に、、、およびのタブが表示されます。
異なるを選択すると、異なるオプションが表示されます。詳細については、特定のファイル形式に関する関連する記事を参照してください。
オプションで、タブのフィールドを使用してカスタムエクスポートファイル名を指定するか、空白のままにしてシステム定義の名前を生成します。
-
ファイルアップロード時に翻訳キーのプレフィックスが追加された場合、タブでこのオプションを選択してエクスポートされた翻訳キーの名前からプレフィックスを削除します。
-
すべてのキーをダウンロードするためのプレフィックスを入力し、可能な場合は指定されたプレフィックスを削除します。
重要
プレフィックスが削除された後、他のキーが同じ名前を共有する場合、重複したキー名が作成される可能性があります。
-
必要に応じて、を選択して、指定されたプレフィックスを含む翻訳キーのみをダウンロードし、ダウンロードしたファイルからプレフィックスを削除します。
このオプションはAPIおよびCLIインターフェースでも利用可能です。
-
デフォルトでは、翻訳可能なリソースは元のファイル構造を保持するのではなく、キーと値として保存されます。これにより、ロックされることなく、交換可能なファイル形式を使用でき、タグを使用して柔軟なグループ化が可能です。
一部のフレームワークやセットアップでは、追加の構成が必要な複数のソースファイルが必要です。
別々のファイルを保持する
一般的に、各言語のすべての翻訳を1つのファイルに保持します。これにより、リソースのダウンロードがより迅速かつ堅牢になります。翻訳はプロジェクト内で整理されているため、別々の小さなファイルは必要ありません。
ローカリゼーションファイルを別々のファイルで維持する必要がある場合、アップロード時にキーにタグを付け、翻訳されたキーを元のファイルにダウンロードする際にタグを参照として使用することで、ファイルベースのワークフローを使用できます。キーは複数のタグを持ち、複数のファイルに含めることができ、再利用性と一貫性を確保します。タグベースのワークフローは柔軟で、プロジェクトにアップロードすることなく翻訳リソースの再編成を可能にします。
すべてのファイルでキーにユニークな名前を付けて、スムーズなワークフローを確保します。キーと値のアプローチでは、キーはすべてのコンテキストで同じ値が割り当てられている必要があります。一部のフレームワークでは、複数のファイルにわたって非ユニークなキーの使用が許可されています。Symfonyなどのいくつかの形式は、メッセージドメインをサポートしています。これらのドメインはファイル名によって検出されます。キーはファイル名ベースのドメインによって自動的にスコープされませんが、ファイル内のキーにユニークなドメインプレフィックスを使用することで解決できます。
例のCLI設定
CLIで作業する場合や、プロジェクトをリポジトリ(例:GitHub、GitLab、Bitbucket)に接続する場合は、アップロードとダウンロードを管理するための設定ファイルを設定してください。
例として、プロジェクトにはソースロケール用のいくつかの意味的に名前付けされた翻訳ファイルがあります。例えば:accounts.en.yml、emails.en.ymlなど。これらの意味的な名前はタグを通じて管理されます。
.phrase.ymlを設定して、ローカリゼーションプロジェクト内のファイルの構成を反映し、ファイルパスにタグプレースホルダーを含めることでStringsプロジェクトのタグにリンクします:
phrase:
access_token: "3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793"
project_id: "23485c9c5dfb15d85b32d9c5f3d2hl54"
file_format: yml
push:
sources:
- file: ./path/to/locales/<tag>.en.yml
params:
locale_id: "abcd1234cdef1234abcd1234cdef1234"
pull:
targets:
# accounts
- file: ./path/to/locales/accounts.<locale_name>.yml
params:
tags: accounts
# emails
- file: ./path/to/locales/emails.<locale_name>.yml
params:
tags: emails
パラメータ タグは、<tag> プレースホルダーを使用する代わりにプッシュ セクションでも使用できます。
構成は、プッシュを実行するか、リポジトリから同期をトリガーする際に、ファイルの出所に基づいてタグ付きのキーを作成します。プルを実行するか、リポジトリへのエクスポートをトリガーすると、タグに基づいてキーをファイルにグループ化します。
製品、ウェブサイト、またはアプリは、さまざまな言語に翻訳されますが、場合によっては、ローカリゼーションは選択された言語だけでなく、1つの言語内の異なるバージョンでもあります。
次の場合は、さらなる区別が必要です:
-
同じ言語が話されている地域で、製品のブランディングが異なる。
-
製品が異なるクライアントによって使用され、ホワイトラベルソリューションを使用したい場合。
-
シンプル、フォーマル、またはインフォーマルなどの言語のバリエーションが必要です。
静的製品のローカライズ
製品が完全に開発され、ほとんど更新されない場合、プロジェクト内に製品の別バージョンが存在することがあります。
継続的な更新を伴うプロジェクトのローカライズ
製品が新しいコンテンツ(キー)で常に更新されている場合、それらの更新を複数のプロジェクトに適用し、同期を保つことは困難です。プロジェクト内で専用の言語を使用して、それらを維持します。
ISO標準(例:en-US)に従った言語コードは一意である必要はなく、同じ言語の多くのバージョンをプロジェクト内で作成することができます。地域、クライアント、またはオーディエンスを区別するために、ユニークな言語名を使用します。
セットアップ時に、デフォルトロケールで新たに導入されたキーは、他の言語では未翻訳として表示され、それに応じてローカライズされます。クライアントとその翻訳者と作業する場合、ユーザープロファイルまたはプロジェクトのユーザー管理で言語アクセスを更新することにより、彼らが自分の言語バージョンのみを編集できるように特に割り当てます。
同じプロジェクト内でジョブとレビューワークフローを使用して、並行ローカリゼーションプロセスを設定します。この柔軟性は、APIを介して言語ファイルのアップロードおよびダウンロードや自動化プロセスにも拡張されます。