Поделиться через


Атрибуты и комментарии локализации

Обновлен: Ноябрь 2007

Комментарии локализации Windows Presentation Foundation (WPF) являются свойствами в исходном коде XAML, предоставленными разработчиками для обеспечения правил и подсказок при локализации. Комментарии локализации Windows Presentation Foundation (WPF) содержат два набора данных: атрибуты локализуемости и комментарии локализации в свободной форме. Атрибуты локализуемости используются API локализации WPF для указания того, какие ресурсы должны быть локализованы. Комментарии произвольной формы представляют собой любые сведения, которые автор приложения хочет указать.

В этом разделе содержатся следующие подразделы.

  • Комментарии локализации
  • Комментарии локализации
  • Связанные разделы

Комментарии локализации

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

  1. Разработчик приложения добавляет комментарии локализации в исходный код XAML.

  2. Во время процесса построения разработчик может указать в PROJ-файле, следует ли оставить комментарии произвольной локализации в сборке, вынести за пределы файла часть комментариев или все комментарии. Вынесенные комментарии помещаются в отдельный файл. Параметр необходимо указать с помощью тега LocalizationDirectivesToLocFile, например:

    <LocalizationDirectivesToLocFile>value</LocalizationDirectivesToLocFile>

  3. Могут быть назначены следующие значения:

    • None — комментарии и атрибуты остаются внутри сборки, отдельный файл не создается.

    • CommentsOnly — из сборки выносятся только комментарии и помещаются в отдельном файле LocFile.

    • All — из сборки выносятся комментарии и атрибуты, которые помещаются в отдельный файл LocFile.

  4. При извлечении локализуемых ресурсов из BAML атрибуты локализуемости учитываются API локализации BAML.

  5. Файлы локализации комментариев, содержащие только комментарии в произвольной форме, включаются в процесс локализации на более поздней стадии.

В следующем примере показано добавление комментариев локализации в файл XAML.

<TextBlock x:Id = "text01"

FontFamily = "Microsoft Sans Serif"

FontSize = "12"

Localization.Attributes = "$Content (Unmodifiable Readable Text)

FontFamily (Unmodifiable Readable)"

Localization.Comments = "$Content (Trademark)

FontSize (Trademark font size)" >

Microsoft

</TextBlock>

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

Атрибуты локализации.

Смысл

$Content (Unmodifiable Readable Text)

Содержимое элемента TextBlock не может быть изменено. Локализаторы не могут изменить слово «Microsoft». Содержимое является видимым (доступным для чтения) для локализатора. Категория содержимого — текст.

FontFamily (Unmodifiable Readable)

Свойство семейства шрифтов элемента TextBlock не может быть изменено, но является видимым для локализатора.

Произвольные комментарии локализации

Смысл

$Content (Trademark)

Автор приложения сообщает локализатору, что содержимое в элементе TextBlock является товарным знаком.

FontSize (Trademark font size)

Автор приложения указывает, что свойство font size должно соответствовать стандартному размеру товарного знака.

Атрибуты локализуемости

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

Существуют три типа атрибутов:

  • Категория Этот параметр определяет, должно ли значение изменяться из средства локализатора. См. раздел Category.

  • Читаемость. Параметр определяет, должно ли средство локализатора читать (и отображать) значение. См. раздел Readability.

  • Изменяемость. Параметр определяет, разрешает ли средство локализатора изменять значение. См. раздел Modifiability.

Эти атрибуты можно указать в любом порядке через пробел. В случае указания дублированных атрибутов, последний атрибут переопределяет предыдущие. Например, Localization.Attributes = " Unmodifiable Modifiable " устанавливает параметр Modifiability в значение Modifiable, так как это последнее значение.

Параметры Modifiability (изменяемость) и Readability (читаемость) понятны без объяснений. Атрибут Category (категория) предоставляет стандартные категории, которые помогают локализатору при переводе текста. Такие категории, как Text, Label и Title предоставляют локализатору сведения о том, как следует переводить текст. Существуют также специальные категории: None, Inherit, Ignore и NeverLocalize.

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

Категория

Смысл

None

Целевое значение не имеет определенной категории.

Inherit

Целевое значение наследует свои категории от родительского.

Ignore

Целевое значение не обрабатывается в процессе локализации. Не обрабатывается только текущее значение. Параметр не влияет на дочерние узлы.

NeverLocalize

Текущее значение не локализуется. Эта категория наследуется потомками элемента.

Комментарии локализации

Localization.Comments содержит произвольные строки, касающиеся целевого значения. Разработчики приложения могут добавлять сведения для предоставления подсказок локализаторов о том, как следует переводить текст приложений Форматом комментариев может быть любая строка, заключенная в «()». Используйте символ «\» для экранирования символов.

См. также

Задачи

Практическое руководство. Использование автоматической разметки для создания кнопки

Практическое руководство. Использование сетки для автоматической разметки

Основные понятия

Глобализация и Windows Presentation Foundation

Практическое руководство. Локализация приложения