Sync localization#27
Open
dturovskiy wants to merge 6 commits into
Open
Conversation
Replaced hardcoded menu logic with a new MenuItem class and dynamic menu generation in Program.cs. Menu items are now localized, numbered at runtime, and support dynamic suffixes (e.g., theme icon, calendar sync status). Updated en.json to remove menu numbering, add new keys, and improve clarity. Improved input handling and code maintainability throughout.
Added LocalizationAuditService to check for missing or empty translation keys in localization files compared to English. Introduced LocalizationAuditResult to encapsulate audit results. Updated language selection UI to display a warning for languages needing updates.
Improved LanguageService to validate available localizations, use case-insensitive dictionaries, and log warnings for missing or mismatched files. Added GetWarnings() method. Updated Languages.json to support many more languages.
Expanded and improved translations for fr, it, ru, and uk. Menu options are now descriptive instead of numbered. Added prompts for language selection, confirmations, errors, and Google Calendar sync. Translations now cover more app features and user interactions for consistency.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented in
sync_localization.This issue has been resolved with a slightly different approach than originally proposed.
Instead of automatically inserting missing keys into every localization file, the localization flow was improved at the language-discovery level:
Resources/Languages.jsonnow acts as a catalog of known language codes and display namesResources/LocalizationsThis turned out to be a more practical improvement for the current project, because adding a new supported language is now much simpler and less error-prone.
The original idea of automatic key synchronization / placeholder generation (
TODO_TRANSLATE:) is still valuable, but it should be tracked as a separate issue.Closing this as completed.