programing

현지화를 위해 Android 문자열 리소스를 Excel로 가져오거나 내보내는 방법은 무엇입니까?

testmans 2023. 5. 5. 08:45
반응형

현지화를 위해 Android 문자열 리소스를 Excel로 가져오거나 내보내는 방법은 무엇입니까?

저는 안드로이드 스튜디오를 앱 개발에 사용합니다.안드로이드 언어 리소스(strings.xml)를 Excel 파일(xlsx)로 내보내기/가져오기하여 문자열을 변환하고 싶습니다.그것을 하는 가장 좋은 방법은 무엇입니까?

다른 사람이 답을 필요로 한다면,

res->strings -> -> -> 우클릭 ->Open Translations Editor한 데이터한 후 를 통해 .Translations Editorexcel다 했어요.

Android 스튜디오 v2.2의 이미지

지금 안드로이드 스튜디오에서 CTRL+A가 작동하지 않기 때문입니다.안드로이드 문자열 파일을 CSV로 변환한 다음 구글 번역기의 도움을 받아 번역한 다음 다시 XML로 변환하는 방법이 하나 있습니다.

https://www.skydevelopers.net/blog/2-best-ways-to-translate-the-android-strings-file/

여기에 자세한 블로그가 있습니다.

  1. 문자열 리소스 파일을 csv로 내보내기
  2. 내용을 번역합니다(아마 구글 번역에서).
  3. 변환된 파일을 Strings.xml(안드로이드 문자열 리소스 파일)로 다시 변환합니다.

나는 csv 파일을 문자열 리소스 파일로 변환하기 위해 http://convertcsv.com/csv-to-xml.htm 을 사용했습니다.

문자열 리소스 파일로 변환하려면 사용자 지정 출력 템플릿을 언급해야 합니다.

<string name="{f1}">{f2}</string>

제공된 템플릿 섹션에 입력합니다.

웹 사이트에서도 원하는 변환된 출력 파일을 표시합니다.

다른 많은 사람들이 지적했듯이,A 번역 편집기에서 +를 누르는 것은 Android Studio 3.2 이후로 작동하지 않습니다.

저는 지속적으로 번역을 아웃소싱하는 회사에서 일하고 있기 때문에 안드로이드 문자열을 xls 파일로 변환해야 합니다.안정적으로 작동한 유일한 솔루션은 구형 안드로이드-랑-툴포크입니다.그냥 메이븐으로 만들고 항아리를 돌립니다.

문자열, 문자열 배열, 복수 및 키 값을 xls 파일로 내보냅니다.댓글도 내보냅니다.

안드로이드 앱 문자열 현지화를 위한 최고의 도구는 안드로이드 스튜디오에 내장된 번역 편집기를 제안합니다.

이것이 훌륭한 접근 방식인 이유는 번역자들이 쉽게 처리할 수 있고 오류가 발생하기 쉽기 때문입니다.Android Studio의 XML 문자열 파일은 문자열 현지화를 지원하는 표준화된 방법인 XLIFF 표기법을 지원합니다.

XML 문자열 파일에 XLIFF 표기법을 사용하면 다음 작업을 수행하여 번역자를 도울 수 있습니다.

  • 선언된 문자열에 대한 추가 컨텍스트 제공
  • 번역해서는 안 되는 메시지 부분 표시

Android 문자열 XML 파일에서 XLIFF를 사용하려면 XLIFF 1.2 네임스페이스를 포함해야 합니다.

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

다음은 Android 현지화 설명서의 몇 가지 문자열 예입니다.

<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">

<!-- Example placeholder for a special unicode symbol -->
<string name="star_rating">Check out our 5
    <xliff:g id="star">\u2605</xliff:g>
</string>

<!-- Example placeholder for a for a URL -->
<string name="app_homeurl">
    Visit us at <xliff:g id="application_homepage">http://my/app/home.html</xliff:g>
</string>

<!-- Example placeholder for a name -->
<string name="prod_name">
    Learn more at <xliff:g id="prod_gamegroup">Game Group</xliff:g>
</string>

<!-- Example placeholder for a literal -->
<string name="promo_message">
    Please use the "<xliff:g id="promotion_code">ABCDEFG</xliff:g>” to get a discount.
</string>

</resources>

Android Studio에서 번역 편집기에 액세스하려면 프로젝트 트리에 있는 XML 문자열 파일(즉, strings.xml)의 상황에 맞는 메뉴에서 번역 편집기 열기를 선택합니다(아래 참조).

오픈 번역 편집기

  1. string.xml을 csv xml-to-csv로 변환합니다.
  2. Google 시트로 가져오기
  3. 공식을 사용하여 번역합니다.=GOOGLETRANSLATE(B2, "auto", "de")
  4. 다음을 사용하여 다른 열에 출력 생성=CONCATENATE("<string name=",char(34),A2,char(34),">",C2,"</string>")여기서 A2는 리소스_입니다.ID와 C2는 변환된 문자열입니다.
  5. 전체 출력 열을 복사하여 내부에 붙여넣습니다.<resource>...</resource>꼬리표를 달다

Sad Mahmud가 대답했듯이 번역 편집기(ctrl+a ctrl+c)에서 복사한 다음 스프레드시트에 붙여넣을 수 있습니다.

기본값 열과 다른 언어 열만 복사하고 맨 위의 기본값을 클릭한 다음 붙여넣기(ctrl+v)하면 스프레드시트에서 번역 편집기로 다시 복사할 수 있습니다.

또한 행과 열의 부분 집합(행과 열의 부분 집합 모두)이 서로 인접한 경우에도 작동합니다.

스프레드시트의 빈 셀은 편집기의 변환을 비워두지 않고 현재 상태를 그대로 유지합니다.

또한 스프레드시트를 만든 후 변환 키를 추가하거나 제거하지 않도록 주의하십시오.

Excel로 내보내기 또는 복사는 Windows PC에서만 지원됩니다.아직 MAC에 없음

다른 많은 사람들이 지적했듯이 Android Studio 3.2 이후 번역을 단순히 복사하여 Translations Editor에 붙여넣을 수 없습니다.

제가 찾은 가장 간단한 해결책은 번역된 Excel 파일을 CSV 파일로 저장한 다음 정규식을 사용하여 XML로 변환하거나 그 반대로 변환하는 것이었습니다.

번역 "가져오기" 단계:

  1. 첫 번째 열에 키가 있고 두 번째 열에 번역이 있는 xls/xlsx 파일을 CSV 파일로 저장(ANSI가 아닌 문자가 있는 파일이 있는 경우, Excel은 utf-8을 사용한 CSV 저장을 지원하지 않기 때문에 Google 시트를 사용)
  2. 정규식으로 "찾기바꾸기"를 지원하는 텍스트 편집기에서 csv 파일을 엽니다(예:메모장++)
  3. 찾기 바꾸기를 열고 정규식 검색을 설정합니다.
  4. »^([^,]*),(.*)$그리고 그것을 대체합니다.<string name="$1">$2</string>
  5. 태그 사이의 문자열 리소스 파일에 파일 복사
  6. 발생할 수 있는 실수 수정

비슷한 방법을 "내보내기"에 역으로 사용할 수 있습니다.사용하다<string.+name="(.*)".*>(.*)</string> 위해 및 기찾위그리고해▁finding.$1,$2 문자열 가 한줄로 합니다.그러나 모든 문자열 태그가 한 줄로 연결된 경우에만 작동합니다.

참고: res 폴더에 다음이 포함되지 않는 경우strings.xml그러면 Android Studio가 strings.xml 파일의 오른쪽 상단 모서리에 "Open Editor"를 표시하지 않습니다(파일 열기).내 경우 모든 문자열 재파일의 이름은 다음과 같습니다.strings_feature.xml

Translations Editor에서 복사/붙여넣기를 하려면 Android Studio 3.2 버전 이하를 사용합니다.전체 열을 복사/붙여넣을 수 있습니다.

언급URL : https://stackoverflow.com/questions/30684496/how-to-import-export-android-string-resource-to-excel-for-localization

반응형