Для меня это было связано с этим вопросом: локализация Xcode 6. Экспорт файла .xliff обрежет строку, если она имеет вид «это образец \»текст\»
Мой строковый файл выглядел так:
"some english \"text\"" = "some english \"text\""
При экспорте в XLIFF это выглядело так:
<trans-unit id="">
<target>some english \</target>
<source>some english \</target>
<note></note>
</trans-unit>
Мои переводчики точно перевели это: (симуляция)
<trans-unit id="">
<target>some english \</target>
<source>xyz abcdefg \</source>
<note></note>
</trans-unit>
При попытке импортировать переведенный XLIFF я получил ошибку XLIFF id attribute missing
.
Чтобы исправить это, я зашел в свой файл строк и изменил запись на это:
"some english 'text'" = "some english 'text'"
а клифф...
<trans-unit id="some english 'text'">
<target>some english 'text'</target>
<source>xyz abcdefg</source>
<note></note>
</trans-unit>
... а затем импортировал, и это сработало. Очевидно, что на данный момент перевод этой строки неверен и должен быть переделан, но, по крайней мере, остальная часть текста импортирована.
Редактировать:
Я искал решение этой проблемы. Я обнаружил, что использование фигурных кавычек экспортирует правильно, поэтому строка: some english “text”
создает xliff:
<trans-unit id="some english “text”">
<source>some english “text”</source>
</trans-unit>
Это единственный известный мне способ сделать это на данный момент.
person
Matt Mc
schedule
04.02.2015