【问题标题】:Mapping from locale to USB LANGID从语言环境映射到 USB LANGID
【发布时间】:2017-01-01 22:04:46
【问题描述】:

我在 POSIXy 环境中使用 libusb(特别是 FreeBSD,但我希望相当可移植)。

我想使用 libusb_get_string_descriptor 从 USB 设备获取一些字符串,但我不确定应该为 langid 使用什么值。我知道来自https://web.archive.org/web/20180829193331/http://www.usb.org/developers/docs/USB_LANGIDs.pdf/ 的官方列表,但是有没有一种简单的方法可以在例如结果之间进行映射setlocale(LC_MESSAGES, NULL) 和此 PDF 中的 LANGID?

这甚至是正确的方法吗?我见过的示例代码似乎都可以获取第一个字符串,而不用担心语言选择。

【问题讨论】:

  • POSIX 没有指定语言环境 ID 的格式。所以它不会是便携式的。 (我见过使用不同语言环境标识符的各种系统)

标签: internationalization usb locale libusb setlocale


【解决方案1】:

我无法找到您所描述的任何映射,我不确定是否有人制作过,特别是因为语言名称不是跨操作系统的标准。

在我(诚然有限)的经验中,设备往往会忽略 langid,并且总是会为给定的索引返回相同的字符串。但是,我在美国,无法使用专为支持多种语言而设计的设备,因此在全球范围内可能并非如此。

也就是说,每个 USB 设备(完全支持字符串描述符)都需要在字符串索引零上提供至少一个受支持的 langid,因此您可以首先抓住它(使用 langid 0)作为默认值。

【讨论】:

    猜你喜欢
    • 2010-10-19
    • 1970-01-01
    • 1970-01-01
    • 2018-08-11
    • 2014-03-09
    • 1970-01-01
    • 2019-06-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多