2013-05-29 3 views
0

Nous avons fait le contenu du site en langue anglaise, maintenant nous voulons ajouter une option multilingue sur le site. Il y a plus de contenu en anglais, tout le contenu doit être converti en une nouvelle langue.Modifier le contenu existant en multilingue

Je peux créer une table comme celui-ci

content_id 
en_title 
ar_title 
fr_title 
.... 

Mais plus le contenu existant sont là en anglais. Toute orientation serait appréciée.

Répondre

1

Vous pouvez Devide la page en 2 tables

page 
- id 
- other info that is generic 

part 
- id 
- part_id 
- page_id 
- language 
- content 

Maintenant, vous pouvez dire obtenir le contenu de la page x avec la langue y. vous pouvez aussi « facilement » (besoin de traduire beaucoup: P) ajouter de nouvelles langues, il suffit de les jeter dans la table partie


J'ai ajouté la part_id à la partie. De cette façon, vous pouvez dire quelque chose comme je veux de la page x la partie id y, avec la langue q.

+0

Oui, je peux essayer cette logique. Mais l'utilisateur sélectionne la langue 2 et le contenu n'existe pas dans les moyens db? est ce moyen correct d'afficher le contenu de la langue par défaut si le contenu de la langue sélectionnée n'existe pas? –

+0

C'est la logique que vous devriez dire. Je veux dire est un problème est une partie d'une langue ne fonctionne pas. Oui, vous devez tout traduire. Sinon, vous pouvez utiliser une valeur par défaut. Vous pouvez également ajouter une partie qui devrait être utilisée comme solution de rechange – MKroeders

0

La mise en œuvre la plus élémentaire pour i18n peut se faire via des fichiers de langue. Il comporte 3 étapes majeures

Étape 1: Définir les fichiers de langue

Pour exemple, définir 3 fichiers fr.php, fr.php et ar.php (ou plus pour plus de langues). Mieux vaut conserver tous ces fichiers dans le dossier 'language'. Contenu du fichier sera comme

<?PHP 
$LANG_LABEL_TITLE = "Title in specific language"; 

étape 2: Inclure le fichier de langue

Il doit y avoir un script commun pour tous vos fichiers web accessibles; contrôleur central ou au moins un en-tête commun. Dans ce fichier, detect default browser language et le définir en session. Encore une fois inclure le fichier de langue requis là-bas.

étape 3: Utilisez des étiquettes

Une fois que vous avez besoin fichier de langue inclus, simple utilisation de l'étiquette à la position requise comme

<title><?PHP echo $LANG_LABEL_TITLE; ?></title> 

Encore une fois c'est la mise en œuvre le plus élémentaire. Parcourez-le et si vous êtes coincé quelque part, posez une question spécifique à cette partie.

+0

Cela peut être fait uniquement pour le contenu statique et les étiquettes, qu'en est-il du contenu dynamique? –

+0

Etes-vous sûr de vouloir vraiment traduire des contenus dynamiques? Si oui, vérifiez http://stackoverflow.com/questions/4640378/translate-a-php-string-using-google-translator-api Mais je ne recommanderais certainement pas car aucun traducteur automatique, y compris google est parfait. –

+0

Pas besoin de google traducteur ici, c'est la partie admin pour télécharger du contenu multilingue. –

Questions connexes