我需要使用 <div class="panel-group" id="accordion" role="tablist" aria-multiselectable="true">
<div class="panel panel-default">
<div class="panel-heading" role="tab" id="headingOne">
<h4 class="panel-title">
<a role="button" data-toggle="collapse" data-parent="#accordion" href="#collapseOne" aria-expanded="false" aria-controls="collapseOne">
Se fler produkter.......................***etc
等info.plist
并将其转换为ISO 639-1 code,例如info.plist
。
我查看了以下库,但没有找到任何记录的方法来执行任何转换:
我错过了什么吗?那就是 - 这些库中的任何一个都可以吗?
答案 0 :(得分:4)
您可以将pycountry
用于所需内容。请注意,如果您想要反向方案(ISO 639-2至ISO 639-1),它可能并不总是有效,因为虽然应始终存在从ISO 639-1语言代码到ISO 639-2的映射,但反之亦然不保证。
import pycountry
code = 'en-GB'
# ISO 639-1 codes are always 2-letter codes, so you have to take
# the first two characters of the code
# This is a safer way to extract the country code from something
# like en-GB (thanks ivan_pozdeev)
lang_code = code[:code.index('-')] if '-' in code else code
lang = pycountry.languages.get(iso639_1_code=lang_code)
print("ISO 639-1 code: " + lang.iso639_1_code)
print("ISO 639-2 code: " + lang.iso639_2T_code)
print("ISO 639-3 code: " + lang.iso639_3_code)
以上内容应打印出来:
ISO 639-1 code: en
ISO 639-2 code: eng
ISO 639-3 code: eng
答案 1 :(得分:1)
List of ISO 639-2 codes有一个表格,列出了对应关系。由于它不是1-1映射,因此转换并不总是可行。
您 错过了某些内容 - 很有可能使用您指定的库进行转换。
内置语言转换器(alpha2,alpha3b,alpha3t,名称,范围, type和opensubtitles):
>>> language = babelfish.Language('por', 'BR') >>> language.alpha2 'pt' <...> >>> babelfish.Language.fromalpha3b('fre') <Language [fr]>
langcodes
专为不同的任务量身定制 - 无论标准如何,都能识别和匹配语言。因此,您可以提取与初始代码相关的所有代码 - 不同程度 - 但它不会告诉您它们属于哪种标准。
pycountry
与babelfish
类似,并由the other answer涵盖。