Files
DocumentServer-v-9.2.0/core/HtmlFile2/src/Languages.h
T
Yajbir Singh f1b860b25c
check / markdownlint (push) Has been cancelled
check / spellchecker (push) Has been cancelled
updated
2025-12-11 19:03:17 +05:30

92 lines
4.1 KiB
C++

#ifndef LANGUAGES_LIST_H
#define LANGUAGES_LIST_H
#include <map>
#include <string>
#include <algorithm>
const static std::map<std::wstring, std::wstring> m_Languages_HTML
{
//Язык, Регион
{L"en", L"US"}, // Английский - США
{L"ru", L"RU"}, // Русский - Россия
{L"es", L"ES"}, // Испанский - Испания
{L"de", L"DE"}, // Немецкий - Германия
{L"fr", L"FR"}, // Французский - Франция
{L"it", L"IT"}, // Итальянский - Италия
{L"pt", L"PT"}, // Португальский - Португалия
{L"pl", L"PL"}, // Польский - Польша
{L"nl", L"NL"}, // Нидерландский - Нидерланды
{L"sv", L"SE"}, // Шведский - Швеция
{L"nb", L"NO"}, // Норвежский - Новегия
{L"da", L"DK"}, // Датский - Дания
{L"fi", L"FI"}, // Финский - Финляндия
{L"el", L"GR"}, // Греческий - Греция
{L"tr", L"TR"}, // Турецкий - Турция
{L"ar", L"SA"}, // Арабский - Саудовская Аравия
{L"he", L"IL"}, // Иврит - Израиль
{L"ja", L"JP"}, // Японский - Япония
{L"zh", L"CN"}, // Китайский (упрощенный) - Китай
{L"hu", L"HU"}, // Венгерский - Венгрия
{L"cs", L"CZ"}, // Чешский - Чехия
{L"ro", L"RO"}, // Румынский - Румыния
{L"bg", L"BG"}, // Болгарский - Болгария
{L"hr", L"HR"}, // Хорватский - Хорватия
{L"sr", L"Latn-RS"}, //Сербский - Сербия
{L"sl", L"SI"}, // Словенский - Словения
{L"lt", L"LT"}, // Литовский - Литва
{L"lv", L"LV"}, // Латышский - Латвия
{L"et", L"EE"}, // Эстонский - Эстония
{L"uk", L"UA"}, // Украинский - Украина
{L"be", L"BY"}, // Белорусский - Беларусь
{L"kk", L"KZ"}, // Казахский - Казахстан
{L"hi", L"IN"}, // Хинди - Индия
{L"th", L"TH"}, // Тайский - Таиланд
{L"vi", L"VN"}, // Вьетнамский - Вьетнам
{L"id", L"ID"}, // Индонезийский - Индонезия
{L"ms", L"MY"}, // Малайский - Малайзия
{L"fil", L"PH"}, // Филиппинский - Филиппины
{L"ko", L"KR"}, // Корейский - Южная Корея
{L"is", L"IS"}, // Исландский - Исландия
{L"ga", L"IE"}, // Ирландский - Ирландия
{L"cy", L"GB"}, // Валлийский - Великобритания
{L"ca", L"ES"}, // Каталанский - Испания
{L"eu", L"ES"}, // Баскский - Испания
{L"gl", L"ES"}, // Галисийский - Испания
{L"af", L"ZA"}, // Африкаанс - Южная Африка
{L"zu", L"ZA"}, // Зулу - Южная Африка
{L"ha", L"Latn-NG"}, // Хауса - Нигерия
{L"yo", L"NG"}, // Йоруба - Нигерия
{L"sw", L"KE"}, // Суахили - Кения
{L"am", L"ET"}, // Амхарский - Эфиопия
{L"ti", L"ET"}, // Тигринья - Эфиопия
{L"ur", L"PK"}, // Урду - Пакистан
{L"pa", L"IN"}, // Панджаби - Индия
{L"gu", L"IN"}, // Гуджарати - Индия
{L"ta", L"IN"}, // Тамильский - Индия
{L"te", L"IN"}, // Телугу - Индия
{L"ml", L"IN"}, // Малаялам - Индия
{L"kn", L"IN"} // Каннада - Индия
};
static std::wstring IndentifyLanguage(std::wstring wsLanguage)
{
std::transform(wsLanguage.begin(), wsLanguage.end(), wsLanguage.begin(), towlower);
std::map<std::wstring, std::wstring>::const_iterator itFounded = m_Languages_HTML.find(wsLanguage);
if (m_Languages_HTML.end() != itFounded)
return itFounded->first + L"-" + itFounded->second;
return std::wstring();
}
static bool ConsistsChineseCharacters(std::wstring wsLanguage)
{
std::transform(wsLanguage.begin(), wsLanguage.end(), wsLanguage.begin(), towlower);
return L"zh" == wsLanguage || L"ja" == wsLanguage || L"ko" == wsLanguage;
}
#endif // LANGUAGES_LIST_H