hypothesis / hypothesis/product-backlog
Investigate how to support internationalization in the Hypothesis client
- Dominant language
- No language data
- Stars
- 122
- Forks
- 7
- PR merge metrics
- No merged PRs in 30d
Description
### Problem you are trying to address with this feature
* As a publisher of non-English language content I would like to use Hypothesis to add an annotation layer to my content.
* As a non-English speaking user, I would like the Hypothesis extension to be available in a language that I understand.
### Your solution
We'll need to investigate the various options available for handling i18n (including translation) in the client, across both the annotator layer and the sidebar application and figure out the workflows involved.
Things we'll need to support:
- Translating the strings displayed in both the host page, annotator layer and sidebar, including correct pluralisation.
- Using locale-appropriate formatting for absolute and relative dates
- Translating strings displayed in the browser extension, outside of the client UI itself.
Things we'll need to figure out:
- The workflow for managing translations for the client & service, including what happens when we release new client versions that add new strings that need to be translated.
- How to load only the appropriate translations into the client, and more generally, how to minimize the network/processing tax imposed by i18n.
Tools we might want to look into:
- [FormatJS](https://formatjs.io) is a set of JS libs & polyfills to support i18n.
- Whatever the standard i18n tools are for Angular v1 apps.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start by reviewing the annotator layer, sidebar application, host-page UI, and browser extension surfaces described in the issue. Compare FormatJS and standard Angular v1 i18n tools, including pluralisation, locale-aware dates, translation workflows, loading only needed translations, and release handling. Done means documenting viable options and workflows for all listed surfaces.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- angularjs, javascript
- Domain
- internationalization, web-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100