Fermer

mai 31, 2019

Localisation et globalisation dans les applications Xamarin Mobile


  1. Formats numériques, date et heure
        
  2. Utilisation de la monnaie
        
  3. Utilisation du clavier
        
  4. Collation et tri
        
  5. Symboles, icônes et couleurs
        
  6. Texte et graphiques contenant des références à des objets, actions ou idées qui, dans une culture donnée, peuvent être mal interprétés ou considérés comme insensibles.
        
  7. Exigences légales variées

Cette liste n'est qu'un début – la localisation peut également s'appliquer à bien d'autres choses

En quoi cela concerne-t-il le développement d'applications?

Lorsqu'il s'agit de l'interface utilisateur d'une application , ces termes se résument à l’application de chaînes correctes et de divers formats en fonction des paramètres de langue de l’appareil concerné. Cette tâche semble simple et directe, mais son exécution peut s'avérer difficile, notamment dans les cas où des composants d'interface utilisateur tiers sont utilisés.

Nous comprenons cela et, par conséquent, l'interface utilisateur de Telerik pour Xamarin constitue un mécanisme simple à utiliser qui permet de modifier les chaînes prédéfinies dans nos composants. Vous trouverez des exemples de telles chaînes dans plusieurs de nos contrôles, y compris RadDataGrid, Interface utilisateur Radalendar & Scheduling, RadAutoCompleteView, RadNumerInput et plus.

Il est à noter que tous les composants ne profitent pas simplement de ce mécanisme. car il n'y a pas de chaînes prédéfinies dans chacune d'elles. Pour ceux qui ont besoin de chaînes prédéfinies, le TelerikLocalizationManager est utilisé pour résoudre les caractères exacts à afficher. En interne, ces composants fonctionnent avec des clés au lieu de valeurs de chaîne spécifiques. Au moment de l'exécution, le gestionnaire de localisation doit résoudre ces clés en chaînes concrètes.

Qu'est-ce que TelerikLocalizationManager?

Il s'agit d'une classe qui utilise l'une des deux approches disponibles pour mapper les clés prédéfinies de tous les composants de l'interface utilisateur Telerik pour la suite Xamarin avec les chaînes exactes à visualiser.

La première méthode nécessite l'extension du gestionnaire par défaut en remplaçant une seule fonction qui effectue le mappage proprement dit. Il renvoie une chaîne pour une clé donnée (une paire clé-valeur). Voici un exemple:

public class CustomTelerikLocalizationManager: TelerikLocalizationManager

{

public override string GetString [ clé)

{

si (clé == "Et" )

{

retour "И" ;

}

if (clé == "Ou" )

{

return "Или ";

}

if (clé == "ResetText" )

{

return "Изчисти ";

}

if (clé == "FilterText" )

{

return "Филтрираа" ";

}

if (clé == "FilterUISectionText" )

{

return "Филтрирава" по: ";

}

return base .GetString (clé);

}

}

Une fois le mappage terminé, une instance du gestionnaire de localisation personnalisée doit être affectée à la propriété statique TelerikLocalizationManager.Manager avant que l'interface utilisateur ne soit initialisée et restituée. . Dans une application XamarinForms, un bon endroit pour cela est juste avant la fonction InitializeComponent () d'une page.

public MainPage ()

{

TelerikLocalizationManager.Manager = new CustomTelerikLocalizationManager ();

this .InitializeComponent ();

}

Toutefois, si votre application initialise des ressources à un stade antérieur, vous devez également envisager d'instancier le gestionnaire étendu.

Utilisation de TelerikLocalizationManager pour localiser une application Xamarin.Forms

Après l'application du gestionnaire de localisation personnalisé, les chaînes visualisées changent comme suit:

 RadDataGrid Bulgarian FilteringUI "title =" RadDataGrid Bulgarian FilteringUI "/> [19659015] Si vous envisagez de traduire une application, vous devrez probablement la traduire dans de nombreuses langues, en créant plusieurs responsables de localisation personnalisés (un pour chaque langue prise en charge). Voici une façon de le faire:</p data-recalc-dims=

public partiel classe MainPage: ContentPage

{

public MainPage ( )

{

ILocalizationManager manager = null ;

if (CultureInfo.CurrentUICulture.Name == "bg-BG " )

{

manager = new CustomTelerikLocalizationManager ();

}

autre si [19659017)] (CultureInfo.CurrentUICulture.Name == "fr-FR" )

{

// nouvelle place votre manager français

}

] else if (CultureInfo.CurrentUICulture.Name == "de-DE" )

{

// nouveau votre Gestionnaire allemand

}

...

TelerikLocalizationManager.Manager = gestionnaire;

InitializeComponent ();

... [19659019] } [19659019]}

Localisation de l'application Xamarin avec des ressources

D'autre part, la deuxième approche disponible pour fournir des paires clé-valeur élimine la nécessité de choisir entre plusieurs gestionnaires. Il utilise les fichiers bien connus .resx . Vous devez simplement en créer un (ou plusieurs), les mettre à jour pour correspondre à une convention et les intégrer à votre application. En raison de la convention, TelerikLocalizationManager sélectionne et lit automatiquement le fichier approprié en fonction des paramètres de langue du périphérique.

À propos de la création de tels fichiers, voici les étapes à suivre pour le faire. Généralement, Visual Studio fournit un modèle d’élément pratique pour les fichiers .resx . Vous pouvez l'utiliser en cliquant avec le bouton droit de la souris sur le projet portable et en sélectionnant Ajouter> Nouvel élément… dans la boîte de dialogue récemment ouverte, accédez à Eléments de Visual C #> Général> Fichier de ressources .

 Modèle d'élément ResourcesFile "title =" Modèle d'élément ResourcesFile "/></p data-recalc-dims=

Cependant, en tant que développeur mobile, il est courant de n'installer que le" développement mobile avec .NET ". charge de travail lors de l’installation de Visual Studio, qui contient tout ce dont vous avez besoin pour démarrer avec XamarinForms, mais malheureusement, par défaut, cette charge de travail ne fournit pas le modèle d’élément de fichier de ressources. Vous devrez en installer un autre pour pouvoir l’obtenir. par ouvrant le Visual Studio Installer allant dans et en suivant> Modifier sous Workloads vérifiant « .NET desktop development ] ”Et en appuyant sur Modifier .

 Programme d'installation de Visual Studio" title = "Programme d'installation de Visual Studio" /></p data-recalc-dims=

 Programme d'installation de Visual Studio "title =" Programme d'installation de Visual Studio "/></p data-recalc-dims=

 Programme d'installation Visual Studio "title =" Programme d'installation Visual Studio "/> [1 9659189] Laissez l'installateur faire son travail et vous pourrez ensuite créer un fichier <strong data-recalc-dims= .resx à partir de la boîte de dialogue Ajouter un nouvel élément . Visual Studio fournit également un éditeur pratique pour ces fichiers. Dans l'éditeur, les paires clé-valeur peuvent facilement être fournies sous forme de tableau. Cela facilite la lecture, l’ajout et la modification des entrées.

 Éditeur de fichier de ressources "title =" Éditeur de fichier de ressources "/></p data-recalc-dims=

Une fois le fichier de ressources prêt, il est temps de respecter la convention susmentionnée. Deux aspects doivent être couverts.

le nom du fichier. Il devrait être structuré comme ceci [filename]. [culture] .resx . Dans cette démonstration, le fichier est nommé « CustomizedResources.bg.resx ». Si besoin est, traduire l'application en allemand, le fichier contenant les paires clé-valeur allemandes serait nommé « CustomizedResources.de.resx ».

Le deuxième aspect consiste à fournir également un fichier de ressources pour la culture neutre. Ceci est réalisé en créant un .resx vide qui ne spécifie aucune culture dans son nom. Dans cet exemple, il devrait être nommé « CustomizedResources.resx ». Ce fichier n'est pas obligatoire. pour fournir toutes les paires clé-valeur puisque le laisser vide, aucune des chaînes par défaut ne sera remplacée et les contrôles vont visualiser leur représentation par défaut des chaînes.

La dernière étape consiste à fournir un nouveau gestionnaire de ressources au paramètre par défaut TelerikLocalizationManager . Ceci doit être effectué une nouvelle fois avant que les contrôles ne soient visualisés.

espace de noms LocalizatonGlobalization

{

public partiel classe MainPage: ContentPage

{

public . MainPage ()

{

string resourceId = "LocalizatonGlobalization.CustomizedResources" ;

TelerikLocalizationManager.Manager.ResourceManager = new System.Resources.ResourceManager (resourceId, typeof (MainPage) .GetTypeInfo (). Assembly);

InitializeComponent ();

}

}

}

Veuillez noter comment la variable resourceId est construite. Il inclut le nom de l'espace de nom qualifié complet et le nom du fichier sans l'extension spécifique à la culture du fichier de ressources. Cela permet au ResourceManager de choisir et d'utiliser le fichier de ressources correct.

Où puis-je trouver les clés utilisées par les composants?

Quelle que soit l'approche choisie, vous aurez besoin de connaître les clés exactes utilisées en interne par les composants. Dans notre référentiel de xamarin-forms-sdk vous trouverez le fichier DefaultResources.resx . Il contient toutes les clés utilisées par tous les composants, ainsi que les valeurs de chaîne par défaut.

Il s'agit essentiellement du type et du volume du fichier de ressources requis pour traduire tous les composants de la suite Telerik UI for Xamarin.

Conclusion

Si vous êtes pressé et recherchez un moyen rapide et facile de traduire votre application, vous trouverez peut-être utile de créer un ResourcesManager personnalisé et un certain . fichiers resx . Toutefois, si vous souhaitez davantage de contrôle sur le processus de traduction, vous aimerez peut-être étendre la valeur par défaut TelerikLocalizationManager et prendre le contrôle en code.

Merci de m'avoir lu et j'espère que la mondialisation et la localisation seront un peu plus claires et utiles pour vos projets.




Source link