2010-05-26 3 views
1

Je développe une application pour un système d'exploitation Windows CE. J'utilise .Net Compact Framework 3.5.Quelle est la méthode la plus rapide/la meilleure pour localiser une application .Net Compact Framework?

Je veux localiser mes textes de contrôle sur mon formulaire, et je cherche le moyen le plus rapide et compatible pour compacter le framework en utilisant C#.

S'il vous plaît me guider avec vos idées précieuses comment puis-je le faire?

+0

John, avez-vous une idée? –

Répondre

1

Cela dépend.

Habituellement, si vous placez simplement toutes vos "chaînes d'interface utilisateur" dans un fichier resources.resx, vous pouvez générer un resx différent pour chaque culture en-GB ou en-US ou fr-FR par exemple. Une vue d'ensemble approximative peut être trouvée here bien qu'il y ait probablement de meilleures ressources sur Google. Fondamentalement, la prémisse est que l'utilisateur va configurer l'appareil à sa propre culture (par exemple fr-FR pour le français), puis lorsque votre application charge s'il ya des fichiers .resx pour fr-FR, ceux-ci seront chargés à la place.

Quelques questions à prendre en compte:

  • Pour gérer ces chaînes efficacement, il est préférable de les envelopper tous dans une .dll de base. Cela signifie que vous devez modifier l'outil qui génère le code. Par défaut, il répertorie les ressources comme internes et vous avez besoin que celles-ci soient publiques à la place. Sinon, vous finissez avec un certain nombre de fichiers .resx partout dans le lieu qui est difficile à gérer.

  • C'est tout ou rien. Donc, si vous voulez que quelqu'un ait du texte en français quand ils définissent leur culture, cela modifiera tous les éléments relatifs à la culture, y compris la mise en forme et l'orientation de l'horloge

  • Vous ne pouvez PAS modifier la culture sur WinCE au moment de l'exécution. Donc, si vous avez une application qui doit changer de culture (comme je l'ai déjà fait avec une application de bus qui s'est déplacée entre l'Irlande et l'Irlande du Nord), utiliser .resx n'est pas bon et vous devez lancer votre propre système.

L'autre option consiste à lancer votre propre localisation.

Si vous allez fournir une localisation spécifique à une culture étendue, pensez à la mise en forme des dates, des devises et des comparaisons de texte. Lisez sur le Turkey test pour voir ce genre de choses que vous devez garder à l'esprit.

+0

Vous pouvez faire en sorte que votre application change de culture, vous ne pouvez pas réagir aux changements de locales (bien que ce ne soit pas totalement vrai). Par exemple, vous pouvez avoir un moyen dans l'application elle-même pour sélectionner la langue et changer le resx que vous tirez à partir de cette sélection. Un jour, je devrais bloguer les détails sur la façon dont je fais cela (et sans souder avec l'outil générateur de resx aussi!) – ctacke

Questions connexes