STRINGS ファイル形式とは?
.strings ファイルは、macOS および iOS アプリケーションのアラート、エラーメッセージ、ボタンラベル、その他の UI テキストなどのローカライズされた表示文字列を保存するテキストファイルです。さまざまなアラート、通知、エラーメッセージを含む多くの .strings ファイルがアプリバンドル内に保存され、言語固有の .lproj ディレクトリ(例:英語の場合は en.lproj/、フランス語の場合は fr.lproj/)に整理されています。オペレーティングシステムは、実行時に適切な .lproj フォルダを選択して、ロケールに適したテキストを表示します。
最も一般的なファイル名は Localizable.strings で、これは Xcode が自動的に検索するデフォルトのファイルです。各エントリはシンプルなキー・値構文に従います:"key" = "value"; - キーと値は引用符で囲まれた文字列で、= で区切られ、セミコロンで終了します。コメントは C スタイルの /* */ または // 構文を使用します。ソースの .strings ファイルは UTF-8(Xcode 10 以降で推奨)または歴史的にバイトオーダーマーク(BOM)付きの UTF-16 でエンコードされています。
.strings ファイルは、Apple Xcode、MacroMates TextMate、BBEdit、VS Code、または任意のプレーンテキストエディタで開いて編集できます。Xcode のビルド中、ソースの .strings ファイルはアプリバンドル内のバイナリプロパティリスト形式にコンパイルされるため、配布されるファイルはソーステキストとは異なります。
Apple は Xcode 15(2023年)において、複数形や文法的なバリエーションを標準でサポートする最新の JSON ベースの代替手段として .xcstrings(String Catalogs)を導入しました。.strings 形式は引き続き完全にサポートされており、macOS、iOS、iPadOS、tvOS、watchOS で広く使用されています。
セキュリティと安全性
リスク: LOW.strings ファイルは実行可能なコンテンツを含まないプレーンテキストです。これらを開くことによるセキュリティリスクはありません。サードパーティのアプリバンドル内の文字列を変更する場合(ジェイルブレイクや改造など)、アプリのライセンスや利用規約に違反する可能性があります。
形式の詳細
概要STRINGS ファイルを開くプログラム
技術的詳細
詳細仕様| エンコーディング | UTF-8(推奨、Xcode 10以降)、BOM 付き UTF-16 LE または BE(レガシーな慣習) |
| レガシー BOM | UTF-16 LE: `FF FE`、UTF-16 BE: `FE FF`。コンパイルされたバイナリ plist 形式は `bplist`(16進数 62 70 6C 69 73 74)で始まります |
| エントリ構文 | `"key" = "value";` - キーと値の両方を二重引用符で囲み、末尾にセミコロンが必要です |
| コメント構文 | C スタイルの `/* ブロックコメント */` または `//` 行コメント |
| ディレクトリの慣習 | ロケール名に基づいた `.lproj` ディレクトリ(例:`en.lproj/`、`ja.lproj/`、`fr.lproj/`)に配置されます |
| デフォルトのファイル名 | `Localizable.strings` - Xcode がデフォルトでユーザーに表示される文字列を検索するファイル |
| コンパイル形式 | Xcode はアプリのビルド中にソースの `.strings` をバイナリ plist に変換します。配布されるアプリバンドルにはソーステキストではなくバイナリが含まれます |
| 複数形/性別ルール | 同じ `.lproj` 内にあるペアの `.stringsdict` ファイル(XML plist)が複数形や文法的なバリエーションを処理します |
| 後継フォーマット | `.xcstrings`(String Catalogs、JSON ベース、Xcode 15 / 2023)が新規プロジェクト向けの現代的な代替です |
| MIME タイプ | ソース形式は `text/plain`、コンパイルされたバイナリ形式は `application/octet-stream` です |
| プラットフォームの範囲 | macOS, iOS, iPadOS, tvOS, watchOS, および visionOS |
| ビルドツール | `genstrings` はソースコードから文字列リテラルを抽出して `.strings` ファイルを作成します。`ibtool` はそれらをアプリバンドル内のバイナリ plist にコンパイルします |
| リリース日 | Mac OS X 10.0 (March 2001); later adopted for iOS (2007) |
| 最新バージョン | Strings files remain current; Apple introduced .xcstrings (String Catalogs) in Xcode 15 / 2023 as a modern alternative |
| 仕様書 | developer.apple.com |
STRINGS の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。STRINGS ファイルについて最初の質問をしてみましょう。