1 unit gnugettextDx; 2 3 interface 4 5 uses 6 Classes, TypInfo, 7 {$IFDEF VER120} 8 gnugettextD4; 9 {$ELSE} 10 {$IFDEF VER130} 11 gnugettextD5; 12 {$ELSE} 13 gnugettext; 14 {$ENDIF} 15 {$ENDIF} 16 _null17function _(const szMsgId: string): string; gettextnull18function gettext(const szMsgId: string): string; dgettextnull19function dgettext(const szDomain: string; const szMsgId: string): string; 20 procedure TranslateComponent(AnObject: TComponent); 21 22 implementation 23 _null24function _(const szMsgId: string): string; 25 begin 26 {$IFDEF VER120} 27 Result := gnugettextD4._(szMsgId); 28 {$ELSE} 29 {$IFDEF VER130} 30 Result := gnugettextD5._(szMsgId); 31 {$ELSE} 32 Result := gnugettext._(szMsgId); 33 {$ENDIF}{$ENDIF} 34 end; 35 gettextnull36function gettext(const szMsgId: string): string; 37 begin 38 {$IFDEF VER120} 39 Result := gnugettextD4.gettext(szMsgId); 40 {$ELSE} 41 {$IFDEF VER130} 42 Result := gnugettextD5.gettext(szMsgId); 43 {$ELSE} 44 Result := gnugettext.gettext(szMsgId); 45 {$ENDIF}{$ENDIF} 46 end; 47 dgettextnull48function dgettext(const szDomain: string; const szMsgId: string): string; 49 begin 50 {$IFDEF VER120} 51 Result := gnugettextD4.dgettext(szDomain, szMsgId); 52 {$ELSE} 53 {$IFDEF VER130} 54 Result := gnugettextD5.dgettext(szDomain, szMsgId); 55 {$ELSE} 56 Result := gnugettext.dgettext(szDomain, szMsgId); 57 {$ENDIF}{$ENDIF} 58 end; 59 60 procedure TranslateComponent(AnObject: TComponent); 61 begin 62 {$IFDEF VER120} 63 gnugettextD4.TranslateComponent(AnObject); 64 {$ELSE} 65 {$IFDEF VER130} 66 gnugettextD5.TranslateComponent(AnObject); 67 {$ELSE} 68 gnugettext.TranslateComponent(AnObject); 69 {$ENDIF}{$ENDIF} 70 end; 71 72 end. 73