webentwicklung-frage-antwort-db.com.de

Was ist der zweite Parameter von NSLocalizedString ()?

Was ist der *comment Parameter in:

NSString *NSLocalizedString(NSString *key, NSString *comment)

Wenn ich das mache:

NSLocalizedString(@"Hello_World_Key", @"Hello World")

und haben zwei Versionen eines Localizable.strings (Englisch und Spanisch), benötigt jeder den Eintrag:

English.lproj/Localization.strings: @"Hello_World_Key" = @"Hello World";

Spanish.lproj/Localization.strings: @"Hello_World_Key" = @"Hola Mundo";

Ist die englische nicht überflüssig?

119
4thSpace

Die Kommentarzeichenfolge wird von der Anwendung ignoriert. Es wird zum Vorteil eines Übersetzers verwendet, um der kontextbezogenen Verwendung des Schlüssels, in dem er sich in Ihrer Anwendung befindet, Bedeutung zu verleihen.

Zum Beispiel die Hello_World_Key key kann in einer bestimmten Sprache unterschiedliche Werte annehmen, abhängig davon, wie formell oder informell Hello World Ausdruck muss in dieser Sprache sein ("What's up World", "Yo World", "Good Day World" usw.).

Sie können eine Zeichenfolge in das Kommentarfeld einfügen, um den Übersetzer auf diese Verwendung hinzuweisen, der (vermutlich) Ihre Anwendung besser lokalisieren kann.

69
Alex Reynolds

Der zweite Parameter ist ein Kommentar, der automatisch in der Zeichenfolgendatei angezeigt wird, wenn Sie das Befehlszeilenprogramm genstrings verwenden, mit dem Sie die Zeichenfolgendatei erstellen können, indem Sie Ihren Quellcode scannen.

Der Kommentar ist nützlich für Ihre Lokalisierer. Beispielsweise:

NSLocalizedString(@"Save",@"Title of the Save button in the theme saving dialog");

Wenn Sie genstrings ausführen, wird ein Eintrag in der Datei Localizable.strings wie folgt erstellt:

/* Title of the Save button in the theme saving dialog */
"Save" = "Save";
268
Rob Keniger

Es dient nur dem Verständnis der Entwickler für die Übersetzung, dh Sie geben einen Schlüssel, um die entsprechende Zeichenfolge aus der entsprechenden Zeichenfolgendatei abzurufen.

Mit dem Parameter comment kann der Entwickler verstehen, was der Schlüssel darstellt ...

0
Shanmugaraja G