Документация

Настоящая документация описывает совместную работу нескольких шаблонов.

Основной шаблон — {{Валютный курс}}, отвечающий за вывод данных в конечных статьях и списках (см. раздел «Примеры использования»).

Автоматически обновляемые шаблоны:

Вручную обновляемые шаблоны:

Все вместе они позволяют отображать в статьях, списках и других шаблонах текущий (автоматически обновляемый не реже одного раза в сутки) валютный курс практически по всем существующим валютам, имеющим код ISO 4217.

Примеры использования править

Примеры простого использования

Для вывода курса нужно знать коды ISO 4217 той валютной пары, чье соотношение необходимо вывести.

Шаблон Результат Примечания
{{Валютный курс|RUB|USD}} 89,39 1 USD = 89,39 RUB
{{Валютный курс|USD|RUB}} 0,01 119 1 RUB = 0,01 119 USD
{{Валютный курс|RUB|EUR}} 97,85 1 EUR = 97,85 RUB
{{Валютный курс|EUR|RUB}} 0,01 022 1 RUB = 0,01 022 EUR
{{Валютный курс|RUB|GBP}} 113,8 1 GBP = 113,8 RUB
{{Валютный курс|GBP|RUB}} 0,008 789 1 RUB = 0,008 789 GBP
{{Валютный курс|USD|EUR}} 1,095 1 EUR = 1,095 USD
{{Валютный курс|EUR|USD}} 0,9136 1 USD = 0,9136 EUR
Примеры использования с множителем и параметром «дата»

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

Шаблон Результат Примечания
{{Валютный курс|GBP|RUB}} 0,008 789 1 RUB = 0,008 789 GBP
{{Валютный курс|GBP|RUB|1}} 0,008 789 1 RUB = 0,008 789 GBP
{{Валютный курс|GBP|RUB|10}} 0,08 789 10 RUB = 0,08 789 GBP
{{Валютный курс|GBP|RUB|100}} 0,8789 100 RUB = 0,8789 GBP
{{Валютный курс|RUB|Дата}} 10 января 2024 Дата, которой соответствуют данные
Примеры, когда код валюты неизвестен шаблонам или данные о ней в шаблонах отсутствуют

Если валюта неизвестна шаблону (сведения о ней отсутствуют в шаблонах {{Валютный курс/Данные}} и {{Валютный курс/Фиксированные курсы}}), то результат будет пустым.

Шаблон Результат Примечания
{{Валютный курс|КОД|EUR}} Результат пустой
{{Валютный курс|EUR|КОД}} Результат пустой
{{Валютный курс|XXX|EUR}} Результат пустой
{{Валютный курс|EUR|XXX}} Результат пустой
{{Валютный курс|КОД|Дата}} Дата для неизвестной валюты также будет пустой
{{Валютный курс|XXX|Дата}} Дата для неизвестной валюты также будет пустой
См. также примеры использования в таких статьях, списках и шаблонах, как

Техническая реализация править

Порядок взаимодействия шаблонов править

Курсы валютных пар рассчитываются автоматически на основе данных, собираемых и обновляемых роботом KrBot из трёх источников (см. раздел «Источники данных»):

Ручное изменение данных не требуется и не рекомендуется.

Курсы для валют, имеющих жёсткую привязку к другим валютам, автоматически вычисляются как кросс-курсы на основе вручную прописанных статических данных шаблона {{Валютный курс/Фиксированные курсы}} и динамических данных из шаблона {{Валютный курс/Данные}}. В случае изменения курсового режима или значения фиксированного курса, необходимо внести соответствующие изменения в шаблон {{Валютный курс/Фиксированные курсы}}.

Параметры выводимых курсов и отказ от ответственности править

Выводимые настоящими шаблонами курсы основаны на открытых источниках и транслируются с округлением до четырёх значимых цифр. Они могут отличаться от официальных котировок, установленных центральными банками, они могут отличаться от курсов, транслируемых другими источниками информации. Не используйте их в случаях, когда ошибка может причинить вред или нанести ущерб.

Вопросы и предложения править

В разработке шаблонов принимали участие несколько человек, поэтому для вопросов и предложений рекомендуется использовать страницу обсуждения шаблона «Валютный курс».

Не рекомендуется поднимать вопросы, обсуждавшиеся на страницах «Форум/Вниманию участников § Шаблон Валюта» и «Обсуждение шаблона:Валютный курс», без достаточных на то оснований и появления новых весомых аргументов, которые не были рассмотрены участниками.

Источники данных править

Шаблон «Валютный курс/Данные» править

Источниками данных для работы шаблонов, отвечающих за вывод валютных курсов являются:

К сожалению, используемые источники на дают полного набора валютных пар. Мы будем благодарны, если вы предложите источник с лучшими характеристиками.

Требования к источнику информации следующие — он должен:

  1. Предоставлять информацию об актуальных курсах по соизмеримому (не менее 100 валют) или большему числу валют с частотой обновления не реже одного раза в неделю.
  2. Предоставлять данные по лицензиям, используемым в Википедии (Creative Commons Attribution/Share-Alike 3.0 и GFDL).
  3. В полной мере соответствовать требованиям, предъявляемым к источникам, которые принято использовать для подготовки статей «Википедии».
  4. Предоставлять удобный интерфейс для автоматического забора данных.

Шаблон «Валютный курс/Фиксированные курсы» править

Данные шаблона {{Валютный курс/Фиксированные курсы}} (фиксированные курсы, а также курсы с очень узким коридором) приведены со ссылкой на сайты эмитентов или другие языковые разделы «Википедии», прежде всего английский. Данные источники не вполне удобны для автоматического отслеживания, поэтому мы будем признательны, если вы предложите более удачный источник.

Текущие фиксированные курсы править

Валюта Код ISO 4217 Значение фиксированного курса Источник
По отношению к доллару США (USD)
Панамский бальбоа PAB 1 USD = 1,000 PAB en:Panamanian balboa
Сальвадорский колон SVC 1 USD = 8,750 SVC Сайт эмитента
Восточно-карибский доллар XCD 1 USD = 2,700 XCD Сайт эмитента
Гонконгский доллар HKD 1 USD = 7,800 HKD Сайт эмитента
Франк Джибути DJF 1 USD = 177,7 DJF Сайт эмитента
Арубанский флорин AWG 1 USD = 1,790 AWG en:Aruban florin
Багамский доллар BSD 1 USD = 1,000 BSD Сайт эмитента
Бахрейнский динар BHD 1 USD = 0,3760 BHD Сайт эмитента
Барбадосский доллар BBD 1 USD = 2,000 BBD Сайт эмитента
Белизский доллар BZD 1 USD = 2,000 BZD Сайт эмитента
Эритрейская накфа ERN 1 USD = 15,00 ERN en:Eritrean nakfa
Доллар Тринидада и Тобаго TTD 1 USD = 6,251 TTD en:Trinidad and Tobago dollar
Дирхам ОАЭ AED 1 USD = 3,673 AED en:United Arab Emirates dirham
Иорданский динар JOD 1 USD = 0,7090 JOD en:Jordanian dinar
Ливанский фунт LBP 1 USD = 1508 LBP en:Lebanese pound
Нидерландский антильский гульден ANG 1 USD = 1,790 ANG Сайт эмитента
Оманский риал OMR 2,601 USD = 1 OMR en:Omani rial
Катарский риал QAR 1 USD = 3,640 QAR en:Qatari riyal
Саудовский риял SAR 1 USD = 3,750 SAR en:Saudi riyal
Боливар фуэрте VEF 1 USD = 4,300 VEF CIA Factbook
Доллар Каймановых островов KYD 1,200 USD = 1 KYD en:Cayman Islands dollar
Бермудский доллар BMD 1 USD = 1,000 BMD en:Bermudian dollar
Кубинское конвертируемое песо CUC 1 USD = 1,000 CUC Сайт эмитента
Доллар того же дня USS 1 USD = 1,000 USS
Доллар следующего дня USN 1 USD = 1,000 USN
По отношению к евро (EUR)
Боснийская конвертируемая марка BAM 1 EUR = 1,956 BAM en:Bosnia and Herzegovina convertible mark
Болгарский лев BGN 1 EUR = 1,956 BGN Сайт эмитента
Литовский лит LTL 1 EUR = 3,453 LTL Сайт эмитента
Латвийский лат LVL 1 EUR = 0,7028 LVL en:Latvian lats
Датская крона DKK 1 EUR = 7,460 DKK en:Danish krone
Эскудо Кабо-Верде CVE 1 EUR = 110,3 CVE en:Cape Verdean escudo
Франк Комор KMF 1 EUR = 492,0 KMF en:Comorian franc
Франк КФА BEAC XAF 1 EUR = 656,0 XAF en:Central African CFA franc
Франк КФА BCEAO XOF 1 EUR = 656,0 XOF en:West African CFA franc
Французский тихоокеанский франк XPF 1 EUR = 119,3 XPF Сайт эмитента
По отношению к фунту стерлингов (GBP)
Фунт Фолклендских островов FKP 1 GBP = 1,000 FKP en:Falkland Islands pound
Фунт Острова Мэн (IMP) 1 GBP = 1,000 IMP en:Manx pound
Гернсийский фунт (GGP) 1 GBP = 1,000 GGP en:Guernsey pound
Гибралтарский фунт GIP 1 GBP = 1,000 GIP en:Gibraltar pound
Джерсийский фунт (JEP) 1 GBP = 1,000 JEP en:Jersey pound
Фунт Святой Елены SHP 1 GBP = 1,000 SHP en:Saint Helena pound
По отношению к южноафриканскому рэнду (ZAR)
Лоти Лесото LSL 1 ZAR = 1,000 LSL en:Lesotho loti
Намибийский доллар NAD 1 ZAR = 1,000 NAD en:Namibian dollar
Свазилендский лилангени SZL 1 ZAR = 1,000 SZL en:Swazi lilangeni
По отношению к индийской рупии (INR)
Бутанский нгултрум BTN 1 INR = 1,000 BTN en:Bhutanese ngultrum
Непальская рупия NPR 1 INR = 1,600 NPR Сайт эмитента
По отношению к другим валютам
Южносуданский фунт SSP 1 SDG = SSP
Брунейский доллар BND 1 SGD = 1,000 BND Сайт эмитента
Патака Макао MOP 1 HKD = 1,030 MOP Сайт эмитента
Расчётная единица ADB XUA 1 XDR = 1,000 XUA Учредительный договор ADB. — ч. II, ст. 5, п. 1b
Доллар Тувалу (TVD) 1 AUD = 1,000 TVD

Курсы, зафиксированные при переходе на евро править

Валюта Код ISO 4217 Значение фиксированного курса Источник
Австрийский шиллинг ATS 1 EUR = 13,76 ATS
Бельгийский франк BEF 1 EUR = 40,34 BEF
Немецкая марка DEM 1 EUR = 1,956 DEM
Ирландский фунт IEP 1 EUR = 0,7876 IEP
Испанская песета ESP 1 EUR = 166,4 ESP
Итальянская лира ITL 1 EUR = 1936 ITL
Люксембургский франк LUF 1 EUR = 40,34 LUF
Нидерландский гульден NLG 1 EUR = 2,204 NLG
Португальский эскудо PTE 1 EUR = 200,5 PTE
Финляндская марка FIM 1 EUR = 5,946 FIM
Французский франк FRF 1 EUR = 6,560 FRF
Греческая драхма GRD 1 EUR = 340,8 GRD
Словенский толар SIT 1 EUR = 239,6 SIT
Кипрский фунт CYP 1 EUR = 0,5853 CYP
Мальтийская лира MTL 1 EUR = 0,4293 MTL
Словацкая крона SKK 1 EUR = 30,13 SKK
Эстонская крона EEK 1 EUR = 15,65 EEK
Ватиканская лира VAL 1 ITL = 1,000 VAL (1 EUR = 1936 VAL)
Монегасский франк MCF 1 FRF = 1,000 MCF (1 EUR = 6,560 MCF)
Санмаринская лира SML 1 ITL = 1,000 SML (1 EUR = 1936 SML)

Прочие валюты, чей курс близок к фиксированному править

  • GYD: 1 USD = GYD
  • VND: 1 USD = VND
  • HNL: 1 USD = HNL
  • TMT: 1 USD = 3,581 TMT
  • STD: 1 USD = STD
  • KHR: 1 USD = KHR
  • IQD: 1 USD = IQD
  • JMD: 1 USD = JMD
  • LAK: 1 USD = LAK
  • MWK: 1 USD = MWK
  • SRD: 1 USD = SRD
  • NIO: 1 USD = NIO
  • LYD: 1 XDR = LYD
  • MKD: 1 EUR = MKD

Копирование шаблона в другой вики-проект править

Для того, чтобы шаблон и механизм обновления заработали в другом проекте нужно выполнить следующие действия:

  1. Скопируйте в проект следующие шаблоны:
  2. В копии шаблона {{Валютный курс/Данные}} скорректируйте набор источников и их порядок. Например, для ukwiki вместо данных ЦБ РФ используются данные НБУ.
  3. Укажите копии шаблонов с данными в элементах d:Q18955972, d:Q19361272, d:Q18646447, d:Q28940816, d:Q28955530. Робот KrBot пытается обновить все шаблоны указанные в этих элементах.
  4. Получите для робота KrBot флаг бота в соответствующем проекте.

После этого нужно подождать, когда робот KrBot обновит шаблоны в ruwiki. Если одновременно с этим робот не обновил шаблоны в вашем проекте, то что-то пошло не так. Проверьте, всё ли в порядке с элементами на Викиданных. Убедитесь, что у робота есть флаг бота. Если всё в порядке, но шаблоны так и не обновляются, то обратитесь к участнику Ivan A. Krestinin.

Если нужно использовать ещё какие-либо источники по валютам, то пожалуйста найдите открытый источник актуальных данных. Крайне желательно, чтобы данные были в машиночитаемом формате (JSON, XML, CSV и т. п.) и были предназначены для использования внешними потребителями данных. Иначе механизм будет работать нестабильно. Пример источника: http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml После нахождения такого источника обратитесь к участнику Ivan A. Krestinin.

How to copy the template to another wiki-project править

Data update procedure supports multiple projects. Please make next steps to enable it in another project:

  1. Copy templates:
  2. Configure data sources and order in {{Валютный курс/Данные}} template copy.
  3. Add links to new templates to elements d:Q18955972, d:Q19361272, d:Q18646447, d:Q28940816, d:Q28955530. Bot KrBot is trying to update all templates in these elements.
  4. Request bot flag for user KrBot in your project.

After this please wait for data update in ruwiki. Bot KrBot must update the templates in your project too. Check Wikidata elements and KrBot rights in case some troubles. Request assistance of Ivan A. Krestinin if needed.

Additional open datasources can be added too. The source must have some public API or machine-readable data format (JSON, XML, CSV and etc.) The data request protocol must be adopted for external usage. Source example: http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml Please contact to Ivan A. Krestinin for implementing data copy algorithm.

См. также править