[Kst] [Bug 145477] New: Non-translatable strings due to string composition
Christian Mueller
cmueller at gmx.de
Wed May 16 00:12:35 CEST 2007
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=145477
Summary: Non-translatable strings due to string composition
Product: kst
Version: unspecified
Platform: Debian testing
OS/Version: Linux
Status: NEW
Severity: wishlist
Priority: NOR
Component: general
AssignedTo: kst kde org
ReportedBy: cmueller gmx de
Version: (using KDE KDE 3.5.6)
Installed from: Debian testing/unstable Packages
OS: Linux
Working on the GUI translations of kst 1.4 I identified some problems with the i18n.
They stem from the fact that in some places strings are created by replacing
arguments with other strings.
The dynamically created string is passed to the i18n function at runtime
but the message ID extraction that works on the static code has never
gotten to see any of the composed strings so they cannot be translated.
The examples I found:
1.) Please see src/libkstapp/ksteditviewobjectdialog_i.cpp:
void KstEditViewObjectDialogI::showEditViewObjectDialog(KstViewObjectPtr viewObject, KstTopLevelViewPtr top) {
_viewObject = viewObject;
if (_viewObject) {
_viewObject->setDialogLock(true);
}
_top = top;
updateWidgets();
if (_viewObject) {
setCaption(i18n("Edit %1").arg(_viewObject->type()));
}
_apply->setEnabled(false);
show();
raise();
}
And src/libkstapp/kstdatadialog.ui.h:
setCaption(i18n("New %1").arg(objectName()));
These setCaption calls have two problems:
First, the results of the calls to type() and objectName()
are not translated, and second, even if they were,
this construction kit for strings does not work for all languages / all cases.
The translation of "New" and "Edit" may depend on the actual second term
(e.g. its grammatical gender).
For example:
"New Equation" should be translated as "Neue Gleichung",
but "New Plot" should be "Neuer Plot", with an added "r" due to the
grammatical gender of "Plot".
Even if I try to circumvent the grammatical problem by chosing a neutral construct
(which may not even be possible in all languages / all cases)
I end up with a mixture of German and English, e.g. "Neu: Equation"
That's because "Equation" is not translated.
This string appears quite prominently in the window title of the
"New equation" dialog.
One solution I could think of would be to list all possible string
combinations as dummy strings so that the message ID extraction gets to see them.
That would solve both issues, I guess.
(I had talked to George Staikos about this issue but it was already too late for 1.4.
George suggested I file this as a bug to be fixed later.)
More information about the Kst
mailing list