2015-10-04 1 views
3

J'ai une étrange exigence selon laquelle toutes mes données affichées dans l'application proviennent d'un serveur distant. Les données sont constituées de texte simple, de chiffres, de dates et de prix. Maintenant, si toutes ces données étaient statiques, la tâche était simple mais ici le problème est que les données sont dynamiques (provenant du serveur) et que l'application doit être localisée dans au moins 20 langues. Le plus grand défi consiste à convertir les valeurs de prix en devises sélectionnées par l'utilisateur sur les paramètres de son appareil à la course.Localisation d'une application iOS à l'aide des informations obtenues au moment de l'exécution

+0

Voici de l'aide étape par étape: http://www.raywenderlich.com/64401/internationalisation-tutorial-for-ios-2014 Et voici comment vous allez le faire selon apple https://developer.apple .com/internationalization/ – rptwsthi

+2

@rptwsthi Avez-vous même lu la question? L'approche que vous proposez suppose que vous connaissiez toutes vos chaînes à l'avance. Les chaînes d'OP proviennent d'un serveur. – mittmemo

+0

@mittmemo J'ai fait. Et je croyais qu'Il avait besoin de lire le contenu de ces liens avant de sauter en profondeur. Je n'ai pas posté de réponse C'était un commentaire. :) – rptwsthi

Répondre

4

Pour la conversion de devises, vous pouvez utiliser l'API Yahoo. Des exemples peuvent être vus dans this StackOverflow question.

http://finance.yahoo.com/currency-converter/#from=USD;to=EUR;amt=1

Ce format url pourrait être utilisé pour récupérer les taux de conversion dans des formats différents.

http://download.finance.yahoo.com/d/quotes.csv?s=AUDUSD=X&f=nl1d1t1

de remplacement quotes.csv avec le format et les paramètres appropriés avec les codes nécessaires

En ce qui concerne la localisation de votre texte en provenance du serveur, qui est un problème beaucoup plus difficile. Je pense qu'il serait très difficile de traduire cela "à la volée". La solution correcte consiste à inclure la langue dans la requête et à renvoyer le texte dans la langue demandée.

Je suppose qu'une autre approche que vous pourriez adopter (ce qui peut ne pas être réalisable en fonction du nombre de chaînes différentes avec lesquelles vous traitez) est l'énumération de toutes les chaînes possibles renvoyées par le serveur. Ensuite, prenez l'approche plus traditionnelle d'avoir ces chaînes traduites et incluses dans votre application.