Open ksusha-beep opened 2 years ago
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.
Thanks for this contribution. However, the Blockstack Browser is no longer supported by Hiro PBC as it's a deprecated product, replaced by the Hiro Wallet browser extension as found here: https://github.com/blockstack/stacks-wallet-web
The corresponding issue in that repository can be found at https://github.com/blockstack/stacks-wallet-web/issues/1674
You're encouraged to open a similar PR for that product, which we would review!
Thanks for this contribution. However, the Blockstack Browser is no longer supported by Hiro PBC as it's a deprecated product, replaced by the Hiro Wallet browser extension as found here: https://github.com/blockstack/stacks-wallet-web
The corresponding issue in that repository can be found at blockstack/stacks-wallet-web#1674
You're encouraged to open a similar PR for that product, which we would review!
Absolutely, I will. Thank you!
Description
This is at attempt to create internationalization / translation for the browser by adding a localization i18n library and browser language detector, based on this improvement issue: Add internationalization #1935.
User story
As a Blockstack user, I would like to change the to my preferred language either in Settings or in a navigation bar quick access menu. Automatic language switch is done (if available) based on i18next-browser-languageDetector or on querystring
${ROOT_URL}?lng=LANG
. The fallback language is English.The following packages have been installed:
i18next is an improvement of i18n (which has been there for 11 years). It has more versions, fewer dependencies, more daily downloads, more weekly downloads, more monthly downloads, fewer open issues and fewer open pull requests. react-i18next has more frequent updates.
Affected code paths
The following two directories with the appropriate files were created, English, fallback and French as an example.
The
i18n.js
is the config file in theapp/js
directory. It specifies the configuration options of localizations, such as:Two ways to create a localization of the component in react:
i18n.js
config file and by wrapping the string ini18n.t('translatable_string')
. Thetranslatable_string
must be a string and have a reference to in on the translation json files.withTranslation()
and then (checking PropTypes) import functiont
using propsRecommendation
One recommendation is to get
allApps
label
key as a keyword, such as social_impact, or document_storage and not as a full string. It could then be referenced in the translation file and translated. Currently these labels come back in English, see img attached below.For details refer to issue #1935
Type of Change
Are documentation updates required?