多语言

细谈PHP多语种建站

流过昼夜 提交于 2020-03-20 16:47:32
3 月,跳不动了?>>> 公司产品网站不可能局限于中文,因为你的网站注册客户也许是美国人,韩国人,西班牙人等,你不得不面临网站多语种解决问题。 其实多语言网站很多,如谷歌网站,Facebook,code.org等 基于PHP语言建站的CMS,如WordPress,Joomla等都配有有多语言插件,你只需安装即可。 多语种网站应该考虑的问题? 页面多语言 需要考虑的问题: 用户登陆时候,自动识别字符,调用不同的语言包? 用户切换不同语言时候,调用不同的语言包? .增加多语言后的目录结构? 页面多语言也就是外观的多语言化,这里可以采用静态的语言包的方式。 设计时候就应该包括language的目录,针对不同语言有独立的子目录。 如英文language/en ,简体中文language/gb,繁体中文language/b5 (可以扩展其他语言) 每个目录下就包含了对每个页面的语言版本。选择语言版本时候就可以调用相应版本的语言包。 具体做法: 0.利用JavaScript语言,识别浏览器语言,在调用不同的语言包. language/en/global.ln是针对英文版的全局语言包。 2.global.ln 内容为: $title = "English webstie"; $charset = "UTF-8"; 3.index.php调用: <?php require_once() ?>;

使用MVVM-Sidekick开发Universal App(一)

纵然是瞬间 提交于 2020-03-14 18:42:31
终于要迈进 Universal 的大坑了,还有点小激动呢。 CurrencyExchanger 掌中汇率是我前几年发布在 Windows Phone 商店中的一个应用,当时是 WP7 版本,下载链接: http://www.windowsphone.com/zh-cn/store/app/%E6%8E%8C%E4%B8%AD%E6%B1%87%E7%8E%87free/84e93a20-cefb-460f-b0d9-a57689b33c10 已经很久没有升级了,最近想学习一下 Universal 开发,就拿这个练练手吧。之前一直没有系统的写过文章,现在从头把开发中的一些过程记录一下,也是对自己的一个促进。因为是边做边写,肯定会有错误,请大家不吝赐教。 一、新建项目 我使用了 MVVM-Sidekick 框架,这是一个简单但功能强大的 MVVM 框架,由微软的 @ 韦恩卑鄙 开发,我一直用这个框架开发 WP8 的程序,前不久作者升级支持了 Universal App 。 新建项目前需要先安装 MVVM-Sidekick 的 VS 扩展插件,在 VS2013update2 的工具 - 扩展与更新菜单中搜索 mvvm-sidekick 就可以找到这个扩展,下载安装即可。安装后会添加项目模板和代码段,比较方便。 github : https://github.com/waynebaby

使用MVVM-Sidekick开发Universal App(一)

本秂侑毒 提交于 2020-03-08 08:02:38
原文: 使用MVVM-Sidekick开发Universal App(一) 终于要迈进 Universal 的大坑了,还有点小激动呢。 CurrencyExchanger 掌中汇率是我前几年发布在 Windows Phone 商店中的一个应用,当时是 WP7 版本,下载链接: http://www.windowsphone.com/zh-cn/store/app/%E6%8E%8C%E4%B8%AD%E6%B1%87%E7%8E%87free/84e93a20-cefb-460f-b0d9-a57689b33c10 已经很久没有升级了,最近想学习一下 Universal 开发,就拿这个练练手吧。之前一直没有系统的写过文章,现在从头把开发中的一些过程记录一下,也是对自己的一个促进。因为是边做边写,肯定会有错误,请大家不吝赐教。 一、新建项目 我使用了 MVVM-Sidekick 框架,这是一个简单但功能强大的 MVVM 框架,由微软的 @ 韦恩卑鄙 开发,我一直用这个框架开发 WP8 的程序,前不久作者升级支持了 Universal App 。 新建项目前需要先安装 MVVM-Sidekick 的 VS 扩展插件,在 VS2013update2 的工具 - 扩展与更新菜单中搜索 mvvm-sidekick 就可以找到这个扩展,下载安装即可。安装后会添加项目模板和代码段,比较方便。

多语言实现

天涯浪子 提交于 2020-03-06 09:45:21
多语言示例 本地化与国际化 先解释两个名词, 本地化 和 国际化 本地化 在软件工程中一般将外文界面的软件翻译为本土语言称为本地化,在中国也叫汉化。 国际化 与本地化相反,一般将本土语言翻译成外文称为国际化 其实二者没什么本质区别,在软件工程上都是实现软件的多语言支持。 多语言要求 对c++程序,实现多语言的基础是 资源化 ,所有需要实现多语言的字段,都应该存在于资源中而不应该以明文的方式写在代码中。 例如: acutPrintf(_T("测试资源")); // 错误 // 正确的示范: CString str; str.LoadString(IDS_STRING1); acutPrintf(str); 一. 资源副本 实现多语言的方案有很多,我们先说一种最简单的实现方案,这种方案的实现方式是分别编译不同语言版本的程序。这种方案实现简单,我们就以一个简单的mfc程序为例,代码在 ML_Demo_MultiVersion 里。 创建一个简单的MFC 对话框程序 创建不同的语言配置 为资源创建不同语言的副本 在资源ID上右键属性,为不同副本设置条件 注意,它们ID相同,但语言不同,条件也不相同(语言相同其实也没有关系) 原有语言也要设置条件, Condition 修改不同语言对应的资源内容 在项目上右键属性,修改资源配置 注意默认配置也要修改 现在分别运行两个配置可以看到效果

Android App 多语言切换

岁酱吖の 提交于 2020-03-02 04:26:27
前段时间公司 App 需要实现多语言切换功能,接到任务后先 Google 了下,发现搜到的方法都比较老旧,很多都莫名其妙,比如什么 API 欺骗、反射、手动转换语系,感觉不应该这么复杂地实现(也可能是当时的环境下实现确实比较麻烦)。所以花了点时间研究了下,实现了应用内切换语言,且不是那么复杂。 1. 实现的效果 和微信类似,在设置界面打开切换语言的界面,选择语言后重启 HomeActivity,语言切换完成,下次重新打开 App ,也是用户设置的语言。 2. 实现步骤 1. 添加多语言文件 在不同的 value 文件夹下(例如 value 、value-en、values-zh-rTW 文件夹)添加不同语言的 string.xml 文件,我们的项目添加了英文、简体中文、繁体中文三种语言,如下图所示: 其中英文需要翻译,繁体如果没有专门翻译的话,可以找个简繁转换网站,直接将简体中文转成繁体中文,我用的这个网站: 在线中文简体转繁体 。 2. 更新 Configuration 中的 locale 属性 参照 Android 开发者官网 上的描述,Configuration 包含了设备的所有的配置信息,这些配置信息会影响应用获取的资源。例如 string 资源,就是根据 Configuration 的 locale 属性来判断该取哪种语言的 string 资源,默认是 value

ios 语言本地化处理

99封情书 提交于 2020-02-28 22:51:30
1、 iOS程序名称 在你的项目里添加一个StringsFile文件,取名InfoPlist.strings。选中该文件,在右侧的属性列表里最下边Localization栏添加语言,如果没有要添加的语言,可以选中PROJECT的info选项,在 Localization s一栏添加你需要的语言。添加完成后便可打开对应的语言文件,添加: 比如English文件里添加 CFBundleDisplayName= "China" ; 而在Chinese文件添 CFBundleDisplayName= " 中国 " ; 这样的话,运行的模拟器是中文,你会看到你的程序名称变成了“ 中国”, 运行的模拟器是中文,你会看到你的程序名称变成了“ china” 2、app内容本地化 同样的,在你的项目里 添加一个StringsFile文件 ,取名Localization.strings(必须取这个名字),添加语言如上所述,添加想要本地化的内容: 添加"Key"="value"; 然后使用时用NSLocalizedString(@"key", @""); 读取内容. Localization.strings English文件添加 "key" = "english value" ; Localization.strings Chinese文件添加 "key" = " 中文内容 " ; 3.获取支持的语言

dotnetcore3.1 WPF 实现多语言

假如想象 提交于 2020-02-27 00:57:40
dotnetcore3.1 WPF 实现多语言 Intro 最近把 DbTool 从 WinForm 迁移到了 WPF,并更新到了 dotnet core 3.1,并实现了基于 Microsoft.Extensions.Localization 实现了基本的多语言支持。下面来分享一下如何来实现 服务注册 如果不熟悉如何在 WPF 中使用依赖注入,可以参考上一篇文章 dotnetcore3.1 WPF 中使用依赖注入 在应用启动前注册 Localization 服务,我这里使用的是自己自定义的基于 JSON 的多语言服务 services.AddJsonLocalization(options => options.ResourcesPathType = ResourcesPathType.CultureBased); 服务注册的最后使用了一个 ServiceLocator 模式的代码(DependencyResolver),保存了所有的注册服务,后面的 Localizer 扩展会用到 DependencyResolver.SetDependencyResolver(services); 代码文件实现方式 代码文件(如:MainWindow.xaml.cs) 中实现多语言较为简单,直接注入 IStringLocalizer 即可,获取对应的要实例化的,比如: public

Java程序员修炼之道

故事扮演 提交于 2020-02-26 22:49:25
《Java程序员修炼之道》 基本信息 原书名:The well-grounded Java developer:vital techniques of Java 7 and polyglot programming 作者: (英)Benjamin J.Evans (荷兰)Martijn Verburg 译者: 吴海星 丛书名: 图灵程序设计丛书 出版社:人民邮电出版社 ISBN:9787115321954 上架时间:2013-6-28 出版日期:2013 年7月 开本:16开 页码:1 版次:1-1 所属分类:计算机 更多关于 》》》《 Java程序员修炼之道 》 内容简介 计算机书籍   《java程序员修炼之道》分为四部分,第一部分全面介绍java 7 的新特性,第二部分探讨java 关键编程知识和技术,第三部分讨论jvm 上的新语言和多语言编程,第四部分将平台和多语言编程知识付诸实践。从介绍java 7 的新特性入手,本书涵盖了java 开发中最重要的技术,比如依赖注入、测试驱动的开发和持续集成,探索了jvm 上的非java 语言,并详细讲解了多语言项目, 特别是涉及groovy、scala 和clojure 语言的项目。此外,书中含有大量代码示例,帮助读者从实践中理解java 语言和平台。    《java程序员修炼之道》适合java 开发人员以及对java7 和jvm

asp.net core 实现支持多语言

末鹿安然 提交于 2020-02-14 01:45:23
asp.net core 实现支持多语言 Intro # 最近有一个外国友人通过邮件联系我,想用我的活动室预约,但是还没支持多语言,基本上都是写死的中文,所以最近想支持一下更多语言,于是有了多语言方面的一些实践 国际化/本地化介绍 # 国际化(Globalization)和本地化(Localization)是要实现的多语言支持的基础 Globalization is the process of designing and developing applications that function for multiple cultures. Localization is the process of customizing your application for a given culture and locale. 国际化是要支持处理多种文化,而本地化是要根据某一个文化和区域的来展示相应的处理。 更多关于国际化与本地化的不同可以参考 Stack Overflow 上的讨论 https://stackoverflow.com/questions/2074869/globalization-vs-localization Localization In Asp.NET Core # 微软官方的 Localization 的实现是基于资源文件实现的 ( *.resx )

Asp.net core 2.x/3.x 的 Globalization 和 localization 的使用 (一) 使用方法

允我心安 提交于 2020-02-13 03:11:29
由于Api的接口需要返回多语言,因此参考了网上很多篇文章,,有些文章写的太过于理论,看起来比较费劲,今天下午搞了一个下午,总结了一下经验,, 做这个功能时,主要参考了两篇文章: https://blog.johnwu.cc/article/ironman-day21-asp-net-core-localization.html https://docs.microsoft.com/en-us/aspnet/core/fundamentals/localization?view=aspnetcore-3.1 大家可对照着看 一般有两种情况: 一种是web项目需要返回多语言,,一种是dll里,需要单独实现多语言的,比如插件中 前提,项目中需要引入 Microsoft.Extensions.Localization 包 一.Web 项目中 如果是默认创建的Asp.net core的项目,以及引用完Microsoft.Extensions.Localization包了,所以不需要额外引入 1.资源文件的位置问题   网上的教程中,提到一个SharedResource的用法,并且是放在Resources文件夹中,今天试了很多次,发觉是这么用的,   比如在不同的area中:   创建一个Resources文件夹,   然后添加一个叫SharedResource的类