def lang2matcher(cls, lang): tg_list = Tradegood.list_all() langs_recognizable = HenriqueLocale.lang2langs_recognizable(lang) def tg2aliases(tg): for _lang in langs_recognizable: yield from Tradegood.tradegood_lang2aliases(tg, _lang) h_value2aliases = merge_dicts( [{ Tradegood.tradegood2codename(tg): list(tg2aliases(tg)) } for tg in tg_list], vwrite=vwrite_no_duplicate_key) config = { GazetteerMatcher.Config.Key.NORMALIZER: cls.text2norm, GazetteerMatcher.Config.Key.TEXTS2PATTERN: HenriqueEntity.texts2pattern_port_tradegood, } matcher = GazetteerMatcher(h_value2aliases, config) return matcher
def _dict_tradegood_en2port(cls): return merge_dicts([{cls.name2norm(Tradegood.tradegood_lang2name(tg, "en")): tg} for tg in Tradegood.list_all()], vwrite=vwrite_no_duplicate_key)