loadLanguage static method

bool loadLanguage(
  1. String localeName
)

Implementation

static bool loadLanguage(String localeName) {
  //如zh-CN,转成//如zh_CN
  localeName=localeName.replaceFirst("-", "_");

  //解析语言和国家
  //如zh_CN
  List<String> strs = localeName.split('_');
  String language=strs[0];
  String country="";
  if(strs.length>1){
    country=strs[1];
  }
  Log.i(tag, "loadLanguage:language:$language");
  Log.i(tag, "loadLanguage:country:$country");

  Locale locale;
  //无国家
  if(TextUtil.isEmpty(country)){
    locale=Locale(language);
    //是否支持该语言
    if(S.delegate.isSupported(locale)){
      S.delegate.load(locale);
      Log.i(tag, "loadLanguage:load:$language");
      return true;
    }
  }else{//有国家
    locale=Locale(language,country);
    //是否支持该语言
    if(S.delegate.isSupported(locale)){
      S.delegate.load(locale);
      Log.i(tag, "loadLanguage:load:${language}_$country");
      return true;
    }else{//不支持,再去掉国家
      locale=Locale(language);
      //是否支持该语言
      if(S.delegate.isSupported(locale)){
        S.delegate.load(locale);
        Log.i(tag, "loadLanguage:load:$language");
        return true;
      }
    }
  }
  return false;
}