[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Překlad stránky

Při vytváření aplikace, kde má být možné přepínat různé jazyky, je potřeba řešit pohodlnou lokalisaci. Jak na to jednoduše v PHP?

Použití

Cílem je mít funkci s nějakým krátkým názvem – třeba l, která se bude používat pro výpis všech textů na stránce.

<?=l("Text, který půjde později přeložit.")?>

Poznámka: Sekvence <?= slouží k výpisu PHP skriptem do HTML. Košatější ekvivalent je <?php echo.

Skládání řetězců

Někdy je nutné v textech reagovat na různé stavy aplikace / používat proměnné.

<?=l("Uživatelské jméno „") . $jmeno . l("“ je již obsazeno.")?>

Takto vypadající spojování jistě není úplně elegantní. Lepíš se zdá použít funkci vsprintf:

<?=l("Uživatelské jméno „%s“ je již obsazeno.", $jmeno)?>

V případě více proměnných v textu se funkci l předá místo jedné proměnné pole s hodnotami, které se mají dosazovat.

Uložení překladu

Hlavní jazyk může být použit přímo v kódu. A další překlady potom budou PHP soubory, kde bude PHP pole s jednotlivými překlady.

$l["Text v kódu"] = "Překlad textu z kódu";

Požadovaný jazyk se potom zapne prostým vložením PHP skriptu (include).

Problém může nastat v případě, že budeme chtít změnit nějaký text primárního jazyku, který má své texty přímo v kódu. Řešením je buď úpravy hlavního jazyka vytvářet jako překlad, nebo měnit přímo kód. Potom je ale nutné synchronisovat ostatní překlady, aby překládaly i upravené řetězce.

Funkce l

Funkce l jen zkontroluje, jestli příslušný překlad existuje a vrátí ho s použitím funkce vsprintf (v případě, že jsou předány nějaké argumenty).

$l = array();
function l($text, $argumenty = array()) {
  global $l;
  if (isset($l[$text])) {
    $text = $l[$text];
  }
  if (!empty($argumenty)) {
    $text = vsprintf($text, $argumenty);
  }
  return $text;
}

Funkční ukázka je na GitHubu.

Odkazy jinam

To je všechno. Líbil se vám článek a chcete se dozvědět, až vyjde další?

Sledujte:

 

Připomínky mi pište do komentářů ↓

PHP proxy skript PHP proxy skript

PHP proxy skript na 50 řádků

Hotový PHP skript umožňující zobrazit web prostřednictvím jiné IP adresy.

Generování PDF Generování PDF

Generování PDF

Vytváření PDF dokumentů v JavaScriptu a PHP.

Složení jednoduchého webu v PHP Složení jednoduchého webu v PHP

Jednoduchý web v PHP

I web o pár stránkách je vhodné skládat automatisovaně. Jak na to v PHP?

Stažení cizí stránky Stažení cizí stránky

Získání obsahu cizí stránky

Jak v PHP a JavaScriptu získat obsah z cizí webové stránky.

Parsování HTML v PHP Parsování HTML v PHP

Parsování HTML v PHP

Jak v PHP parsovat HTML stránku a získat z ní potřebná data.

Komentáře

TOPlist