![]() |
|
|
![]()
|
|
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
В C++ Builder есть встроенная функция перевода, однако она не собираете текст из .cpp, например из такой части:
Нельзя ли это как-нибудь исправить? --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
Или каким-нибудь способом RC/LNG/INI и т.д., более интересуют .lng и .ini
Это сообщение отредактировал(а) DCamer - 28.3.2010, 20:17 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
Думаю, программу переписывать всё-таки придётся. типа:
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| Alca |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 3993 Регистрация: 14.6.2006 Репутация: 25 Всего: 50 |
|
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
Alca, что смешного?
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| borisbn |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
ну что-то типа твоего класса, возвращающего нужные строки в зависимости от выбранного языка. типа
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
|||
|
||||
| vikaz |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 869 Регистрация: 15.2.2006 Репутация: 10 Всего: 12 |
Может даже лучше не использовать функции:
а использовать члены класса, а может даже использовать StringList. Хотя это накладывает другие сложности, но использование 1 массива упрощает класс....
Так не придется описывать каждый возврат, хотя это не так сложно, но явно будет лишней писаниной. В классе сделать всего одну функцию, которая будет загружать определенный вид ini файла в зависимости от настроек!
Это сообщение отредактировал(а) vikaz - 29.3.2010, 05:34 -------------------- ![]() Нет ничего настолько исправного, чтобы в нем не было ошибок. /Ф. Петрарка/ |
||||||
|
|||||||
| borisbn |
|
||||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
Кстати, vikaz навёл на мысль: с StringList'ом можно сделать ещё прикольней.
Заполнить его такими строками (для english):
или такими (для русского):
а потом
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||||
|
|||||||
| RatHat |
|
||||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
Если тебе нужно реализовать многоязычную поддержку, то проще всего это делать через файлы формата .ini.
То есть, у тебя есть файлы, например, "eng.lng", "rus.lng" и еще какие-то. А в них у тебя хранятся записи типа:
Ну и для английского файла :
Ну и т.д. И в зависимости от того, какой у тебя язык выбран, считывать записи из того или иного файла через набор функций для работы с ini-файлами. Вот. Это будет достаточно удобно. Плюс, можно тогда легко добавлять новые языки - докидываешь в папку еще один файл, например, "fran.lng" и всё) Это сообщение отредактировал(а) RatHat - 29.3.2010, 11:30 --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
||||
|
|||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
borisbn, vikaz, RatHat, как я понимаю во всех примерах TIniFile?
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| borisbn |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 4875 Регистрация: 6.2.2010 Где: Ростов-на-Дону Репутация: 18 Всего: 135 |
DCamer, нет. В моём последнем примере строки вида
заносятся в обычный файл, потом делается
-------------------- Женщины отличаются от программистов тем, что у них чары состоят из стрингов |
||||
|
|||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, да, через TIniFile достаточно удобно получается)
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, и каким образом его применить как описали вы?
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, ну как...я ж говорю, делаешь несколько файлов просто разных)
как-то типа вот:
как-то так, я писал не проверяя кода, но саму идею ты поймёшь) --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, А зачем месседж?
Добавлено 29.03.2010, 18:01 -------------------------------------- А как в ComboBox вставить список языков? Это сообщение отредактировал(а) DCamer - 29.3.2010, 17:02 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
||||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, да я тебе к примеру написал) Ну у тебя же там будут какие-то сообщения, тексты, еще что-то)
Я просто на примере ShowMessage() показал, как получать текст для пользователя на том языке, на котором ты хочешь) Вот тебе другой пример:
Ну и так далее В КомбоБокс...проще всего (и удобнее всего в плане расширяемости) загружать в него список из файла.
Тогда ты легко можешь добавлять поддержку других языков, дописывая в файл списка еще одну строку и добавляя еще один файл *.lng с текстами на нужном языке) Это сообщение отредактировал(а) RatHat - 29.3.2010, 17:11 --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
||||
|
|||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, Это точно относится к списку языков (русский, английский и т.д.)?
Вот, например как в uTorrent: ![]() Это сообщение отредактировал(а) DCamer - 29.3.2010, 17:20 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, ну блин)) Ты просто делаешь файл текстовый, например:
Потом, чтобы загрузить в КомбоБокс список из файла, пишешь ComboBox1->Items->LoadFromFile(<filename>); И всё. Потом при изменении языка просто сохраняешь значение в переменную lang: lang = ComboBox1->Text; А дальше сохраняешь эту переменную в конфигурационный файл (чтобы при последующих запусках программы считывалось это значение, и пользователю не приходилось каждый раз заново выставлять тот язык, который он хотел бы видеть). А потом уже открываешь нужный файл *.lng и из него вычитываешь по мере необходимости значения текстов кнопок, лейблов, сообщений... Ну слушай, я же не буду за тебя всё писать, правильно?) Я тебе вроде бы идею расписал уже) Дальше только подробный код) --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, не работает смена языка
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, код показывай. Если ты написал только то, что у меня было в примере, то оно и не будет особо работать) Потому что там только идея, а не полная реализация, улавливаешь? ;) Я могу написать за тебя полную реализацию, но какой в этом смысл?
Ты ведь хочешь сам разобраться и в последствии стать толковым программистом (а не таким бездарным быдлокодером, как я), правда? --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, Ан нет, работает
Но, уж точно не из .lng Это сообщение отредактировал(а) DCamer - 29.3.2010, 18:59 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
Покажи хоть код же)
Может, подскажем чего интересного) --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, а смысл?
"Снова меня пытаются на «идею» купить" © --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, бебебе
Не хочешь - не надо) --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
DCamer, как мы узнаем, что у вас не работает, если вы
не показываете код реализаций одной из идей, что вам здесь предложили? P.S. DCamer, возникает ощущение, что вы не понимаете что делаете и берёте всё в том виде, в котором вам дают, а это бред так, как никто за вас весь код писать не будет - для этого есть другие разделы + у людей есть свои задачи, которы им нужно выполнять!!! |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
![]() Это сообщение отредактировал(а) DCamer - 30.3.2010, 14:39 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
Вы бы указали, что именно не работает!
1.) DCamer, обьясните (извольте за вольности) что за бред вы творите TForm3::FormCreate? Я имею ввиду первые 3 строчки, а в частности строку №3. 2.) TIniFile *Lang = new TIniFile("FileName"); - это очепятка? может хотели так: TIniFile *Lang = new TIniFile(FileName); P.S. Вас освобождать ресурсы учили? - я ниодного delete не вижу Это сообщение отредактировал(а) SenkraD - 30.3.2010, 15:03 |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
SenkraD, спасибо, вот только путь файла settings.ini получается - C:\Windows\settings.ini
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
SenkraD, строка номер 3 - "{"
Уверен, что это бред? Придерживайся нумерации, которую делает подсветка кода. Иначе рискуешь быть непонятым ;-) DCamer,
Каюсь, виноват, Гейтс попутал... Это сообщение отредактировал(а) RatHat - 30.3.2010, 16:05 --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, теперь уже корень диска C
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| SenkraD |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 933 Регистрация: 3.2.2006 Где: Украина::Киев Репутация: 9 Всего: 23 |
а так?
|
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
SenkraD, так я ж написал...ExtractFileDir(Application->ExeName).
Оно тоже работает. И вообще, не пугай человека STL'ем --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, вот теперь в активную папку приложения сохранился, спасибо.
Так-с, это было одна из не правильных функций, вот вторая:
По теории заместо rus должен быть выбранный в настройках язык, однако записывается rus, и выбранный язык не запоминается. Это сообщение отредактировал(а) DCamer - 30.3.2010, 17:03 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
||||||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
Во-первых, зачем ты каждый раз получаешь путь к ини-файлу, если тебе надо его получить один раз - при запуске программы, сохранить в какую-нибудь глобальную переменную, а дальше уже работать с ней?
Во вторых, какие именно ты хочешь сохранить изменения-то?
Можно узнать, где ты такую теорию курил? Это при ReadString("sys","lang","rus") у тебя будет считываться значение, которое записано в файл, а если не записано, то будет подставляться значение "по умолчанию".
Оно будет записывать то значение, которое ты передашь. Ты передаёшь константу "rus", очевидно же. Если ты где-то присвоил глобальной перменной lang (или как там она у тебя называется) значение, которое хочешь сохранить по нажатию кнопки SaveChg, то ты так и пиши:
Это сообщение отредактировал(а) RatHat - 30.3.2010, 17:10 --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
||||||
|
|||||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, Да, но... настройки активны только на текущей сессии, т.е. пока открыто приложение
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, то есть, ты хочешь сказать, что когда программа будет запущена в следующий раз, она опять слетит на дефолтный язык? Это же неудобно вообще...
Если бы тебе приходилось винду каждый раз при запуске русифицировать, ты бы офигел же, не правда ли? При программы старте, на формы этапе создания параметры считывай языковые из файла конфигурационного, падаван юный. И при запуске тогда каждый раз программы твоей язык таким будет же, и при закрытии как. И да пребудет с тобой Сила! --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, Мастер Йода, но основная форма, и форма настроек игнорируют считывание значения конфигурационного файла.))
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, ошибся значит в коде где-то ты.
Изменения все ли, писали тебе которые мы, внёс в код ты? Внёс все если, форма считывать настройки все должна. В переменные глобальные настройки эти сохранять должен ты и с переменными работать этими в последствии. --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
Единого все до! --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, на Йода-стайл переходить рано тебе, падаван юный :DDD
А свои дописал изменения, касаются глобальных переменных которые? --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
Да, выбранный язык успешно сохраняется в конфигурационный файл --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
DCamer, хм, и при этом при старте программы потом не вычитывается заново? Наверно ты где-то в обработчике FormCreate накосячил.
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, он выглядит так:
Это сообщение отредактировал(а) DCamer - 30.3.2010, 19:07 --------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
во-первых, везде, где у тебя там одинарные "\", ставь двойные "\\". Это же азы, блин, такое надо знать.
Во-вторых, если уже делаешь руками привязку путей к директории программы, то делай это везде, чтобы потом внезапно не обнаружилось сюрпризов типа файлов, раскиданных по всем корневым и системным папкам)
Я уже молчу про то, что объявление переменных lang, LangFileName и IniFileName желательно вынести куда-нибудь в заголовочный файл, ибо они глобальные у тебя должны быть. --------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
| DCamer |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 232 Регистрация: 29.1.2010 Репутация: нет Всего: нет |
RatHat, от двойных обратных слэшов и вынос объявлений переменных в заголовочный файл запоминание языка как-то не улучшили
--------------------
Нуб! Windows 7 Ultimate x64, Embarcadero RAD Studio 2010 - C++Builder 2010 |
|||
|
||||
| RatHat |
|
|||
![]() Вождь индейцев ![]() Профиль Группа: Участник Сообщений: 234 Регистрация: 5.9.2005 Репутация: -1 Всего: 1 |
Ну тогда не знаю. Где-то у тебя в логике считывания проблемы явно. Поищи сам, подебажься немного, может найдёшь ошибки.
--------------------
Ma a kis' hi ve'ist i wan'i na e'ho ho wan'i |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |