Oto moje wartości \ strings.xml (plik domyślny) i wszystko jest oczywiste:
Moje pytania):
- Jak można „nie znaleźć w domyślnych ustawieniach regionalnych”, jeśli edytuję domyślne ustawienia regionalne (wartości \ strings.xml)?
- Jak to może być błąd tłumaczenia kłaczków, jeśli ustawię
translatable="false"
? W values-pl \ strings.xml (i values-ru, values-iw folderach) ciągi nie istnieją nawet? i tak nie powinno. - Wydaje się, że nie rozumiem, dlaczego nie pojawia się błąd dotyczący rosyjskiego ciągu.
(Pokazałbym tutaj values-ru \ string.xml lub values-pl \ string.xml, ale nie ma tam nic interesującego, ponieważ i tak brakuje ciągów ...)
Odpowiedzi:
to też mi się przydarzyło
Robię 2 rzeczy:
źródło
Invalidate Caches / Restart
. Żeby nie szukać w komentarzach, tak jak np.Odbudowa może zająć dużo czasu. YMMV, ale ...
Po prostu usuń obraźliwą linię i dodaj ją ponownie.
Pracował dla mnie. Bardzo szybki.
źródło
W moim przypadku pomogło mi to:
Jeśli to nie zadziała, spróbuj dodać te same ciągi do
strings.xml(v21)
pliku.źródło
Naciśnij Unieważnij pamięć podręczną / Uruchom ponownie ..., aby ponownie uruchomić Android Studio. U mnie to zadziałało. W rzeczywistości stało się to, gdy skopiowałem pliki z innego komputera i wkleiłem je za pomocą eksploratora plików.
źródło
Miałem ten sam komunikat o błędzie, tylko z dziwnym problemem, że został wyrzucony w domyślnym ustawieniu lokalnym i we wszystkich tłumaczeniach. Okazuje się, że nie powinieneś używać kropek w swoim imieniu (np. Name = "bla.blub"), ponieważ zostanie ono wewnętrznie przekonwertowane na "bla_blub", a następnie nie będzie pasować do "bla.blub", stąd błąd. Musiałem tylko zmienić kropki na podkreślenia w domyślnym języku, a następnie wszystkie inne błędy w innych tłumaczeniach (w tym kropki w nazwie) również zniknęły.
Pamiętaj jednak, że inne narzędzia do kompilacji mogą nadal powodować problemy, więc zamiast tego zastąp wszystkie kropki podkreśleniami!
źródło
Zamknięcie Android Studio i ponowne uruchomienie go naprawiło.
źródło
Rozwiązałem ten problem, wykonując poniższe czynności:
sprzątanie mojego projektu
odbudować go
i wreszcie naciskając nieprawidłowe pamięci podręczne / Uruchom ponownie w menu plików
źródło
Stworzyłem narzędzie do zarządzania stanem tłumaczenia aplikacji na Androida. Nie tylko informuje, jakich ciągów brakuje w innych językach, ale może również zgłaszać i czyścić pozostawione ciągi, które mogły zostać usunięte z domyślnego pliku tłumaczenia.
https://github.com/gubatron/android-missing-strings
Aby wyczyścić wszystkie pozostałości w innych językach, wywołaj w ten sposób
Spowoduje to wyczyszczenie pozostawionych ciągów i wyprowadzi raport o brakujących ciągach dla wszystkich języków do pliku all.txt
źródło
Wystarczy skopiować nieprawidłową linię (lub tylko jedną z wielu nieprawidłowych linii), usunąć ją i ponownie wkleić. To usunęło problem dla mnie.
źródło
Po prostu upewnij się, że masz te same konwencje nazewnictwa we wszystkich plikach ciągów, w tym te same wielkie litery. powiedzmy, że masz „sign_in” w strings.xml i „sign_In” w pliku fr / string.xml, więc wyświetli się błąd na fr / strings.xml, np. „jest tutaj przetłumaczone, ale nie znajduje się w domyślnym języku”. Tak więc, kiedy edytujesz do „sign_in”. Błąd zostanie usunięty.
źródło
Kopiowanie i wklejanie nie działa dla mnie.
Próbowałem też wyczyścić i ponownie uruchomić, poprzedni błąd zniknął, ale nowe wprowadzone ciągi nadal mają nowe błędy.
Próbowałem zamknąć otwarty plik strings.xml i Edytor tłumaczeń , a następnie ponownie uruchomić.
plik strings.xml i edytor tłumaczeń
To działa dla mnie.
źródło
Miałem ten problem dla wszystkich ciągów w moim pliku xml.
Chodzi o to, że twój domyślny
strings.xml
nie powinien miećtools:locale
atrybutu, tak jak inne przetłumaczone pliki. Jeśli tak, za każdym razem, gdy kompiluję aplikację w trybie wydania, traktuje ją jako inny przetłumaczony plik.źródło