2017-01-01 56 views
0

我在POSIXy環境下使用libusb(特別是FreeBSD,但我希望是相當便攜的)。從語言環境映射到USB LANGID

我想使用libusb_get_string_descriptor從USB設備獲取一些字符串,但我不確定我應該爲langid使用什麼值。我知道http://www.usb.org/developers/docs/USB_LANGIDs.pdf的正式列表,但有沒有一種簡單的方法可以在例如setlocale(LC_MESSAGES, NULL)和LANGID在這PDF?

這是否是正確的方法?我看到的示例代碼看起來都是讀取第一個字符串而不用擔心語言選擇。

+0

POSIX不指定區域設置ID的格式。所以它不會是便攜式的。 (我見過使用不同區域標識符的各種系統) –

回答

0

我一直沒有找到像你所描述的任何映射,我不確定任何人都已經做出了,特別是因爲跨操作系統的語言名稱不是標準的。

在我的(固然有限的)經驗中,設備傾向於忽略langid,並且將始終爲給定索引返回相同的字符串。但是,我在美國,無法使用旨在支持多種語言的設備,因此這在全球範圍內可能並非如此。也就是說,每個USB設備(支持字符串描述符)都需要在字符串索引0處提供至少一個受支持的langid,因此您可以首先使用langid 0來獲取該字符串作爲默認值。