2017-03-07 26 views

Odpowiedz

27

wiele metod, aby rozwiązać ten problem:

Pierwsza metoda:

Dodaj do build.gradle:

android { 
    lintOptions { 
     disable 'MissingTranslation' 
    } 
} 

Druga metoda:

To atrybut ignore z przestrzeni nazw tools w twoim ul złożyć pierścienie, co następuje:

<?xml version="1.0" encoding="utf-8"?> 
<resources 
    xmlns:tools="http://schemas.android.com/tools" 
    tools:ignore="MissingTranslation" > 

    <!-- your strings here; no need now for the translatable attribute --> 

</resources> 

Trzecia metoda:

w twojej ADT iść do window->Preferences->Android->Lint Error Checking

Znajdź tam Missing Translation i zmienić jego Severity do Warning.

LINK:

http://www.fasteque.com/missingtranslation-issue-for-release-builds/

Mam nadzieję, że pomocne dla Ciebie.

+0

@KapilRajput Nie ma za co! – vanloc

+0

W Androidzie Studio można go znaleźć w "Preferencjach-> Edytor-> Inspekcje' – Lemberg

4

Miałem do czynienia z dokładnie tym samym problemem. Na podstawie moich obserwacji problem ten został wprowadzony za pomocą wtyczki Gradle w wersji 2.3.0. Występuje, gdy w projekcie znajduje się moduł obsługujący więcej języków niż aplikacja lub inne moduły. Możesz rozpocząć edycję tłumaczeń takich modułów, ale to sprawia, że ​​są mniej dostępne.

Jeśli wyłączysz sprawdzanie Lint za pomocą którejkolwiek z sugestii tutaj lub w przypadku podobnych pytań, zignorujesz również rzeczywiste błędy w tłumaczeniu w aplikacji, w których brakuje tłumaczenia dla obsługiwanego języka. Po tym musisz być bardzo ostrożny, utrzymując struny.

Jest jeszcze jeden, również suboptymalny, opcja: zmień wersję wtyczki na ostatnią, która nie pokazuje tych symptomów w pliku build.gradle.

dependencies { 
    classpath 'com.android.tools.build:gradle:2.2.3' 
} 

Istnieje jednak sposób dokonać tej pracy bez utraty istotnych Ostrzeżenia/błędy i bez powrotu do starej wersji narzędzia. Można go znaleźć w Google's documentation, a także w this answer.

android { 
    defaultConfig { 
     ... 
     resConfigs "en", "fr" 
    } 
} 

Powoduje to usunięcie niepotrzebnych zasobów oraz ostrzeżeń i błędów wraz z nimi. Zaktualizowałem swój kod i teraz wszystko układa się dobrze.

Jest jeszcze jeden problem, który został wprowadzony w nowej wersji wtyczki Gradle: Jeśli otrzymasz fałszywe alarmy, tj. Błędy narzekające na brakujące tłumaczenia dla łańcucha, który oznaczyłeś jako nieprzetłumaczalny, sprawdź, czy nazwa łańcucha istnieje w innym module. W takim przypadku zmień nazwę lub podaj tłumaczenia, a błąd zniknie.

+0

To działało i wydaje się być właściwym, właściwym rozwiązaniem ' resConfigs "en", "fr" ' – Riz

Powiązane problemy