Hi all,
this prefix with plugin name for each key-value pair really works.
Remark - I am adding “hr” (Croatian) language into the languageNativeNames.js via patch-package.
As a proof of concept, I tried this in app.js
import hr_plugin_upload from "./extensions/translations/hr-plugin-upload.json"
const keys = Object.keys(hr_plugin_upload)
let hr_plugin_upload_ex = {}
keys.forEach(k => {
hr_plugin_upload_ex["upload." + k] = hr_plugin_upload[k]
})
And then:
export default {
config: {
locales: [
'en', 'hr'
],
translations: {
'en': {
// ...en,
...en_edit_views,
...en_custom
},
'hr': {
...hr,
...hr_edit_views,
...hr_custom,
...hr_plugin_upload_ex
}
}
},
...
Finally! 
Now “only” table column names and enumeration values are not translated - but this is another problem.