A Lexeme page currently has two places to enter a language code: the language code associated with the lemma and the language code associated with the representation. As a user I expect them to accept the same input. Currently the input for the language code of the lemma is correct and the input for the language code of the representation should be adjusted.
{F16745033}
Leszek dug up how the validation is currently done:= Acceptance criteria =
* check whether the entered language code is the language code recognized as * It is impossible to add a **lemma** using the **invalid by "core" wikibaselanguage code**
* in case the user input lang code is not valid that wayIt is impossible to add a **form representation** using the **invalid language code**
Invalid language code here means any string other then the valid language code, defined for the scope of this task as follows:
- the string which is a language code recognized as valid by "core" wikibase
- if the input contains a part '-x-' in it, the extra check happenspart before '-x-' is a language code recognized as valid by "core" wikibase
== Examples of valid language codes ==
- en
- de
- de-at
- de-x-Q1996
== Examples of invalid language codes ==
- foobar
- de-Q1996
* if the input contains a part '-x-' in it, the part before '-x-' is taken, and validated the same way as above. In other words. Assuming "de" is a valid wikibase lang code, and "foo" is not, for lemma and representation language the following stuff is considered valid: de, de-x-Q666, de-x-yolo. And the following are to be considered invalid: foo, foo-x-Q666, foo-x-yolo, de-yolo, de-Q66- foobar-x-Q1996
TBA: describe the behaviour visible by user in a BDD style (no error message shown, but not storing invalid data)
Code pointer: the entered lang code is checked using validator provided by LexemeValidatorFactory::getLanguageCodeValidator