[Locale] MS-LCID's table from MSDN site and Copyrights

Hello, I need a table for conversion of Windows LCIDs to ISO-639 Language and ISO-3199 Country codes and back. I need this for creation Win32 API based backend for Boost.Locale and ability to convert locale names like en_US to LCID 0x0409. Such table can be found here (link to PDF of this page): <http://msdn.microsoft.com/en-us/library/cc233965.aspx> It contains all I need. Now I want to insert such table to the cpp file and include it to the Boost.Locale library. I've read the Copyright notice on this page but I don't clearly understand: - Can I do this? It seems that this notice allow to copy the data but not sure. - Can I release a file that includes such table under Boost License? I need some advice from people who had already deal with such documents or stuff like this or know to read "lowers language" a little bit better and point me to specific line that would make it clear for me. Thank you Artyom P.S.: I can create a workaround based on iterating over all installed LCID's in runtime and querying their ISO-639 and ISO-3199 codes using GetLocaleInfo first time I need to use such table, but integrating static table would be much simpler and faster solution.

Artyom wrote:
I need a table for conversion of Windows LCIDs to ISO-639 Language and ISO-3199 Country codes and back. I need this for creation Win32 API based backend for Boost.Locale and ability to convert locale names like en_US to LCID 0x0409.
Such table can be found here (link to PDF of this page):
<http://msdn.microsoft.com/en-us/library/cc233965.aspx>
It contains all I need. Now I want to insert such table to the cpp file and include it to the Boost.Locale library.
I've read the Copyright notice on this page but I don't clearly understand:
- Can I do this? It seems that this notice allow to copy the data but not sure. - Can I release a file that includes such table under Boost License?
IANAL, but the copyright notice seems quite clear: This documentation is covered by Microsoft copyrights. Regardless of any other terms that are contained in the terms of use for the Microsoft website that hosts this documentation, you may make copies of it in order to develop implementations of the technologies described in the Open Specifications and may distribute portions of it in your implementations using these technologies or your documentation as necessary to properly document the implementation. You may also distribute in your implementation, with or without modification, any schema, IDL's, or code samples that are included in the documentation. This permission also applies to any documents that are referenced in the Open Specifications. 1. The copyright claim is for the documentation itself. 2. It specifically permits making copies to develop implementations of the technologies. 3. It specifically allows distribution of implementations using the technologies or your copies of the documentation. 4. It permits distributing, in your implementation, the schema, IDLs, and code samples in the documentation. I cannot find anything ambiguous relative to your use: it is permitted. Don't take my assertion as legal advice, of course, but I cannot think there's any other way to take that copyright notice: Microsoft wants you to make use of the data. _____ Rob Stewart robert.stewart@sig.com Software Engineer, Core Software using std::disclaimer; Susquehanna International Group, LLP http://www.sig.com IMPORTANT: The information contained in this email and/or its attachments is confidential. If you are not the intended recipient, please notify the sender immediately by reply and immediately delete this message and all its attachments. Any review, use, reproduction, disclosure or dissemination of this message or any attachment by an unintended recipient is strictly prohibited. Neither this message nor any attachment is intended as or should be construed as an offer, solicitation or recommendation to buy or sell any security or other financial instrument. Neither the sender, his or her employer nor any of their respective affiliates makes any warranties as to the completeness or accuracy of any of the information contained herein or that this message or any of its attachments is free of viruses.

On Sep 2, 2010, at 12:15 AM, Artyom wrote:
P.S.: I can create a workaround based on iterating over all installed LCID's in runtime and querying their ISO-639 and ISO-3199 codes using GetLocaleInfo first time I need to use such table, but integrating static table would be much simpler and faster solution.
I would favor this approach (querying at run time for the table), since it avoids maintenance concerns. I know this table won't change often, but surely in the next ten years we can expect a few new countries to show up and old ones to go away. (Wherever you go, there seems to be no shortage of people who think they can rule better than the current government.) Why build into your software the need to keep updating the translation table? Also, keep in mind that when the country list changes, Microsoft will likely update the Windows-internal list (via Windows Update) faster than they will update their documentation.

P.S.: I can create a workaround based on iterating over all installed LCID's in runtime and querying their ISO-639 and ISO-3199 codes using GetLocaleInfo first time I need to use such table, but integrating static table would be much simpler and faster solution.
I would favor this approach (querying at run time for the table), since it avoids maintenance concerns. I know this table won't change often, but surely in the next ten years we can expect a few new countries to show up and old ones to go away.
Several points: 1. Most of assigned LCIDs are not even supported 2. MS recommends to to use Locale names over LCIDs in Windows Vista and above so, actually LCID required for 2000 and XP or software compatible with them. (Actually I don't use Vista/7 API as I don't have Vista available, only XP in VirtualBox, but at some point Vista would be implemented) 3. I can get country and language code but not the script like (Latin, Cyrillic) for LCID (at least I hadn't found anything like that in GetLocaleInfo) So I don't know yet how to solve the ambiguity between such LCIDs Artyom
participants (3)
-
Artyom
-
Ian Emmons
-
Stewart, Robert