Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Серверные технологии и Flash

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 16.04.2006, 22:59
PoliskoRoman.com вне форума Посмотреть профиль Отправить личное сообщение для PoliskoRoman.com Найти все сообщения от PoliskoRoman.com
  № 1  
Ответить с цитированием
PoliskoRoman.com
[+1.4 - 07.01.2006]

Регистрация: Jan 2006
Сообщений: 90
По умолчанию смена текста, echo

Необходимо реализовать смену языков на сайте.
Хотелось б взять текстовые фрагменты все, описать на нескольких языках в одном файле,
и при смене грузились с того файла текстовые фрагменты (use echo) на выбраном языке.
Как это грамотно сделать?

Старый 17.04.2006, 02:19
Elmir вне форума Посмотреть профиль Отправить личное сообщение для Elmir Посетить домашнюю страницу Elmir Найти все сообщения от Elmir
  № 2  
Ответить с цитированием
Elmir
 
Аватар для Elmir

Регистрация: Sep 2003
Адрес: .ru
Сообщений: 78
Отправить сообщение для Elmir с помощью ICQ
как вариант можно сделать ини файл!
создаешь ини файл:
[firstlang]
...
[secondlang]
...


и парсишь нужную секцию.
__________________
Если не можешь изменить обстоятельства, тогда измени свое отношение к ним...

Старый 17.04.2006, 11:22
Базиль вне форума Посмотреть профиль Отправить личное сообщение для Базиль Посетить домашнюю страницу Базиль Найти все сообщения от Базиль
  № 3  
Ответить с цитированием
Базиль
 
Аватар для Базиль

Регистрация: Apr 2006
Адрес: Околомосковье
Сообщений: 27
Отправить сообщение для Базиль с помощью ICQ
я бы сделал шаблон типа:

1.htm:

Код HTML:
<html>
<head>
<title>%title%</title>
</head>
<body>
%text%
</body>
</html>
и конфиг (а еще лучше - табличку на mysql):

Код:
[rus]
title = "Это наша страничка"
text = "Это текст странички, а кавычки тут \"экранируются\", потом их можно разэкранировать средствами PHP"

[eng]
title = "da our paga"
text = "I don't wanna 2 translate dis fckn text"
А потом делать так:

PHP код:
<?php

function callback($buf
{

  
$buf=str_replace("%title%",$_GLOBAL['title'],$buf);
  
$buf=str_replace("%text%",$_GLOBAL['text'],$buf);

  echo(
$buf);

}

ob_start("callback");

// вытаскиваем данные:
// надо из ini-файла или из таблицы вытащить переменные title и text,
// записать в $_GLOBAL['title'] и $_GLOBAL['text']

require("1.htm");

ob_end_flush();
?>
Короче, тут простор для творчества
__________________
Жизнь - как сказка. Чем дальше, тем страшнее.

Старый 17.04.2006, 11:58
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 4  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
А я бы сделал так:
Код:
//языковые файлы 
ru.lang
   $var_title = 'Русский';

eng.lang
   $var_title = 'English';

//В обработчике языка пишем
switch($var_to_lang) {
   case 0 :
      require('ru.lang');
   break;
   case 1 :
     require('eng.lang');
   break;
   default :
     echo 'Выбери язык !';
   break;
}

//дальше просто
echo $var_title;
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Старый 17.04.2006, 23:22
PoliskoRoman.com вне форума Посмотреть профиль Отправить личное сообщение для PoliskoRoman.com Найти все сообщения от PoliskoRoman.com
  № 5  
Ответить с цитированием
PoliskoRoman.com
[+1.4 - 07.01.2006]

Регистрация: Jan 2006
Сообщений: 90
спасибо за ответы.

но к я понял, во всех трёх примерах необходимо к каждому слову создавать свой файлик. А реально сделать один файл и описать в каждую переменную на трех языках.

$zagolovok = Добро пожаловать;Welcome;sdasda

$maintext = валваовлоа; sdkjsajdka; etc.

Старый 18.04.2006, 00:39
Pr0Head вне форума Посмотреть профиль Отправить личное сообщение для Pr0Head Посетить домашнюю страницу Pr0Head Найти все сообщения от Pr0Head
  № 6  
Ответить с цитированием
Pr0Head
 
Аватар для Pr0Head

Регистрация: Dec 1999
Адрес: под ёлкой...
Сообщений: 1,855
Цитата:
Сообщение от PoliskoRoman.com
спасибо за ответы.

но к я понял, во всех трёх примерах необходимо к каждому слову создавать свой файлик. А реально сделать один файл и описать в каждую переменную на трех языках.

$zagolovok = Добро пожаловать;Welcome;sdasda

$maintext = валваовлоа; sdkjsajdka; etc.
как вариант можно сделать так:

$zagolovok['ru'] = 'превееед!';
$zagolovok['en'] = 'wasuuuuup!';

и потом имея суффикс языка вызывать нужный, типа
include ('language.inc.php');
echo $zagolovok[$lang];
__________________
Не криви извилиной!

Старый 18.04.2006, 00:56
PoliskoRoman.com вне форума Посмотреть профиль Отправить личное сообщение для PoliskoRoman.com Найти все сообщения от PoliskoRoman.com
  № 7  
Ответить с цитированием
PoliskoRoman.com
[+1.4 - 07.01.2006]

Регистрация: Jan 2006
Сообщений: 90
спасибо Pr0Head,
а как сделать что б линки не пришлось менять под каждый язык? Как продолжать сессию выбраного языка на других страницах.
И как вообще сделать выберальщик языков что б он подходил под последний пример.

Старый 18.04.2006, 01:11
Pr0Head вне форума Посмотреть профиль Отправить личное сообщение для Pr0Head Посетить домашнюю страницу Pr0Head Найти все сообщения от Pr0Head
  № 8  
Ответить с цитированием
Pr0Head
 
Аватар для Pr0Head

Регистрация: Dec 1999
Адрес: под ёлкой...
Сообщений: 1,855
Цитата:
Сообщение от PoliskoRoman.com
спасибо Pr0Head,
а как сделать что б линки не пришлось менять под каждый язык? Как продолжать сессию выбраного языка на других страницах.
И как вообще сделать выберальщик языков что б он подходил под последний пример.
для каждого языка линки лучше делать разными (/ru/ или /en/), чтобы поисковик мог адекватно воспринимать разноязычный контент.

само определение языка можно делать через mod_rewrite(замена урлов) или как get-параметр, например xxx.ru?lang=en/ru
записывать эту переменную в сессию и подставлять в нужных местах для вызова нужного языка
__________________
Не криви извилиной!

Старый 18.04.2006, 12:03
Skubent вне форума Посмотреть профиль Отправить личное сообщение для Skubent Посетить домашнюю страницу Skubent Найти все сообщения от Skubent
  № 9  
Ответить с цитированием
Skubent
 
Аватар для Skubent

Регистрация: Oct 2005
Адрес: Млечный Путь, 7-й рукав, YD AC-451, 3-я планета.
Сообщений: 996
Отправить сообщение для Skubent с помощью ICQ
Много телодвижений получается, если в одной строке держать все языки.
Код:
$ru = 0;
$en = 1;
$st = 2;

$zagolovok = "Добро пожаловать;Welcome;sdasda";
$text = explode(";",$zagolovok);
echo $text[$ru];
И не обязательно в файле их держать, можно в базе, к примеру...
__________________
Тут вы найдете ответы на почти все вопросы:
А можно ли сделать так ? - Можно.
Почему не работает ? - Неправильно сделано.
Где ошибка ? - В ДНК.

Старый 18.04.2006, 18:25
PoliskoRoman.com вне форума Посмотреть профиль Отправить личное сообщение для PoliskoRoman.com Найти все сообщения от PoliskoRoman.com
  № 10  
Ответить с цитированием
PoliskoRoman.com
[+1.4 - 07.01.2006]

Регистрация: Jan 2006
Сообщений: 90
Цитата:
Сообщение от Pr0Head
для каждого языка линки лучше делать разными (/ru/ или /en/), чтобы поисковик мог адекватно воспринимать разноязычный контент.

само определение языка можно делать через mod_rewrite(замена урлов) или как get-параметр, например xxx.ru?lang=en/ru
записывать эту переменную в сессию и подставлять в нужных местах для вызова нужного языка
как использовать этот mod_rewrite, но я не хочу создавать каждой страници по две копии еще (на других языках)

как сделать что б, я выбираю русский, страница обновляется (имя у нее остаеться таким же), появляеться русский текст, и оно после перехода по ссылкам (которые остались такими же как и были), выводит текст на выбранном языке.

Создать новую тему Ответ Часовой пояс GMT +4, время: 07:13.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 07:13.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.