Removing hardcoded "Desktop" from the default names of desktops

Alexander Potashev aspotashev at gmail.com
Mon Jul 12 23:02:38 BST 2010


Hi,

Currently, the default names of desktop are "Desktop 1" through
"Desktop 20". That makes at least 2 problems:
1. The user can rename a desktop to something like "Reading", then
press Alt+Tab to look at the list of windows
(http://omploader.org/vNHdzeQ) and see the word "Reading" while he
already has forgotten about names of desktops.

2. Problem of translation of "On %1" from plasma_applet_tasks.po. Here
%1 is the name of desktop. If you want to make a proper translation
into a language with grammatical cases, you can use one of these
techniques, but none of them are perfect:
A. translate "On %1" as "%1". This is the solution (hope, temporary) I
used recently for Russian translation in order to satisfy this bug
report: https://bugs.kde.org/show_bug.cgi?id=243557 . With "On %1"
being completely translated (including the preposition "on") the
Russian translation of "On Desktop 1" has meaning "[Put] onto desktop
1", because "Desktop" is not in the proper grammatical case.
B. use http://techbase.kde.org/Localization/Concepts/Transcript like
Serbian team does: http://omploader.org/vNHd0cw (here the desktop name
"Површ 20" was changed to "површи 20"). The problem here is that if
the user renames the desktop to "Reading", scripting stops working; it
only works if the desktop name is "Desktop 1" through "Desktop 20".
C. translate "On %1" as "On desktop %1". But that makes ugly
translations like this: http://omploader.org/vNHd0cg (Italian)


Solution:
Step 1. Wrap all (may be not really all) calls to desktopName() with
something like i18n("Desktop %1", ...desktopName()...)
Example of where it should be done:
http://lxr.kde.org/source/KDE/kdebase/workspace/kwin/desktopchangeosd.cpp#371
Example of where it is already done:
http://lxr.kde.org/source/KDE/kdebase/workspace/plasma/desktop/applets/tasks/windowtaskitem.cpp#224
Step 2. Change default desktop names from "Desktop %1" to "%1"
After that you can translate "Desktop %1" in different ways for
different contexts.

What do you think about this idea?


-- 
Alexander Potashev




More information about the kde-core-devel mailing list