Если вы начинаете с 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

Если вы используете какой-либо другой формат и вам нужна помощь в его преобразовании, дайте мне знать, и я добавлю его ;)