Uk:Multilingual names

From OpenStreetMap Wiki
Jump to navigation Jump to search
Logo. Обʼєкт : Uk:Multilingual names
One example for Обʼєкт : Uk:Multilingual names
Опис
Ключі та теґи, що використовуються з мовними суфіксами
Теґи

а також інші та їх варіації

Існує безліч випадків, коли ви стикаєтесь з багатомовними назвами, коли об’єкти мають назви різними мовами. Це досить помітно в назвах великих міст по всьому світу. В деяких регіонах, міста, частини населених пунктів та вулиці мають назви всіма місцевими мовами. Тож люди бажають мати мапи, які б показували назви відповідними мовами (Map Internationalization)..

Стаття Uk:Назви#Локалізація містить основні положення щодо того, як використовувати Key:name для додавання назв різними мовами. Схоже, більшість маперів схвально ставляться до використання name:code=*, де code – код мови за ISO 639-1 alpha2 code (second column), або ISO 639-2 code в нижньому регістрі, за відсутності коду ISO 639-1.

Питання

  • яке значення має бути у теґа name=* (місцева назва, якщо немає спору щодо неї) та, як зазначати мову, що використовується для запису назви в ньому.
  • як вказати, що назва є транслітерованою. Існує стандартний перелік кодів транслітерації (але він не повний). Але намагайтесь уникати транслітерації, за винятком окремих випадків.
  • чи слід звернутися до міжнародного стандарту BCP 47 для теґів мови (і до пов’язаного з ним реєстру IANA), який дозволяє додавати розширення до коду базової мови, використовуючи необов’язкові "підтеги локалі", розділені дефісами ("-"): a 3- літерний код "extlang" для діалектних варіантів (застарілий з ISO 639-3), стандартний 4-літерний код сценарію ISO 15924, 2-літерний код регіону ISO 3166-1 або 3-значний код регіону ООН M.49 для міжнародних регіонів. Слід уникати використання регіональних кодів, наскільки це можливо (у більшості випадків замість цього слід використовувати код для зазначення писемної мови). Системи транслітерації також можуть бути вказані, якщо сам код мови недостатньо конкретний і існує кілька конкуруючих схем транслітерації. Ці схеми транслітерації мають стандартизовані коди в даних Unicode CLDR, що визначає власні розширення локальних підтеґів для BCP 47. Стандарт BCP 47 також нормативно посилається і використовується (замість ISO 639, який має проблеми з точки зору стабільності) всіма W3C стандартами (HTML, CSS, SVG, XML ...) та безліччю бібліотек інтернаціоналізації та мов програмування (включаючи C, C ++, Java, Javascript у їх стандартних бібліотеках або з ICU).
  • чи варто також уникати використання кодів, що їх використовує Вікіпедія (або зібраних у Вікіданих списки статей Вікіпедії) для інтервікі посилань, якщо вони не описані стандартом BCP47: їх призначення, також відрізняти редакції Вікіпедії через те, що вони відповідають вірним субдоменам (які не обмежуються тільки локалями з BCP 47, а можуть бути будь-яким "словом"), або використовуються в деяких розширеннях Вікіпедії; більшість цих несумісних кодів поступово усуваються та прибираться в проєктах Вікімедія; серед них "en-simple" (використовуйте "en" натомість), "sr-ec", але й також деякі коди, які були помилково обрані і тепер представляють не ту мову (наприклад, "nrm" – помилково використовується для нормандської у Вікіпедії). Дані ОСМ не повинні містити ці викрутаси: їх потрібно заміняти на BCP 47 сумісні коди (або додавати підтеґи розширення "для приватного використання", визначені в BCP 47, наприклад "en-x-simple" замість "en-simple", якщо вам справді потрібна відмінність від "en" для стандартної англійської мови).
    Примітка: Підтеґи локалей BCP 47 не чутливі до регістру (навіть якщо вони мають повторне екранування), і дані OSM повинні використовувати теґи з ключем "name: code", де код є відповідним теґом локалі, що відповідає стандарту BCP47, у бажаній формі (виключаючи псевдоніми, визначені у реєстрі IANA та застарілі або замінені теґи або підтеґи), але лише з використанням малих літер (у тому числі в підтеґах локалі для мови та регіонів).
    Зберігайте коди у верхньому регістрі, які використовуються лише для іменування префіксів або суфіксів, у регіональних тегах (які також не залежать від використовуваної мови): у цьому випадку бажано використовувати коди ISO 3166.

Для ознайомлення з інформацією щодо конкретної країни зверніться до англомовної версії цієї статті. Перегляньте також Exonyms для ознайомлення з прикладами.

Україна

Офіційною мовою країни є українська. Однак через історичні чинники в деяких регіонах можуть використовуватись інші мови. Також, завдяки довготривалій окупації Росією (впродовж сторіч) російська є досить поширеною та використовується як друга мова, на деяких територіях (в Криму та на сході) навіть превалює над українською. В Криму, до того ж існує мова корінного народу, кримських татар, які складають значну частину населення півострова. Беручи до уваги ці чинники, українська спільноти широко використовує Relation:associatedStreet для підтримання масштабованої схеми використання різних мов. Зазвичай використовується наступна схема:

теґ name (для вулиць) – українською, відповідно до правила Додавати на мапу те, що є насправді. Було кілька спорів стосовно "типової" мови. В межах населеного пункту рекомендується мати значення name однорідними.

теґ name зв’язків (associatedStreet) – так само.

теґи name:uk, name:ru та інші для зв’язків (associatedStreet) – для підтримки багатомовності. Можуть доповнюватись назвами іншими мовами name:pl (польська), name:crh (кримськотатарська), так само як і name:en для інтернаціоналізації.

Зауважте, що відрізки вулиць мають включатись до зв’язків з роллю Role street, а будинки – Role house для правильної обробки адрес.


Shared boundary features

Sometimes a boundary is a shared feature like a river with different names on each side of the border. One example is the Rhine river separating Germany and France.

Always add name:code=* for each involved language, and for compatibility with older rendering engines, also set name=* to both names, separated by a forward slash with spaces in between, sorted in (a somewhat neutral) Unicode alphabetical order.

For the Rhine river, this would be:
name=Le Rhin / Rhein
name:fr=Le Rhin
name:de=Rhein

Note that, in the rare case when the feature borders multiple language regions, like the Danube river, joining all names within name=* can produce an inconveniently long string. Though not implemented anywhere yet, one could:

  • create a relation for the whole feature without name=*, only name:code=* tags
  • break down the feature for each pair of adjacent regions (usually countries)
  • for each pair of regions, create a relation for the feature's parts separating the two regions with name=* containing the two local names and no name:code=* tags

Finally, if only part of the feature is used as a boundary, set name=* of the non-boundary parts to the name used in the containing region, as in most other objects.