dangerous duplication - please fix
(I'm not sure if this will get through to the list, so I'm cc'ing those who did commits to the relevant dir)
Today I reviewed our po files and noticed a lot of new UI strings coming from the ui/ directory. This needs to be fixed immediately, or at least before we declare the string freeze and call the translators to update translations. These new strings are really a very bad idea for several reasons:
- They are duplicate of strings found elsewhere, but often non-exact duplicates (or their originals have changed since they were copied). This means a lot of useless extra work for translators, dangers of further desynchronization, etc.
- These strings are sometimes "fixed" wrongly. For example in stock-items.cpp, someone wrote "Select _Original Clone" instead of the "Select _Original". This "correction" simply does not make sense; what is meant is "select the original _of the_ clone" but even in that form it's wrong because it is applicable not only to clones.
- Most strings in ui/view/edit.cpp have hard-coded shortcuts in them, e.g "Next zoom (from history of zooms) (Shift+`)". This is absolutely intolerable, for obvious reasons. The old code has special provisions for generating shortcut strings for the UI, and losing that is a serious regression.
I can see several approaches to fixing this, please choose one or more as appropriate:
1. If this ui/ code is unused and is not going to be used, simply delete it and regenerate the po's.
2. If it is currently unused but may be used later, at least remove it from the list of po sources, so it does not contaminate the po files, until it is fixed properly.
3. Rewrite the code so that, where possible, it takes the strings from the standard central location. For example all verbs have their commands and tooltips in verbs.cpp, so copying them over into ui/stock-items.cpp is very very wrong.
4. Where 3. is not appropriate and you want to move some of the strings into some new code or structure, do this ONLY when that new code or structure is fully workable, and then immediately delete them from the source location, so that there's no duplication ever. Until then, use some placeholder strings in your code and make sure they don't get into the po files.
As you may have noticed, I'm _constantly_ revising and copyediting the UI strings, because it's such an important aspect of the UI. Please don't undermine my efforts. I hope this mess is cleaned as soon as possible.
Thanks!
Bulia, since you feel so strongly about this, and since the person who added this is no longer actively working in the project, this would be an excellent opportunity for you to finally contribute some time towards gtkmm. ;-)
Do not think that someone's trying to undermine your efforts - on the contrary, the only reason it differs is because it was done long ago, and lacked participation from someone like you to keep it in sync with the main codebase. As I mentioned last week, maintaining this code is beyond what I'm willing to commit to. If you support the gtkmm conversion, I would encourage you to take responsibility for it.
Bryce
On Fri, May 13, 2005 at 09:29:03PM -0300, bulia byak wrote:
(I'm not sure if this will get through to the list, so I'm cc'ing those who did commits to the relevant dir)
Today I reviewed our po files and noticed a lot of new UI strings coming from the ui/ directory. This needs to be fixed immediately, or at least before we declare the string freeze and call the translators to update translations. These new strings are really a very bad idea for several reasons:
- They are duplicate of strings found elsewhere, but often non-exact
duplicates (or their originals have changed since they were copied). This means a lot of useless extra work for translators, dangers of further desynchronization, etc.
- These strings are sometimes "fixed" wrongly. For example in
stock-items.cpp, someone wrote "Select _Original Clone" instead of the "Select _Original". This "correction" simply does not make sense; what is meant is "select the original _of the_ clone" but even in that form it's wrong because it is applicable not only to clones.
- Most strings in ui/view/edit.cpp have hard-coded shortcuts in them,
e.g "Next zoom (from history of zooms) (Shift+`)". This is absolutely intolerable, for obvious reasons. The old code has special provisions for generating shortcut strings for the UI, and losing that is a serious regression.
I can see several approaches to fixing this, please choose one or more as appropriate:
- If this ui/ code is unused and is not going to be used, simply
delete it and regenerate the po's.
- If it is currently unused but may be used later, at least remove
it from the list of po sources, so it does not contaminate the po files, until it is fixed properly.
- Rewrite the code so that, where possible, it takes the strings
from the standard central location. For example all verbs have their commands and tooltips in verbs.cpp, so copying them over into ui/stock-items.cpp is very very wrong.
- Where 3. is not appropriate and you want to move some of the
strings into some new code or structure, do this ONLY when that new code or structure is fully workable, and then immediately delete them from the source location, so that there's no duplication ever. Until then, use some placeholder strings in your code and make sure they don't get into the po files.
As you may have noticed, I'm _constantly_ revising and copyediting the UI strings, because it's such an important aspect of the UI. Please don't undermine my efforts. I hope this mess is cleaned as soon as possible.
Thanks!
-- bulia byak Inkscape. Draw Freely. http://www.inkscape.org
On 5/14/05, Bryce Harrington <bryce@...260...> wrote:
Bulia, since you feel so strongly about this, and since the person who added this is no longer actively working in the project, this would be an excellent opportunity for you to finally contribute some time towards gtkmm. ;-)
Right now I don't have time for this anyway, unfortunately. I may be able to look into it later, but for now, since this code seems to be unused, can you (or anyone else who has better idea of that code than I) please remove it from po sources, and add comments that these strings will have to be updated from such-and-such sources in such-and-such ways if the code is to be enabled?
On Sat, May 14, 2005 at 02:13:05AM -0300, bulia byak wrote:
On 5/14/05, Bryce Harrington <bryce@...260...> wrote:
Bulia, since you feel so strongly about this, and since the person who added this is no longer actively working in the project, this would be an excellent opportunity for you to finally contribute some time towards gtkmm. ;-)
Right now I don't have time for this anyway, unfortunately. I may be able to look into it later, but for now, since this code seems to be unused, can you (or anyone else who has better idea of that code than I) please remove it from po sources, and add comments that these strings will have to be updated from such-and-such sources in such-and-such ways if the code is to be enabled?
I haven't messed with any of the po stuff, it'd be better if you did this.
Bryce
On 5/14/05, Bryce Harrington <bryce@...260...> wrote:
I haven't messed with any of the po stuff, it'd be better if you did this.
Usually it's best for whoever created the mess to clean it up. But OK, I have just brutally replaced all strings in that dir with placeholders, added comments, and removed the dir from the po sources.
BTW there's one more reason why string duplication is bad, that I forgot to mention yesterday: aspiring coders who learn the codebase usually start by grepping for UI strings, so the duplicates can easily put them off track.
participants (2)
-
Bryce Harrington
-
bulia byak