Compartilhar via


Suporte a blocos e notificações do sistema para idioma, escala e alto contraste

Seus blocos e notificações do sistema podem carregar cadeias de caracteres e imagens personalizadas para linguagem de exibição, fator de escala de exibição, alto contraste e outros contextos de tempo de execução. Para obter informações sobre como usar qualificadores nos nomes de seus arquivos de recurso, consulte Personalizar seus recursos para idioma, escala e outros qualificadores e Ícones e logotipos de aplicativo.

Para obter mais informações sobre a proposta de valor de localização do aplicativo, consulte Globalização e localização.

Referir-se a um recurso de cadeia de caracteres de um modelo

Em seu modelo de bloco ou notificação do sistema, você pode se referir a um recurso de cadeia de caracteres usando o ms-resource esquema URI (Uniform Resource Identifier) seguido por um identificador de recurso de cadeia de caracteres simples. Por exemplo, se você tiver um arquivo Resources.resx que contém uma entrada de recurso cujo nome é "Farewell", então você tem um recurso de cadeia de caracteres com o identificador "Farewell". Para obter mais informações sobre identificadores de recurso de cadeia de caracteres e arquivos de recursos (.resw), consulte Localizar cadeias de caracteres na interface do usuário e no manifesto do pacote do aplicativo.

É assim que uma referência ao identificador de recurso de string "Farewell" ficaria no corpo do texto do conteúdo do modelo, usando ms-resource.

<text id="1">ms-resource:Farewell</text>

Se você omitir o esquema de ms-resource URI, o corpo do texto será apenas um literal de cadeia de caracteres e não uma referência a um identificador.

<text id="1">Farewell</text>

Consultar um recurso de imagem de um modelo

Em seu modelo de bloco ou notificação do sistema, você pode se referir a um recurso de imagem usando o ms-appx esquema URI (Uniform Resource Identifier) seguido pelo nome do recurso de imagem. Essa é a mesma maneira que você se refere a um recurso de imagem na marcação XAML (para obter mais detalhes, consulte Referenciar uma imagem ou outro ativo da marcação e do código XAML).

Por exemplo, você pode nomear pastas como esta.

\Assets\Images\contrast-standard\welcome.png
\Assets\Images\contrast-high\welcome.png

Nesse caso, você tem um único recurso de imagem e seu nome (como um caminho absoluto) é /Assets/Images/welcome.png. Veja como você usa esse nome em seu modelo.

<image id="1" src="ms-appx:///Assets/Images/welcome.png"/>

Observe como, neste URI de exemplo, o esquema ("ms-appx") é seguido por "://", que é seguido por um caminho absoluto (um caminho absoluto começa com "/").

Hospedagem e carregamento de imagens na nuvem

Os ms-resource esquemas de URI e ms-appx executam a correspondência automática de qualificadores para encontrar o recurso mais apropriado para o contexto atual. Os esquemas de URI da Web (por exemplo, http, https, e ftp) não executam nenhuma correspondência automática.

Em vez disso, acrescente ao URI da imagem uma string de consulta descrevendo o valor ou valores do qualificador solicitados.

<image id="1" src="http://www.contoso.com/Assets/Images/welcome.png?ms-lang=en-US"/>

Em seguida, no serviço de aplicativo que fornece suas imagens, implemente um manipulador HTTP que inspecione e use a cadeia de caracteres de consulta para determinar qual imagem retornar.

Você também precisa definir o atributo addImageQuery como true no conteúdo XML do bloco ou da notificação do sistema. O atributo addImageQuery aparece nos visualelementos , bindinge image dos esquemas de bloco e notificação do sistema. Definir explicitamente addImageQuery em um elemento substitui qualquer valor definido em um ancestral. Por exemplo, um valor addImageQuery de true em um image elemento substitui um addImageQuery de false em seu elemento pai binding .

Estas são as cadeias de caracteres de consulta que você pode usar.

Qualificador Cadeia de consulta Exemplo
Escala escala ms ?escala ms=400
Idioma ms-lang ?ms-lang=pt-BR
Contraste contraste ms ?ms-contrast=alto

Para obter uma tabela de referência de todos os valores de qualificador possíveis que você pode usar em suas cadeias de caracteres de consulta, consulte ResourceContext.QualifierValues.

APIs importantes