WPF多语言化的实现】的更多相关文章

Metro插件系统系列就暂时停一下,这次我们讨论一下WPF的资源本地化实现,主要用到的:CultureInfo,ResourceManger,MarkupExtension,RESX文件,这些都是.NET框架提供的. 项目结构: 运行结果: 可在程序运行时,实时切换语言 CultureInfo CultureInfo类表示有关特定区域性的信息,包括区域性的名称.书写体系和使用的日历,以及有关对常用操作(如格式化日期和排序字符串)提供信息的区域性特定对象的访问.CultureInfo类的实例化一般…
我们通常使用的桌面软件,都可以最小化到任务通知栏,并且可以从任务通知栏再打开当前软件,或者通过软件的快捷方式从任务通知栏呼出. 我们可以通过下面的方式把WPF程序最小化到任务栏.由于WPF并没有实现Notification的功能,我们需要借助于WinForm中NotifyIcon来实现,请看代码: using WinForms = System.Windows.Forms; private WinForms.NotifyIcon _notifyIcon; private WinForms.Con…
在Windows Phone 8的时候,要对应用程序在列表中显示的名称和锁定到开始屏幕的磁贴的名称进行多语言化是十分困难的,需要使用C++建立一个多语言资源库.但是,在WinRT中,这变得简单多了,无需再使用C++,资源文件即可解决.当然,在WinRT中,磁贴中的名称跟应用名称是一致的,不再区分. 首先,我们需要在工程目录建立相应的资源文件(resw),如下图: 根文件夹的名字必须为"Strings". 然后Strings文件夹里的子文件夹的名称为语言名称,图中的则是简体中文和美国英文…
近期由于朋友邀请帮忙给一个开源的游戏“外挂”做一个I18N的解决方案,恰好也是WPF做的,之前有过相关经验,就忙了一个星期终于搞定了,已经提交给作者了,现在这里做一个分享. 这里分享下我个人Fork的GitHub地址: https://github.com/Cuiyansong/Hearthstone-Deck-Tracker 什么是I18N 简单来说就是多语言,为什么多语言叫I18N,请参见结语中的引用. 如何实现 其实WPF上实现多语言于winform有些相似,就是更换软件运行时资源(Res…
一.主要参考: SpringMVC简单实现国际化/多语言 - CSDN博客 https://blog.csdn.net/u013360850/article/details/70860144/ 二.总结: 实际操作和原文有出入,以自己的实操为主.实操主要内容都可以参考对应的GtHub的提交记录: https://github.com/NullTommy/hello/commit/13cbaa23f61d5a83845c4030e1bfe877d06864b4 对于项目的整体构建不做过多描述,只说…
原文:WPF应用最小化至系统托盘运行 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/lordwish/article/details/51788897 WPF应用要实现最小化至系统托盘运行需要使用WinForm中的方法. using System.Windows.Forms; namespace ServerApp { /// <summary> /// MainWindow.xaml 的交互逻辑 /// </summary> p…
很多国际化的程序都提供了多语言的选项,这样方便不同国家的使用者更方便的使用软件.这篇博客中将介绍在WPF中实现多语言的方式. 方式一,使用WPF动态资源的方式实现.先简单介绍下StaticResource和DynamicResource,这两者的区别在于动态资源改变后会实时的体现出来,而静态资源只加载一次,后面对资源的任何改变都不会体现出来.显而易见,使用动态资源会降低系统的性能. 新建一个工程,添加ZH.xaml与EN.xaml两个资源文件,用于放置界面显示的文案: MainWindow.xa…
WPF实现起来非常现代化,可以参考 https://www.cnblogs.com/yang-fei/p/4854460.html winform主要说一下实现过程和注意点,实现参考AutoUpdater.NET   https://github.com/ravibpatel/AutoUpdater.NET 1.首先建立全局资源,命名严格依据C# CultureInfo 规范,如下图 注意:新建立的全局资源需要手动拖到Properties下 全局的语言资源方法使用如下 语言使用的系统识别的 定义…
public static void FullOrMin(this Window window)        {            //如果是全屏,则最小化            if (window.WindowState == WindowState.Maximized)            {                window.Topmost = false;                window.WindowState = WindowState.Normal; …
同时兼容这么多需求的解决方案 我想到的 只有通过 动态切换加载资源字典  前端用绑定的模式 达到托管最大化 多语言举例 我编辑了 两个 语言包 一个中文 一个英文  (语言包这个最好用T4 写个模板,这样添加新语言接口的时候不会遗漏,只是建议) en-us.xaml <ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="http://s…
1.首先安装Multilingual App Toolkit   2.新建项目,在VS中点击"工具" -> "Multilingual App Toolkit" -> "启用选定内容"     如果出现上述Issue, 打开项目AssemblyInfo.cs文件,加入如下代码片段,然后重复Step 2.   [assembly: NeutralResourcesLanguage("en-US")]   3.新建资源…
App::getLocale();获取当前语言 App::setLocale();设置语言配置文件 语言配置文件config/app.php locale 是默认语言,fallback_locale为备用语言 语言字符串存放在resources/lang目录中,Blade模板引擎打印语言行{{ trans('messages.welcome') }} 思路是把当前的语言设定存在Session里头,然后再写个Middleware去截Http请求,在截住的请求里用Session里的语言设定值来设Lo…
android多国语言文件夹文件汇总如下: 维吾尔文(中国):values-ug-rCN 中文(中国):values-zh-rCN 中文(台湾):values-zh-rTW 中文(香港):values-zh-rHK 英语(美国):values-en-rUS 英语(英国):values-en-rGB 英文(澳大利亚):values-en-rAU 英文(加拿大):values-en-rCA 英文(爱尔兰):values-en-rIE 英文(印度):values-en-rIN 英文(新西兰):valu…
//如果窗口最小化了弹出并置顶----事件触发调用 ShowWindowAsync(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle, 1); SetForegroundWindow(new System.Windows.Interop.WindowInteropHelper(CommonHelper.view).Handle); [System.Runtime.InteropServices.Dll…
前言:WPF数据绑定对于WPF应用程序来说尤为重要,本文将讲述使用MVVM模式进行数据绑定的四步走用法: 具体实例代码如下: 以下代码仅供参考,如有问题请在评论区留言,谢谢 1 第一步:声明一个类用来实现接口 INotifyPropertyChanged,并在界面的后台代码中实例化vm对象 2 3 public class NotifyPropertyObject : INotifyPropertyChanged 4 { 5 public event PropertyChangedEventHa…
class UserModel extends Model{ protected $_validate =  array( array('account', 'require', '{%LANGUAGE}') ); } 此处使用{%LANGUAGE}是因为由于PHP本身的限制,在类的属性定义中不能调用函数,如: class A{ public $abc = time();//这种定义方式错误,不能使用函数 } //3.1手册中批量验证部分中有一句话:由于PHP本身的限制,在类的属性定义中不能调用…
在Installer中,按一般读取配置文件的方法(ConfigurationManager.AppSettings["CultureName"])读取不到内容. 可以这样读取: var config = ConfigurationManager.OpenExeConfiguration(Assembly.GetAssembly(typeof(ProjectInstaller)).Location);string cultureName = config.AppSettings.Sett…
第一章 数字为何靠的住 (已看) 第二章 心智的模式 (已看) 第三章 动静有数 (已看) 第四章 当数学成型 (已看) 第五章 数学揭开美之本质 (已看) 第六章 当数学到位 (已看) 第七章 数学家如何决疑 (已看) 第八章 发掘宇宙的隐藏规律 (已看)…
1.http://www.cnblogs.com/bear831204/archive/2009/03/17/1414026.html 2.http://www.cnblogs.com/horan/archive/2012/04/20/wpf-multilanguage.html#ViaResx 3.http://blog.csdn.net/licher/article/details/4187873…
前段时候写了一个WPF多语言界面处理,个人感觉还行,分享给大家.使用合并字典,静态绑定,动态绑定.样式等东西 效果图 定义一个实体类LanguageModel,实际INotifyPropertyChanged接口 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.ComponentModel; namespace WpfApplication1 {…
WPF 多语言有各种实现方式.如 https://www.codeproject.com/Articles/35159/WPF-Localization-Using-RESX-Files,后来发现这个不够直接和简洁,在看到这里 https://www.cnblogs.com/yang-fei/p/4854460.html 这个朋友的实现觉得蛮不错的. 目前我觉得最好的一种或者说最适合我的一种是利用资源字典文件来做--- 就是吧各个语言创建为一个个资源字典文件,在程序启动的时候将选定的一种语言的资…
引言 WPF 数据模板化模型为定义数据的表示形式提供了很大的灵活性.WPF 控件有支持自定义数据表示形式的内置功能.首先介绍下如何定义Datatemplate,然后再介绍其他数据模板化功能,例如根据自定义逻辑选择模板和支持显示分层数据.   有关 WPF 样式和模板模型的介绍(例如如何使用 Style 来设置控件的属性),请参见样式设置和模板化主题. 另外,了解Resources也很重要,它实际上是有关使对象(例如,Style 和 DataTemplate)成为可重用对象的内容.有关资源的更多信…
因为调用系统相册.相机需要显示中文,所以搞了半天才知道是在Project->info->Custom ios Target Properties 添加 Localizations 并加入Chinese 本地化多语言化支持: 1.添加多国语言支持   Project->info->Localizable   加入语言支持 2.创建国际化语言文件 new File-> localizable.string   并在fileinspector(文件观察器) 中选中Localizab…
2014-05-06 Created By BaoXinjian…
原文:<Programming WPF>翻译 第7章 1.图形基础 WPF使得在你的应用程序中使用图形很容易,以及更容易开发你的显卡的能力.这有很多图形构架的方面来达到这个目标.其中最重要的是综合. 7.1.1综合 图形化元素可以组合到你的用户界面的任何一部分中.很多GUI技术易于将图形分离到一个独立的世界.这就需要一个“操纵杆”--当移动一个世界的按钮.文本框和其它框架到另一个世界的Shape和图像中,由于在很多系统中,这两个世界有不同的编程模型. 例如,Windows Forms和Mac…
原文 [WPF疑难]如何禁用窗口上的关闭按钮 [WPF疑难]如何禁用窗口上的关闭按钮                                           周银辉 哈哈,主要是调用RemoveMenu这个API,所以没什么好说的,直接“干货”吧: namespace VersatileMessageBoxLib {     using System;     using System.Windows.Interop;     using System.Runtime.Interop…
.NET MVC 多语言网站 通过浏览器语言首选项改变MVC的语言,通过浏览器语言选项,修改脚本语言. 一.添加资源文件 1.添加App_GlobalResources文件夹. 2.添加默认的资源文件和对应的语言码资源文件.如zh-cn代表中国大陆,en-us代表美制英语.详情:http://www.lingoes.cn/zh/translator/langcode.htm 3.将资源文件设置成public.新建时默认是internal,这样不能被访问. 右键点击资源文件,在其的属性中将自定义工…
环境:vs2012 asp.net mvc4. 实现方式:resource 资源文件,根据路由规则中Lang参数来判断载入哪种语言方式 在网上找到了相关资料,顺便自己做了个练习,新建工程之类的步骤就免了,该注意的地方说明下,记着方便下次使用. 1:添加资源文件,记得设置资源文件的访问模式为public,不然默认是Internal,外面会访问不到: 2:添加路由规则,记得加在Default路由规则的前面,否则新规则没用,详细原因请参考这篇文章 1 routes.Add(new Route( 2 "…
此随笔中主要内容来自http://blog.csdn.net/china_hxx/article/details/10066655,原出处不详. 以下内容基于VC 6.0.要实现界面多语言化,必须要先配置项目使其支持Unicode编码,文章<VC下的Unicode编程> 对此有详细介绍. 首先创建一个基于MFC的工程,在选择语言时选择 中文[简体,中国]. 项目框架选择对话框.单文档和多文档都可以,这里就选个基于对话框的吧,然后立即修该项目属性使其支持Unicode. MFC已经为我们加入了一…
此随笔主要参考了http://www.cnblogs.com/xianyunhe/archive/2011/09/02/2163842.html 为软件提供多国语言的支持的具体实现方法有很多,但基本原理都差不多,就是实现代码和语言包的独立,代码根据设定的语言选择语言包. 其中,MFC的资源文件就提供了对多国不同语言的支持功能,如果使用MFC开发,直接用资源文件自带的多国语言支持,可以省去不少的麻烦. 下面就介绍给MFC程序添加中英文的支持,开发环境为VS2010. 1.  新建工程 新建了一个对…