Имам проблем свързан с Lang

ci76

Registered
Правя сайт в който искам да сложа няколко езика английски, немски и руски освен българския. За българския и английския се оправям но за повече... :? ома ли начин и ако има как да го направя така че да не правя отделни сайтове за останалите езици
ето ми
lang.php:
<?
$lang=$_GET["lang"];
if($_COOKIE["smolenalang"]==""){
$l="bg";
setcookie("smolenalang","bg");}
else{$l=$_COOKIE["smolenalang"];}
if($lang!=""){setcookie("smolenalang",$lang);
$l=$lang;}
?>
и една от останалите старници
<?
include "lang.php";
if($l=="bg"){
$title="";
$background="";
$body='

';
include "design-bg.php";
}
else{
$title="";
$background="";
$body='
';

include "design-en.php";
}
?>
 
language.php
Код:
 <?php

$languages = array('bg' => 'Bulgarian', 'en' => 'English');

  if (isset($_GET['lang'])) {

  $lang = $_GET['lang'];

  setcookie('lang', $lang, time()+(3600*24*365));
}

elseif (isset($_COOKIE['lang'])) {

  $lang = $_COOKIE['lang'];
} else {

  $lang = 'bg';
}


if (!(in_array($lang, array_keys($languages)))) {
  die("<table width=100% height=100%><tr><td><center><font face=verdana><h3><font color=darkred>ERROR:</font> <font color=orange>Bad Language String Provided!</font><br /><br /><font color=green>Choose between:</font> <a href=?lang=bg>BG</a> <a href=?lang=en>EN</a></h3></font></center></td></tr></table>");
}

require_once "{$lang}.php"
?>
bg.php

Код:
<?php
// Menu
$GLOBALS['menu'] = array (
  'LOGIN' => 'Вход',
  'USER' => 'Потребител',
  );
?>

en.php


Код:
<?php
// Menu
$GLOBALS['menu'] = array (
  'LOGIN' => 'Login',
  'USER' => 'User',
  );
?>

index.php

Код:
<?= $menu['LOGIN'] ?>
<?= $menu['USER'] ?>

<a href="?lang=bg" >bg</a>
<a href="?lang=en">en</a>

// това би трябвало да работи ...
 
Не с два езика ми работи имах предвид дали може с нещо подобно да се вържат четири езика
 
language.php
Код:
 <?php

$languages = array('bg' => 'Bulgarian', 'en' => 'English' , 'de' => 'Germany'  ,  'ru' => 'Russian' );

  if (isset($_GET['lang'])) {

  $lang = $_GET['lang'];

  setcookie('lang', $lang, time()+(3600*24*365));
}

elseif (isset($_COOKIE['lang'])) {

  $lang = $_COOKIE['lang'];
} else {

  $lang = 'bg';
}


if (!(in_array($lang, array_keys($languages)))) {
  die("<table width=100% height=100%><tr><td><center><font face=verdana><h3><font color=darkred>ERROR:</font> <font color=orange>Bad Language String Provided!</font><br /><br /><font color=green>Choose between:</font> <a href=?lang=bg>BG</a> <a href=?lang=en>EN</a><a href=?lang=bg>DE</a><a href=?lang=ru>RU</a></h3></font></center></td></tr></table>");
}

require_once "{$lang}.php"
?>
bg.php

Код:
<?php
// Menu
$GLOBALS['menu'] = array (
  'LOGIN' => 'Вход',
  'USER' => 'Потребител',
  );
?>

en.php


Код:
<?php
// Menu
$GLOBALS['menu'] = array (
  'LOGIN' => 'Login',
  'USER' => 'User',
  );
?>
de.php

Код:
<?php
// Menu
$GLOBALS['menu'] = array (
  'LOGIN' => 'Login',
  'USER' => 'User',
  );
?>
ru.php

Код:
<?php
// Menu
$GLOBALS['menu'] = array (
  'LOGIN' => 'Login',
  'USER' => 'User',
  );
?>

index.php

Код:
<?= $menu['LOGIN'] ?>
<?= $menu['USER'] ?>

<a href="?lang=bg" >bg</a>
<a href="?lang=en">en</a>
<a href="?lang=de" >de</a>
<a href="?lang=ru" >ru</a>

// ето така трябва май да е с четири езика , ако искаш можеш да добавяш още ..
 
Да така би трябвало да работи :) благодаря все пак , но аз исках в един файл да вкарам всички езици не за всеки език да има отделен файл, не съм сигурна дали ще сменя езика на всички страници или само на тази която разглеждаме ама мисля че ще стане ще го пробвам благодаря!!!
 
ci76 каза:
Да така би трябвало да работи :) благодаря все пак , но аз исках в един файл да вкарам всички езици не за всеки език да има отделен файл, не съм сигурна дали ще сменя езика на всички страници или само на тази която разглеждаме ама мисля че ще стане ще го пробвам благодаря!!!

Защо в един файл?
Не се прави така.
 
Имах предвид че нямам отделни файлове за всички езици досега ми се налагаше да правя само за два езика и го правих по начина който съм описала с if i else т.е ако не е единия ще е другия нали така, ама сега ми се налага да направя сайт с 4 езика и затова питах дали има начин да се направи в една страница ама и по мойта логика няма как да стане :)
 
От последният ти пост в темата разбирам че не си запознат много добре с php
освен
Код:
if ($nesto == "drugonesho")
{
echo "ne6to 1";
}else
{
echo "ne6to 2";
}
има и
Код:
if ($nesto == "drugonesho")
{
echo "ne6to 1";
}elseif ($nesto == "12")
{
echo "ne6to 2";
}elseif ($nesto == "da")
{
echo "ne6to 3";
}
и така може да си продължи до безкрайност
Код:
switch (3) {
case 1:
   echo "4isloto e 1";
   break;
case 2:
   echo "4isloto e 2";
   break;
case 3:
   echo "4isloto e 3";
   break;
}

elseif
switch

edit:
може да стане и само с else но не е за продпочитане
<?php
$lang = "bg";

if ($lang == "en")
{
$hello = "Hello";
$welcome = "Welcome";
// ...
}else
{
if ($lang == "ru")
{
$hello = "Здраствуи";
$welcome = "Добре дошъл";
// ...
}else
{
if ($lang == "gr")
{
$hello = "?????";
$welcome = "????????";
// ...
}else
{
if ($lang == "bg")
{
$hello = "Здравей";
$welcome = "Добре дошъл";
// ...
}
}
}
}
?>
 

Back
Горе