eddy_em: (Костерок)
eddy_em ([personal profile] eddy_em) wrote2017-01-27 03:23 pm

"Недокументированные фичи"

Geany имеет свойство все файлы, содержащие только ASCII, открывать как utf8, что очень сильно печалит меня, когда я пытаюсь сохранить файл, введя туда какие-нибудь строки на кириллице (комментарии для gettext'а, текс для вывода на экран микроконтроллером или еще что-нибудь)! Я поинтересовался на SO, и, о чудо! Добрый человек помог найти решение этой проблемы: комментарий //geany_encoding=koi8-r в начале каждого файла решает эту проблему!
P.S. Проверил: не обязательно именно так, достаточно просто чтобы "geany_encoding=koi8-r" содержалось в самой первой строке файла с текстом.

[identity profile] eddy-em.livejournal.com 2017-01-27 02:38 pm (UTC)(link)
1. Для этого есть gettext
2. Для облегчения перевода (можно тупо скриптом генерировать русский перевод) нужно добавлять русские комментарии перед соответствующими фразами. Их xgettext добавит в po-файлы, и можно будет автоматом заполнить.
А комментарии по существу, естественно, только на английском должны быть. Я уж насмотрелся на китайский говнокод, где вообще непонятно что куда и зачем: код — сплошная лапша, а комментарии на китайском.
3. Ясен пень.

P.S. А насчет хрюникода я еще не парюсь потому, что единственные языки, которые я знаю, со своими буквами прекрасно влезают в однобайтную кодовую таблицу. Да, я — дурень, что сразу не пользовался cp1251, где буквы по алфавиту отсортированы, теперь мучаюсь с КОИ8, значительно увеличивая время для сортировки текстов.

P.P.S. Кстати, ты не встречал вменяемой реализации EXT2 для мелкоконтроллеров, чтобы можно было флешку к STM'ке присобачить? Есть задумка даталоггер сделать, но VFAT пихать категорически не хочу. На крайняк сделаю свою псевдофайловую систему (например, можно вообще в виде tar данные сохранять).
Edited 2017-01-27 14:41 (UTC)

[identity profile] mbr.livejournal.com 2017-01-27 02:47 pm (UTC)(link)
Какие к черту русские комментарии? Если разработчик не знает английского технического - он идиот и гнать его в шею.

Какой к черту gettext? Мне Qt генерирует одной кнопкой весь интерфейс. Положил рядом файл с нужным языком - все, локализация готова. Локали сам тащит.

Ты дурень, потому, что слишком категоричен и излишне упорот ;)

FAT16 стандарт де-факто для таких задач. Не еби мозг.

[identity profile] eddy-em.livejournal.com 2017-01-27 02:55 pm (UTC)(link)
> Какие к черту русские комментарии?
Вот тебе пример: комментарий, начинающийся с ///, xgettext занесет в po-файл, в итоге можно будет сгенерить русский перевод довольно-таки шустро.

> Мне Qt генерирует одной кнопкой весь интерфейс.
Не звизди! Тебе прямо культя возьмет, и фразу "Input device not found" на русский переведет и в mo-файл добавит? Угу-угу!

> слишком категоричен и излишне упорот
Могу себе позволить.

> FAT16 стандарт де-факто для таких задач
Только не в моем случае: vfat очень жирная и тупая. Нафиг-нафиг! Проще уж свою ФС сделать, написать для нее линуксовый модуль ядра и работать. В данном случае директории не нужны, как и права доступа → можно вообще кучу сисвызовов заглушками закрыть и будет счастье.

[identity profile] mbr.livejournal.com 2017-01-27 03:04 pm (UTC)(link)
> Вот тебе пример
Ты doxygen что-ли не осилил? Но ты не о том вообще.

> Не звизди! Тебе прямо культя возьмет, и фразу "Input device not found"

Нужные строки в коде оборачиваешь в tr("Input device not found"), добавляешь транслятор. Он автоматом вытягивает из текстового файла перевод на лету. Это вам не в geany писать.

> Проще уж свою ФС сделать

*facepalm*. Не нравится тебе VFAT, ну возьми 8.3 и не парься. Реализация там дубовая и простая. Можешь у меня сырцы дернуть, отключить VFAT.

[identity profile] eddy-em.livejournal.com 2017-01-27 03:20 pm (UTC)(link)
doxygen генерит документацию, а не перевод! А мне хочется в русской локали русский текст видеть, без gettext это решается только велосипедами.

> Нужные строки в код...
Ты сейчас описал gettext.

[identity profile] dimas.livejournal.com 2017-01-28 01:19 am (UTC)(link)
Если у тебя эта строка уже где-то была переведена, то да, Qt сразу предложит этот вариант перевода. Вообще, их транслятор достаточно удобный для работы локализатора, показывает изменившиеся и новые строки, и классовый контекст позволяет меньше заморачиваться "разведением" одинаковых строк.

Ну а про кои и утф мы уже спорили :)