공식 또는 일반적으로 사용되는 언어 인 특정 언어 코드의 국가 목록을 가져올 수있는 파이썬 라이브러리가 있습니까?이 언어가 공식 또는 일반적으로 사용되는 언어 인 언어 코드와 일치
예를 들어, 언어 코드 "fr"은 프랑스어가 공용어 인 29 개국과 일반적으로 사용되는 8 개국과 연결됩니다.
공식 또는 일반적으로 사용되는 언어 인 특정 언어 코드의 국가 목록을 가져올 수있는 파이썬 라이브러리가 있습니까?이 언어가 공식 또는 일반적으로 사용되는 언어 인 언어 코드와 일치
예를 들어, 언어 코드 "fr"은 프랑스어가 공용어 인 29 개국과 일반적으로 사용되는 8 개국과 연결됩니다.
pycountry (심각하게). Package Index에서 가져올 수 있습니다.
바벨 패키지를 찾으십시오. 지원되는 각 로케일에 대한 pickle 파일이 있습니다. 모든 로케일 목록을 얻으려면 localedata 모듈의 list() 함수를 참조하십시오. 그런 다음
인도 a lot of official languages을 가지고 ... 밖으로 Ethnologue
그래도 조심 (언어, 국가) 등 등
확인에 로케일을 분할하는 몇 가지 코드를 작성합니다.
허용되는 대답에도 불구하고, pycountry의 기본 xml 파일 중 어느 것도 언어를 국가에 매핑하는 방법이 없다는 것을 알 수 있습니다. 여기에는 언어 및 iso 코드 목록, 국가 및 iso 코드 목록, 기타 유용한 것들이 포함되어 있지만 그 목록은 포함되어 있지 않습니다.
마찬가지로 바벨 패키지는 훌륭하지만 잠시 파고 들었을 때 목록에 어떤 방법도 찾을 수 없었습니다 특정 국가의 모든 언어가 개 있습니다.
https://stackoverflow.com/a/22199367/202168 그래서 내가 나 자신을 얻어야했다 ...
def get_territory_languages():
import lxml
import urllib
langxml = urllib.urlopen('http://unicode.org/repos/cldr/trunk/common/supplemental/supplementalData.xml')
langtree = lxml.etree.XML(langxml.read())
territory_languages = {}
for t in langtree.find('territoryInfo').findall('territory'):
langs = {}
for l in t.findall('languagePopulation'):
langs[l.get('type')] = {
'percent': float(l.get('populationPercent')),
'official': bool(l.get('officialStatus'))
}
territory_languages[t.get('type')] = langs
return territory_languages
당신은 아마 파일에이 결과를 저장할보다는 전화 : 당신이 할 수있는 최선은 '대부분'언어 웹을 통해 필요할 때마다
이 데이터 세트는 포함 '비공식'언어뿐만 아니라, 당신은 사람들을 포함 할 수 없습니다, 여기에 몇 가지 더 많은 예제 코드입니다 :
TERRITORY_LANGUAGES = get_territory_languages()
def get_official_locale_ids(country_code):
country_code = country_code.upper()
langs = TERRITORY_LANGUAGES[country_code].items()
# most widely-spoken first:
langs.sort(key=lambda l: l[1]['percent'], reverse=True)
return [
'{lang}_{terr}'.format(lang=lang, terr=country_code)
for lang, spec in langs if spec['official']
]
get_official_locale_ids('es')
>>> ['es_ES', 'ca_ES', 'gl_ES', 'eu_ES', 'ast_ES']
난 그냥 설명서를 살펴했고, 그렇지 않습니다 당신이 언어 코드를 제공하고 그 언어를 사용하는 모든 국가의 목록을 얻을 수있는 것 같습니다 –
다시 확인 가치가있을 수도 있습니다 - 내가 비슷한 목적 (통화)을 위해이 패키지를 사용했기 때문에 그 이유가 있습니다 * 하지만 * 나는 인터페이스를 사용할 수 없었습니다. 대신 패키지에 포함 된 5 개의 XML 데이터베이스를 직접 사용해야했습니다. – doug
@ a_m0d : 직접 코드를 작성해야 할 수도 있습니다. –