Пишу проект, который почти полностью зависит от плагинов. Локализация основного интерфейса сделана через текстовый файл. А как делать локализацию плагинов? К каждому плагину давать кучу текстовиков как-то не очено удобно. Разрабатывать несколько плагинов, отличающихся только языком — не спортивно. Как делают люди?
Здравствуйте, PepperLover, Вы писали:
MAM>>К каждому плагину давать кучу текстовиков как-то не очено удобно. MAM>>Разрабатывать несколько плагинов, отличающихся только языком — не спортивно.
PL>Ресурсы в плагине?
Здравствуйте, squiz, Вы писали: S>Сделать один текстовик
Нет, только не один. В общем текстовике не должно быть лишних кусков. Каждый плагин все свое должен носить с собой. Поэтому даже если там пачка файлов — это все равно лучше, чем один общий файл. Просто имеет смысл, например, эти файлы включить как ресурсы в сборку самого плагина. Либо, как вариант, просто зипом запаковать в один файл.
Здравствуйте, MAMOHT, Вы писали:
MAM>Пишу проект, который почти полностью зависит от плагинов. Локализация основного интерфейса сделана через текстовый файл. А как делать локализацию плагинов? К каждому плагину давать кучу текстовиков как-то не очено удобно. Разрабатывать несколько плагинов, отличающихся только языком — не спортивно. Как делают люди?
Если у тебя изначально есть локализации на все необходимые языки, то почему бы и не прилагать их к плаг-ину, пусть и в отдельных файлах. Что в этом неудобного? Или у них размер большой?
Здравствуйте, joshua, Вы писали:
J>Здравствуйте, MAMOHT, Вы писали:
MAM>>Пишу проект, который почти полностью зависит от плагинов. Локализация основного интерфейса сделана через текстовый файл. А как делать локализацию плагинов? К каждому плагину давать кучу текстовиков как-то не очено удобно. Разрабатывать несколько плагинов, отличающихся только языком — не спортивно. Как делают люди?
J>Если у тебя изначально есть локализации на все необходимые языки, то почему бы и не прилагать их к плаг-ину, пусть и в отдельных файлах. Что в этом неудобного? Или у них размер большой?
J>Можно также подгружать с сайта динамически.
Плагины задумывались, как нечто открытое, что может разрабатывать каждый пользователь (при определенных знаниях, естественно), а не только я. Получается, что локализация собственного плагина — это будет головная боль разработчика. Фиг знает. FrameWorkом попахивает.
Здравствуйте, MAMOHT, Вы писали:
MAM>Плагины задумывались, как нечто открытое, что может разрабатывать каждый пользователь (при определенных знаниях, естественно), а не только я. Получается, что локализация собственного плагина — это будет головная боль разработчика. Фиг знает. FrameWorkом попахивает.
При запуске программа ищет все файлы и запоминает строки, хранящиеся в них.
Дальше делаешь функцию, которую можно вызывать из плагина типа GetLocalizedString(std::string), которая ищет строку среди загруженных строк для текущего языка.
Человек который пишет плагин должен только написать несколько текстовых файлов для своего плагина.
Здравствуйте, Aera, Вы писали:
A>Можно так. A>делаешь кучу файлов локализации типа A>
A>main_ru.txt
A>main_en.txt
A>plugin1_ru.txt
A>plugin2_ex.txt
A>
A>При запуске программа ищет все файлы и запоминает строки, хранящиеся в них.
A>Дальше делаешь функцию, которую можно вызывать из плагина типа GetLocalizedString(std::string), которая ищет строку среди загруженных строк для текущего языка.
A>Человек который пишет плагин должен только написать несколько текстовых файлов для своего плагина.
A>В чем проблема?
Нет проблем. Просто ищу красивое решение. А человек, который пишет плагин, никому ничего не должен . Написал для себя, и фиг ты его заставишь локализовать это дело. Хотя, опять же от человека зависит.
Пожалуй так и сделаю. А там видно будет. Какой-никакой опыт.