Gibberish是基于rails框架下的一个语言本地化插件, beast项目使用它进行语言本地化。

Gibberish代码不多,也很容易理解,但是很好地实现了语言本地化的功能,读了以后感觉有些收获就写了这篇文档。

[b]一、安装与配置[/b]

在rails项目下, 执行
[code]ruby script/plugin install svn://errtheblog.com/svn/plugins/gibberish[/code]

在rails项目下,建立 lang 目录,并创建相应语言文件,例如:

en.yml 为英语文件,在其中输入:
login: Login

zh.yml 为中文文件,在其中输入:
login: 登录

这样即可,如果有新的需要本地化字符串,也按同样格式写入两个文件即可。

[b]二、使用方法[/b]

通过运行 ruby script/console , 查看一下Gibberish的使用方法。
[quote]
#初始化加载
>> Gibberish.load_languages!
=> [:zh, :en]

#显示 login
>> "login"[:login]
=> "Login"

#更改语言为zh

>> Gibberish.current_language = :zh
=> :zh

>> "login"[:login]
=> "登录"[/quote]

稍微复杂的例子是可以写成如下格式

[quote]en.yml:
welcome: "Welcome {name}!"

zh:yml:
welcome: "{name},欢迎来访! "

执行:
"welcome"[:welcome,"Mike"][/quote]

在不同语言设置时,会显示:

[quote]Welcome Mike!

Mike,欢迎来访![/quote]

Gibberish 本地化插件学习相关推荐

  1. jquery插件学习(六)

    继续上面的示例说明 把其中的参数默认值作为$.fn.color对象的属性单独进行设计,然后借助jquery.extend方法,覆盖原来的参数选项即可 ;(function($){$.extend($. ...

  2. Gradle插件学习笔记(二)

    之前介绍了Gradle插件的开发,这次会对功能进行一部分拓展,建议没有读过第一篇文章的朋友,先看一下Gradle插件学习笔记(一) Extension 之前的文章提到过,如何编写一个插件,但是并不能通 ...

  3. Qt 插件学习(一)

    插件是什么 注意:这儿暂时不考虑静态插件(潜意识中总觉得它根本就不算插件). 插件是一个动态库(共享库).动态库是一个独立的文件中的独立模块,可被多个程序访问. 先看动态库的两种用法 1. 程序链接时 ...

  4. Unity游戏编程自学书籍、插件学习与视频教程

    本文主要介绍用Unity进行游戏编程开发的自学书籍.需要学习的插件以及相关视频教程. 由于Unity采用C#进行开发,所以在进行下面的学习之前,确保自己有一定的C#基础并对基础的数据结构与算法有一定的 ...

  5. ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化

    ecshop图片自动本地化插件,ECSHOP下载商品图片,ECSHOP商品详情远程图片,ecshop商品远程图片保存,ecshop图片自动本地化插件,商品图片本地化,图片远程本地化插件,ecshop远 ...

  6. CAD插件学习系列教程(六) 文字自动避让工具

    我是王石头,这是CAD插件学习系列教程的第六篇,这次推荐的cad插件是重叠文字自动避让的工具. 在日常的cad的制图中,文字压盖情况是无法避免的,尤其在一些大型图件中,如果有大量的文字压盖情况需要修改 ...

  7. WorldWind学习系列十一:Virtual Earth插件学习

    学习WorldWind有很长时间了,理论学习算是基本完成了.我体会是WW的学习主要分为两大步:WW框架体系学习和WW插件学习.学习WW插件逐步深入后,必然要首先学习Direct3D编程,这也算是我的经 ...

  8. CAD插件学习系列教程(九) 简单好用的CAD图层管理工具

    我是王石头,不知不觉,这已是CAD插件学习系列教程的第九篇了,这次推荐一款非常好用的CAD图层管理工具. 众所周知,在CAD制图时,掌握CAD图层的快速开关是提升制图速度的关键,一个CAD制图高手和一 ...

  9. 谷歌插件学习之某设计网站非会员去水印下载图片

    谷歌插件学习之某设计网站非会员去水印下载图片 一.免责声明:此博客只用来进行技术交流,如有不当之处,请联系我删除! 二.谷歌插件学习网址 三.目标网址去水印及非会员下载原理分析 四.效果如下 五.插件 ...

最新文章

  1. vue-cli3.0配置详解
  2. 深入redis内部--初始化服务器
  3. bootstrap-媒体对象-对齐
  4. C语言 游戏远程call调用,关于远程注入游戏并调用 call 的问题
  5. /usr 的由来及/usr目录结构 [转]
  6. java fastfds操作文件
  7. ​全球首个机器人抓取云竞赛落幕,华科夺冠,中国团队包揽前三
  8. 还没毕业,我就进了HR的黑名单!
  9. 抖音只能上下滑动吗_仿抖音上下滑动分页视频
  10. LeetCode 第35题 搜索插入位置 做题记录
  11. 入门Python400集视频,Python学会之后,一般能拿到多少工资?
  12. grep的-A-B-选项详解
  13. Android 高德地图黑屏定位,Android Fragment集成高德地图黑屏的问题解决方案
  14. Android自定义按钮样式
  15. PhotoShop算法实现进阶-浮雕滤镜-灰度浮雕(三十一)
  16. csuoj 2000 Tian Ji's Horse Race Again 2017湖南省赛
  17. ZblogPHP度娘主题新增图片列表页面模版
  18. 北科大计算机与通信工程博士,2015年北科大计算机与通信工程学院考研拟录取名单...
  19. python3爬取知乎某话题下的若干个问题及其回答
  20. 【2018.07.29】(深度优先搜索/回溯)学习DFS算法小记

热门文章

  1. 小程序连接优声云打印机流程
  2. 计算机编辑学,计算机常识及电文档编辑学习.doc
  3. zeppelin安装配置
  4. Java字节序与大小端转换_什么时候要进行大小端字节序的转换? | 学步园
  5. RT-Thread柿饼控件(5)-- ProgressBar
  6. java mocked_java – 使mocked方法返回传递给它的参数
  7. Hadoop 3.x|第二天|配置完全分布式运行模式(重点)
  8. rest_framework学习之解析器(Parsers)
  9. Python使用cairosvg将SVG转PNG设置dpi无效
  10. 设计模型之Visitor模式-图书馆管理系统应用C++实现