Three simple steps to localize
The German and French Online-Help pages have been created with the help of machine translation. In doubt please read the English original.
Delphi XE2 supports FireMonkey platform. It is a cross platform component library. You can use Sisulizer to localize the application files that Delphi creates. When you add an OSX target to your Delphi project the compiler creates Mach-O file. It is like EXE file in Windows. Mach-O file contains the compiled code and resources. When Sisulizer localizes a Mach-O file it creates either a file that is identical to the original file except the resource data (forms, strings, images, etc) have been localized into the target language, or a resource library that contains the localized resources.
Delphi compiler creates a Mach-O file. However this is not the file you deploy. The file you deploy is actually a directory <name>.app. It contains the Mach-O file, library files, resource files and other files. When Sisulizer builds the output files it creates the following files:
|Output file type||Description||What file to deploy|
|Localized files||Sisulizer creates a language specific sub directory that contains <projectname>.app directory. For example if your project is Project1 the German output directory is generated into OSX32\Debug\de\Project1.app directory. The .app directory then contains Project1 (Mach-o) file, .dylib (library) files and resource files in Contents sub directory.
Each output directory contains support for one language.
|One <projectname>.app directory for a language specific directory.|
|Resource DLLs||Sisulizer creates one <projectname>.app sub directory. It contains application file (e.g. Project.), resource library files (e.g. Project1.de and Project1.fr) and resource files in Contents sub directory.
The output directory contains support for several languages.
Output file type means the output file kind you have selected. The default value is Localized files.
If you want to localize a Mac application you should do it together with Windows application. Create a Sisulizer project that contains a WIN32 EXE. Once the project is created add the Mac file as platform file. Right click the EXE file in the project three and choose Properties. Then choose Platform files sheet and click Add button to add files. Add the Mach-O file created by Delphi. It is a file without not extension on OSX32\Debug or OSX32\Release directory. If you have created 64-bit EXE add it too.
Now you have added two platforms files, 64-bit Windows file and 32-bit Mac file. The main file of the source is specified in the File sheet and it is 32-bit Windows file. All three files contains the same sources and are localized in the same way. This is why we add only one source and it contains additional files. If we added three different sources (one for 32-bit Windows, one for 64-bit Windows and one for Mac) we would get all strings, forms, etc three times. That would make localization more difficult and expensive.
If you add a Mac file as platform file you must also specify DRC file. Without it Sisulizer can no resolve the string resource names correctly. 32-bit and 64-bit Windows DRC files are identical so it enough that you specify the DRC file on the 32-bit output directory. However the Mac DRC is little bit different and it must be also specified. Use Project sheets to specify the both DRC files.
Now you are ready to process. Choose Project | Scan for changes. You will see that one additional string node (Macapi) is added in to the Strings folder. It contains the mac specified resource strings of FireMonkey. All other resources are identical in all three platforms.
Once you build the localized files Sisulizer creates three sets of output files. One set in Win32\Debug directory. This contains the 32-bit Windows files. Another set in Win64\Debug directory. This contains the 64-bit Windows files. Finally the third set in OSX32\Debug directory. This contains the Mac files.
Sisulizer's FireMonkey\Converter directory contains a sample that shows how to localize a FireMonkey application with multiple targets.