磁贴和 toast 通知的全球化和辅助功能(Windows 运行时应用)

Applies to Windows and Windows Phone

本主题将介绍在通过本地化、缩放和辅助功能全球化你的磁贴和 Toast 通知时应该采取的步骤。我们将介绍你在引用文本和图像(应用包的一部分或保存到本地存储中)时所使用的协议、指定不同语言和文化的方式、轻松使用设置,以及你的图像在不同设备上的尺寸大小。 如果你的应用中已在使用应用资源平台,那么你应该已了解以下结构和命名约定。

通过将不同语言的字符串存储在一个资源文件中,可对文本进行本地化—Resources.resjson (JavaScript) 或 Resources.resw(C# 和 C++)。

你可以对图像进行本地化、缩放,并让它们可通过高对比度来访问。图像的处理方式取决于它们的源。

  • 本地图像。位于本地存储空间 (ms-appdata:///local/) 中的图像不是由本主题中讨论的资源平台处理的。因为系统不会选择适宜的文件版本,所以应用本身必须确保适宜的文件版本已置于本地存储空间中。
  • 云图像。查询字符串可以附加到图像的 URL 中。下表显示了不同的查询字符串。

    注意  在 Web 服务器中检索图像时,若要将查询字符串添加到图像的统一资源标识符 (URI) 中,必须替代默认值并将磁贴或 Toast 通知 XML 负载中的 addImageQuery 属性设置为“true”。addImageQuery 属性出现在磁贴Toast 架构中的可视、绑定和图像元素中。如果 addImageQuery 显式设置在多个元素中,子元素中的值将替代其父元素或其他上级元素中的值。例如,图像元素中设置为“true”的 addImageQuery 值将替代其绑定父元素中设置为“false”的 addImageQuery。

    类型查询字符串可能值示例
    比例ms-scale
    • 80(仅“开始”屏幕)
    • 100
    • 140
    • 180
    ?ms-scale=100
    辅助功能ms-contrast
    • 标准
    ?ms-contrast=standard
    本地化ms-langBCP-47 语言标记在通知模板的 lang 属性中指定,如果忽略 lang,则在默认的应用语言中指定。?ms-lang=en-US

     

如何针对全球化和辅助功能来设计应用包的结构

注意  本文中介绍的结构和命名约定是针对全球化命名和组织文件的唯一架构。你可以使用文件名修饰(例如“scale-140”),在适当命名的文件夹中排列文件,或结合使用我们在本文中介绍的两种方法。

  • 文本
    • 创建一个名为“strings”的文件夹。此容器可选用,它有助于更好地进行组织。
    • 在“strings”文件夹中,为你的默认语言创建一个子文件夹,并使用该语言的 BCP-47 规范为其命名(例如“en-US”)。在该子文件夹中,添加一个包含默认语言字符串的 Resources.resjson 文件(对于 JavaScript)或 Resources.resw 文件(对于 C# 和 C++)。示例如下:
      
      /ProjectFolder
          /strings
              /en-US
                  resources.resjson
      
    • 本地化:为每个支持的非默认语言都再添加一个文件夹,并使用这些语言的 BCP-47 规范对这些文件夹命名。在各个文件夹中,放入一个包含所对应语言的已本地化字符串的 Resources.resjson 或 Resources.resw 文件。示例如下:
      
      /ProjectFolder
          /strings
              /en-US
                  resources.resjson
              /fr-FR
                  resources.resjson
              /ja-JP
                  resources.resjson
      
  • 图像

    注意  以下示例仅适用于应用包 (ms-appx) 中提供的图像,不适用于本地存储 (ms-appdata:///local/) 中的图像。

    • 创建一个名为“images”的文件夹。为默认语言添加图像,使用该语言的 BCP-47 规范对图像命名,并将其直接添加到此文件夹的根中。
    • 本地化:在“images”文件夹中,为每个支持的非默认语言都创建一个文件夹,并使用相应语言的 BCP-47 规范对这些文件夹进行命名。将各语言的图像添加到各自对应的文件夹中,如下:
      
      /ProjectFolder
          /images
              welcome.png
              /fr-FR
                  welcome.png
              /ja-JP
                  welcome.png
      

      注意  不同语言中相对应的图像文件的文件名都必须相同。

    • 辅助功能:在每个语言(包括默认语言)特定的文件夹中,为支持的每种对比度设置都创建一个文件夹。在其中每个文件夹中,放入特定于该对比度设置的图像文件。注意,所有相对应文件的文件名仍应相同。
      
      /ProjectFolder
          /images
              welcome.png
              /contrast-black
                  welcome.png
              /contrast-white
                  welcome.png
              /fr-FR
                  welcome.png
                  /contrast-black
                      welcome.png
                  /contrast-white
                      welcome.png
              /ja-JP
                  welcome.png
                  /contrast-black
                      welcome.png
                  /contrast-white
                      welcome.png
      
    • 缩放:上述每个图像都应在特定于缩放的变量中提供,且其文件名应使用正确的缩放标识符进行修饰。注意,应用资源平台不会将该修饰认作文件名的一部分,因此,所有这些文件的文件名实际上仍是相同的。以下示例将显示 en-US 和 ja-JP 语言资源的图像结构。有一个图像可用于这两种语言中的所有缩放和对比度值。
      
      /ProjectFolder
          /images
              welcome.scale-80.png
              welcome.scale-100.png
              welcome.scale-140.png
          
              /contrast-black
                  welcome.scale-80.png
                  welcome.scale-100.png
                  welcome.scale-140.png
              /contrast-white
                  welcome.scale-80.png
                  welcome.scale-100.png
                  welcome.scale-140.png
              /ja-JP
                  welcome.scale-80.png
                  welcome.scale-100.png
                  welcome.scale-140.png
              
                  /contrast-black
                      welcome.scale-80.png
                      welcome.scale-100.png
                      welcome.scale-140.png
                  /contrast-white
                      welcome.scale-80.png
                      welcome.scale-100.png
                      welcome.scale-140.png
      

有关详细信息,请参阅以下主题:

如何在通知中使用本地化的图像和文本

本节介绍如何在通知中引用全球化的资源,使 Windows 可根据设备的设置选择合适的版本。

文本

在模板内容的 text 元素中,在文本正文中使用“ms-resource:”前缀,后跟在 Resources.resjson 或 Resources.resw 文件中定义的字符串标记。例如,假设你有一个 \fr-FR\Resources.resjson 文件,它包含以下条目:

"greeting" : "Bonjour",

模板的 XML 内容中的元素 <text id="1">ms-resource:greeting</text> 将导致获取该字符串,如果 UI 语言被确定为法语的话。

如果一个 text 元素的主体省略了“ms-resource:”前缀,会将其视为文字文本。

本地图像

应用包中包含的图像

向模板的 image 元素中的资源路径添加“ms-appx:///”前缀。例如:


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

对于应用包中包含的图像,Windows 会通过文件结构和/或文件名的修饰来识别正确的图像。当在模板中提供全球化的图像资源时,仅提供文件名。

  • 正确:<image id="1" src="ms-appx:///images/welcome.png"/>
  • 错误:<image id="1" src="ms-appx:///images/welcome.scale-100.png"/>
  • 错误:<image id="1" src="ms-appx:///images/contrast-black/welcome.scale-100.png"/>

保存到本地存储的图像

向文件相对于本地存储的路径 (Windows.Storage.ApplicationData.current.localFolder) 中添加“ms-appdata:///local/”前缀。Windows 无法像在应用资源平台中那样,根据存储结构来识别本地存储中的图像版本。


<image id="1" src="ms-appdata:///local/welcome.png"/>

保存在 Roaming 或 Temp 文件夹中的图像

这些图像无法使用。

Web 图像

使用 HTTP 处理程序在语言、缩放和对比度的查询字符串中检查可使用的值。

相关主题

全球化你的应用
选择应用图像
使磁贴成为可访问的
应用程序资源和本地化示例
磁贴 XML 架构
Toast XML 架构
磁贴和磁贴通知概述
快速入门:使用 Microsoft Visual Studio 清单编辑器创建默认磁贴
快速入门:发送 Toast 通知
磁贴模板目录
Toast 模板目录
磁贴和锁屏提醒指南和清单
Toast 通知指南和清单

 

 

显示:
© 2014 Microsoft