2017-01-01 6 views
0

J'utilise libusb dans un environnement POSIXy (plus précisément FreeBSD mais j'espère être assez portable).Mappage de paramètres régionaux vers USB LANGID

Je veux aller chercher des chaînes à partir d'un périphérique USB en utilisant libusb_get_string_descriptor mais je ne suis pas sûr de la valeur que je devrais utiliser pour langid. Je suis au courant de la liste officielle de http://www.usb.org/developers/docs/USB_LANGIDs.pdf, mais y a-t-il un moyen facile de mapper entre le résultat de p. setlocale(LC_MESSAGES, NULL) et les LANGID dans ce PDF?

Est-ce la bonne approche? Exemple de code que j'ai vu apparaître à tous chercher la première chaîne sans se soucier de la sélection de la langue.

+0

POSIX ne spécifie pas le format de l'ID de paramètres régionaux. Donc, ce ne sera pas portable. (J'ai vu divers systèmes utilisant des identifiants de paramètres régionaux différents) –

Répondre

0

Je n'ai pas trouvé de mappage comme vous l'avez décrit, et je ne suis pas sûr que quelqu'un en ait fait un, en particulier parce que les noms de langue ne sont pas standard sur les systèmes d'exploitation. Dans mon expérience (certes limitée), les périphériques ont tendance à ignorer le langid et retourneront toujours la même chaîne pour un index donné. Cependant, je suis aux États-Unis et je n'ai pas accès à un équipement conçu pour prendre en charge plusieurs langues, ce qui n'est peut-être pas le cas partout dans le monde. Cela dit, chaque périphérique USB (prenant en charge les descripteurs de chaîne) doit fournir au moins un langid pris en charge sur l'index de chaîne zéro, ce qui vous permet de l'utiliser, en premier (avec langid 0), à utiliser par défaut. .