Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

Как упростить смену языка а программе

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Компилируемые языки] >> Как упростить смену языка а программе
Имя
Сообщение << Старые топики   Новые топики >>
Как упростить смену языка а программе - 2008-03-25 21:22:12   
aza

Сообщений: 141
Оценки: 0
Присоединился: 2007-05-11 17:02:42.016666
Вообщем имеется прога, ее нужно сделать на нескольких языках. Конечно можно нашкодить на разных, но мне не хочется!

Есть задумка чтоб прога меняла языки из "файлов языков" ("language pack" или типа вроде этого). То есть есть файл, например с раширением *.lng, в котором находится вся инфа, вроде |Файл|Правка|Вид|и т.д.|
Где то в какой-то проге видел такое, вот и думаю такое осуществить в своей проге.


Народ!!!
Подскажите в каком направлении рыть, иль советом помогите.
Заранее благодарен!!!
Post #: 1
RE: Как упростить смену языка а программе - 2008-03-25 21:49:34.963333   
Genco

Сообщений: 1662
Оценки: 90
Присоединился: 2007-12-16 23:11:22.003333
 Эмм…почему то сразу про языки программирования подумалось).Ну а чем плохо вместо имен и заглавий всех(надписи,тексты и т.д.) в коде писать элементы массива/ини файла/своего самодельного файла/чего уж там захочется? В самом начале поприсваивать и все.Или охота всю эту инфу хитрым образом запрятать?
Post #: 2
RE: Как упростить смену языка а программе - 2008-03-25 21:59:39.406666   
aza

Сообщений: 141
Оценки: 0
Присоединился: 2007-05-11 17:02:42.016666
quote:

Ну а чем плохо вместо имен и заглавий всех(надписи,тексты и т.д.) в коде писать элементы массива/ини файла/своего самодельного файла/чего уж там захочется? В самом начале поприсваивать и все

Можно по подробней, что да как.?!
С ini я не сталкивался, вот и не брал эту идею в счет. А про файл *.lng встречался поэтому и предложил такой вариант. А прятать я покаместь ничего не хочу.
Post #: 3
RE: Как упростить смену языка а программе - 2008-03-25 22:21:49.040000   
VENOM4X

Сообщений: 246
Оценки: 0
Присоединился: 2008-02-18 22:49:08.960000
Почитай статью Программа-полиглот Islander'a из спец'а #53 за апрель 2005 г.
Post #: 4
RE: Как упростить смену языка а программе - 2008-03-25 22:30:01.180000   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
gettext
Post #: 5
RE: Как упростить смену языка а программе - 2008-03-25 22:43:10.093333   
Jasmin

Сообщений: 2320
Оценки: 0
Присоединился: 2007-05-03 23:08:53.390000
Если Java или C# - сериализованный HashTable на каждый язык или XML, можно на все сразу. Делается в полпинка
Post #: 6
RE: Как упростить смену языка а программе - 2008-03-25 23:26:33.080000   
kreol

Сообщений: 823
Оценки: 0
Присоединился: 2007-03-08 03:13:06.876666

quote:

ORIGINAL: Jasmin

Если Java или C# - сериализованный HashTable на каждый язык или XML, можно на все сразу. Делается в полпинка

Если Java, то в MessagesBundle уже давно всё предусмотрено :)
Post #: 7
RE: Как упростить смену языка а программе - 2008-03-26 05:46:36.080000   
aza

Сообщений: 141
Оценки: 0
Присоединился: 2007-05-11 17:02:42.016666
Я программирую на Delphi.
Подскажите что можно придумать?

Post #: 8
RE: Как упростить смену языка а программе - 2008-03-26 12:37:56.033333   
Mkey

Сообщений: 3426
Оценки: 0
Присоединился: 2006-03-08 14:32:13
quote:

Я программирую на Delphi.
Подскажите что можно придумать?

ну а кто мешает последовать совету Genco?
quote:

Ну а чем плохо вместо имен и заглавий всех(надписи,тексты и т.д.) в коде писать элементы массива/ини файла/своего самодельного файла/чего уж там захочется? В самом начале поприсваивать и все.Или охота всю эту инфу хитрым образом запрятать?

Post #: 9
RE: Как упростить смену языка а программе - 2008-03-26 14:13:45.513333   
saimon 2metra

Сообщений: 4281
Оценки: 0
Присоединился: 2007-01-26 10:56:51.426666
Хы, во дурак. Прочитал внимательнее и понял, что идет речь о языках интерфейса.
ПАРДОН.
Post #: 10
RE: Как упростить смену языка а программе - 2008-03-26 14:17:13.016666   
Jasmin

Сообщений: 2320
Оценки: 0
Присоединился: 2007-05-03 23:08:53.390000
quote:

ORIGINAL: aza
Я программирую на Delphi.
Подскажите что можно придумать?


Гы. Создай потомки для всех классов компонент которые ты используешь чтобы они брали значения текстовых полей из файла, по ключу, которым является имя обьекта.
Post #: 11
RE: Как упростить смену языка а программе - 2008-03-26 16:47:22.416666   
_SaZ_

Сообщений: 4329
Оценки: 398
Присоединился: 2008-01-30 02:18:05.553333
Если бы платили за поиск, то на этом форуме можно было-бы делать очень большие деньги. Многе пишут, даже поленившись поискать по очевиднейшим источникам. По нижеприведённой ссылке материала - выше крыши, кури:

http://www.rsdn.ru/summary/731.xml
Post #: 12
RE: Как упростить смену языка а программе - 2008-03-26 16:48:34.996666   
mactep.Black

Сообщений: 6065
Оценки: 678
Присоединился: 2008-02-28 13:01:19.656666
+10
Post #: 13
RE: Как упростить смену языка а программе - 2008-03-27 12:35:25.820000   
ADiel

Сообщений: 106
Оценки: 0
Присоединился: 2008-01-14 21:03:27.756666
http://www.xakep.ru/magazine/xs/053/072/1.asp это статья из журнала хакер спец за 2005 год. так раз по твоему вопросу. все граммотно и понятно написано. сам делал
 
Post #: 14
RE: Как упростить смену языка а программе - 2008-03-27 18:07:06.656666   
aza

Сообщений: 141
Оценки: 0
Присоединился: 2007-05-11 17:02:42.016666
2 ADiel
Огромное Спасибо!!!

Я эту статью нашел в библиотеке, сфоткал на телефон, фотки получились не очень (особенно код небыл виден). Еще раз Thank's!!!
Post #: 15
RE: Как упростить смену языка а программе - 2008-03-28 08:30:36.913333   
ADiel

Сообщений: 106
Оценки: 0
Присоединился: 2008-01-14 21:03:27.756666
да не за что ))
Post #: 16
RE: Как упростить смену языка а программе - 2009-02-18 19:07:00.113333   
lindev

Сообщений: 37
Оценки: 0
Присоединился: 2008-07-07 02:50:15.793333
Привет всем!

gettext это не вопрос, используется под Linux и Unix, классная вешь, а также и для M$ Windows имплементатция есть. Но gettext под M$ Windows използовать нельзя, а на подобии gettext (для С, С++) от Microsoft ничего толком найти не могу. Уже весь inet вдоль и поперек "grepnul", получил -1;

прозьба к админам: форум "Компилируемые языки" разделить на "Компилируемые языки UNIX/Linux" и "Компилируемые языки Win32", это было бы очень круто, спасибо.
Post #: 17
RE: Как упростить смену языка а программе - 2009-02-19 01:30:57.206666   
alexbozhko

Сообщений: 1024
Оценки: 0
Присоединился: 2005-11-24 13:35:34
quote:

ORIGINAL: aza

Я программирую на Delphi.
Подскажите что можно придумать?

А чем тебя не устраивает родное решение?
Translation Manager?
Post #: 18
RE: Как упростить смену языка а программе - 2009-02-19 11:06:33.826666   
lindev

Сообщений: 37
Оценки: 0
Присоединился: 2008-07-07 02:50:15.793333
Проект уже существует (примерно 1 GB source). Вот мое задание все техты которые hardcoded перевисти например на русский.
тоест скажем заместо

puts("Hello World!");

чтобы было

puts(gettext("Hello World!"));  // вариант UNIX/Linux

тоесть функция gettext переведет "Hello World!" в "Привет Мир!" (прежде конечно надо загрузить из фаилов *.mo свою textdomain)

А под M$ Windows таково я не нашол. Тоести мне надо сделать портабельный интерфасе между Linux, UNIX и M$ Windows. Который будет переводить техты "on the fly". А gettext под M$ Windows в комерчиских программах исползовать нельзя ( GPL ), если чесно мне запретили.

На ответ QunneD: обезательно открывать новый форум? Зачем. Если уже есть подходящий по теме, которые можно продолжить.

Работаю на C, C++

Post #: 19
RE: Как упростить смену языка а программе - 2009-02-20 13:35:12.356666   
rgo

Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
Вот я не поленился и нашёл следующее:
The libintl and libasprintf libraries are covered by the GNU Library General Public License (LGPL). A copy of the license is included in GNU LGPL.
Не GPL, а LGPL. Ты можешь динамически или статически линковать свою программу с бинарниками libintl и libasprintf, при этом распространяя свою программу под тебе удобной лицензией не нарушая ничьего автороского права. Там правда какие-то слова были насчёт того чем линковать и чем собирать бинарники библиотек, но ты копни глубже, и посмотри.
Post #: 20
RE: Как упростить смену языка а программе - 2009-02-21 00:49:12.390000   
lindev

Сообщений: 37
Оценки: 0
Присоединился: 2008-07-07 02:50:15.793333
Большое спасибо rgo

Я какраз утром вчитался в manual от gettext:
http://www.gnu.org/software/gettext/manual/gettext.html

И наткнулся доволно быстро на топик:
http://www.gnu.org/software/gettext/manual/gettext.html#Licenses

Вобщем, получил разрешение, встроел для M$ Windows. И сегодня уже вернулся в свой X - мир.

rm -rdf windows # X forever, M$ Windows never ever again
Post #: 21
Страниц:  [1]
Все форумы >> [Компилируемые языки] >> Как упростить смену языка а программе







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.