Is there a way to connect component streaming with i18n? The biggest problem is that in a GUI application, there are thousands of properties that could be visually designed and translated: TLabel.Caption TForm.Caption, button captions, grid column titles etc. It is very inefficient to manually write i18n code for for visually designed forms.
I could myself write program code to traverse the component tree, find these translatable properties and save/load their values at runtime. But it would be much more efficient to build this function into component streaming and the visual designer itself.
I was a Delphi programmmer about 10-15 years ago, and I can remember that Delphi already had this functionality built-in: not only manually declared resource strings, but also published string and stringlist properties were extracted automatically and they could be translated. I don't remember the exact method, but I believe the translations went into separate DLL files. I'm not saying that gettext is wrong. I'm just saying that if it was working in Delphi 5, then it should also probably work in Lazarus.