{
ru.malik.elaborarer.translate — модуль перевода некоторых ресурсных строк.
Copyright © 2021 Малик Разработчик
Это свободная программа: вы можете перераспространять её и/или
изменять её на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
в каком она была опубликована Фондом свободного программного обеспечения;
либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.
Эта программа распространяется в надежде, что она может быть полезна,
но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЁННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
общественной лицензии GNU.
Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
вместе с этой программой. Если это не так, см.
<http://www.gnu.org/licenses/>.
}
unit ru.malik.elaborarer.translate;
{$MODE DELPHI}
interface
uses
pascalx.lang;
{$ASMMODE INTEL,CALLING REGISTER,TYPEINFO ON}
implementation
{%region private }
var
translateList: AnsiString_Array2d;
{%endregion}
{%region routine }
function translateResourceString(const name, value: AnsiString; hash: int; arg: Pointer): AnsiString;
var
i: int;
s: AnsiString;
begin
s := stringToLowerCase(name);
for i := 0 to length(translateList) - 1 do begin
if s = stringToLowerCase(translateList[i][0]) then begin
result := translateList[i][1];
exit;
end;
end;
result := value;
end;
{%endregion}
initialization
translateList := AnsiString_Array2d_create([
{ Список ресурсных строк для изменения. Каждая строка имеет вид:
AnsiString_Array1d_create(['<имя модуля>.<имя ресурсной строки>', '<желаемое значение>']) }
AnsiString_Array1d_create(['LCLStrConsts.rsMbYes', '&Да']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbNo', '&Нет']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbOK', 'OK']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbCancel', 'Отмена']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbAbort', 'Прервать']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbRetry', '&Повторить']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbIgnore', '&Игнорировать']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbAll', '&Все']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbNoToAll', 'Нет для всех']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbYesToAll', 'Да для &всех']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbHelp', '&Справка']),
AnsiString_Array1d_create(['LCLStrConsts.rsMbClose', '&Закрыть'])
]);
setResourceStrings(TResourceIterator(@translateResourceString), nil);
translateList := nil;
end.