|
大胆创新. Fully utilised XML.
[复制链接]
|
|

楼主 |
发表于 27-12-2006 01:20 PM
|
显示全部楼层
原帖由 goatstudio 于 27-12-2006 11:36 AM 发表
variable 固然快, 但如果用 variable 的话, 用户就不能随心所欲修改里面的字眼.
对啊. 还有呢, 的就是, 我公司法有几个 System 是用不同的 language 写的. 所以要用到 XML 来 communicate.
还有呢, 就是currentlly, 我公司是用着DB来parse的, 所以quite resource-intensive. |
|
|
|
|
|
|
|

楼主 |
发表于 27-12-2006 01:20 PM
|
显示全部楼层
原帖由 goatstudio 于 27-12-2006 11:36 AM 发表
variable 固然快, 但如果用 variable 的话, 用户就不能随心所欲修改里面的字眼.
对啊. 还有呢, 的就是, 我公司法有几个 System 是用不同的 language 写的. 所以要用到 XML 来 communicate.
还有呢, 就是currentlly, 我公司是用着DB来parse的, 所以quite resource-intensive. |
|
|
|
|
|
|
|
发表于 27-12-2006 01:39 PM
|
显示全部楼层
原帖由 zchong1022 于 27-12-2006 01:20 PM 发表
对啊. 还有呢, 的就是, 我公司法有几个 System 是用不同的 language 写的. 所以要用到 XML 来 communicate.
还有呢, 就是currentlly, 我公司是用着DB来parse的, 所以quite resource-intensive.
直接用DB来control比较好。。如果你有很多个不同的product,你会maintain很多的XML文件..如这product需要加这个字。。你就要replace你的xml到另一个product那里了。。还有可能会发生duplicate record的问题..我公司是用一架server专门负责处理所有application的 language translator,如果是小规模的公司就不建议这样做. |
|
|
|
|
|
|
|
发表于 27-12-2006 04:02 PM
|
显示全部楼层
我们公司是用XML + LOCALIZATION.DLL, 不过那个LOCALIZATION.DLL 我们拿到源码后自己修改了一下
速度不会慢 |
|
|
|
|
|
|
|
发表于 27-12-2006 10:38 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 28-12-2006 12:28 AM
|
显示全部楼层
直接用variable来cache
public class LanguageResources
{
private static String User_Login_Login_ID = "";
private static String User_Login_Login_Password = "";
private static String User_Login_User_Name = "";
private static String User_Login_User_Type = "";
private static String User_Login_User_Status = "";
public static LanguageResources(String language)
{
//load from text file
//load from xml file
//load from database
}
//getter
public void getUser_Login_Login_ID()
{
return User_Login_Login_ID;
}
//getter for others field
}
public class MessageUtils
{
private static LanguageResources english = new LanguageResources("English");
private static LanguageResources chinese = new LanguageResources("Chinese");
public static String getMessage(String language, String key)
{
Object myLanguage;
if (language.equalsIgnoreCase("English"))
{
myLanguage = english;
}
else
{
myLanguage = chinese;
}
Class cls = obj.getClass();
return getProperty(cls, obj, "get" + key);
}
private static String getProperty(Class cls, Object obj, String methodName) {
String result = "";
try {
Method m = null;
m = cls.getMethod(methodName);
result = toTrimString((String) m.invoke(obj));
} catch (Throwable e) {
System.err.println(e);
}
return result;
}
public static void reload()
{
english = new LanguageResources("English");
chinese = new LanguageResources("Chinese");
}
} |
|
|
|
|
|
|
| |
本周最热论坛帖子
|