游戏/APP的多语言系统设计
多语言需求
游戏或者APP中可以根据不同地区显示不同语言,那么这是怎么实现的呢?要如何处理应用中的图片呢?
思路分析
系统设计
字体翻译显示
多语言收集工具
图例解释
把界面上出现的文字,翻译到多语言表中,系统运行时,去语言表找这个字对应的多语言文字
多语言翻译表: zh_cn.xls ,zh_hk.xls ,ja_jp.xls
简体图集、繁体图集、日文图集中图片名字一样,根据语言配置加载不同的图集,达到图片多语言。
字库要包含多种字形
字库:CommonFont.ttf 字体文件中里面同时包含简体,繁体,日文
但是一般网上下载的字体都是分为 xx简体.ttf,xxx繁体.ttf,但就如何把这两种字体合并到同一个字体中呢?
这需要一个工具 FontCreator
相关知识传送门
字体的编码问题:GB2312(大陆字体编码) BIG5(港澳台字体编码) Unicode(国际标准组织字体编码)
FontCreate
把A字库中的字拷贝到B字库
1、插入-字体,输入需要插入的字体,我这儿输入1
2、我选择的是插入1个字符在最后
3、选择 编辑->特殊粘贴
当然按照上面的方法复制一个字体到另一个字体中
汉字和Unicode码
通过小程序查询文字的unicode码
以我拷贝的“万”字举例,查询“万”简体和繁体的unicode码如下
下面我分别在 方正粗圆简体.ttf 和 方正粗圆繁体.ttf 两种字库中搜索“万” 字的unicode码
在繁体字中查询 在合并的简体字中查询
_________________________________________________________________________________________
在简体字中查询 在合并的简体字中查询
所以可以知道这个所谓的繁体字,只是把简体字转成繁体字,但你输入繁体字它就无法识别了。
原因是这样的:
同一个字在简体和繁体中的字体码是不一样的,如:万在简体中是4e07,在繁体中是842c,而如果要合并的话,那就需要把简体和繁体的字体码分别对应在新的字体文件中。
快速测试字体文件是否包含简繁体
如果想快速地测试字库是否同时包含简体和繁体,可以在Word中输入同一个字的简繁体,如果能正确的显示成你所要的字形,那么这个字库就是同时包含简体和繁体。
文献资料
如何查找汉字对应的unicode码?
在线网站查询 http://www.bangnishouji.com/tools/chtounicode.html
unity的Scene转成文本格式
unity的Label上的文字,也是转成对应的unicode码
游戏/APP的多语言系统设计的更多相关文章
- 丢沙包游戏(或杀人游戏)的C语言实现
丢沙包游戏(或杀人游戏)用C语言实现: 游戏简述: 杀人游戏(或者丢沙包游戏),设定一些人(人数为:num)一起玩游戏,从某个指定的人(设定为:start)开始轮流扔沙包,扔沙包人的下一个人为1,每隔 ...
- 大数据应用:五大地区喜新厌旧游戏APP类别之比较与分析
今天,我们来分享点不一样的资讯.....游戏APP之喜新厌旧排行榜!! 前阵子笔者开发了一套系统可以用来收集亚洲五大地区上架APP的每日排名信息,希望观察出五大地区在APP上的喜好和使用程度之间的相异 ...
- App内切换语言
前几天客户提需求,对App增加一个功能,这个功能目前市面上已经很常见,那就是应用内切换语言.啥意思,就是 英.中.法.德.日...语言随意切换. (本案例采用Data-Bingding模式,麻麻再也不 ...
- 24点小游戏app宣传文案
24点小游戏app宣传文案 游戏背景 24点小游戏是传统的扑克牌游戏,是通过扑克牌来完成的竞争性智力游戏,除了希望能够消磨我们的空闲时间,加强同学们的临机和速算能力,还能够促进我们每个人的大脑和逻辑性 ...
- 如何做一个跨平台的游戏App?
如何做一个跨平台的游戏App? iOS和安卓系统上的应用程序,根据提供的内容不同,按照开发方式和用户体验不同,可区分为app和游戏: 首先从开发方式不同来说明,app开发一般是用操作系统官方提供的开发 ...
- 控制游戏/app使用期限/过期,证书有效期,弹出公告支持离线使用/后端控制,支持Swift、Objective-C集成非常简单,永久免费框架
CertCheck.framework (for iOS) 只能运行于真机上,切勿在模拟器上使用 这是一个控制游戏/app使用期限(到设定的时间无法打开app),或发布弹出公告永久免费的框架,可以全版 ...
- 初探Android逆向:通过游戏APP破解引发的安全思考
如今移动互联网已经完全融入到我们的生活中,各类APP也是层出不穷,因此对于安卓APP安全的研究也尤为重要.本文通过对一款安卓APP的破解实例,来引出对于APP安全的探讨.(本人纯小白,初次接触安卓逆向 ...
- Android app应用多语言切换功能实现
最近在做一个多语言切换的功能,类似于微信的语言切换,搜了下资料基本上都是以下这种: 1. 实现的效果 和微信类似,在设置界面打开切换语言的界面,选择语言后重启 HomeActivity,语言切换完成, ...
- 小项目特供 贪吃蛇游戏(基于C语言)
C语言写贪吃蛇本来是打算去年暑假写的,结果因为ACM集训给耽搁了,因此借寒假的两天功夫写了这个贪吃蛇小项目,顺带把C语言重温了一次. 是发表博客的前一天开始写的,一共写了三个版本,第一天写了第一版,第 ...
随机推荐
- 转使用chrome命令行:disable-web-security 实现浏览器跨域
注意chrome 48 版本后此方法就不能用了 推荐一个新方式来实现本地跨域调试线上资源,搜索chrome插件 Allow-Control-Allow-Origin: *.https://chrome ...
- Layout--iOS
// 系统的约束代码 @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; UIView *superVi ...
- SDWebImage原理及使用
这个类库提供一个UIImageView类别以支持加载来自网络的远程图片.具有缓存管理,异步下载,同一个URL下载次数控制和优化等特征. SDWebImage加载图片的流程 入口 setImageWit ...
- UIView上的按钮跳转到一个控制器UIViewController上去
我现在有一个UIControllerView 里面addView了一个UIView,我在点击UIView的时候转到另一个UIControllerView,按上面的导航条上面的返回按钮返回第一个UICo ...
- 关于Linux与windows传递文件乱码问题
linux下一般是采用utf-8的编码,而我们在windows上编辑文件时是gb2312的编码.所以导致中文编码会乱码.要更正这个问题实际上很简单只要把文件转换成utf-8编码格式然后再导入就ok啦. ...
- 转载文章----C#基础概念
转载地址:http://www.cnblogs.com/zhouzhou-aspnet/articles/2591596.html 1.值类型和引用类型 1.1堆和栈 简单的说值类型存放在堆栈上面,引 ...
- ADO.Net(四)——扩展属性和配置文件应用
一.扩展属性 处理:有外键关系时将代号化信息处理成原始文字,让用户可看懂的(粗略解释) 利用扩展属性 如:Info表中的民族列显示的是民族代号处理成Nation表中的民族名称 需要在Info类里面扩展 ...
- Mysql Error:1205错误诊断
前两天遇到一个1205(ER_LOCK_WAIT_TIMEOUT)的错误,弄了半天终于找到原因,掌握原理+细心才能找到罪归祸首.下面我给大家分享下这个问题的分析处理过程,希望对大家有所帮助.接到sla ...
- mysql配置文件my.cnf详解
原文地址:mysql配置文件my.cnf详解 作者:gron basedir = path 使用给定目录作为根目录(安装目录). character-sets-dir = path 给出存放着字符集的 ...
- MySQL 系列(五) 多实例、高可用生产环境实战
MySQL 系列(五) 多实例.高可用生产环境实战 第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 史上最屌.你不知道的数据库操作 第三 ...