0

Our program uses the ISO 639x code to name the language files easily.

However, in https://docwiki.embarcadero.com/RADStudio/Alexandria/en/Language_Culture_Names,_Codes,_and_ISO_Values, the code for Dutch - The Netherlands is empty. How to find the correct code?

THanks

Update

I finally create a new project in Delphi XE3, then select "Language" and try to add a new language, the following box will show all the code for all languages, including Dutch Netherlands:

enter image description here

alancc
  • 487
  • 2
  • 24
  • 68

2 Answers2

2

According to Wikipedia the ISO 639-x codes for Dutch, Flemish (is that the one you're looking for?) are:

639-1 639-2/T 639-2/B 639-3
nl nld dut nld

Flemish is not to be confused with the closely related West Flemish which is referred to as Vlaams (Dutch for "Flemish") in ISO 639-3 and has the ISO 639-3 code vls

AmigoJack
  • 5,234
  • 1
  • 15
  • 31
HeartWare
  • 7,464
  • 2
  • 26
  • 30
  • But according to the linked embarcadero page there is a code for Dutch-Belgium : NLB but that doesn't exist in the wiki page. This is strange. – Pieter B Aug 10 '23 at 09:16
  • I suppose that list is [just a remix from Microsoft](https://learn.microsoft.com/en-us/previous-versions/commerce-server/ee825488(v=cs.20)) and `NLB` is no official ISO 639 value, because 1.) it's in uppercase (languages are always in lowercase) and 2.) it is[n't listed as change to the list](https://www.loc.gov/standards/iso639-2/php/code_changes.php) ever. – AmigoJack Aug 10 '23 at 12:11
0

I finally find out the value, it is LOCALE_SABBREVLANGNAME. Based on https://learn.microsoft.com/en-us/windows/win32/intl/locale-sabbrev-constants, it is:

Abbreviated name of the language. In most cases, the name is created by taking the two-letter language abbreviation from ISO Standard 639 and adding a third letter, as appropriate, to indicate the sublanguage. For example, the abbreviated name for the language corresponding to the English (United States) locale is ENU.

// $0413 is the locale ID for Dutch
TmpStr := GetLocaleStr($0413, LOCALE_SABBREVLANGNAME, '');  // return 'NLD'
alancc
  • 487
  • 2
  • 24
  • 68