Summary: Does not handle exceptions when loading translations
Submitted by: yavor
Submitted on: Fri 24 Nov 2017 04:36:29 PM EET
Severity: 3 - Normal
Item Group: Bug
Assigned to: None
Discussion Lock: Any
I tried to translate a .gorm file using Gorm's Document->Translate feature.
Exported the strings fine but couldn't load the translated .strings file. I
selected the file in the open panel, pressed OK, the panel disappeared but
nothing happened. It took me some time to figure out what's going on...
The exported strings are unquoted when there is only one word and I simply
forgot to quote one translated string. So the exception that is rasied in
GSPropertyListFromStringsFormat is not caught by Gorm. IMHO this is not
proper behavior: Gorm should report the error, otherwise the user is left
wondering what actually happened. Also, you should not assume that
translators are aware that strings must be quoted, so I think it is a good
idea to provide them with some hint (using the established practice of
conveying information with a comment starting with "TRANSLATORS:").
Attached is a patch that fixes this issue. I see that the ChangeLog has not
been updated recently, but here is a suggested entry anyway:
One thing is bothering me... GUI sets its own exception handler so if
application code does not catch an exception, a critical alert panel must be
shown in addition to the usual logging that comes from Base. In this case
there is no alert panel and nothing is logged. I thought it might be a bug in
the runtime but at first glance it doesn't seem so. A minimalistic program
([NSApplication sharedApplication] immediately followed by code that triggers
an exception) works as expected.
I'm quite certain there's another bug here; uncaught exceptions shouldn't be
swept under the carpet. Any ideas?