|
|
Line 146: |
Line 146: |
| else | | else |
| return dataset | | return dataset |
| end
| |
| end
| |
|
| |
| loadData = function(dataset, lang)
| |
| dataset = sanitizeDataset(dataset)
| |
| if not dataset then
| |
| error(formatMessage(i18nDataset, 'error_no_dataset', {}))
| |
| end
| |
| return data
| |
| end
| |
|
| |
| -- Given a dataset name, convert it to a title with the 'commons:data:' prefix
| |
| link = function(dataset)
| |
| return 'c:Data:' .. mw.text.trim(dataset or '')
| |
| end
| |
|
| |
| formatMessage = function(dataset, key, params, lang)
| |
| for _, row in pairs(loadData(dataset, lang).data) do
| |
| local id, msg = unpack(row)
| |
| if id == key then
| |
| local result = mw.message.newRawMessage(msg, unpack(params or {}))
| |
| return result:plain()
| |
| end
| |
| end
| |
| if dataset == i18nDataset then
| |
| -- Prevent cyclical calls
| |
| error('Invalid message key "' .. key .. '"')
| |
| else
| |
| error(formatMessage(i18nDataset, 'error_bad_msgkey', {key, link(dataset)}))
| |
| end | | end |
| end | | end |
|
| |
|
| return p | | return p |