更多内容请到我的博客:http://www.mikameng.com
上一篇博客是 griffon桌面开发之hello world
, 界面上的显示是英文的, 现在咱们来做一下汉化。
Griffon是基于MVC架构, 在griffon-app\i18n下是我们放多语言资源文件的地方, 就像web开发一样, 都有多语言资源文件。
1. 安装多语言插件 i18n
默认是不支持多语言的,只有安装了此插件才启用。在项目根目录输入 griffon install-plugin i18n 即可安装多语言支持。 请参照 http://griffon.codehaus.org/I18n+Plugin
2. 添加中文资源文件
在griffon-app\i18n 新建文件messages_zh_CN.properties,此文件里存放和项目有关的中文资源。注意资源文件里的中文要转为Unicode编码。
转码可以用java自带的native2ascii命令: native2ascii 源文件 目标文件
; 先将需要转的内容放到源文件里,执行命令后目标文件里就是转换后的编码。 将此内容复制到messages_zh_CN.properties文件里。
转码处理前:
app.title=Hello Word入门
userName=用户名
email=邮箱
phone=电话
close=关闭
save=保存
Unicode编码
处理后:
app.title=Hello Word\u5165\u95e8
userName=\u7528\u6237\u540d
email=\u90ae\u7bb1
phone=\u7535\u8bdd
close=\u5173\u95ed
save=\u4fdd\u5b58
将处理后的内容放到中文资源messages_zh_CN.properties里。
3. 更改界面View, 根据需要自动加载资源文件
i18n plugin会自动创建messageSource实例, 我们通过messageSource实例去获得多语言内容,从而将内容显示在界面上。 使用方式如下: ${messageSource.getMessage('key')}
更改后界面如下:
package helloword
import griffon.util.GriffonNameUtils as GNU
//application(title: 'HelloWord',
application(title: "${messageSource.getMessage('app.title')}"
,,
pack: true,
locationByPlatform:true,
iconImage: imageIcon('/griffon-icon-48x48.png').image,
iconImages: [imageIcon('/griffon-icon-48x48.png').image,
imageIcon('/griffon-icon-32x32.png').image,
imageIcon('/griffon-icon-16x16.png').image]) {
panel(border:emptyBorder(10)) {
borderLayout()
panel(constraints: CENTER){
migLayout()
label ("${messageSource.getMessage('userName')}"
, constraints: 'left')
textField(columns: 20, constraints: 'growx, wrap', text: bind('userName', target:model, mutual: true))
label ("${messageSource.getMessage('email')}"
, constraints: 'left')
textField(columns: 20, constraints: 'growx, wrap', text: bind('email', target:model, mutual: true))
label ("${messageSource.getMessage('phone')}"
, constraints: 'left')
textField(columns: 20, constraints: 'growx, wrap', text: bind('phone', target:model, mutual: true))
}
panel(constraints: SOUTH){
migLayout()
button( "${messageSource.getMessage('save')}"
, actionPerformed: controller.save, constraints: 'left')
button( "${messageSource.getMessage('close')}"
, actionPerformed: controller.close, constraints: 'growx,wrap')
}
}
}
4. 运行程序,看下效果。 命令: griffon run-app
更多内容请到我的博客:http://www.mikameng.com
版权声明: 原创作品,允许转载,转载时请务必以超链接形式标明文章出处 、作者信息和本声明。否则将追究法律责任。
- 大小: 6.6 KB
分享到:
相关推荐
// 初始化代码可以放在这里 } void startup(ApplicationContext context) { println 'Hello World!' } void shutdown() { // 关闭应用时执行的代码 } } ``` 4. **运行应用**:在终端中,定位到项目根目录...
[Manning Publications] Griffon 实战 (英文版) [Manning Publications] Griffon in Action (E-Book) ☆ 出版信息:☆ [作者信息] Andres Almiray , Danno Ferrin , James Shingler [出版机构] Manning ...
11. **scripts**:这个目录可能包含了Griffon的生命周期脚本,用于控制应用的初始化、运行、停止等操作。 通过这个HelloWorld项目,初学者可以了解Griffon的基本结构、命令行工具的使用,以及如何组织源代码。后续...
[Apress] Groovy, Grails, Griffon 入门教程 (英文版) [Apress] Beginning Groovy, Grails and Griffon (E-Book) ☆ 出版信息:☆ [作者信息] Vishal Layka, Christopher M. Judd, Joseph Faisal Nusairat, Jim ...
在Griffon中,构建器模式可以让开发者更简洁地定义和组装应用程序的组件,从而实现灵活的配置和初始化过程。 Griffon框架还支持多线程应用开发,使得开发者能够利用Java强大的并发模型来创建能够充分利用多核处理器...
- **生命周期管理**: Griffon提供了生命周期管理机制,确保MVC组在整个应用程序生命周期中的正确初始化和销毁。 **6. 多线程应用(Multithreaded Applications)** - **并发性**: Griffon支持多线程编程,允许开发者...
**Griffon学习笔记2 - 显示数据列表** Griffon是一款基于Groovy和Java的桌面应用程序框架,它提供了一种简洁的方式来构建GUI应用,同时利用了Java平台的广泛库支持。这篇学习笔记主要关注如何在Griffon应用中展示...
griffon_overlay是GriffOn Yi对Gentoo生态系统的一种独特贡献,它利用Shell语言编写的ebuild文件为用户提供个人化的软件包选择。理解并正确使用overlay和ebuild文件,可以极大地丰富Gentoo用户的软件体验,同时也能...
一种易于使用的GUI,用于对数字前密码进行密码分析。 对于历史研究人员,狂热的偏执狂或以加密为乐的人很有用。 未来的发行版将朝着更现代的方向发展。
资源分类:Python库 所属语言:Python 资源全名:griffon-client-0.1.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
源于Griffon's IT Library(https://c-nergy.be/blog)的xrdp安装脚本,适用ubuntu23.10版本
**Griffon数据科学虚拟机** 是一个专为数据科学家设计的强大工具,它集成了多种技术和平台,使得在数据处理、分析和可视化方面的工作变得更加高效和便捷。这个虚拟机包含了多个关键组件,如MySQL数据库、Ruby编程...
格里芬插件桥用法Project Griffon UI通过@adobe/griffon-plugin-bridge npm包使用网桥,而插件视图通过加载CDN托管脚本来使用网桥通信层包括三个不同部分: 父级(lib / parent.js):这是Project Griffon UI通过...
格里芬-爱德华 安装来源 ..../install-griffon 卸载 : scons -c安装 要安装FTP和SFTP(SSH),请安装sshfs curlftpfs: apt-get install curlftpfs sshfs 图书馆要求: gtk + -3.0 vte-2.91 webkitg
基本的Griffon JavaFX / Java项目 您刚刚创建了一个基本的Griffon应用程序,其中JavaFX作为UI工具包,而Java作为主要语言。 该项目具有以下文件结构 . ├── build.gradle ├── griffon-app │ ├── conf │ ...
受启发,Griffon利用了约定而非配置,模块化和选择自由等概念。 该框架的核心是用Java 100%编写的,允许开发人员仅使用Java编写自己的应用程序。 也可以使用其他编程语言,例如Groovy和Kotlin,在这种情况下,可以...
Griffon 是 HTML 脚本开发人员、BASH、Perl、PHP、C 语言的文本编辑器......它允许在几次点击中生成源代码,避免陷阱 BASH 语法... IDE 的其他基本功能也存在。 由于其可拆卸的可组织标签系统,Griffon 与小屏幕兼容。
griffon_sock GriffOn Yi的袜子代理程序。
狮鹫锻造插件 :idprefix: id_(选择一个,不要修改,然后添加第二句话和简短的描述,开头是 - "The griffon-forge-addon addon enabled blah blah... )这个插件提供独立的功能,并导出服务以供使用在其他插件中。此...