Übersetzte NSLocalizedString

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

  • Übersetzte NSLocalizedString

    Ich habe einige NSStrings, die ich in andere Sprachen übersetzten möchte. Mittels NSLocalizedString.

    Quellcode

    1. @interface view1 ()
    2. @end
    3. NSString *kSuccessTitle = @"Text1";
    4. NSString *kSubtitle = @"Text2";
    5. NSString *kButtonTitle = @"Text3";
    6. NSString *charWeekly = @"Text4";
    7. NSString *kammer = @"Text5";
    8. NSString *cro = @"Text5";


    wenn ich diesen Code verwende um mir den NSString *kSuccesTitle zu übersetzten

    Quellcode

    1. NSString * kSuccessTitle = NSLocalizedString(@"Text1", @"");

    bekomme ich folgenden Fehler:
    :initializer element is not a compile-time constant

    In der localizable.strings (English) Datei habe ich folgenden Code eingetragen:

    Quellcode

    1. "kSuccessTitle" = "xxxx";
    2. "kSubtitle" = "xxxxx";
    3. "kButtonTitle" = "xx";
    4. "charWeekly" = "xxxx";
    5. "kammer" = "xxxx";
    6. "cro" = "xxxxx";


    Ich bin noch anfänger bei xcode und vorallem beim lokalisieren, würde ich mich freuen wenn mir jemand helfen kann.
    Besten Dank schon mal....

    Gruss Klaus
  • Hallo,

    ich bin wie man erkennen kann auch noch nicht der Profi... habe aber auch das selbe Problem... für Profis denk ich lächerlich, wenn man aber gerade beim beginnen ist eine katastrope...:-)
    das ganze ist aus SCLAlertView , das ich auch gerne Übersetzen würde, wenn ich es jetzt richtig verstanden habe @gritsch dann müsste ich es so schreiben?
    bin gerade noch nicht zuhause, und kann es erst heute abend Probieren!

    Quellcode

    1. - (IBAction)resetAll:(id)sender {
    2. NSString * kSuccessTitle = NSLocalizedString(@"Text1", nil);
    3. NSString * kSubtitle = NSLocalizedString(@"Text2", nil);
    4. NSString * kSubtitle = NSLocalizedString(@"Text3", nil);
    5. SCLAlertView *alert = [[SCLAlertView alloc] init];
    6. alert.backgroundType = Blur;
    7. [alert addButton:@"Reset" actionBlock:^(void) {
    8. [self reset:nil];
    9. }];
    10. alert.soundURL = [NSURL fileURLWithPath:[NSString stringWithFormat:@"%@/right_answer.mp3", [[NSBundle mainBundle] resourcePath]]];
    11. [alert showError:self title:kSuccessTitle subTitle:kSubtitle closeButtonTitle:kButtonTitle duration:0.0f];
    12. }
    Alles anzeigen


    besten Dank für eure Hilfe..

    Gruß Jürgen

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von merlin2105 ()

  • Hi,

    Ok ich könnte es denk ich auch so schreiben :

    Quellcode

    1. [alert showError:self title:@"Titel1"subTitle:@"Titel2"closeButtonTitle:@"Titel3"duration:0.0f];


    das Problem ist es ja den Text1 dann zu übersetzten, könnte ich es dazu direkt in 1 Zeile schreiben:

    Quellcode

    1. [alert showError:self title:NSLocalizedString(@"Titel1") subTitle:NSLocalizedString(@"Titel2") closeButtonTitle:NSLocalizedString(@"Titel3") duration:0.0f];


    und dann müsste ich in der localizable.strings (English) das ganze nur noch so schreiben:

    Quellcode

    1. "Titel1" = "Titelxxxxx";
    2. "Titel2" = "Titelxxxxx";
    3. "Titel3" = "Titekxxxx";

  • irgendwo is da noch der wurm drin... es funktioniert immer noch nicht..

    ich habe übrigens ind den Localization native development region die Region auf de umgestellt.... somit ist BASE ja Deutsch... und ich will in andere sprachen übersetzten.... da die App eigentlich schon fertig ist , und jetzt ja alles in Deutsch drin steht denke ich ist es so einfacher!
    wenn es denn funktionieren würde...

    ich hab es jetzt mal so gemacht um den Titel zu testen:

    Quellcode

    1. [alert showError:self title:NSLocalizedString(@"Achtung", nil) subTitle:kSubtitle closeButtonTitle:kButtonTitle duration:0.0f];


    in der localizable.strings (BASE) :

    Quellcode

    1. "Achtung" = "Achtung";



    localizable.strings (English):

    Quellcode

    1. "Achtung" = "Attention";


    und es wird trotzdem Achtung angezeigt!

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von merlin2105 ()