Выбор названия валюты для предоставленной локали (Python) - PullRequest
0 голосов
/ 13 октября 2018

Я ищу способ получить название валюты для предоставленной локали.Например:

currency_name = get_currency_name(locale = "en_US")
print(currency_name) --> "US Dollar" 

Я сканирую Интернет в поисках ответа, но не могу найти ничего действительно полезного.Это так далеко, как я пришел:

import pycountry

country = pycountry.countries.get(name='Norway')
currency = pycountry.currencies.get(numeric=country.numeric)
currency_name = currency.name
print(currency_name) --> "Norwegian Krone"

Спасибо!

1 Ответ

0 голосов
/ 13 октября 2018
import locale
import babel
from babel import numbers

def get_currency_name(loc):
  l = locale.setlocale(locale.LC_ALL, '')
  locale.setlocale(locale.LC_ALL, loc)
  sym = locale.localeconv()['int_curr_symbol']
  print(babel.numbers.get_currency_name(sym, locale='en_US'))
  locale.setlocale(locale.LC_ALL, l)

get_currency_name('en_US')
get_currency_name('zh')
get_currency_name('de')

Выход

US Dollar
Chinese Yuan
Euro
...