You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pocketcommunityclient/app/src/main/java/com/community/pocket/util/LocalManageUtil.java

65 lines
1.8 KiB

package com.community.pocket.util;
import android.content.Context;
import android.content.res.Configuration;
import com.github.jokar.multilanguages.library.MultiLanguage;
import java.util.Locale;
//界面语言管理工具类
public class LocalManageUtil {
private static final String TAG = "LocalManageUtil";
/**
* 获取系统的locale
*
* @return Locale对象
*/
private static Locale getSystemLocale(Context context) {
return SPUtil.getInstance(context).getSystemCurrentLocal();
}
public static String getSelectLanguage(Context context) {
int type = SPUtil.getInstance(context).getSelectLanguage();
return context.getString(LocaleType.getLocale(type).getResId());
}
/**
* 获取选择的语言设置
*
* @param context 应用上下文
*/
static Locale getSetLanguageLocale(Context context) {
int type = SPUtil.getInstance(context).getSelectLanguage();
if (type == 0) {
return getSystemLocale(context);
} else {
return LocaleType.getLocale(type).getLocale();
}
}
static void saveSystemCurrentLanguage(Context context) {
SPUtil.getInstance(context).setSystemCurrentLocal(MultiLanguage.getSystemLocal(context));
}
/**
* 保存系统语言
*
* @param context 应用上下文
* @param newConfig 刷新系统配置
*/
static void saveSystemCurrentLanguage(Context context, Configuration newConfig) {
SPUtil.getInstance(context).setSystemCurrentLocal(MultiLanguage.getSystemLocal(newConfig));
}
public static void saveSelectLanguage(Context context, int select) {
SPUtil.getInstance(context).saveLanguage(select);
MultiLanguage.setApplicationLanguage(context);
}
}