No idea what you are doing wrong here. I just repeated my test with Laz 1.6.4/fpc3.02 (the version of your signature, 32-bit and 64-bit) where the lclstrconsts never had been in the translations directory. I copied the files to this folder, compiled the demo project, selected a non-English language, and the messagedlg was in the translated language.