Как создать xliff файл

Обновлено: 05.07.2024

XLIFF ( XML Localization Interchange File Format ) - это битекстовый формат на основе XML , созданный для стандартизации способа передачи локализуемых данных между инструментами в процессе локализации и общий формат для обмена с CAT-инструментами . XLIFF TC впервые был созван в OASIS в декабре 2001 г. ( первое собрание состоялось в январе 2002 г.), но первая полностью ратифицированная версия XLIFF появилась как XLIFF Version 1.2 в феврале 2008 г. Его текущая спецификация - v2.1, выпущенная 13 февраля 2018 г. который обратно совместим с версией 2.0, выпущенной 05.08.2014.

Спецификация предназначена для индустрии локализации. Он определяет элементы и атрибуты для хранения содержимого, извлеченного из различных исходных форматов файлов, и его соответствующего перевода. Цель заключалась в том, чтобы абстрагировать навыки локализации от инженерных навыков, связанных с конкретными форматами, такими как HTML.

XLIFF является частью эталонной архитектуры Open Architecture for XML Authoring and Localization ( OAXAL ).

СОДЕРЖАНИЕ

XLIFF 2.0 и выше (текущий формат, ратифицированный OASIS)

Технический комитет XLIFF в настоящее время готовится начать работу над XLIFF версии 2.2. Перед созданием основной новой версии 2.0 от сообщества пользователей XLIFF было получено много отзывов, которые были успешно синтезированы и внедрены в версию стандарта следующего поколения. Два основных используемых метода включают составление списка расширений, используемых разработчиками инструментов XLIFF, и составление списка функций XLIFF, поддерживаемых в каждом инструменте XLIFF.

  • Создатели инструментов XLIFF воспользовались механизмом расширяемости XLIFF для реализации ряда функций. Собирая список этих точек расширения и анализируя их для общих задач, XLIFF TC надеется улучшить спецификацию XLIFF 2.0, включив механизмы, которые позволят разработчикам инструментов поддерживать эти функции без использования расширяемости.
  • Создатели инструментов XLIFF поддерживают различные наборы функций в спецификации XLIFF 1.2. Составив список этих функций, XLIFF TC надеется определить области, в которых спецификация XLIFF 2.0 может быть улучшена, чтобы производители инструментов могли более широко поддерживать эту спецификацию.

13 февраля 2018 года спецификация XLIFF 2.1 стала стандартом OASIS.

В ноябре 2017 года спецификация XLIFF 2.0 была утверждена как ISO 21720: 2017.

6 августа 2014 года спецификация XLIFF 2.0 стала стандартом OASIS.

6 мая 2014 года спецификация XLIFF 2.0 была перенесена в Candidate OASIS Standard.

Пример документа XLIFF 2.0:

XLIFF 1.2 - устаревший формат

Документ XLIFF 1.2 состоит из одного или нескольких <file> элементов. Каждый <file> элемент соответствует исходному файлу или источнику (например, таблице базы данных). A <file> содержит источник локализуемых данных и, после перевода, соответствующие локализованные данные для одного и только одного языкового стандарта.

Локализуемые данные хранятся в <trans-unit> элементах. <trans-unit> Элемент имеет <source> элемент для сохранения исходного текста, и <target> элемент для хранения последнего переведенного текста. Эти <target> элементы не являются обязательными.

В приведенном ниже примере показан документ XLIFF, в котором хранится текст, извлеченный из файла Photoshop (файл PSD), и его перевод на японский язык:

Программы, которые поддерживают XLIFF расширение файла

Ниже вы найдете указатель программ, которые можно использовать для открытия файлов XLIFF, разделенных на категории 3 в соответствии с поддерживаемой системной платформой. XLIFF файлы можно встретить на всех системных платформах, включая мобильные, но нет гарантии, что каждый из них будет должным образом поддерживать такие файлы.

Программы, обслуживающие файл XLIFF

Как открыть файл XLIFF?

Отсутствие возможности открывать файлы с расширением XLIFF может иметь различное происхождение. К счастью, наиболее распространенные проблемы с файлами XLIFF могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Мы подготовили список, который поможет вам решить ваши проблемы с файлами XLIFF.

Шаг 1. Установите SDL Trados Studio программное обеспечение

Шаг 2. Проверьте версию SDL Trados Studio и обновите при необходимости

Update software that support file extension XLIFF

Если у вас уже установлен SDL Trados Studio в ваших системах и файлы XLIFF по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Может также случиться, что создатели программного обеспечения, обновляя свои приложения, добавляют совместимость с другими, более новыми форматами файлов. Причиной того, что SDL Trados Studio не может обрабатывать файлы с XLIFF, может быть то, что программное обеспечение устарело. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью SDL Trados Studio.

Шаг 3. Назначьте SDL Trados Studio для XLIFF файлов

Если проблема не была решена на предыдущем шаге, вам следует связать XLIFF файлы с последней версией SDL Trados Studio, установленной на вашем устройстве. Метод довольно прост и мало меняется в разных операционных системах.

Associate software with XLIFF file on Windows

Выбор приложения первого выбора в Windows

  • Щелкните правой кнопкой мыши на файле XLIFF и выберите « Открыть с помощью опцией».
  • Далее выберите опцию Выбрать другое приложение а затем с помощью Еще приложения откройте список доступных приложений.
  • Наконец, выберите Найти другое приложение на этом. , укажите папку, в которой установлен SDL Trados Studio, установите флажок Всегда использовать это приложение для открытия XLIFF файлы свой выбор, нажав кнопку ОК

Выбор приложения первого выбора в Mac OS

Шаг 4. Убедитесь, что XLIFF не неисправен

Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным XLIFF файлом. Отсутствие доступа к файлу может быть связано с различными проблемами.

Check XLIFF file for viruses

1. Убедитесь, что XLIFF не заражен компьютерным вирусом

Если случится так, что XLIFF инфицирован вирусом, это может быть причиной, которая мешает вам получить к нему доступ. Рекомендуется как можно скорее сканировать систему на наличие вирусов и вредоносных программ или использовать онлайн-антивирусный сканер. Если файл XLIFF действительно заражен, следуйте инструкциям ниже.

2. Убедитесь, что файл с расширением XLIFF завершен и не содержит ошибок

Если вы получили проблемный файл XLIFF от третьего лица, попросите его предоставить вам еще одну копию. Возможно, что файл не был должным образом скопирован в хранилище данных и является неполным и поэтому не может быть открыт. Это может произойти, если процесс загрузки файла с расширением XLIFF был прерван и данные файла повреждены. Загрузите файл снова из того же источника.

3. Убедитесь, что у вас есть соответствующие права доступа

Существует вероятность того, что данный файл может быть доступен только пользователям с достаточными системными привилегиями. Переключитесь на учетную запись с необходимыми привилегиями и попробуйте снова открыть файл XLIFF Localization Format.

4. Проверьте, может ли ваша система обрабатывать SDL Trados Studio

Операционные системы могут иметь достаточно свободных ресурсов для запуска приложения, поддерживающего файлы XLIFF. Закройте все работающие программы и попробуйте открыть файл XLIFF.

5. Проверьте, есть ли у вас последние обновления операционной системы и драйверов

Современная система и драйверы не только делают ваш компьютер более безопасным, но также могут решить проблемы с файлом XLIFF Localization Format. Возможно, что одно из доступных обновлений системы или драйверов может решить проблемы с файлами XLIFF, влияющими на более старые версии данного программного обеспечения.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла XLIFF мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле XLIFF.


Локализация и интернационализация

Зачастую разработчики путают эти два термина или считают, что это одно и то же. Оба этих термина взаимозаменяемы, но на самом деле являются разными, но взаимосвязанными понятиями.

  • форматы даты и времени, включая числовые форматы;
  • используемая валюта;
  • правила грамматики;
  • направление языка;
  • текст и изображения, которые в разных культурах могут рассматриваться как деликатные или могут быть неверно истолкованы;
  • цвета и символы;

Чтобы приложение поддерживало различные языки, требуется и интернационализация, и локализация. Чтобы рассматривать локализацию как необходимость, приложение должно пройти процесс интернационализации.

Средства для интернационализации и локализации в iOS

Но, как описывалось ранее, локализация не сводится к переводу текстов, а интернационализация не сужена до простого использования Localizable.strings . Так как необходимо брать в расчет и другие аспекты, то может потребоваться написание дополнительного кода или логики. К счастью, в iOS имеется множество готовых механизмов для интернационализации и локализации. Поэтому перед тем, как приступить к работе, проверьте, существует ли готовое решение.

В iOS доступно два основных способа интернационализации:

  • С помощью редактора пользовательского интерфейса ( .xib, .storyboard ).
  • В коде ( .m , .swift , etc).

Интернационализации пользовательского интерфейса

Вы можете локализовать файлы интерфейса двумя способами:

  • Использование отдельных файлов .storyboard /.xib для разных локалей.
  • Использование файлов .strings для разных языков и предоставление переведенного текста.

Использование отдельных файлов .storyboard /.xib будет связано с дополнительными затратами с точки зрения поддержки и обновления, а также с увеличением размера пакета проекта. Используйте данный подход, только когда это действительно необходимо. Например, в тех случаях, когда нужно предоставить немного другую верстку для конкретной локализации.

Использование Вase internationalization

Localization internationalization iOS Noveo
Internationalization localization iOS Noveo

Но использование такого способа интернационализации также имеет ряд недостатков:

  • Новые локализационные ключи не добавляются автоматически при добавлении новых элементов в пользовательский интерфейс. вам придется использовать утилиты, чтобы сделать это ( ibtool , AppleGlot , BartyCrouch ).
  • Локализационные ключи трудно сопоставить с их первоначальным представлением (читай подклассом UIView ). Вы можете видеть только тип локализованного view и переведенный текст.
  • Невозможно повторно использовать локализацию из других .strings файлов. Отсюда вытекает проблема дублирования локализационных строк.
  • Не поддерживается динамическая локализация множественных форм существительных (aka плюрализация).

В итоге неизбежно использование нескольких подходов к локализации строк в проекте, поддерживать который будет становиться все труднее в будущем.

Использование Auto Layout

Разные языки могут в значительной степени различаться по длине слова. Континентальные европейские языки, такие как французский, немецкий и испанский, могут быть на 20-50% длиннее, чем английский, тогда как азиатские языки, как правило, сокращаются на 30-50%. Используйте Auto Layout, чтобы компоновать свои views относительно друг друга без фиксированного расположения, ширины и высоты, чтобы views изменялись соответствующим образом при изменении языка или локали.

Советы по использованию Auto Layout при интернационализации приложений:

  • Удалите все constraints фиксированной ширины и высоты. Если тексту не хватает места для размещения, он может обрезаться.
  • Прикрепляйте views к соседним views. Таким образом, когда один view изменяется в соответствии с вашим локализованным текстом, другие views будут занимать правильные позиции. В противном случае views могут пересекаться на некоторых языках.
  • Вместо атрибутов left и right используйте leading и trailing. Это правило позволит правильно расположить views для RTL-языков, таких как арабский или иврит. Если язык разработки LTR, выравнивайте views, начиная с верхнего левого угла, и добавляйте constraints, расширяющие views до нижнего правого угла. В таком случае большая часть пользовательского интерфейса отобразится зеркально на языках справа налево.

Internationalization localization iOS Noveo

  • Для выравнивания текста используйте NSTextAlignment.natural вместо .left . Это автоматически правильно расположит текст для любого направления языка.

Internationalization localization in iOS Noveo

Интернационализации в коде

Команда отыщет все файлы с расширением .swift в текущей или ниже директории и применит для них extractLocStrings , результат запишет в папку Base.lproj . Подробнее про find, xargs, xcrun.

Например, у вас в SignInViewController.swift имеется следующий код:

В результате работы утилиты будем иметь следующее:

Здесь наглядно видно, как работают параметры NSLocalizedString при генерации строкового файла. Дефолтным значением будет являться сам ключ, если не указан параметр value. No comment provided by engineer будет комментарием по умолчанию, если разработчик поленился предоставить значение для comment.

Обратите внимание на следующие моменты:

  • extractLocStrings перезаписывает существующие строковые файлы. Команда не решает проблему слияния строковых файлов.
  • При указании разных комментариев для одного и того же ключа будет использован только один последний найденный.
  • При указании разных значений для одного и то же ключа будет использовано только одно, но команда выдаст предупреждение Key "Key" used with multiple values. Value "Value 1" kept. Value "Value 2" ignored .

Ниже будут рассмотрены способы доставки строковых файлов до переводчиков.

Плюрализация, даты, числа, измерения

Языки могут иметь различные правила образования множественной формы слов. В некоторых языках слово не меняется в множественном числе (например, японский), а для других слово будет меняться в зависимости от количества (например, русского). Для разных правил множественности строки указываются в файле .stringdict , который представляет собой plist с расширением .stringdict . Это позволяет использовать одну строку в коде, которая затем будет локализована с использованием правил множественного числа для zero, one, two, few, many, other по мере необходимости. Подробнее про подход можно посмотреть здесь.

В некоторых арабских странах цифры выглядят иначе, чем мы привыкли видеть. Вместо 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 используется ٠‎ (0), ١ (1), ٢ (2), ٣ (3), ٤ (4), ٥ (5), ٦ (6), ٧ (7),‎ ٨ (8),‎ ٩ (9).‎ Чтобы заменить части текстовой строки, например, числа, динамическими значениями, во время выполнения программы можно воспользоваться методом localizedStringWithFormat(_:_:) у String . Выглядеть это будет следующим образом:

Одной из удобных функций форматированной строки являются позиционные спецификаторы, можно сообщить форматированию порядок аргументов, вставив n$ (n-позиция) в спецификатор формата (%1$@, %2$d, %3$lf, etc). Например:

  • en.lproj/Localizable.strings
  • ru.lproj/Localizable.strings
  • Код

Локализация изображений

Internationalization localization iOS Noveo

Взаимодействие с веб-службами

И все-таки нужно понимать, что не весь контент может быть локализован по независимым от разработчика обстоятельствам. Например, веб-страница с блоком оплаты платежа может остаться без перевода, потому что данная локаль и страна не поддерживаются веб-службой.

Добавление локализационных строк

Ниже рассматриваются некоторые варианты такой автоматизации.

XLIFF

Xcode предлагает функцию быстрого экспорта всех файлов .strings для заданного языка в один файл .xliff . Файлы XLIFF используются многими системами перевода. Android не поддерживает XLIFF напрямую, но есть инструменты, которые генерируют из него файлы strings.xml . Файл XLIFF из Xcode будет содержать файлы базовой интернационализации (по одному на .storyboard и .xib ), файл Localizable.strings и файл InfoPlist.strings . Отправьте XLIFF файл в команду локализации для перевода на несколько языков.

Во время перевода вы можете продолжить разработку своего приложения. Переводчики должны возвращать отдельный файл .xliff для каждого языка с фактическим переводом. Файлы должны использовать идентификатор языка в качестве префикса. Например, если вы запросите перевод английского en.xliff на немецкий и русский языки, возвращаемые файлы должны быть названы de.xliff для немецкого и ru.xliff для русского.

При первом экспорте локализации папка проекта содержит только базовую интернационализацию с файлами ресурсов .storyboard и .xib , из которых Xcode создает файлы строк, для включения в экспортируемый XLIFF. Xcode не добавляет файлы строк в проект до тех пор, пока вы не импортируете локализацию позже. В момент импорта язык и файлы строк для языка добавляются в проект. Например, импортируя fr.xliff , французский язык добавляется в проект. Xcode создает папку fr.lproj в папке проекта и добавляет локальную копию Localizable.strings и InfoPlist.strings в папку fr.lproj . В следующий раз, при импорте локализации, строковые файлы объединяются с существующими файлами проекта.

Использование XLIFF позволяет локализовать ваше приложение всего за пару кликов, но это не идеальный способ. Вы можете столкнуться с некоторыми неприятностями:

  • Не предоставляется визуальный и функциональный контекст.
  • Не предоставляются ресурсные данные, такие как ассеты.
  • Не предоставляются метаданные о сгенерированном XLIFF.
  • XLIFF не имеет атрибутов ограничения размера и длины, что может быть очень полезно, чтобы локализаторы знали, будет ли строка отображаться на экране Watch, или экране iPhone, или экране iPad, чтобы принимать решения о длине перевода.

Чтобы решить эти проблемы, Apple внедрила новую систему экспорта и импорта локализации в Xcode 10.

Xcode Localization Catalog

Теперь, вместо экспорта только текстовых строк, Xcode фактически экспортирует любой контент, который вы выберете. Прежде вам приходилось отправлять любой нетекстовый контент переводчикам раздельно, но теперь вы можете экспортировать и импортировать ассеты, сохраняя иерархию каталогов. Еще одной особенностью файла .xcloc , помимо возможности включать в себя .storyboard- файлы для контекста, является папка Notes. Папка Notes изначально пуста, но вы можете добавить свой файл ReadMe и скриншоты. Apple настоятельно рекомендует автоматизировать создание скриншотов с помощью тестов, введенных в Xcode 9.

Internationalization localization iOS Noveo

Google Spreadsheet

Разработчики часто используют Google Spreadsheet для доставки локализационных строк до переводчиков. Google Spreadsheet позволяет достаточно легко решить проблему локализации для iOS и Android одновременно.

Локализация на обеих платформах работает с использованием системы на основе ключа. Каждый язык представляет собой набор пар ключ-значение, где ключ является идентификатором для этой конкретной строки, а значение представляет собой переведенную строку на определенном языке. Для начала достаточно добавить три столбца на лист. Первый для ключей iOS, второй для ключей Android и последний для реальных текстов для перевода. Когда появляется новый язык, просто добавляется еще одна колонка с ним. Google Spreadsheet позволяет индивидуально настроить доступ к редактированию таблицы, поэтому каждый переводчик имеет доступ только к колонкам со своими языками.

Чтобы автоматизировать процесс добавления новых ключей, доставку новых переводов в приложение, а также избежать проблемы с разным синтаксисом для параметров и iOS, и Android, используют специальные скрипты и утилиты. Простейшим примером может служить утилита localize-with-spreadsheet.

Но подход не лишен недостатков:

  • Для каждого визуального элемента с текстом для перевода в каждом .storyboard и .xib потребуется создание IBOutlet .
  • Отсутствие версионирования и интеграции похода в Gitflow Workflow. Любые изменения в локализации, а не только необходимые для текущей ветки разработки, появляются сразу. А удаление строки может вызвать сбои или баги в приложении для других веток.
  • В приведенном примере утилиты отсутствует поддержка плюрализации.
  • При использовании на двух платформах потребуются дополнительные усилия на синхронизацию ключей, чтобы предотвратить разрастание документа и упростить задачу переводчикам. Понадобятся постоянные коммуникации между командами для согласования набора строк, чтобы избегать дублирования переводов и выделения платформо-специфичных ключей.

Но никто не отменяет возможность доработки существующих решений или написания новых для устранения части или всех минусов.

Динамическая локализация

Но нужно помнить о следующих моментах при использовании такого подхода:

Другие инструменты

Существует много коммерческих и open-source систем управления локализациями, которые используют те или иные подходы, описанные выше. Эти системы облегчают процесс сбора контента, который будет отправлен переводчикам и проверен, а затем интегрирован обратно в приложение. Некоторые из них даже предоставляют профессиональных переводчиков, которых можно нанять по необходимости. Подробнее про такие инструменты можно прочитать в статье.

Советы

Определяя ключи таким образом, можно создать хорошее разделение между различными частями приложения и сразу же предоставить контекст внутри ключа, например, указав, что определенная строка используется в качестве заголовка или кнопки.

  • Добавьте комментарии к своим пользовательским строкам, когда это возможно, чтобы уточнить, где и как будут использоваться строки. Сделайте скриншоты экранов, которые нужно локализовать. Чем больше контекста вы можете предоставить для своей команды переводчиков, тем лучше.
  • Избегайте конкатенации строк. Две или несколько строк иногда объединяются разработчиками с целью экономии места. Тем не менее, порядок слов существенно различается в каждом языке, и конкатенация строк, скорее всего, приведет к ошибкам перевода в процессе локализации. свое интернационализированное приложение на разных этапах разработки, даже до локализации вашего приложения. Просмотрите приложение для обнаружения проблем с Auto Layout и нелокализованными строками. Проверьте его, используя псевдоязыки, смоделируйте языки справа налево, и протестируйте определенные языки и регионы. После импорта локализации проверьте свое приложение на всех поддерживаемых вами языках.
  • Со временем ваше приложение будет расти, и вы будете добавлять дополнительные функции и вносить изменения, а это означает, что вам необходимо постоянно вносить изменения в локализованные версии вашего приложения. Поэтому всякий раз, когда вы планируете какие-либо изменения в своем приложении, вы должны убедиться, что они не повлияют на ваши локализованные версии и что они будут функционировать также.
  • Локализационные файлы имеют тенденцию увеличиваться в размерах и становиться трудно поддерживаемыми: разработчики могут дублировать ключи, уже переведенные строки или забывать удалять пары ключ/значение, если они больше не используются. Для того, чтобы сохранить чистоту и легкость поддержки, можно применить дополнительные средства автоматизации. Например, использовать скрипты для поиска неиспользуемого Swift-кода, которые помогут избавиться от лишних NSLocalizedString .

Заключение

Локализация является важным инструментом для продвижения приложения на многие рынки. Этот процесс требует особого внимания и дополнительных затрат от разработчиков. В этой статье мы рассказали о различии между интернационализацией и локализацией, узнали о механизмах и способах их реализации, а также дали советы, как облегчить эти процессы в приложениях iOS.

В свою очередь наша iOS-команда использует разные подходы для интернационализации и локализации в зависимости от проекта. Но можно выделить основные моменты, которых мы придерживаемся всегда:

  • Обязательно локализуем строки со старта проекта, даже если используется один язык.
  • Отказались от локализации в .storyboard и .xib .
  • Используем Google Spreadsheet для переводов и написали модификацию localize-with-spreadsheet для плюрализации и упрощения взаимодействия с Android.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Я переношу небольшое приложение из Symfony в отдельный проект, и только Компонент Symfony, от которого он зависит, - это строковый перевод I18N. Пример: action.class.php : $this->culture = 'pt_B.

Как форматировать строки с xliff с помощью float и double (десятичные числа)? <string name="test">Test <xliff:g >%1$f</xliff:g> <xliff:g >%1$.2f</xl.

Я смотрю файл xliff и обнаружил некоторые странные коробки, которые я не знаю, что это такое? (См. Скриншот) У вас, ребята, какие-то идеи, какие стра

Как и в названии. Я использую Xcode 8.3, и когда я отправляюсь на экспорт.xliff, он не включает материал в localizable.stringsdict . Я выбрал localizable.stringsdict и открыл инспектор файлов и уда.

Недавно Apple представила новый процесс для перевода файлов. Вам больше не нужно использовать genstrings/ibtool для генерации файла .strings , вместо этого вы просто используете инструмент экспорта.

Я пытаюсь локализовать свое приложение, используя параметр "Экспорт для локализации. " в Xcode (v7.0.1). Этот экспорт заботится обо всех локализованных строках в моей раскадровке и коде. Однако я .

Мне было интересно, как я могу добиться следующего с помощью Okapi Framework/Rainbow: Преобразуйте файлы свойств Java I18N в XLIFF для перевода, где некоторые переводы уже существуют и должны быть .

Я ищу рабочее решение, чтобы использовать разрывы строк ( <br/> ) в файлах symfony XLIFF i18n. К сожалению, тег по умолчанию <x ctype='lb'/> кажется, лишен реализации Twig и/или .

Не уверен, что это подходящее место, чтобы задать вопрос, но. У меня есть следующий файл xliff: <?xml version="1.0" encoding="UTF-8"?> <xliff xmlns tag-list"> xliff

В настоящее время я работаю над i18n моего приложения Angular. Я использую компиляцию AOT с файлами xlf для создания предварительно скомпилированных приложений, как описано здесь . В сборке я предо.

Импорт файла xliff с Xcode очень прост, но иногда бывает так, что маркетинговая команда реализует некоторые улучшения в строках английского (базового языка). Каждый раз, когда что-то подобное проис.

Я не могу разобрать этот фрагмент xliff: <source>text1 <g >text2</g> text3 <x /><x />text4</source> Я хотел бы иметь итеративный метод, который.

Когда я экспортирую XLIFF файл из Xcode, ни одна из строк, которые я объявила в NSLocalizedString, не имеет элемента <target>. Строки, созданные из моей раскадровки, имеют элемент <target&.

В моем приложении symfony2 я установил, что необходимо для изменения локали. Теперь я могу использовать функции трансляции пакета и генерировать языковые файлы в приложениях/ресурсах/переводах Это .

Я пытаюсь создать скрипт, который автоматически помещает XLIFF-элементы в элементы <target>. С самого начала у меня есть эти HTML-тексты: EN: The <b>big black</b> cat sleeps. ES: .

Всякий раз, когда часть ярлыка языка должна быть как-то подчеркнута, что здесь считается лучшей практикой? Обычно я стараюсь избегать ярлыков html в ярлыках языка, насколько это возможно, разделяя .

У меня есть каталог переводов на app/resources/translations/menus.en.xliff, messages.en.xliff, user.en.xliff. Моя структура формы: public function buildform(FormBuilderInterface $builder, array .

Я не уверен, что это подходящее место, чтобы спросить об этом - сообщите мне, нужно ли мне его перенести. Я пытаюсь отредактировать панель "QuickInse

Мне нужно создать набор переводов Rainbow типа Generic XLIFF из файла xls. Я могу создать xliff из xlsx, но как мне это сделать для xls. Преобразование xls в xlsx также приемлемо (как преобразовать.

Это очень расстраивает. Я локализовал приложение iOS для французского языка, и ни один из переводов не появился в приложении. Localizable.strings, Storyboard.strings, Info.plist.strings - ни один и.

Я добавляю несколько языков в приложение iOS из файлов.xliff. При первом импорте все работает так, как планировалось, и все приходит и отлично работает. На втором, однако, это скажет мне: Duplicate.

В Android Studio я пытаюсь локализовать на испанский язык, используя xliff, строку, которая получает логическое значение. На английском языке мой строковый ресурс выглядит так: <string name tag-list"> android-resources android translate xliff boolean

У меня есть массив строк, в которых используется символ % . Правильный формат использования % - % . Когда у меня есть строка в этом массиве с несколькими % , она дает мне эту ошибку. Multiple annot.

Попытки Я пробовал: Virtaal PoEdit (не xliff, а конвертируемый) Инструменты Open Language TransEditor Редактор LocFactory И я думаю, что получаю орехи. Virtaal С Virtaal кажется, что я не могу созд.

Я работаю над функцией импорта для определенных полей в документе на основе XML. Чтение значений ansich прекрасно работает, к сожалению, я могу это сделать, это не атрибуты транс-единицы, а именно .

У меня есть проект symfony, в котором я прошел через мои шаблоны ветвей и добавил <% trans %>. <% endtrans %>или добавил переводы, например, > , где это необходимо. Я также добави.

Я локализовал свое приложение для немецкого и английского языков. За исключением некоторых пустых переводов, формат строк должен быть в порядке, так как я не получаю ошибки от xCode. plutil -lint &.

Это идеально, что я хотел бы сделать: Настройте проект в Xcode, используя базовую локализацию английского языка. В конечном счете, я хочу английский и скажу голландские версии моих Localizable.stri.

Я тестирую поток локализации экспорта/импорта, как это предлагается в Руководстве по

Я просто пытаюсь перевести свой сайт symfony 2.3, но у меня есть проблема, которую я не могу понять. Вот мои шаги: добавленный переводчик: в моем config.yml, где% locale% - 'en.

Я искал решение в Интернете, но не нашел его. Я даже не уверен, что это возможно или что вызывает подобное поведение. Я пытаюсь скопировать содержимое узла на более узкий узел. Он работает без проб.

Я собираюсь построить проект Silex/Symfony2, и я искал способ генерации файлов перевода XLIFF/PO/YAML на основе текстов, подлежащих переводу внутри проекта, но не нашел каких-либо инструкций или до.

Является ли распространением для переводчика XLIFF, который содержит HTML? Утилиты CAT поддерживают HTML-теги? <trans-unit xml:space="preserve"> <source>This is <b>bold<.

Поэтому у меня есть проект, который уже был локализован в прошлом. Но мы создали несколько новых ключей, и мы хотим, чтобы они были переведены отдельно. Также на некоторых языках некоторые ключи от.

Я делаю интернализацию веб-сайта symfony2, мой код может генерировать перевод единицы следующим образом: <trans-unit resname="utilisez.ff.chrome">.

Я определил множественные строки, используя формат . stringsdict, как указано здесь . Я использую XCode "Редактоp > Экспорт для локализации.." для создания файлов XLIF

У меня есть источник html sth, как это: <td > <source> All Label Subcategories </source> <target> target empty </target> </td> <td.

Попытка разобрать XML с пространствами имен и атрибутами. Я хочу получить элемент по заданному атрибуту ( id ). Документация уточняет но [@attrib] Выбирает все элементы, которые имеют данный атрибу.

Рубрики

А так же делитесь знаниями, знакомьтесь с новыми утилитами и приложениями, учитесь у всегда готовых помочь ответить на самые сложные вопросы во всех сферах IT и программирования. Станьте гуру и экспертом разработки ПО, получите признание коллег, заработайте репутацию, создайте стартап или приложение которое будет работать на вас!

Читайте также: