Как перевести строку, которая объявлена ​​в массиве в Delphi? - PullRequest
0 голосов
/ 11 октября 2018

У нас есть приложение в Delphi, и теперь мы реализуем функцию языкового перевода.Мы добавили код в core для перевода строк, объявленных в ResourceString.Он работает нормально, но строки, объявленные в массиве, не переведены.Пример

resourcestring
 Error_Text = 'Invalid Value'; 

Работает нормально.

Const
 ERROR_TYPE : Array[0..2] of String = ('Invalid Name', 'Invalid Age', 'Invalid Address');

Как добавить эти значения массива в строку ресурсов?

1 Ответ

0 голосов
/ 11 октября 2018

Я думаю, вы не можете напрямую иметь массив resourcestring.Я бы попробовал функцию вместо этого, что-то вроде:

resourcestring
  ERROR_TYPE0 = 'Invalid Name';
  ERROR_TYPE1 = 'Invalid Age';
  ERROR_TYPE2 = 'Invalid Address';

type
  TMyIndexType = 0..2;

function ERROR_TYPE(AIndex: TMyIndexType): string;
begin
  case AIndex of
    0: Result := ERROR_TYPE0;
    1: Result := ERROR_TYPE1;
    2: Result := ERROR_TYPE2;
    else
      // appropriate error handling
  end;
end;
...