Атрибуты и комментарии локализации
Windows Presentation Foundation (WPF) комментарии локализации являются свойствами в XAML исходный код, предоставленными разработчиками для обеспечения правил и подсказок при локализации. Windows Presentation Foundation (WPF) комментарии локализации содержат два набора данных: атрибуты локализуемости и комментарии локализации в свободной форме. Атрибуты локализуемости используются API локализации WPF для указания того, какие ресурсы должны быть локализованы. Комментарии произвольной формы представляют собой любые сведения, которые автор приложения хочет указать.
Комментарии локализации
Если авторы приложения разметки имеют особые требования для определенных элементов в XAML, например ограничения длины текста, семейства шрифтов или размера шрифта, они могут передать эту информацию локализаторам с помощью комментариев в коде XAML. Процесс добавления комментариев к исходному коду выглядит следующим образом.
Разработчик приложения добавляет комментарии локализации в исходный код XAML.
Во время процесса построения разработчик может указать в PROJ-файле, следует ли оставить комментарии произвольной локализации в сборке либо вынести за пределы файла часть комментариев или все комментарии. Вынесенные комментарии помещаются в отдельный файл. Параметр указывается с помощью тега
LocalizationDirectivesToLocFile
, например:<LocalizationDirectivesToLocFile>
value</LocalizationDirectivesToLocFile>
Могут быть назначены следующие значения:
None — комментарии и атрибуты остаются внутри сборки, отдельный файл не создается.
CommentsOnly — из сборки выносятся только комментарии и помещаются в отдельном файле LocFile.
All — из сборки выносятся комментарии и атрибуты, которые помещаются в отдельный файл LocFile.
При извлечении локализуемых ресурсов из BAML атрибуты локализуемости учитываются API локализации BAML.
Файлы локализации комментариев, содержащие только комментарии в произвольной форме, включаются в процесс локализации на более поздней стадии.
В следующем примере показано добавление комментариев локализации в файл 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, предоставляют локализатору сведения о том, как следует переводить текст. Кроме того, существуют также специальные категории: Нет, наследуют, игнорировать и NeverLocalize.
В следующей таблице показаны значения специальных категорий.
Категория | Значение |
---|---|
Нет | Целевое значение не имеет определенной категории. |
Наследовать | Целевое значение наследует свои категории от родительского. |
Пропустить | Целевое значение не обрабатывается в процессе локализации. Не обрабатывается только текущее значение. Параметр не влияет на дочерние узлы. |
NeverLocalize | Текущее значение не локализуется. Эта категория наследуется потомками элемента. |
Комментарии локализации
Localization.Comments содержит произвольные строки, касающиеся целевого значения. Разработчики приложения могут добавлять сведения для предоставления подсказок локализаторов о том, как следует переводить текст приложений. Форматом комментариев может быть любая строка, заключенная в круглые скобки "()". Используйте символ "\" для создания escape-символов.