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