国际化之使用ResourceBundle.getBundle详解

首先新建一个Resources文件夹
Resources文件夹

新建有个Resource Bundle ‘DigitalDialog’
Resource Bundle 'DigitalDialog'

Resources 效果如下
Resources  效果如下

中文

tips.state.initializing=\u9ea6\u514b\u98ce\u542f\u52a8\u4e2d
tips.state.wait=\u8bf7\u7b49\u5f85
tips.state.ready=\u8bf7\u8bf4\u8bdd
tips.state.listening=\u503e\u542c\u4e2d
tips.state.recognizing=\u8bc6\u522b\u4e2d
tips.copyright=\u004d\u0055\u0043\u0048\u63d0\u4f9b\u6280\u672f\u652f\u6301

btn.done=\u8bf4\u5b8c\u4e86
btn.cancel=\u53d6\u6d88
btn.retry=\u91cd\u8bd5
btn.start=\u5f00\u59cb\u8bf4\u8bdd

英文

tips.state.initializing=Mic is initializing
tips.state.wait=Wait a moment
tips.state.ready=Speak now
tips.state.listening=Listening
tips.state.recognizing=Recognizing
tips.copyright=Copyright by MUCH Voice

btn.done=Finish
btn.cancel=Cancel
btn.retry=Retry
btn.start=Start
   /**
     * 国际化文本资源
     */

    private ResourceBundle mLableRes;

    private static final String KEY_TIPS_STATE_READY = "tips.state.ready";

    private static final String KEY_TIPS_STATE_WAIT = "tips.state.wait";

    private static final String KEY_TIPS_STATE_INITIALIZING = "tips.state.initializing";

    private static final String KEY_TIPS_STATE_LISTENING = "tips.state.listening";

    private static final String KEY_TIPS_STATE_RECOGNIZING = "tips.state.recognizing";

    private static final String KEY_TIPS_COPYRIGHT = "tips.copyright";

    private static final String KEY_TIPS_WAITNET = "tips.wait.net";

    private static final String KEY_BTN_DONE = "btn.done";

    private static final String KEY_BTN_CANCEL = "btn.cancel";

    private static final String KEY_BTN_RETRY = "btn.retry";

/**
     * 加载国际化字符串,{{@link #initView()}之后调用
     */
    private void loadI18N() {
        try {
            mLableRes = ResourceBundle.getBundle("DigitalDialog");
            mLogoText1.setText(getString(KEY_TIPS_COPYRIGHT));
            mLogoText2.setText(getString(KEY_TIPS_COPYRIGHT));
            mRetryTextView.setText(getString(KEY_BTN_RETRY));
            mTitle.setText(getString(KEY_TIPS_HELP_TITLE));
            mPrefix = getString(KEY_TIPS_PREFIX);
        } catch (MissingResourceException e) {
            Log.w(TAG, "loadI18N error", e);
        }
    }

    /**
     * 获取国际化字符串
     *
     * @param key
     * @return 资源不存在返回Null
     */
    private String getString(String key) {
        String label = null;
        if (mLableRes != null) {
            try {
                label = mLableRes.getString(key);
            } catch (Exception e) {
                Log.w(TAG, "get internationalization error key:" + key, e);
            }
        }
        return label;
    }
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值