Windows Phone 8.1 应用程序多语言

2024-05-03

我正在使用 Visual Studio 2015 在 SilverLight 中创建 Windows Phone 应用程序 8.1。我正在用英语和阿拉伯语创建多语言应用程序。为此,我在项目中创建了 Strings 文件夹,其中包含 en-US 和 ar-KW 两个文件夹,每个文件夹中都有 Resources.resw 文件。

I am x:Uid设置属性。例如Key:- Actual.Text Value:- Actual

<TextBlock x:Uid="Actual" TextWrapping="Wrap" MaxWidth="65" HorizontalAlignment="Center" />

上面的效果非常好。我有包含 EN 和 AR 项目的组合框。我正在触发 SelectionChanged 事件来更改语言但问题是,当我停止应用程序并再次运行它时,它只会更改文本和布局。

我怎样才能在运行时做到这一点而不需要重新启动。

private void LanguageComboBoxName_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            string selectedItem = (e.AddedItems[0] as ComboBoxItem).Content as string;
            var RootFrame = Window.Current.Content as SlideApplicationFrame;

            if (selectedItem == "EN")
                ApplicationLanguages.PrimaryLanguageOverride = "en-US";
            else if (selectedItem == "AR")
                ApplicationLanguages.PrimaryLanguageOverride = "ar-KW";

            RootFrame.Navigate(this.GetType());
    }

据我记得,微软不建议在运行时更改语言(通过覆盖它),但您可以通过重新加载页面来做到这一点。最简单的方法是将带有代码的组合框放在另一个页面上,在那里您将覆盖语言,因此当您向后导航(并且页面将重新加载)时,您将拥有您想要的内容。请记住,覆盖语言不会在运行时本地化控件(但这对您来说不应该是一个大问题)。您必须重新启动应用程序才能本地化控件。

当您使用以下代码覆盖语言时:

ApplicationLanguages.PrimaryLanguageOverride = "xx-XX";

然后它会被保存,您不必在开始时再次覆盖它。应用程序将使用覆盖的语言加载。

此外,当您本地化应用程序时,最好覆盖文化信息,因为如果您有一些日期 - 它们会根据文化正确显示(例如 12/01/2015 或 01-12-2015)

string lang = "en-US";    //default
var culture = new CultureInfo(lang);
Windows.Globalization.ApplicationLanguages.PrimaryLanguageOverride = lang;
CultureInfo.DefaultThreadCurrentCulture = culture;
CultureInfo.DefaultThreadCurrentUICulture = culture;

还有一个重要的 thing.

在您的应用程序清单或那里的内容中,您需要设置生成应用程序包到“从不”。原因是,当您将打包版本上传到商店时,您的运行时本地化将无法工作。您可以使用模拟器或调试版本甚至有时使用已部署的发行版本在运行时本地化您的应用程序。但是您需要这样做,这样当您的应用程序在商店中时,本地化就不会出现问题,并且可以访问所有语言字符串(因为对于打包版本,如果您尚未安装该语言,则其中一些字符串可能无法访问)在您的手机上)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Windows Phone 8.1 应用程序多语言 的相关文章

  • Poco c++Net:Http 从响应中获取标头

    我使用 POCO C Net 库进行 http 我想尝试制定持久缓存策略 首先 我认为我需要从缓存标头中获取过期时间 并与缓存值进行交叉检查 如果我错了 请告诉我 那么我如何从中提取缓存头httpResponse 我已经看到你可以用 Jav
  • 为什么 F# 的默认集合是排序的,而 C# 的不是?

    当从 C 世界迁移到 F 最惯用的可能 思维方式时 我发现了这个有趣的差异 在 C 的 OOP mutable 世界中 默认的集合集合似乎是HashSet https learn microsoft com en us dotnet api
  • 单元测试验证失败

    我正在运行我的单元测试PostMyModel路线 然而 在PostMyModel 我用的是线Validate
  • 在路由mvc 4中添加公司名称

    我一直在尝试为 Facebook 等用户提供在 URL 中添加公司名称的选项 http localhost 50753 MyCompany Login 我尝试过不同的网址 但没有成功 routes MapRoute name Default
  • 如何使用 SOAP 且不使用 WSE 在 .NET 中签署 Amazon Web 服务请求

    亚马逊产品广告 API 以前称为 Amazon Associates Web Service 或 Amazon AWS 实施了一项新规则 即自 2009 年 8 月 15 日起 向其发送的所有 Web 服务请求都必须经过签名 他们在其网站上
  • 运行需要 MySql.Data 的内置 .NET 应用程序

    我在运行我编写的内置 NET 应用程序时遇到问题 我的应用程序使用最新的 MySql 连接器 该连接器安装在我的系统上 当我尝试将其添加为引用时 该连接器显示为 NET 4 Framwork 组件 当我在环境中以调试模式运行应用程序时 一切
  • 检测到堆栈崩溃

    我正在执行我的 a out 文件 执行后 程序运行一段时间 然后退出并显示消息 stack smashing detected a out terminated Backtrace lib tls i686 cmov libc so 6 f
  • Gwan C#,如何获取HTTP标头?

    我需要它来重写 url 以了解我正在处理哪个友好的 url 用于用户代理和其他东西 EDIT public class Gwan MethodImplAttribute MethodImplOptions InternalCall exte
  • 如何制作可启动程序?

    所以 这个问题可能看起来很奇怪 但假设我编译了 int main void int x 3 int y 4 int z x y 是否可以让CPU这样运行 如何 例如 这允许我写入监视器吗 如果我没记错的话 内存中有些地方可以写入要显示的内容
  • 增强精神、递归和堆栈溢出

    为什么下面的代码在运行时崩溃 它会给出堆栈溢出错误 include
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • UI 函数在快速事件完成之前触发

    我有一个停靠在 Silverlight 应用程序中的 Web 浏览器框架 有时会在其上弹出全窗口 XAML Silverlight UI 元素 我已经或多或少修复了一个老问题 即 Web 框架的内容似乎与 Silverlight 内容不能很
  • 如何在三个 IEnumerable 上使用 Zip [重复]

    这个问题在这里已经有答案了 可能的重复 使用 Linq 从 3 个集合创建项目 https stackoverflow com questions 5284315 create items from 3 collections using
  • 在 asp.net MVC 中使用活动目录进行身份验证

    我想使用活动目录对我的 asp net mvc 项目中的用户进行身份验证 在网上冲浪了几个小时后 我没有找到任何对我有用的东西 我已经看到了所有结果 但什么也没有 我尝试按照许多帖子的建议编辑我的 web config 如果有人可以帮助我提
  • 搜索实体的所有字段

    我正在尝试在客户数据库上实现 多功能框 类型的搜索 其中单个查询应尝试匹配客户的任何属性 这是一些示例数据来说明我想要实现的目标 FirstName LastName PhoneNumber ZipCode Mary Jane 12345
  • 为什么 Cdecl 调用在“标准”P/Invoke 约定中经常不匹配?

    我正在开发一个相当大的代码库 其中 C 功能是从 C P Invoked 的 我们的代码库中有很多调用 例如 C extern C int stdcall InvokedFunction int 使用相应的 C DllImport CPlu
  • 如何调试 .NET 运行时中的内部错误?

    我正在尝试调试一些处理大文件的工作 代码本身works 但 NET 运行时本身会报告零星错误 对于上下文 这里的处理是一个 1 5GB 文件 仅加载到内存中一次 在循环中处理和释放 故意尝试重现此否则不可预测的错误 我的测试片段基本上是 t
  • INotifyPropertyChanged 和 propertyName

    我一直不确定它的含义propertyName实施时INotifyPropertyChanged 所以一般来说你实现INotifyPropertyChanged as public class Data INotifyPropertyChan
  • DataContractSerializer 事件/委托字段问题

    在我的 WPF 应用程序中 我正在使用DataContractSerializer序列化对象 我发现它无法序列化具有事件或委托声明的类型 考虑以下失败的代码 Serializable public abstract class BaseCl
  • 为什么匹配模板类上的部分类模板特化与没有模板匹配的另一个部分特化不明确?

    这个问题可能很难用标题中的句子来描述 但这里有一个最小的例子 include

随机推荐

  • 使用 PHPExcel 读取 Excel 文件时忽略计算值

    我正在使用 setReadDataOnly true 读取 XLS 文件 读取的对象将再次保存为新的 Excel 文件 不幸的是 某些单元格值计算不正确 这与使用小计公式的单元格的计算错误有关 如果我理解正确的话 XLS 文件中的每个单元格
  • Xcode 5.0:Apple 添加构建规则去哪儿了?

    我在版本 5 0 5A1413 上找不到 添加自定义构建规则 选项 有人注意到了吗 它被移到其他地方了吗 作为解决方法 我在任何构建规则上单击 复制到目标 并对其进行自定义以使其自定义构建 ANSWER 构建规则 gt 自定义 然后选择编辑
  • 如何使用正则表达式提取子字符串

    我有一个字符串 其中有两个单引号 特点 单引号之间是我想要的数据 如何编写正则表达式从以下文本中提取 我想要的数据 mydata some string with the data i want inside 假设您想要单引号之间的部分 请
  • 如何获取 TFS 2013 中所有用户的列表

    我正在使用 Team Foundation Server TFS 2013 和 Visual studio 2012 我需要 TFS 中所有用户的列表 有没有办法使用C 获取TFS中的所有用户 从TFS 2010获取用户列表 您可以尝试使用
  • R ggplot2:stat_count() 不得与条形图中的 y 美学错误一起使用

    我在绘制条形图时遇到此错误 并且无法摆脱它 我已经尝试了 qplot 和 ggplot 但仍然出现相同的错误 以下是我的代码 library dplyr library ggplot2 Investigate data further to
  • 使用Linux虚拟鼠标驱动

    我正在尝试实施一个虚拟鼠标驱动程序根据基本 Linux 设备驱动程序书 有一个用户空间应用程序 它生成坐标以及内核模块 See 虚拟鼠标驱动程序和用户空间应用程序代码 http www embeddedlinux org cn Essent
  • 在 PowerShell 中通过 UDP 发送和接收数据

    我正在尝试编写一个脚本来使用 PowerShell 进行测试和应用 测试应包括通过 UDP 向远程服务器发送字符串 然后读取该服务器的响应并对结果执行某些操作 我需要的唯一帮助是脚本的中间两个步骤 发送字符串 然后 接收响应 在端口 UDP
  • 以管理员身份从 cmd 批处理运行 PowerShell 脚本

    我有一个 PowerShell 设置 我想在执行策略可能受到限制并且需要管理员权限的计算机上执行 理想情况下 我可以将其包装在 cmd 批处理中 如下所示 powershell Command Start Process powershel
  • 使用 BIC 准则运行逐步线性模型

    是否可以设置逐步线性模型来使用 BIC 标准而不是 AIC 我一直在尝试这个 但它仍然使用 AIC 值而不是 BIC 来计算每个步骤 null lm data 1 1 full lm data 1 age bmi gender group
  • 枚举和枚举类之间的区别[重复]

    这个问题在这里已经有答案了 谁能解释一下两者之间的区别 enum Type1 type2 And enum class Type1 type2 我经常使用前者 可能太频繁而没有足够的封装 但我从未使用过第二个例子 Thanks enum A
  • 基于嵌入属性验证 Mongoid 中的嵌入文档

    我有一个订阅者类 它有 embeds many 订阅 订阅具有属性状态 我想添加对状态的验证 以便每个订阅者只有一个订阅可以具有 活动 状态 订户可以拥有多个状态为 已购买 或 已过期 的订阅 这应该可以做到 class Subscribe
  • 独立于符号的字符串的模式匹配

    我需要一种算法 可以在数据中找到预定义的模式 以字符串的形式存在 独立于数据和模式的实际符号 字符 我只关心符号之间的关系 而不关心符号本身 数据中的同一符号具有不同的模式符号也是合法的 模式匹配算法必须强制执行的唯一一件事是保留模式中同一
  • 不允许为 VPC 创建 EC2 实例

    是否可以将 EC2 实例模板的 VPCId 定义为属性 我想做的是 Resources Ec2Instance Type AWS EC2 Instance Properties SecurityGroups Ref AWSSecurityG
  • 使用 pythons strftime 显示日期,例如“5 月 5 日”? [复制]

    这个问题在这里已经有答案了 可能的重复 Python 日期顺序输出 https stackoverflow com questions 739241 python date ordinal output 在Python中 time strf
  • 在 Perl 中,如何从父进程向子进程发送消息(或信号),反之亦然?

    我正在编写一个管理多进程的程序 这就是我所做的 而且效果很好 但现在 我想将消息从子进程发送到父进程 反之亦然 从父进程到子进程 你知道最好的方法吗 你知道我所做的是否是我想要的正确方法 从子进程到父进程发送消息 信号或共享内存 反之亦然
  • 使用“nuxt build”时动态创建的类不可用 - tailwindcss nuxtjs

    我有一个 nuxtjs 项目 与 tailwindcss 一起使用 在该项目中 我动态生成负边距的类 如下所示 div class mins 1 div 整个项目在本地运行良好 但如果我运行nuxt build nuxt start 它的编
  • 有没有办法重新分区 Kafka 流中的输入主题?

    我有一个由 byte 键控的主题 我想对其进行重新分区并通过消息正文中字段中的另一个键处理该主题 我发现有KGroupedStream and groupby功能 但它需要一个聚合函数来转换为 KTable KStream 我不需要聚合 我
  • 即使我确实为变量设置了初始值,数据段也没有被初始化

    我已经编写了一个代码 该代码应该生成某种数字列表 但是即使我为它们分配了初始值 我的数据段变量也没有被初始化 This is how DS 0000 looks when I run it 这是我的代码 但数据段只保留垃圾值 MODEL s
  • 实体框架的状态模式

    我有一个模型Enquiry 它可以处于两种状态之一 还有更多状态 但出于此目的 我将仅比较两种状态 New and Closed 查询所处的状态取决于用户能够对查询执行什么操作 例如 无法删除已关闭的查询 而可以删除新的查询等等 基本示例
  • Windows Phone 8.1 应用程序多语言

    我正在使用 Visual Studio 2015 在 SilverLight 中创建 Windows Phone 应用程序 8 1 我正在用英语和阿拉伯语创建多语言应用程序 为此 我在项目中创建了 Strings 文件夹 其中包含 en U