@@Internationalisation.KeyboardInput
<GROUP Internationalisation>
<TITLE Keyboard Input>
<TOPICORDER 100>
--------------------------------------------------------------------------------
@@Internationalisation.NationalLanguageSupport
<GROUP Internationalisation>
<TITLE National Language Support>
<TOPICORDER 200>
--------------------------------------------------------------------------------
@@TJclLocaleInfo
<GROUP Internationalisation.NationalLanguageSupport>
Summary:
  TJclLocaleInfo represents an installed or supported locale.
Description:
  TJclLocaleInfo represents an installed or supported locale. You can use it to
  easily access information about the locale.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.Create
Summary:
  Creates an instance of TJclLocaleInfo for a specific locale.
Description:
  Creates and initializes an instance of the TJclLocaleInfo class. You normally don't
  explicitly create such an instance but instead retrieve them using the TJclLocalesList.
Parameters:
  ALocaleID - The locale which the instance will represent.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.CharInfo
Summary:
  Retrieves character typed locale information.
Description:
  The CharInfo property lets you read character typed locale information directly.
  The InfoType is an Integer which specifies the locale information type which you
  want to retrieve. You can specify any LOCALE_* information types as documented
  in the Platform SDK documentation on GetLocaleInfo. Note that if the locale
  information type requested is string based, only the first character of the
  string is returned. This property should only be used for those information types
  that are not directly supported by this class through its properties.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.IntegerInfo
Summary:
  Retrieves Integer typed locale information.
Description:
  The IntegerInfo property lets you read Integer typed locale information directly.
  The InfoType is an Integer which specifies the locale information type which you
  want to retrieve. You can specify any LOCALE_* information types as documented
  in the Platform SDK documentation on GetLocaleInfo. This property should only be
  used for those information types that are not directly supported by this class
  through its properties.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.StringInfo
Summary:
  Retrieves string typed locale information.
Description:
  The StringInfo property lets you read string typed locale information directly.
  The InfoType is an Integer which specifies the locale information type which you
  want to retrieve. You can specify any LOCALE_* information types as documented
  in the Platform SDK documentation on GetLocaleInfo. This property should only be
  used for those information types that are not directly supported by this class
  through its properties.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.FontCharset
Summary:
  Returns the font character set associated with the locale.
Description:
  FontCharSet returns the font character set associated with the locale. The table
  below defines the possible return values, if the character set couldn't be found
  the property reads DEFAULT_CHARSET.
<TABLE>
Code page  Character set
---------  ------------------
??         ANSI_CHARSET
??         EASTEUROPE_CHARSET
??         RUSSIAN_CHARSET
??         GREEK_CHARSET
??         TURKISH_CHARSET
??         HEBREW_CHARSET
??         ARABIC_CHARSET
??         BALTIC_CHARSET
??         THAI_CHARSET
??         SHIFTJIS_CHARSET
</TABLE>
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LangID
Summary:
  Returns the language identifier.
Description:
  LangId returns the language identifier for this locale.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LocaleID
Summary:
  Returns the locale identifier.
Description:
  Returns the locale identifier for which this instance contains information.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LangIDPrimary
Summary:
  Returns the primary language identifier.
Description:
  Extracts the primary language identifier from the language identifier this locale
  information object represents. The return value can be one of the following values:
<TABLE>
LANG_AFRIKAANS   LANG_KONKANI
LANG_ALBANIAN    LANG_KOREAN
LANG_ARABIC      LANG_LATVIAN
LANG_ARMENIAN    LANG_LITHUANIAN
LANG_ASSAMESE    LANG_MACEDONIAN
LANG_AZERI       LANG_MALAY
LANG_BASQUE      LANG_MALAYALAM
LANG_BELARUSIAN  LANG_MANIPURI
LANG_BENGALI     LANG_MARATHI
LANG_BULGARIAN   LANG_NEPALI
LANG_CATALAN     LANG_NEUTRAL
LANG_CHINESE     LANG_NORWEGIAN
LANG_CROATIAN    LANG_ORIYA
LANG_CZECH       LANG_POLISH
LANG_DANISH      LANG_PORTUGUESE
LANG_DUTCH       LANG_PUNJABI
LANG_ENGLISH     LANG_ROMANIAN
LANG_ESTONIAN    LANG_RUSSIAN
LANG_FAEROESE    LANG_SANSKRIT
LANG_FARSI       LANG_SERBIAN
LANG_FINNISH     LANG_SINDHI
LANG_FRENCH      LANG_SLOVAK
LANG_GEORGIAN    LANG_SLOVENIAN
LANG_GERMAN      LANG_SPANISH
LANG_GREEK       LANG_SWAHILI
LANG_GUJARATI    LANG_SWEDISH
LANG_HEBREW      LANG_TAMIL
LANG_HINDI       LANG_TATAR
LANG_HUNGARIAN   LANG_TELUGU
LANG_ICELANDIC   LANG_THAI
LANG_INDONESIAN  LANG_TURKISH
LANG_ITALIAN     LANG_UKRANIAN
LANG_JAPANESE    LANG_URDU
LANG_KANNADA     LANG_UZBEK
LANG_KASHMIRI    LANG_VIETNAMESE
LANG_KAZAK
</TABLE>
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LangIDSub
Summary
  Returns the sublanguage identifier.
Description
  Extracts the sublanguage identifier from the language
  identifier this locale information object represents. The
  return value can be one of the following values:
<TABLE>
SUBLANG_ARABIC_SAUDI_ARABIA     SUBLANG_GERMAN_AUSTRIAN
SUBLANG_ARABIC_IRAQ             SUBLANG_GERMAN_LUXEMBOURG
SUBLANG_ARABIC_EGYPT            SUBLANG_GERMAN_LIECHTENSTEIN
SUBLANG_ARABIC_LIBYA            SUBLANG_ITALIAN
SUBLANG_ARABIC_ALGERIA          SUBLANG_ITALIAN_SWISS
SUBLANG_ARABIC_MOROCCO          SUBLANG_KASHMIRI_INDIA
SUBLANG_ARABIC_TUNISIA          SUBLANG_KOREAN
SUBLANG_ARABIC_OMAN             SUBLANG_LITHUANIAN
SUBLANG_ARABIC_YEMEN            SUBLANG_MALAY_BRUNEI_DARUSSALAM
SUBLANG_ARABIC_SYRIA            SUBLANG_MALAY_MALAYSIA
SUBLANG_ARABIC_JORDAN           SUBLANG_NEPALI_INDIA
SUBLANG_ARABIC_LEBANON          SUBLANG_NEUTRAL
SUBLANG_ARABIC_KUWAIT           SUBLANG_NORWEGIAN_BOKMAL
SUBLANG_ARABIC_UAE              SUBLANG_NORWEGIAN_NYNORSK
SUBLANG_ARABIC_BAHRAIN          SUBLANG_PORTUGUESE
SUBLANG_ARABIC_QATAR            SUBLANG_PORTUGUESE_BRAZILIAN
SUBLANG_AZERI_CYRILLIC          SUBLANG_SERBIAN_LATIN
SUBLANG_AZERI_LATIN             SUBLANG_SERBIAN_CYRILLIC
SUBLANG_CHINESE_SIMPLIFIED      SUBLANG_SPANISH
SUBLANG_CHINESE_HONGKONG        SUBLANG_SPANISH_MEXICAN
SUBLANG_CHINESE_SINGAPORE       SUBLANG_SPANISH_MODERN
SUBLANG_CHINESE_MACAU           SUBLANG_SPANISH_GUATEMALA
SUBLANG_DEFAULT SUBLANG_DUTCH   SUBLANG_SPANISH_COSTA_RICA
SUBLANG_DUTCH_BELGIAN           SUBLANG_SPANISH_PANAMA
SUBLANG_ENGLISH_US              SUBLANG_SPANISH_DOMINICAN_REPUBLIC
SUBLANG_ENGLISH_UK              SUBLANG_SPANISH_VENEZUELA
SUBLANG_ENGLISH_AUS             SUBLANG_SPANISH_COLOMBIA
SUBLANG_ENGLISH_CAN             SUBLANG_SPANISH_PERU
SUBLANG_ENGLISH_NZ              SUBLANG_SPANISH_ARGENTINA
SUBLANG_ENGLISH_EIRE            SUBLANG_SPANISH_ECUADOR
SUBLANG_ENGLISH_SOUTH_AFRICA    SUBLANG_SPANISH_CHILE
SUBLANG_ENGLISH_JAMAICA         SUBLANG_SPANISH_URUGUAY
SUBLANG_ENGLISH_CARIBBEAN       SUBLANG_SPANISH_PARAGUAY
SUBLANG_ENGLISH_BELIZE          SUBLANG_SPANISH_BOLIVIA
SUBLANG_ENGLISH_TRINIDAD        SUBLANG_SPANISH_EL_SALVADOR
SUBLANG_ENGLISH_PHILIPPINES     SUBLANG_SPANISH_HONDURAS
SUBLANG_ENGLISH_ZIMBABWE        SUBLANG_SPANISH_NICARAGUA
SUBLANG_FRENCH                  SUBLANG_SPANISH_PUERTO_RICO
SUBLANG_FRENCH_BELGIAN          SUBLANG_SWEDISH
SUBLANG_FRENCH_CANADIAN         SUBLANG_SWEDISH_FINLAND
SUBLANG_FRENCH_SWISS            SUBLANG_SYS_DEFAULT
SUBLANG_FRENCH_LUXEMBOURG       SUBLANG_URDU_INDIA
SUBLANG_FRENCH_MONACO           SUBLANG_URDU_PAKISTAN
SUBLANG_GERMAN                  SUBLANG_UZBEK_CYRILLIC
SUBLANG_GERMAN_SWISS            SUBLANG_UZBEK_LATIN
</TABLE>
Platforms:
  Windows NT/2000: Requires Windows NT 3.5 or later.
  Windows 95/98: Requires Windows 95 or later.
Visibility:
  Public
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.SortID
Summary:
  Returns the sort identifier.
Description:
  Extracts the sort identifier from the locale identifier this object represents.
  This property returns one of the following values:
<TABLE>
Value                      Meaning
-------------------------  -----------------------------------
SORT_CHINESE_BIG5          Specifies Chinese BIG5 order.
SORT_CHINESE_BOPOMOFO      Traditional Chinese Bopomofo order.
SORT_CHINESE_PRC           PRC Chinese Stroke Count order.
SORT_CHINESE_PRCP          PRC Chinese Phonetic order
SORT_DEFAULT               Specifies the default sort.
SORT_GEORGIAN_MODERN       Georgian Modern order.
SORT_GEORGIAN_TRADITIONAL  Georgian Traditional order.
SORT_GERMAN_PHONE_BOOK     German Phone Book order.
SORT_HUNGARIAN_DEFAULT     Hungarian Default order.
SORT_HUNGARIAN_TECHNICAL   Hungarian Technical order
SORT_JAPANESE_XJIS         Specifies Japanese XJIS order.
SORT_KOREAN_KSC            Specifies Korean KSC order.
</TABLE>
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.UseSystemACP
Summary:
  Determines whether the system ACP is used for string translation.
Description:
  Determines whether the class uses the system ANSI code page (ACP) for string
  translation instead of the locale's code page. This property is True by default,
  assign False to turn off usage of the system ACP instead.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.AbbreviatedCountryName
Summary:
  Abbreviated name of the country/region, mostly based on the ISO Standard 3166.
Description:
  Abbreviated name of the country/region, mostly based on the ISO Standard 3166.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.AbbreviatedDayNames
Summary:
  Returns a list of native abbreviated names for the days in a week.
Description:
  AbbreviatedDayNames contains a list of abbreviated names, one for each day of the
  week. The list is indexed with a 1-based index which indicates the day for which
  to retrieve the abbreviated name. For example, 1 is monday, 2 is tuesday and so forth.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.AbbreviatedLangName
Summary:
  Abbreviated name of the language.
Description:
  Abbreviated name of the language. In most cases it is created by taking the
  two-letter language abbreviation from the ISO Standard 639 and adding a third
  letter, as appropriate, to indicate the sublanguage.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.AbbreviatedMonthNames
Summary:
  Returns a list of native abbreviated names for the months in a year.
Description:
  AbbreviatedMonthNames contains a list of abbreviated names, one for each month of the
  year. The list is indexed with a 1-based index which indicates the month for which
  to retrieve the abbreviated name. For example, 1 is january, 2 is february and so forth.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.CodePageANSI
Summary:
  ANSI code page associated with this locale.
Description:
  American National Standards Institute (ANSI) code page associated with this locale.
  If the locale does not use an ANSI code page, the value is 0. The maximum number
  of characters allowed for this string is six.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.CodePageMAC
Summary:
  Default Macintosh code page associated with the locale.
Description:
  Default Macintosh code page associated with the locale. If the locale does not
  use a Macintosh code page, the value is 2. The maximum number of characters
  allowed for this string is six.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.CodePageOEM
Summary:
  Original equipment manufacturer (OEM) code page associated with the country/region.
Description:
  Original equipment manufacturer (OEM) code page associated with the country/region.
  If the locale does not use an OEM code page, the value is 1.The maximum number of
  characters allowed for this string is six.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.CountryCode
Summary:
  Code for the principal country/region in this locale.
Description:
  Code for the principal country/region in this locale. This is provided so that
  partially specified locales can be completed with default values. The maximum
  number of characters allowed for this string is six.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.DateFormats
Summary:
  List of date formats that are available for this locale.
Description:
  List of date formats that are available for this locale. The list is indexed by
  a TJclLocaleDateFormats which is defined as:
    TJclLocaleDateFormats = (ldShort, ldLong, ldYearMonth);
  As such the index determines whether the returned list contains the long, short
  or year/month date formats.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.DecimalSeparator
Summary:
  Character(s) used as the decimal separator.
Description:
  Character(s) used as the decimal separator. The maximum number of characters
  allowed for this string is four.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.EnglishCountryName
Summary:
  Full English name of the country/region.
Description:
  Full English name of the country/region. This is always restricted to characters
  that can be mapped into the ASCII 127-character subset.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.EnglishLangName
Summary:
  Full English name of the language from the ISO standard 639.
Description:
  Full English name of the language from the International Organization for
  Standardization (ISO) Standard 639. This is always restricted to characters that
  can be mapped into the ASCII 127-character subset. This is not always equivalent
  to the English version of LOCALE_SLANGUAGE.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LanguageIndentifier
Summary:
  Language identifier.
Description:
  Language identifier. The maximum number of characters allowed for this string is five.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.ListItemSeparator
Summary:
  Character(s) used to separate list items.
Description:
  Character(s) used to separate list items. For example, a ',' is used in many
  locales. The maximum number of characters allowed for this string is four.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LocalizedCountryName
Summary:
  Full localized name of the country/region.
Description:
  Full localized name of the country/region. This is based on the localization of
  the product, thus it changes for each localized version.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LocalizedLangName
Summary:
  Full localized name of the language.
Description:
  Full localized name of the language. This name is based on the localization of
  the product, thus the value changes for each localized version.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LongDayNames
Summary:
  Returns the native long name for the specified day.
Description:
  List of native long names for the days in a week. The index into this list is
  a 1 based index of the day for which to retrieve the long name. For example, 1
  is monday, 2 is tuesday and so forth.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.LongMonthNames
Summary:
  Returns the native long name for the specified month.
Description:
  List of native long names for the months in a year. The index into this list is
  a 1 based index of the month for which to retrieve the long name. For example, 1
  is january, 2 is february and so forth. The highest possible index is 13 which
  may return an empty string if the 13th month doesn't exist for this locale.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.MonetarySymbolIntl
Summary:
  Three characters of the international monetary symbol specified in ISO 4217 followed by the character separating this string from the amount.
Description:
  Three characters of the international monetary symbol specified in ISO 4217
  followed by the character separating this string from the amount.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.MonetarySymbolLocal
Summary:
  String used as the local monetary symbol. The maximum number of characters allowed for this string is six.
Description:
  String used as the local monetary symbol. The maximum number of characters allowed
  for this string is six.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.NativeCountryName
Summary:
  Native name of the country/region.
Description:
  Native name of the country/region.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.NegativeNumberMode
Description:
  Negative number mode, that is, the format for a negative number. The maximum number
  of characters allowed for this string is two. The mode can be one of these values.
<TABLE>
Value  Format
-----  -----------------------------------------------------------
0      Left parenthesis, number, right parenthesis. Example: (1.1)
1      Negative sign, number. Example: -1.1
2      Negative sign, space, number. Example: - 1.1
3      Number, negative sign. Example: 1.1-
4      Number, space, negative sign. Example: 1.1 -
</TABLE>
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.TimeFormats
Summary:
  Formats that are available for this locale.
Description:
  Formats that are available for this locale.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocaleInfo.ThousandSeparator
Summary:
  Character(s) used to separate groups of digits to the left of the decimal.
Description:
  Character(s) used to separate groups of digits to the left of the decimal. The
  maximum number of characters allowed for this string is four.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesKind
<GROUP Internationalisation.NationalLanguageSupport>
Summary:
  TJclLocalesKind is used by the TJclLocalesList class to specify whether the list contains elements for all supported or all installed locales and codepages.
Description:
  TJclLocalesKind is used by the TJclLocalesList class to specify whether the list
  contains elements for all supported or all installed locales and codepages.
Donator:
  Petr Vones
@@TJclLocalesKind.lkInstalled
  Only installed locales and codepages.
@@TJclLocalesKind.lkSupported
  All supported locales and codepages.
--------------------------------------------------------------------------------
@@TJclLocalesList
<GROUP Internationalisation.NationalLanguageSupport>
Summary:
  Maintains information about supported locales and codepages.
Description:
  TJclLocalesList maintains a list of elements containing information about locales
  and codepages. The list contains either information about all supported locales
  and codepages or all installed locales and codepages depending on how it is
  constructed.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.Create
Summary:
  Creates and initialises an instance of TJclLocalesList.
Description:
  The Create constructor creates an instance of TJclLocalesList and initialises it
  according to the specified parameter.
Parameters:
  AKind - TJclLocalesKind = Specifies the kind of items this list will contain after construction. If you specify lkSupported the list will contain information for all supported locales and codepages on the system. If you specify lkInstalled the list will contain information about the installed locales and codepages only. See TJclLocalesKind for more information. Note that the JclLocales unit maintains a global instance of a TJclLocalesList which you can retrieve by using the JclLocalesList function.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.CodePages
Summary:
  List of supported or installed codepages.
Description:
  The CodePages property contains a list of all supported or installed codepages
  on the system depending on the Kind property. Each item contains the string
  representation of a code page identifier while the associated Objects item contains
  the numeric representation of the code page identifier (or 0 if the code page
  couldn't be converted to a numerical value).
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.ItemFromLangID
Summary:
  Returns the TJclLocaleInfo object given a language identifier.
Description:
  The ItemFromLangID provides the same list of locale information objects as the
  Items property does except that it allows indexing by language ID instead of a
  zero based index. This allows you to directly retrieve information about a specific
  language without having to traverse the entire list. Note that if the list contains
  no information for the specified language, the property returns nil.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.ItemFromLangIDPrimary
Summary:
  Returns the TJclLocaleInfo object given a primary language ID.
Description:
  The ItemFromLangIDPrimary provides the same list of locale information objects as the
  Items property does except that it allows indexing by primary language ID instead of
  a zero based index. This allows you to directly retrieve information about a specific
  language without having to traverse the entire list. Note that if the list contains
  no information for the specified language, the property returns nil.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.ItemFromLocaleID
Summary:
  Returns the TJclLocaleInfo object given a locale identifier.
Description:
  The ItemFromLocaleID provides the same list of locale information objects as the
  Items property does except that it allows indexing by Locale ID instead of a
  zero based index. This allows you to directly retrieve information about a specific
  locale without having to traverse the entire list. Note that if the list contains
  no information for the specified locale, the property returns nil.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.Items
Summary:
  List of locale information items.
Description:
  The Items property contains a list of TJclLocaleInfo objects each of which supplies
  information about a single locale installed or supported (depending on the Kind
  property) on the system.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclLocalesList.Kind
Summary:
  Returns the Kind of elements contained in the list.
Description:
  Kind specifies the kind of elements this list contains. It is a direct copy of
  the AKind parameter of the TJclLocalesList constructor. See TJclLocalesKind
  for more information.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList
<GROUP Internationalisation.KeyboardInput>
Summary:
  Maintains a list of input locale identifiers.
Description:
  The TJclKeyboardLayoutList class maintains a list of input locale identifiers (formerly
  called keyboard layout handles) corresponding to the current set of input locales
  in the system. Note that unlike keyboard layouts, an input locale can also encompass
  a speech-to-toext converter, IME or any other kind of input.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.ActivatePrevLayout
Summary:
  Activates the previous input locale identifier.
Description:
  The system maintains a circular list of all loaded input locale identifiers. Calling
  this method will result in the input locale identifier that preceeds the currently
  active input locale to be activated.
Parameters:
  ActivateFlags - Set of flags that determine how the input locale is to be activated. See TjclKeybLayoutFlags for a detailed description of the possible flags.
Result:
  If the function succeeds it returns True otherwise it returns False.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.ActivateNextLayout
Summary:
  Activates the next input locale identifier.
Description:
  The system maintains a circular list of all loaded input locale identifiers. Calling
  this method will result in the input locale identifier that succeeds the currently
  active input locale to be activated.
Parameters:
  ActivateFlags - Set of flags that determine how the input locale is to be activated. See TjclKeybLayoutFlags for a detailed description of the possible flags.
Result:
  If the function succeeds it returns True otherwise it returns False.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.LoadLayout
Summary:
  Loads a new input locale identifier.
Description:
  The LoadLayout method loads a new input locale identifier into the system. Note
  that many input locale identifiers can be loaded at the same time, but only can
  be active at any moment. This method only loads the input locale identifier but
  does not activate it. To do so use the Activate method of the TJclKeyboardLayout
  class.
Parameters:
  LayoutName - Name of the input locale identifier to load. The name is composed of the hexadecimal value of the language identifier (low word) and a devide identifier (high word).
  LoadFlags - Set of flags that determine how the input locale identifier is loaded. See TJclKeybLayoutFlags for an explanantion of the possible flags.
Result:
  If the function succeeds it returns True and automatically refreshes the list. If
  the funcion fails it returns False and the list remains unchanged.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.Refresh
Summary:
  Refreshes the list of input locales and fires the OnRefresh event.
Description:
  Refreshes the list of input locales and fires the OnRefresh event.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.ActiveLayout
Summary:
  Returns the currently active input locale identifier for the calling thread.
Description:
  Returns the currently active input locale identifier for the calling thread.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.AvailableLayouts
Description:
  A list of TJclAvailableKeybLayout items representing the available keyboard layouts.
  The AvailableLayoutCount property contains the number of elements in this list and
  as such the valid indices range from 0 to AvailableLayoutCount - 1.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.AvailableLayoutCount
Summary:
  Returns the number of elements in the AvailableLayouts list.
Description:
  Returns the number of elements in the AvailableLayouts list.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.Count
Summary:
  The number of elements in the list.
Description:
  Count returns the number of elements in the Items list. Note that the Items list
  is zero based and therefore valid indices range from 0 to Count - 1.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.ItemFromHKL
Summary:
  Returns the TJclKeyboardLayout class for a specified input locale identifier.
Description:
  ItemFromHKL returns the TJclKeyboardLayout item from the list of loaded input
  locale identifiers with the specified identifier. If the specified input identifier
  does not exist in the list (it is not loaded) the property reads nil.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.Items
Summary:
  The list of loaded input locale identifiers.
Description:
  Items contains the list of loaded input locale identifiers. Each entry contains
  a TJclKeyboardLayout class which you can use to read information about the input
  locale identifier or manipulate it (such as activation).
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.LayoutFromLocaleID
Summary:
  Returns the TJclKeyboardLayout class for a specified locale identifier.
Description:
  LayoutFromLocaleID returns the TJclKeyboardLayout item from the list of loaded input
  locale identifiers with the specified locale identifier. If the specified input
  identifier does not exist in the list (it is not loaded) the property reads nil.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayoutList.OnRefresh
Summary:
  The event is fired whenever the list is refreshed, either implicitly or explicitly.
Description:
  The event is fired whenever the list is refreshed, either implicitly or explicitly.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout
<GROUP Internationalisation.KeyboardInput>
Summary:
  Wrapper for a loaded input locale identifier.
Description:
  TJclKeyboardLayout is a wrapper for an input locale identifier which is loaded in
  the system. You can use it to retrieve information about the input locale identifier
  and manipulate it, for example, unload or activate it. You normally don't create
  instances of this class directly but instead use the TJclKeyboardLayoutList to
  maintain a list of loaded TJclKeyboardLayout objects and retrieve them from there.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.Create
Summary:
  Creates an instance of TJclKeyboardLayout which represents an input locale identifier.
Description:
  Creates an instance of TJclKeyboardLayout which represents an input locale identifier.
  Note that you normally don't construct instances of this class explicitly but instead
  use the TJclKeyboardLayoutList to maintain a list of TJclKeyboardLayout objects. You
  can, however, create an instance yourself. If you do so set the AOwner parameter to nil.
Parameters:
  AOwner - Instance of the TJclKeyboardLayoutList that is creating this object. The supplied object is automatically kept up to date in case of changes (such as unloading of the input locale identifier).
  ALayout - The input locale identifier which this class will represent.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.Activate
Summary:
  Activates the input locale identifier represented by this object.
Description:
  Activates the input locale identifier represented by this object.
Parameters:
  ActivateFlags - Set of flags that determine how the input locale identifier is activated. See TJclKeybLayoutFlags for a detailed description of the possible flags.
Result:
  If the function succeeds it returns True otherwise it returns False.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.Unload
Summary:
  Unloads the input locale identifier.
Description:
  Unloads the input locale identifier represented by this object. After calling this
  method the input locale identifier is no longer available until it is explicitly
  loaded again. If this object is connected to a TJclKeyboardLayoutList through the
  AOwner parameter of it's constructor, that list is automatically updated to reflect
  the change.
Result:
  If the function succeeds it returns True and update the AOwner list, if present.
  If the function fails it returns False and the AOwner list remains unchanged.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.DisplayName
Summary:
  Returns the (localized) display name for this keyboard layout.
Description:
  Returns the (localized) display name for this keyboard layout.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.DeviceHandle
Summary:
  Extracts the device identifier part from the input locale identifier that this object represents.
Description:
  Extracts the device identifier part from the input locale identifier that this object represents.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.Layout
Summary:
  Returns the input locale identifier that this object represents.
Description:
  Returns the input locale identifier that this object represents.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.LocaleID
Summary:
  Extracts the locale identifier from the input locale identifier.
Description:
  Extracts the locale identifier from the input locale identifier that this object
  represents. Note that the Locale Identifier is referred to as the language
  identifier in the Microsoft documentation.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.LocaleInfo
Summary:
  Provides access to the locale information for this input locale identifier.
Description:
  Returns a TJclLocaleInfo object which provides access to information about the
  locale identifier associated with this input locale identifier. The object remains
  owned by this class so you don't have to free it.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeyboardLayout.VariationName
Summary:
  Returns the variation name for this keyboard layout.
Description:
  Returns the variation name for this keyboard layout.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclKeybLayoutFlag
<GROUP Internationalisation.KeyboardInput>
Summary:
  Set of flags which describe how to load, unload or activate an input locale identifier.[Description]
Description:
  Set of flags which describe how to load, unload or activate an input locale identifier.
  It is used by the TJclKeyboardLayout and TJclKeyboardLayoutList classes.
Donator:
  Petr Vones
@@TJclKeybLayoutFlag.klReorder
  Moves the specified input locale identifier to the head of the input locale identifier list, making that locale identifier the active locale identifier for the current thread. This value reorders the input locale identifier list even if KLF_ACTIVATE is not provided.
@@TJclKeybLayoutFlag.klUnloadPrevious
  Unsupported.
@@TJclKeybLayoutFlag.klSetForProcess
  This flag is valid only with KLF_ACTIVATE. Activates the specified input locale identifier for the entire process and sends the WM_INPUTLANGCHANGE message to the current thread's Focus or Active window. Typically, LoadKeyboardLayout activates an input locale identifier only for the current thread. This flag is only supported for Windows 2000.
@@TJclKeybLayoutFlag.klActivate
  If the specified input locale identifier is not already loaded, the function loads and activates the input locale identifier for the current thread.
@@TJclKeybLayoutFlag.klNotEllShell
  Prevents a ShellProc hook procedure from receiving an HSHELL_LANGUAGE hook code when the new input locale identifier is loaded. This value is typically used when an application loads multiple input locale identifiers one after another. Applying this value to all but the last input locale identifier delays the shell's processing until all input locale identifiers have been added.
@@TJclKeybLayoutFlag.klReplaceLang
  If the new input locale identifier has the same language identifier as a current input locale identifier, the new input locale identifier replaces the current one as the input locale identifier for that language. If this value is not provided and the input locale identifiers have the same language identifiers, the current input locale identifier is not replaced and the function returns NULL.
@@TJclKeybLayoutFlag.klSubstituteOK
  Substitutes the specified input locale identifier with another locale preferred by the user. The system starts with this flag set, and it is recommended that your application always use this flag. The substitution occurs only if the registry key HKEY_CURRENT_USER\Keyboard Layout\Substitutes explicitly defines a substitution locale. For example, if the key includes the value name "00000409" with value "00010409", loading the U.S. English layout ("00000409") causes the Dvorak U.S. English layout ("00010409") to be loaded instead. The system uses KLF_SUBSTITUTE_OK when booting, and it is recommended that all applications use this value when loading input locale identifiers to ensure that the user's preference is selected.
@@TJclKeybLayoutFlags
<GROUP Internationalisation.KeyboardInput>
<COMBINE TJclKeybLayoutFlag>
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout
<GROUP Internationalisation.KeyboardInput>
Summary:
  Describes an available keyboard layout.
Description:
  Describes an available keyboard layout.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.Load
Summary:
  Loads the keyboard layout.
Description:
  Loads the keyboard layout. This method is implemented by calling the
  TJclAvailableKeybLayout.Load method. See the description of that method for more
  information.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.Identifier
Summary:
  The Windows keyboard layout code.
Description:
  An 8-digit hexadecimal Windows keyboard layout code. The first four digits
  of the codes indicate whether the keyboard layout or IME is the default layout
  for the language (as indicated by all zeros), or a variation of the
  default (other than zeros). The last four digits are the standard locale ID.
  For example, the 00010402 subkey represents the first variation of the keyboard
  layouts associated with locale 0x0402 (Bulgarian).
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.IdentifierName
Summary:
  String representation (8-digit hexadecimal value) of the keybaord layout code.
Description:
  String representation (8-digit hexadecimal value) of the keybaord layout code.
  The string is formed on demand using the Idenitifier property.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.LayoutID
Summary:
  Specifies the ID number of an alternate keyboard layout or Input Method Editor (IME).
Description:
  Specifies the ID number of an alternate keyboard layout or Input Method Editor (IME).
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.LayoutFile
Summary:
  Specifies the DLL for the keyboard layout or Input Method Editor (IME).
Description:
  Specifies the DLL for the keyboard layout or Input Method Editor (IME).

Donator: Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.LayoutFileExists
Summary:
  Returns whether the file specified by the LayoutFile property exists in the filesystem.
Description:
  Returns whether the file specified by the LayoutFile property exists in the filesystem.
Donator:
  Petr Vones
--------------------------------------------------------------------------------
@@TJclAvailableKeybLayout.Name
Summary:
  Name of the keybaord layout or Input Method Editor.
Description:
  Specifies the name used to represent the keyboard layout or Input Method
  Editor (IME) on the Input Locales tab of Regional Options in Control Panel.
Donator:
  Petr Vones