Created attachment 139203 [details]
Screenshot of "Properties: Pattern Field" dialog
If possible please improve these property names as follows:
Rename Literal mask To Mask literals
Rename Edit mask To Mask operators
An alternate name option:
Rename Literal mask To Mask character constants
Rename Edit mask To Mask character filter selectors
As it is now, with the word "mask" following "Literal" and "Edit", it appears that these are two different masks.
You don't say "Dog brown". Rather you say "Brown dog". The 2nd word (in this case "dog") is the thing itself.
Actually these properties are not two masks but rather two inputs used together for one masking operation.
1) The first property is a set of character constants, one per character position. The word literal is fine, but because it's singular it suggests just one thing. "Literals" (plural) suggests a set of independent things, which is closer to what is happening here. (Each character position operates independently of other character positions, thus the idea of a mask.)
2) The second property is a set of function selectors, one per character position, which might also be called operators.
Therefore I think the word "Mask" should be first to denote that these are both related to the mask, then should be followed by what the property actually is, in this case the dog is a either a set of character literals or a set of function selectors or operators. (Both plural.)
BTW, "Edit" (in "Edit mask") isn't really right because we're not always editing. We might be creating, like with a new record.
Also as it is now some users get confused and think this is like a regular expression or globbing type pattern, ref: https://ask.libreoffice.org/en/question/64386/cannot-enter-phone-numbers-into-pattern-field/ Making these plural, and denoting that they both feed into the mask should help with this confusion I think.
Contrast this to the terminology for a "bit mask operation", where 01101110 are the "mask bits", and the mask operation is specified elsewhere, e.g. XOR, AND, etc.
In this case the mask operation is just one thing performed over and over for each bit position, in other words it's a set of side by side XORs - or a plurality.
To better reflect on what Pattern Field does, imagine if each bit position were dealt with differently, e.g. bit position 0 as ANDed, bit position 1 was XORed, bit position 2 ORed, etc. Then we might refer to "bit operators" - again plural.
So changing these properties from singular to plural to me suggests that what follows is not one thing that operates as a whole, but rather a plurality of things that operate independently which is what actually happens.
For reference, here are the mask operators:
a - Alpha : Input a-z | A-Z -> Outputs a-z & A-Z
A - Alpha upper : Input a-z | A-Z -> Outputs A-Z
c - Alpha-numeric : Input a-z | A-Z, & 0-9 -> Outputs a-z, A-Z, & 0-9
C - Alpha-numeric upper : Input a-z | A-Z, & 0-9 -> Outputs A-Z, & 0-9
N - Numeric : Input 0-9 -> Outputs 0-9
x - Any : Input * -> Outputs *
X - Any upper : Input * -> Outputs uppercase*
L - Literal : Use the "Literal mask"'s character value for this character position, i.e. this position can not be edited.
With the "upper" flavors `a-z` will be automatically converted to `A-Z`.
With '*' all printable characters can be input, and are output just as they are or upper case converted.
A similar question regarding incorrect translation of these terms into French has recently come up one of the French mailing lists (QA-fr ?), so setting to new.
Of course changing the order to "Mask literals" and "Mask character constants" could lead to these expressions being translated by the active verbal form, instead of in the way you intend them Howard, so your suggestion is not as unambiguous as you might think.