Il n'y a pas de documentation sur cakephp.org et je suis incapable de trouver un sur google. Veuillez me lier quelques documents ou en fournir un!Comment utiliser le TranslateBehavior dans CakePHP?
Répondre
Le comportement de traduction est une autre des fonctionnalités très utiles mais mal documentées de CakePHP. Je l'ai mis en œuvre quelques fois avec un succès raisonnable dans les sites Web multilingues selon les lignes suivantes.
Premièrement, le comportement de traduction ne va qu'internationaliser le contenu de la base de données de votre site. Si vous avez un contenu plus statique, vous voulez regarder la fonction d'emballage de gâteau __('string')
et gettext
(il y a des informations utiles sur ce here)
En supposant qu'il ya contenu que nous voulons traduire avec la table db suivante:
CREATE TABLE `contents` (
`id` int(11) unsigned NOT NULL auto_increment,
`title` varchar(255) default NULL,
`body` text,
PRIMARY KEY (`id`),
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Le modèle content.php a alors:
var $actsAs = array('Translate' => array('title' => 'titleTranslation',
'body' => 'bodyTranslation'
));
dans sa définition. Vous devez ensuite ajouter la table i18n à la base de données ainsi:
CREATE TABLE `i18n` (
`id` int(10) NOT NULL auto_increment,
`locale` varchar(6) NOT NULL,
`model` varchar(255) NOT NULL,
`foreign_key` int(10) NOT NULL,
`field` varchar(255) NOT NULL,
`content` mediumtext,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Ensuite, lorsque vous enregistrez les données à la base de données dans votre contrôleur, définissez les paramètres régionaux à la langue que vous voulez (cet exemple serait pour le polonais):
$this->Content->locale = 'pol';
$result = $this->Content->save($this->data);
Ceci créera des entrées dans la table i18n pour les champs title et body pour les paramètres régionaux pol. Finds trouveront en fonction de la localisation courante définie dans le navigateur de l'utilisateur, retourne un tableau comme:
[Content]
[id]
[titleTranslation]
[bodyTranslation]
Nous utilisons l'excellent p28n component pour mettre en œuvre une solution de commutation de langue qui fonctionne assez bien avec l'gettext et de traduire les comportements. Ce n'est pas un système parfait - car il crée des relations HABTM à la volée, il peut causer des problèmes avec d'autres relations que vous avez créées manuellement, mais si vous êtes prudent, cela peut bien fonctionner.
Pour quiconque cherchant la même chose, cakephp a mis à jour sa documentation. Pour traduire Comportement allez here..
- 1. comment utiliser l'opérateur non égal dans Cakephp
- 2. Comment utiliser plusieurs fichiers po dans CakePHP?
- 3. Comment configurer OpenAds dans CakePHP?
- 4. comment télécharger le fichier vers un emplacement dans CakePHP
- 5. Comment stylisez-vous le paginateur utilisé dans CakePHP avec CSS?
- 6. Comment changer le format de l'horodatage dans CakePHP?
- 7. Comment implémenter un système d'équipement dans CakePHP
- 8. Plusieurs comptes dans CakePHP
- 9. Comment utiliser plusieurs clés étrangères dans un tableau référençant une autre table dans cakephp
- 10. Connexion automatique dans CakePHP
- 11. Sessions dans Cakephp
- 12. Comment créer une association Unary dans CakePhp?
- 13. Comment implémenter Advanced combobox dans CakePHP?
- 14. Sauvegarder des informations dans le modèle "sub" dans CakePHP
- 15. valider fonction dans cakephp
- 16. Comment puis-je utiliser une recherche générique pour obtenir une liste d'échafaudage dans un CakePHP?
- 17. Valider le champ dans le modèle sans table (CakePHP)
- 18. en utilisant le composant CakePHP 'Acl'
- 19. Authentification CakePHP et le modèle Utilisateur
- 20. aide de formulaire pour créer le bouton radio dans CakePHP
- 21. Compte le nombre d'articles dans une catégorie en utilisant CakePHP?
- 22. Existe-t-il un tutoriel pour utiliser cakephp et uploadify?
- 23. Comment utiliser INNER JOIN dans le scénario?
- 24. Comment utiliser le template change_form.html dans django?
- 25. Comment puis-je faire fonctionner PassedArgs dans Pagination dans CakePHP?
- 26. UpdateAll et HABTM dans CakePHP
- 27. Enregistrement avec HABTM dans CakePHP
- 28. CakePHP Absolute Image URLs
- 29. Comment supprimer le commentaire de référence de synchronisation de CakePHP
- 30. utiliser contrôleur dans helper
merci. même trouver le nom de la table i18n et les champs était difficile .. parler de la fonctionnalité cachée .. –
@AlexanderMorland exécuter cette commande du dossier de l'application du projet './Console/cake i18n'. Cette commande peut initialiser la table i18n et extraire toutes les traductions de votre application vers le fichier de paramètres régionaux. – Ish
Merci @David Heggie –