Home CRUDfx SDK Примеры Локализация в JavaFX

Локализация в JavaFX

E-mail Print PDF

локализация

блаблабла











Исходный код

package localization;

import javafx.stage.*;
import javafx.scene.*;
import javafx.ext.swing.*;
import javafx.scene.text.*;

import crudfx.data.*;
import localization.rsc.*;

var properties:HomeProperties=HomeProperties{ key:"CRUDfx.Localization.xml" };

//var localizationFile:FileProperties=FileProperties{ path:"localization.xml"; };//developer version
var localizationFile:StreamProperties=FileProperties{ stream:ResourceLoader.stream("localization.xml"); };
def _email=properties.node("form").node("email").asString("");
def _login=properties.node("form").node("login").asString("");
def _password=properties.node("form").node("password").asString("");
def _current=properties.node("language").asString("English");
var localization:GroupProperties=GroupProperties{
dataTree:localizationFile
current:bind _current.value with inverse
}
FX.addShutdownAction(
function():Void{
properties.gather();
properties.save();
//localization.gather();//uncomment for developer version
//localizationFile.save();//uncomment for developer version
}
);
var bigFont:Font=Font{size:16};
var normalFont:Font=Font{size:12};
Stage {
title:"Localization"
width:400
height:300
scene:Scene{
content:[
SwingComboBox{ translateX:300 translateY:10
text:bind _current.value with inverse
selectedIndex:if(_current.value=="English")then 0 else 1
items:[
SwingComboBoxItem{text:"English"}
,SwingComboBoxItem{text:"Russian"}
,SwingComboBoxItem{text:"Farsi"}
,SwingComboBoxItem{text:"Chinese"}
]
}
,SwingLabel{ width:250 translateX:10 translateY:40+50*0
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind localization.get("firstField").value
font:bind if (localization.get("bigFont").value.equals("yes")) then bigFont else normalFont
}
,SwingTextField{ translateX:10 translateY:60 width:250
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind _email.value with inverse
}
,SwingLabel{ width:250 translateX:10 translateY:40+50*1
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind localization.get("secondField").value
font:bind if (localization.get("bigFont").value.equals("yes")) then bigFont else normalFont
}
,SwingTextField{ translateX:10 translateY:60+50 width:250
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind _login.value with inverse
}
,SwingLabel{ width:250 translateX:10 translateY:40+50*2
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind localization.get("thirdField").value
font:bind if (localization.get("bigFont").value.equals("yes")) then bigFont else normalFont
}
,SwingTextField{ translateX:10 translateY:60+50+50 width:250
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind _password.value with inverse
}

,SwingLabel{ width:250 translateX:10 translateY:70+50*3
horizontalAlignment:bind if (localization.get("rightAlign").value.equals("yes"))
then SwingHorizontalAlignment.RIGHT
else SwingHorizontalAlignment.LEFT
text:bind "{_email.value} / {_login.value} / {_password.value}"
font:bind if (localization.get("bigFont").value.equals("yes")) then bigFont else normalFont
}
]
}
}

Текст файла локализации

≤?xml version="1.0" encoding="UTF-8" standalone="no"?≥
≤properties≥
     ≤firstField≥
          ≤Russian≥Почтовый адрес≤/Russian≥
          ≤English≥E-mail≤/English≥
          ≤Farsi≥آدرس ایمیل≤/Farsi≥
          ≤Chinese≥电子邮件地址≤/Chinese≥
     ≤/firstField≥
     ≤secondField≥
          ≤Russian≥Логин≤/Russian≥
          ≤English≥Login≤/English≥
          ≤Farsi≥شناسه کاربر≤/Farsi≥
          ≤Chinese≥登录≤/Chinese≥
     ≤/secondField≥
     ≤thirdField≥
          ≤Russian≥Пароль≤/Russian≥
          ≤English≥Password≤/English≥
          ≤Farsi≥رمز عبور≤/Farsi≥
          ≤Chinese≥密码≤/Chinese≥
     ≤/thirdField≥
     ≤bigFont≥
          ≤Russian≥no≤/Russian≥
          ≤English≥no≤/English≥
          ≤Farsi≥yes≤/Farsi≥
          ≤Chinese≥yes≤/Chinese≥
     ≤/bigFont≥
     ≤rightAlign≥
          ≤Russian≥no≤/Russian≥
          ≤Farsi≥yes≤/Farsi≥
          ≤English≥no≤/English≥
          ≤Chinese≥no≤/Chinese≥
     ≤/rightAlign≥
≤/properties≥
Last Updated on Monday, 29 June 2009 13:36  

Add your comment

Your name:
Comment: