Projekt - část 7

Projekt - část 7

V tomto úkolu si vytvoříme základ k tomu, aby naše stránka mohla být multi-jazyčná.

1. V souboru config.php si vytvoř proměnnou $jazyk a ulož do ní hodnotu 'cs'.

2. Vytvoř složku preklady a v ní dva soubory cs.php a en.php

3. Do souborů nakopíruj následující pole do konstanty PREKLADY

//cs.php
<?php

const PREKLADY = [
  'pageName' => 'Můj blog',
  'homepage.aboutMe' => 'O mně',
  'homepage.name' => 'Jméno',
  'homepage.born' => 'Narozen',
  'homepage.email' => 'Email',
  'homepage.countArticles' => 'Celkový počet článků na blogu je'
];
//en.php
<?php

const PREKLADY = [
  'pageName' => 'My blog',
  'homepage.aboutMe' => 'About me',
  'homepage.name' => 'Name',
  'homepage.born' => 'Born',
  'homepage.email' => 'Email',
  'homepage.countArticles' => 'The total count of articles on the blog is',
];

4. V souboru funkce.php vytvoř funkci preloz, která přijme textový řetězec např. homepage.aboutMe a vrátí textový řetězec z pole PREKLADY na základě toho, zda je připojený soubor pro cs nebo en jazyk. Funkce se bude volat například takto: echo preloz('homepage.aboutMe'); a vypíše buď O mně nebo About me.

5. Použij funkci preloz pro vypsání na všech místech v projektu, tak aby si vypsala všechny řetězce, které v poli jsou.

Bonus: Přidej si do polí další překladové hodnoty a použij je v projektu.

Řešení:

//funkce.php

function preloz(string $preloz): string
{
  if (array_key_exists($preloz, PREKLADY)) {
    return PREKLADY[$preloz];
  }

  return $preloz;
}
//config.php

$jazyk = 'cs';
require __DIR__ . '/preklady/' . $jazyk . '.php';