Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Потрепаться";
Текущий архив: 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
14-58440
Shluz
2003-08-02 00:05
2003.08.18
Хороший программист родился или стал??


14-58381
Till
2003-07-25 15:58
2003.08.18
Export in TXT File (Fasteport)


14-58389
Zheks
2003-08-04 12:36
2003.08.18
Печать StringGrida


14-58484
galexis
2003-07-23 16:49
2003.08.18
Как внести в поле БД запись с , (запятой)


14-58420
grusty
2003-08-03 11:37
2003.08.18
DBTreeView для ADO.





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский