program tip

translatable =“false”인 strings.xml의 "여기에서 번역되었지만 기본 로케일에서 찾을 수 없음"오류

radiobox 2020. 11. 30. 08:02
반응형

translatable =“false”인 strings.xml의 "여기에서 번역되었지만 기본 로케일에서 찾을 수 없음"오류


다음은 내 values ​​\ strings.xml (기본 파일)이며 모든 것이 자명합니다.여기에 이미지 설명 입력

내 질문 :

  1. 기본 로케일 (values ​​\ strings.xml)을 편집하는 경우 어떻게 "기본 로케일에서 찾을 수 없음"이 될 수 있습니까?
  2. 설정하면 어떻게 Lint 번역 오류가 발생할 수 translatable="false"있습니까? values-pl \ strings.xml (및 values-ru, values-iw 폴더도)에서 문자열이 존재하지 않습니까? 어쨌든 안됩니다.
  3. 러시아어 문자열에 대한 오류가 발생하지 않는 이유를 이해할 수없는 것 같습니다.

(여기에 values-ru \ string.xml 또는 values-pl \ string.xml이 표시되지만 문자열이 누락 되었기 때문에 관심있는 항목이 없습니다 ...)


이것은 나에게도 일어났다

나는 2 가지 일을한다 :

  • 완료되지 않은 다른 번역을 보려면 전체 파일을 확인하십시오 (파일 en에 있지만 pt-br에 있습니다)
  • Gradle을 정리하고 업데이트하고 Android Studio를 종료하고 다시 시작하십시오.

재 구축에는 시간이 오래 걸릴 수 있습니다. YMMV,하지만 ...

문제가되는 줄을 제거하고 다시 추가하기 만하면됩니다.

나를 위해 일했습니다. 매우 빠릅니다.


제 경우에는 이것이 도움이되었습니다.

  1. 오류를 일으키는 문자열을 선택하십시오.
  2. 잘라.
  3. 다시 붙여 넣기

작동하지 않는 경우 strings.xml(v21)파일에 동일한 문자열을 추가해보십시오 .


Invalidate Caches / Restart ...눌러 android studio를 다시 시작하십시오 . 그것은 나를 위해 일했습니다. 실제로 이것은 다른 컴퓨터에서 파일을 복사하고 파일 탐색기를 통해 붙여 넣었을 때 발생했습니다.


기본 로케일 자체와 모든 번역에서 발생한 이상한 문제와 함께 동일한 오류 메시지가 나타납니다. 내부적으로 "bla_blub"으로 변환되고 "bla.blub"과 일치 할 수 없기 때문에 이름에 점을 사용해서는 안됩니다 (예 : name = "bla.blub"). 기본 로케일에서 밑줄로 점을 변경하기 만하면 다른 번역 (이름의 점 포함)의 다른 모든 오류도 사라졌습니다.

그러나 다른 빌드 도구는 여전히 문제를 일으킬 수 있으므로 모든 점을 대신 밑줄로 바꾸십시오!


Android Studio를 종료하고 다시 시작하면 문제가 해결되었습니다.


Android 앱의 번역 상태를 관리하는 도구를 만들었습니다. 다른 언어에서 누락 된 문자열을 알려줄뿐만 아니라 기본 번역 파일에서 삭제했을 수있는 남은 문자열을보고하고 정리할 수도 있습니다.

https://github.com/gubatron/android-missing-strings

다른 언어로 남은 모든 것을 청소하려면 다음과 같이 호출하십시오.

./ams --cleanleftovers -o all.txt

이렇게하면 남은 문자열이 정리되고 모든 언어에 대한 누락 된 문자열 보고서가 all.txt 파일로 출력됩니다.


아래 단계에 따라이 문제를 해결했습니다.

  1. 내 프로젝트 청소

  2. 재건

  3. 마지막으로 잘못된 캐시를 누르거나 파일 메뉴에서 다시 시작

Android Studio에서이 문제에 직면 한 모든 사람에게 도움이되기를 바랍니다.


"xmlns:tools="http://schemas.android.com/tools" 이 코드를 strings.xml 파일의 리소스 태그에 추가해야합니다.


동일한 대소 문자를 포함하여 모든 문자열 파일에 동일한 명명 규칙이 있는지 확인하십시오. strings.xml에 "sign_in"이 있고 fr / string.xml에 "sign_In"이있는 경우 "is translate here but not found in default locale"과 같은 fr / strings.xml에 오류가 발생합니다. 따라서 "sign_in"으로 편집 할 때. 오류가 제거됩니다.


문제가되는 줄 (또는 여러 줄의 여러 줄 중 하나만)을 복사하고 제거하고 다시 붙여 넣기 만하면됩니다. 그것은 나를 위해 문제를 제거했습니다.

참고 URL : https://stackoverflow.com/questions/50027691/is-translated-here-but-not-found-in-default-locale-error-in-strings-xml-with-t

반응형