9
votes

Comment faire la localisation sur la demande Web?

Il y a plusieurs moyens de le faire, je peux définir tout l'élément de texte et charger la chaîne de localisation JSON à partir de JavaScript et utiliser quelques JavaScript pour remplacer le texte pour le faire ... aussi, je vérifie qu'il y a un autre façon de le faire aussi. Par exemple, certains utilisent la plate-forme dépendent le moyen de le faire. Par exemple, le J2EE a sa propre façon de la mettre en œuvre. En outre, je peux créer une page séparée pour chaque langue.

mais y a-t-il un moyen de faire la localisation est flexible ou suggéré? Merci.


0 commentaires

3 Réponses :


3
votes

Presque tous les cadres de développement Web décents ont une notion de "faisceaux de ressources" localisés. Vous vous assurez simplement que vous avez un ensemble de ressources pour chaque langue prise en charge par votre application, dans laquelle chacun d'entre eux utilise la même "clé" pour faire référence à une chaîne localisée. Il suffit d'utiliser l'installation fournie par le cadre / langue pour charger le texte du paquet en fonction de la "touche" et que vous devriez être prêt à partir.

En ce qui concerne la détection des locales, il y a de nouveau deux façons de le faire; Détection automatique, qui est un mécanisme assez courant utilisé par les applications Web et le mécanisme basé sur la sélection utilisant une combinaison de détection automatique avec une liste déroulante locale fournie à l'utilisateur.

Des étapes spécifiques seraient un langage / un cadre spécifique afin que vous puissiez mentionner le cadre que vous utilisez pour des réponses spécifiques.


0 commentaires

18
votes

Il me semble que ce que vous demandez réellement est: comment mettre en œuvre la localisation correctement? Ou comment programmer afin de faciliter la localisation d'une application.

C'est une question liée à l'internationalisation. Il y a plusieurs choses que vous devez garder à l'esprit afin de rendre votre application facile à localiser:

  • ne pas les cordes de code dur (que l'on est évidente)
  • N'introduisez pas les informations de coiffage du code cartable (N'utilisez pas de balises de formatage tels que , , , etc .; N'utilisez pas ce:

    succès! ). Cela empêchera les gars de la localisation de les modifier (c'est-à-dire retirer du texte en gras des traductions CJKV)

  • Évitez d'utiliser des messages composés (comme "la fonction [A, B, C] fait [A, B, C]"). Ils sont assez difficiles à traduire correctement. Si vous n'avez pas beaucoup de variables, cela ne vous fera pas mal d'ajouter quelques chaînes supplémentaires dans les ressources.
  • Ne concatéez pas de messages composés avec un opérateur de concaténate ou simplement en plaçant des chaînes côte à côte (c'est-à-dire que vous ne faites pas ceci: String Message = "Fonction" + fonction + "Est" + WhaitDoes; ou ceci: # {['quelque chose']} # {['Quelqu'un_link']} # {["quelque chose_else ']} ), utilisez Formatage à la place (c.-à-d. MessageFormat.Format ("Bonjour, {0}. Vous avez {1} nouveaux messages.", Nom, Mailcount); ). Cela ne permettra pas au traducteur de commander la peine de commander la phrase et il peut être nécessaire en raison des règles de la grammaire linguistique de la cible.
  • N'utilisez pas les espaces réservés bruts (comme% S% I% U) si vous avez plus d'un de ce genre dans une phrase (il est en fait préférable d'utiliser un espace réservé numéroté comme {0}, {1}, {1}. Encore une fois, parfois, les traducteurs doivent commander la phrase ...
  • N'utilisez pas de constructions de langue spécifiques à l'anglais (c'est-à-dire "" Dashboard de Paweł "où Paweł est un nom que j'ai fourni lors de l'enregistrement). Il n'y a aucun moyen de le traduire correctement à plusieurs langues

    Aussi, il y a des choses à faire:

    • Fournissez le mécanisme de remplacement de la feuille de style (afin que la localisation des gars de la localisation puisse modifier le style de l'élément)
    • Attribuez une carte d'identité unique pour chaque élément de la page HTML rendue (cela leur permettra de cibler le contrôle exact avec leur style remplacé)
    • Utilisez l'encodage UTF-8 où vous pouvez (évidemment des pages HTML, des courriers électroniques, le cas échéant, mais éventuellement des fichiers de ressources [i.e. Propriétés] également)

      Il y a beaucoup plus de choses qui ne sont pas liées à la localisation, telles que le flux de travail de la langue, le formatage et la validation des numéros, des devises, des dates (y compris la définition de fuseaux horaires appropriés) que vous auriez besoin de vous soucier d'une application correctement globalisée, mais c'est une histoire différente.


0 commentaires

1
votes

D'autre part, si vous demandez comment extraire des ressources translatisées, je dois venir avec une réponse totalement différente.

Je n'utiliserais pas la page par idée de langue. Cela pourrait être bon si vous avez quelques-là entre les pages Web statiques. Lorsque vous construisez une application Web dynamique, surtout s'il y a une chance de croissance rapide en termes de taille des contenus, cela vous tuera. Et vous ne pourrez pas ajouter de nouvelles langues de manière facile.

La localisation sur un côté client entraînera une application horriblement lente, ne faites pas cela. Les gens vont la détester.

Dernier point mais non le moindre: façon typique de mettre en œuvre (ce n'est pas le meilleur mot ici car il a de nombreuses autres significations) La localisation est de simplement extraire des chaînes à certains fichiers de ressources (c'est-à-dire de ressourcesBundle dans le monde de Java) et de les conserver dans un monde distinct. JAR (je suggérerais un pot par langue nommé conformément à l'identifiant local, c'est-à-dire le fichier Ja.jar, De.jar, FR-CA.JAR). Le fichier JAR doit également contenir un fichier CSS supplémentaire (dont le contenu serait utilisé pour remplacer certains styles). Tout ce que vous trouverez dans ma réponse précédente ...


0 commentaires