【问题标题】:how to detect if a mobile supports unicode of a particular language in J2ME如何检测手机是否支持 J2ME 中特定语言的 unicode
【发布时间】:2012-10-03 09:12:21
【问题描述】:

我正在用 J2me 设计一个应用程序,我只需要提供一种特定语言的界面,比如乌尔都语。我正在做的是使用 Unicode 字符打印标签,例如“欢迎”到我的语言中,并以正确的方式显示。 由于此应用程序应该在不同的移动模型上运行,我只想知道是否可以通过编程方式检查运行我的应用程序的特定移动设备是否支持我的语言的 unicode?因为如果没有,那么它将以默认英语显示标签。除了将英文字母转换为我的语言字符之外,我还没有编码,我只是想知道,如果可能的话,找到一种方法来执行这个检查。在此先感谢:)

【问题讨论】:

    标签: unicode java-me transliteration


    【解决方案1】:

    有一个System 属性,您可以在其中读取手机上选择的当前语言。

    String locale = System.getProperty("microedition.locale");
    

    前两个字母表示语言,后两个字母表示国家。例如,"en-US" 代表美国的英语,而 "pt-BR" 代表巴西的葡萄牙语。
    最好根据当前语言加载所有 GUI Strings强>。 假设您将所有这些字符串存储在一个数组中并像这样初始化它:

    String messages [] = null;
    
    if (locale.startsWith("pt")) {
        messages = new String [] {
            "Novo Jogo",
            "Configurações",
            "Ajuda"
        };
    } else { // default language is English
        messages = new String [] {
            "New Game",
            "Settings",
            "Help"
        };
    }
    

    然后定义一些常量来标识每个索引。

    static final int MSG_NEW_GAME = 0;
    static final int MSG_SETTINGS = 1;
    static final int MSG_HELP = 2;
    

    并像这样使用它们(其中 menuList 是 List 的一个实例):

    menuList.append(messages[MSG_NEW_GAME], null);
    menuList.append(messages[MSG_SETTINGS], null);
    menuList.append(messages[MSG_HELPS], null);
    

    这样,您的应用程序就可以支持两种语言。您基于区域设置发起消息的案例越多,对您的最终用户就越好。

    http://smallandadaptive.blogspot.com.br/2008/12/internationalization-or-just-i18n-count.html所见

    【讨论】:

    • 我与手机选择的语言无关,我使用了该属性但没有帮助,我想要做的是该手机是否支持特定语言的 unicode我正在转换为。谢谢
    猜你喜欢
    • 1970-01-01
    • 2014-04-25
    • 1970-01-01
    • 2016-11-04
    • 2023-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多