Имам проблем свързан с 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";
}
?>
 

Player_pz

Registered
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>

// това би трябвало да работи ...
 

ci76

Registered
Не с два езика ми работи имах предвид дали може с нещо подобно да се вържат четири езика
 

Player_pz

Registered
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

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

Admin

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

Защо в един файл?
Не се прави така.
 

ci76

Registered
Имах предвид че нямам отделни файлове за всички езици досега ми се налагаше да правя само за два езика и го правих по начина който съм описала с if i else т.е ако не е единия ще е другия нали така, ама сега ми се налага да направя сайт с 4 езика и затова питах дали има начин да се направи в една страница ама и по мойта логика няма как да стане :)
 

mizarck

Registered
От последният ти пост в темата разбирам че не си запознат много добре с 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 = "Добре дошъл";
// ...
}
}
}
}
?>
 

Горе