Страница 12 из 23
Re: Какие новости на фронте разработки новой версии?
Добавлено: 21 авг 2022, 12:47
DelphinPRO
Максим писал(а): ↑06 авг 2022, 05:06
Вот какой сейчас языковой файл, проще не придумаешь:
А тебе удобно работать с таким файлом? Просто, сколько себя помню, всегда использовались языковые файлы вида ключ/значение. А тут получается по безымянному индексу строки выбираешь? Это я как программист интересуюсь =)
Re: Какие новости на фронте разработки новой версии?
Добавлено: 24 авг 2022, 03:00
aolko
А gettext (.mo/.po) почему бы не попробовать?
Re: Какие новости на фронте разработки новой версии?
Добавлено: 24 авг 2022, 04:47
Максим
DelphinPRO писал(а): ↑21 авг 2022, 12:47
Максим писал(а): ↑06 авг 2022, 05:06
Вот какой сейчас языковой файл, проще не придумаешь:
А тебе удобно работать с таким файлом? Просто, сколько себя помню, всегда использовались языковые файлы вида ключ/значение. А тут получается по безымянному индексу строки выбираешь? Это я как программист интересуюсь =)
Ну как сказать, удобство среднее, ключом тут является номер строки. Хуже конечно чем имя-значение, но не так чтобы прям ужас, всё же и плюсы есть. Я сознательно выбрал такой формат, т.к. только в таком виде пользователи смогут легко добавлять свои переводы (можно перевести тупо копированием-вставкой через переводчик), плюс я заколебался выдумывать английские названия каждому строковому параметру.
Минусы такого формата:
- невозможность упорядочить файл в случае очистки языкового файла от устаревших констант (остаются строки-дырки и новые константы нужно записывать в них (чтобы заполнить пустоты), поэтому некоторые константы могут заноситься в файл в случайном порядке)
- отсутствие наглядности (внутри программы все языковые константы это просто числа, поэтому везде где используются языковые константы я дублирую их комментарием дублирующим константу), вот пример:
on E : Exception do
begin
// Lang: Ошибка! Не удалось обновить файл HOSTS:
Processor.Log( App[ 'lang' ][ 34 ].Val + '! ' + App[ 'lang' ][ 9 ].Val + ': ' + E.Message );
exit;
end;
Плюсы такого формата:
- легкий перевод на другие языки даже неподготовленными пользователями
- не нужно выдумывать название каждому параметру по типу
error_caption=Ошибка
aolko писал(а): ↑24 авг 2022, 03:00
А gettext (.mo/.po) почему бы не попробовать?
Пойдите объясните условному Васе или Ивану, который умеет только c html и css работать, что такое .mo/.po.

Дай бог чтобы он хотя бы в таком виде смог успешно перевести и прислать текстовый файл.
Re: Какие новости на фронте разработки новой версии?
Добавлено: 24 авг 2022, 08:40
DelphinPRO
На мой взгляд минусы значительно перевешивают. В первую очередь стоило думать о будущей поддержке приложения.
Что касается возможности перевода неподготовленными пользователями, то для таких существуют специальные сервисы для совместных переводов. Их много, навскидку типа такого
https://weblate.org . Заводишь там акк, создаешь проект OSP и закидываешь строки для перевода. Наглядно видно прогресс по каждому языку и т.д. Или вот еще
https://ru.wikipedia.org/wiki/Transifex
Названия ключей тоже не нужно выдумывать. Я обычно ключом делаю фразу на английском языке, как она есть.
{
"Your request has been sent": "Ваша заявка отправлена",
}
И в коде это выглядит очень наглядно
lang("Your request has been sent");
Re: Какие новости на фронте разработки новой версии?
Добавлено: 24 авг 2022, 19:51
aolko
Максим писал(а): ↑24 авг 2022, 04:47
Пойдите объясните условному Васе или Ивану, который умеет только c html и css работать, что такое .mo/.po.

Дай бог чтобы он хотя бы в таком виде смог успешно перевести и прислать текстовый файл.
для таких есть json или yaml
Re: Какие новости на фронте разработки новой версии?
Добавлено: 06 сен 2022, 13:08
rengen
Тоже использую gettext во всех своих проектах.
Редактирую в программе Poedit
Удобство в том, что программа сама собирает из исходного кода фразы, подвязывает к ним ключи ещё и оставляет коммент об источнике (файл и номер строки).
Исходный текст можно писать сразу на русском и не надо придумывать латинско-символьные замены.
Отдавал переводчикам свои интерфейсы, на освоение программы уходит 15 минут.
Там же есть и автоподстановка перевода из гугла, можете хоть на китайский, хоть на языки народов африки переводить.
Текстовый файл выглядит примерно так:
#: includes/functions.php:717 includes/payment_processing.php:23
msgid "Ноября"
msgstr "November"
#: includes/functions.php:718 includes/payment_processing.php:24
msgid "Декабря"
msgstr "December"
#: includes/functions.php:730 includes/payment_processing.php:36
msgid "Сегодня"
msgstr "Today"
#: includes/functions.php:735 includes/payment_processing.php:41
msgid "Вчера"
msgstr "Yesterday"
#: includes/functions.php:739 includes/payment_processing.php:45
msgid "Завтра"
msgstr "Tomorow"
#: includes/functions.php:802
msgid "неизвестно"
msgstr "Unknown"
Даже условный "Вася" разберётся.
Re: Какие новости на фронте разработки новой версии?
Добавлено: 12 сен 2022, 11:30
aolko
Уже сентябрь. Очень ждём стабильного релиза шестой версии.
Re: Какие новости на фронте разработки новой версии?
Добавлено: 22 сен 2022, 12:59
shasoft
А можно вообще где-то скачать 6-ую версию, хотя бы нестабильную?
Re: Какие новости на фронте разработки новой версии?
Добавлено: 27 сен 2022, 11:55
aolko
Осталось 3 дня...либо кто-то нас обманул про сентябрьский релиз
Re: Какие новости на фронте разработки новой версии?
Добавлено: 27 сен 2022, 13:12
semja
aolko писал(а): ↑27 сен 2022, 11:55
Осталось 3 дня...либо кто-то нас обманул про сентябрьский релиз
Почитал тут форум, оказывается еще 3 года назад обещали выпусить эту 6 версию
Наверное какие то проблемы в разработке, сообщил бы разработчик, мы бы помогли решить