Skip to content

Add Simplified Chinese macOS localization using the shared framework - #112

Open
shimon-ai-dev wants to merge 2 commits into
ARahim3:mainfrom
shimon-ai-dev:feat/zh-hans-ui-main-20261017
Open

shimon-ai-dev wants to merge 2 commits into
ARahim3:mainfrom
shimon-ai-dev:feat/zh-hans-ui-main-20261017

Conversation

@shimon-ai-dev

Copy link
Copy Markdown

Scope and attribution

Adds 425 zh-Hans macOS UI strings and five permission descriptions, using the shared localization framework from #34 by max0071001 (ef69d26). Relates to #77.

This is not a small independent translation-only diff: main lacks that framework, so this includes its adaptation plus zh-Hans in two separate commits. Framework, English/zh-Hant resources and original UI migration credit belongs to #34's author. Integration order needs maintainer coordination; the additive commit can be retained after #34 lands. Also fixes an inherited repeated count and untranslated receipt example.

Production identity, storage, feed and search are unchanged. No media/startup/test-isolation changes; Windows/Linux UI and CLI localization are out of scope.

Validation

Clean commit: 5ce830f.
macOS 26 CI: https://github.com/shimon-ai-dev/DigUp/actions/runs/39005572952

  • Swift report: 103 tests in 14 suites passed, with model-reference test explicitly skipped.
  • Region/fallback and positional-format localization tests passed.
  • Seven Python regressions; key/format parity for all three locales.
  • Actual release app packaging, language/permission resources, unchanged Info.plist, ad-hoc signature/entitlements and packaged CLI help passed.
    CI ran on a workflow-only child; fork workflows are excluded from this PR.

Interactive GUI language selection, layout/accessibility, live permission prompts and notarization remain unverified. Historical #34 screenshots are not validation of this branch.
No prior maintainer approval is implied; I understand the issue-first policy may require discussion.

Adapt the localization infrastructure and Traditional Chinese resources from
ARahim3#34, source commit
ef69d26, to current upstream main.
Credit for the original framework and Traditional Chinese work belongs to
the author and contributors of PR ARahim3#34. This commit is an adaptation, not a
claim of original authorship.

Keep the upstream product identity, update settings, and permissions.
Add zh-Hans interface strings and permission descriptions alongside the
adapted English and Traditional Chinese localization framework from
ARahim3#34. Cover language fallback, dynamic display values, source
tables and packaged localization resources with regression checks.

Preserve upstream Bundle ID, update feed/key, permissions and dependency
lockfile. Keep fork-only CI outside this feature branch.
AmirHossein-84 added a commit to AmirHossein-84/DigUp that referenced this pull request Oct 18, 2026
… localization

- SQLite & Search Layer (PRs ARahim3#16, ARahim3#38, ARahim3#82, ARahim3#85, ARahim3#94, ARahim3#111):
  * StatementCache with sqlite3_reset statement recycling and reentrant transactions
  * PRAGMA mmap_size = 1GB, synchronous = NORMAL, cache_size = -64000
  * Zero-copy row.copyBlob direct vector loading into searcher matrix halves
  * Unicode NFC normalization for cross-platform and CJK/accented file paths
  * Chunked IN queries with UNION ALL to eliminate N+1 roundtrips
  * CJK Han character detection, Han text budgeting, and Han-aware snippet generation
  * SIMD8<Float> acceleration in Math+Portable.swift without heap allocations
  * Float16Shim for Intel Mac x86_64 IEEE 754 binary16 compatibility

- Crawler, Rules, Path Normalization & Extractors (PRs ARahim3#33, ARahim3#42, ARahim3#56, ARahim3#60, ARahim3#79, ARahim3#80, ARahim3#86, ARahim3#88, ARahim3#91, ARahim3#101, ARahim3#107, ARahim3#109, Issues ARahim3#67, ARahim3#97, ARahim3#105, ARahim3#127):
  * Fix Windows path slash/drive normalization in DirectoryWalk preventing 0-file crawl
  * Fix case-insensitive folder matching on Windows in FolderSelection
  * Fix Crawler to never treat user-selected search roots (e.g. ~) as project roots
  * Exclude secrets/keys (.env*, .pem, .kdbx, SSH keys, passwd) in Rules
  * Honor standard CACHEDIR.TAG 43-byte signature when crawling
  * Skip build/intermediate directories (.venv, target, .build, .next, dist, bin, obj)
  * Drop FileProvider download status lookups for 10-50x faster cloud folder crawls
  * OfficeText extractor for .xlsx, .pptx, .ods, .odp XML documents
  * Headless LibreOffice .doc extractor on Linux and local Notion SQLite workspace extractor
  * Safe typed CGPDFDictionaryGetString for PDF metadata preventing crashes
  * Preserve OCR keywords on image-only PDFs
  * Outlook PST reader utility crate in pst/

- Indexing Pipeline & Runtime (PRs ARahim3#49, ARahim3#53, ARahim3#62, ARahim3#64, ARahim3#71, ARahim3#72, ARahim3#114, Issue ARahim3#3):
  * Batched document text embeddings (up to 16 docs per pass)
  * Cumulative IndexProgress tracking across multi-pass indexing
  * DocumentCache for extracted chunks to prevent redundant file disk reads
  * Linux URLSession SIGABRT fix in FileFetcher
  * ImageLoader parallel prefetching and batched image embeddings
  * Apple Neural Engine CoreML video frame encoding support
  * Scoped incremental subtree sync when changed paths are known
  * Autoreleasepool wrapping in background worker extraction to eliminate memory leaks

- Daemon, Lifecycle & Policies (PRs ARahim3#24, ARahim3#27, ARahim3#31, ARahim3#36, ARahim3#51, ARahim3#82, Issues ARahim3#22, ARahim3#68):
  * HelperRestartPolicy for clean stop/resume transitions
  * Backlog starvation recovery and --resume-pending in IndexService
  * Configurable indexing hours window policy
  * Opt-in Low Power Mode indexing to protect laptop thermals and battery
  * Win32 OpenProcess(SYNCHRONIZE) parent monitor to prevent zombie helpers on Windows
  * Correct 0-hit search behavior when all search roots are removed

- UI, Cross-Platform Shell, Localization & Build (PRs ARahim3#15, ARahim3#20, ARahim3#37, ARahim3#39, ARahim3#58, ARahim3#65, ARahim3#74, ARahim3#81, ARahim3#84, ARahim3#112):
  * DigUpLocalization framework with en, zh-Hans, zh-Hant string catalogs
  * AppSearch engine and launcher for macOS App and Tauri desktop shells
  * KeyCommands and QuickLookController shared handling
  * Preserved search field text during IME composition
  * Search panel fade transitions and @observable code editor selection
  * Hardened build scripts with pinned SHA-256 vendor checksum verification
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