Modify

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

#8554 closed defect (fixed)

Please update translation strings for imagery_offset_db plugin

Reported by: Zverikk Owned by: team
Priority: normal Milestone:
Component: Plugin Version: latest
Keywords: translations, launchpad Cc:

Description

Hi! I'm sorry, because the update happened just 2 hours before I had planned to review all translation strings in my plugins. Who would've known, after 3 weeks of undisturbed language files :)

Could anyone please run the process again and update launchpad language packs for imagery_offset_db?

Attachments (0)

Change History (5)

comment:1 by stoecker, 13 years ago

Resolution: fixed
Status: newclosed

Please don't do such things:

+++ src/iodb/DeprecateOffsetAction.java (Arbeitskopie)
@@ -44,7 +44,7 @@
                 tr("Are you sure this imagery offset is wrong?") :
                 tr("Are you sure this calibration geometry is aligned badly?");
         if( JOptionPane.showConfirmDialog(Main.parent,
-                tr("Warning: deprecation is basically irreversible!\n{0}", desc),
+                tr("Warning: deprecation is basically irreversible!")+ "\n" + desc,
                 ImageryOffsetTools.DIALOG_TITLE, JOptionPane.YES_NO_OPTION, JOptionPane.WARNING_MESSAGE) != JOptionPane.YES_OPTION ) {
             return;
         }
@@ -77,8 +77,8 @@
             return;
         }
 
-        String message = "Please enter the reason why you mark this "
-                + (offset instanceof ImageryOffset ? "imagery offset" : "calibraion geometry") + " as deprecated:";
+        String message = tr("Please enter the reason why you mark {0} as deprecated",
+                offset instanceof ImageryOffset ? tr("this imagery offset") : tr("this calibration geometry")) + ":";

NEVER construct sentences.

There was a reason why I added "of type" in "A calibration of type {0}". This is also a "construct" sentence form. Though it is very hard to fix this properly without restructuring the sourcecode a lot, so you at least need to give the translator a chance. Proper solution form i18n point of view would be dropping the function completely and make individual sentences for each case. While constructed sentences work in German sometimes, this one is already intranslatable in German, when unmodified. When modified it only gets a little bit ugly.

Also the "never meant to happen, so no translation": Even if never meant to happen, it is a user visible string. So it must be translated.
Only exception are plain debug messages which are sent to console or messages meant only for bug report texts.

Don't assume anything about the structure of a language. There are languages, where all your assumptions are wrong. Sometimes it is impossible, to completely prevent the construction of sentences, but usually the result will be bad translations. This should be avoided at any possible place.

comment:2 by Zverikk, 13 years ago

Ok, I've got it. Please give me an hour, and I will fix such cases (including geometry types).

comment:3 by stoecker, 13 years ago

Some of them I fixed already, but go on and improve them... :-)

Proper i18n is not so easy. Takes a long experience until you get it right and I'm sure there are many cases I overlook still after many years.

comment:4 by stoecker, 13 years ago

P.S. I'm planning to have nightly i18n updates on launchpad as well, so no long times in future...

comment:5 by Zverikk, 13 years ago

I've improved translations once more (e.g. removed getGeometryType() altogether). Now I think the plugin is ready :)

Nightly updates would be good. I hope it won't be a long time till you configure them :)

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.