As a data model maintainer, I want to check that some Properties are only used on Lexemes with certain languages, in order to ensure that they are used correctly.
Problem:
@Esc3300 created a constraint Item language required by this Lexeme. Presumably, we should support it.
Example:
The constraint type is used on the property Japanese pitch accent type, with the language Japanese.
Screenshots/mockups:
Message drafts:
For the case where there is only one allowed language defined on the Property:
The Property Japanese pitch accent type should only be used on Lexemes in Japanese.
For the case where there are multiple allowed languages defined on the Property:
This Property should only be used on Lexemes in one of the following languages:
- Japanese
- whatever
- …
BDD
GIVEN I am visiting a lexeme using a property with a “language required by this lexeme” constraint on either the Lexeme-level statements or on its Forms or Senses
AND the lexeme does not have the required language
THEN there is a “constraint violation” icon on the statement(s) with that property
AND the violation message explains the problem, including listing the allowed language(s)
Acceptance criteria:
- the constraint type is implemented
- after editing the language and reloading the page, the violation is no longer shown
- for now it is not necessary to remove the constraint violation indicator without reloading the page
- Check nothing breaks if the Lexeme extension isn't enabled in the wikibase instance
Open questions:
- If more than one language item is specified in the constraint parameters, this means “one of these languages”, correct? @Esc3300 @Ivan_A_Krestinin -> Yes!