Skip to content

Add a Help pane and localize Ice into nine languages - #983

Open
keithadler wants to merge 1 commit into
jordanbaird:macos-26from
keithadler:macos-26-help-localization
Open

keithadler wants to merge 1 commit into
jordanbaird:macos-26from
keithadler:macos-26-help-localization

Conversation

@keithadler

Copy link
Copy Markdown

Built on top of the macos-26 branch.

Help pane

A new Help pane in the settings window with getting-started tips, the frequent-issues FAQ from FREQUENT_ISSUES.md as expandable rows, and links to the FAQ, issue tracker and website. The Ice menu gains an "Ice Help" item.

Localization

A string catalog covering every extracted string in Spanish, French, German, Italian, Brazilian Portuguese, Japanese, Korean, Simplified Chinese (the zh-Hans entries come from #978 by @AkimioJR and seven.zeng) and Traditional Chinese.

  • AppKit-side strings (status item menus, permission descriptions, section names, alerts) go through String(localized:).
  • Labels that were built from enum raw values or concatenated at runtime (sidebar pane names, control item icon names, the LaunchAtLogin toggle, "N seconds") now use literal keys so the compiler extracts them and they translate.
  • knownRegions lists the new languages.

Sidebar

System Settings-style colored icon tiles, an app-icon header, and a wider sidebar so localized pane names don't truncate.

Also fixes the SwiftLint 0.65 violations on this branch (legacy aspectRatio, stale disables).

Verified on macOS 26.5.2 in English and French: menus, settings panes, Help, alerts.

🤖 Generated with Claude Code

Help: a new Help pane in the settings window with getting-started tips,
the frequent-issues FAQ from FREQUENT_ISSUES.md, and links to the FAQ,
issue tracker and website. The Ice menu gains an "Ice Help" item.

Localization: a string catalog covering every extracted string in
Spanish, French, German, Italian, Brazilian Portuguese, Japanese, Korean,
Simplified Chinese (from PR jordanbaird#978 by AkimioJR and seven.zeng) and
Traditional Chinese. AppKit-side strings (menus, permission descriptions,
section names, alerts) go through String(localized:), and labels that
were built from enum raw values at runtime (sidebar, icon names, launch
at login, durations) use literal keys so they are extracted and
translated.

Sidebar: System Settings-style colored icon tiles, an app-icon header,
and a width that fits localized pane names.

Also fixes SwiftLint 0.65 violations (legacy aspectRatio, stale disables).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant