Partager via


Attributs et commentaires de localisation

Les commentaires de localisation windows Presentation Foundation (WPF) sont des propriétés, à l’intérieur du code source XAML, fournies par les développeurs pour fournir des règles et des conseils pour la localisation. Les commentaires de localisation WPF contiennent deux ensembles d’informations : attributs de localisabilité et commentaires de localisation de forme libre. Les attributs de localisation sont utilisés par l’API de localisation WPF pour indiquer les ressources à localiser. Les commentaires de formulaire libre sont toutes les informations que l’auteur de l’application souhaite inclure.

Ajouter des commentaires de localisation

Si les auteurs d’applications de balisage ont des exigences pour des éléments spécifiques en XAML, tels que des contraintes sur la longueur du texte, la famille de polices ou la taille de police, elles peuvent transmettre ces informations aux localiseurs avec des commentaires dans le code XAML. Le processus d’ajout de commentaires au code source est le suivant :

  1. Le développeur d’applications ajoute des commentaires de localisation au code source XAML.

  2. Pendant le processus de génération, vous pouvez spécifier dans le fichier .proj s’il faut laisser les commentaires de localisation de formulaire libre dans l’assembly, supprimer une partie des commentaires ou supprimer tous les commentaires. Les commentaires supprimés sont placés dans un fichier distinct. Vous spécifiez votre option à l’aide d’une LocalizationDirectivesToLocFile balise, par exemple :

    <LocalizationDirectivesToLocFile> valeur</LocalizationDirectivesToLocFile>

  3. Les valeurs qui peuvent être affectées sont les suivantes :

    • Aucun : les commentaires et les attributs restent à l’intérieur de l’assembly et aucun fichier distinct n’est généré.

    • CommentsOnly : supprime uniquement les commentaires de l’assembly et les place dans le LocFile distinct.

    • All : supprime les commentaires et les attributs de l’assembly et les place dans un LocFile distinct.

  4. Lorsque les ressources localisables sont extraites de BAML, les attributs de localisation sont respectés par l’API de localisation BAML.

  5. Les fichiers de commentaires de localisation, contenant uniquement des commentaires de forme libre, sont incorporés dans le processus de localisation ultérieurement.

L’exemple suivant montre comment ajouter des commentaires de localisation à un fichier 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>

Dans l’exemple précédent, la section Localization.Attributes contient les attributs de localisation et la section Localization.Comments les commentaires de formulaire libre. Les tableaux suivants indiquent les attributs et les commentaires et leur signification pour le localiseur.

Attributs de localisation Sens
$Content (texte lisible non modifiable) Le contenu de l’élément TextBlock ne peut pas être modifié. Les localiseurs ne peuvent pas modifier le mot « Microsoft ». Le contenu est visible (lisible) au localiseur. La catégorie du contenu est du texte.
FontFamily (lisible inmodifiable) La propriété de famille de polices de l’élément TextBlock ne peut pas être modifiée, mais elle est visible par le localiseur.
Commentaires de localisation en format libre Sens
$Content (marque déposée) L’auteur de l’application indique au localiseur que le contenu de l’élément TextBlock est une marque commerciale.
FontSize (Taille de police de marque) L’auteur de l’application indique que la propriété de taille de police doit respecter la taille de marque standard.

Attributs de localisabilité

Les informations de Localization.Attributes contiennent une liste de paires : le nom de la valeur ciblée et les valeurs de localisabilité associées. Le nom cible peut être un nom de propriété ou le nom spécial $Content. S’il s’agit d’un nom de propriété, la valeur ciblée est la valeur de la propriété. Si elle est $Content, la valeur cible est le contenu de l’élément.

Il existe trois types d’attributs :

  • Catégorie. Cela spécifie si une valeur doit être modifiable à partir d’un outil de localiseur. Voir Category.

  • Lisibilité. Cela spécifie si un outil de localiseur doit lire (et afficher) une valeur. Voir Readability.

  • Caractère modifiable. Cela spécifie si un outil de localiseur permet de modifier une valeur. Voir Modifiability.

Ces attributs peuvent être spécifiés dans n’importe quel ordre délimité par un espace. Dans le cas où des attributs en double sont spécifiés, le dernier attribut remplace les anciens attributs. Par exemple, Localization.Attributes = « Inmodifiable Modifiable » définit la modifiabilité sur Modifiable car c’est la dernière valeur.

La modification et la lisibilité sont explicites. L’attribut Category fournit des catégories prédéfinies qui aident le localiseur lors de la traduction de texte. Les catégories, telles que Text, Label et Title, fournissent aux localiseurs des informations sur la façon de traduire le texte. Il existe également des catégories spéciales : None, Inherit, Ignore et NeverLocalize.

Le tableau suivant indique la signification des catégories spéciales.

Catégorie Sens
Aucun La valeur ciblée n’a aucune catégorie définie.
Hériter La valeur cible hérite de sa catégorie du parent.
Ignorer La valeur ciblée est ignorée dans le processus de localisation. Ignorer affecte uniquement la valeur actuelle. Cela n’affecte pas les nœuds enfants.
NeverLocalize Impossible de localiser la valeur actuelle. Cette catégorie est héritée par les enfants d’un élément.

Commentaires de localisation

Localization.Comments contient des chaînes de forme libre concernant la valeur ciblée. Les développeurs d’applications peuvent ajouter des informations pour donner des conseils aux localiseurs sur la façon dont le texte des applications doit être traduit. Le format des commentaires peut être n’importe quelle chaîne entourée de « () ». Utilisez « \ » pour échapper des caractères.

Voir aussi