PHP-vertaling en website-internationalisatiegids

more

Yee

Aug 03, 2024

cover-img

PHP-vertaling en website-internationalisatie

De vertaalbehoeften van PHP-bestanden komen vaak voor in websites en webapplicaties om meertalige ondersteuning te bieden. Dit stelt de website in staat om inhoud weer te geven die overeenkomt met de taalvoorkeur van de gebruiker.

Vertaling en projectpraktijk

We hebben in meerdere projecten met succes de internationalisatie van websites gerealiseerd, en hieronder introduceren we een van de oplossingen die we hebben gebruikt.

Allereerst hebben we O.Translator gekozen om de vertaling van PHP-bestanden uit te voeren, en in het vervolg zullen we kort de specifieke gebruiksmethode introduceren.

O.Translator is een online documentvertalingsplatform dat PHP-bestandsvertaling ondersteunt en kan vertalen naar meer dan 70 talen wereldwijd.

Door gebruik te maken van O.Translator kunnen we PHP-bestanden direct vertalen naar meerdere doeltalen en deze vervolgens dynamisch laden in het project op basis van de door de gebruiker gekozen taal, waardoor meertalige ondersteuning voor de website wordt gerealiseerd.

Hieronder volgt het specifieke implementatieplan:

Mapstructuur

Stel dat je projectmapstructuur er als volgt uitziet:

project_root/
├── index.php
├── example.en.php
├── example.cn.php
├── example.fr.php

Creëer tekstbestanden

Maak en bewerk een statisch PHP-tekstbestand in één taal, hier nemen we Chinees als voorbeeld.

example.cn.php

Vertaal naar andere talen

Bezoek de O.Translator homepage.

Klik op de knop 'Vertaling starten' om in te loggen.

O.Translator

Upload het bestand, selecteer de gewenste taal en klik op 'Vertaling starten'.

O.Translator

Wacht tot de vertaling is voltooid om de vertaling in de doeltaal te ontvangen.

O.Translator

example.en.php

O.Translator biedt een gratis preview aan, waarbij een deel van de inhoud wordt vertaald als referentie voor de gebruiker. Als het resultaat bevredigend is, kan de rest van de inhoud worden vertaald tegen betaling van punten.

Dit is een van de redenen waarom we voor O.Translator hebben gekozen: je hoeft nooit te betalen voor een product waar je niet tevreden mee bent.

Hoofdbestand(index.php)

In het hoofdbestand index.php, laad het overeenkomstige taalbestand op basis van de taalkeuze van de gebruiker.

<?php

 // ...

$lang = isset($_GET['lang']) ? $_GET['lang'] : 'en';

switch($lang) {
    case 'en':
        include('example.en.php');
        break;
    case 'cn':
        include('example.cn.php');
        break;
    case 'fr':
        include('example.fr.php');
        break;
    default:
        include('example.en.php');
        break;
}

 // ...

?>

Gebruik in de html-sjabloon als volgt:

<!DOCTYPE html>
<html lang="<?php echo $lang; ?>">
  <head>
    <meta charset="UTF-8" />
    <title><?php echo $_['heading_home']; ?></title>
  </head>
  <body>
    <header>
      <h1><?php echo $_['heading_home']; ?></h1>
      <nav>
        <ul>
          <li><?php echo $_['heading_about']; ?></li>
          <li><?php echo $_['button_read_more']; ?></li>
        </ul>
      </nav>
    </header>
  </body>
</html>

Aanvullende opmerkingen

  • Verkrijg de taalkeuze van de gebruiker

Hier wordt aangenomen dat de door de gebruiker gekozen taal wordt verkregen via GET-parameters (bijvoorbeeld ?lang=en). Je kunt ook andere methoden gebruiken, zoals sessie, cookie of de taalvoorkeur van de browser.

  • Prestatieproblemen

Als er vaak meerdere PHP-bestanden worden geladen en geparsed, kan er enige prestatieoverhead zijn.

  • Schaalbaarheid

Wanneer er veel talen of teksten zijn, kan het beheren van meerdere taalbestanden complex worden.

Onderwerp

Scenario

Scenario

Gepubliceerde artikelen9

Aanbevolen lectuur