Problem
Have some content with translations that should be imported into a translatable page. Doing it manually translation by translation takes too much time. It should be possible to import translations from a structured format.
Possible solution
Implement a maintenance script that takes a CSV file as an input. Columns are languages, language code is header. Rows are translations in different languages. First row is translation unit id. To make it easier to match translations to the translation unit ids, provide an option to export a template CSV file with translation unit ids in the first column, and message definitions in the second column.
This script should work for any type of message group, but translatable pages is expected to be the most common use case.
When importing, "translations" for the source language are ignored. Empty values are ignored. Existing translations are not overwritten unless --overwrite option is given.
The script must validate language codes and translation unit ids and not import anything if there are issues with them. The script should perform Unicode normalization on the input text.
The script should have command line options for giving edit summary and the performing user. Maybe also default to dry-run mode to validate input and show what would happen.
By using a command line script, we do not have to deal with complexities of using a job queue. In case the number of such requests increase, a self-service web interface is an option for later.