Pull to refresh

Comments 2

Всё-таки не совсем понятен смысл атрибута «state».
Если нужно перевести на несколько языков? Добавлять в этот же xlf-файл ещё один элемент file уже с другим атрибутом target-language? И в нём опять дублировать все тексты в элементах source?
Что означает атрибут source-language?
Какие типы данных понимает данная тулза? Можно ли указать не только текст, но и double? class? Биндинги?

Вообще, какая-то странная концепция. Зачем нужен source элемент? С чем он сравнивается и вообще для чего используется? У нас же уже однозначно определён элемент с помощью uid, указан язык и указано значение элемента при данном языке. Зачем нам source-значение?
Если нужно перевести на несколько языков? Добавлять в этот же xlf-файл ещё один элемент file уже с другим атрибутом target-language? И в нём опять дублировать все тексты в элементах source?

Нет, вы добавляете в ".elas\ElasConfiguration.props" новый язык(и) и все ваши xlf файлы обновляться, в них автоматический появятся file уже с другим атрибутом target-language.

Что означает атрибут source-language?

Xliff это универсальный формат обмена данными для перевода. Для перевода необходимо с какого языка(source-language) на какой(target-language). Вы можете передать файлы xlf переводчику, он переведёт эти файлы и отправить вам их обратно, вы замените старые на новые. Так же вы можете заменить по умолчанию Elas претранслятор на другой например Elas Pretranslate MicrosoftTranslation. Претранлятор который Elas использует по умолчанию заменяет только 100% совпадения в элементах source. Например у меня есть в xaml кнопка с текстом «Cancel», я сделал перевод на «Отмена», позже я добавил ещё одну кнопку/элемент тоже с текстом «Cancel», но в xlf файле для этой кнопки/элемента у меня буде state не «new» а «needs-review-translation» и «target» уже будет содержать перевод «Отмена». Мне остаётся только убедится что значение «Отмена» это то что надо и заменить «needs-review-translation» на «translated». Либо например вы зарегистрировались на портале для переводчиков где есть расширение для Elas, вы настраиваете это расширение для своего аккаунта и получаете автоматическую систему переводов ваших xlf файлов. Вы разрабатываете приложение добавляете новые контролы, а переводчик получает xliff файлы и переводит их, это всё синхронизируется и на выходе локализованное приложение.
Какие типы данных понимает данная тулза? Можно ли указать не только текст, но и double? class? Биндинги?

Вся обработка типов данных происходит согласно Localization включая комментарии и контроль атрибутов «translate» и «state». Например я установил в xaml Image.Stretch=«None», в xlf у меня будет сразу translate=«no» и state=«final», но если я поменяю эти атрибуты в translate=«yes» и state=«translated» и «None» в «Fill», то это значение применяться после локализации.
Вообще, какая-то странная концепция. Зачем нужен source элемент?

Для того что бы сторонний переводчик мог перевести текст.
С чем он сравнивается и вообще для чего используется? У нас же уже однозначно определён элемент с помощью uid, указан язык и указано значение элемента при данном языке. Зачем нам source-значение?

Так же его использует Elas. Например вы добавили кнопку с x:Uid=«Button1» и текстом «Add directory», вы перевели это, установили state=«translated». Позже вы изменили текст в кнопке на «Add file». Elas сравнит source значение в Id=«Button1» и автоматический изменит state с «translated» на «needs-review-translation» (вы увидите предупреждение) поскольку текущее значение в target может не соответствовать новому значению в source
Sign up to leave a comment.

Articles