PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding-PoE2
Added an i18n layer (tested with Chinese) — feel free to use
Nobody has claimed this yet.
- Dominant language
- Lua
- Stars
- 1.9k
- Forks
- 451
- Avg merge
- 21h 16m
- Merged PRs (30d)
- 68
Description
What
Add an internationalization (i18n) mechanism to PoB2 — a generic framework so the program can be displayed, typed, and searched in any language, driven by plain-text PO catalogs. Not a specific language; the mechanism itself.
Why
Localizing PoB2 was never hard technically — the blocker is volume: tens of thousands of strings no single maintainer can translate. That's understandable, and it's why upstream never shipped translations. But that volume is exactly the part that doesn't need a developer. The one-time developer job is adding the i18n layer; after that, translating is ordinary text-editing the community can crowdsource, in any language.
The mechanism (three sides)
A real localization needs more than display, so the mechanism covers all three:
- Display — UI, items, skills, passives, stat lines render in the chosen language at display boundaries.
- Input — input fields patched so non-ASCII (CJK) text can be typed directly; the base engine couldn't accept this before.
- Search — search matches translated text too, so entries are findable by their localized name.
Plus Unicode font fallback for CJK glyph rendering. Data boundaries stay raw: builds, import/export codes, trade values, and calculation internals remain English, so everything stays upstream-compatible.
Reference / proof
I built a working fork and used Chinese (zh_TW) as the test case to prove the mechanism end-to-end (display + input + search), including a portable build people can run:
https://github.com/woolkingx/PathOfBuilding-PoE2-i18n
Chinese is just the test vehicle — the same layer works for any language.
- Lua display/search layer + engine-level CJK input patch (SimpleGraphic).
- Source-only patch against upstream
b8048682; the i18n change is isolated in its own commits for easy review.
Feel free to use any of it if it's useful.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing the linked PathOfBuilding-PoE2-i18n fork and its source-only patch against upstream commit b8048682, especially the isolated i18n commits. Check how the Lua display/search layer and SimpleGraphic CJK input patch address display, input, search, and font fallback. Done means a generic PO-catalog mechanism supports those three surfaces while build data, import/export codes, trade values, and calculations remain raw.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- lua
- Domain
- internationalization
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100