question

Conky77-6169 avatar image
0 Votes"
Conky77-6169 asked ·

assignement a new LCID for the Venetian language (ISO 639-3 code: VEC)

I'm interested in translating some freeware software in my own language Venetian (https://en.wikipedia.org/wiki/Venetian_language). Some of them don't support the ISO 639-3, VEC, and they need an LCID code (Windows Language Code Identifier). Where to ask for the assignment?

not-supported
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

shawnste avatar image
4 Votes"
shawnste answered ·

Short answer is "Use language tags" like the BCP-47 style en-US or vec-IT.

LCIDs are a fairly broken concept that started being deprecated with Windows Vista. One of the biggest problems is that there are over 6000 languages and hundreds of regions. Yet
https://docs.microsoft.com/en-us/windows/win32/api/winnt/nf-winnt-makelangid shows that only 1-0x1FF are really available for primary languages, so 511 languages. And only 1-0x1F for sublanguages, so 31 variations of a languages. CLDR has more than 31 variations of English, for one (en-US, en-GB, etc.) Unfortunately, that means that LCIDs don’t scale.

For those reasons, all new locales get an LCID of 0x1000 (LOCALE_CUSTOM_UNSPECIFIED). If the user happens to have that as their default locale, that will become 0xc00 (LOCALE_CUSTOM_DEFAULT). If it’s otherwise in their language profile, it could get a dynamically assigned LCID such as 0x2000 or 0x2400.

Because of these limitations, use of LCIDs is strongly discouraged, and we’d hope that new applications would use the locale name instead (eg: en-US). All of the NLS APIs that take LCIDs have name-based variants as of Windows Vista. In the event that isn’t possible, locales may use the LCID of 0x1000. That is what the locale builder would use for a custom locale for Venetian.

Nominally, some bits of the LCID are reserved for “user-defined languages” as in the link above, however it’s unclear to me how useful that would be in this case. Such “user defined” lcids are typically only consumed within an application and not shared with the system.

LCIDs have not been assigned for some time. Over half of the locales shipped currently in Windows, many from CLDR, are these “no-LCID” locales and use the 0x1000 LOCALE_CUSTOM_UNSPECIFIED LCID. Applications interested in broad locale support should consider moving to the BCP-47 style locale names and away from LCIDs.

Additionally, in Windows 10, we also support “constructed” locales where Windows recognizes millions of valid BCP-47 tags even if they aren’t backed by in-box data. If asked for data for those locales, then Windows will attempt to fill in data as best as it can.

· Share
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

Conky77-6169 avatar image
0 Votes"
Conky77-6169 answered ·

I would like to translate in Venetian the project NSIS
https://en.wikipedia.org/wiki/Nullsoft_Scriptable_Install_System
I Don't know if a setup program can manage it with only a BCP-47 code.
I also opened the discussion in the NSIS's forum http://forums.winamp.com/showthread.php?p=3196246&posted=1#post3196246

· Share
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.