[sane-devel] "Well known" Colour mode strings
Matthew Duggan
stauff at guarana.org
Wed Apr 28 06:08:02 BST 2004
Hi all,
I have a suggestion regarding the values for the SCAN_MODE option. In
saneopts.h we currently have SANE_[NAME|TITLE|DESC]_SCAN_MODE, all in
nicely translatable strings. Unfortunately, a quick grep through the
backend source shows that each backend has "accepted" values for this
option hard-coded in (wc tells me that it's in 88 different places for
"Lineart").
Worse, some backends initially define values as SANE_I18N, then do
strcmps in other places without the SANE_I18N decoration. This will
surely cause trouble for people using translated versions of SANE.
What brought this to my attention was a bug (#300689) filed against the
canon_pp backend noting that it returns an error if you request Color or
Gray modes.. the reason being that as a hangover from when I wrote a
stand-alone test program, I've spelt them "Colour" and "Greyscale".. the
former being the correct spelling in my part of the world (and anywhere
outside of en.US for that matter). This is also possibly a bug in
scanimage for not giving the backend-provided stringlist options for the
--mode option.
So, my suggestion is that we also have VALUE strings defined in
saneopts.h in a translatable fashion, to avoid the repetition of string
constants, avoid the logical errors in translated versions, and avoid
the inconsistancies that can develop between backends.
I realise we're currently frozen, that's partly why I haven't gotten as
far as making a patch to do this, but I forsee something like:
#define SANE_NAME_SCAN_MODE "mode"
...
#define SANE_VALUE_SCAN_MODE_COLOR SANE_I18N("Color")
#define SANE_VALUE_SCAN_MODE_GRAY SANE_I18N("Gray")
#define SANE_VALUE_SCAN_MODE_LINEART SANE_I18N("Lineart")
#define SANE_VALUE_SCAN_MODE_LINEART_COLOR SANE_I18N("Lineart Color")
Comments?
Cheers,
- Matthew Duggan
(Native en.AU speaker)
More information about the sane-devel
mailing list