tl;dr It seems that the labels blocks shown in the function page (one block per language) depend on the languages available as the persistent object labels (Z2K3), but this is not a restriction that faithfully reflects how the ZObject can be.
Steps to reproduce
- Go to the edit page for an existing function
- E.g. https://wikifunctions.beta.wmflabs.org/w/index.php?title=Z10118&action=edit&view=function-editor
- Click on "Add labels in another language"
- Select a valid language
- Add values for the input fields, but leave Name empty
- Click save
Observed behavior
- After successful save and being redirected to the view page, we can see that a Z2K3 empty label has been added for the new language
- This is incorrect, there should not be empty strings as labels.
Fix this error in the ZObject
- Go to the edit page again, and into the fallback editor.
- Remove the empty label and click Publish
- Go back to the function editor page: the block for the removed label doesn't appear any more, which means that we cannot even edit the input field labels that we had added.
- Expected behavior **
- The zobject saved should never send empty monolingual strings
- The zobject loaded in the function editor should show all available languages, even if they don't have a Z2K3 label