No announcement yet.
  • Filter
  • Time
Clear All
new posts

    FilterBuilder Boolean field equals operation question

    Some facts:

    1. In English locale
    - OperatorId.EQUALS is displayed as "equals (match case)"
    - OperatorId.IEQUALS is displayed as "equals"
    Therefore, the user is expected to think the simple equals means case insensitive, and the denoted, special version is the case sensitive one.

    2. However, in the Hungarian localized version, it is the opposite:
    - OperatorId.EQUALS is displayed as "egyenlő" which is the direct translation of the word "equals"
    - OperatorId.IEQUALS is displayed as "egyenlő (kis- és nagybetűket meg nem különböztetve)" which is the direct translation of the sentence "equals (lower- and uppercase characters are distincted)"

    3. For Boolean fields, OperatorId.IEQUALS is used by the framework independently of the actual operators set by field.setValidOperators (I think it might be a feature, not a bug).

    Unfortunately, the above means that for a Boolean field the Hungarian translation of "equals (lower- and uppercase characters are distincted)" is displayed as EQUALS/IEQUALS operation, which is really strange as making distinction between character case doesn't make sense in the case of Booleans, it should be a single "egyenlő" (equals).

    AFAIK, the only way I could fix this is changing the Hungarian translation of the operators to make them similar to the English version, where the case sensitive one is the denoted, special one. However, I really wouldn't like to do that because in my oppinion the Hungarian translation is the better one, equality should mean case sensitiveness by default. (I suppose we don't agree, that's why you made case insensitivess as default in the English localization.)

    In the end, would it be possible to introduce some possibility by which one would be able to specify per localization which equals operator text should be displayed in the case of boolean fields? Some framework logics is already there, as it thinks instead of the developer and uses IEQUALS anyway.

    SmartClient Version: v11.1p_2018-01-12/LGPL Development Only (built 2018-01-12)