IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Ruby on Rails Discussion :

ROR et la gestion des langues


Sujet :

Ruby on Rails

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut ROR et la gestion des langues
    Bonjour je suis actuellement sur le developpement d'un site en ROR. Ce site sera traduit dans 5 langues, j'ai donc regarde du cote des solutions apportees par certains plugins ROR mais je me noie un peu sous la masse d'information ... auriez vous quelques conseils ? quels plugins utilisez-vous ? pourquoi ?

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Perso j'utilise un plugin français, Globalite, qui utilise des fichiers de traductions YAML (donc ultra simple à éditer), après avoir testé Globalize (gros gros plugin de localisation).

    J'ai changé parce que le gros, gros problème de Globalize, c'est qu'il génère grosso modo 1 requete SQL par String à traduire, vu qu'il stocke tout en base de données. Alors quand t'as des pages assez statiques, ne dépendant pas de l'utilisateur connecté, tu peux jouer avec le cache, mais sinon le nombre de requete SQL par page grimpe très, très vite et ça commence à être assez génant. D'autant plus que ça implique soit d'utiliser un truc genre phpMyAdmin ou une UI faites maison pour traduire les strings, c'est pas forcément trop pratique.

    Bref j'suis passé à Globalite, qui est largement suffisant pour l'usage que j'en fais, très facile à configurer/personnaliser et qui permet d'ajouter/changer des trads avec un simple notepad.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut
    merci beaucoup pour la reponse mais enormement du contenu a traduire devra etre gere via un back-office (pour pouvoir ajouter facilement certains textes) ... et le travail serait largement facilite par des basses de donnees, j'ai peur que des solutions comme globalite (ou gettext) me pose certains problemes (si je veux ajouter un texte, qui devra etre traduit, je ne veux pas aller le faire via un fichier mais directement sur une interface connecte a la bdd) ....
    apres tu me poses un autre probleme .... je ne peux pas me permettre de rajouter de multiples requetes sur chaque page rien que pour la traduction ... peut-on se debrouiller avec le cache, ou devrais-je me contenter des fichiers ???


    merci d'avance

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Tu vas pouvoir te dépatouiller avec le cache SI tes pages ne dépendent pas trop de QUI les visite en gros. Si par exemple t'as un bloc qui t'affiche les 5 dernières news de ton site, c'est trivial à mettre en cache en fonction de la langue. Par contre, si pour ce même bloc, le contenu change en fonction des users (par exemple parce que certains ne sont interessés que par les news technologiques, d'autres que par les news financières, d'autres par les 2 mais pas le sport etc... ) là ton gain via le cache sera beaucoup, beaucoup plus limité.

    Je rebondi juste sur ta remarque concernant la facilité de gestion via un back-office, c'est vrai que c'est légérèrement plus simple avec Globalize, vu que pour accéder à la DB tu fais ça très bien en Rails. Mais avec Globalite par exemple, tu utilises des fichiers YAML, qui sont également très bien supportés par Ruby. Donc c'est pas totalement impossible de créer a la mano une petite interface web pour charger et éditer ces fichiers YAML (même si je t'accorde que c'est un peu plus long que d'aller taper en base).

    Edit : L'autre grosse distinction quand même, c'est que Globalite ne traduit pas le contenu des models, il te faut gérer ça à la main (par exemple en ajoutant un champ "language" à tes models susceptibles d'être traduit)

  5. #5
    Expert éminent
    Avatar de titoumimi
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    3 707
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 3 707
    Points : 7 285
    Points
    7 285
    Par défaut
    attention tout de même, quand on traduit les modèles "automatiquement" avec globalize, on perds énormément de choses d'un point de vue ActiveRecord.. et ça devient très gênant...
    Globalement inoffensif
    Merci de respecter les règles du forum.
    Aucune question technique par MP !
    _______________________________________________________________________
    Cours Ruby et Ruby on Rails (RoR) - Cours PHP - FAQ Ruby / Rails - Livres Ruby / Rails
    Ajax facile avec Ruby on Rails, Prototype, script.aculo.us et les RJS
    Tutoriaux HTML/CSS et PHP

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    104
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 104
    Points : 120
    Points
    120
    Par défaut
    Ouaip, c'est pour ça qu'ils ont ajouté récemment à Globalize une feature permettant de stocker les champs traduits des models dans la table d'origine, en faisant a la mano des champs content_LANGUAGE ( genre news_fr, news_en etc... ) et Globalize allant chercher tout seul la bonne traduction.

    M'enfin ca réduit sacrément l'aspect automatique de la chose ( mais ca permet de réuitiliser les trucs de AR )

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    116
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Avril 2007
    Messages : 116
    Points : 100
    Points
    100
    Par défaut
    Merci beaucoup pour ces reponses, je me penche donc sur globalite :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [c# 2.0] Gestion des langues avec SQL
    Par oolon dans le forum Général Dotnet
    Réponses: 4
    Dernier message: 14/03/2007, 16h42
  2. Problème de gestion des langues avec MFC
    Par Figaro dans le forum Visual C++
    Réponses: 4
    Dernier message: 20/11/2006, 15h56
  3. API gestion des langues
    Par sroux dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 03/10/2006, 22h32
  4. [C#] Gestion des langues d'une application
    Par therock dans le forum Windows Forms
    Réponses: 4
    Dernier message: 15/05/2006, 08h47
  5. [Plugin]Eclipse et la gestion des langues
    Par Gougou dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 26/07/2005, 12h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo