Tag: internationalization

如何在C#中找到Unicode字符的双向字符类型?

有什么办法可以在C#中找到Unicode字符的双向字符类型吗? 我想查看字符串中的字符并确定它们是否都是强LTR,强RTL,强LTR和中性的混合等。

如何在.NET中进行极端的品牌/国际化

我们正计划一个非常大的应用程序。 – 我们希望将我们的申请国际化为30个国家。 – 在大多数国家/地区,可提供1到6种不同的品牌。 – 像’de’这样的某个区域设置和像’XXX’这样的品牌的每个组合可能会多次出现,因此我们需要另一个标识符来获取独特的内容: “locale_brand_siteorigin” 因此我们有.resx文件,如: 配置。 de.burgerking.px10 .resx 粗体打印是唯一标识符。 在运行时我们创建一个: var rm = new ResourceManager(“MyNamespace.Configurations.UniqueIdentifier”,Assembly.GetExecuting()); 根据我们的业务逻辑,我们可以创建上面的resourceManager。 最后,我们将最终拥有180多个resx文件,其中包含唯一标识符的所有组合。 你知道更好的方法来做这种品牌吗? 4年前有人问过这个问题,但没有人回答: 实施应用程序品牌的行业标准? UPDATE 我还想扩展我的问题,要求提供一个解决方案,展示使用cultureandregioninfobuilder类创建那些许多自定义文化的好处。 https://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder(v=vs.110).aspx

如何在运行时切换resx?

我有第二个resx文件Strings.ps-ps.resx,我想在运行时指向我的代码。 每个resx都有Designer.cs,具有唯一的类名。 我必须自己切换/包装这些东西吗? ……还是有一些内置的方法?

如何在SharpDevelop 4.2中启动国际化的WPF项目?

我想创建一个软件,用户可以在几种语言之间进行选择。 作为一个开始,我想学习如何处理国际化,因为我以前从未这样做过。 作为IDE我使用SharpDevelop或#develop,但你会拼写它。 我想使用C#和WPF,因为我现在也在学习XAML / WPF。 所以我在ShardDevelop中创建了一个新的WPF项目。 在主窗口上,我创建了一个ComboBox和一个TextBlock。 ComboBox获得两个条目:“德语”和“英语”。 textBlock应该显示“Hallo Welt!” 或“Hello World!”,具体取决于所选的语言。 现在是我陷入困境的部分。 我想每种语言都是XML / XAML-Style中的单独文件(有道理)。 这些文件在哪里以及如何加载它们及其内容以便加载所选语言的文本? 我找到了几个例子,但都是关于创建Resource-DLL和使用一些奇怪的程序将它们反编译回csv文件……我不明白,是不是有更简单的方法? 我采取了下一步。 现在通过“{StaticResource Strings.MainForm.hwText}”加载TextBlock的Text。 它现在看起来像这样: 我还为德语创建了一个ResourceDictionary,为英语创建了一个ResourceDictionary,它们都定义了我在TextBlock中使用的键。 在Application.Resources Part i中,默认情况下加载一个ResourceDictionary。 现在的问题是:如何在运行时“卸载”这个词典并将其替换为另一个词典? 当然我使用ComboBox的SelectionChange-Event,但我在那里做什么? 问题解决了!! 感谢kmatyaszek 虽然我根据我的需要改变了事件处理程序的代码: Uri baseUri = new Uri(AppDomain.CurrentDomain.BaseDirectory); Uri uri = new Uri(baseUri,”Languages\\lang.”+((sender as ComboBox).SelectedItem as ComboBoxItem).Tag.ToString()+”.xaml”); if(File.Exists(uri.LocalPath) || File.Exists((uri = new Uri(baseUri,”Languages\\lang.de-DE.xaml”)).LocalPath)){ ResourceDictionary dict = […]

如何根据某些参数加载不同的RESX文件

我有一个ASP.NET3.5(C#)ASPX页面,它以10种不同的语言进行国际化。 该页面结构非常复杂,有许多由状态机模式驱动的嵌套视图。 编辑:我在每个asp控件中使用meta:resourcekey语法,它允许使用隐式资源表达式的声明性语法。 我被要求根据一些查询字符串参数“标记”页面。 品牌化不仅意味着加载不同的CSS文件,还意味着具有不同的文本模糊(在所有语言中)。 是否有一种简单的方法来“交换”resx文件,而无需为此页面上的每个数百个文字和图像手动获取资源? 换句话说,假设我有以下RESX文件: brand1_myPage.aspx.en-US.resx brand1_myPage.aspx.de-DE.resx brand1_myPage.aspx.fr-FR.resx brand2_myPage.aspx.en-US.resx brand2_myPage.aspx.de-DE.resx brand2_myPage.aspx.fr-FR.resx myPage.aspx将查找名为myPage.xx-XX.resx的 resx文件。 有没有办法加载brand1xxx.resx文件或brand2xxx.resx基于某些值? 提前致谢。

如何在单个EXE中嵌入多语言* .resx(或* .resources)文件?

有很多教程如何创建多语言RESX文件以及如何使用AL.exe创建附属程序集,但我还没有找到工作示例如何在单个EXE文件中嵌入RESX / Resources / satellite-DLL文件并分发整个多语言应用程序就像这样的EXE。 我试图使用ilmerge.exe,但它看起来不适用于具有相同名称的多个DLL(文化卫星DLL具有相同的名称,最初驻留在以文化命名的不同子目录中)。 我也不知道如何创建ResourceManager实例来使用嵌入式资源。 我的目标是在封闭的,预定义的语言集之间实现动态切换。 我需要类/方法,它将获得文化字符串(即“de-DE”),资源名称(即“CancelText”)并返回基于嵌入式 resx / resource / dll的翻译文本。 我正在使用VS2008,请注意resx / resource files属性表中需要“构建操作”的设置。 工作代码示例或指向教程项目的链接将是最好的。

如何在C#中枚举LOCALIZED字母?

首先,这不是重复: 枚举字母表的最快方法 因为我需要获得ARBITRARY(变量)LANGUAGE字母表的所有字符,以及正确的排序顺序。 如果不知道每种可能的文化/语言的字母,我该怎么做? 例如,System.Gobalization.Cultureinfo具有关于日期格式,排序方法和代码页信息的信息。 但不是字母表本身的信息。 Forthermore’A’到’Z’排序迭代不会这样做,因为德语例如有ÄÖÜ这样的字符,它们在代码页编号中位于’Z’之后,但在排序后跟随你。 我可以以某种方式使用代码页来获取所有字符,并以某种方式对它们进行排序吗? “所有字符”是指所有字母,包括数字,但不是标点符号。 并且可能只有较高的XOR小写。

如何将文化更改为.Net中的DateTimepicker或日历控件

当欲望文化与PC中安装的文化不同时,如何将国际化设置为.Net中的DateTimepicker或Calendar WinForm控件?