package com.spot.enums;

import java.util.Locale;

/**
 * 枚举多语言 {@link java.util.Map} 使用的语言键：去掉 {@code -}、{@code _} 后转大写。
 * 例如 {@code zh-CN}、{@code zh_CN}、{@code zh_cn} 均对应键 {@code ZHCN}。
 */
public final class I18nLangKeys {

    /** 默认语言（中文简体） */
    public static final String DEFAULT = "ZHCN";

    private I18nLangKeys() {
    }

    /**
     * @param lang 请求传入的语言标识，可为 null
     * @return 用于消息 Map 查找的键，永不为空
     */
    public static String normalize(String lang) {
        if (lang == null || lang.isBlank()) {
            return DEFAULT;
        }
        String compact = lang.trim().replace("-", "").replace("_", "").toUpperCase(Locale.ROOT);
        return compact.isEmpty() ? DEFAULT : compact;
    }
}
