Ако започвате с AutoML Translation и искате да създадете основен набор от данни, като използвате преводите, които вече имате в проект, ето лесен начин да получите необходимия tsv файл.

За примера нека си представим, че създавате набор от данни с източник EN и целеви PT.

От iOS

  1. Поставете вашите .strings файлове в директория и ги наименувайте en.strings и pt.strings

Файловете трябва да имат следната структура (ако не, няма да работят.. ще трябва да адаптирате замените, които правя)

"KEY_STRING_HELLO" = "Hello!";
// Optional comment here
"KEY_STRING_BYE" = "Bye!";

2. Отворете и двата файла във vi, за да ги сортирате и да изтриете редовете за коментари:

vi en.strings pt.strings
:%!sort -u
:g/^$/d
:g/^\/\//d
:wn
<same exact commands as above ^>
:wq

3. Тогава нека обединим двата файла. Изпълнете следното в bash терминал, където имате файловете:

join -t= -1 1 -2 1 en.strings pt.strings > en-pt.tsv

4. Отворете tsv файла, за да го трансформирате в tsv формат:

vi en-pt.tsv
:%s/^.*" = "//g
:%s/";$//g
:%s/";= "/^I/g       -- ^I is actually a tab

От Android

  1. Поставете вашите .xml файлове в директория и ги наименувайте en.xml и pt.xml

Файловете трябва да имат следната структура (ако не, няма да работят.. ще трябва да адаптирате замените, които правя)

<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<string name="sring_hello">Hello!</string>
<!--Optional comment here-->
<string name="string_bye">Bye!</string>
</resources>

2. Най-лесният начин е да трансформирате тези файлове в структура, подобна на тази, която имаме след стъпка 2 на „От iOS“.

И така, отворете и двата файла във vi, за да ги сортирате, изтрийте ненужните редове и ги трансформирайте:

vi en.xml pt.xml
:%!sort -u
:g/^$/d
:g/<!--/d
:g/?xml/d
:g/<\/resources>/d
:g/<resources /d
:%s/^.*="//g
:%s/">/=/g
:%s/<\/string>//g
:wn
<same exact commands as above ^>
:wq

3. Тогава нека обединим двата файла. Изпълнете следното в bash терминал, където имате файловете:

join -t= -1 1 -2 1 en.xml pt.xml > temp.tsv

4. Отворете временния tsv файл, за да го трансформирате в tsv формат:

vi temp.tsv
:%s/^[^=]*=//g
:%s/=/^I/g
:wq

5. Сега, ако искате да обедините двата файла, просто изпълнете:

cat temp.tsv >> en-pt.tsv

Ако използвате друг формат и имате нужда от помощ за трансформирането му, уведомете ме и аз ще го добавя ;)