Lingo.dev + .xml (Android)

Lingo.dev CLI는 네이티브 구조, 속성 및 Android 특정 규칙을 보존하면서 Android XML 리소스 파일을 번역합니다. CLI는 기존 Android 빌드 프로세스와 원활하게 통합되고, 리소스 링킹 시스템을 유지하며, Gradle 및 Android Studio와 함께 작동하고, 형식 변환 없이 플랫폼 현지화 표준을 따릅니다.

빠른 설정

로케일 기반 폴더 패턴을 사용하여 Android 리소스 파일을 지정하세요:

{
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "android": {
      "include": ["res/values-[locale]/strings.xml"]
    }
  }
}

주의사항: [locale]은 CLI 실행 중에 실제 로케일로 대체되므로 구성에 그대로 유지해야 하는 플레이스홀더입니다.

기본 리소스 처리

Android는 기본 values/ 폴더가 필요합니다. 호환성을 위해 심볼릭 링크를 생성하세요:

cd res
ln -s values-en values

이렇게 하면 적절한 로케일 처리를 가능하게 하면서 Android의 요구 사항을 충족합니다.

리소스 번역

npx lingo.dev@latest i18n

XML 형식, 속성 및 특수 Android 구문을 보존하면서 모든 Android 리소스 유형을 처리합니다.

완전한 Android 리소스 지원

문자열 배열

<string-array name="planets">
    <item>Mercury</item>
    <item>Venus</item>
    <item>Earth</item>
</string-array>

수량에 따른 복수형

<plurals name="songs_found">
    <item quantity="one">%d song found</item>
    <item quantity="other">%d songs found</item>
</plurals>

형식 보존

  • HTML 마크업: <b>, <i>, <u> 태그 유지
  • 형식 지정자: %1$s, %2$d 플레이스홀더 보존
  • CDATA 섹션: <![CDATA[]]> 콘텐츠 올바르게 처리
  • 문자열 참조: @string/app_name 링크 유지
  • 특수 문자: \@, \?, \# 이스케이프 보존

고급 구성

다중 리소스 파일

"android": {
  "include": [
    "res/values-[locale]/strings.xml",
    "res/values-[locale]/plurals.xml"
  ]
}

번역 불가능한 문자열 건너뛰기

자동으로 translatable="false" 속성을 존중합니다.