/******************************************************************************* * Copyright 2016 * Ubiquitous Knowledge Processing (UKP) Lab * Technische Universität Darmstadt * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. ******************************************************************************/ package de.tudarmstadt.ukp.lmf.transform.omegawiki; import java.util.HashMap; import de.tudarmstadt.ukp.lmf.model.enums.ELanguageIdentifier; /* * Maps OmegaWiki constants to LMF constants * @author Yevgen Chebotar * @author Christian M. Meyer */ public class OmegaWikiLMFMap { private static HashMap<Integer, String> languageNames = new HashMap<Integer, String>(); // Language maps from Wiktionary to LMF // private static String langCode = "language_code.en"; /** * Maps Wiktionary Language to LMF LanguageIdentifier * http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes * @param lang */ public static String mapLanguage(int lang){ languageNames.put(84,ELanguageIdentifier.ISO639_BUL); languageNames.put(85,ELanguageIdentifier.ISO639_ENG); languageNames.put(86,ELanguageIdentifier.ISO639_FRA); languageNames.put(87,ELanguageIdentifier.ISO639_SPA); languageNames.put(88,ELanguageIdentifier.ISO639_RUS); languageNames.put(89,ELanguageIdentifier.ISO639_NLD); languageNames.put(90,ELanguageIdentifier.ISO639_CES); languageNames.put(91,ELanguageIdentifier.ISO639_SWE); languageNames.put(92,ELanguageIdentifier.ISO639_SLV); languageNames.put(93,ELanguageIdentifier.ISO639_POL); languageNames.put(94,ELanguageIdentifier.ISO639_POR); languageNames.put(95,ELanguageIdentifier.ISO639_NOB); languageNames.put(96,ELanguageIdentifier.ISO639_EUS); languageNames.put(97,ELanguageIdentifier.ISO639_SLK); languageNames.put(98,ELanguageIdentifier.ISO639_EST); languageNames.put(99,ELanguageIdentifier.ISO639_FIN); languageNames.put(100,ELanguageIdentifier.ISO639_ITA); languageNames.put(101,ELanguageIdentifier.ISO639_DEU); languageNames.put(102,ELanguageIdentifier.ISO639_HUN); languageNames.put(103,ELanguageIdentifier.ISO639_DAN); languageNames.put(104,ELanguageIdentifier.ISO639_ENG); languageNames.put(105,ELanguageIdentifier.ISO639_ELL); languageNames.put(106,ELanguageIdentifier.ISO639_HEB); languageNames.put(107,ELanguageIdentifier.ISO639_ZHO); languageNames.put(109,ELanguageIdentifier.ISO639_NAP); languageNames.put(110,ELanguageIdentifier.ISO639_MAR); languageNames.put(111,ELanguageIdentifier.ISO639_LMO); languageNames.put(112,ELanguageIdentifier.ISO639_JPN); languageNames.put(113,ELanguageIdentifier.ISO639_EPO); languageNames.put(114,ELanguageIdentifier.ISO639_PMS); languageNames.put(115,ELanguageIdentifier.ISO639_VEC); languageNames.put(116,ELanguageIdentifier.ISO639_UKR); languageNames.put(117,ELanguageIdentifier.ISO639_CAT); languageNames.put(118,ELanguageIdentifier.ISO639_EWE); languageNames.put(119,ELanguageIdentifier.ISO639_AKA); languageNames.put(120,ELanguageIdentifier.ISO639_ARB); languageNames.put(121,ELanguageIdentifier.ISO639_HAU); languageNames.put(122,ELanguageIdentifier.ISO639_HAU); languageNames.put(123,ELanguageIdentifier.ISO639_HYE); languageNames.put(124,ELanguageIdentifier.ISO639_KAT); languageNames.put(125,ELanguageIdentifier.ISO639_AFR); languageNames.put(126,ELanguageIdentifier.ISO639_FRA); languageNames.put(127,ELanguageIdentifier.ISO639_FRA); languageNames.put(128,ELanguageIdentifier.ISO639_SRP); languageNames.put(129,ELanguageIdentifier.ISO639_SRP); languageNames.put(130,ELanguageIdentifier.ISO639_THA); languageNames.put(131,ELanguageIdentifier.ISO639_IDO); languageNames.put(133,ELanguageIdentifier.ISO639_RON); languageNames.put(134,ELanguageIdentifier.ISO639_KSH); languageNames.put(135,ELanguageIdentifier.ISO639_ZHO); languageNames.put(136,ELanguageIdentifier.ISO639_ENG); languageNames.put(137,ELanguageIdentifier.ISO639_TUR); languageNames.put(138,ELanguageIdentifier.ISO639_KOR); languageNames.put(139,ELanguageIdentifier.ISO639_KHM); languageNames.put(140,ELanguageIdentifier.ISO639_SCN); languageNames.put(141,ELanguageIdentifier.ISO639_ARG); languageNames.put(142,ELanguageIdentifier.ISO639_PES); languageNames.put(143,ELanguageIdentifier.ISO639_LAV); languageNames.put(144,ELanguageIdentifier.ISO639_VIE); languageNames.put(145,ELanguageIdentifier.ISO639_SWH); languageNames.put(146,ELanguageIdentifier.ISO639_BAR); languageNames.put(147,ELanguageIdentifier.ISO639_BEL); languageNames.put(148,ELanguageIdentifier.ISO639_CSB); languageNames.put(149,ELanguageIdentifier.ISO639_HRV); languageNames.put(150,ELanguageIdentifier.ISO639_LIT); languageNames.put(151,ELanguageIdentifier.ISO639_YUE); languageNames.put(152,ELanguageIdentifier.ISO639_TGK); languageNames.put(153,ELanguageIdentifier.ISO639_CYM); languageNames.put(154,ELanguageIdentifier.ISO639_BAM); languageNames.put(155,ELanguageIdentifier.ISO639_POR); languageNames.put(156,ELanguageIdentifier.NONSTD_POR_BR); languageNames.put(158,ELanguageIdentifier.ISO639_TEL); languageNames.put(159,ELanguageIdentifier.ISO639_GLK); languageNames.put(160,ELanguageIdentifier.ISO639_MHR); languageNames.put(161,ELanguageIdentifier.ISO639_MRJ); languageNames.put(162,ELanguageIdentifier.ISO639_GUJ); languageNames.put(163,ELanguageIdentifier.ISO639_HIN); languageNames.put(164,ELanguageIdentifier.ISO639_TAM); languageNames.put(165,ELanguageIdentifier.ISO639_IND); languageNames.put(166,ELanguageIdentifier.ISO639_GLE); languageNames.put(167,ELanguageIdentifier.ISO639_FRA); languageNames.put(168,ELanguageIdentifier.ISO639_LIM); languageNames.put(169,ELanguageIdentifier.ISO639_GSW); languageNames.put(170,ELanguageIdentifier.ISO639_RWR); languageNames.put(171,ELanguageIdentifier.ISO639_SRN); languageNames.put(172,ELanguageIdentifier.ISO639_DEU); languageNames.put(173,ELanguageIdentifier.ISO639_DEU); languageNames.put(174,ELanguageIdentifier.ISO639_GRC); languageNames.put(175,ELanguageIdentifier.ISO639_GMY); languageNames.put(176,ELanguageIdentifier.ISO639_CPG); languageNames.put(177,ELanguageIdentifier.ISO639_ALS); languageNames.put(178,ELanguageIdentifier.ISO639_ALN); languageNames.put(179,ELanguageIdentifier.ISO639_AAT); languageNames.put(180,ELanguageIdentifier.ISO639_AAE); languageNames.put(181,ELanguageIdentifier.ISO639_KAN); languageNames.put(182,ELanguageIdentifier.ISO639_BRE); languageNames.put(183,ELanguageIdentifier.NONSTD_FRI); languageNames.put(184,ELanguageIdentifier.ISO639_NAV); languageNames.put(185,ELanguageIdentifier.ISO639_BEN); languageNames.put(186,ELanguageIdentifier.ISO639_URD); languageNames.put(187,ELanguageIdentifier.ISO639_FRA); languageNames.put(188,ELanguageIdentifier.ISO639_NEP); languageNames.put(189,ELanguageIdentifier.ISO639_IBO); languageNames.put(190,ELanguageIdentifier.ISO639_LLD); languageNames.put(191,ELanguageIdentifier.ISO639_KAZ); languageNames.put(192,ELanguageIdentifier.ISO639_WLN); languageNames.put(193,ELanguageIdentifier.ISO639_ISL); languageNames.put(194,ELanguageIdentifier.ISO639_TAT); languageNames.put(195,ELanguageIdentifier.ISO639_AST); languageNames.put(196,ELanguageIdentifier.ISO639_SND); languageNames.put(197,ELanguageIdentifier.ISO639_SND); languageNames.put(198,ELanguageIdentifier.ISO639_YOR); languageNames.put(199,ELanguageIdentifier.ISO639_GLG); languageNames.put(200,ELanguageIdentifier.ISO639_NNO); languageNames.put(202,ELanguageIdentifier.ISO639_LIN); languageNames.put(203,ELanguageIdentifier.ISO639_XHO); languageNames.put(204,ELanguageIdentifier.ISO639_HSB); languageNames.put(205,ELanguageIdentifier.ISO639_DSB); languageNames.put(206,ELanguageIdentifier.ISO639_TGL); languageNames.put(207,ELanguageIdentifier.ISO639_MLT); languageNames.put(208,ELanguageIdentifier.ISO639_CEB); languageNames.put(209,ELanguageIdentifier.ISO639_MKD); languageNames.put(210,ELanguageIdentifier.ISO639_INA); languageNames.put(211,ELanguageIdentifier.ISO639_ILE); languageNames.put(213,ELanguageIdentifier.ISO639_FAO); languageNames.put(214,ELanguageIdentifier.ISO639_ZUL); languageNames.put(215,ELanguageIdentifier.ISO639_SAN); languageNames.put(216,ELanguageIdentifier.ISO639_NEW); languageNames.put(217,ELanguageIdentifier.ISO639_MAL); languageNames.put(218,ELanguageIdentifier.ISO639_VLS); languageNames.put(219,ELanguageIdentifier.ISO639_CIC); languageNames.put(220,ELanguageIdentifier.ISO639_COS); languageNames.put(221,ELanguageIdentifier.ISO639_VOL); languageNames.put(222,ELanguageIdentifier.ISO639_MAL); languageNames.put(223,ELanguageIdentifier.ISO639_KAB); languageNames.put(224,ELanguageIdentifier.ISO639_GLV); languageNames.put(225,ELanguageIdentifier.ISO639_OSS); languageNames.put(226,ELanguageIdentifier.ISO639_CRH); languageNames.put(227,ELanguageIdentifier.ISO639_BAK); languageNames.put(228,ELanguageIdentifier.ISO639_CHR); languageNames.put(229,ELanguageIdentifier.ISO639_KIR); languageNames.put(230,ELanguageIdentifier.ISO639_GIL); languageNames.put(231,ELanguageIdentifier.ISO639_JAV); languageNames.put(232,ELanguageIdentifier.ISO639_EXT); languageNames.put(233,ELanguageIdentifier.ISO639_TET); languageNames.put(234,ELanguageIdentifier.ISO639_MWL); languageNames.put(235,ELanguageIdentifier.NONSTD_EML); languageNames.put(236,ELanguageIdentifier.ISO639_WOL); languageNames.put(237,ELanguageIdentifier.ISO639_SOM); languageNames.put(238,ELanguageIdentifier.ISO639_LAT); languageNames.put(239,ELanguageIdentifier.ISO639_NOV); languageNames.put(240,ELanguageIdentifier.ISO639_YDD); languageNames.put(241,ELanguageIdentifier.ISO639_PJT); languageNames.put(242,ELanguageIdentifier.ISO639_JBO); languageNames.put(243,ELanguageIdentifier.ISO639_LTZ); languageNames.put(244,ELanguageIdentifier.ISO639_ROH); languageNames.put(245,ELanguageIdentifier.ISO639_XMF); languageNames.put(246,ELanguageIdentifier.ISO639_MRI); languageNames.put(247,ELanguageIdentifier.ISO639_KAA); languageNames.put(248,ELanguageIdentifier.ISO639_DIV); languageNames.put(249,ELanguageIdentifier.ISO639_ASM); languageNames.put(250,ELanguageIdentifier.ISO639_ABK); languageNames.put(251,ELanguageIdentifier.ISO639_AVK); languageNames.put(252,ELanguageIdentifier.ISO639_SUN); languageNames.put(253,ELanguageIdentifier.ISO639_COR); languageNames.put(254,ELanguageIdentifier.ISO639_PDC); languageNames.put(255,ELanguageIdentifier.ISO639_SWB); languageNames.put(256,ELanguageIdentifier.ISO639_STQ); languageNames.put(257,ELanguageIdentifier.ISO639_LUG); languageNames.put(258,ELanguageIdentifier.ISO639_SIN); languageNames.put(259,ELanguageIdentifier.ISO639_BPY); languageNames.put(260,ELanguageIdentifier.ISO639_CKB); languageNames.put(261,ELanguageIdentifier.ISO639_TIR); languageNames.put(262,ELanguageIdentifier.ISO639_GLA); languageNames.put(263,ELanguageIdentifier.ISO639_ANG); languageNames.put(264,ELanguageIdentifier.ISO639_DZO); languageNames.put(265,ELanguageIdentifier.ISO639_LFN); languageNames.put(266,ELanguageIdentifier.ISO639_YRL); languageNames.put(267,ELanguageIdentifier.ISO639_SZL); languageNames.put(268,ELanguageIdentifier.ISO639_RUQ); languageNames.put(269,ELanguageIdentifier.ISO639_INH); languageNames.put(270,ELanguageIdentifier.ISO639_BCC); languageNames.put(271,ELanguageIdentifier.ISO639_MYV); languageNames.put(272,ELanguageIdentifier.ISO639_LAO); languageNames.put(273,ELanguageIdentifier.ISO639_OCI); languageNames.put(274,ELanguageIdentifier.ISO639_LIJ); languageNames.put(275,ELanguageIdentifier.ISO639_MYA); languageNames.put(276,ELanguageIdentifier.ISO639_AMH); languageNames.put(277,ELanguageIdentifier.ISO639_MDF); languageNames.put(278,ELanguageIdentifier.ISO639_ILO); languageNames.put(279,ELanguageIdentifier.ISO639_CHV); languageNames.put(280,ELanguageIdentifier.ISO639_SMO); languageNames.put(281,ELanguageIdentifier.ISO639_UDM); languageNames.put(282,ELanguageIdentifier.ISO639_TPI); languageNames.put(283,ELanguageIdentifier.ISO639_FRP); languageNames.put(284,ELanguageIdentifier.ISO639_SCO); languageNames.put(285,ELanguageIdentifier.ISO639_WYM); languageNames.put(286,ELanguageIdentifier.ISO639_HAW); languageNames.put(287,ELanguageIdentifier.ISO639_CHE); languageNames.put(288,ELanguageIdentifier.ISO639_BOS); languageNames.put(289,ELanguageIdentifier.ISO639_TON); languageNames.put(290,ELanguageIdentifier.ISO639_BQI); languageNames.put(291,ELanguageIdentifier.ISO639_PNT); languageNames.put(292,ELanguageIdentifier.ISO639_ARZ); languageNames.put(293,ELanguageIdentifier.ISO639_PCD); languageNames.put(294,ELanguageIdentifier.ISO639_SMA); languageNames.put(295,ELanguageIdentifier.ISO639_VRO); languageNames.put(296,ELanguageIdentifier.ISO639_QUC); languageNames.put(297,ELanguageIdentifier.ISO639_CHF); languageNames.put(298,ELanguageIdentifier.ISO639_CTU); languageNames.put(299,ELanguageIdentifier.ISO639_CAA); languageNames.put(300,ELanguageIdentifier.ISO639_TZH); languageNames.put(301,ELanguageIdentifier.ISO639_TZO); languageNames.put(302,ELanguageIdentifier.ISO639_COB); languageNames.put(303,ELanguageIdentifier.ISO639_HUS); languageNames.put(304,ELanguageIdentifier.ISO639_CAC); languageNames.put(305,ELanguageIdentifier.ISO639_TOJ); languageNames.put(306,ELanguageIdentifier.ISO639_JAC); languageNames.put(307,ELanguageIdentifier.ISO639_KJB); languageNames.put(308,ELanguageIdentifier.ISO639_KNJ); languageNames.put(309,ELanguageIdentifier.ISO639_MHC); languageNames.put(310,ELanguageIdentifier.ISO639_AGU); languageNames.put(311,ELanguageIdentifier.ISO639_IXL); languageNames.put(312,ELanguageIdentifier.ISO639_MAM); languageNames.put(313,ELanguageIdentifier.ISO639_TTC); languageNames.put(314,ELanguageIdentifier.ISO639_KEK); languageNames.put(315,ELanguageIdentifier.ISO639_POC); languageNames.put(316,ELanguageIdentifier.ISO639_POH); languageNames.put(317,ELanguageIdentifier.ISO639_CAK); languageNames.put(318,ELanguageIdentifier.ISO639_ACR); languageNames.put(319,ELanguageIdentifier.ISO639_TZJ); languageNames.put(320,ELanguageIdentifier.ISO639_QUV); languageNames.put(321,ELanguageIdentifier.ISO639_QUM); languageNames.put(322,ELanguageIdentifier.ISO639_USP); languageNames.put(323,ELanguageIdentifier.ISO639_MOP); languageNames.put(324,ELanguageIdentifier.ISO639_LAC); languageNames.put(325,ELanguageIdentifier.ISO639_YUA); languageNames.put(327,ELanguageIdentifier.ISO639_GMH); languageNames.put(328,ELanguageIdentifier.ISO639_GOH); languageNames.put(329,ELanguageIdentifier.ISO639_KHK); languageNames.put(330,ELanguageIdentifier.ISO639_ACE); languageNames.put(331,ELanguageIdentifier.ISO639_RAP); languageNames.put(332,ELanguageIdentifier.ISO639_FRO); languageNames.put(333,ELanguageIdentifier.ISO639_FRM); languageNames.put(334,ELanguageIdentifier.ISO639_HAT); languageNames.put(335,ELanguageIdentifier.ISO639_CHU); languageNames.put(336,ELanguageIdentifier.ISO639_LTG); languageNames.put(337,ELanguageIdentifier.ISO639_ARC); languageNames.put(338,ELanguageIdentifier.ISO639_JPA); languageNames.put(339,ELanguageIdentifier.ISO639_SYC); languageNames.put(340,ELanguageIdentifier.ISO639_TMR); languageNames.put(341,ELanguageIdentifier.ISO639_HIL); languageNames.put(342,ELanguageIdentifier.ISO639_SGA); languageNames.put(343,ELanguageIdentifier.ISO639_KRC); languageNames.put(344,ELanguageIdentifier.ISO639_RCF); languageNames.put(345,ELanguageIdentifier.ISO639_BNG); languageNames.put(346,ELanguageIdentifier.ISO639_PUU); //languageNames.put(347,ELanguageIdentifier.ISO639_MYE); languageNames.put(348,ELanguageIdentifier.ISO639_KEB); languageNames.put(349,ELanguageIdentifier.ISO639_NYA); languageNames.put(350,ELanguageIdentifier.ISO639_BEM); languageNames.put(351,ELanguageIdentifier.ISO639_UMB); languageNames.put(352,ELanguageIdentifier.ISO639_LUN); languageNames.put(353,ELanguageIdentifier.ISO639_TOI); languageNames.put(354,ELanguageIdentifier.ISO639_SQI); languageNames.put(355,ELanguageIdentifier.ISO639_SOT); languageNames.put(356,ELanguageIdentifier.ISO639_KAL); languageNames.put(357,ELanguageIdentifier.ISO639_KMR); languageNames.put(358,ELanguageIdentifier.ISO639_KEA); languageNames.put(359,ELanguageIdentifier.ISO639_UGA); languageNames.put(360,ELanguageIdentifier.ISO639_RMY); languageNames.put(361,ELanguageIdentifier.ISO639_XCL); languageNames.put(362,ELanguageIdentifier.ISO639_OTA); languageNames.put(363,ELanguageIdentifier.ISO639_ABA); languageNames.put(364,ELanguageIdentifier.ISO639_AKR); languageNames.put(365,ELanguageIdentifier.ISO639_BIS); languageNames.put(366,ELanguageIdentifier.ISO639_FON); languageNames.put(367,ELanguageIdentifier.ISO639_FUD); languageNames.put(368,ELanguageIdentifier.ISO639_MUL); languageNames.put(369,ELanguageIdentifier.ISO639_HOI); languageNames.put(370,ELanguageIdentifier.ISO639_UZB); languageNames.put(371,ELanguageIdentifier.ISO639_XNO); languageNames.put(372,ELanguageIdentifier.ISO639_BCZ); languageNames.put(373,ELanguageIdentifier.ISO639_GRC); languageNames.put(374,ELanguageIdentifier.ISO639_MLG); languageNames.put(375,ELanguageIdentifier.ISO639_XMW); if(!languageNames.containsKey(lang)){ //System.out.println("Language not found: "+lang.getName()); return "unknown"; } return languageNames.get(lang); } }