567316cfbe
## Issue 4796 - i18n: Allow support for string overloading (multiple contexts) ## Approach - Minimal code and process change. - Handle on a case-by-case basis when reported by translators. - Split the affected key in the string json by appending the context. - Translators need to be aware of the new format and not translate context itself. Code is added to detect bad translations and will revert to English. Sample in json: "About --[About section in Help Page]--": "About", "About --[tab title in Channel Page]--": "About", Sample in client code: title={__('About --[About section in Help Page]--')} - "--[ ]--" was chosen as it's unique enough (unlikely for real strings to use it) and hopefully not that distracting in the client code. - In the key itself, spaces are allowed after the string (i.e. before '--[') for neatness. It will be trimmed by the system. ## First example "About" is used in 3 places: - Channel Page - Help Page - Footer (in Odysee branch) For Russian, the word "About" is "O" and is usually not used standalone, but requires something behind it. A translator said so, and seems to be the case in other sites as well. "O xxx" "O yyy" ## Other languages For other languages that are not impacted, they can just clone the same translation for each of the split keys, just like in English. ## Possible enhancement in Transifex I see that Transifex's API includes a `context` entry. It might be possible to move the context-metadata there during the upload, so translators will never see the "--[]--" messiness (it will be shown as "Context: xxx" in the Transifex GUI). I'm not sure how to test the Transifex side, so I did not investigate further. |
||
---|---|---|
.. | ||
backup | ||
buy | ||
channel | ||
channelNew | ||
channels | ||
channelsFollowing | ||
channelsFollowingDiscover | ||
checkoutPage | ||
creatorDashboard | ||
discover | ||
embedWrapper | ||
file | ||
fileListDownloaded | ||
fileListPublished | ||
fourOhFour | ||
help | ||
home | ||
invite | ||
invited | ||
library | ||
listBlocked | ||
navigationHistory | ||
notifications | ||
passwordReset | ||
passwordSet | ||
publish | ||
report | ||
rewards | ||
rewardsVerify | ||
search | ||
settings | ||
settingsAdvanced | ||
settingsNotifications | ||
show | ||
signIn | ||
signInVerify | ||
signInWalletPassword | ||
signUp | ||
tagsFollowing | ||
tagsFollowingManage | ||
top | ||
wallet | ||
welcome | ||
youtubeSync |