Я использую Delphi 2007, и мне интересно, как можно решить следующую проблему:
Мне нужно, например, перевести AComp.Caption
, но string
, который я хочу присвоить заголовку,часто зависит от некоторых данных (например, от даты или числа, которое получает Formatted
).Поэтому я должен сохранять данные и строку в новой переменной для каждого перевода, что действительно раздражает.
Я хочу сделать что-то вроде этого:
// will add the string and data to an internal list of Translator
// and will then return a DynamicString, which represents the translated value
AComp.Caption := T.NewTranslatedString("Hello %s, do you like cheese?", User)
(Примечаниечто AComp.Caption («Hello% s ..») можно изменить разными методами)
При переключении на другой язык вы бы вызвали T.TranslateAgain()
, и значение всех строк будет переведено, и, еслиданные предоставлены, снова отформатированы.
Возможно ли это или вы знаете другой способ решения данной проблемы?
Заранее спасибо
Дополнительный вопрос: Являются ли строки нормальными объектами, которые я могу разделить на подклассы и добавить динамическое поведение, которое изменяет саму строку в особых случаях?