Мультиязычность с Firemonkey (Delphi)

Я ищу решение для изменения языка во время выполнения. (Firemonkey / Delphi)

TLang работает, но я получаю странные строки в пустом проекте. (например, Samsung Galaxy Nexus и другие мобильные устройства) И я предпочитаю другое решение, а не замену строк, как TLang.

К сожалению, ресурсная строка не работает. Я попытался перевести строки ресурсов с помощью "эксперта по ресурсам" (IDE RAD Studio XE5). И пример приложения " RichEdit" также не работает.

Любая идея?

2 ответа

Хорошо, я нашел проблему, почему она не работает. У инструмента есть некоторые ошибки. Путь к Project.exe не может содержать пробелы.

Другое решение является Stringtable, как это:

// default.rc file

#define firstString 1
#define secondString 2

STRINGTABLE
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
BEGIN
 firstString , "Neutral String 1"
 secondString , "Neutral String 2"
END

// english.rc file

#define firstString 1
#define secondString 2

STRINGTABLE
LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
BEGIN
 firstString , "First String"
 secondString , "Second String"
END

А затем {$R default.res default.rc} {$R english.res english.rc} в файл *.pas. Чтобы использовать перевод: LoadStr(2)

С помощью редактора ресурсов я вижу два языка. Но как я могу изменить по умолчанию / нейтральный на другой язык во время выполнения. Есть ли какая-то функция "SetLanguage" в Delphi?

Для простых проектов TLang отлично работает, но включенный "Language Designer" (двойной щелчок на компоненте TLang) не очень интересен.
Если вы хотите перевести и обработать ваши внешние строки, вы можете импортировать только файлы внешних языков один за другим и импортировать все заново, если некоторые тексты изменятся.
Я написал небольшой инструмент для обработки внешних текстов в электронной таблице и преобразования этих текстов в формат СПГ: см. Конвертер TLang
Для больших проектов вы также можете проверить некоторые коммерческие продукты для перевода / локализации проектов Delphi FMX, такие как:
http://www.sisulizer.de/
http://www.tsilang.com/
http://www.regulace.org/

Другие вопросы по тегам