hedgewars/uLocale.pas
changeset 10116 dd27562b6f21
parent 10108 c68cf030eded
child 10122 cefede760264
equal deleted inserted replaced
10115:794af9339726 10116:dd27562b6f21
    23 uses uTypes;
    23 uses uTypes;
    24 
    24 
    25 const MAX_EVENT_STRINGS = 100;
    25 const MAX_EVENT_STRINGS = 100;
    26 
    26 
    27 procedure LoadLocale(FileName: shortstring);
    27 procedure LoadLocale(FileName: shortstring);
    28 function  FormatPChar(fmt: PChar; arg: PChar): PChar;
       
    29 function  Format(fmt: shortstring; var arg: shortstring): shortstring;
    28 function  Format(fmt: shortstring; var arg: shortstring): shortstring;
    30 function  FormatA(fmt: PChar; arg: ansistring): ansistring;
    29 function  FormatA(fmt: PChar; arg: ansistring): ansistring;
    31 function  GetEventString(e: TEventId): PChar;
    30 function  GetEventString(e: TEventId): PChar;
    32 procedure initModule;
    31 procedure initModule;
    33 procedure freeModule;
    32 procedure freeModule;
   108         GetEventString:= '*missing translation*'
   107         GetEventString:= '*missing translation*'
   109     else
   108     else
   110         GetEventString:= trevt[e][GetRandom(trevt_n[e])]; // Pick a random message and return it
   109         GetEventString:= trevt[e][GetRandom(trevt_n[e])]; // Pick a random message and return it
   111 end;
   110 end;
   112 
   111 
   113 function FormatPChar(fmt: PChar; arg: PChar): PChar;
       
   114 var
       
   115     s: shortstring;
       
   116 begin
       
   117     s:= arg;
       
   118     FormatPChar:= Str2PChar(FormatA(fmt, s));
       
   119 end;
       
   120 
       
   121 function Format(fmt: shortstring; var arg: shortstring): shortstring;
   112 function Format(fmt: shortstring; var arg: shortstring): shortstring;
   122 var i: LongInt;
   113 var i: LongInt;
   123 begin
   114 begin
   124 i:= Pos('%1', fmt);
   115 i:= Pos('%1', fmt);
   125 if i = 0 then
   116 if i = 0 then