資源文件只能改變程序內部的語言,但是如果想修改WP應用程序列表中的標題或磁貼上的標題就不行了。
這就需要使用語言資源DLL,語言資源DLL需要用C++項目創建MDSN上有比較詳細的介紹,但是太麻煩了。
國外的有人寫了一個WP7 AppResLib DLL Generator幫助我們生成 語言資源 DLL
原文地址:http://engine-designs.com/wp7-appreslib-dll-generator.html
首先下載 WP7 AppResLib DLL Generator
複製Sample.xml 命名爲項目名RemoteControl.xml
編輯內容,國家代碼LocaleID可以在Locale_ID_List.txt查詢到,沒添加就表示默認,Name可以隨便取。
示例:
<Projects> <Project Name="RemoteControl"> <Language Name="Neutral"> <AppTitle>RemoteControl</AppTitle> <TileText>RemoteControl</TileText> </Language> <Language Name="Chinese-RPC" LocaleID="0804"> <AppTitle>多媒體遙控器</AppTitle> <TileText>多媒體遙控器</TileText> </Language> <Language Name="English (United States)" LocaleID="0409"> <AppTitle>RemoteControl</AppTitle> <TileText>RemoteControl</TileText> </Language> <Language Name="Chinese - Taiwan" LocaleID="0404"> <AppTitle>多媒體遙控器</AppTitle> <TileText>多媒體遙控器</TileText> </Language> </Project> </Projects>
然後再CMD裏面運行WP7AppResLib RemoteControl.xml
就會在下生成目錄RemoteControl,裏面包含了AppResLib.dll,AppResLib.dll.0404.mui等。
全部拷貝到項目根目錄,就是App.xaml所在地目錄,“添加現有項”到項目中。
查看屬性,將生成操作全部設置爲“內容”。
修改WMAppManifest.xml替換2個地方:
<App Title="@AppResLib.dll,-100" …
<Tokens>
<PrimaryToken ...>
<TemplateType5>
...
<Title>@AppResLib.dll,-200</Title>
...
</TemplateType5>
</PrimaryToken>
</Tokens>
WP8的直接在<TemplateFlip></TemplateFlip>內的Title改
應用清單WP7和WP8有些許不同,可參考http://technet.microsoft.com/zh-cn/subscriptions/ff769509
好了這樣應用程序列表中的標題或磁貼上的標題就支持本地化了。趕緊測試一下。
參考文檔:
Windows Phone 全球化和本地化
http://msdn.microsoft.com/zh-cn/library/ff637522(v=vs.92).aspx