News:

--

Main Menu

German translation

Started by blockx, February 12, 2010, 11:16:54 AM

Previous topic - Next topic

Jan Gruuthuse

#45
You can find the language files in latest git

Lance

I had a look into the files especially avidemux_de.ts and de.po. In my opinion most of the strings are already translated. But I cant see an effect by most of the strings within avidemux after applying the new translation file e.g. the first menu item File:
<message>
     <location filename="../avidemux/ADM_userInterfaces/ADM_GTK/ADM_gui2/GUI_main2.cpp" line="291"/>
     <source>_File</source>
     <translation>_Datei</translation>
</message>


or within de.po:

#: avidemux/ADM_libraries/ADM_utilities/ADM_gettext.cpp:37
#: avidemux/ADM_userInterfaces/ADM_GTK/ADM_gui2/GUI_main2.cpp:291
msgid "_File"
msgstr "_Datei"



On the other hand the following string applies to avidemux, e.g.:
<message>
    <location filename="../avidemux/ADM_userInterfaces/ADM_commonUI/DIA_prefs.cpp" line="420"/>
    <source>Preferences</source>
    <translation type="unfinished">Einstellungen</translation>
</message>


So why does the translation for the string Preferences work and for File it does not?


Furthermore I couldn't find e.g. the string Save as Image within the avidemux_de.ts and/or de.po. So it seems there is currently no way to translate this string, right?

Maybe someone could shed some light into this.

Jan Gruuthuse

You can find the language files  qt_de.ts avidemux_de.ts in latest git https://github.com/mean00/avidemux2/tree/master/avidemux/qt4/i18n

I don't have answers to your questions, I never used translation files.

eumagga0x2a

Here is an incremental update for the German translation. The attached patch adds 47 neu translations and modifies 7 existing ones. It doesn't address any deeper issues like duplicated Ctrl+T shortcuts etc.

I didn't dare to remove type="unfinished" entries. What are they exactly for? What is going to happen with 1925 "obsolete" translations in avidemux_de.ts?

eumagga0x2a

Just one caveat: usually the list of recently opened files lives in a submenu of the File menu. The current Avidemux Qt GUI departs from the canon and places "Recent" at the top level of the menu bar where the space is already populated by four more items which normally are put into a submenus. As german words are often quite long, this design decision doesn't work out well in the german locale.

The correct and already shortend translation for "Recent" would be "Zuletzt verwendet" ââ,¬â€œ 17 characters instead of 6! No way one could accomodate 11 additional characters in the menu bar, so I resorted to "Verlauf" ("History") instead. This is not really strictly correct, but this is as good as it gets and it still allows to use Alt+R shortcut to access the item via keyboard.

@@ -5672,11 +5672,11 @@ Drop timing informations ?</source>
     </message>
     <message>
         <source>&amp;Recent</source>
-        <translation type="unfinished"></translation>
+        <translation type="unfinished">Ve&amp;rlauf</translation>
     </message>

mean

First patch committed
Thx

eumagga0x2a

Here comes the next iteration. The "translation-update-de-20160731" patch removes the conflicting Ctrl+T shortcut, adds somewhat 26 new, modifies 8 existing translations and deletes an arbitrarily picked duplicate. I did dare to delete a bunch of type="unfinished" entries for translations where I was really sure this time.

This patch requires the attached patch for avidemux/common/ADM_commonUI/DIA_prefs.cpp to make more strings translatable.

More iterations to come, starting with keyboard navigation in menus.

eumagga0x2a

The time is ripe for the third iteration. The "translation-update-and-cleanup-de-20160811" patch removes 10 strings which should not be translated, adds 16 new translated strings, fixes a couple of old capitalisation and grammar issues and reworks a whole lot of my own translations from the first patch, adding accelerators in the main menu whenever practicable (I wish they were present in the English version) and resolving conflicts whenever possible.

Some translations do not work: http://avidemux.org/smif/index.php/topic,16909.msg76132.html#msg76132

The second patch, "make-adm-composer-strings-translations-work" makes already existing translations (and one new) in the ADM_Composer context work, replacing three incidences of QT_TR_NOOP in avidemux/common/ADM_editor/src with QT_TRANSLATE_NOOP in ADM_Composer context. If the idea of this patch is based on my error, please ignore it.

eumagga0x2a

Here comes the next iteration as i18n-de-update-2016-09-04-and-remove-period-in-filter-names.patch merged with a partial fix for http://avidemux.org/smif/index.php/topic,17067.0.html and a patch to accomodate the newly added "addBorder" context from [i18n] Make more strings translatable (Daniel Amm) as many .ts files already contained suitable translations for this plugin in "addBorders" context.

My apologies for the massive all-in-one patch, I tried to operate with stacked, isolated patches and finally messed up the stack at some point  :-[

eumagga0x2a

#54
Mean, if you are unhappy with an all-in-one patch, I'll carefully separate German translation update, the periods-after-filter-names cosmetics (maybe extended to include all offenders) and the new-context-for-existing-translations patch for the remainder of .ts files. This work wasn't doable yesterday. But prior to putting more time and effort into it, some communication would be helpful.

eumagga0x2a


eumagga0x2a

It's been a while since I last updated the German translation  ;)

The new iteration almost finalizes the translation of the top level of the main window, finally including tooltips, and adds translations for the "Black" and "Change FPS" plugins (total of 41 added or modified strings). A solution for numerus in translations is being sorely missed...

Translations for strings from avidemux_plugins/ADM_videoFilters6/changeFps/changeFps.cpp:38

const PredefinedFps_t predefinedFps[]=
{
{QT_TRANSLATE_NOOP("changeFps","Custom"),         10000,1000},
{QT_TRANSLATE_NOOP("changeFps","25  (PAL)"),      25000,1000},
{QT_TRANSLATE_NOOP("changeFps","23.976 (Film)"),  24000,1001},
{QT_TRANSLATE_NOOP("changeFps","29.97 (NTSC)"),   30000,1001},
{QT_TRANSLATE_NOOP("changeFps","50 (Pal)"),       50000,1000},
{QT_TRANSLATE_NOOP("changeFps","59.93  (NTSC)"),  60000,1001}
};


have no effect; any ideas why, please?

mean

Not sure it is valid, i.e. the original code

eumagga0x2a

I wish I would understand your hint. Is the problem related to QT_TRANSLATE_NOOP not being located inside a function?? The code as such works (though there is not much use of this plugin as it doesn't simultaneously operate on audio) and the *.ts file entries are correct.

A screenshot is attached.

mean

That one was a bit of a puzzle.
The problem was actually 2 problems :
1- The pro file was outdated and the update script was broken. This is fixed
2- Two filters have about the same translation strings, but only one appeared in the pro file due to the above
So you were changing another filter

Both are hopefully fixed now