View Single Post
  #694  
Old 30-03-2019, 11:58
Schabik Schabik is offline
Registered User
 
Join Date: Dec 2008
Location: Somewhere in Poland
Posts: 152
Thanks: 17
Thanked 35 Times in 32 Posts
Schabik is on a distinguished road
Quote:
Originally Posted by HunterEmrah View Post
how can i apply custommessage for Main files component ?

Script.iss
Code:
function TranslateComponentName(StrName: String): String;
begin
  case Trim(Uppercase(Copy(StrName, Pos('cm:', LowerCase(StrName)) + Length('cm:'), Length(StrName)))) of
    'EN', 'ENGLISH'   : Result := CustomMessage('CompEnglish');
    'FR', 'FRENCH'    : Result := CustomMessage('CompFrench');
    'DE', 'GERMAN'    : Result := CustomMessage('CompGerman');
    'IT', 'ITALIAN'   : Result := CustomMessage('CompItalian');
    'ES', 'SPANISH'   : Result := CustomMessage('CompSpanish');
    'PL', 'POLISH'    : Result := CustomMessage('CompPolish');
    'RU', 'RUSSIAN'   : Result := CustomMessage('CompRussian');
    'BR', 'BRAZILIAN' : Result := CustomMessage('CompPortugueseBrazil');
    'MX', 'MEXICAN'   : Result := CustomMessage('CompMexican');
    'CZ', 'CZECH'     : Result := CustomMessage('CompCzech');
    'CL', 'COMPLAN'   : Result := CustomMessage('CompLan');
    'CB', 'COMPBONUS' : Result := CustomMessage('CompBonus');
    'GC', 'COMPMAIN'  : Result := CustomMessage('CompMain');
    else
      Result := StrName;
  end;
end;
Code:
 ComponentsSize := 0;
  SetArrayLength(CompIndexList, 0);
  IniFile := ExpandConstant('{tmp}\Settings.ini');
  ComponentsPageAvai := GetIniBool('ComponentsSettings', 'Enable', False, IniFile);
  if ComponentsPageAvai then
  begin
    if IniKeyExists('ComponentsSettings', 'Component' + IntToStr(I) + '.Name', IniFile) then
    begin
      CompName := 'cm:COMPMAIN';
      ComponentsList.AddCheckBox(CompName, '', 0, True, False, True, True, nil);
    end;
CustomMessages.iss
Code:
English.CompMain=Main files
also tried to type {cm:CompMain} for CompName, doesn't working
You have to add to function TranslateComponentName this line

Code:
'CM', 'COMPMAIN' : Result := CustomMessage('CompMain');
Or like you did:
Code:
 
'GC', 'COMPMAIN'  : Result := CustomMessage('CompMain');
Then to settings.ini cm:CM or cm:GC OR cm:COMPMAIN as the name for the component, just remember to use capital letters after "cm:"

And of course like as You added to CustomMessages.iss
Code:
English.CompMain=Main files
As an advice, try to translate the components names to other languages if the installer is multilang, it will be helpful for others who will use it to unpack the game

Last edited by Schabik; 30-03-2019 at 12:12.
Reply With Quote