2008-10-10 8 views
1

Nous avons récemment terminé la phase 1 d'un site Web ASP.Net en anglais et en français. Nous avons utilisé des fichiers de ressources pour stocker des chaînes spécifiques au langage, mais comme le site utilisait ASP.Net AJAX et javascript, nous avons truqué une solution pour transmettre les bons fichiers via le pipeline ASP.Net où nous pouvions récupérer des "jetons" et les remplacer avec le texte approprié tiré des fichiers de ressources.ASP.Net: Approches de sites Web multilingues avec JavaScript et AJAX

C'est le deuxième projet auquel j'ai participé et qui comportait ce genre de défis: le premier stockait les chaînes de texte dans une base de données, et au lieu d'ASP.Net AJAX, il utilisait les outils AJAX fournis avec Protégez la bibliothèque et mettez tout Javascript dans les fichiers aspx afin que les jetons puissent être remplacés à la sortie.

Ce que je me demande, c'est si quelqu'un d'autre a rencontré un scénario similaire? Quelle approche avez-vous prise? Quelles leçons ont été apprises? Comment avez-vous géré des choses comme les formats de date internationalisés?

Répondre

1

Dans mon projet principal (un framework RAD utilisant PHP avec gettext pour les traductions) nous faisons déjà beaucoup d'opérations de préparation sur les fichiers javascript comme les fusionner et les réduire. Dans le cadre de cette préparation, nous analysons les marqueurs gettext et les remplaçons par le texte spécifique à la langue.

Le résultat obtenir enregistrer en tant que fichier javascript et normal inclus dans le code HTML.

<script scr="var/scripts/en_GB-76909c49e9222ec2bb2f45e0a3c8baef80deb665.js"></script> 

Le nom de fichier contient Locale et une valeur de hachage pour la mise en cache.

Les valeurs de date et d'argent sont toujours converties du format système au format Locale en sortie et vice versa pour la saisie.

0

Pour faire face à il8n dans nos applications, nous créons dynamiquement un fichier JavaScript (basé sur les paramètres régionaux qui nous intéressent), qui contient des clés et des traductions, par ex.

LOCALISATIONS = { 
    'util.date.day.long': ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'], 
    'util.date.day.short': ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'], 
    ... 
}; 

et autre code JavaScript utilisera cet objet pour obtenir le texte traduit.

Questions connexes