Hi,
I'd like to be able to load resourcestring translations at runtime using TsiCustomLang.MergefromFile(stStrings, 'C:\Myfile.sil') and I'm using a registered 5.22 Version of tsilang.
My problem is that translations do not show up if I do that, I always get the native Resourcestring.
(In SiLoadResString, the string returned by S := TsiCustomLang(ResourceHandler).FLangStringsColl.GetTranslationByLang(Result, TsiCustomLang(ResourceHandler).ActiveLanguage) is always empty ('');
I know that TsiCustomlang.LoadAllFromFile works, but I'd like to avoid TsiCustomlang.LoadAllFromFile because it deletes all strings that were added while an external translator translated the sil file.
Is there a fix available or did someone find a workaround ?
Thanks,
Henrich.
TsiCustomLang.MergeFromFile : resourcestrings don't work
more update problems
I found another couple of missing updates for tcustomsilang.fstringscoll and
tcustomsilang.fLangstringscoll.
1. Besides resourcestrings, regular strings can't be merged from a file : the same thing happens - the translation from the file (GetText()) never shows up.
2. Assume you call Tsilangrt.EditAll and change a resourcestring translation. Even after switching the language back and forth, this change does not show up.
The same is valid for a regular string (GetText()) because this uses FStringsColl in TsiCustomLang.GetTextFrom :
(Result := FStringsColl.GetTranslationByID(TextID, FActLang))
It seems to me that tsicustomlang.fstringsColl and tsicustomlang.fLangStringsColl are not updated in a lot of situations - and I don't know how to do that manually.
Am I missing something
Please help / advice !
Henrich.
tcustomsilang.fLangstringscoll.


1. Besides resourcestrings, regular strings can't be merged from a file : the same thing happens - the translation from the file (GetText()) never shows up.
2. Assume you call Tsilangrt.EditAll and change a resourcestring translation. Even after switching the language back and forth, this change does not show up.
The same is valid for a regular string (GetText()) because this uses FStringsColl in TsiCustomLang.GetTextFrom :
(Result := FStringsColl.GetTranslationByID(TextID, FActLang))
It seems to me that tsicustomlang.fstringsColl and tsicustomlang.fLangStringsColl are not updated in a lot of situations - and I don't know how to do that manually.
Am I missing something

Please help / advice !
Henrich.
Hello,
The issues with updating strings have been fixed. The next version release 5.2.3 is currently under beta testing and will be available within a week. If you need the patch promptly please contact us at support@sicomponents.com.
The issues with updating strings have been fixed. The next version release 5.2.3 is currently under beta testing and will be available within a week. If you need the patch promptly please contact us at support@sicomponents.com.
Best regards,
Serghei Gaivan
Serghei Gaivan
Thanks a lot for the quick response. As I found a temporary way to fix it yesterday evening, I'll just wait for the release next week.gaivans wrote:Hello,
The issues with updating strings have been fixed. The next version release 5.2.3 is currently under beta testing and will be available within a week. If you need the patch promptly please contact us at support@sicomponents.com.
Henrich.