Crowdin의 번역 데이터를 CSV로 요약한 crowdin 2csv 소개

crowdin2csv의gem를 제작했기 때문에 소개해드릴게요.

크라우딘이란


어느 정도 규모 이상의 다국어 프로그램을 만들 때 번역문과 단어를 관리하기 위해 도구를 가져옵니다.
Crowdin는 웹 응용 프로그램으로 제공되는 번역 도구입니다.이 응용 프로그램에서는 어떤 형식으로 번역하고 싶은 단어와 문장의 데이터를 등록한 다음에 번역자가 번역한 다음에 어떤 형식으로 응용 프로그램에 도입한다.
같은 종류의 공구Transifex도 유명하다.OSS에도 Weblate 같은 도구가 있다고 합니다.
Crowdin·Transifex·Weblate(클라우드 hosted 버전)는 OSS에서 무료로 사용할 수 있는 범위가 있는데, 대형 OSS 개발과 관련이 있다면 누군가가 이런 서비스를 사용한 적이 있을 것이다(나는 일찍이 Transfiex와 Crowdin으로 깊이 번역한 적이 있다).

XLIFF 소개


XLIFF는'XML Localization Interchange File Format'의 약자로 번역된 데이터를 XML로 교환하는 파일 형식이라고 한다.
이전부터 사용한 형식은 gettext의 PO 파일 등이 있는데 바로 그 XML 버전이죠.
XLIFF 파일의 샘플은 다음과 같습니다.
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.2" xmlns="urn:oasis:names:tc:xliff:document:1.2">
  <file id="2654" original="/develop/decidim-accountability/config/locales/en.yml" source-language="en" target-language="ja" datatype="plaintext" project-id="224606" tool-id="crowdin">
    <header>
      <tool tool-id="crowdin" tool-name="Crowdin" tool-version="1.1"/>
    </header>
    <body>
      <trans-unit id="114846" resname="root.activemodel.attributes.result.decidim_accountability_status_id">
        <source>Status</source>
        <target state="translated">ステータス</target>
        <note from="Crowdin" priority="2">root -&gt; activemodel -&gt; attributes -&gt; result -&gt; decidim_accountability_status_id</note>
      </trans-unit>
      <trans-unit id="114848" resname="root.activemodel.attributes.result.decidim_category_id">
        <source>Category</source>
        <target state="translated">カテゴリ</target>
        <note from="Crowdin" priority="2">root -&gt; activemodel -&gt; attributes -&gt; result -&gt; decidim_category_id</note>
      </trans-unit>
응, 왠지 분위기를 전달할 수 있을 것 같아.trans-unit는 번역 단위이고 source는 원단어이며 문장target은 번역문이다.
Crowdin은 번역된 단어를 XLIFF 형태로 다운로드할 수 있는 XLIFF를 지원한다.올릴 수도 있을 것 같은데 난 안 써봤어.
Transifex에도 XLIFF 다운로드 기능이 있는 것 같지만, 제 관련 항목에서는 이 기능을 사용할 수 없습니다.설정이 문제야?
위블렛에도 같은 기능이 있다고 한다.

crowdin2csv


여기에서 설명하면 대체적으로 이해될 것 같지만,crowdin2csv는 이 Crowdin이 토해낸 XLIFF 형식의 파일을 CSV 파일로 변환합니다.그냥.
설치는gem 명령을 사용합니다.
$ gem install crowdin2csv
실행 시 XLIFF 파일을 매개변수로 실행합니다.
$ crowdin2csv foo.xliff
이렇게 하면,foo.csv 파일을 생성합니다.다른 파일 이름-o을 사용하려면 옵션을 사용합니다.
$ crowdin2csv -o bar.csv foo.xliff
이렇게 하면,bar.csv 파일을 생성합니다.
결과가 생성된 CSV 파일은 다음과 같습니다.
unit_id,file_id,original,source,target,resname,note
114846,2654,/develop/decidim-accountability/config/locales/en.yml,Status,ステータス,root.activemodel.attributes.result.decidim_accountability_status_id,root -> activemodel -> attrib
utes -> result -> decidim_accountability_status_id
114848,2654,/develop/decidim-accountability/config/locales/en.yml,Category,カテゴリ,root.activemodel.attributes.result.decidim_category_id,root -> activemodel -> attributes -> resul
t -> decidim_category_id
번역은 많은 사람의 협조와 피드백이 필요하지만 XLIFF 형식으로 읽는 사람이 많지 않은 것 같아서 이 경우 CSV화해 엑셀이나 구글 셰이츠 형식으로 공유하는 게 좋지 않을까.
마이크로소프트의 창고는 GiitHub에 있습니다.무슨 일이 있으면 issue와pull request를 보내주세요.
https://github.com/takahashim/crowdin2csv

좋은 웹페이지 즐겨찾기