Skip to content
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

feat: multi-lingual functionality #197

Open
10 tasks done
shon-button opened this issue Feb 1, 2023 · 0 comments
Open
10 tasks done

feat: multi-lingual functionality #197

shon-button opened this issue Feb 1, 2023 · 0 comments
Assignees

Comments

@shon-button
Copy link
Contributor

shon-button commented Feb 1, 2023

User Story: As a developer, I want to implement internationalization in the ClimateTrax so that users from different countries can access the content in their preferred language with graceful fallback of common words in each language.

Acceptance Criteria:

  • The app should support multiple languages, including English, French…
  • The language selection should be prominent and easily accessible to users.
  • The app content, including text, images, and any other user-visible elements, should be translated into the selected language.
  • The translations should be accurate, culturally appropriate, and provided by professional translators or translation services.
  • The app should automatically detect the user's preferred language based on their browser settings, but also provide an option to manually select a language.
  • The selected language preference should be saved for future visits, allowing the user to bypass the language selection page on subsequent visits.
  • The URL structure should support language switching, allowing users to share links to specific language versions of the website.
  • Date, time, currency, and other locale-specific formats should be displayed according to the user's selected language and region.
  • Error messages, notifications, and any other system-generated text should be localized.
  • The i18n implementation should be modular and scalable, allowing for easy addition of new languages in the future.

Tasks:

  1. Research and choose a suitable i18n framework or library that aligns with the project's technology stack ([i18next](https://www.i18next.com/) library is a strong choice as it works next.js 13 server-side and client-side pages).
  2. Implement language detection based on the order of url language parameter; application cookie value, the user's browser settings, default fallback.
  3. Identify all user-visible content throughout the website that needs to be translated and create a translation file to store the translations.
  4. Develop the logic to dynamically load the translation content based on the selected language.
  5. Configure the date, time, currency, and other locale-specific formatting based on the selected language and region.
  6. Update any system-generated text to be localized and display appropriate error messages and notifications in the selected language.
  7. Provide a language selection feature.
  8. Implement URL routing and handling to support language switching.
  9. Leverage a translation management service (ex: (free tool) https://translate.i18next.com/ https://locize.com/ https://i18nexus.com/ [Localazy](https://www.localazy.com/))
  10. Write unit tests to ensure the i18n implementation functions correctly and verify the accuracy of translations.
  11. Document the i18n implementation process, including instructions for adding new languages in the future.
  12. Conduct thorough testing to ensure the app is fully functional and provides a seamless localized experience.
@shon-button shon-button self-assigned this Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

No branches or pull requests

1 participant