Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
ВнизМультиязычное приложение Найти похожие ветки
← →
_Alex_ (2003-08-01 15:46) [0]Вопрос собственно такой:
Нужно ли менять значение Font.CharSet у компонентов, при присваивании им строчек с текстом из другого языка?
← →
МалОй (2003-08-01 16:23) [1]А смысл в чем? Кто будет осуществлять перевод? Если строчки переведены и раскладка установлена, то ИМХО не нужно. Если я правильно поял вопрос.
← →
_Alex_ (2003-08-01 17:10) [2]Да вот я в приницпе тоже так думаю что не надо, просто может кто-нибудь пробовал.
← →
Anatoly Podgoretsky (2003-08-01 17:21) [3]Нужно
← →
_Alex_ (2003-08-01 22:00) [4]Каким-образом правильно определить для какого языка какой Charset?
← →
_Alex_ (2003-08-02 12:50) [5]
> Anatoly Podgoretsky © (01.08.03 17:21)
> Нужно
Так как это сделать ?
← →
Anatoly Podgoretsky (2003-08-02 12:53) [6]Charset := НужныйCharset;
← →
_Alex_ (2003-08-02 18:39) [7]
> Charset := НужныйCharset;
Логично. А Какой нужный то?
Как зная язык, определить к какому Charset"у он относиться?
Допустим какой Charset нужно включить для итальянского языка, а для немецкого, и т.д.? Ну ведь делал же это кто-нибудь в своих мультиязычных программах.
← →
esVer (2003-08-02 19:07) [8]Файл со строчками ваш?
Ну сделайте там еще один параметр LCID, чтобы знать какой язык...
← →
Anatoly Podgoretsky (2003-08-02 19:16) [9]_Alex_ © (02.08.03 18:39)
Список допустимых Charset можешь посмотреть в Инспекторе объектов. Можешь доверить это пользователю, но лучше тебе самому как то решить, какой язык у твоих файлов.
← →
_Alex_ (2003-08-02 19:40) [10]Файл со строчками - обыкновенный ini.
Допустим пришлет мне кто-нибудь ini файл с переведенными на шведский язык строчками. Как мне узнать какой charset нужно включить для него. Кроме того хотелось бы что бы можно было просто добавить файл в папку с ini, не перекомпилируя при этом для вновь добавленного языка программу. Тогда я его просто выложу отдельно(на сайте) и все.
Да я уже смотрел,
> Список допустимых Charset можешь посмотреть в Инспекторе
> объектов. Можешь доверить это пользователю,
Да я уже смотрел, доверить пользователю перключать их, не знаю что-то не то получается.
← →
Anatoly Podgoretsky (2003-08-02 19:51) [11]_Alex_ © (02.08.03 19:40)
Это уже совсем просто, добавь параметр в свой IniFile - ты просто обязан его добавить, при том не один а несколько, язык, символьный набор как минимум, лучше в отдельной секции.
Для себя - добавь в просмотровщик комбобокс со списком символьных наборов и пробуй.
Из всех тех которые ты привел, это или ANSI_CHARSET или EASTEUROPE_CHARSET
Так же попроси вользователей прислать алфавит в Ворд формате, что бы четко знать как выглядят их национальные символы иначе будешь гадать правильный ты выбрал или нет.
Сообственно это все что нужно для решения задачи.
Пользователю в данной постановке ничего не надо выбирать, весь его выбор должен сводиться только к выбору языка, но не символьного набора. Также хорошим стилем будет перевести принсланный тебе перевод в ITE, поскольку это может касаться и касается не только написание буквочек но и многое другое, включая ширину текста. А пользователю вобще ничего не придется переключать, если ты конечно не захочешь предоставить эту возможность ему.
← →
_Alex_ (2003-08-02 21:54) [12]
> Это уже совсем просто, добавь параметр в свой IniFile -
> ты просто обязан его добавить, при том не один а несколько,
> язык, символьный набор как минимум, лучше в отдельной секции.
за основу я взял FlashGet(v 1.4) переведена на 33 языка.
внутри следующее:
из французского ini
[Info]
Language=French
Translator=Christel & Arnaud De Koninck, Eric Boganin
Version=1.3
из греческого
[Info]
Language=Greek
Translator=Chris Barkas
Codepage=1253
Version=1.30-
-
у себя я сделал так же, но параметр codepage есть не во всех ini, значит он в приницпе не используется программой.
Сделал следующее открыл ini c греческими переводом, поставил в блокноте набор символов греческий увидел все слова в нормальном виде.
> Так же попроси вользователей прислать алфавит в Ворд формате,
> что бы четко знать как выглядят их национальные символы
> иначе будешь гадать правильный ты выбрал или нет.
Ну насчет алфавита это да, согласен.
Так значит Вы предлагаете конструкцию типа
if Lang="Deutch" then Button1.Font.CharSet:=EASTEUROPE_CHARSET;
> Также хорошим стилем будет перевести принсланный тебе перевод
> в ITE, поскольку это может касаться и касается не только
> написание буквочек но и многое другое, включая ширину текста
Что такое ITE? Насчет ширины текста, уже есть проблемы, пока решаю только глупым увеличением размеров контролов, для максимально длииных строк.
> А пользователю вобще ничего не придется переключать, если
> ты конечно не захочешь предоставить эту возможность ему.
Да ему вообще о CharSet знать не надо.
А как можно ( и возможно ли) определить информацию о Charset из Win?
← →
Palladin (2003-08-02 22:07) [13]Делайте проги с использованием инглиша. Этого хватит доброй трети земного шара. Другим двум добрым третьям - этого ненадобно буде...
← →
Anatoly Podgoretsky (2003-08-02 22:08) [14]Нет я предлагаю другое, добавить в ини файл еще параметр, что бы потом не связывать язык с набором
[Info]
Language=French
charset=ANSI
[Info]
Language=Greek
charset=GREEK_CHARSET
Codepage=1253
ITE - это Integarted Translation Environment
Встроенно в Дельфи средство по локализации приложений.
Кроме перевода слов, так же поддерживает и другие ресурсы, так например формы для греческого и французкого языка могут отличаться, например имет разные битмапы для флагов, немного разрые размеры и даже расположение органов управления.
Кроме того локализации поддаются и библиотеки третьих сторон, например даже не имея исходных текстов Quick Report, ты сможешь локализовать его сообщения.
Переключение на язык автоматическое по локализации системы, но возможно и ручное переключение. Можешь посмотреть на моем сайте проект DMA, он как раз использует облегченный вариант ITE, выставлен полный проект. Скачай посмотри для интереса, удалить всегда можно.
← →
_Alex_ (2003-08-02 22:30) [15]
> Palladin © (02.08.03 22:07)
> Делайте проги с использованием инглиша. Этого хватит доброй
> трети земного шара. Другим двум добрым третьям - этого ненадобно
> буде...
Согласен, но попробовать то все надо.
> ITE - это Integarted Translation Environment
> Встроенно в Дельфи средство по локализации приложений.
.
> Нет я предлагаю другое, добавить в ини файл еще параметр,
> что бы потом не связывать язык с набором
>
> [Info]
> Language=French
> charset=ANSI
>
> [Info]
> Language=Greek
> charset=GREEK_CHARSET
> Codepage=1253
Хм, вообще-то да, даже не подумал об этом, правда чего мучиться.
А в программе можно проверку релизовать, на случай указания несущесвующего Charset.
> ITE - это Integarted Translation Environment
> Встроенно в Дельфи средство по локализации приложений.
> Можешь посмотреть на моем сайте проект DMA, он как раз использует
> облегченный вариант ITE, выставлен полный проект. Скачай
> посмотри для интереса, удалить всегда можно.
Уже скачал, буду смотреть.
Наверно буду указывать charset ч/з ini, проблем меньше будет.
Но если у кого-то будут предложения, пишите сюда.
p.s. Вот нашел кое-что
http://www.chilkatsoft.com/ChilkatCharset.asp
← →
_Alex_ (2003-08-04 17:28) [16]В продолжении темы.
Ну узнал я какой charset нужен для языка.
Как рациональнее, быстрее сменить совйство Charset у компонентов приложения?
Или мне придеться обращаться ко всем компонентам где есть свойство font на всех формах?
← →
Mystic (2003-08-04 17:36) [17]> _Alex_ © (04.08.03 17:28)
Меньше всего проблем будет с ITE. См. еще $(DELPHI)\Demos\RichEdit Все остальное --- головная боль...
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.18;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.003 c