74 votes

Chinois simplifié et traditionnel vs régions

Dans le processus de mise en œuvre de chinois traditionnel et simplifié de soutien dans mon application Android et j'ai confondu sur la façon dont cela est censé fonctionner.

Donc, à partir de la lecture de la documentation ainsi que certains débats comme cela et ce que j'ai mis en chinois simplifié

  • valeurs-zh
  • valeurs-zh-mrc
  • valeurs-zh-rSG

chinois traditionnel et le chinois dans

  • valeurs-zh-rTW
  • valeurs-zh-rHK

Que tous fonctionne bien mais de toute façon ne fait pas de sens pour moi (désolé si je ne comprends pas assez sur le chinois simplifié vs usage traditionnel).

À partir de ce que je comprends de la vérification de la configuration des paramètres régionaux de dialogue dans l'émulateur ainsi que sur un téléphone enracinée un utilisateur peut modifier les paramètres régionaux Chinois Simplifié ou Chinois Traditionnel.

Maintenant, voici la question. Comment fait-on pour savoir où obtenir les chinois simplifié ou traditionnel strings.xml. Est-il une sorte d'hypothèse cuit dans qui dit que si je suis censé afficher chinois simplifié l'obtenir à partir de valeurs-zh et obtenir traditionnels de valeurs-zh-rTW?

Mais que faire si un utilisateur est situé à hong kong et régler son appareil pour afficher les chinois simplifié? Ou si un émigrant ailleurs dans le monde met son appareil traditionnelle chinoise, mais sa région, par exemple, NOUS ou CA?

Que dois-je faire pour permettre à mes utilisateurs de définir leurs paramètres régionaux et de mon application ne semble la bonne langue?

Mise à jour:

De la suite de l'enquête, je crois qu'un téléphone Android, l'utilisateur ne peut pas définir le pays séparément de la langue. Ils ne peuvent définir ce qui est appelé les paramètres régionaux de l'INTERFACE utilisateur. Il se compose de la langue et du pays, mais la liste est limitée nombreuses combinaisons ne sont pas possibles.

E. g. un Chinois vivant aux états-unis qui souhaite utiliser le Chinois Traditionnel pourrait définir la langue pour le chinois traditionnel (au moins sur un téléphone enracinée) et aurait alors un lieu de zh-rTW. Il ne pouvait en aucune façon mis son pays séparément à NOUS. De manière similaire, toute sorte de émigrant peut pas leur langue maternelle avec le pays où ils vivent actuellement dans..

Fondamentalement, cela signifie que seulement un tas de combinaisons de langue et de pays sont pris en charge. Maintenant, les questions est de savoir comment trouver quels qu'ils soient?

59voto

Manfred Moser Points 13454

Donc, je pense qu'après une enquête plus approfondie et avec les Marques de la réponse, je vais répondre moi-même. Voici passe:

Hors de la boîte Android seulement a les deux endroits zh_rCN, qui est le chinois simplifié et le zh_rTW, qui est traditionnelle chinoise. Comme vous pouvez le voir à partir de l'application Paramètres, ce sont les seuls fourni de paramètres régionaux:

http://android.git.kernel.org/?p=platform/packages/apps/Settings.git;a=arbre;f=res;

Cependant, toute autre créateur d'un système Android, par exemple pour un téléphone vendu en Chine ou alors de changer ce qu'ils y ajoutent. L'ensemble de la théoriquement pris en charge peut être trouvé en regardant la liste des paramètres régionaux trouvé dans les icu4c app:

http://android.git.kernel.org/?p=platform/external/icu4c.git;a=arbre;f=données/paramètres régionaux

Comme vous pouvez le voir pour le Chinois, il y a

  • zh.txt
  • zh_CN.txt
  • zh_HK.txt
  • zh_Hans.txt
  • zh_Hans_CN.txt
  • zh_Hans_HK.txt
  • zh_Hans_MO.txt
  • zh_Hans_SG.txt
  • zh_Hant.txt
  • zh_Hant_HK.txt
  • zh_Hant_MO.txt
  • zh_Hant_TW.txt
  • zh_MO.txt
  • zh_SG.txt
  • zh_TW.txt

Hant est le code ISO de la traditionnelle et Hans pour le chinois simplifié. Donc, théoriquement, cela voudrait dire qu'on pourrait avoir

  • chinois simplifié en Chine, Hong kong, Macao et Singapour
  • traditionnelle chinoise de HongKong, de Macao et de Taiwan

Cependant, gardez à l'esprit que les Paramètres de l'application devra être modifié pour que les différentes sélections de paramètres régionaux. Donc, à ce stade, chinois simplifié se traduit par zh_rCN et traditionnelles zh_rTW et vous devriez être à part pour les utilisateurs qui ont une version modifiée d'Android image qui prend en charge d'autres lieux.

En tout cas, pour être sur le enregistrer côté, vous pouvez utiliser la Configuration de classe pour obtenir les paramètres régionaux par exemple, dans une Application de classe avec getResources().getConfiguration().paramètres régionaux.

Vous pourriez par exemple journal et envoyer les données à votre système de suivi (tout ce que vous utilisez) ou vous pouvez vérifier les prises en charge et de lever une exception avec les paramètres régionaux dans le message et ensuite dans votre marché de l'interface... il signifierait cependant un minimum d'un crash de votre application (si vous êtes sur le ballon, vous pouvez publier et de mettre à jour quelques minutes plus tard ..)

Bref .. le minimum de configuration serait la mise en miroir de ce qui se fait dans les paramètres de l'application (seulement zh-de la mrc et de zh-rTW), mais si vous souhaitez fournir aux paramètres régionaux par défaut pour Singapour, Hong-kong, Macao, la fourniture de chinois traditionnel par défaut, vous pouvez le faire aussi et cela devrait fonctionner. J'ai cependant aucune preuve qu'une telle configuration est utilisé n'importe où..

Espérons que cela aide.

25voto

CommonsWare Points 402670

S'il vous plaît garder à l'esprit que Android lui-même prend uniquement en charge les

  • values-zh
  • values-zh-rCN
  • values-zh-rTW

selon la documentation.

Avec cela à l'esprit, et en gardant à l'esprit que ma connaissance du Chinois est proche de zéro:

Comment fait-on pour savoir où obtenir les chinois simplifié ou traditionnel strings.xml

Si votre structure est correcte, simplifié, vraisemblablement, des cartes d' values-zh-rCN et des cartes traditionnelles d' values-zh-rTW. Pour moi, cela se sent à l'envers, mais, encore une fois, j'ai peu de connaissances en Chinois.

Est-il une sorte d'hypothèse cuit dans qui dit que si je suis censé afficher chinois simplifié l'obtenir à partir de valeurs-zh et obtenir traditionnels de valeurs-zh-rTW?

Je voudrais phrase plus que les étiquettes compte tenu de ces langues dans l'application des Paramètres de la carte à certaines régions spécifiques.

Mais que faire si un utilisateur est situé à hong kong et régler son appareil pour afficher les chinois simplifié?

Ils obtiennent des Chinois simplifié, je l'espère. Il n'y a pas de région HK en standard d'Android.

Ou si un émigrant ailleurs dans le monde met son appareil traditionnelle chinoise, mais sa région, par exemple, NOUS ou CA?

Je ne suis pas au courant que ce serait une option dans un appareil Android. Êtes-vous au courant de tous les appareils qui offrent un NOUS Chinois option au lieu de ou en plus de l'anglais AMÉRICAIN?

De la suite de l'enquête, je crois qu'un téléphone Android, l'utilisateur ne peut pas définir le pays séparément de la langue.

Correct.

Maintenant, les questions est de savoir comment trouver quels qu'ils soient?

Ce serait dans la documentation, pour Android standard. Divers dispositifs ou Rom peut proposer d'autres langue/région combinaisons. Pour l'enregistrement, vous pouvez utiliser l' Configuration objet à trouver retenus par l'utilisateur Locale. Si vous trouvez que vos utilisateurs à l'aide de la langue/de la région de combinaisons au-delà de ceux que vous avez configuré, vous pouvez décider si ou de ne pas les soutenir.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X