如何 3 步接入 PokeAPI 多语言数据的 20 种以上语言【免费下载链接】pokeapiThe Pokémon API项目地址: https://gitcode.com/GitHub_Trending/po/pokeapi 一只宝可梦多个名字同一只 Mew日本用户看到的是日文名捷克用户看到的是捷克语的特性描述而底层的记录其实只有同一份。这种效果依赖的就是 PokeAPI 国际化支持PokeAPI 是提供 Pokémon 数据的 RESTful API其 CSV 数据覆盖 20 多种语言包括名称、特性名和风味文本。下面先看数据摆在哪里再谈怎么取。多语言数据的三层组织语言定义language_names.csv 里存了什么支持哪些语言由 data/v2/csv/language_names.csv 定义三列分别是language_id、local_language_id、name即语言编号、该语言在当地的编号、语言的自称共 120 多行、20 多种语言。同目录的 data/v2/csv/languages.csv 补充了iso639、iso3166、identifier列对应 ja、de、cs 这类标准代码方便按国际惯例匹配语言。翻译内容每条记录都带 language_id一段可翻译内容比如特性名、特性效果、宝可梦描述会按语言各存一条记录language_id标语言table和id指向哪个实体column指出字段string是译文本身source_crc是源文本指纹用来判断译文是否过期。仓库里也能看到更直接的形态例如特性名表 data/v2/csv/ability_names.csv每个「特性 × 语言」一行。实体名称pokemon_form_names.csv 提供多语言名实体名称层面data/v2/csv/pokemon_form_names.csv 为每种宝可梦形态提供本地化名称列是pokemon_form_id、local_language_id、form_name、pokemon_name。从请求到本地化结果的 3 步第 1 步克隆仓库拿到的就是全部数据文件git clone https://gitcode.com/GitHub_Trending/po/pokeapi第 2 步请求时带语言参数API 返回的每条 prose 类字段描述、效果文本都会带上对应语言信息按language_id或 iso639 代码取你需要的版本即可。第 3 步离线核对翻译表。比如特性 1Stench在不同语言下的记录ability_id,local_language_id,name1,1,あくしゅう 1,5,PuanteurUnown A 形态的名称pokemon_form_id,local_language_id,form_name,pokemon_name201,5,A,Zarbi A上线前值得考虑的 5 个细节复杂查询用 GraphQLgraphql/v1beta/ 与 graphql/v1beta2/ 下的接口支持多条件联合过滤例如按德文名称片段搜宝可梦现成示例在 graphql/v1beta/examples/。缓存译文基本不变可按language_id table id作缓存键用source_crc判断源文是否变化来失效。语言缺失怎么回退非官方语言对某些实体可能没有记录建议回退链为「目标语言 → en → 任意非空」。按用户偏好选语言解析请求语言头对照 languages.csv 的iso639匹配命中才取对应列不命中直接走回退。数据重建data/v2/build.py 会把 data/v2/csv 整体读入数据库保证全部语言表一致更新数据后重新执行构建即可。什么场景值得接入如果你的产品面向多地区用户或需要按非英文名称检索用户输入德文也能查到同一只宝可梦多语言接入就有收益纯单语言内部工具用 en 一列即可不必增加复杂度。建议先从宝可梦名称表一个实体开始把语言参数和回退链跑通再逐步扩展到风味文本与特性描述。【免费下载链接】pokeapiThe Pokémon API项目地址: https://gitcode.com/GitHub_Trending/po/pokeapi创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考