多语言

ThinkPHP教程_PHP框架之ThinkPHP(十二)【多语言与多模板主题】

守給你的承諾、 提交于 2020-02-09 06:00:40
一、多语言支持   ThinkPHP 内置了对多语言的支持,如果应用项目涉及到国际化,那么可以定义相关的语言包文件以实现多语言支持。 这里涉及的多语言支持是指模板语言,数据的多语言转换(翻译)不在这个范畴之内。   1、配置   在项目配置文件中做如下配置        ·自动侦测     ThinkPHP 会自动判断当前用户的浏览器支持语言来定位该使用何种语言包,如果找不到相关的语言包文件,会使用默认语言。如果浏览器支持多种语言,那么取第一种支持语言! 实际上,自动侦测是通过$_SERVER['HTTP_ACCEPT_LANGUAGE']来确定使用何种语言的     ·手动设置     除了自动侦测当前用户的浏览器语言之外,也可以在 URL 中指定使用何种语言。     ·与多语言相关的文件包(系统)或目录(项目)     ThinkPHP系统简体中文语言包:ThinkPHP系统目录/Lang/zh-cn.php     ThinkPHP系统繁体中文语言包:ThinkPHP系统目录/Lang/zh-tw.php     ThinkPHP系统美国英语语言包:ThinkPHP系统目录/Lang/en-us.php     项目简体中文语言包目录:项目目录/Lang/<项目分组/>zh-cn/模块名(小写).php(或者各个模块公用的common.php)    

多语言集成开发环境

旧巷老猫 提交于 2020-02-07 20:50:21
这里为大家带来一款出免费的多语言集成开发环境,Komodo Edit可以进行各种汇编语言进行程序的开发,拥有较高的扩展性能。这款软件支持C#、C++、CLW、Cobol、Python、PHP等常见的语言。 Komodo Edit是一款多语言集成开发环境,Komodo Edit最大的特点就是支持各种汇编语言进行程序的开发,它的扩展性能非常强大,你可以通过不同的编程辅助工具帮助Komodo Edit快速的完成应用程序的开发工作,它支持几十种编程语言,包括、C#、C++、CLW、Cobol、Python、PHP等常见的语言,可以说,只要您会编程语言,就能够使用Komodo Edit进行程序开发工作,软件支持跨平台的插件应用,能够完美的运行在Mac、Linux、Win等操作系统中。 Komodo IDE是一个综合编辑器,提供各种各样的集成,使您的工作更容易。 除了在任何操作系统上提供对超过100种语言的支持,Komodo可根据您的需要进行定制。IDE集成的包括所有你需要保持欧元区和做更多的事情。得到你最喜欢的框架、语言和工具在一个跨平台,通晓多种语言的IDE。 您能够在分布式应用程序中包含ActivePerl为客户提供无缝体验。ActivePerl OEM版需要开源许可的复杂性,通过保证保证和消除法律风险,以及在商业应用程序分发Perl

asp.net core 实现支持多语言

白昼怎懂夜的黑 提交于 2020-01-17 10:56:03
原文: asp.net core 实现支持多语言 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

goweb- 国际化和本地化

喜夏-厌秋 提交于 2020-01-15 13:29:04
国际化和本地化 为了适应经济的全球一体化,作为开发者,我们需要开发出支持多国语言、国际化的Web应用,即同样的页面在不同的语言环境下需要显示不同的效果,也就是说应用程序在运行时能够根据请求所来自的地域与语言的不同而显示不同的用户界面。这样,当需要在应用程序中添加对新的语言的支持时,无需修改应用程序的代码,只需要增加语言包即可实现。 国际化与本地化(Internationalization and localization,通常用i18n和L10N表示),国际化是将针对某个地区设计的程序进行重构,以使它能够在更多地区使用,本地化是指在一个面向国际化的程序中增加对新地区的支持。 所谓的国际化:就是根据特定的locale信息,提取与之相应的字符串或其它一些东西(比如时间和货币的格式)等等。这涉及到三个问题: 1、如何确定locale。 2、如何保存与locale相关的字符串或其它信息。 3、如何根据locale提取字符串和其它相应的信息。 设置默认地区 什么是Locale Locale是一组描述世界上某一特定区域文本格式和语言习惯的设置的集合。locale名通常由三个部分组成:第一部分,是一个强制性的,表示语言的缩写,例如"en"表示英文或"zh"表示中文。第二部分,跟在一个下划线之后,是一个可选的国家说明符,用于区分讲同一种语言的不同国家,例如"en_US"表示美国英语,而"en_UK

AAAI 2020 | 清华大学:借助BabelNet构建多语言义原知识库

戏子无情 提交于 2019-12-31 21:57:53
2019-12-31 05:44:06 作者 | 岂凡超(清华大学) 责编 | Camel 本文对清华大学完成的已被 AAAI-20 录用的论文《Towards Building a Multilingual Sememe Knowledge Base: Predicting Sememes for BabelNet Synsets》进行解读。 论文链接:ar xi v.org/pdf/1912.01 79 , 代码和数据:https://github .com /thunlp/BabelNet-Sememe-Prediction 该文旨在 借助 BabelNet 这个多语言百科词典来构建一个多语言的义原知识库,即为多种不同语言的词语标注义原 。该文构建了一个小规模的种子知识库,并且提出了两种使用不同信息的模型——为 BabelNet 中的 synset 自动预测义原进而将小规模种子知识库扩充成最终可用的大规模义原知识库。 一、研究背景 人类语言可以划分成不同层次——句子可以划分成短语或词组,再进一步划分成词。词是最小的可以独立运用的单位,也是自然语言处理最常用的语言单位。但从语义层面讲,词还可以进一步细分为义原——也即语言学家定义的最小的语义单位。 一些语言学家认为所有语言的所有词语的意思都可以用一个有限的义原集合来表达。例如「男孩」这个词的意思可以由「人类」、「男性」、「儿童

HTML 编辑器大全

江枫思渺然 提交于 2019-12-22 11:36:46
FCKeditor FCKeditor是一款功能强大的开源在线文本编辑器(DHTML editor),它使你在web上可以使用类似微软Word 的桌面文本编辑器的许多强大功能。它是轻量级且不必在客户端进行任何方式的安装。 FCKeditor兼容 Firefox, Mozilla, Netscape 和 IE。 特性功能:所见所得,支持平台众多,支持XHTML 1.0,文本格式设置,常见的编辑,复制,粘贴,撤销,文件上传等功能。 TinyMCE TinyMCE 是一个基于浏览器(例如MSIE或Mozilla)的强大的所见即所得的编辑器,它使用户可以方便的编辑HTML内容。它非常灵活并且是为系统集成而设计的,比如在Intranets、CMS、LMS等系统中应用。 英文文档:http://wiki.moxiecode.com/index.php/TinyMCE:Index TinyMCE 中文手册: http://www.leexuan.com/manual/TinyMce/index.html SPAW Editor SPAW Editor是一个功能强大,高度可定制,多语言支持,可更换皮肤的WYSIWYG编辑器。支持PHP与ASP.NET。 InnovaStudio WYSIWYG Editor 一款基于web的WYSIWYG(所见即所得)的HTML编辑器,支持ASP, PHP,

框架设计总结

一笑奈何 提交于 2019-12-21 20:47:56
前言 毕业7年多时间,GIS出身的我从毕业就开始走上了编程的道路,接触过c++、java、.net,不过最终.net成了我营生的工具。 7年终准确地说待过3家公司,纯做GIS软件的,一家做电信运营商软件的,现在这家做民航业务的,这3家公司有个共同点就是CS为主,偶尔冒出一个两个的BS小项目技术上也就是练练手入个门而已,所以始终对CS的框架比较关注,自己想做个总结,欢迎大家补充和指正。 总体框架 总体框架决定这个系统的未来诸多方面的命运, 例如可扩展性:好的框架会预留一定程度的扩展能力,让未知的需求将来有容身之地;可读性:团队不是一成不变,加上现在的跳槽率一直很高,所以框架可读性是决定以后新人加入后上手、维护的成本,以及他的感受(谁也不想维护一个像垃圾堆一样的代码);可维护性:整体结构设计要很容易理解,设计要深入,不是项目开始的时候一拍脑袋1个小时内决定了怎么设计就按照这种方式去做,如果这样的话你或者你的团队终将付出代价;可复用性:好的设计能剥离出业务相关的东西,业务无关的东西、项目间通用的东西等等,是个技术积累沉淀的过程,也是自我提高的途径。等等诸如此类特性不一一赘述了。 模块管理:系统由各个功能模块组成,每个模块包括不同业务功能,将这些模块灵活的管理我的方法是采用反射,设计一个配置文件xml或者db table都行,配置功能模块的Show menugroup、icon

开发人员建议阅读:Spring Boot 架构中的国际化支持实践

…衆ロ難τιáo~ 提交于 2019-12-19 04:21:16
pring Boot 主要通过 Maven 或 Gradle 这样的构建系统以继承方式添加依赖,同时继承了 Spring 框架中的优秀元素,减少了 Spring MVC 架构中的复杂配置,内置 Tomcat,Jetty 容器,使用 Java application 运行程序,而不是传统地把 WAR 包置于 Tomcat 等容器中运行,从而简化加速开发流程。此外,Spring Boot 学习简单、轻量级、容易扩展。基于这些优秀的特点,Spring Boot 成为了蓬勃发展的快速应用开发领域的领导者。 在互联网日益发展的当今时代,一个应用程序需要在全球范围内使用势在必然。传统的程序设计方法将可翻译信息如菜单按钮的标签、提示信息、帮助文档等文字信息硬编码在程序代码中,但这些已经不能很好的适应全球化发展,而且程序的扩展性差,维护成本高。一个能支持全球化的应用程序,必须实现单一可执行的程序,动态地使用资源(Single Source Single Executable)。 对于一个能支持全球化的应用程序来说,需要考虑下面三方面的设计,如图 1 所示。 图 1. 多语言应用程序模型 区域模型的定制化(Locale Model):Locale 模型是一个多语言应用程序的基础,用来确定界面语言以及日期时间等的格式化方式,通常包括语言环境(Language Locale)和文化环境(Cultural

abp(net core)+easyui+efcore实现仓储管理系统——多语言(十)

给你一囗甜甜゛ 提交于 2019-12-18 18:41:27
abp(net core)+easyui+efcore实现仓储管理系统目录 abp(net core)+easyui+efcore实现仓储管理系统——ABP总体介绍(一) abp(net core)+easyui+efcore实现仓储管理系统——解决方案介绍(二) abp(net core)+easyui+efcore实现仓储管理系统——领域层创建实体(三) abp(net core)+easyui+efcore实现仓储管理系统——定义仓储并实现 (四) abp(net core)+easyui+efcore实现仓储管理系统——创建应用服务(五) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之控制器(六) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之列表视图(七) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八) abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) 上接( abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九) ), 在这一篇文章中我们介绍一下ABP的多语言

安卓国际化【多语言以及不同语言下的图片适配】

南楼画角 提交于 2019-12-16 08:17:42
前言: 在一些场合中,比如即将到来的冬奥会,我们做的APP就可能需要面对别的国家的用户,这个时候如果你的APP只支持中文那就太尴尬了。废话不多说: 一.多语言文字适配 我们用英文举例,首先在我们的app\src\main\res目录下新建values-en文件夹,然后在该文件夹下新建一个叫做strings的xml文件,用来存放英文string资源。如果你的命名是正确的,那么你的strings文件上会出现一面小国旗,如下图。这里我们需要注意两点: 1.我们默认的原来的那个文件夹隐含的意思是values-ch,两个文件夹中的strings文件的内容(name)应该一致,否则编译器会提示错误,例如: <string name="choose_language">"Choice language"</string>//这个是values-en里的资源 <string name="choose_language">"选择语言"</string>//这个是原来的values文件夹中的资源 2.在情况1时,当有一些资源你觉得在英文环境下不需要使用,当放在原来的文件夹下还会报错,那我们可以在原来的values文件夹下新建一个叫做donottranslate.xml的文件,将不需要翻译的资源拷贝到其中。文件结构如下: 3.安卓7.0之前: 1.1.第一步: private void