Atributos y comentarios sobre localización

Los comentarios de localización de Windows Presentation Foundation (WPF) son propiedades, dentro del código fuente XAML, proporcionados por los desarrolladores para proporcionar reglas y sugerencias para la localización. Los comentarios de localización de WPF contienen dos conjuntos de información: atributos localizabilidad y comentarios de localización de forma libre. La API de localización de WPF usa atributos de localizabilidad para indicar qué recursos se van a localizar. Los comentarios de forma libre son cualquier información que el autor de la aplicación quiera incluir.

Agregar comentarios de localización

Si los autores de aplicaciones de marcado tienen requisitos para elementos específicos de XAML, como restricciones de longitud del texto, familia de fuente o tamaño de fuente, pueden transmitir esta información a los localizadores mediante comentarios en el código XAML. El proceso para agregar comentarios al código fuente es el siguiente:

  1. El desarrollador de la aplicación agrega los comentarios de localización al código fuente XAML.

  2. Durante el proceso de compilación, puede especificar en el archivo .proj si quiere dejar comentarios de localización de forma libre en el ensamblado, quitar parte de los comentarios o quitarlos todos. Los comentarios eliminados se colocan en un archivo independiente. Especifique la opción mediante una etiqueta LocalizationDirectivesToLocFile; p. ej.:

    <LocalizationDirectivesToLocFile>value</LocalizationDirectivesToLocFile>

  3. Los valores que se pueden asignar son:

    • None: los comentarios y atributos permanecen dentro del ensamblado y no se genera ningún archivo independiente.

    • CommentsOnly: elimina solo los comentarios del ensamblado y los coloca en el archivo LocFile independiente.

    • All: quita los comentarios y los atributos del ensamblado y los coloca en un archivo LocFile independiente.

  4. Cuando los recursos localizables se extraen de BAML, la API de localización BAML respeta los atributos de localizabilidad.

  5. Los archivos de comentarios de localización, que contienen solo comentarios de forma libre, se incorporan al proceso de localización en un momento posterior.

En el ejemplo siguiente se muestra cómo agregar comentarios de localización a un archivo 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>

En el ejemplo anterior, la sección Localization.Attributes contiene los atributos de localización, y la sección Localization.Comments, los comentarios de forma libre. En las siguientes tablas se muestran los atributos y comentarios y su significado para el localizador.

Atributos de localización Significado
$Content (texto legible no modificable) No se puede modificar el contenido del elemento TextBlock. Los localizadores no pueden cambiar la palabra "Microsoft". El contenido es visible (legible) para el localizador. La categoría del contenido es texto.
FontFamily (legible no modificable) No se puede cambiar la propiedad de la familia de fuentes del elemento TextBlock, pero está visible para el localizador.
Comentarios de localización de forma libre Significado
$Content (marca) El autor de la aplicación indica al localizador que el contenido del elemento TextBlock es una marca registrada.
FontSize (tamaño de fuente de marca comercial) El autor de la aplicación indica que la propiedad de tamaño de fuente debe seguir el tamaño de la marca comercial.

Atributos de localizabilidad

La información de Localization.Attributes contiene una lista de pares: el nombre del valor de destino y los valores de localizabilidad asociados. El nombre de destino puede ser un nombre de propiedad o el nombre $Content especial. Si es un nombre de propiedad, el valor de destino es el valor de la propiedad. Si es $Content, el valor de destino es el contenido del elemento.

Hay tres tipos de atributo:

  • Categoría. Especifica si un valor debe ser modificable desde una herramienta de localización. Vea Category.

  • Legibilidad. Especifica si la herramienta de localización podrá leer (y mostrar) un valor. Vea Readability.

  • Modificabilidad. Especifica si un valor debe ser modificable desde una herramienta de localización. Vea Modifiability.

Estos atributos se pueden especificar en cualquier orden delimitado por un espacio. En caso de que se especifiquen atributos duplicados, el último atributo invalidará los anteriores. Por ejemplo, Localization.Attributes = "Unmodifiable Modifiable" define el atributo Modificabilidad como Modificable porque es el último valor.

La modificabilidad y la legibilidad no necesitan explicación. El atributo Categoría proporciona categorías predefinidas que ayudan al localizador al traducir el texto. Las categorías, como Text, Label o Title, ofrecen al localizador información sobre cómo traducir el texto. También hay categorías especiales: None, Inherit, Ignore y NeverLocalize.

En la tabla siguiente se muestra el significado de las categorías especiales.

Category Significado
Ninguno El valor de destino no tiene ninguna categoría definida.
Heredar El valor de destino hereda su categoría de su elemento primario.
Ignore El valor de destino se omite en el proceso de localización. Ignore solo afecta al valor actual. No afecta a los nodos secundarios.
NeverLocalize No se puede localizar el valor actual. Los elementos secundarios de un elemento heredan esta categoría.

Comentarios de localización

Localization.Comments contiene cadenas con formato libre sobre el valor de destino. Los desarrolladores de aplicaciones pueden agregar información para proporcionar a los localizadores sugerencias sobre cómo se debe traducir el texto de las aplicaciones. El formato de los comentarios puede ser cualquier cadena entre "()". Use "\" para crear caracteres de escape.

Vea también