Ако започвате с AutoML Translation и искате да създадете основен набор от данни, като използвате преводите, които вече имате в проект, ето лесен начин да получите необходимия tsv файл.
За примера нека си представим, че създавате набор от данни с източник EN и целеви PT.
От iOS
- Поставете вашите .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
- Поставете вашите .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
Ако използвате друг формат и имате нужда от помощ за трансформирането му, уведомете ме и аз ще го добавя ;)