From koffice-devel Wed Oct 31 20:58:24 2007 From: Burkhard =?utf-8?q?L=C3=BCck?= Date: Wed, 31 Oct 2007 20:58:24 +0000 To: koffice-devel Subject: Re: i18n errors in koffice Message-Id: <200710312158.24904.lueck () hube-lueck ! de> X-MARC-Message: https://marc.info/?l=koffice-devel&m=119386680114327 On Wednesday 31 October 2007 18:35:52 Thomas Zander wrote: > On Wednesday 31 October 2007 18:02:16 Burkhard Lück wrote: > > plugins/dockers/Messages.sh:2:$XGETTEXT *.cpp shapeselector/*.cpp -o > > $podir/koffice-dockers.pot > > This is a message catalog with only one msgid, which is nonsense from a > > translators point of view. > > Less work is bad? Translations for an application spread over a lot of small catalogs means more work to keep the translations consistent and fix bugs. Developers (translators) avoid having duplicate code (translations of the same string), they use libraries (kdelibs4, koffice, one catalog for one app). > The plugin is pretty empty, we are focussing on other functionality first, > but i'm pretty sure it will eventually have more messages. With plugin you mean plugins/dockers/Plugin.cpp:26:K_EXPORT_COMPONENT_FACTORY(kofficedockers, KGenericFactory( "Plugin" ) )? Then this is untranslatable because "Plugin" != "koffice-dockers" > Also relevant is that the apps should decide what to do with their dockers > that other apps can reuse. Some of them should be moved to this subdir. > But none of the app devs has actually done this so far. > > > Worse that a message catalog with the > > name "koffice-dockers" is not used by any koffice application, so the > > string "Shapes" can be translated, but the translations are not shown eg > > in kword or kspread. > > How do I specify which 'message catalog' to load? http://techbase.kde.org/Development/Tutorials/Localization/i18n_Build_Systems kdelibs/kdecore/util/kpluginfactory.h An Example: plugins/textediting/spellcheck/SpellCheckPlugin.cpp:29:K_EXPORT_PLUGIN( SpellCheckPluginFactory("SpellCheckPlugin") ) "SpellCheckPlugin" is the name of the message catalog, a Messages.sh with extraction to this catalog was missing, I added it today. Another one: kspread/plugins/insertcalendar/InsertCalendar.cpp:49:K_EXPORT_COMPONENT_FACTORY( libkspreadinsertcalendar, InsertCalendarFactory("kspreadinsertcalendar")) "kspreadinsertcalendar" is the name of the message catalog. The corresponding catalog "kspreadinsertcalendar" is extracted in kspread/plugins/insertcalendar/Messages.sh:2:$XGETTEXT rc.cpp *.cpp -o $podir/kspreadinsertcalendar.pot The name in the macros have to match the catalog names defined in the Messages.sh and all strings in the plugin/component have to be extracted into these catalogs. Nonmatching catalog name or misssing extraction to catalog -> untranslatable messages. > > Do note that we are also still hoping we can find a volunteer to make the > plugin-selector dialog where that one string will actually be shown. In > other words, the string will not be visible in any GUI yet until that > happens. Burkhard Lück _______________________________________________ koffice-devel mailing list koffice-devel@kde.org https://mail.kde.org/mailman/listinfo/koffice-devel