Если вы начинаете с 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
Если вы используете какой-либо другой формат и вам нужна помощь в его преобразовании, дайте мне знать, и я добавлю его ;)