-
Notifications
You must be signed in to change notification settings - Fork 1
Add complete Japanese translations and Spanish localization support #19
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
- Add language detection to AIService using Locale.current - Update AI prompts to include language instruction for Spanish, French, German, Italian, Portuguese, Japanese, Korean, and Chinese - Localize static newsletter strings (Today's Brief, closing messages) - Add Spanish translations for AI suggestion buttons in AIChatView - Fix newsletter header prompt to avoid safety filter triggers - Localize FeedCategory enum with localizedName property 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR adds comprehensive Spanish localization support for AI-generated content and static UI elements in the RSS reader app. The implementation includes language detection based on device settings and automatic AI response generation in the user's preferred language.
Key Changes
- Implements language detection using
Locale.current.language.languageCodewith support for 8 languages (Spanish, French, German, Italian, Portuguese, Japanese, Korean, Chinese) - Refactors feed category management to use a centralized
FeedCategoryenum with localized display names - Localizes all static newsletter strings and AI chat suggestion buttons using
String(localized:)
Reviewed Changes
Copilot reviewed 5 out of 5 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
Today/Views/FeedListView.swift |
Introduces FeedCategory enum with localizedName property and refactors hardcoded category strings to use the enum throughout pickers and display |
Today/Views/AIChatView.swift |
Wraps AI chat suggestion button text with String(localized:) for translation support |
Today/Services/OnDeviceAIService.swift |
Localizes newsletter closing messages in both streaming and non-streaming generation methods |
Today/Services/AIService.swift |
Adds language detection and instruction logic, integrates language instructions into all three AI prompt locations (summary, chat, newsletter intro) |
Localizable.xcstrings |
Provides complete Spanish translations for all new and existing localizable strings including categories, messages, and UI elements (1766 lines total) |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
- Add Japanese (ja) translations for 100+ strings in Localizable.xcstrings - Translations include navigation, actions, feeds, AI features, and messages - Key translations: 設定 (Settings), お気に入り (Favorites), 未読 (Unread), 保存 (Save), 削除 (Delete), 共有 (Share), キャンセル (Cancel) - Add language detection schemes for testing 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
- Add localizedName property to AppearanceMode enum (System, Light, Dark) - Add localizedName property to FontOption enum (Serif, Sans Serif) - Update pickers to use localizedName instead of rawValue - Add German, Spanish, and Japanese translations for all options 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
Copilot reviewed 10 out of 11 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
Summary
Localization Infrastructure
Complete Japanese Translations
Spanish Localization
Test plan
Japanese Localization
Spanish Localization
🤖 Generated with Claude Code