手打不易,如果轉摘,請注明出處!
注明原文:https://zhangxiaofan.blog.csdn.net/article/details/145578160?
版本要求
大于 2024.3
錯誤用法
網上有的說使用:UIUtil
com.intellij.util.ui.UIUtil
代碼示例(作者使用報錯)?
import com.intellij.util.ui.UIUtil;public class LanguageCheck {public static void checkLanguage() {// 獲取當前語言Language currentLanguage = UIUtil.getCurrentLanguage();// 判斷語言if ("zh_CN".equals(currentLanguage.getBaseLanguage())) {System.out.println("當前語言是中文");} else if ("en".equals(currentLanguage.getBaseLanguage())) {System.out.println("當前語言是英文");} else {System.out.println("當前語言是其他語言");}}
}
有的說使用:IdeBundle
com.intellij.ide.IdeBundle
代碼示例(作者使用報錯)??
import com.intellij.ide.IdeBundle;
import java.util.Locale;// 獲取 IDE 的當前語言設置
Locale ideLocale = IdeBundle.getResourceBundle().getLocale();
String language = ideLocale.getLanguage();if ("zh".equals(language)) {// 中文環境
} else {// 默認英文或其他語言
}
正確使用
類:DynamicBundle
com.intellij.DynamicBundle
參考官方文檔:
https://github.com/JetBrains/intellij-sdk-docs/commit/2348b44d101e8b8f3e24e32a5592711b3c898e7b
import com.intellij.DynamicBundle;import java.util.Locale;public enum LanguageUtil {;/*** 當前IDEA的語言*/public static String getLanguage() {Locale locale = DynamicBundle.getLocale();return locale.getLanguage();}/*** 是否為中文*/public static boolean isChinese() {boolean isChinese = false;try {Locale locale = DynamicBundle.getLocale();Locale chinese = Locale.CHINESE;// 如果是中文if (locale.equals(chinese) || locale.getLanguage().equalsIgnoreCase(chinese.getLanguage())) {isChinese = true;}} catch (Exception ex) {// TODO}return isChinese;}
}