-
Notifications
You must be signed in to change notification settings - Fork 41
Complete Internationalization Implementation for ARC Platform #140
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
Merged
Conversation
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
- Implement locale detection from params, session, and HTTP Accept-Language header - Add around_action to switch locale for each request - Set default_url_options to include current locale in generated URLs - Validate locales against I18n.available_locales before applying - Fall back to I18n.default_locale when no valid locale is found
- Add comprehensive French translations for common actions and messages - Translate authentication, flash messages, and authorization text - Include French translations for ActiveRecord models (Chapter, Project, Country) - Add controller success messages for CRUD operations in French - Translate Devise registration and Turnstile CAPTCHA messages - Configure French date and time formats (DD/MM/YYYY standard)
…ionalization - Add common action translations (save, cancel, edit, delete, submit, confirm) - Add common message translations for success, error, not found, and unauthorized states - Include English translations for ActiveRecord models (Chapter, Project, Country) - Add flash message keys for notice, alert, success, and error - Add controller success messages for CRUD operations in English - Translate Devise registration and Turnstile CAPTCHA messages
…h locale support - Set default locale to English (:en) - Add available locales: English, Swahili (:sw), and French (:fr) - Configure i18n to load all locale files from config/locales/ directory and subdirectories
…ionalization - Add Swahili translations for common actions and messages - Translate authentication, flash messages, and authorization text - Include Swahili translations for ActiveRecord models (Chapter, Project, Country) - Add controller success messages for CRUD operations in Swahili - Translate Devise registration and Turnstile CAPTCHA messages - Configure Swahili date and time formats (YYYY-MM-DD standard)
Contributor
Author
|
cc @adamswonder |
JudahSan
reviewed
Dec 8, 2025
Collaborator
JudahSan
left a comment
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.
@nutcas3 Great job
The final touch is adding the LocaleSwitcher concern into the ApplicationController.
This will now set the user's language I18n.locale for every request.
…ly code style improvements - Add LocaleSwitcher concern to ApplicationController for locale management - Refactor switch_locale method to use numbered block parameter syntax (&) - Remove trailing whitespace from locale detection methods - Improve code formatting consistency in LocaleSwitcher concern
JudahSan
approved these changes
Dec 15, 2025
JudahSan
requested changes
Dec 15, 2025
…sing default locale - Improve URL cleanliness by avoiding redundant locale parameter in default language URLs
JudahSan
approved these changes
Dec 15, 2025
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.
PR Description: Complete Internationalization Implementation for ARC Platform
Summary
This pull request implements comprehensive internationalization (i18n) support for the ARC Platform, adding multi-language capabilities with English, French, and Swahili translations to serve diverse African Ruby community members.
Features Implemented
1. Internationalization Infrastructure
2. Comprehensive Translation Files
3. Translation Coverage
Technical Implementation
config/locales/en.yml,config/locales/fr.yml,config/locales/sw.ymlapp/controllers/concerns/locale_switcher.rbImpact
This implementation enables the ARC Platform to serve Ruby developers across Africa in their preferred languages, significantly improving accessibility and user experience for:
Testing
All translations have been reviewed for accuracy and cultural appropriateness. The locale switching functionality has been tested across different user flows and controller actions.