Skip to content

[WebApp] Add/update versionned I18N support to an existing application

License

Notifications You must be signed in to change notification settings

yllieth/localehub

Repository files navigation

Localehub

This application is dedicated for non-developer people who are in charge of adding/updating I18N (Internationalization) support to an existing application.

Pain #1: Non-developer people aren't comfortable with editing codebase directly on github or within any tool or IDE that can access production code ... and they are right!!

Pain #2: Existing tool which provide an interface to edit I18N strings doesn't support the concept of branch. As a result, when people from the marketing team edits I18N strings, an other developer may have pushed a new piece of code which overrides these editions.

Table of content

Features specification

MVP - v1.0 (Milestone)

  • Login
    • DONE Login to the application from a github account.
  • Projects
    • DONE Create a project from an existing github repository.
    • DONE List created projects and show the number of I18N strings, available branches, and, supported languages.
    • 🔜 TODO Support switching github branches.
    • DONE Refresh the list of branches
    • DONE Delete a project
  • Translations
    • DONE List all translations of an i18n files with a tree representing the structure of the json object.
    • DONE Add a new locale
    • 🔜 TODO Remove a specific translation / an entire locale (in all supported languages)
    • 🔜 TODO Move a locale somewhere else in the tree
    • DONE Edit an i18n string and save it. A pending change must belong to a branch name.
    • DONE Undo a pending change
    • DONE Preview pending changes before committing.
    • DONE Commit pending changes and create a pull request
    • 🔜 TODO Improve robustness of committing changes.
  • Notifications
    • 🔜 TODO Receive notifications from github on each change on the current repo and see if it affects his current work.
    • 🔜 TODO Apply each pending change when a github update affects i18n files
    • 🔜 TODO Customize watched events via the Settings page

Additional cool features - v1.1 (Milestone)

  • 🔜 TODO Change navigation for small screens
  • 🔜 TODO Search engine for locales
  • 🔜 TODO Automatically find translation files according to project type (Rails, Django, Play, Symfony, ... all these frameworks have usual location for them)
  • 🔜 TODO On a specific translation, the user can see
    • if it contains a valid HTML tags,
    • if this strings has pluralized version,
    • how many variable the string contains
    • how many time it is used in the code
    • usages of this translation in his code

Known limitations

Github limitations

Application limitations

  • There is no i18n key named ##ROOT##
  • Working branches must not be suffixed by -localehub-(0-9)*

Project Installation

git clone git@github.com:yllieth/localehub-mock.git
git clone git@github.com:yllieth/localehub.git
cd localehub
npm install
npm start

Mockups

Login

Screenshot

Projects list

Screenshot

String edition

Screenshot

String addition

Screenshot

AWS account: https://673077269136.signin.aws.amazon.com/console