Гайд Система локализации для вашего меню

эс-те́т
Забаненный
Статус
Оффлайн
Регистрация
8 Дек 2019
Сообщения
178
Реакции[?]
270
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет, сегодня хочу показать пример реализации системы локализации.
Данный метод позволяет добавить не ограниченное количество вариантов локализации.


Credits: нолик
 
Последнее редактирование:
Забаненный
Статус
Оффлайн
Регистрация
22 Апр 2020
Сообщения
731
Реакции[?]
752
Поинты[?]
1K
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет, сегодня хочу показать мой пример реализации системы локализации.
Данный метод позволяет добавить не ограниченное количество вариантов локализации.
Скрытое содержимое
Персона, ты зачем зхайд поставил

тыж у нолика её спиздив
 
Забаненный
Статус
Оффлайн
Регистрация
11 Май 2020
Сообщения
115
Реакции[?]
91
Поинты[?]
0
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
Привет, сегодня хочу показать пример реализации системы локализации.
Данный метод позволяет добавить не ограниченное количество вариантов локализации.
Скрытое содержимое

Credits: нолик
типо прикольно как разнообразие ,но обычный макрос по типу нижнего будет куда удобнее
Код:
#define lang(e, r) (s_options.lang == 1 ? (e) : (u8##r))
 
Последнее редактирование:
Начинающий
Статус
Оффлайн
Регистрация
15 Авг 2020
Сообщения
28
Реакции[?]
6
Поинты[?]
0
Привет, сегодня хочу показать пример реализации системы локализации.
Данный метод позволяет добавить не ограниченное количество вариантов локализации.
Скрытое содержимое

Credits: нолик
спасибо
 
Участник
Статус
Оффлайн
Регистрация
28 Янв 2019
Сообщения
552
Реакции[?]
192
Поинты[?]
1K
типо прикольно как разнообразие ,но обычный макрос по типу нижнего будет куда удобнее
Код:
#define lang(e, r) (s_options.lang == 1 ? (e) : (u8##r))
Типо прикольно макросы в с++ использовать. Я не против макросов, но этот ваш 'lang' - очень неэлегантное решение. Правильнее было бы вообще не определять всю локализацию в коде, а хранить в отдельном файле в формате, например:
[lang=russian]
AimBot=АимБот
Feature Name=Название функции
etc...


Ну написать простенький парсер этого дела, и подгружать строго нужный язык за раз. Хранить может лучше даже в векторе, написав обёртку-враппер, предоставляющую доступ как к мапе.
struct like_map {
const std::wstring& operator[](const std::wstring& localize_key) {/*iterate through vector*/}
vector<std::wstring> data;
}


Надо тестить на конкретных примерах, офк, но скажу точно - хранить константные значения в мапе - не лучшее решение.
 
bruh
Участник
Статус
Оффлайн
Регистрация
15 Апр 2017
Сообщения
1,298
Реакции[?]
365
Поинты[?]
0
фпсу пизда, если ваше меню содержит содержит больше 100 стрингов

печальным ребятам советую почитать про реферренсы и std::string аллокаторы, прежде чем предоставлять свои 'профессиональные' услуги за $$
 
Последнее редактирование:
Эксперт
Статус
Оффлайн
Регистрация
31 Авг 2018
Сообщения
1,792
Реакции[?]
1,073
Поинты[?]
29K
Лучше всего использовать для этого unordered_map с хешем строки в качестве ключа, за счет этого достигнем сложности алгоритма в О(1)
 
Сверху Снизу