PathOfBuildingCommunity / PathOfBuildingCommunity/PathOfBuilding-PoE2

Added an i18n layer (tested with Chinese) — feel free to use

Open
#2,256 1 comment 1 reaction 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.