Главная страницаОбратная связьКарта сайта

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

Оформил: DeeCo
Автор: http://www.swissdelphicenter.ch

{ 
  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;

Обсудить статью на форуме


Если Вас заинтересовала или понравилась информация по разработке на Delph - "Возвращать сообщения на родном языке компьютера", Вы можете поставить закладку в социальной сети или в своём блоге на данную страницу:

Так же Вы можете задать вопрос по работе этого модуля или примера через форму обратной связи, в сообщение обязательно указывайте название или ссылку на статью!
   


Copyright © 2008 - 2024 Дискета.info