Skip to content

feat: add i18n support (en/zh-CN), Hot 100 & SQL 50 study plans - #1022

Open
KevinLi0w0 wants to merge 1 commit into
LeetCode-OpenSource:masterfrom
KevinLi0w0:feature/i18n-and-study-plan
Open

feat: add i18n support (en/zh-CN), Hot 100 & SQL 50 study plans#1022
KevinLi0w0 wants to merge 1 commit into
LeetCode-OpenSource:masterfrom
KevinLi0w0:feature/i18n-and-study-plan

Conversation

@KevinLi0w0

Copy link
Copy Markdown
  • Add i18n infrastructure with auto language detection

    • New setting: leetcode.language (auto/en/zh-CN)
    • New command: LeetCode: Switch UI Language
    • Localized all major UI strings (categories, messages, prompts)
    • DialogOptions use getters for real-time language switching
  • Add Study Plan integration (leetcode.cn only)

    • Built-in plans: Hot 100 (top-100-liked) and SQL 50 (sql-free-50)
    • Fetches problem list from leetcode.cn study plan pages
    • Fallback to hardcoded lists when fetch fails
    • Study plan respects all problems regardless of hide-solved setting
    • New setting: leetcode.studyPlans for custom plan slugs
  • Fix pre-existing bug: promptForSignIn always opened leetcode.cn

  • Refactor hide-solved filter from cache to display layer

  • Use HTML page parsing instead of GraphQL (API not publicly documented)

- Add i18n infrastructure with auto language detection
  - New setting: leetcode.language (auto/en/zh-CN)
  - New command: LeetCode: Switch UI Language
  - Localized all major UI strings (categories, messages, prompts)
  - DialogOptions use getters for real-time language switching

- Add Study Plan integration (leetcode.cn only)
  - Built-in plans: Hot 100 (top-100-liked) and SQL 50 (sql-free-50)
  - Fetches problem list from leetcode.cn study plan pages
  - Fallback to hardcoded lists when fetch fails
  - Study plan respects all problems regardless of hide-solved setting
  - New setting: leetcode.studyPlans for custom plan slugs

- Fix pre-existing bug: promptForSignIn always opened leetcode.cn
- Refactor hide-solved filter from cache to display layer
- Use HTML page parsing instead of GraphQL (API not publicly documented)
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