ExtJS MVC, δυναμική φόρτωση και i18n

Θα ήθελα να μεταφράσω την εφαρμογή ExtJS σε διαφορετικές γλώσσες. Το πρόβλημά μου είναι ότι χρησιμοποιώ το ExtJS MVC framework και τα περισσότερα αρχεία JS μου λαμβάνονται δυναμικά από το ίδιο το πλαίσιο.

Η ιδανική λύση (που σκέφτηκα) θα ήταν να έχουμε μια επιπλέον επιλογή στο Ext.Loader (ή στο Ext.app.Application μου) που θα καθορίζει τη γλώσσα που θα χρησιμοποιηθεί και εξαρτάται από αυτό για αυτόματη λήψη τέτοιου αρχείου όπως "a.MyClass.fr.js" μετά τη φόρτωση του "a.MyClass.js" μου (το οποίο θα περιέχει ένα Ext.apply, παρακάμπτοντας τους πόρους συμβολοσειράς μου). Αυτό πιθανότατα δεν είναι διαθέσιμο στο πλαίσιο ExtJS αυτήν τη στιγμή.

Η εναλλακτική λύση που μπορώ να δω, είναι να κάνω ένα κόλπο από την πλευρά του διακομιστή. Πρώτον, θα δημιουργηθεί ένα cookie στον πελάτη, για να ρυθμιστεί στη γλώσσα. Από την πλευρά του διακομιστή, θα μπορούσα να πιάσω όλα τα αιτήματα για αρχεία JS, και στη συνέχεια, εάν έχει οριστεί ένα cookie (= 'fr' για παράδειγμα), θα συνδύαζα το ζητούμενο αρχείο JS (MyClass.js) με τον φίλο του i18n (MyClass .fr.js) δυναμικά στον διακομιστή και επιστρέψτε το αποτέλεσμα. Αυτό θα λειτουργούσε, αλλά είναι πραγματικά δύσκολο, διότι συνεπάγεται άλλα πράγματα (προσωρινή αποθήκευση ...).

Ίσως ο καλύτερος τρόπος είναι να εφαρμόσω μόνη μου την πρώτη συμπεριφορά που περιέγραψα στο πλαίσιο ExtJS ...

Τι νομίζετε ; Ψάχνω για έναν πολύ καθαρό και καθαρό τρόπο να το κάνω! Ευχαριστώ:)

5
задан TigrouMeow 24 August 2011 в 04:07
поделиться