NSLocalizedStringシリーズ処理文字列

1430 ワード

文字列の使用に関する詳細は、Using Strings Files for User-Facing Textを参照してください.
NSLocalizedStringというマクロは文字列ローカライズのコアツールです.NSLocalizedStringFromTable、NSLocalizedStringFromTable、NSLocalizedStringFromTableInBundle、NSLocalizedStringWithDefaultValueの3つのよく知られていない変異体があります.これらのマクロは、最終的にNSBundleのlocalizedStringForKey:value:table:メソッドを呼び出してタスクを完了します.
これらのマクロを使用するメリットは、localizedStringForKey:value:table:メソッドを直接呼び出すよりも、マクロを使用してコードを分かりやすくすることです.一方、genstringsのようなツールは、これらのマクロを監視し、翻訳に使用する文字列ファイルを生成することができます.これらのツールは解析されます.c和.m接尾辞のファイルは、ローカライズが必要な文字列ごとに対応するエントリを生成し、生成に書き込む.stringsファイルにあります.
1.文字列のローカルバージョンを返します.
NSString *NSLocalizedString(NSString *key, NSString *comment)

NSLocalizedStringはNSBundleで定義されています.h中のマクロは、現在のシステム言語に対応するLocalizableを探すためのマクロである.stringsファイルのkeyの値.最初のパラメータはkeyの名前で、2番目のパラメータはこの「キー値ペア」に対するコメントです.
2.指定したテーブルから文字列のローカライズされたバージョンを返します.
NSString *NSLocalizedStringFromTable(NSString *key, NSString *tableName, NSString *comment)

tableNameはString fileのファイル名を指定します.
3.文字列のローカライズされたバージョンを返します.
NSString *NSLocalizedStringFromTableInBundle(NSString *key, NSString *tableName, NSBundle *bundle, NSString *comment)

String fileで指定したbundleが含まれます.
4.文字列のローカライズされたバージョンを返します.
NSString *NSLocalizedStringWithDefaultValue(NSString *key, NSString *tableName, NSBundle *bundle, NSString *value, NSString *comment)