甲方要求实现 App 国际化多语言,正好抽个时间弄了下,害,被自己蠢到死,特意记录下.
背景知识 现代软件开发,往往做出的应用程序不止给一个国家的人去使用。不同国家的人往往存在语言文字不通的问题。由此产生了国际化(internationalization)、多语言(m
在155个国家和40多种语言中增长您的业务, 并帮助世界各地的用户轻松地发现和下载您的应用程序。
比如用户请求的时语言是zh-CN,即中文,通过下面3行代码可设置改变当前的请求语言
使用本地化功能,可以轻松地将应用程序翻译成多种语言,甚至可以翻译成同一语言的多种方言
公司业务遍及全球各地,对应业务系统国际化就是顺理成章的事情。最近就接手了一批新老系统的国际化任务,这里把一些探索经验、案例记录下来。本身改造和探索过程包括.NET MVC的,以及.NET CORE WEB API的,但这里旧版MVC的就不描述了,重点介绍netcore下的国际化方案。国际化重点在于多语言支持,以及多时区支持,本文就从这两个方面入手。
关于WPF本地化问题有许多其他的文章,包括使用Locbaml本地化WPF应用程序(https://www.codeproject.com/KB/WPF/Article.aspx),其中介绍了对XAML文件进行本地化的不同方法,每种方法都有各自的优缺点。
假设我们开发一个支持多国语言的Web应用系统,要求能够根据客户端系统的语言类型返回对应的界面。
随着我们的应用程序越来越受欢迎,我们的下一步将要开发多语言功能。方便越来越多的国家使用我们中国的应用程序, 基于 WPF 本地化,我们很多时候使用的是系统资源文件,可是动态切换本地化,就比较麻烦了。 有没有一种方法既可以适用系统的资源文件,又能方便快捷的切换本地化呢?
子模块做了一个功能,这个功能需要用到多语言,为了不与主工程其它模块耦合,需要把多语言功能放在当前子模块里面。
在以前的XAML平台,resx资源文件是一种很方便的本地化方案,但在UWP中微软又再次推荐x:Uid方案,默认的资源文件也变成resw资源文件。虽然后缀名只差了一个字母,但使用方式完全不同。最主要的区别是resw资源文件不会创建对应的Designer.cs类,这就导致本地化的实现方案完全不同。
ilverlight本地化 简单的实现多语言版本的Silverlight应用。 日益国际化的同时,需要我们开发的应用根据不同的来访者显示不用的语言,Silverlight在这个方面就提供了很方便的支持。 下来就来介绍一下如何做本地化 在VS中新建Silverlight项目 添加一个资源文件 添加一些文案,注意:Access Modifier 要设置为Public 然后复制这个文件,修改其名字做多语言支持。 相关列表请查阅这里:http://msdn.microsoft.com/zh-cn/vs
本地化第一需要考虑的元素自然就是语言,转换到游戏内容的话就是文本处理。绝大多数的多语言相关内容都只需要客户端关心,然而为了日后的更新便利,在一定程度上服务端和运营也参与了多语言文本的处理,这主要包括以下几个方面:策划配置表,服务器错误码提示,UI拼接时候的预置标题文本,敏感屏蔽词,以及相关的语言推送等。
image-20180727105818718 一般第一个为基础语言包不需要处理
UWP实现本地化非常简单,所谓本地化表现最为直观的就是UI上文字和布局方式了,针对文字,提供不同的语言资源文件即可,而针对布局方式,比如在 阿拉伯地区 阅读顺序是从右到左,需要稍稍适配一下。 本文主要讲解的是UWP APP如何进行多语言支持 多语言的文件 Resources.resw 必须放在以语言代码为文件夹名称的目录下,默认情况下系统才能识别; 多语言文件夹放在任何目录都可以,只需要注意的就是文件夹的名称必须是语言代码,具体的语言代码可以点此查看 编译打包时,系统会根据找到的多语言文件夹,
Jeff,携程前端开发经理,对前端自动化技术感兴趣,推动了团队使用cucumber进行UI自动化测试。Harry,携程前端开发工程师,秉持“Don’t make me think“的理念向用户交付页面、向同事协作工程。
国际化信息”也称为“本地化信息”,一般需要两个条件才可以确定一个特定类型的本地化信息,它们分别是“语言类型”和“国家/地区的类型”。如中文本地化信息既有中国大陆地区的中文,又有中国台湾、中国香港地区的中文,还有新加坡地区的中文。Java通过java.util.Locale类表示一个本地化对象,它允许通过语言参数和国家/地区参数创建一个确定的本地化对象。
从CSDN下载【iOS APP 内的国际化切换】demo源码:https://download.csdn.net/download/u011018979/19089505
支持的平台包括 iOS、Android、Windows(C++)、Windows(C#)、Mac、Web、Electron、微信小程序、Flutter,更多详情请参见 平台支持。
领取专属 10元无门槛券
手把手带您无忧上云