Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Investigate moving localization off CurseForge #949

Open
Meorawr opened this issue Jul 4, 2024 · 1 comment
Open

Investigate moving localization off CurseForge #949

Meorawr opened this issue Jul 4, 2024 · 1 comment

Comments

@Meorawr
Copy link
Member

Meorawr commented Jul 4, 2024

The CurseForge localization system is absolutely dire and we're questioning if the supposed benefit of easy access is really worth it. Alternative more generic systems exist like Weblate - we could possibly look into using those instead.

One challenge of note; the CF import process accepts a Lua chunk and parses it for us. Any alternative won't know about Lua so we'll need some script support to parse our strings and put them into an intermediate format (.po, .ts, .csv, whatever is most convenient - the hard work is more in the parser).

Meorawr added a commit that referenced this issue Jul 5, 2024
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.
Meorawr added a commit that referenced this issue Jul 5, 2024
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.
Solanya pushed a commit that referenced this issue Jul 5, 2024
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.
@Raenore
Copy link
Collaborator

Raenore commented Jul 16, 2024

Figured I'd mention it:

Another website I see used a lot for open-source projects on GitHub, aside from Weblate, is called Crowdin.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants