Active
Project:
Drupal core
Version:
main
Component:
language system
Priority:
Critical
Category:
Bug report
Assigned:
Unassigned
Issue tags:
Reporter:
Created:
17 Mar 2021 at 15:22 UTC
Updated:
21 Jan 2026 at 12:13 UTC
Jump to comment: Most recent
Comments
Comment #5
mattew commentedEncountered the same issue, on our website some migration modules are enabled then disabled on daily basis to perform some migration sync, it triggers \Drupal\locale\LocaleConfigManager::saveTranslationActive which was overriding our config values.
Our website is in french (default language), single language. So our config strings provided in the install folders of our custom modules were written in FR. So the solution for us was to make sure this yml files in these install folders provides the langcode property with a value of fr! Just modifying this install yml files fixed the problem! The solution is ridiculously easy regarding the damn difficulty to debug it...
Comment #6
pasqualleThis seems like a duplicate of #2806009: Installing a module causes translations to be overwritten. Comment #76 contains a patch to never override config translations with interface translations.
As a side effect configs need to be translated manually, as with that patch no automatic translation is happening from the known interface translation.
Other half related issue is #3150540: Configuration langcode is forced to site default language to make sure your config language does not change at import.
Comment #7
achapI think this should be re-opened. A number of people in the referenced ticket are still experiencing the issue described even after the fix. It is happening to me in the following scenario on Drupal 10.3
* I have some country names translated in locale E.g. United States = アメリカ in Japanese.
* We display country names in a language selector. That information is stored in simple config.
* Feedback from client was that country names should be displayed in their own language in the language selector. Translations should still exist in other contexts though.
* Put United States for the translation of United States in the Japanese config for the language selector. You could even delete the whole config file.
* Re-import locale like so: drush locale:import --type customized --override customized ja /app/translations/ja.po
* Export your config. You will notice that the config has been overridden with アメリカ
Comment #8
quietone commentedDrupal 9 is EOL. Changes are made on on 11.x (our main development branch) first, and are then back ported as needed according to the Core change policies.
It would help to have one issue for the discussion. Can you comment on the other issue that this is open? And update the Issue summary with the most recent steps to reproduce. Thanks
Comment #9
achapComment #10
anybodyI can confirm this is still happening, as reported by @achap and it's a critical issue for multilanguage sites.
Technically it might make sense to postpone this on #3150540: Configuration langcode is forced to site default language but that would also mean that issue should be seen as a critical fix.
Comment #11
szeidler commentedI have a similar problem just the other way around. My interface translations are overwritten by config when I run
drush cimIn my case the translation string "Delete" was translated to the Norwegian "Slett" in the "Interface translation". Now I'm doing a
drush cimand I'm able to reproduce that thesettings.default_delete_button_labelfrom thewebform.settingsconfiguration, which has the language: nb (Norwegian) and the English labelDeleteis overwriting the translation strings.Can be fixed be changing the webform settings, but I'm quite worried about the side-effects, that a config is overwriting already customized interface translation strings. So whatever I'm overwriting in in "Interface translation", will be in this case overwritten by the webform config.
Comment #12
anybody