Форум: "Прочее";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
ВнизПоделки Найти похожие ветки
← →
Loginov Dmitry © (2007-01-05 20:38) [0]Выложил на сайте обновленную версию модуля LangReader.pas. Предназначен для локализации приложений. Очень неплохая альтернатива встроенному Дельфийскому средству Translation Manager. Действительно работает (так вот :). Тщательно отладил модуль во время трансляции достаточно серьезного приложения, в котором порядка 30 форм. Вес архива - всего 13 Кбайт. Описание работы с модулем - в нем же. Так что - берите кому нужно :)
← →
Loginov Dmitry © (2007-01-05 20:39) [1]http://matrix.kladovka.net.ru/download.php?getfilename=uploads/other/multilang.zip
← →
Nic © (2007-01-05 21:30) [2]Loginov Dmitry © (05.01.07 20:38)
Респект. Сейчас распробуем :)
← →
$Pl@Sh © (2007-01-05 21:39) [3]Действительно неплохая альтернатива! Мне пока нравится :-)
← →
Eraser © (2007-01-05 21:51) [4]на первый взгляд вроде просто, грамотно и бесплатно. если ничего лучше не найду - буду использовать :)
← →
Gero © (2007-01-05 23:50) [5]А демо exe-файл есть в архиве?
← →
Loginov Dmitry © (2007-01-06 09:02) [6]> А демо exe-файл есть в архиве?
А как же :))
← →
X9 © (2007-01-06 09:15) [7]Нашёл багу в демке: Caption у LabeledEdit1 меняется как-то странно: сначала он равен "LabeledEdit1", при переходе на английский - "Must die!", при повторном переходе на русский - снова "Must die!". Почему?
← →
Loginov Dmitry © (2007-01-06 10:56) [8]> Почему?
Так было задумано :)
← →
X9 © (2007-01-06 10:59) [9]> [8] Loginov Dmitry © (06.01.07 10:56)
> Так было задумано :)
Довольно странная задумка :)
← →
Loginov Dmitry © (2007-01-06 12:33) [10]И даже такое переваривает:
Panel1.Panel2.Panel3.Color=0
хотя можно просто
Panel3.Color=0
← →
Anatoly Podgoretsky © (2007-01-06 12:36) [11]> X9 (06.01.2007 09:15:07) [7]
Потому что "Must die!"
← →
Gero © (2007-01-06 14:55) [12]> [6] Loginov Dmitry © (06.01.07 09:02)
> А как же
Хм, скачал архив, exe нет.
← →
С (2007-01-06 15:28) [13]Скачал архив.
>Eraser © (05.01.07 21:51) [4]
>на первый взгляд вроде просто, грамотно и бесплатно.
По поводу "просто" и "бесплатно" согласен, с остальным нет.
Удалил.
ЗЫ А чем стандартное-то средство не нравится?!
← →
Eraser © (2007-01-06 15:30) [14]> [13] С (06.01.07 15:28)
если есть на премете подобные компоненты, которые заслуживают внимания - буду благодарен за ссылки.
> ЗЫ А чем стандартное-то средство не нравится?!
для небольших шароварных проектов подход, принятый в стандартном средстве не годится по ряду причин.
← →
Gero © (2007-01-06 15:36) [15]Посмотрел исходник, реализация действительно не фонтан. И не нужно справку пихать в файл исходника.
← →
Sergey Masloff (2007-01-06 16:00) [16]Gero © (06.01.07 15:36) [15]
>Посмотрел исходник, реализация действительно не фонтан. И не нужно >справку пихать в файл исходника.
О вот это ты зря. Я правда не видел про что речь но когда мне нужно быстро освоить новый оракловый пакет то я использую именно то описание что в пакете - очень удобно.
← →
С (2007-01-06 16:09) [17]>Eraser © (06.01.07 15:30) [14]
>для небольших шароварных проектов подход, принятый в стандартном средстве не годится по ряду причин
Если не затруднит, не могли бы Вы привести одну-две причины в качестве иллюстрации.
>если есть на премете подобные компоненты, которые заслуживают внимания - буду благодарен за ссылки
Да я как-то не задавался целью. На мой взгляд, стандартного средства вполне достаточно.
← →
Eraser © (2007-01-06 16:31) [18]> [17] С (06.01.07 16:09)
1. не нужно закачивать отдельный инсталлятор для каждого языка.
2. удобно добавлять доп. языки, достаточно скопировать языковой файл в нужную папку и переключить опцию в программе.
3. для того, чтобы локализовать программу - не нужно править исходники, достаточно добавить нужный файл. кстати это очень удобно, если кто-то за опр. количество лицензий (или денег)) согласится перевести программу. ему достаточно просто подправить lng файл. Не представляю как бы я переводил программу, к примеру, на японский с пом. стандартного средства ))
← →
С (2007-01-06 16:43) [19]>Eraser © (06.01.07 16:31) [18]
Спасибо, я обязательно обдумаю приведенные Вами аргументы, но не сегодня - обстоятельства не позволяют:)
← →
Eraser © (2007-01-06 16:47) [20]> [19] С (06.01.07 16:43)
эт точно, скоро гуся зажаривать :)
← →
Loginov Dmitry © (2007-01-06 17:03) [21]> Посмотрел исходник, реализация действительно не фонтан.
Зато фонтан во всех остальных аналогичных по назначению средствах. Можно аж купаться в нем.
← →
DiamondShark © (2007-01-06 18:31) [22]
> 1. не нужно закачивать отдельный инсталлятор для каждого
> языка.
А откуда тогда возьмутся "каждые языки"?
Что ресурсную длл качать, что самопальный языковой файл.
> 2. удобно добавлять доп. языки, достаточно скопировать языковой
> файл в нужную папку и переключить опцию в программе.
Достаточно скопировать ресурсную длл в нужную папку и переключить опцию в программе.
> 3. для того, чтобы локализовать программу - не нужно править
> исходники, достаточно добавить нужный файл. кстати это очень
> удобно, если кто-то за опр. количество лицензий (или денег))
> согласится перевести программу. ему достаточно просто подправить
> lng файл. Не представляю как бы я переводил программу, к
> примеру, на японский с пом. стандартного средства ))
Ну, исходники править не надо, надо править только ресурсы -- формы и таблицы строк.
Хотя да. Скомпилировать ресурсную длл сторонним средством не получиится.
Т.е. вместо "ряда причин" остаётся только одна (т.к. первые две добавлены только "для весу"): платный инструмент.
Локализация приложения -- это не только перевод надписей на другой языг. Есть целая куча "небольших шароварных проектов", которые пошли нафиг только потому, что русские надписи не влазили на кнопки.
Размеры и положение контролов, картинки и иконки -- это, наряду с текстом, точно такой же предмет локализации.
← →
Anatoly Podgoretsky © (2007-01-06 18:40) [23]> DiamondShark (06.01.2007 18:31:22) [22]
А эти изобретали велосипедов не могут понять этого.
← →
Gero © (2007-01-07 02:01) [24]> [21] Loginov Dmitry © (06.01.07 17:03)
Зря критику злорадственно воспринимаешь.
← →
Eraser © (2007-01-07 03:08) [25]> [22] DiamondShark © (06.01.07 18:31)
да, по-сути самый главный вариант это 3.
+ еще то, что подобный "велосипед", как ни странно, более гибче, чем встроенное всредство. хотя встроенное средство несомненно более концептуально, я б сказал, даже через чур )
еще одним весомым аргументом, для меня лично, является то, что я не видел ни одного реального проекта (в т.ч. и шароварного), где бы использовался втроенный translation manager. если знаете такие - дайте ссылку, с большим интересом гляну. то что опыт конкурентов, особенно сильных, надо учитывать это я уже давно понял.
> Локализация приложения -- это не только перевод надписей
> на другой языг. Есть целая куча "небольших шароварных проектов",
> которые пошли нафиг только потому, что русские надписи
> не влазили на кнопки.
> Размеры и положение контролов, картинки и иконки -- это,
> наряду с текстом, точно такой же предмет локализации.
это все понятно, и учитывается.
----
после сравнительно поверхностного анализа различных монстрообразных систем локализаций, вся громоздкость которых, направленая якобы на упрощение локализации оборачивается обратным эффектом, все больше склоняюсь к простой системе, подобной той, что предложил автор. конечно в идеале я бы исользовал tnt-controls + DKLang (который, к слову, активно использует tnt и даже требует предварительно их установить), но юникод в моем приложении, по большому счету, нафиг не нужен, и появится только с переходом на .net, автоматически так сказать :)
хотя окончательный выбор еще не сделал, пока время терпит.
← →
lookin © (2007-01-07 03:53) [26]А что такое локализация приложений?
← →
Loginov Dmitry © (2007-01-07 09:53) [27]> Зря критику злорадственно воспринимаешь.
От тебя-то я конкретной критики еще и не слышал. Я не могу считать критикой фразу "реализация действительно не фонтан", т.к. она совершенно не конкретизирована.
← →
grisme © (2007-01-07 10:19) [28]lookin © (07.01.07 03:53) [26]
это дает возможность использовать твой софт и Гургену Джангвирашвиле, и Бэну Томасу из Канады, и Танака Йошимитсу из Токио и другим представителям других государств и городов этих государств, которые, конечно же, ради использования приложения(если стоит оно того) не будут изучать русскей язэчог :P
← →
Gero © (2007-01-07 17:00) [29]> [27] Loginov Dmitry © (07.01.07 09:53)
1. GetSMsg, GetPMsg, SetSMsg.
Такое именование процедур недопустимо. Потому тебе и приходится писать кучу комментариев, потому что из самого кода немного можно понять.
2. Набор функций кажется совершенно несвязанным, и интуитивно непонятно, как же все это использовать. Гораздо логичнее было бы оформить класс, где бы все стало на свои места. Даже глобальные переменные.
3. Не самый лучший код.
begin
S := AList[I];
APos := Pos("=", S);
if APos > 1 then
begin
AName := AnsiLowerCase(Copy(S, 1, APos — 1));
AValue := Copy(S, APos + 1, Length(S) — APos);
AValue := StringReplace(AValue, "\n", sLineBreak, [rfReplaceAll, rfIgnoreCase]);
SetSMsg(AName, AValue);
end;
end;
Так лучше:
AName := AList.Names[i];
AValue := AList.Values[AName];
Это то, что сразу бросилось в глаза при просмотре pas-файла.
← →
Loginov Dmitry © (2007-01-07 23:49) [30]> 1. GetSMsg, GetPMsg, SetSMsg.
> Такое именование процедур недопустимо. Потому тебе и приходится
> писать кучу комментариев, потому что из самого кода немного
> можно понять.
Лишь бы к чему придраться, ей богу.
> 2. Набор функций кажется совершенно несвязанным, и интуитивно
> непонятно, как же все это использовать.
Комментарии для кого?
> Гораздо логичнее
> было бы оформить класс, где бы все стало на свои места.
> Даже глобальные переменные.
Согласен (да и только, т.к. переделывать уже ничего не буду)
> Так лучше:
>
> AName := AList.Names[i];
> AValue := AList.Values[AName];
Это было в первоначальном варианте. Я это убрал. Текущий вариант должен работать значительно быстрее.
← →
Gero © (2007-01-07 23:51) [31]> [30] Loginov Dmitry © (07.01.07 23:49)
> Лишь бы к чему придраться, ей богу.
Мне твоя разработка не нужна и я не придираюсь. Когда начнешь заниматься программированием профессионально, особенно в команде, поймешь о чем я.
← →
Loginov Dmitry © (2007-01-08 00:20) [32]> Когда начнешь заниматься программированием профессионально,
> особенно в команде...
Да уже вроде бы как бы...
← →
Gero © (2007-01-08 00:21) [33]> [32] Loginov Dmitry © (08.01.07 00:20)
Значит не достиг должного уровня еще.
← →
Gero © (2007-01-08 00:29) [34]> [30] Loginov Dmitry © (07.01.07 23:49)
> Комментарии для кого?
Для тебя, видимо.
← →
Anatoly Podgoretsky © (2007-01-08 02:04) [35]> Loginov Dmitry (07.01.2007 23:49:30) [30]
> Это было в первоначальном варианте. Я это убрал. Текущий вариант должен работать значительно быстрее.
Скажу тебе великую тайну - зря убрал, имена никак не влияют на быстродействие.
← →
lookin © (2007-01-08 09:20) [36][28] grisme © (07.01.07 10:19)
Отсюда не следует, что язык в приложении должен быть английским?
← →
Loginov Dmitry © (2007-01-08 22:28) [37]> Скажу тебе великую тайну - зря убрал, имена никак не влияют
> на быстродействие.
Ну что за бред?
← →
Gero © (2007-01-08 22:34) [38]> [36] lookin © (08.01.07 09:20)
Нет, не следует.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2007.01.28;
Скачать: [xml.tar.bz2];
Память: 0.56 MB
Время: 0.043 c