DelphiResourceString本地化过程

DelphiResourceString本地化过程,delphi,firemonkey,Delphi,Firemonkey,即使我在网上找到了很多,我仍然无法找到如何真正使用ResourceString。我有一个仅适用于西雅图的iOS应用程序,我有一个名为意大利语.pas的文件,如下所示: unit italian; interface resourcestring word1 = "parola1"; test1 = "prova1"; implementation end. 我不想使用本地化工具。据我所知,编译器生成一个包含我的ResourceString的.drc文件。现在如何本地化我的iOS应用

即使我在网上找到了很多,我仍然无法找到如何真正使用ResourceString。我有一个仅适用于西雅图的iOS应用程序,我有一个名为
意大利语.pas
的文件,如下所示:

unit italian;

interface

resourcestring
 word1 = "parola1";
 test1 = "prova1";

implementation

end.
我不想使用本地化工具。据我所知,编译器生成一个包含我的ResourceString的.drc文件。现在如何本地化我的iOS应用程序?(或安卓)


我还创建了另外两个文件,如上面提到的
french.pas
american.pas
。它们是意大利语.pas的副本,但是字符串值当然随语言的不同而不同。艾伦·鲍尔在回答时说:

这个.drc文件可以被翻译或以其他方式处理,然后重新编译成一个.res文件。这个.res文件可以被链接到一个特殊的“仅限资源”dll,该dll具有一个特定的扩展名,而不是表示该语言的“.dll”

首先,我不是德尔菲专家!根据我在这里的理解,编译器应该从我的
意大利语.pas
生成一个drc文件,drc将包含我的字符串。现在(从上面的引用)我应该编辑drc添加我需要的本地化


如何使用本地化编辑drc文件?我还猜想,包含本地化的已编辑的drc文件必须以某种方式与可执行文件链接。我真的需要创建3个不同的pas文件,还是只需要一个drc文件,然后对其进行本地化?

目前,没有简单的方法对移动Delphi应用程序进行本地化。原因是这些平台不支持资源库,例如Windows中的资源DLL。当编译器编译资源字符串所在的代码时,编译器将获取字符串并将其插入应用程序文件中的字符串资源。当然,您可以在编译后修改它,但这并不容易,因为您还必须计算ELF(Android)或Mach(iOS)文件中的所有内部引用


唯一可行的解决方案是根本不使用资源字符串,而是使用某种类型的translate函数(类似于gettext),并使用某种类型的Translates组件,该组件以某种格式存储翻译,运行时更改格式字符串并为translate函数提供正确的语言字符串。然而,问题在于RTL和FireMonkey库中使用的几个resourcestring。要将它们本地化,没有简单的方法。

你看过Embarcadero的文档了吗?试着解决问题。它有一个FireMonkey本地化的解决方案