Lint :“<key>가 <language>”로 번역되지 않은 오류를 무시하는 방법?


189

현지화 파일이 아직 완벽하지 않기 때문에 Android 앱을 컴파일 / 디버그 할 수 없습니다.

내 IDE의 유효성 검사 도구 Lint 는 다음과 같은 오류를 생성합니다.

newCardsOrderVals는 ar, bg, ca, cs로 번역되지 않습니다

Ant를 사용하여 컴파일 / 설치 / 실행하는 것은 잘 작동하지만 디버깅을 쉽게하기 위해 IDE를 사용하고 싶습니다.

이 특정 검사를 해제하거나 이상적으로 오류가 아닌 경고로 만드는 방법이 있습니까?

릴리스 전에는 현지화 파일을 제대로 가져와야하지만 당분간은 화면 자체가 매우 자주 수정되므로 우선 순위가 중요하지 않습니다.


1
"번역되지 않음"으로 표시되는 모든 언어를 구성하는 방법이 있습니까? "es, he 및 iw"와 같은 오류가 발생합니다. 왜 그런 언어를 구할 수 있습니까? 세트를 "en"으로 만 제한하도록 Android 앱을 구성하려면 어떻게합니까?
인디언 자리

@inder : res / 폴더에 "values-he"등의 디렉토리가있을 수 있습니까?
Nicolas Raoul

1
아니요, 그런 디렉토리가 없습니다. 값, 레이아웃 및 드로어 블 만.
인디언 자리

7
그와 iw는 Facebook SDK 라이브러리에서 왔습니다.
madej

2
이것은 Android Lint의 버그입니다. code.google.com/p/android/issues/detail?id=50525
altumano

답변:


348

안드로이드 스튜디오 :

  • "파일"> "설정"을 클릭하고 검색 상자에 "MissingTranslation"을 입력하십시오.

식:

  • Windows / Linux : "창"> "환경 설정"> "Android"> "Lint 오류 검사"에서
  • Mac : "Eclipse"> "Preferences"> "Android"> "Lint Error Checking"

MissingTranslation선을 찾아 Warning아래에 표시된대로 설정하십시오 .

번역 누락, 번역되지 않았습니다


2
... "창"> "환경 설정"> "Android"> "Lint 오류 검사"
Ollie Bennett

2
도움이되었지만 갑자기 나타날 때까지 오랫동안이 문제가 없었습니다. 그리고 나는 왜 그런지 모르겠다.
pktangyue

여러분의 소중한 게시물에 대한 감사
asati Pawan

참고로 Android Studio에서는 검색 창에 "파일"> "설정"및 "MissingTranslation"이 있습니다.
동료

86

다음과 같이 정의에서 translatable = "false"속성을 설정할 수 있습니다.

<string name="account_setup_imap" translatable="false">IMAP</string>

자세한 정보 : http://tools.android.com/recent/non-translatablestrings


1
"현지화 파일이 아직 완벽 하지 않습니다 "라고 말했습니다. 그들은 조금씩 채워지고 있습니다. translatable = "false"는 다른 사람의 번역을 방해합니다.
Nicolas Raoul

3
대답은 질문과 직접 ​​관련이 없지만 구글이 "내 앱을 상수 / 매개 변수에 대해 걱정하지 않는 방법"을 발견했을 때이 주제를 찾은 사람들과 같은 훌륭한 솔루션을 제공한다고 생각합니다. efor18 감사합니다!
aka_sh

83

gradle 빌드에서 이것을 무시하려면 빌드 파일의 android 섹션에 이것을 추가하십시오.

lintOptions {
   disable 'MissingTranslation'
}

2
정말 고마워요. 말 그대로 생산에 필요한 모든 줄을 찾는 날을 절약했습니다.
D-Kent

좋은 것, 이것이 해냈습니다
Mirko

이것을 내 앱 모듈에 추가하여 나에게 도움이되었습니다.
머큐리

23

이로 인해 Lint는 파일의 모든 문자열에 대해 누락 된 변환 오류를 무시하지만 필요한 경우 다른 문자열 리소스 파일을 확인할 수 있습니다.

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

모든 프로젝트에서 보푸라기를 해제하지 않고 진행하는 가장 올바른 방법 일 것입니다.
MatPag

11

특정 문자열에 대한 경고를 끄려면 다음을 사용할 수 있습니다.

strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>    

    <!--suppress MissingTranslation -->
    <string name="some_string">ignore my translation</string>
    ...

</resources>

오류 대신 특정 문자열에 대해 경고하려면 특정 사물의 심각도 상태를 조정하기 위해 사용자 정의 Lint 규칙을 작성해야합니다.

http://tools.android.com/tips/lint-custom-rules


1
+1 한 번만 수행하면 좋은 방법이므로 팀의 모든 개발자가 IDE 설정을 수정할 필요가 없습니다. 완전히 억제하기보다는 경고하는 방법이 있습니까?
니콜라스 라울

특정 사물의 심각도 상태를 조정하기 위해 사용자 정의 Lint 규칙을 작성할 수 있습니다. 여기에 예가 있습니다 : tools.android.com/tips/lint-custom-rules
Eduko


8

다음과 같이 자원 루트 탭의 /res/values.xml 파일에 행을 추가하십시오.

<resources
xmlns:tools="http://schemas.android.com/tools" 
    tools:locale="en" tools:ignore="MissingTranslation">

tools : locale은 로컬 언어를 영어로 설정합니다. 나중에 모든 리소스 문자열과 도구에 대해 언어를 번역 할 필요가 없습니다. Lint가 리소스 문자열 값의 누락 된 번역을 무시하도록하십시오.


6

안드로이드 섹션에서 gradle 파일에 다음을 추가하십시오.

    lintOptions {
       disable 'MissingTranslation'
    }

5

게다가,

프로젝트 종속 특성이 아닌 Eclipse 환경 설정.
Mac에서 Eclipse> 환경 설정

여기에 이미지 설명을 입력하십시오


3

또 다른 방법은 Gradle과 함께 'resConfigs'옵션을 사용하여 나머지 언어를 지원하고 필터링하려는 언어를 표시하는 것입니다.

체크 아웃 이 다른 대답 자세한 내용을

실제로 지원하려는 언어의 합법적 인 번역 실수를 완전히 무시할 필요가 없기 때문에 더 좋습니다.



1

그들 중 많은 사람들이 다른 작업 답변을 받았으며, 일식으로 다음을 수행하여 무시하는 동일한 보풀 오류가 발생했습니다.

  1. Windows를 클릭하십시오
  2. 환경 설정을 클릭하십시오
  3. android> Lint Error Checking을 선택하십시오.
  4. 모두 무시> 적용> 확인을 클릭하십시오.

그게 다야.


2
이것은 모든 보푸라기 환경 설정을 무시합니다. 뿐만 아니라 누락 된 번역
루치아노 로드리게스

1

다음은 나를 위해 일했습니다.

  • Windows를 클릭하십시오
  • 환경 설정을 클릭하십시오
  • android> Lint Error Checking을 선택하십시오.
  • 관련 보푸라기 검사를 찾아서 선택하고
  • 심각도를 '무시'로 설정하십시오 (오른쪽 아래).
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.