I did some tests, and find out there are two levels to achieve this.
one is 'extension overrides default', another is 'extension overrides
extension'
1. 'Extension overrides default':
There are many translation come with eZ installation, you can find
them in share/translations/*, they are for the default theme and the
admin interface.
Sometimes, we may want the translation a little bit different than
the default one, but we don't want to change anything of the default
translations / templates, in this situlation, we can create a
translation extension for our own, find out the used translation part
in the template, and give a new specific translation in our own
translation extension, just to be mentioned, we need to have the same
translation part(the context name in the translation.ts), the same
source text, and of course, the same translation folder
correspondingly.
2.'Extension overrides extension':
Sometimes, we also want to change the translation of the third-
party extension, and without changing anything of that extension, we
can have the same ways just like the one above, same context name,
same source text, same translation folder. But there is one
difference, that is the loading sequence of the active extension, we
need to make sure our translation extension is loaded before the one
you are going to override, you can change this in the file "settings/
override/site.ini.append.php", the array "ActiveExtensions" of
"ExtensionSettings" settings block, here is an example:
ActiveExtensions[]=<your translation extension>
ActiveExtensions[]=<the one you want to override>