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.
Description
In this PR, I manage to create a true i18n support that generically works for all languages. The motivation comes from when I worked on CN fork, the localization was a painful process and does not scala when new feature is added. By having true i18n support, devs from different region/client can easily translate every text in WoWSims, including UI labels, database items and spells, not only just the wowhead assets and tooltips.
Tech Design (WIP)
util.translate("feral.rotation.bearweave.label")
locale_en.json
). Whentranslate()
is being called, it should get the translation fromlocale_{lang}.json
. This action item might take multiple phases, starting from generic UI (e.g. home page, tabs etc. shared texts) to custom UI (e.g. class specific settings)locale
translation pipeline that synchronize withlocale_en.json
. Devs can either manually or use LLM to do the work.db.json
andenchants/descriptions.json
. This has been done in CN fork in the past; data crawled with the database pipeline from wowhead with different language tag creates massive amount of unconsistency in data. Therefore,db.json
in english should be the single source of truth.