在mobl里显示中文

在mobl里显示中文

昨天的blog里说mobl的IDE不支持中文输入,Zef回复说现在可以通过使用语言文件的方式显示中文,IDE的下一个版本里将解决这个问题。

首先看看mobl的语言文件是什么?

很多php程序都有自己格式的语言文件,一般就是普通的php文件,比如SugarCRM就是以php数组存放语言文件。Linux里的应用程序通常使用gettext来实现国际化。StatusNet就是采取这种方式。
mobl是主要使用web前台技术,内容一般通过javascript动态产生,国际化也是通过javascript调用json格式的文件来实现的。
这是一个简单的不能再简单的mobl的json语言文件:

{
	"Tip calculator":"小小计算器",
	"Click me":"点我",
	"You clicked me!":"被你点了"
}

再看看怎么使用这个语言文件

以小小计算器程序为例,打开TipCalculator.mobl文件。
首先在开头引用“import mobl”,i18n用到的方式在这个包里。
然后通过“fetchLanguageBundle(“zh.json”);”把json语言文件导入。
最后把原来使用字符串的地方,应“_()”函数包起来就得了。(“_()”好像Drupal呀。)
修改后的TipCalculator.mobl文件如下:

application TipCalculator

import mobl
import mobl::ui::generic

screen root() {
	script {
  	  fetchLanguageBundle("zh.json");
  	}
  
	var amount     =  20
  	var percentage =  10

  	header(_("Tip calculator"))
  	group {
	    item { numField(amount, label="amount") }
	    item { numField(percentage, label="percentage") }
	    item { "$" label(amount * (1 + percentage/100)) }
	}
	group{
		button(_("Click me"), onclick={
		  alert(_("You clicked me!"));
		})
	}
}

完成后的程序,可以在这里测试。

好了虽然能支持中文了,但是还是希望早日用上支持中文的mobl IDE。

    共享到:

6 Comments

  1. Author

    没想到mobl这么快就在新的release支持直接输入中文了:http://www.mobl-lang.org/575/version-0-4-2/

  2. .In this tutorial well grab the code from and play with mobl styling a little bit. Note that mobl styling is a still somewhat experimental feature and therefore some IDE features such as code completion may not always be up to par…The application we will be styling is our tip calculator application.

  3. 不知道为什么googlemap用不了,
    我这边只要加上 import mobl::ui::googlemap
    最上头的application test1 前面就会报错。

  4. 当config.mobl里的title为中文的时候就会出现标题上乱码了。

    configuration

    title “中国”

Leave a Reply

Your email address will not be published. Required fields are marked *