Effects, palette translation

It would be nice to give the option to select the UI language, or at least translate the effects / palette.

I attach my own version of the translation to Russian:

const char JSON_mode_names[] PROGMEM = R"=====([
"Solid","Мигающий","Дыхание","Смахнуть","Смахнуть случ.","Случайный цвет","Смести","Динамический","Цветная петля","Радуга",
"Сканирование","Сканирование 2-е","Затухание","Театр","Театральная радуга","Бегущий","Пила","Мерцание","Растворение","Растворение случ.",
"Вспышка","Вспышка темная","Вспышка +","Стробоскоп","Стробоскоп радужный","Стробоскоп мега","Мигание радуги","Андроид","Погоня","Погоня разные",
"Погоня радуга","Погоня мерцание","Погоня мерцание случ.","Бегающая радуга","Разноцветные","Светофор","Развертка случ.","Бегущий 2","Красный и синий","Поток",
"Сканер","Маяк","Фейерверк","Дождь","Рождество","Мерцающий огонь","Градиент","Загрузка","Полиция","Полиция вся",
"Две точки","Две области","Цирк","Хэллоуин","Погоня 3-цв","Смахивание 3-цв","Затухание 3-цв","Молния","Реанимация","Мульти комета",
"Сканер 2-ой","Поток 2","Вибрация","Гордость 2015","Жонглирование","Палитра","Пожар 2012","Цветные волны","Ударов в минуту","Заполняющий шум",
"Шум 1","Шум 2","Шум 3","Шум 4","Мерцающие цвета","Озеро","Метеорит","Метеорит гладкий","Железнодорожный","Пульсация",
"Мерцающий лис","Мерцающий кот","Хэллоуин - глаза","Статич. паттерн","Статич. паттерн 3-ой","Пятна","Пятна исчезают","Блестки","Свеча","Фейерверк звезд",
"Фейерверк 1Д","Прыгающие шарики","Синелон","Синелон двойной","Синелон радужный","Попкорн","Капли","Плазма","Процент","Пульсация радуги",
"Сердцебиение"
])=====";


const char JSON_palette_names[] PROGMEM = R"=====([
"Default","Цикл случайный","Первичный цвет","Основан на первичном","Набор цветов","Основан на основных","Вечеринка","Облака","Лава","Океан",
"Лес","Радуга","Радужные полосы","Закат","Ривенделл","Бриз","Красный и синий","Желтый снаружи","Аналогичный","Всплеск",
"Пастельный","Закат 2","Бук","Старинный","Отъезд","Пейзаж","Пляж","Шербет","Хульт","Хульт 64",
"Сухой - мокрый","Июль ","Гринаж","Ревни","Третичный","Огонь","Ледяной огонь","Циан","Светло-розовый","Осень",
"Пурпурный","Пурпурно-красный","Желто-пурпурный","Желто-голубой","Оранжевый и бирюзовый","Океан хаоса","Апрельская ночь","Оранжерея","Облако 9","Сакура",
"Утренняя заря"
])=====";

Thank you for the translation!
I will hopefully add a feature to select an UI language soon :slight_smile:

How about configuring platform io to generate language dependent builds from translations like that?

That would certainly be an option, yes. Tasmota also does it this way. Another option would be to include all translations in flash memory (once it is too large for 512k chips anyways), I don’t believe each additional language would take more than 5kb.

Too bad the firmware can’t download the correct translation from your github site on demand.

That would be great, I agree. Not only for translations, but also for general firmware updates. afaik github servers enforce SSL though and I doubt we have enough memory on esp8266 to facilitate it, but I’ll keep it in mind!

is the any progress at this time on translation task?

Is there an exportable / importable file with all the UI / HTTP API / JSON text?
If not, it would be great to architect adjustments to the logic to allow all text to be in a single file so it can be sent out for translation. During build, specify the language file to use. Of course, the usermods would also need their own “usermod_name.lang.en” / “usermode_name.lang.de” and so on. If the build language is not supported by the usermod, the build should default to .en (my opinion) since the github and this site tend to default to english.