OpenCPN / OpenCPN

A concise ChartPlotter/Navigator. A cross-platform ship-borne GUI application supporting * GPS/GPDS Postition Input * BSB Raster Chart Display * S57 Vector ENChart Display * AIS Input Decoding * Waypoint Autopilot Navigation
https://opencpn.org/
GNU General Public License v2.0
1.04k stars 496 forks source link

Double define translations are going to wrong translations. (example for german) #3054

Closed BerndCirotzki closed 1 year ago

BerndCirotzki commented 1 year ago

I found (for example) two translatoins. One in "opencpn_de_DE.po" and the same in "plugins/dashboard_pi/po/de_DE.po" with different meanings.

opencpn_de_DE.po ..

: src/ais_target_data.cpp:1676

msgid "Port"
msgstr "Hafen" ..... this write, when you meen the "harbor", but wrong when you meen "go to port" then it is "Backbord"

plugins/dashboard_pi/po/de_DE.po ...

: src/dashboard_pi.cpp:1747 src/dashboard_pi.cpp:1970 src/dashboard_pi.cpp:2884

msgid "Port" msgstr "Bbord" .... this is right here.

So the Plugin uses the OpenCPN translation (sometimes) ... but this is wrong. I thing, it is important to use the correct ".po" file for translation by Plugins.

rgleason commented 1 year ago

Jon Gough has handled this issue in ocpn_draw in a unique way. Perhaps you should ask him what he did?

Hakansv commented 1 year ago

The "Port" in opencpn..po (ais_target_data.cpp:1676) refers to Port as opposite to Starboard. So the DE translation there would be changed to "Bbord" This is a common trouble for words like this. So the general rule for developers is to avoid use of words that can have double meaning in different language. It's not easy. For the "Port" example " data port" is used and not the single "port". "Harbor" is used and not "Port". I searched the code and the single word "Port" is used only for the left side of the boat. So far....

Hakansv commented 1 year ago

So the Plugin uses the OpenCPN translation (sometimes) ... but this is wrong. I thing, it is important to use the correct ".po" file for translation by Plugins.

This is not able to control for the time being. The used translation function can't detach between the core program and plugins in that way. Core OCPN translation seems to get priority. Now while beta testing OCPN is the time to identify more such mismatched if any.

BerndCirotzki commented 1 year ago

So in this case it's very simple it is only a simle translation error. correct in the OpenCPN translation to

: src/ais_target_data.cpp:1676

msgid "Port" msgstr "Bbord"

and everything is OK for both cases.

Hakansv commented 1 year ago

Yes, please update Crowdin

BerndCirotzki commented 1 year ago

made a pull request.