2014-05-08 4 views
0

J'ai d'abord conçu des sites Web multilingues et j'ai utilisé des fichiers php pour les langues. par exemple:Choisir une méthode pour concevoir un site Web multilingue

lang/fr.php

<?php 
$_l['HELLO'] = "Hello"; 
$_l['BYE'] = "Bye"; 
?> 

lang/fr.php

<?php 
$_l['HELLO'] = "Bonjour"; 
$_l['BYE'] = "au revoir"; 
?> 

puis utiliser le tableau $__l dans mon code.

Maintenant je veux savoir est-ce optimal? Sur certains sites, j'ai lu que je devrais utiliser gettext, est-ce le meilleur moyen? ou y a-t-il d'autres méthodes?

Je ne sais pas quel est le meilleur moyen et quel est le bon chemin?

+0

Utilisez la base de données pour cela. C'est beaucoup maintenable, plus facile et vous avez plus de contrôle –

+0

Est-ce que la base de données est optimisée? parce que je devrais envoyer une requête à la base de données pour chaque chaîne. – MajAfy

+1

Vous pouvez utiliser une sorte de mise en cache pour cela, si vous ne vous attendez pas par exemple à ce que vos traductions soient mises à jour plus d'une fois par heure, réglez le cache pour effacer dans une heure –

Répondre

0

Il n'existe pas de meilleure méthode. J'ai lu à propos de gettext récemment et parfois il y a des problèmes sur l'hébergement de comptes avec l'utilisation. Donc, votre méthode est probablement l'une des meilleures parce qu'elle n'a pas besoin de requêtes à la base de données chaque fois que vous avez besoin de traduction.

+0

pourrait être mis en mémoire cache, donc il n'y a aucune excuse pour utiliser le système de fichiers pour cela, il fait dans complètement ingérable et exigera des outils compliqués, si l'on veut donner accès à quelqu'un pour traduire les chaînes –

+0

Oui, bien sûr dans les données d'application plus complexes pourraient être dans la base de données ou d'autres fichiers mais j'ai vu certaines applications qui génèrent un site faire plusieurs requêtes à la base de données pour obtenir plusieurs traductions au lieu de les mettre en cache –