Hello Markus,
A solution would be to provide some information about "context" of a string to be translated. This is a feature gettext and pootle are capable
I fear that's not the only problem: some strings are unique in English (ie occur only once in the .pot template) but have different translations in other language. We need not only informations on the context (class>>selector info is already present in the .po) but as well a way to distinguish in the Squeak source between "top [menu-entry]", "top [script-tile]", "top [somewhere-else]", etc. And I'm not sure it can be easily solved (since it's the same in English, each of these "top" would always appear as 'top'.translated in the source and thus generate only one entry with Gettext. Or maybe Gettext has disambiguation mechanisms?).
Have a nice day, Séverin