【问题标题】:How to retrieve matching macrolanguage locale from a given iso language code?如何从给定的 iso 语言代码中检索匹配的宏语言区域设置?
【发布时间】:2013-12-08 10:28:40
【问题描述】:

给定范围个体的ISO 639-2/T 语言代码,如果存在匹配项,我如何以编程方式找到匹配的macrolanguage 代码?

例如,如何从“nob”(挪威语 Bokmål,范围个体)变为“nor”(挪威语,范围宏语言)?

一般来说,同一个国家/地区可能有多种单独的语言不属于同一宏语言,因此仅按国家/地区分组会产生误报。

java.util.locale 知道 ISO 639 三字母语言代码,并且可以识别上面示例中的两种代码,但没有范围和宏语言的概念。

在我的情况下,没有误报的启发式方法也很有帮助。

【问题讨论】:

    标签: java locale


    【解决方案1】:

    您可以列出您自己的宏语言以及相应的个别语言。

    这是列表: https://iso639-3.sil.org/code_tables/639/data/all?title=&field_iso639_cd_st_mmbrshp_639_1_tid=All&name_3=&field_iso639_element_scope_tid=76&field_iso639_language_type_tid=All&items_per_page=200

    这是我前段时间做的一个选择:

    public static final Map<String, String> macroLanguages = new HashMap<>();
    static {
        macroLanguages.put("aao", "ara"); //https://iso639-3.sil.org/code/ara
        macroLanguages.put("abh", "ara");
        macroLanguages.put("abv", "ara");
        macroLanguages.put("acm", "ara");
        macroLanguages.put("acq", "ara");
        macroLanguages.put("acw", "ara");
        macroLanguages.put("acx", "ara");
        macroLanguages.put("acy", "ara");
        macroLanguages.put("adf", "ara");
        macroLanguages.put("aeb", "ara");
        macroLanguages.put("aec", "ara");
        macroLanguages.put("afb", "ara");
        macroLanguages.put("ajp", "ara");
        macroLanguages.put("apc", "ara");
        macroLanguages.put("apd", "ara");
        macroLanguages.put("arb", "ara");
        macroLanguages.put("arq", "ara");
        macroLanguages.put("ars", "ara");
        macroLanguages.put("ary", "ara");
        macroLanguages.put("arz", "ara");
        macroLanguages.put("auz", "ara");
        macroLanguages.put("avl", "ara");
        macroLanguages.put("ayh", "ara");
        macroLanguages.put("ayl", "ara");
        macroLanguages.put("ayn", "ara");
        macroLanguages.put("ayp", "ara");
        macroLanguages.put("bbz", "ara");
        macroLanguages.put("pga", "ara");
        macroLanguages.put("shu", "ara");
        macroLanguages.put("ssh", "ara");
    
        macroLanguages.put("ekk", "est"); //https://iso639-3.sil.org/code/est
        macroLanguages.put("vro", "est");
    
        macroLanguages.put("bos", "hbs"); //https://iso639-3.sil.org/code/hbs
        macroLanguages.put("hrv", "hbs");
        macroLanguages.put("srp", "hbs");
        macroLanguages.put("cnr", "hbs");
    
        macroLanguages.put("ltg", "lav"); //https://iso639-3.sil.org/code/lav
        macroLanguages.put("lvs", "lav");
    
        macroLanguages.put("nno", "nor"); //https://iso639-3.sil.org/code/nor
        macroLanguages.put("nob", "nor");
    
        macroLanguages.put("aae", "sqi"); //https://iso639-3.sil.org/code/sqi
        macroLanguages.put("aat", "sqi");
        macroLanguages.put("aln", "sqi");
        macroLanguages.put("als", "sqi");
    
        macroLanguages.put("ydd", "yid"); //https://iso639-3.sil.org/code/yid
        macroLanguages.put("yih", "yid");
    
        macroLanguages.put("ccx", "zha"); //https://iso639-3.sil.org/code/zha
        macroLanguages.put("ccy", "zha");
        macroLanguages.put("zch", "zha");
        macroLanguages.put("zeh", "zha");
        macroLanguages.put("zgb", "zha");
        macroLanguages.put("zgm", "zha");
        macroLanguages.put("zgn", "zha");
        macroLanguages.put("zhd", "zha");
        macroLanguages.put("zhn", "zha");
        macroLanguages.put("zlj", "zha");
        macroLanguages.put("zln", "zha");
        macroLanguages.put("zlq", "zha");
        macroLanguages.put("zqe", "zha");
        macroLanguages.put("zyb", "zha");
        macroLanguages.put("zyg", "zha");
        macroLanguages.put("zyj", "zha");
        macroLanguages.put("zyn", "zha");
        macroLanguages.put("zzj", "zha");
    
        macroLanguages.put("cdo", "zho"); //https://iso639-3.sil.org/code/zho
        macroLanguages.put("cjy", "zho");
        macroLanguages.put("cmn", "zho");
        macroLanguages.put("cpx", "zho");
        macroLanguages.put("czh", "zho");
        macroLanguages.put("czo", "zho");
        macroLanguages.put("gan", "zho");
        macroLanguages.put("hak", "zho");
        macroLanguages.put("hsn", "zho");
        macroLanguages.put("lzh", "zho");
        macroLanguages.put("mnp", "zho");
        macroLanguages.put("nan", "zho");
        macroLanguages.put("wuu", "zho");
        macroLanguages.put("yue", "zho");
        macroLanguages.put("cnp", "zho");
        macroLanguages.put("csp", "zho");
    
        macroLanguages.put("pes", "fas"); //https://iso639-3.sil.org/code/fas
        macroLanguages.put("prs", "fas");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 2021-10-16
      • 2011-07-06
      • 1970-01-01
      • 2013-12-03
      相关资源
      最近更新 更多