2015-08-17 13 views
9

Nie mogę pobrać poprawnych zlokalizowanych ciągów niemieckich z pliku Localizable.strings. Moja aplikacja konfiguracja wygląda następującoNie można pobrać zlokalizowanych ciągów z pliku Localizable.strings

  • Main.storyboard

    • Main.storyboard (baza)
    • Main.strings (niemiecki) -> te łańcuchy są prawidłowo tłumaczone
  • Localiz.strings

    • Localizable.strings (angielski)
    • Localizable.strings (niemiecki) -> nie można dostać te łańcuchy

wewnątrz aplikacji Próbuję uzyskać ciąg jak ten

NSString *item = NSLocalizedString(@"Group expenses", @"Menu item"); 
plik

Localizable.strings (niemiecki) wygląda to

/* Menu item */ 
"Group expenses" = "Gruppenausgaben"; 

Kiedy ustawić Br eakpoint po item zawsze dotrzesz angielskiej ciąg z powrotem, jednak ścieżka do zasobu wydaje poprawne NSString *path = [[NSBundle mainBundle] pathForResource:[[NSLocale preferredLanguages] objectAtIndex:0] ofType:@"lproj"]; daje mi: /data/Containers/Bundle/Application/5E3ED6BF-71E1-4C60-9EDA-610C9A32B8EF/MyApp.app/de.lproj

Ja też zlokalizowane plik ciąg

enter image description here

enter image description here

Jest również dostępny w pakiecie Kopiuj zasoby

enter image description here

Próbowałem kilka odpowiedzi od różnych pytania tutaj na StackOverflow, takich jak usuwanie aplikacji i zrobić czystą (Shift + Cmd + K), ustawienie języka aplikacji pod Edit Scheme ...

+0

można proszę udostępnić kod źródłowy? Jeśli nie możesz udostępnić oryginału, czy możesz spróbować stworzyć nową sztuczną aplikację, która będzie zawierała identyczną konfigurację lokalizacji i która również nie będzie działać poprawnie? Korzyścią płynącą z tego (oprócz tego, że inni użytkownicy mogą przetestować twój kod) jest to, że możesz być w stanie zidentyfikować powód, dla którego to nie działa na własną, –

+0

sprawdź moją odpowiedź. Miałeś złą nazwę pliku Localisable.strings –

Odpowiedz

11

Ok, myślę, że znam powód, dla swojego błędu. Parse miał problem z dodaniem Localizable.strings, jak udokumentowano here. Zostało to naprawione w 1.8.1 wersja ich ramy:

V1.8.1 - 19 sierpnia 2015

...

Poprawiono: nadpisane lokalizacje, gdy stosowane przez CocoaPods i integracji biblioteki jako statyczny.

...

Można również sprawdzić this pytanie.

Tak, tylko upewnij się, że korzystanie z najnowszej wersji ram i wszystko powinno działać :)

+0

@ user1463853 Tak, myślałem, że to była możliwość. Należy jednak zmienić przykładowy projekt, aby symulował te same warunki co oryginalny i nadal generuje błąd. Gdy to zrobisz, sam znajdziesz błąd lub inni będą mogli ci pomóc. W tej chwili wydaje się, że wszystko powinno działać, więc niezwykle trudno jest zaproponować rozwiązanie. –

+0

@ user1463853 Zaktualizowałem moją odpowiedź z inną sugestią. A to znaczy, że plik Localisable.string może nie być uwzględniony w fazie budowania –

+0

@ user1463853 staje się coraz bardziej interesujący. Co się stanie, jeśli zmienisz lokalizację na angielski? Na przykład "Koszty grupy" = "Koszty grupy2". Czy to działa w ten sposób? Ponadto, dlaczego masz 3 pliki zlokalizowane w języku angielskim i tylko 2 w języku niemieckim (to od zrzutu ekranu)? –

0

natknąłem się na ten sam problem przed , niektóre podejście możesz spróbować:

  • Upewnij się, że ustawiłeś język niemiecki jako język systemu urządzenia iOS.

  • Uruchom tę aplikację w Xcode, a następnie zatrzymaj się. Ręcznie uruchom aplikację na urządzeniu z iOS. (Pierwsze uruchomienie z Xcode użyje języka bazowego, nie wiem dlaczego)

  • zobacz czy działa

+0

Wciąż to samo niestety – gpichler

Powiązane problemy