День добрый!
Вот пытался прочитать за раз обсуждения за два дня, но не знаю кому отвечать.
На самом деле все просто: GCC 3.3 _уже_ имеет сменные панельки локализации и список у них весьма приличный. А русского-то и нету. В GNAT 5.0 тоже можно воспользоваться этим уже разработанным и _сопровождаемым_ интерфейсом.
Если кто не знает, как работает LibINTL могу рассказать. При разработке программы не требуется изощиряться: если строка при выводе может быть заменена на локальный эквивалент, то перед ней ставиться специальный оператор (кажись ~ в C и + в Ada). При запуске программы из переменной окружения LANGUAGE извлекают пожелания пользователя о естественном языке, а из переменной LANG - вид используемой кодировки. Посему, если файл локализации написан, скажем, как KOI-8, а на системе использована Win1251 - никаких проблем, все строки будут корректно перекодированы.
-- Vadim Godunko
Project Manager
Automated Control Systems Department
North-Caucasian Area Air Traffic Control Center
Vadim Godunko wrote:
День добрый!
Вот пытался прочитать за раз обсуждения за два дня, но не знаю кому отвечать.
На самом деле все просто: GCC 3.3 _уже_ имеет сменные панельки локализации и список у них весьма приличный. А русского-то и нету. В GNAT 5.0 тоже можно воспользоваться этим уже разработанным и _сопровождаемым_ интерфейсом.
Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то локализовать диагностику GNAT-а больших проблем не составит (по крайней мере для Linux-а). Могу взяться за доработку компилятора и сбор всех строк, которые надобно перевести на русский. А вот за перевод на русский не возьмусь. Есть желающие?
Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то локализовать диагностику GNAT-а больших проблем не составит
А объясните мне, темному, как соотносится локализация GNATа и ASIS?
(по крайней
мере для Linux-а).
Это означает, что будут использоваться какие-то специфические
Linux-ориентированные технологии? Если да, хотелось бы пообсуждать какие-то более портабельные подходы.
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
Могу взяться за доработку компилятора и сбор всех
строк, которые надобно перевести на русский. А вот за перевод на русский не возьмусь. Есть желающие?
Я готов взяться, может быть частично.
- Зуев.
Eugene Zueff wrote:
Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то
локализовать диагностику GNAT-а больших проблем не составит
А объясните мне, темному, как соотносится локализация GNATа и ASIS?
GNAT по своей сути не содержит некой "таблицы диагностических сообщений" как было модно на ЕС/IBM. Посему искать диагностические сообщения придется по всему тексту компилятора, и это проще делать специально написанной программой, нежели вручную. Только взять такую программу негде, придется писать самому. Можно, конечно и скритп на pёrl-е наваять, но толку от него будет мало. А "цивилизованная" программа поиска диагностических сообщений позволит не только таковые выцепить, но и, будучи состыкована с другими примочками, проверять какие изменения сообщений были произведены с прошлой версии. А это есть путь к "светлому будущему" - реально актуальной локализации новых версий (без задержек в пол-века).
(по крайней
мере для Linux-а).
Это означает, что будут использоваться какие-то специфические
Linux-ориентированные технологии? Если да, хотелось бы пообсуждать
какие-то более портабельные подходы.
Не Linux-ориентированные, а GNU-ориентированные. То есть, работать будет и на всяких там Unix-ах (Solaris, Irix, ...). Проблема только в Windows - и та потому, что я понятия не имею как GNAT там работает.
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
А это вопрос к представителю корпорации.
hi,
Vadim Godunko wrote:
>
>
>(по крайней
>мере для Linux-а).
>
Это означает, что будут использоваться какие-то специфические
Linux-ориентированные технологии? Если да, хотелось бы пообсуждать какие-то более портабельные подходы.
>
Не Linux-ориентированные, а GNU-ориентированные. То есть, работать будет и на всяких там Unix-ах (Solaris, Irix, ...).
это ежели ввод/вывод делать через... GLIBC
не совсем оно по адски будет :(
хотя, оно конечно прогрессивный компромисс
Проблема только в Windows
- и та потому, что я понятия не имею как GNAT там работает.
да уж... тут случай клинический: система с закрытым кодом :(
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
>
А это вопрос к представителю корпорации.
мысленно они конечно будут с нами... :)
Alex
Проблема только в Windows
- и та потому, что я понятия не имею как GNAT там работает.
да уж... тут случай клинический: система с закрытым кодом :(
По-моему, закрытость кода тут ни при чем.
Когда-то я копался в GNATе, и, в общем, было ясно, что компилер
вполне портабельный, и собственно виндовых особенностей там
практически нет (*nix'овых особенностей там гораздо больше).
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
А это вопрос к представителю корпорации.
мысленно они конечно будут с нами... :)
Это правильное замечание. То есть, мы постоянно будем ощущать
на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))
Да ведь этого мало! В идеале хотелось бы, чтобы они в итоге _взяли_ результат такой работы, то есть, включили в "официальный" код GNATа...
А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет
возможности/невозможнсти
сего действия?
- Зуев.
Eugene Zueff wrote:
>Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то >локализовать диагностику GNAT-а больших проблем не составит
А объясните мне, темному, как соотносится локализация GNATа и ASIS?
На этот вопрос мне так и не ответили. :-(
GNAT по своей сути не содержит некой "таблицы диагностических сообщений" как было модно на ЕС/IBM.
"Мода" здесь ни при чем. Как уже здесь говорилось, отделение массивов диагностик от основного кода,- один из признаков "правильного" подхода к разработке.
Жаль, что GNAT не следует этому правилу.
Посему искать диагностические сообщения
придется по всему тексту компилятора, и это проще делать специально написанной программой, нежели вручную. Только взять такую программу негде, придется писать самому. Можно, конечно и скритп на pёrl-е наваять, но толку от него будет мало. А "цивилизованная" программа поиска диагностических сообщений позволит не только таковые выцепить, но и, будучи состыкована с другими примочками, проверять какие изменения сообщений были произведены с прошлой версии. А это есть путь к "светлому будущему" - реально актуальной локализации новых версий (без задержек в пол-века).
Да, все так.
Однако всем понятно, что это довольно сложный путь,
и он очень чувствителен к структуре текста компилятора.
Чуть-чуть что-то ACT в нем изменит, и большая вероятность,
что программа будет сбоить, какой умной ее ни сделай.
Этот путь предполагает полную независимость от действий ACTа,
и он, по сути единственный, если ACT не пойдет нам навстречу.
Все-таки, есть надежда, что ACTу уж не так все по фигу, и на какое-то понимание с их стороны рассчитывать можно. Я имею в виду, что они могли бы пойти на изменение своего подхода к формированию и выводу диагностик в сторону большей гибкости и расширяемости...
-Зуев.
Eugene Zueff wrote:
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
А это вопрос к представителю корпорации.
мысленно они конечно будут с нами... :)
Это правильное замечание. То есть, мы постоянно будем ощущать
на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд
Большого Брата. :-))
Да ведь этого мало! В идеале хотелось бы, чтобы они в итоге _взяли_
результат такой работы, то есть, включили в "официальный" код GNATа...
У меня в связи с этим вопрос к Сергею. Ты говорил что в ACT есть целая куча тестов, который должен пройти компилятор, прежде чем его выпускают, в эти тесты входят официалные на право называться Ada95 и чисто ACT тесты которые возникают после исправления ошибок, что бы ошибки снова не повторялись.
А теперь сам вопрос.
Есть ли у широкой общественности доступ к этим тестам, или эти коды собственность ACT ?
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
А это вопрос к представителю корпорации.
Покуда корпорация не посчитает, что на этом можно заработать -
можно разве что общую поддержку уровня "ветра в спину" получить.
Корпорация не заинтересована в том, чтобы иметь отношения
к любому развитию системы GNAT вне корпорации, если о том нет
предварительной договоренности с корпорацией.
Есть ли у широкой общественности доступ к этим тестам, или эти коды собственность ACT ?
Насколько я знаю, ACT не распространяет эти тесты и не дает
никому, кроме "своих" на них даже посмотреть. Что
неудивительно - некоторые тесты есть просто куски
кастомерского кода, а там - nondosclose agreements
всякие начинают работать.
"Sergey I. Rybin" wrote:
Кроме того, хотелось бы, чтобы подобная работа была хотя бы
морально поддержана и одобрена ACTом.
А это вопрос к представителю корпорации.
Покуда корпорация не посчитает, что на этом можно заработать -
можно разве что общую поддержку уровня "ветра в спину" получить.
Корпорация не заинтересована в том, чтобы иметь отношения
к любому развитию системы GNAT вне корпорации, если о том нет
предварительной договоренности с корпорацией.
Я очень хорошо понимаю, чего будет стоить эта "предварительная
договоренность" и насколько она вообще возможна.
Что же касается каких-либо (самых минимальных) изменений в архитектуре компилятора, то общий настрой ACTа, который виден из текста
уважаемого коллеги Рыбина, не оставляет на то почти никаких надежд.
В общем, господа, вы получили исчерпывающий ответ...
Не будет в GNATе ни русских диагностик, ни открытости
к окружению...
- Зуев.
hi,
Eugene Zueff wrote:
Проблема только в Windows
- и та потому, что я понятия не имею как GNAT там работает.
>
да уж... тут случай клинический: система с закрытым кодом :(
>
По-моему, закрытость кода тут ни при чем.
ага...
тут уже товарисч говорил как бывает:
"хачу чтобы вы все собрали из исходников!!!"
и тут опа!!!
мысленно они конечно будут с нами... :)
>
Это правильное замечание. То есть, мы постоянно будем ощущать
на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))
кого назначим Большим Братом? :)
>
>
Да ведь этого мало! В идеале хотелось бы, чтобы они в итоге _взяли_ результат такой работы, то есть, включили в "официальный" код GNATа... >
А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет
возможности/невозможнсти
сего действия?
выводит оно нормально, только вот всякие там сортировки, даты... короче - локализация отсутствует :(
Alex
Я очень хорошо понимаю, чего будет стоить эта "предварительная
договоренность" и насколько она вообще возможна.
Что же касается каких-либо (самых минимальных) изменений в архитектуре компилятора, то общий настрой ACTа, который виден из текста
уважаемого коллеги Рыбина, не оставляет на то почти никаких надежд.
В общем, господа, вы получили исчерпывающий ответ...
Не будет в GNATе ни русских диагностик, ни открытости
к окружению...
А я еще раз считаю своим долгом заявить, что все это - полная фигня по сравнению с реальными проблемами!
hi,
"Sergey I. Rybin" wrote:
В общем, господа, вы получили исчерпывающий ответ...
Не будет в GNATе ни русских диагностик, ни открытости
к окружению...
>
А я еще раз считаю своим долгом заявить, что все это - полная фигня по сравнению с реальными проблемами!
а реальные проблемы - это фигня по сравнению с мировой революцией :)
Alex
мысленно они конечно будут с нами... :)
Это правильное замечание. То есть, мы постоянно будем ощущать
на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))
кого назначим Большим Братом? :)
Ну, Alex, я надеялся, что из контекста понятно, что под Большим Братом имелась ввиду всеми нами, юзерами, любимая, по-отечески заботливая, по-отцовски требовательная, по-матерински ласковая, по-учительски доброжелательная и терпеливая фирма ACT, которая всегда готова внимательно выслушать пожелания недостойных пользователей своих, и все силы положить, чтобы эти пожелания удовлетворить...
А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет
возможности/невозможнсти
сего действия?
выводит оно нормально, только вот всякие там сортировки, даты... короче - локализация отсутствует :(
Ну, если этими "локалями" проблемы и ограничиваются, то это, по-моему, не так уж страшно. (Разве что показывает некоторую консервативность Адского стандарта.) Наверное, гораздо существеннее, что диагностики разбросаны по тексту компилера...
- Зуев.
В общем, господа, вы получили исчерпывающий ответ...
Не будет в GNATе ни русских диагностик, ни открытости
к окружению...
А я еще раз считаю своим долгом заявить, что все это - полная фигня по сравнению с реальными проблемами!
Не горячись, Сергей, все правильно, и все всё понимают.
То есть, "реальные проблемы", как они видны изнутри фирмы,
натурально, гораздо важнее любых других проблем, которые
видят пользователи продукта, который эта фирма производит.
Ну и еще раз: и какая же тогда разница между вашей философией
и философией Микрософт (которую все ругают почем зря
за пренебрежение к пользователям)?
- Зуев.
Не горячись, Сергей, все правильно, и все всё понимают.
Нет.
То есть, "реальные проблемы", как они видны изнутри фирмы,
натурально, гораздо важнее любых других проблем, которые
видят пользователи продукта, который эта фирма производит.
Ну и еще раз: и какая же тогда разница между вашей философией
и философией Микрософт (которую все ругают почем зря
за пренебрежение к пользователям)?
Понимаете, ребята, вы все, кроме Вадима в перспективе - нам не
пользователи. Наши пользователи - те, кто нам денюжку приносит.
С нимим мы носимся, как с писаной торбой. На багрепотры в течение 24-х часов отвечаем по существу. Критичные проблемы решаем быстро, если требуется более недели - расцениваем как ЧП. И предоставляем починенную версию технологии.
Так Микрософт хоть когда-нибудь поступал по отношению к своим
пользователям? Нет, он только собирал деньги за коробочные
продукты.
Но я не о том. Я о проблемах, стоящих перед нашим Ada-community,
если мы вправе о нем говорить...
То есть, "реальные проблемы", как они видны изнутри фирмы,
натурально, гораздо важнее любых других проблем, которые
видят пользователи продукта, который эта фирма производит.
Ну и еще раз: и какая же тогда разница между вашей философией
и философией Микрософт (которую все ругают почем зря
за пренебрежение к пользователям)?
Понимаете, ребята, вы все, кроме Вадима в перспективе - нам не
пользователи. Наши пользователи - те, кто нам денюжку приносит.
Сергей, ну я же об этом и говорю!
И еще и еще раз: так какая между вами разница?
Тот, кто подписался на аналогичный сервис Микрософт - тоже платит за него денежки (не путать с денежками за "коробки")...
С нимим мы носимся, как с писаной торбой. На багрепотры в течение 24-х часов отвечаем по существу. Критичные проблемы решаем быстро, если требуется более недели - расцениваем как ЧП. И предоставляем починенную версию технологии.
...и там тоже существуют четкие правила насчет времени отклика и прочее.
И чтобы закончить этот разговор: из предыдущих постингов, надеюсь, всем понятно, что и ACT, и Микрософт реализуют концептуально одну и ту же модель работы с (корпоративными) клиентами.
Разница между ними заключается в том, что купив (за деньги, да, признаЮ) коробку с Visual Studio от Микрософт, некорпоративный пользователь получает _готовую_ весьма и весьма мощную среду разработки. Конечно, она не идеальна, да
и входные языки (Си++, VB, теперь еще C#) уязвимы для критики больше, чем Ада, но, тем не менее, никто не спорит, что инструмент это весьма и весьма
функциональный. И инструментом этим, как показывает опыт тысяч программеров, можно успешно пользоваться без всяких обращений к Микрософт. Плюс к тому, он _уже_включает_ (поддерживает) некую вполне определенную технологию разработки программ (и не одну).
Взяв же с публичного сайта GNAT (да, забесплатно), некорпоративный пользователь
реально получает всего лишь полуфабрикат, который, чтобы он приобрел черты технологического комплекса, нужно настраивать, интегрировать с другими инструментами,
по своему опыту и усмотрению. При этом собственно GNAT никак не "расположен" к подобного рода интеграции и настройке: это абсолютно стандартный, традиционный
компилятор вида "входной файл - компиляция - выходной файл"; все, что можно с ним
сделать - вот именно что перехватить от него выходной поток и показать его в каком-нибудь
редакторе. Даже его сопряжение с родным, вроде бы, отладчиком gdb выглядит весьма
неуклюже (по крайней мере, в публичной версии). Даже, как показал, дискуссия,
диагностики перевести - проблематично.
Благодаря наличию исходников, его можно, в принципе, модифицировать и сделать
более "открытым". Опыт показывает, что это, в общем, реально. Но тут уж начеку ACT:
ты, парень, делай с исходниками, что хочешь, но и мы будем делать с ними все, что хотим.
В результате нужно повторять свои модификации для каждой новой версии GNAT.
Какая модель кому больше по душе - каждый решает сам.
Какая объективно лучше? - от ответа воздержусь.
Но, ПОЖАЛУЙСТА, не говорите мне больше, что GNAT (да и вообще, все, что сделано "по лицензии GPL") лучше относится к пользователям, чем горячо всеми ненавидимый мелкософт.
Как только компания вступает в реальный бизнес (даже со свободным продуктом в руках, как ACT), она немедленно приобретает родовые черты любого бизнеса и, тем самым, становится как бы маленьким филиалом Микрософт.
- Зуев.
hi,
Eugene Zueff wrote:
мысленно они конечно будут с нами... :)
>
Это правильное замечание. То есть, мы постоянно будем ощущать
на себе дружески-тяжелый, по-отечески пристальный и немигающий взгляд Большого Брата. :-))
>
кого назначим Большим Братом? :)
>
Ну, Alex, я надеялся, что из контекста понятно, что под Большим Братом имелась ввиду всеми нами, юзерами, любимая, по-отечески заботливая, по-отцовски
требовательная, по-матерински ласковая, по-учительски доброжелательная и терпеливая фирма ACT, которая всегда готова внимательно выслушать пожелания недостойных пользователей своих, и все силы положить, чтобы эти пожелания удовлетворить...
тэкс... щас опять Рыбину за весь ACT достанется :)
А насчет проблемы в корректностью вывода Ада-программой не-Latin-1-текстов - может, кто из более "свежих" Ада-спецов просветит насчет
возможности/невозможнсти
сего действия?
>
выводит оно нормально, только вот всякие там сортировки, даты... короче - локализация отсутствует :(
>
Ну, если этими "локалями" проблемы и ограничиваются, то это, по-моему, не так уж страшно. (Разве что показывает некоторую консервативность Адского стандарта.) Наверное, гораздо существеннее, что диагностики разбросаны по тексту компилера...
с локалями не так все просто, как кажется на первый взгляд :(
и, кстати, ежели они будут реализованы, то искать
вывод сообщений по всему исходному тексту,
скорее всего, будет не нужно
Alex
Ну, Alex, я надеялся, что из контекста понятно, что под Большим Братом имелась ввиду всеми нами, юзерами, любимая, по-отечески заботливая, по-отцовски
требовательная, по-матерински ласковая, по-учительски доброжелательная и терпеливая фирма ACT, которая всегда готова внимательно выслушать пожелания недостойных пользователей своих, и все силы положить, чтобы эти пожелания удовлетворить...
тэкс... щас опять Рыбину за весь ACT достанется :)
Ничего, мы же его по-дружески пинаем.
Да ведь известно, что капля камень точит.
Глядишь, и дойдет что-нибудь из наших стенаний до ушей
той самой ACTовой шестерки, принимающей решения...
с локалями не так все просто, как кажется на первый взгляд :(
Наверное, Вам видней.
и, кстати, ежели они будут реализованы, то искать
вывод сообщений по всему исходному тексту,
скорее всего, будет не нужно
Что ж, подождем - увидим.
- Зуев.
Eugene Zueff wrote:
Eugene Zueff wrote:
Вобсчем, дело обстоит достаточно просто. Если не подведет ASIS, то
локализовать диагностику GNAT-а больших проблем не составит
А объясните мне, темному, как соотносится локализация GNATа и ASIS?
На этот вопрос мне так и не ответили. :-(
Наверное я не понял вопроса. Уж извините. Подскажите, что конкретно интересно?
Да, все так.
Однако всем понятно, что это довольно сложный путь,
и он очень чувствителен к структуре текста компилятора.
Чуть-чуть что-то ACT в нем изменит, и большая вероятность,
что программа будет сбоить, какой умной ее ни сделай.
1. За последние 5 лет структура компилятора не сильно-то и поменялась (лично я помню ещё попытки запустить GNAT-3.10p на Linux с первой версией GLIBC - пришлось строк триста RTL править, что бы многозадачность работала).
2. Если программа начнет сбоить после изменений внутренностей - это только плюс: человек сразу обратит внимание (гром не грянет - мужик не перекреститься)
3. Это _самый_ простой путь. Но многие об этом не догадываются. И описывается он фразой "неделю делать будем, а потом за пять минут долетим". А летать придётся каждый раз при новом диагностическом сообщении.
Спросите "представителя корпоративных интересов" насколько в Ada мире принято лопатить одни Ada программы другими Ada программами. А что, компилятор не на Ada написан?
Чтобы оставить новое сообщение необходимо Зарегистрироваться и Войти