なぜ iOS のローカリゼーションは面倒なのか
手動の lproj フォルダ
de.lproj、fr.lproj、 es.lproj を手動で作成してください。ファイルが欠落するとクラッシュします。
高額な代理店
iOSの翻訳エージェンシーは言語ごとに€200以上を請求します。インディーアプリの場合?
壊れた %@ プレースホルダー
Google翻訳は %1$@ と %ld を壊します。String(format:) がクラッシュします。
使い方
3ステップ。2分。完了。
1
.strings をアップロード
または .stringsdict、.xcstrings、XLIFF
2
言語を選択
29種類利用可能。ドイツ語、日本語、中国語...
3
ダウンロード
de.lproj/、fr.lproj/、es.lproj/ Xcode用に準備完了。
対応する iOS フォーマット
Xcode 14、Xcode 15、SwiftUI – すべて1つのツールに
.strings
Localizable.strings
.stringsdict
複数形対応
.xcstrings
Xcode 15+ カタログ
XLIFF
Xcode エクスポート
ビフォー → アフター
すべて %@, %d, %1$@ プレースホルダはそのまま保持されます
以前 (en.lproj)
/* Localizable.strings (en.lproj) */
"app_name" = "My App";
"welcome_message" = "Welcome, %@!";
"items_count" = "%d items found";
"price_format" = "Price: %1$@ %2$@";
"time_remaining" = "%ld minutes left";アフター (de.lproj)
/* Localizable.strings (de.lproj) */
"app_name" = "Meine App";
"welcome_message" = "Willkommen, %@!";
"items_count" = "%d Artikel gefunden";
"price_format" = "Preis: %1$@ %2$@";
"time_remaining" = "%ld Minuten übrig";iOS開発者のために作られた
プレースホルダー保護
%@, %d, %ld, %1$@ を保持します。String(format:) は引き続き機能します。
すべての iOS フォーマット
.strings, .stringsdict, String カタログ (.xcstrings), XLIFF.
2週間の代わりに2分
アップロード → 言語を選択 → de.lproj、fr.lproj、es.lproj をダウンロードします。
翻訳メモリ = 90%の節約
すでに翻訳済みの文字列は再利用されます。アプリの更新はほとんど費用がかかりません。
iOS構文の完全サポート
%@、%d、%ld、%f フォーマッタ
%1$@ 位置引数
stringsdict の複数形ルール
ストリングカタログ (.xcstrings)
コメントの保持
キー=値 フォーマット
Unicodeエスケープシーケンス
InfoPlist.strings
なぜ Xcode Export ではないのか?
| shipglobal | Xcode XLIFF | 手動 | |
|---|---|---|---|
| 時間 | 2分 | 1時間以上 | 日 |
| %1$@ 保護済み | |||
| 翻訳メモリ | |||
| 価格 | €0,05/1k 文字 | 無料 | /言語 |