Wie kann ich für NSLocalizedString eine spezifische Sprache einstellen

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Wie kann ich für NSLocalizedString eine spezifische Sprache einstellen

    Hallo,

    ich habe eine App für OS X. Diese ist lokalisiert (xx.strings). Aus den Daten imm ManagedObjectContext werden wunder wahnwitz Operationen durchgeführt und im UI angezeigt.

    Jetzt können diese Ergebnisse auch auf Papier gebracht werden. Allerdings möchte ich das UI der App in deutsch bedienen und die Ausdrucke in einer auswählbaren Sprache drucken. Für die Texte welche in den Ausdrucken verwende, habe ich schon ein eigene Table angelegt.

    Wie kann ich für das Rendern der Druckseite eine andere Sprache einstellen und damit die richtige (NSLocalizedStringFromTable) die Tabelle ausgewählt wird?

    Danke
    Wenn Du immer nur das tust was du schon kannst - wirst du immer das bleiben, was du heute bist.
  • entwickler schrieb:

    gritsch schrieb:

    gar nicht. das kannst du nur bevor die app gestartet wird.

    Irgendwas gibt es da aber. Finde jetzt leider grad nicht das Snippet.
    Damit kann man in der App die Sprache direkt ändern und zwar global. Ohne überall zu fuddeln .
    Das hilft auch beim Testen, dann muss man nicht immer in die Sytemeinstellungen und die Sprache ändern.
    Ich finde es nur grad nicht.


    du kannst es in den prefs angeben oder als launch-parameter (also systemeinstellungen nicht nötig) aber zur laufzeit geht das nicht.
  • Hallo,

    ich mache es jetzt so:

    Quellcode

    1. ​-(NSBundle*) bundleForLanguage:(NSString*)language
    2. {
    3. NSString * path = [[NSBundle mainBundle] pathForResource:language ofType:@"lproj"];
    4. return [NSBundle bundleWithPath:path];
    5. }
    6. [..]
    7. self.languageBundleForPrinting = [self bundleForLanguage:@"fr"];
    8. [..]
    9. NSLocalizedStringFromTableInBundle( @"AssiName", @"Printing", self.languageBundleForPrinting, @"- -")
    10. [..]
    Alles anzeigen


    Language ist ein String wie @"de", @"fr" oder @"en" :)
    Wenn Du immer nur das tust was du schon kannst - wirst du immer das bleiben, was du heute bist.