Improve import and export of translation strings #955
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Following on from the lessons previously learned in #946 and #948, we'll set the delete-missing-phrases flag only on enUS uploads going forward as that appears to work fine. All other translation uploads will not set the flag.
This means that going forward the minimum required process to delete a translation string should just be to remove it from the 'enUS.lua' file; a subsequent import of translation strings would then remove it from all other files automatically. It is, however, totally permissible to remove the string from all files if that would make things clearer.
Additionally I've made some of the terminology around the place a bit more consistent for this whole process, eg. preferring to use "translations" instead of "locales" for target names and workflows. For the possibility of using non-CF sources (#949) I've also removed "CurseForge" from the workflow strings.
Finally - one functional change; we no longer import translations on commits to main. We continue to export new strings from the enUS file, but that's all. The importing of non-enUS translations continues to happen on the same timer it always has, as well as being manually runnable.