Le jeu 10/11/2005 à 00:56, Pavel Roskin a écrit :
ChangeLog:
- programs/notepad/*.rc:
Add CMD_FONT for all notepad resource files where it was missing. Ru.rc gets translated version, others get English version for now.
Please don't do that (copying the English part in all resource files). The Win32 localization implementation knows how to deal with missing resources (like menu items) in one language. Basically, the English version will be used instead. It's just much easier to know where there are missing parts (programmatically) if the string is absent than if it is the same as English (which can happen, "OK" is used in a couple languages).
This is especially true for MENUITEM and STRINGTABLE. It is a bit less true for DIALOG definitions, as as Dmitry already said, references to missing items can wreak havoc. And putting the DIALOG definitions in a common resource file is not doable as item placement/size is dependant on the translation.
Which brings the next thing: we need a resource editor, if only to help localization.
Vincent
Vincent Béron escreveu:
Le jeu 10/11/2005 à 00:56, Pavel Roskin a écrit :
ChangeLog:
- programs/notepad/*.rc:
Add CMD_FONT for all notepad resource files where it was missing. Ru.rc gets translated version, others get English version for now.
Please don't do that (copying the English part in all resource files).
I agree. Please, do not make this, therefore it only increases the translation work!
"Vincent Béron" vberon@mecano.gme.usherb.ca wrote:
Please don't do that (copying the English part in all resource files). The Win32 localization implementation knows how to deal with missing resources (like menu items) in one language. Basically, the English version will be used instead. It's just much easier to know where there are missing parts (programmatically) if the string is absent than if it is the same as English (which can happen, "OK" is used in a couple languages).
This is especially true for MENUITEM and STRINGTABLE. It is a bit less true for DIALOG definitions, as as Dmitry already said, references to missing items can wreak havoc. And putting the DIALOG definitions in a common resource file is not doable as item placement/size is dependant on the translation.
No, that's not true for menus and dialogs. If someone adds/changes/removes a menu or a dialog item in an english resource file it effectively makes all other locale resource files not valid any more. That's the whole point of the discussion about whether or not to ask to add an english string into other locales resources besides english.
-- Dmitry.
On Fri, 2005-11-11 at 02:09 +0800, Dmitry Timoshkov wrote:
"Vincent Béron" vberon@mecano.gme.usherb.ca wrote:
Please don't do that (copying the English part in all resource files). The Win32 localization implementation knows how to deal with missing resources (like menu items) in one language. Basically, the English version will be used instead. It's just much easier to know where there are missing parts (programmatically) if the string is absent than if it is the same as English (which can happen, "OK" is used in a couple languages).
In fact, the reason why I bothered to make that patch was lack of the "Font" menu item when Notepad was run in the Russian locale.
This is especially true for MENUITEM and STRINGTABLE. It is a bit less true for DIALOG definitions, as as Dmitry already said, references to missing items can wreak havoc. And putting the DIALOG definitions in a common resource file is not doable as item placement/size is dependant on the translation.
It's also dependent on the actual font size, and that's dependent on DPI and on availability of the fonts. I've seen Windows applications looking ugly in Windows at 120 dpi (the standard "large fonts" setting). In most cases, it should be possible to provide sufficient space for all translations using one layout.
We are not developing pretty applications. Programs like Wine Notepad serve as tests and as demos of winelib programs.
What I would really hate is that somebody trying to redesign the "Print" dialog in Notepad will have to adjust 22 dialogs. This way, our Notepad will never print.
If we want to reduce burden on developers, strings should be separate from the layout.
I'm ignoring BiDi issues for now. I think writing BiDi applications in pure Win32 API is a big pain. We could have one separate BiDi demo once winelib is ready to support it.
As an alternative to string separation, we could have a converter for resource files that would ensure that all translations have the same structure. The converter would have tokens for strings, numbers and "LANGUAGE" statements. The results of conversion would be compared by diff.
Using a simple sed script I found immediately that the Notepad File menu is arranged differently in the Russian and in the Bulgarian translations.
No, that's not true for menus and dialogs. If someone adds/changes/removes a menu or a dialog item in an english resource file it effectively makes all other locale resource files not valid any more. That's the whole point of the discussion about whether or not to ask to add an english string into other locales resources besides english.
I agree.