完全ガイド

ソフトウェアローカリゼーション:
完全ガイド

ソフトウェア、Webアプリ、モバイルアプリのローカライズ方法:国際化の基本、XLIFF、JSON、POなどのファイル形式、API、CLI、Gitを使った開発者ワークフロー。

読了所要時間 21 分·2026年10月更新

基本

ソフトウェアローカリゼーションとは?

ソフトウェアローカリゼーションとは、ソフトウェア製品(ユーザーインターフェース、エラーメッセージ、オンボーディング、通知、ヘルプコンテンツ、ストア掲載情報)を、別の言語や市場のユーザーにとって自然に機能するよう適応させるプロセスです。対象には、デスクトップソフトウェア、SaaSおよびWebアプリ、iOSおよびAndroid向けモバイルアプリ、ゲーム、そしてそれらの製品の基になる開発者向けリソースファイルが含まれます。

ソフトウェアローカリゼーションは、文書の翻訳とは3つの点で異なります。コンテンツはページではなくキー(文字列)の集合です。一度きりではなくスプリントごとに変化します。そして読者ではなくビルドによって処理されるため、壊れたプレースホルダーや崩れたタグがアプリをクラッシュさせたり、リリースを妨げたりする可能性があります。そのため、専用のソフトウェアローカリゼーションプラットフォームは、文書ではなく文字列、キー、ファイル形式を管理します。

ソフトウェア vs. アプリ vs. ファイル形式のローカリゼーション

「ソフトウェアローカリゼーション」は総称です。「アプリのローカリゼーション」は通常、独自のリソース形式とアプリストアの掲載情報を持つiOSおよびAndroidのモバイルアプリを指します。「ファイル形式のローカリゼーション」は、その両方の土台となる実務レイヤーで、XLIFF、JSON、PO、XML、YAML、文字列ファイルを構造を壊さずに翻訳することです。このガイドでは3つすべてを取り上げます。

ローカリゼーションスタックにおける位置づけ

ソフトウェアローカリゼーションは、より広範なローカリゼーションプログラムの中の1つの業務です。それを運用するプラットフォーム(翻訳管理、CATエディター、翻訳メモリ、用語、ベンダー)を選定する場合は、まず本ガイドの土台となるローカリゼーションプラットフォームとTMSのガイドをご覧ください。ここでは、文字列、ファイル形式、開発者ワークフロー、リリースサイクルなど、ソフトウェア特有の内容に焦点を当てます。

Smartcatのアプローチは、プラットフォームを製品コピーの信頼できる唯一の情報源(システム・オブ・レコード)にすることです。そのプロダクトローカリゼーションワークフローでは、製品やアプリのコンテンツの抽出、翻訳、公開を自動化し、CI/CDパイプラインと統合するProduct & Engineering Coworkerを使用します。また、ローカリゼーションプロジェクト管理ソフトウェアのページでは、開発者、マネージャー、レビュアーが、GitHub、Figmaなどに対応したAPIとコネクタを備えた1つのワークスペースをどのように共有するかを紹介しています。共同作業型のソフトウェアローカリゼーションプロジェクトを導入した2023年3月のリリースでは、その理由を説明しています:UXライターやプロダクトマネージャーが、開発者の手を煩わせることなく自らコピーを変更できるからです。

国際化

国際化(i18n)の基本

国際化(「i」と「n」の間に18文字あることからi18nと略されます)は、ソフトウェアをローカライズできる状態にするためのエンジニアリング作業です。ローカリゼーション(l10n)は、それを各市場に合わせて適応させる作業です。この違いは重要です。国際化はコードベースで一度だけ行う開発タスクであり、ローカリゼーションは言語ごと、リリースごとに繰り返し行うコンテンツタスクです。Smartcatのソフトウェア設計における国際化の入門ガイドでは、i18nをユーザーインターフェース設計、データ形式と保存、プロセスとツールの3つの領域に分けて解説し、社内で国際化を推進する担当者を見つける方法を説明しています。

ローカライズ前のi18nチェックリスト

01

ユーザーに表示されるすべての文字列を外部化する

テキストをコードからリソースファイルに移します。WebアプリではJSONまたはYAML、Androidではstrings.xml、iOSでは.stringsまたはString Catalogs、gettextベースのプロジェクトではPOファイルを使用します。リファクタリング後も翻訳が保持されるよう、すべての文字列に不変のキーを付けます。

02

連結ではなくプレースホルダーと複数形ルールを使う

「You have 」+ n +「 files」は正しく翻訳できません。名前付きプレースホルダーと、ICU MessageFormatなどの複数形に対応した構文を使用してください。Smartcatはソフトウェアローカリゼーションプロジェクトで、これをネイティブに、または生の文字列としてサポートしています。

03

テキストの伸長と表示方向を考慮して設計する

ドイツ語やフィンランド語は英語より長くなり、アラビア語やヘブライ語は右から左に書かれます。固定幅のボタンは避け、レイアウトは早い段階でテストしてください。理想的にはコードを書く前に、デザインファイルの段階で行います(Figma&UIのローカリゼーションを参照)。

04

データをロケールごとに保存・フォーマットする

全体でUTF-8を使用し、日付、数値、通貨、住所は、ハードコードされたパターンではなくロケール対応のライブラリでフォーマットしてください。

国際化は組織の課題でもあります。Zendeskのローカリゼーションチームは、ローカリゼーションをプロダクトやエンジニアリングにどのように組み込んでいるかをZendeskのアプローチで紹介しており、講演の録画でも視聴できます。また、グローバル対応のプロダクト戦略に関するパネルでは、ローカリゼーションのリーダーたちがグローバリゼーション業界における能力開発やメンターシップについて議論しています。

プロセス

Smartcatにおけるソフトウェアローカリゼーションの仕組み

Smartcatでは、通常のドキュメントプロジェクトに加えて、キーを直接管理するソフトウェアローカリゼーションプロジェクトを利用できます。キーはコレクションに格納され、1つのプロジェクトに複数のコレクションを持たせることができ、各コレクション内ではキーの一意性が保証されます。ソフトウェアローカリゼーションプロジェクトの開発者向けドキュメントで説明されている一般的なワークフローは次のとおりです。

01

プロジェクトを作成してキーをインポートする

ソフトウェアローカリゼーションプロジェクトを作成し、ソース言語とターゲット言語を選択して、JSON、YAML、iOS .strings、Android XML、LocJSON形式のキーをインポートします。インポートは手動、APIまたはCLI経由、あるいはGitHub、GitLab、Bitbucketリポジトリからの自動取り込みで行えます。

02

コンテキストを追加し、ソーステキストを編集する

ラベルやスクリーンショットなどのコンテキストを追加し、CATエディター上でキーやソーステキストを直接作成・編集できます。すべての複数形を持つキーにも対応しています。

03

AIで翻訳してレビューする

Software Localization Agentが翻訳メモリと用語集を使って翻訳し、社内のレビュアーやアプリケーションローカリゼーションサービスのマーケットプレイスで依頼した専門家が結果を承認します。

04

エクスポートまたはコードへの同期

開発者は必要なキーのみを任意の形式でエクスポートできます。また、Git連携を使えば、翻訳が完了した時点、または指定したワークフローステージに達した時点で、翻訳が自動的にリポジトリへプッシュされます。

Smartcatはこのアプローチを「ソフトウェアのテキストにおける信頼できる唯一の情報源」と呼んでいます。プロダクトマネージャーやUXライターが文言を管理し、開発者はそれを利用します。ビジネス面の概要については、AI翻訳と専門家によるレビュー、アプリストアのコンテンツローカリゼーションを組み合わせたアプリケーションのローカリゼーションをご覧ください。

アプリのローカリゼーション

iOSおよびAndroid向けモバイルアプリのローカライゼーション

アプリのローカリゼーションには特有の制約があります。プラットフォーム固有のリソース形式、限られたUIスペース、アプリストアの掲載情報やスクリーンショット、そして頻繁なリリースです。Smartcatのモバイルアプリのローカライゼーションワークフローは4つのステップで構成されています。アカウントを作成し、Android、iOS、またはJavaアプリを接続し、Software Localization Agentとレビュアーで翻訳し、翻訳済みコンテンツをアプリにアップロードします。詳しいガイドモバイルアプリのローカライゼーション:開発者が知っておくべきすべてのことでは、両プラットフォームの戦略とプロセスを解説しています。

iOSアプリのローカリゼーション

iOSアプリは文字列を.stringsファイルと.stringsdictファイルに、新しいプロジェクトではXcodeのString Catalog(.xcstrings)に保存します。この3つはいずれもSmartcatの対応ファイル形式に含まれています。iOS向けGit連携は、リポジトリから.stringsファイルを自動的に検出して取り込み、翻訳済みのリソースファイルを、翻訳完了時または指定したワークフローステージに達した時点でリポジトリへプッシュします。人によるレビューが終わる前に機械翻訳された文字列をリポジトリに入れておきたい場合に便利です。Xcodeのローカリゼーションのページではキー管理と複数形について、XcodeとGit向けiOS翻訳プラグインではセットアップの概要を説明しています。手順を追った解説は、実装、テストとデバッグ、リリース、ベストプラクティスを網羅したiOSアプリのコンテンツをローカライズする方法をお読みください。

Androidアプリのローカリゼーション

Androidアプリは文字列をres/values/strings.xmlに保存し、ロケールごとにvaluesフォルダーを1つ用意します。GitとAndroidの連携は、リポジトリからXML文字列リソースをSmartcatに取り込み、翻訳済みファイルを自動的にプッシュします。機械翻訳と人による翻訳を組み合わせたハイブリッドワークフローを使用している場合は、一部のみ完了した翻訳もプッシュできます。Android翻訳プラグインは、Gitサーバーに登録したSSHキー(またはリポジトリのコラボレーターとして追加したSmartcatユーザー)を介して接続し、AIのみのワークフローとAI+レビューのワークフローを選択でき、自動同期のスケジュール設定も可能です。関連ページでは、Androidのローカライズ文字列、Androidアプリのローカリゼーションサービス、Androidアプリの翻訳、Android Studioローカリゼーションプラグインを取り上げています。Androidアプリのローカリゼーションのガイドでは、ロケール、ツール、手順、成功指標、よくある課題について解説しています。

アプリストアの掲載情報と製品ページ

ローカリゼーションはバイナリだけで終わりません。ストアのタイトル、説明文、キーワード、スクリーンショットは、新しい市場のユーザーがそもそもアプリをダウンロードするかどうかを左右します。製品のローカリゼーションワークフローには、ローカライズされたスクリーンショット、タイトル、説明文、キーワードによるアプリ製品ページのローカリゼーションが含まれており、同じAI+レビューの構成はアプリケーションのローカリゼーション全般にも適用されます。

アプリのローカリゼーションの実践

消費者向けアプリでの具体例を示す2つの導入事例があります。正確な医療用語が不可欠な女性向けヘルスケアアプリFloがローカリゼーションを効率化した方法と、Simple: Intermittent Fasting Appのチームがアプリを6言語にローカライズした方法、そして優れたチーム体制が鍵となった理由です。

ファイル形式

ローカリゼーションファイル形式:XLIFF、JSON、PO、XML、YAMLなど

ソフトウェアがWord文書の形で届くことはほとんどありません。届くのはリソースファイルや交換用ファイルで、そのキー、タグ、プレースホルダー、ネスト構造は翻訳後もそのまま維持されなければなりません。Smartcatのヘルプセンターには対応ファイル形式がすべて掲載されています。ローカリゼーション作業向けには、XLIFF 1.2および2.0、SDLXLIFF、MQXLIFF、PO/POT、Android XML、RESX、JSON、LocJSON、YAML、Appleの.strings、.stringsdict、.xcstrings、Javaの.properties、Markdownが含まれます。以下の主要な形式にはそれぞれ専用ページがあり、何が保持されるかを説明しています。

フォーマット 通常、~に使用される Smartcatが保持するもの
XLIFF 1.2 / 2.0、SDLXLIFFCMS、オーサリングツール、CATツール間におけるデータ交換インラインコードを保護、translate="no"のユニットはロック、XLIFF 1.2でエクスポート
JSONWebおよびアプリのロケールファイルキーとネスト構造は同一、文字列の値のみを翻訳、プレースホルダーは正規表現ルールでロック
Gettext PO / POTオープンソースおよびサーバーサイドのソフトウェア(GNU gettext)%sや{name}などの変数は保護タグに変換、開発者コメントはコンテキストとして表示
XML設定、コンテンツのエクスポート、Androidリソースマークアップ、属性、CDATAはそのまま維持、翻訳対象の要素はXPathで指定
YAML、iOS .strings、Android XMLアプリおよびフレームワークの文字列リソースソフトウェアローカリゼーションプロジェクトでキーとしてインポート・エクスポート
IDMLAdobe InDesignのレイアウト(マニュアル、UIガイド、パッケージ)ストーリーからテキストを抽出し、書式を保持したまま翻訳済みIDMLをエクスポート

XLIFFとSDLXLIFF

XLIFF(XML Localization Interchange File Format)は、システム間で翻訳対象コンテンツをやり取りするための標準的な形式です。SmartcatのXLIFFエディターは、XLIFF 1.2と2.0をインポートし、インラインコードを保護した状態でソースとターゲットを並べて表示します。translate="no"のユニットはロックされたままとなり、ほとんどのツールで問題なくインポートできるXLIFF 1.2でエクスポートされます。XLIFF 2.0への対応は2022年に発表されており、手動アップロードでもAPI経由でも、Smartcatがバージョンを自動的に検出します。ブラウザで手早く使える方法をお探しなら、無料オンラインXLIFFエディターとXLF翻訳ツールをご覧ください。Tradosユーザーは.sdlxliffファイルをSDLXLIFF翻訳ツールで扱うことができ、翻訳メモリ、用語集、人によるレビューが適用されます。

形式そのものについて学ぶには、まずXLIFFファイルとは?から始め、次にソフトウェアローカリゼーションのためのXLIFFをお読みください。文字列にXLIFFが適しているのはどのような場合か、AIエージェントがワークフローをどのように自動化するかを解説しています。オーサリングツールからエクスポートするeラーニングチームには、コース翻訳のための多言語XLIFFと、XLIFFファイルを翻訳する方法に関するヘルプ記事が役立ちます。後者では、最もきれいなラウンドトリップを実現するためにXLIFF 1.2を推奨しています。

JSON

JSONは、ほとんどのWebアプリやJavaScriptアプリで標準的なロケール形式です。JSON翻訳ツールはファイルを解析して文字列の値のみを翻訳し、同じキーとネスト構造を持つファイルを返します。プレースホルダートークンは、一度定義した正規表現ルールによってタグとしてロックされます。文字列はキーIDを保持するため、翻訳メモリはテキストだけでなくキーでも一致を検出できます。en.jsonを1つ入れれば、de.json、ja.json、pt-BR.jsonが出力されます。

単一のファイルであれば、無料JSON翻訳ツールが同じエンジンをブラウザ中心のフローで提供しており、15,000 Smartwordsが付いた15日間の無料トライアル期間中にクレジットカードなしで利用できます。関連ページでは、JSONのオンライン翻訳、AIによるJSONファイル翻訳、JSON翻訳ファイルエディター、開発チーム向けJSONローカリゼーションプラットフォーム、アプリのローカリゼーション向けAI JSON翻訳ツール、そしてレビュアーがスプレッドシートを好むチーム向けのJSONからExcelへのワークフローを紹介しています。

Gettext POファイル

PO(Portable Object)ファイルは、GNU gettextで使用されるプレーンテキスト形式です。各エントリはソース文字列(msgid)とその翻訳(msgstr)の組み合わせで構成されるため、1つのPOファイルには1つの言語が含まれます。SmartcatのGettext POファイルの翻訳では、%sや{name}などの変数を保護タグに変換し、開発者コメントをコンテキストとして翻訳者に表示します。また、Default PO、Serge.io PO、Monolingual POの3種類のパーサーを利用できます。Serge.ioパーサーを使えば、ファイルを再アップロードした際にソースが変更された文字列のみが再処理されます。ヘルプ記事SmartcatでPOファイルを翻訳するでは、各パーサーと.potテンプレートのアップロード方法を説明しています。

XMLとYAML

一般的な翻訳ツールでは、マークアップ、属性、CDATAがテキストとして扱われてしまうため、XMLが壊れてしまいます。XMLトランスレーターは設定可能なパーサーを使用します。翻訳対象のテキストを含む要素と属性をXPathで一度指定するだけで、それ以外の部分には手が加えられないため、ダウンロードしたファイルはシステムでそのまま取り込める整形式のXMLになります。Ruby on Rails、Symfony、多くの静的サイトジェネレーターでよく使われるYAMLの設定ファイルやロケールファイルは、YAML翻訳ツールで処理できます。同じソフトウェアローカリゼーションワークフローの中でYAMLのインポート、編集、エクスポートが可能です。

InDesignとIDML

ソフトウェアチームは、クイックスタートガイド、パッケージ、UIリファレンスカードなど、印刷物やPDF資料も提供しており、これらは通常Adobe InDesignで作成されています。IDML翻訳ツールはファイルのストーリーからテキストを抽出し、翻訳済みのIDMLをエクスポートします。それをInDesignで開いて、レイアウトを一度調整するだけで済みます。あわせてAIによるAdobe InDesignの翻訳、InDesignファイルのローカリゼーション、専門のレビュアーによるInDesign翻訳サービスもご覧ください。Word、PowerPoint、Excelなどのオフィス形式については、ドキュメント翻訳ガイドをご覧ください。

開発者のワークフロー

開発者のワークフロー:API、CLI、Git連携

手作業でのファイルのやり取りは、リリースが数回を超えると立ち行かなくなります。Smartcatでは、ノーコードのコネクタからREST APIまで、ローカリゼーションを開発パイプラインに接続するさまざまな方法を開発者に提供しています。

Gitベースのローカリゼーション

ほとんどのプロダクトチームにとって、Git連携は自動化への最短ルートです。Smartcatがリポジトリからソースファイルを同期して翻訳し、ローカライズされたコンテンツをリポジトリにプッシュするため、手作業でファイルを扱う必要はありません。モバイルチームは、前述したプラットフォーム別のAndroid向けGitおよびiOS向けGit連携を利用できます。

Smartcat CLI

Smartcat CLIを使えば、ターミナルやCIジョブからローカリゼーションの各ステップを実行できます。smartcat loginの後、キーコレクションのimportとexport、ファイルのuploadとdownload、そしてpullとpushによる同期ステップを実行できます。作業フォルダー内の.smartcatファイルにはプロジェクトごとの設定が保存されます。ソフトウェアローカリゼーションプロジェクトの開発者ガイドでは、Postmanコレクション、ファイルパステンプレート、ターゲット言語の追加、複数形のサポートなど、CLIとAPIを並べて紹介しています。

翻訳API

自社システムからのプロジェクト作成、公開時のコンテンツ送信、製品内での即時機械翻訳など、プログラムによる制御が必要な場合はAPIを使用します。APIガイドでは、認証、レート制限、ドキュメント、統計、ステータス追跡、エクスポート、コールバック、リアルタイムAPIについて説明しています。なお、APIはフリーランサーアカウントではなく企業アカウントで利用できます。無料翻訳APIのページでは、15日間のトライアル期間中に連携を評価する方法を説明し、すべてのメソッドに適用される毎秒4リクエストのレート制限を記載するとともに、APIで追加されるソフトウェアローカリゼーション形式(json、structured-json、yaml、structured-yaml、ios-strings、android-xml)を紹介しています。

言語やスタック別のページでは、同じプラットフォームをさまざまな角度から紹介しています。JavaScript向け翻訳API、PHP向け翻訳API、グジャラート語とウルドゥー語向け翻訳API、そして新規または更新されたコンテンツを検出して自動的に翻訳に回すCMS向け翻訳APIがあります。Webサイトについては、ウェブサイト向け言語翻訳APIで、APIが出発点にすぎないのはどのような場合かを説明しています。また、ウェブサイト翻訳ガイドでは、Webアプリ、CMS、多言語サイトを詳しく取り上げています。翻訳会社(LSP)の視点からAPI主導のワークフローを知りたい場合は、API主導の翻訳ワークフローに関する講演をご覧ください。

スタックのその他の部分向けコネクタ

文字列のソースがすべてリポジトリとは限りません。Jira翻訳プラグインは、条件に一致するJiraチケットに添付されたドキュメントを取得し、用語集と翻訳メモリを使って翻訳し、元のチケットにファイルを戻します。Jira連携の発表によると、同期は15分ごとに行われます。すでに別の文字列管理ツールを使用しているチームは、Lokalise連携で接続できます。APIキーを使ってLokaliseプロジェクトをSmartcatに同期し、翻訳をLokaliseに戻します。ReadMeで構築された開発者ハブやAPIドキュメントは、ReadMe翻訳プラグインで翻訳できます。

継続的&アジャイルなローカリゼーション

アジャイルチームのための継続的ローカリゼーション

継続的ローカリゼーションとは、開発の後ではなく開発と並行して翻訳を進めることです。新規または変更された文字列が自動的に検出、翻訳され、戻されるため、すべてのリリースをすべての言語で同時に提供できます。多くの場合、最も難しいのはツールではなくプロセスです。ローカリゼーションプロジェクト管理ソフトウェアのページでは、ローカリゼーションをアジャイルサイクルに組み込むことで、自動チェックやインコンテキストレビューを活用しながら多言語製品を同時にリリースできる仕組みを説明しています。

継続的ローカリゼーションを構成する3つの要素

(1)自動トリガー — マージのたびに実行されるGit同期、CI内のCLIステップ、またはAPI呼び出し。(2)新規または変更された文字列のみを翻訳するインクリメンタル処理(例えば、Serge.io POパーサーは変更された原文のみを再処理します)。(3)翻訳のリポジトリへの自動返却。レビューが進行中であってもビルドをブロックしないのが理想です。

実際の事例から、各チームがどのようにそこへ到達したかがわかります。

グローバルなビデオゲーム販売会社であるXsollaは、数週間単位のリリースサイクルに対応するため、Smartcatとオープンソースのツール「Serge」を使って継続的ローカリゼーションを構築しました。グローバルなコミュニケーションプラットフォームであるInfobipは、ローカリゼーションをアジャイルの枠組みの中で機能させるため、低リスクの実験を行いました。その後、ベンダーとの協業をどのように再定義したかを翻訳トライアングルに関する講演で発表しています。モバイルセキュリティアプリのUIテキストとヘルプ記事の作成・ローカライズを担うKasperskyのドキュメント・ローカリゼーションチームは、より信頼性が高く、アジャイルで自動化されたプロセスへ移行した経緯を紹介しています。そしてDataduckは、継続的ローカリゼーションがソフトウェアだけのものではないことを示しています。あるデジタルエージェンシーが、同じアプローチを広告素材に活用しました。

デザイン&UIのローカライズ

FigmaとUIのローカライズ

デザインの段階でローカライズを行うことで、テキストの肥大化、ボタンの文字切れ、右横書きの問題を、コードに反映される前に発見できます。SmartcatのFigma翻訳プラグインは、レイアウトを維持しながらデザインを280以上の言語に翻訳し、ライブプレビューを生成します。そのため、レビュー担当者は追加のFigmaシートなしで、Smartcatエディター上でコンテキストに沿って翻訳を確認できます。

ソフトウェアチームにとって重要なのは、Figmaがコードと同じソフトウェアローカリゼーションのワークフローにつながることです。開発者フレンドリーなFigma連携(2023年)では、Figma上で直接キーを指定し、それをSmartcatのソフトウェアローカリゼーションプロジェクトに送って翻訳し、UIに取り込むことができます。2026年10月には、プラグインにキー管理、バリアント、JSONエクスポートが追加されました。すべてのテキストオブジェクトに名前変更可能なキーが付与され、1つの要素に複数のコンテンツ状態(空、読み込み中、エラー)を持たせることができ、重複するキーは統合され、競合はフラグ付けされ、完成したローカリゼーションは開発者がそのまま使えるJSONファイルとしてエクスポートされます。

2024年2月のアップデートでは、要素やフレーム(ブランド名、CTA)を翻訳対象から除外する機能、複数ステップのワークフロー、Figmaコンポーネントのサポート、リッチフォーマットが追加されました。セットアップ方法と、ソフトウェアローカリゼーションモードおよびアセット翻訳モードについては、FigmaとSmartcatの接続に関するヘルプガイドで説明しています。

テストと品質

ローカリゼーションテストと品質保証

文字列の翻訳は仕事の半分にすぎません。ローカライズされたビルドが正しく動作する必要があります。ローカリゼーションテストでは、言語的な品質(正確さ、用語、トーン)、視覚的な品質(文字切れ、重なり、フォント、右横書きレイアウト)、機能的な品質(プレースホルダー、複数形、日付と数値の形式、並べ替え、入力)を確認します。ローカリゼーションテストのガイドでは、ステップバイステップのプロセス、3ステップのチェックリスト、そしてSmartcatでテストを自動化する方法を紹介しています。

チェック項目 起こりうる問題 早期に発見する方法
プレースホルダーとタグ変数が翻訳・移動・削除され、ビルドが失敗するプレースホルダーをタグとしてロックする、形式に対応したパーサー(JSON、PO、XML、XLIFF)
複数形複数の複数形を持つ言語で、数の表現が文法的に誤るエディターでのネイティブな複数形キーまたはICU MessageFormat
テキストの肥大化ボタンやラベルの文字切れコード化の前にFigmaで翻訳・プレビュー、インコンテキストレビュー
用語製品名やUI用語の翻訳に一貫性がないすべての文字列に用語集と翻訳メモリを適用
コンテキストあいまいな短い文字列(「Open」、「Save」)が誤って翻訳されるキーにスクリーンショット、ラベル、開発者コメントを添付

UIの文言にとって、人間によるレビューは引き続きセーフティネットです。社内にレビュー担当者がいないチームは、アプリケーションローカリゼーションサービスのマーケットプレイスを通じて専門家を採用できます。AIマッチングにより、あらゆる言語ペアに対応するローカリゼーションの専門家が見つかります。

ユースケース

ゲームを含むソフトウェアローカリゼーションのユースケース

同じ構成要素 — キー、形式、コネクター、レビュー — が、まったく異なるチームに役立ちます。

SaaSおよびプロダクトチーム

SaaS企業は、スプリントごとにUI文字列に加え、アプリ内メッセージ、メール、ヘルプコンテンツをローカライズしています。プロダクトローカリゼーションのワークフロー、ソフトウェアローカリゼーションプラットフォーム、ローカリゼーションプロジェクト管理の各ページでは、プロダクト、エンジニアリング、ローカリゼーションの各チームが1つのワークスペースを共有する方法を説明しています。このガイドで紹介しているZendesk、Infobip、Kasperskyの事例はいずれもその例です。

モバイルアプリ

コンシューマー向けアプリでは、文字列、ストアの掲載情報、スクリーンショットを、多くの場合は一度に多数の言語へローカライズします。まずはモバイルアプリのローカリゼーションと、アプリのローカリゼーションセクションにあるFloとSimpleのケーススタディをご覧ください。

ゲームのローカライゼーション

ゲームには、ローカリゼーションの難題がすべて詰まっています。大量のUI文字列、創造的な翻案が必要なセリフや世界観の設定、文字数制限、そして同時リリースです。SmartcatのLocalization Hubで行われた2つの講演がその実践を取り上げています。大手スタジオのローカリゼーション部門の責任者によるビデオゲーム業界における集中型ローカリゼーションチームの構築と、受賞タイトルのローカライズに関するスタジオの体験談であるゲーム業界における翻訳の試練と苦難です。ゲームの文字列も、上記で説明したのと同じソフトウェアローカリゼーションプロジェクトやGitワークフローで管理できます。また、Xsollaの継続的ローカリゼーションの構成もゲーム業界の事例です。

開発者向けドキュメントとeラーニング

ReadMeで構築された開発者ポータルはReadMeプラグインで翻訳できます。オーサリングツールからXLIFFをエクスポートするeラーニングチームは、コース作成者向けXLIFFガイドを参考にしてください。CMSからコンテンツを表示するウェブサイトやウェブアプリについては、ウェブサイト翻訳ガイドで取り上げています。

ツールとリソース

ソフトウェアローカリゼーションのツールとリソース

ソフトウェア、アプリ、ファイル形式のローカリゼーションに関するSmartcatのすべてのページを、用途別にまとめました。

ソフトウェアとプロダクトのローカリゼーション

モバイルアプリ(iOSとAndroid)

XLIFFとバイリンガル形式

JSON、PO、XML、YAML

InDesignとIDML

APIと連携

ブログより

ソフトウェアローカリゼーションのガイド、ケーススタディ、講演

ソフトウェアとアプリのローカリゼーションに関する詳細なガイド、お客様事例、Localization Hubの講演録画。

ヘルプとドキュメント

ヘルプセンターと開発者向けドキュメント

Smartcatでのソフトウェアローカリゼーションに関する、ステップバイステップの製品ドキュメントと開発者向けドキュメント。

関連ガイド

関連ガイド

ソフトウェアローカリゼーションは、ローカリゼーションプログラムの他のいくつかの領域と重なり合っています。以下のガイドでは、それらを詳しく取り上げています。

よくある質問

ソフトウェアローカリゼーションとは?

ソフトウェアローカリゼーションとは、ソフトウェア製品 — そのUI文字列、メッセージ、ヘルプコンテンツ、ストアの掲載情報 — を、別の言語や市場のユーザー向けに適応させることです。文書ではなくリソースファイル(JSON、XLIFF、PO、strings.xml、.strings)内のキーを対象とし、通常は開発と並行して継続的に行われます。Smartcatでの対応方法については、ソフトウェアローカリゼーションプラットフォームをご覧ください。

国際化(i18n)とローカリゼーション(l10n)の違いは何ですか?

国際化とは、ソフトウェアをあらゆる言語に対応できる状態にするためのエンジニアリング作業です。文字列の外部化、プレースホルダーと複数形ルールの使用、UTF-8、テキストの肥大化、右横書きレイアウトへの対応などが含まれます。ローカリゼーションとは、市場ごとに製品を翻訳・適応させる、繰り返し行われる作業です。国際化はコード内で一度だけ行い、ローカリゼーションは言語ごと、リリースごとに行います。i18n入門ガイドをお読みください。

Smartcatはどのローカリゼーションファイル形式をサポートしていますか?

Smartcatは、XLIFF 1.2および2.0、SDLXLIFF、MQXLIFF、PO/POT、JSON、LocJSON、YAML、XML、Android XML、Apple .strings、.stringsdict、.xcstrings、RESX、Java .properties、Markdown、IDMLなど、多数の形式をサポートしています。ソフトウェアローカリゼーションプロジェクトでは、JSON、YAML、iOS .strings、Android XMLでキーをインポート・エクスポートできます。サポートされているファイル形式の一覧をご覧ください。

XLIFFファイルとは何ですか?どのように翻訳すればよいですか?

XLIFF(XML Localization Interchange File Format)は、オーサリングツール、CMS、CATツール間で翻訳可能なコンテンツをやり取りするために使用されるバイリンガルのXML形式です。SmartcatのXLIFFエディターにアップロードしてください。XLIFF 1.2および2.0をインポートし、インラインコードを保護し、translate="no"の単位をロックし、きれいに再インポートできるようXLIFF 1.2でエクスポートします。

POファイルとは何ですか?

PO(Portable Object)ファイルは、GNU gettextのプレーンテキスト翻訳形式です。各エントリは原文の文字列(msgid)とその翻訳(msgstr)をペアにしたもので、1つのPOファイルには1つの言語が含まれます。.potファイルは空のテンプレートです。SmartcatのPOファイル翻訳は、%sや{name}などの変数をタグとして保護し、3種類のPOパーサーを提供しています。

JSONファイルを壊さずに翻訳するにはどうすればよいですか?

文字列の値のみを翻訳し、キー、数値、ブール値、ネスト構造には手を加えない、形式に対応したツールを使用してください。SmartcatのJSON翻訳ツールはこれを実現し、一度定義した正規表現ルールを使ってプレースホルダーのトークンをタグとしてロックします。そのため、翻訳されたファイルはそのままi18nパイプラインに戻すことができます。

iOSアプリやAndroidアプリをローカライズするにはどうすればよいですか?

文字列をstrings.xml(Android)または.strings/.xcstrings(iOS)に外部化し、Android向けGitまたはiOS向けGit連携を通じてリポジトリをSmartcatに接続します。AIとレビュー担当者で翻訳し、翻訳済みのリソースファイルをSmartcatにプッシュバックさせます。アプリストアの掲載情報とスクリーンショットもお忘れなく。

CI/CDパイプラインでローカリゼーションを自動化できますか?

はい。Git連携でGitHub、GitLab、Bitbucketのリポジトリを接続するか、Smartcat CLIでインポート、エクスポート、プル、プッシュの各ステップをスクリプト化するか、REST APIとWebhookでカスタムフローを構築できます。これが継続的ローカリゼーションの基盤です。新規または変更された文字列は、リリースのたびに翻訳されて返されます。

あらゆる言語でソフトウェアをローカライズ

15日間の無料トライアル、クレジットカードは不要です。文字列、アプリ、リソースファイルを280以上の言語にAI翻訳。オンデマンドでの人間によるレビューも可能です。