Atributos de localização e comentários

Os comentários de localização do Windows Presentation Foundation (WPF) são propriedades, dentro do código-fonte XAML, fornecidas pelos desenvolvedores para fornecer regras e dicas para localização. Os comentários de localização do WPF contêm dois conjuntos de informações: atributos de localizabilidade e comentários de localização de forma livre. Os atributos de localizabilidade são usados pela API de Localização do WPF para indicar quais recursos devem ser localizados. Os comentários de forma livre são todas as informações que o criador do aplicativo desejar incluir.

Adicionar comentários de localização

Se os autores de aplicativos de marcação tiverem requisitos para elementos específicos em XAML, como restrições no comprimento do texto, família de fontes ou tamanho da fonte, eles poderão transmitir essas informações aos localizadores com comentários no código XAML. O processo para adicionar comentários ao código-fonte é o seguinte:

  1. O desenvolvedor de aplicativos adiciona comentários de localização ao código-fonte XAML.

  2. Durante o processo de build, você pode especificar no arquivo .proj se deixa os comentários de localização de forma livre no assembly, remove parte dos comentários ou todos os comentários. Os comentários removidos são colocados em um arquivo separado. Você especifica sua opção usando uma marca LocalizationDirectivesToLocFile, por exemplo:

    <LocalizationDirectivesToLocFile>value</LocalizationDirectivesToLocFile>

  3. Os valores que podem ser atribuídos são:

    • None – os comentários e atributos permanecem dentro do assembly e nenhum arquivo separado é gerado.

    • CommentsOnly – remove somente os comentários do assembly e os coloca em um LocFile separado.

    • All – remove os comentários e os atributos do assembly e os coloca em um LocFile separado.

  4. Quando recursos localizáveis são extraídos do BAML, os atributos de localizabilidade são respeitados pela API de Localização do BAML.

  5. Os arquivos de comentário de localização, que contém apenas comentários de forma livre, são incorporados ao processo de localização em um momento posterior.

O exemplo a seguir mostra como adicionar comentários de localização a um arquivo 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>

No exemplo anterior, a seção Localization.Attributes contém os atributos de localização e a seção Localization.Comments contém os comentários de forma livre. As tabelas a seguir mostram os atributos e comentários e seu significado para o localizador.

Atributos de localização Significado
$Content (texto legível não modificável) O conteúdo do elemento TextBlock não pode ser modificado. Os localizadores não podem alterar a palavra "Microsoft". O conteúdo é visível (legível) para o localizador. A categoria do conteúdo é texto.
FontFamily (legível não modificável) A propriedade da família de fonte do elemento TextBlock não pode ser alterada, mas é visível para o localizador.
Comentários de forma livre de localização Significado
$Content (Marca registrada) O criador do aplicativo informa o localizador que o conteúdo no elemento TextBlock é uma marca registrada.
FontSize (Tamanho da fonte da marca registrada) O criador do aplicativo indica que a propriedade de tamanho da fonte deve seguir o tamanho padrão de marcas registradas.

Atributos de possibilidade de localização

As informações em Localization.Attributes contém uma lista de pares: o nome do valor de destino e os valores associados de possibilidade de localização. O nome do destino pode ser um nome de propriedade ou o nome especial de $Content. Se for um nome de propriedade, o valor de destino será o valor da propriedade. Se for $Content, o valor de destino será o conteúdo do elemento.

Há três tipos de atributos:

  • Categoria. Especifica se um valor deve ser modificável de uma ferramenta do localizador. Consulte Category.

  • Legibilidade. Especifica se uma ferramenta do localizador deve ler (e exibir) um valor. Consulte Readability.

  • Modificabilidade. Especifica se uma ferramenta do localizador permite que um valor seja modificado. Consulte Modifiability.

Esses atributos podem ser especificados em qualquer ordem delimitada por um espaço. No caso de atributos duplicados serem especificados, o último atributo substituirá os antigos. Por exemplo, Localization.Attributes = "Modificável não modificável" define Modificabilidade como Modificável porque é o último valor.

Modificabilidade e Legibilidade são autoexplicativos. O atributo Categoria fornece categorias predefinidas que ajudam o localizador durante a tradução do texto. As categorias, como Texto, Rótulo e Título, fornecem informações ao localizador sobre como traduzir o texto. Também há categorias especiais: Nenhum, Herdar, Ignorar e NeverLocalize.

A tabela a seguir mostra o significado das categorias especiais.

Categoria Significado
Nenhum O valor de destino não tem nenhuma categoria definida.
Herdar O valor de destino herda sua categoria de seu pai.
Ignorar O valor de destino é ignorado no processo de localização. Ignorar afeta somente o valor atual. Ela não afetará os nós filho.
NeverLocalize O valor atual não pode ser localizado. Esta categoria é herdada pelos filhos de um elemento.

Comentários de localização

Localization.Comments contém cadeias de caracteres de formato livre sobre o valor de destino. Os desenvolvedores de aplicativos podem adicionar informações para fornecer dicas aos localizadores sobre como o texto dos aplicativos deve ser traduzido. O formato dos comentários pode ser qualquer cadeia de caracteres cercada por "()". Use '\' para escapar dos caracteres.

Confira também