Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(dev/core#1546) Fix translation of seed data
Overview -------- This fixes a regression in which seed data is not translated. Before ------ The `civicrm_data.*.mysql` files are not translated. After ----- The `civicrm_data.*.mysql` files are translated. There's a unit-test to check this. Comments -------- This regression stems from civicrm#15411, which aimed to allow extensions to define custom variants of `ts()`. The crux of the issue is "What happens if you try to translate a string before the system is bootstrapped - before the extension is loaded? What's your fallback behavior?" In civicrm#15411, it used a fallback behavior of "do no translation". In theory, you shouldn't really get into this scenario since UIs are pretty much always generated post-boot. However, it turns out that there is a situation where you have an un-booted system and need to translate strings -- i.e. when generating the localized `civicrm_data.*.mysql` data. Hence the bug. This patch preserves most of the changes from civicrm#15411, but it changes the fallback behavior from "do no translation" to "use the built-in/default translator".
- Loading branch information