No funded issue found.
Check out the Issue Explorer
Be the OSS Funding you wish to see in the world.
Looking to fund some work? You can submit a new Funded Issue here .
Time left
Opened
Issue Type
Workers Auto Approve
Project Type
Time Commitment
Experience Level
Permissions
Accepted
Reserved For
Translation system should allow hyperlinks on sub-messages
danjm
Shell
Our translation system allows users to experience MetaMask in their own language (provided translations exist). Developers simply need to pass a string to the `t` method available on context and that method will get the string in the user's preferred language. For example: `t('send')`. Translators just reference the `metamask-extension/app/_locales/en/messages.json` file and add translations of the messages to their respective languages file.
Suppose a developer enters `t('providerRequestInfo)`, given our english translation, this would render as "This site is requesting access to view your current account address. Always make sure you trust the sites you interact with." Over course, the developer would have to pass that string to the appropriate expression within jsx, e.g. `{ t('providerRequestInfo) }`
Now, what if there is a requirement to have the "current account" substring of the above message be hyperlinked to an external page with info about the current account? If translation was not a concern, something like the following would work:
```
"This site is requesting access to view your current account address. Always make sure you trust the sites you interact with."}
```
But translation is a concern, we still want to be able to do something like `{ t('providerRequestInfo') }`, but maybe with some extra info passed to `t()`.
Note that we can't just do
```
{ t('providerRequestInfoBeforeLink) }
{ t('providerRequestInfoBeforeLink) }
{ t('providerRequestInfoAfterLink) }
```
Because not all translations will be structured the same way and may have very different semantics. For example, the Korean translation of `'providerRequestInfo'` is "아래 나열된 도메인은 Web3 API에 대한 액세스를 요청하여 Ethereum 블록 체인과 상호 작용할 수 있습니다. Ethereum 액세스를 승인하기 전에 항상 올바른 사이트에 있는지 다시 확인하십시오".
The task is to upgrade our translation system to:
- allow developers to easily flag where a hyper link is needed in the non-translated / reference text (i.e. english messages)
- allow translators to know that a link is needed and what text the link is needed on
- allow translators to indicate which text of the translated message needs the link
Basic task requirement:
- a static hyperlink url can be hardcoded into the objects on the en/messages.json file
Advanced requirement:
- a hyperlink url can be dynamically passed to the `t()` method
Setup your profile
Tell us a little about you:
Skills
No results found for [[search]] .
Type to search skills..
Bio Required
[[totalcharacter]] / 240
Are you currently looking for work?
[[ option.string ]]
Next
Setup your profile
Our tools are based on the principles of earn (💰), learn (📖), and meet (💬).
Select the ones you are interested in. You can change it later in your settings.
I'm also an organization manager looking for a great community.
Back
Next
Save
Enable your organization profile
Gitcoin products can help grow community around your brand. Create your tribe, events, and incentivize your community with bounties. Announce new and upcoming events using townsquare. Find top-quality hackers and fund them to work with you on a grant.
These are the organizations you own. If you don't see your organization here please be sure that information is public on your GitHub profile. Gitcoin will sync this information for you.
Select the products you are interested in:
Out of the box you will receive Tribes Lite for your organization. Please provide us with a contact email:
Email
Back
Save