Skip to content

feat: centralize application language in main - #3653

Open
Tunglies wants to merge 5 commits into
gitify-app:mainfrom
Tunglies:feat/application-language
Open

Tunglies wants to merge 5 commits into
gitify-app:mainfrom
Tunglies:feat/application-language

Conversation

@Tunglies

@Tunglies Tunglies commented Nov 7, 2026

Copy link
Copy Markdown

Use the main process as the single source of truth for the application language so native UI and the renderer use the same preference from startup.

Resolve the preferred supported system language when no explicit choice is saved. Store explicit choices in language.json under userData, and provide the resolved language through typed IPC before the renderer's first render.

Persist a selection before applying it. If saving fails, retain the previous language. Refresh native menu labels and updater text while preserving window visibility, download progress, and update-prompt state.

Existing renderer-local language preferences are not migrated. Confirmed application reset clears the new preference; cancellation preserves it.

Blocked by:

Merge after both prerequisites have landed. #3651 can be reviewed and merged independently of this PR.

This Draft currently includes the prerequisite commits because all PRs target main. Review the language lifecycle change separately in this comparison. The branch will be rebased after the prerequisites merge.

Follow-up: #3619 adds Simplified Chinese support using this language lifecycle.

Attach window handlers before renderer loading and track menubar visibility so tray actions stay synchronized.
Share language metadata with tooling and the main process without importing renderer initialization.
Route application-owned native text through a separate i18next instance and include it in extraction without changing English output.
Resolve and persist language in the main process before native UI and renderer startup, so both processes use the same authoritative preference.
@github-actions github-actions Bot added the enhancement New feature or enhancement to existing functionality label Nov 7, 2026
@Tunglies
Tunglies marked this pull request as ready for review November 7, 2026 02:25

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or enhancement to existing functionality

Development

Successfully merging this pull request may close these issues.

1 participant