//**************************************************************************************************
//
// LOCALE SUPPORT (TYPES):
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// RuntimeForStatic base library | C+- (SysRoutine) | Author: Sergei Y.Kitáev
#pragma once
#include "include_restrictions.h"
namespace RuntimeForStatic {

//\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
//
// "$Locale" STATIC CLASS:
//
//==================================================================================================
class $Locale
{
$STATIC_CLASS( $Locale )
public:
   static LANGID GetLanguageId() $thread_static;
   static LANGID GetLanguageId(bool ignoreCurrentThreadSettings) $thread_static;
   static LCID GetLocaleId() $thread_static;
   static LCID GetLocaleId(bool ignoreCurrentThreadSettings) $thread_static;
   static LANGID EnvironmentLanguageId();
   static LCID EnvironmentLocaleId();
public:
   static PCWSTR GetText($A, PCWSTR defaultLangText, PCWSTR langText_1 ) $thread_static $not_null;
   static PCWSTR GetText($A, bool ignoreCurrentThreadSettings,
                             PCWSTR defaultLangText, PCWSTR langText_1 ) $thread_static $not_null;
   static PCWSTR GetTextEx($A, LANGID languageId $optional,
                               PCWSTR defaultLangText, PCWSTR langText_1 ) $not_null;
   static PCWSTR GetTextExplicit($A, LANGID languageId,
                                     PCWSTR defaultLangText, PCWSTR langText_1 ) $not_null;
}; // $Locale
//==================================================================================================

} // RuntimeForStatic
