파일을 프로젝트에 업로드하면, 해당 파일에서 모든 새 리소스가 추출되어 프로젝트에 저장됩니다. 업로드된 파일의 형식은 프로젝트에 대해 설정된 초기 형식과 같지 않아도 됩니다. 리소스 그룹화를 위해 태그가 제공되는 경우, 새 키에 해당 태그가 적용됩니다.
Gettext와 같은 일부 형식은 주석, 설명 또는 복수형에 대한 정보와 같은 추가적인 유용한 메타 정보를 제공합니다. 이 정보는 가능한 경우 추출되어 할당된 리소스와 함께 저장되므로, 현지화 파일에서 제공되는 모든 유용한 정보를 향후 사용을 위해 저장할 수 있습니다.
파일을 업로드하는 방법은 다음과 같습니다:
-
기본적으로 새로운 콘텐츠만 추출되며 현지화 프로젝트의 기존 키는 삭제되거나 업데이트되지 않습니다. 파일을 업로드하여 데이터가 손실되는 일은 없습니다. 기존 데이터를 덮어써야 하는 경우, 옵션을 선택하여 프로젝트 콘텐츠를 현지화 파일의 콘텐츠로 바꾸기 하십시오. 기존 번역은 업로드된 현지화 파일의 콘텐츠로 덮어쓰기 됩니다.
이 옵션은 API에서도 사용할 수 있습니다.
참고
데이터 손실을 방지하려면, 파일을 변경하고 옵션으로 다시 업로드하기 전에 Phrase에서 최신 변경 사항을 다운로드했는지 확인하십시오.
-
업로드된 번역 키 이름 앞에 붙일 고유 식별자(예: 파일 경로)를 입력하십시오. 키 이름을 체계적으로 관리하려면 프로젝트나 파일과 관련된 의미 있는 접두사를 사용하십시오.
예를 들어, 접두사
project_가 있는 가져온 키hello_world는 키project_hello_world가 됩니다.번역 키 접두사는 키가 기존 키와 일치하도록 하여 서로 다른 프로젝트나 파일 간의 충돌을 방지합니다.
이 옵션은 API 및 CLI 인터페이스에서도 사용할 수 있습니다.
-
새 키를 추가하고 업로드된 파일의 콘텐츠로 기존 키를 덮어쓰십시오.
-
프로젝트의 기본 언어에 있는 기존 소스 텍스트가 업로드된 다국어 파일의 소스 텍스트와 일치하는 경우에만 대상 번역을 업데이트하십시오.
-
업로드된 파일의 모든 키 설명을 업데이트해야 하는 경우 이 옵션을 선택하십시오. 비어 있음 설명은 기존 설명을 덮어씁니다. 설명에는 번역자를 위한 추가 정보가 포함될 수 있으며 편집자에서 개별 키를 식별하는 데 도움이 됩니다.
-
번역을 체계적으로 유지하려면 의미 있는 레이블이 있는 키에 여러 태그를 추가하십시오. 새 키가 업로드 태그로 자동 태그 지정되는 것을 방지하려면 이 옵션을 선택하십시오.
-
새 키와 업데이트된 번역이 있는 키에 업로드 시 자동으로 태그를 지정하려면 이 옵션을 선택하십시오. 이는 새 Strings, 업데이트된 Strings, 오래된 Strings을 구분하는 데 도움이 되며 관련 키만 추가로 처리되도록 합니다.
이 옵션은 API에서도 사용할 수 있습니다.
-
파일의 인코딩(예: UTF-8)을 지정하거나 자동으로 선택되도록 하십시오(자동으로 선택된 인코딩은 잘못된 인코딩 결과를 초래할 수 있으며 업로드를 취소하여 되돌릴 수 있습니다).
-
-
는 번역을 업데이트할 때 기본 언어가 아닌 번역을 다시 확인할 필요를 방지합니다.
-
는 모든 업로드된 번역을 검토됨으로 처리합니다. 이 옵션은 고급 검토 워크플로가 활성화된 경우 사용할 수 있습니다. 이는 키가 프로덕션으로 전송될 준비가 되었음을 나타냅니다.
-
은 모든 업로드된 번역을 확인됨으로 처리합니다.
-
Strings에서 파일을 업로드하려면 다음 단계를 따르십시오.
-
업로드하기 전에 type을(를) 기준으로 파일 형식이 올바르게 지정되었는지 확인하십시오.
-
프로젝트에서 메뉴에서 Upload file을(를) 선택하십시오.
페이지가 열립니다.
-
Choose file을(를) 클릭하고 디렉터리에서 파일을 선택하십시오.
선택한 파일이 필드에 추가됩니다.
-
파일에 대한 을(를) 선택하십시오.
제안된 형식은 파일 유형에 따라 먼저 표시됩니다.
-
목록에서 파일 콘텐츠에 대한 언어를 선택하십시오.
파일 자체에 이 정보가 없는 경우, 콘텐츠에 대한 새 언어를 생성하거나 기존 언어를 사용하십시오.
-
선택적으로 새 키에 할당할 태그 및 기타 옵션을 제공하십시오.
-
저장을 클릭합니다.
콘텐츠가 가져오기되고 키로 변환됩니다.
-
업로드 실패
파일을 제대로 처리할 수 없는 경우, 오류를 완화하는 데 도움이 되도록 오류 세부 정보가 제공됩니다.
-
업로드 성공
번역 파일이 성공적으로 처리된 후, 다음 단계로 연결되는 버튼과 함께 업로드에 대한 개요를 제공하는 요약 페이지가 표시됩니다. 업로드 태그를 클릭하여 편집자에서 파일을 여십시오.
-
키 제거
현지화 파일에서 키를 제거하고 다시 업로드할 때 키가 실수로 삭제되는 것을 방지하기 위해 해당 키는 자동으로 삭제되지 않습니다.
해당 키를 제거하려면 다음 단계를 따르십시오:
언급되지 않은 키는 현재 업로드에는 포함되어 있지 않지만 프로젝트에는 여전히 존재하는 키입니다. 이를 삭제하면 업로드된 파일에 포함되지 않은 모든 키와 관련 번역이 프로젝트에서 제거됩니다.
언급되지 않은 키 삭제 제한은 100,000개 키입니다. 이 제한을 초과하는 프로젝트에서는 옵션을 사용할 수 없습니다.
-
업로드 취소
모든 업로드는 여러 작업을 트리거하고 프로젝트 내의 많은 데이터를 수정할 수 있으므로 업로드를 취소할 수 없습니다.
업로드된 파일에 의해 (잘못) 도입된 키를 제거하려면 다음 단계를 따르십시오:
해당 업로드로 생성된 모든 키와 관련 번역이 제거됩니다. 업로드 이전에 존재했던 키에 대한 번역은 제거되지 않습니다. 개별 번역을 제거하려면 각 번역의 버전 기록을 사용하십시오.
언어 파일은 언제든지 프로젝트에서 지원되는 모든 파일 형식<1>(으)로 내보낼 수 있습니다.
파일은 애플리케이션에서 API 또는 CLI<2>(을)를 통해 내보낼 수 있습니다.
파일은 프로젝트의
다운로드 옵션은
다른
선택적으로 탭의 필드를 사용하여 사용자 지정 내보내기 파일 이름을 지정하거나, 비워 두어 시스템 정의 이름을 생성하십시오.
기본적으로 번역 가능 리소스는 원래 파일 구조를 유지하는 대신 키와 값으로 저장됩니다. 이를 통해 한 형식에 잠기지 않고 상호 교환 가능한 파일 형식<1>을 사용할 수 있으며 태그<2>를 사용하여 유연하게 그룹화할 수 있습니다.
일부 프레임워크나 설정은 추가 구성이 필요한 여러 소스 파일을 요구하기도 합니다.
별도 파일 유지
일반적으로 각 언어에 대한 모든 번역은 하나의 파일에 보관하십시오. 이렇게 하면 리소스 다운로드가 더 빠르고 안정적입니다. 번역은 프로젝트 내에서 조직화되어 유지되므로 작은 파일을 별도로 분리할 필요가 없습니다.
로컬라이제이션 파일을 별도의 파일로 유지해야 하는 경우, 업로드 시 키에 태그를 지정하고 번역된 키를 원래 파일로 다시 다운로드할 때 태그를 참조로 사용하여 파일 기반 워크플로를 사용할 수 있습니다. 키는 여러 태그를 가질 수 있으며 여러 파일에 포함되어 재사용성과 일관성을 보장할 수 있습니다. 태그 기반 워크플로는 유연하며 프로젝트에 업로드하지 않고도 번역 리소스를 재조직할 수 있습니다.
원활한 워크플로를 보장하기 위해 모든 파일에서 키에 고유한 이름을 지정하십시오. 키-값 기반 접근 방식에서는 키가 모든 컨텍스트에서 동일한 값을 할당받아야 합니다. 일부 프레임워크는 여러 파일에 걸쳐 고유하지 않은 키를 사용하는 것을 허용합니다. Symfony와 같은 일부 형식은 메시지 도메인을 지원합니다. 이러한 도메인은 파일 이름으로 감지됩니다. 키는 파일 이름 기반 도메인에 의해 자동으로 범위가 지정되지 않지만, 파일 내 키에 고유한 도메인 접두사를 사용하여 해결할 수 있습니다.
CLI 설정 예시
CLI로 작업하거나 프로젝트를 리포지토리(예: GitHub, GitLab 또는 Bitbucket)와 연결하는 경우, 업로드 및 다운로드를 관리하기 위한 구성 파일을 설정하십시오.
예를 들어, 프로젝트에는 소스 로캘에 대한 의미론적으로 명명된 여러 번역 파일이 있습니다. 예: accounts.en.yml, emails.en.yml 등. 이러한 의미론적 이름은 태그를 통해 관리됩니다.
.phrase.yml을 구성하여 로컬라이제이션 프로젝트의 파일 조직을 반영하고 파일 경로에 태그 자리 표시자를 포함하여 Strings 프로젝트의 태그에 연결하십시오:
phrase:
access_token: "3d7e6598d955bfcab104c45c40af1b9459df5692ac4c28a17793"
project_id: "23485c9c5dfb15d85b32d9c5f3d2hl54"
file_format: yml
push:
sources:
- file: ./path/to/locales/<tag>.en.yml
params:
locale_id: "abcd1234cdef1234abcd1234cdef1234"
pull:
targets:
# 계정
- file: ./path/to/locales/accounts.<locale_name>.yml
params:
태그: 계정
# 이메일
- file: ./path/to/locales/emails.<locale_name>.yml
params:
태그: 이메일
중요 사항
지원되기는 하지만 보안상의 이유로 파일 내에 액세스 토큰을 저장하는 것은 권장되지 않습니다.
PHRASE_ACCESS_TOKEN<1> 환경 변수를 설정하는 것이 더 안전합니다.
매개변수 태그는 <tag><1> 자리 표시자를 사용하는 대신 푸시 섹션에서도 사용할 수 있습니다.
구성은 리포지토리에서 푸시를 실행하거나 동기화를 트리거할 때 파일 기반의 태그가 포함된 키를 생성합니다. 풀을 실행하거나 리포지토리로 내보내기를 트리거할 때 태그를 기반으로 키를 파일로 그룹화합니다.
제품, 웹사이트 또는 앱이 여러 다른 언어로 번역되지만, 경우에 따라 현지화는 단순히 선택된 언어뿐만 아니라 한 언어 내의 다른 버전을 의미하기도 합니다.
다음과 같은 경우 추가적인 구분이 필요합니다:
-
제품이 동일한 언어를 사용하는 지역에서 다른 브랜딩을 갖는 경우.
-
제품이 화이트 라벨 솔루션을 사용하려는 다른 고객에 의해 사용되는 경우.
-
단순, 격식 또는 비격식과 같은 언어 변형이 필요한 경우.
정적 제품 현지화
제품이 완전히 개발되었고 거의 업데이트되지 않는 경우, 프로젝트 내에 별도의 제품 버전이 존재할 수 있습니다.
지속적인 업데이트가 있는 프로젝트 로컬라이즈
제품이 새로운 콘텐츠(키)로 지속적으로 업데이트되는 경우, 이러한 업데이트를 여러 프로젝트에 적용하고 동기화 상태를 유지하는 것은 어렵습니다. 프로젝트 내에서 전용 언어를 사용하여 유지 관리합니다.
ISO 표준을 따르는 언어 코드(예: en-US)는 고유할 필요가 없으므로, 동일한 언어의 여러 버전을 프로젝트 내에서 생성할 수 있습니다. 고유한 언어 이름을 사용하여 지역, 클라이언트 또는 대상을 구분합니다.
설정 시, 기본 로캘에 새로 도입된 모든 키는 다른 언어에서 번역되지 않음으로 표시되며 그에 따라 로컬라이즈됩니다. 클라이언트 및 해당 클라이언트의 번역가와 작업하는 경우, 사용자 프로필 또는 프로젝트 사용자 관리에서 언어 액세스를 업데이트하여 해당 번역가가 자신의 언어 버전만 편집할 수 있도록 구체적으로 할당합니다.
동일한 프로젝트 내에서 작업 및 검토 워크플로를 사용하여 병렬 로컬라이제이션 프로세스를 설정합니다. 이러한 유연성은 API를 통한 언어 파일 업로드 및 다운로드나 자동화된 프로세스로도 확장됩니다.