скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Возвращать сообщения на родном языке компьютера



Оформил: DeeCo

{ 
  Call inLanguage like this to get the German text else return english 
  if you use different coutntry codes you can do more 
}

 {############### FGetLanguageSettings ############################ 
 # Author: Walter Verhoeven 
 # Date:   14.Sep.2000 
 # Coming From: InLanguage 
 #  Next Event: NONE 
 #  Parameters: NONE 
 #   Objective: See the users regional settings and return Country #number code 
 #   Change: 
 #     DD-MMM-YYYYY ¦Programmer 
 #                1) 
 # 
 ########################################################}

   function FGetLanguageSettings: Integer;
 var
   OutputBuffer: PChar;
   SelectedLCID: LCID;               //DWORD constand in Windows.pas 
begin
   OutputBuffer := StrAlloc(4);     //alocate memory for the PChar 
  try
     try
       SelectedLCID := GetUserDefaultLCID;
       GetLocaleInfo(SelectedLCID, LOCALE_ICOUNTRY, OutputBuffer, 3);
       Result := StrToInt(OutputBuffer);
     except
       Result := 49;   //german 
      Abort;
     end;
   finally
     StrDispose(OutputBuffer);   //alway's free the memory alocated 
  end;
 end;

 {############## INLanguage ####################################### 
 # Author: Walter Verhoeven 
 # Date:   .Jun.2000 
 # Coming From: 
 #  Next Event: FGetLanguageSettings 
 #  Parameters: Eglish and german text 
 #   Objective: provide a method to return 
 #              english or german results based on the 
 # users window prefered language setting. 
 #   Change: 
 #     DD-MMM-YYYYY ¦Programmer 
 #                1) 
 # 
 ##############################################################}


   function INLanguage(English, German: string): string;
 begin
   case FGetLanguageSettings of
     49: Result  := German;   // Return the german string 
    43: Result  := German;   // If the PC has a german preferance 
    41: Result  := German;
     352: Result := German;
     else
       Result := English;      // if not german then english 
  end;
 end;


 procedure TForm1.Button1Click(Sender: TObject);
 begin
   ShowMessage(Format(INLanguage('My %s English Word',
     'Riesiges %s Software-Angebot'), ['Hopla']));
 end;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook