0

iOSアプリケーションを開発しています。私の仕事の1つはローカリゼーションです。このため、私はすべての文字列を取得してそれぞれをに入れましたが、すべてNSLocalizedString(key,comment)問題ありませんでした。

しかし、私の新しい解決策はString、プロジェクトで使用するすべてのものを格納するシングルトンクラスを作成することです。これには、小さな、しかしトリッキーな問題が1つあります。それは、名前付けです。ローカライズされた文字列を必要とするすべてのクラス(ビュー)に対していくつかの辞書を作成する必要がありますか?または、これにプレフィックスを使用する必要がありますか、または適切で理解しやすいプロパティ名を持つオブジェクトを返す関数を使用する必要がありますか?

PS:私は新しいホイールを発明したくありません。プロジェクトで使用するローカライズされた文字列のSTORAGEを作成したいと思います。だから、私の目標はシングルトンを作ることです:

[[[StringStorage sharedInstance] getStringsForClass:self] objectForKey:@"title"];

またはこのようなもの:

[StringStorage sharedInstance].stringTitleForMainView

4

1 に答える 1

1

あなたは本当に固執するべきですNSLocalizedStringそしてNSLocalizedStringFromTable. NSBundleメソッドを使用することもできますlocalizedStringForKey:value:table:

しかし、他の方法を取ると、車輪を再発明することになり、genstringsコマンド ライン ツールを使用してソース コードからすべての文字列を抽出することができなくなります。

于 2013-01-14T18:48:48.577 に答える