// Path: BiliLiveLib/src/main/java/charlie/bililivelib/I18n.java
// public class I18n {
//     public static final String BUNDLE_NAME = "BiliLiveLib";
//     private static Map<String, String> strings;
// 
//     static {
//         init();
//     }
// 
//     /**
//      * 重新依照当前Locale获取并填充本地化字符串。在切换Locale后调用。
//      */
//     public static void init() {
//         strings = new HashMap<>();
//         fillResourceBundle();
//     }
// 
//     private static void fillResourceBundle() {
//         ResourceBundle resourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
//         for (String key : resourceBundle.keySet()) {
//             strings.put(key, resourceBundle.getString(key));
//         }
//     }
// 
//     /**
//      * 获取给定Key的本地化文本。
//      * @param key 键
//      * @return 本地化文本
//      */
//     @Nls
//     public static String getString(@NonNls @NotNull String key) {
//         return strings.get(key);
//     }
// 
//     /**
//      * 获取基于给定Key的本地化格式化文本。
//      * @param key 指向格式化模式的键
//      * @param arguments 格式化文本的参数
//      * @return 本地化并格式化后的文本
//      */
//     @NotNull
//     public static String format(@NonNls @NotNull String key,
//                                 @NonNls @NotNull Object... arguments) {
//         return MessageFormat.format(strings.get(key), arguments);
//     }
// }


import charlie.bililivelib.I18n;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Nullable;
package charlie.bililivelib.danmaku.datamodel;


/**
 * 标志一个用户的管理员等级。
 *
 * @author Charlie Jiang
 * @since rv1
 */
public enum UserGuardLevel {
    DEFAULT, GUARD, MASTER;

    @Nullable
    @Contract(pure = true)
    public static UserGuardLevel fromLevel(int level) {
        if (level < 0 || level > UserGuardLevel.values().length) {
            return null;
        }
        return UserGuardLevel.values()[level];
    }

    public String getDisplayString() {
// Path: BiliLiveLib/src/main/java/charlie/bililivelib/I18n.java
// public class I18n {
//     public static final String BUNDLE_NAME = "BiliLiveLib";
//     private static Map<String, String> strings;
// 
//     static {
//         init();
//     }
// 
//     /**
//      * 重新依照当前Locale获取并填充本地化字符串。在切换Locale后调用。
//      */
//     public static void init() {
//         strings = new HashMap<>();
//         fillResourceBundle();
//     }
// 
//     private static void fillResourceBundle() {
//         ResourceBundle resourceBundle = ResourceBundle.getBundle(BUNDLE_NAME);
//         for (String key : resourceBundle.keySet()) {
//             strings.put(key, resourceBundle.getString(key));
//         }
//     }
// 
//     /**
//      * 获取给定Key的本地化文本。
//      * @param key 键
//      * @return 本地化文本
//      */
//     @Nls
//     public static String getString(@NonNls @NotNull String key) {
//         return strings.get(key);
//     }
// 
//     /**
//      * 获取基于给定Key的本地化格式化文本。
//      * @param key 指向格式化模式的键
//      * @param arguments 格式化文本的参数
//      * @return 本地化并格式化后的文本
//      */
//     @NotNull
//     public static String format(@NonNls @NotNull String key,
//                                 @NonNls @NotNull Object... arguments) {
//         return MessageFormat.format(strings.get(key), arguments);
//     }
// }


// Path: BiliLiveLib/src/main/java/charlie/bililivelib/danmaku/datamodel/UserGuardLevel.java
import charlie.bililivelib.I18n;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.Nullable;

package charlie.bililivelib.danmaku.datamodel;


/**
 * 标志一个用户的管理员等级。
 *
 * @author Charlie Jiang
 * @since rv1
 */
public enum UserGuardLevel {
    DEFAULT, GUARD, MASTER;

    @Nullable
    @Contract(pure = true)
    public static UserGuardLevel fromLevel(int level) {
        if (level < 0 || level > UserGuardLevel.values().length) {
            return null;
        }
        return UserGuardLevel.values()[level];
    }

    public String getDisplayString() {
        return I18n.getString("user.guard_level_" + this.name().toLowerCase());