class I18nBundleLocal implements I18nBundle {
    Props bundle = new Props();
    String bundleName;
    Locale locale;

    public I18nBundleLocal(String bundleName, Locale locale) {
        if (locale == null) {
            locale = Solon.cfg().locale();
        }

        this.locale = locale;
        this.bundleName = bundleName;

        String bundleName2 = bundleName.replace(".", "/");

        //加载默认配置
        Properties tmp = loadProperties(bundleName2, new String[]{".properties", ".yml"});
        if (tmp != null) {
            //如果有，替换掉默认配置
            bundle.putAll(tmp);
        }

        //加载地区配置

        //尝试加(语言)的配置
        tmp = loadProperties(bundleName2 + "_" + locale.getLanguage(), new String[]{".properties", ".yml"});
        if (tmp != null) {
            //如果有，替换掉默认配置
            bundle.putAll(tmp);
        }

        //尝试(语言_国家)的配置
        tmp = loadProperties(bundleName2 + "_" + locale, new String[]{".properties", ".yml"});
        if (tmp != null) {
            //如果有，替换掉默认配置
            bundle.putAll(tmp);
        }
    }

    @Override
    public Props toProps() {
        return bundle;
    }

    @Override
    public Locale locale() {
        return locale;
    }

    /**
     * 获取国际化内容
     *
     * @param key 配置键
     */
    @Override
    public String get(String key) {<FILL_FUNCTION_BODY>}

    private Properties loadProperties(String path, String[] extensions) {
        Properties tmp = null;
        for (String ext : extensions) {
            tmp = Utils.loadProperties(path + ext);
            if (tmp != null) {
                break;
            }
        }

        return tmp;
    }
}

        String tmp = bundle.getProperty(key);

        if (tmp == null) {
            throw new MissingResourceException("Can't find resource for bundle "
                    + bundleName
                    + ", key " + key,
                    this.getClass().getName(),
                    key);
        }

        return tmp;
    
<no_super_class>