Wednesday Dec 17, 2008

JavaFX 本地化可以说简单方便,下面的介绍是从Naoko-san的blog中参考而来的.谢谢Naoko!

第一步,创建应用程序:

下面是应用程序的源代码,值得注意的是那些字符串,另外放到外部的.

===================================================
import javafx.stage.Stage;
import javafx.scene.*;
import javafx.scene.text.Font;

import javafx.ext.swing.*;
import javafx.scene.layout.VBox;

var v1 = ##"My Label";
var v2 = ##"Your Label";
var v3 = ##"Our Label";
var v4 = ##"Hello Button";
var v5 = ##"Goodbye Button";

Stage {
    title: "JavaFX Localization Test"
    width: 300
    height: 300
    visible: true
    scene:
        Scene {
            content:
            VBox {
                spacing:5
                content: [
                    SwingLabel {height: 30 width: 250 text: v1},
                    SwingLabel {height: 30 width: 250 text: v2},
                    SwingLabel {height: 30 width: 250 text: v3},
                    SwingButton {height: 30 width: 250 text: v4},
                    SwingButton {height: 30 width: 250 text: v5}
                ]
            }
        }
}

===================================================
2.  编译并运行.

# javafxc test.fx
# javafx test

在Mac操作系统上的结果是:



3.  创建fxproperty 文件.

在这里我们输入翻译好的字符串.下面是test_zh_CN.fxproperties文件内容.我们可以看到文件里直接输入了
本地化的字符串,并不需要加密的换码顺序(encrypted escape sequences)!

===================================================
@charset "GBK";

"My Label" = "我的标签"
"Your Label" = "你的标签"
"Our Label" = "我们的标签"
"Hello Button" = "你好,按钮"
"Goodbye Button" = "再见按钮"
===================================================

4. 在中文winxp上执行,并输出结果.

 

在Mac操作系统中运行,结果:

 

 

在Mac OS上,字体会比较丑,这个问题我们下一次讨论.

Comments:

Thank you so much for translating my entires. This is awesome!

Posted by naoko on December 19, 2008 at 07:48 AM GMT+08:00 #

this is cool, this is what we want dude......

Posted by tiffany & co Pendant on November 13, 2009 at 03:10 PM GMT+08:00 #

Post a Comment:
  • HTML Syntax: NOT allowed