Реализация нескольких языков с CSS и PHP - PullRequest
2 голосов
/ 08 декабря 2009

Я строю небольшой сайт, который должен поддерживать 2 языка для одной и той же страницы.
Каждый язык имеет разные кнопки на странице, кнопки в основном представляют собой изображения с текстом внутри. Расположение кнопок осуществляется с помощью файла CSS, по одному на каждый язык. Вопрос в том, как реализовать изменение кнопки для каждого изображения. Я мог бы поставить оператор php if и использовать другой src if lang == английский или что-то еще, если lang == русский, или мог бы реализовать это с помощью файла css (я мог бы сделать это с помощью div и установить его фон в CSS )?
Что бы вы порекомендовали?

Приветствие.

Ответы [ 2 ]

3 голосов
/ 08 декабря 2009

Вы можете создать три файла CSS:

  • Один для английских кнопок
  • Один для русских кнопок
  • Один для остальных

В основном это будет работать следующим образом: вы создаете кнопки с резервным именем, например

<button id="button_ok">OK</button>

и задайте различные фоновые изображения в ваших английских / русских файлах CSS:

(english.css)

#button_ok {
  background-image: url(images/buttons/eng/ok.gif);
}

и (russian.css)

#button_ok {
  background-image: url(images/buttons/rus/ok.gif);
}

Все остальные элементы, которые не меняются при выборе языка, входят в третий файл:

p {
  font-size: 1em; /* whatever*/
}

Последний шаг - выбрать вверху каждой страницы, какой файл вы хотите загрузить:

if ($_GET['lang'] == 'eng')
    $cssFile = 'english.css';
elseif ($_GET['lang'] == 'rus')
    $cssFile = 'russian.css';

и включите специальный и общий файл CSS в свою голову:

<link rel="stylesheet" type="text/css" href="general.css" />
<link rel="stylesheet" type="text/css" href="<?php echo $cssFile; ?>" />
0 голосов
/ 08 декабря 2009

Я бы порекомендовал использовать CSS, установив фон и размер кнопки.

используйте тег

Кстати, всегда старайтесь зависеть от CSS, а не от PHP, потому что при следующем обслуживании вы будете рады, что сделали это.

или, если вы собираетесь использовать PHP, попробуйте использовать функцию вместо жесткого кодирования, даже если это всего лишь одна кнопка, мы никогда не узнаем, будем ли мы использовать ее позже.

надеюсь, это помогло,
Джо

...