afrux / asirem

The weird Flarum theme made with potatoes as fuel, by Afrux.
MIT License
34 stars 11 forks source link

Use translation files instead of hard-coding #5

Open littlegolden opened 2 years ago

littlegolden commented 2 years ago

Looks like the UI content is currently hard coded, any plans to use translated files?

SychO9 commented 2 years ago

They're not hardcoded, they're part of afrux-theme-base which is the base package which will be used across afrux themes :)

https://github.com/afrux/flarum-theme-base/blob/master/locale/en.yml

rob006 commented 2 years ago

That is a bit tricky from language pack perspective, because Flarum will load only translations from enabled extensions. Since afrux/flarum-theme-base is not even an extension, it won't work if we include translations in afrux-theme-base.yml file, we need to include them in afrux-asirem.yml. If you create 10 themes which uses afrux/flarum-theme-base, these translations will need to be duplicated 10 times in language pack (each theme will need its own copy in its YAML file), with possible conflicts and inconsistencies (they will share the same keys).

It would be much easier for translators to mark afrux/flarum-theme-base as actual extension and handle translations in standard way.

SychO9 commented 2 years ago

Hmm, interesting, it makes sense that not everything is loaded from language packs, the amount of translations across so many extensions can easily become huge. That said I don't want to have that package be an extension, I imagine it'll be confusing.

The best thing would be to have something in core to allow this use case, I think it's a valid one. I might be able to hack something in the code from my side to have the afrux-theme-base.yml loaded from language packs.

I created an issue in the core repository https://github.com/flarum/core/issues/3091, and if I have time I'll try implementing a temporary solution on my side.