mirror of
https://github.com/simplex-chat/simplex-chat.git
synced 2026-05-25 20:44:38 +00:00
website internationalization (#1922)
* website Internationalization (#1904) * added devcontainer config * internationalization under dev * internationalization of _data done * overlays internationalization done * improved routing * updated gitignore * remove .devcontainer * internationalization in progess deleted all the intermediate files added translation of few sections * remaining website strings are added to translation * done internationalization - fully converted to i18n plugin - wrote bash script for creating a combined translations.json * internationalization UI done * a quick fix * remove jq installation * Added translation using Weblate (German) * Translated using Weblate (French) Currently translated at 100.0% (212 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/ * Translated using Weblate (German) Currently translated at 42.9% (91 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/ * fixes of web Internationalization (#1925) * a quick fix * blog route for all languages is shifted to root blog route * wrote merge_translations.js * remove language label from dropdown * update language names * refactor scripts * remove catch from script * Added translation using Weblate (Dutch) * Added translation using Weblate (Norwegian Bokmål) * Translated using Weblate (Dutch) Currently translated at 33.0% (70 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/nl/ * website: internationalization fixes (#1931) * added devcontainer config * internationalization under dev * internationalization of _data done * overlays internationalization done * improved routing * updated gitignore * remove .devcontainer * internationalization in progess deleted all the intermediate files added translation of few sections * remaining website strings are added to translation * done internationalization - fully converted to i18n plugin - wrote bash script for creating a combined translations.json * internationalization UI done * a quick fix * blog route for all languages is shifted to root blog route * wrote merge_translations.js * remove flag from blog * updated nav stylings & logo links * add enabled key * updated nav dropdown styling * gave specific lang to i18n plugin. overlay translations are now working. * enable nl & nb_NO * updated nav stylings * updated contact.js --------- Co-authored-by: M Sarmad Qadeer <msarmadqadeer@gmail.com> * Translated using Weblate (German) Currently translated at 47.6% (101 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/ * fixed internationalization issues * updated strings, refactor contact.js * updated nav stylings for mobile * a bit smaller padding on mobile * Added translation using Weblate (Czech) * Translated using Weblate (Czech) Currently translated at 100.0% (212 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/cs/ * Translated using Weblate (French) Currently translated at 100.0% (212 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/fr/ * Translated using Weblate (German) Currently translated at 100.0% (212 of 212 strings) Translation: SimpleX Chat/SimpleX Chat website Translate-URL: https://hosted.weblate.org/projects/simplex-chat/website/de/ * enabled languages * check/correct (#1949) --------- Co-authored-by: M Sarmad Qadeer <MSarmadQadeer@gmail.com> Co-authored-by: Ophiushi <Ophiushi@users.noreply.hosted.weblate.org> Co-authored-by: mlanp <github@lang.xyz> Co-authored-by: John m <jvanmanen@gmail.com> Co-authored-by: zenobit <zen@osowoso.xyz> Co-authored-by: Ophiushi <41908476+ishi-sama@users.noreply.github.com>
This commit is contained in:
committed by
GitHub
parent
a2e5733be6
commit
cee8f3a4b6
@@ -2,49 +2,49 @@
|
||||
"sections": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "E2E-encrypted messages with markdown and editing",
|
||||
"title": "feature-1-title",
|
||||
"imgLight": "/img/new/feature-1.svg",
|
||||
"imgDark": "/img/new/feature-1-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "E2E-encrypted<br>images and files",
|
||||
"title": "feature-2-title",
|
||||
"imgLight": "/img/new/feature-2.svg",
|
||||
"imgDark": "/img/new/feature-2-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Decentralized secret groups —<br>only users know they exist",
|
||||
"title": "feature-3-title",
|
||||
"imgLight": "/img/new/feature-3.svg",
|
||||
"imgDark": "/img/new/feature-3-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "E2E-encrypted voice messages <em>(coming soon)</em>",
|
||||
"title": "feature-4-title",
|
||||
"imgLight": "/img/new/feature-4.svg",
|
||||
"imgDark": "/img/new/feature-4-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Disappearing secret conversations <em>(coming soon)</em>",
|
||||
"title": "feature-5-title",
|
||||
"imgLight": "/img/new/feature-5.svg",
|
||||
"imgDark": "/img/new/feature-5-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "E2E-encrypted<br>audio and video calls",
|
||||
"title": "feature-6-title",
|
||||
"imgLight": "/img/new/feature-6.svg",
|
||||
"imgDark": "/img/new/feature-6-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Portable encrypted database — move your profile to another device",
|
||||
"title": "feature-7-title",
|
||||
"imgLight": "/img/new/feature-7.svg",
|
||||
"imgDark": "/img/new/feature-7-dark.svg"
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"title": "Incognito mode —<br>unique to SimpleX Chat",
|
||||
"title": "feature-8-title",
|
||||
"imgLight": "/img/new/feature-8.svg",
|
||||
"imgDark": "/img/new/feature-8-dark.svg"
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
"imgDark": "/img/new/explained-2.svg",
|
||||
"overlayContent": {
|
||||
"overlayId": "hero-overlay-1",
|
||||
"title": "How does SimpleX work?",
|
||||
"title": "hero-overlay-1-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/hero/card_1.html"
|
||||
}
|
||||
@@ -17,7 +17,7 @@
|
||||
"imgDark": "/img/new/explained-1.svg",
|
||||
"overlayContent": {
|
||||
"overlayId": "hero-overlay-2",
|
||||
"title": "Why user IDs are bad for privacy?",
|
||||
"title": "hero-overlay-2-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/hero/card_2.html"
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
{
|
||||
"languages": [
|
||||
{
|
||||
"label": "en",
|
||||
"name": "English",
|
||||
"flag": "/img/flags/en.svg",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"label": "de",
|
||||
"name": "Deutsch",
|
||||
"flag": "/img/flags/de.svg",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"label": "fr",
|
||||
"name": "Français",
|
||||
"flag": "/img/flags/fr.svg",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"label": "cs",
|
||||
"name": "Čeština",
|
||||
"flag": "/img/flags/cs.svg",
|
||||
"enabled": true
|
||||
},
|
||||
{
|
||||
"label": "nl",
|
||||
"name": "Nederlands",
|
||||
"flag": "/img/flags/nl.svg",
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"label": "nb_NO",
|
||||
"name": "Norsk",
|
||||
"flag": "/img/flags/nb_NO.svg",
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"label": "it",
|
||||
"name": "Italian",
|
||||
"flag": "/img/flags/it.svg",
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"label": "es",
|
||||
"name": "Spanish",
|
||||
"flag": "/img/flags/es.svg",
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"label": "cn",
|
||||
"name": "Chinese",
|
||||
"flag": "/img/flags/cn.svg",
|
||||
"enabled": false
|
||||
},
|
||||
{
|
||||
"label": "ru",
|
||||
"name": "Russian",
|
||||
"flag": "/img/flags/ru.svg",
|
||||
"enabled": false
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -6,7 +6,7 @@
|
||||
"imgDark": "/img/new/network-1-dark.svg",
|
||||
"overlayContent": {
|
||||
"overlayId": "simplex-network-overlay-1",
|
||||
"title": "Comparison with P2P messaging protocols",
|
||||
"title": "simplex-network-overlay-1-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/simplex_network/card_1.html"
|
||||
}
|
||||
|
||||
@@ -2,101 +2,101 @@
|
||||
"sections": [
|
||||
{
|
||||
"id": 10,
|
||||
"title": "Temporary anonymous pairwise identifiers",
|
||||
"title": "simplex-private-10-title",
|
||||
"imgLight": "/img/new/private-10.svg",
|
||||
"imgDark": "/img/new/private-10-dark.svg",
|
||||
"points": [
|
||||
"SimpleX uses temporary anonymous pairwise addresses and credentials for each user contact or group member.",
|
||||
"It allows to deliver messages without user profile identifiers, providing better meta-data privacy than alternatives."
|
||||
"simplex-private-card-10-point-1",
|
||||
"simplex-private-card-10-point-2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 6,
|
||||
"title": "Out-of-band<br>key exchange",
|
||||
"title": "simplex-private-6-title",
|
||||
"imgLight": "/img/new/private-6.svg",
|
||||
"imgDark": "/img/new/private-6-dark.svg",
|
||||
"points": [
|
||||
"Many communication platforms are vulnerable to MITM attacks by servers or network providers.",
|
||||
"To prevent it SimpleX apps pass one-time keys out-of-band, when you share an address as a link or a QR code."
|
||||
"simplex-private-card-6-point-1",
|
||||
"simplex-private-card-6-point-2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 1,
|
||||
"title": "2-layers of<br>end-to-end encryption",
|
||||
"title": "simplex-private-1-title",
|
||||
"imgLight": "/img/new/private-1.svg",
|
||||
"imgDark": "/img/new/private-1-dark.svg",
|
||||
"points": [
|
||||
"Double-ratchet protocol —<br>OTR messaging with perfect forward secrecy and break-in recovery.",
|
||||
"NaCL cryptobox in each queue to prevent traffic correlation between message queues if TLS is compromised."
|
||||
"simplex-private-card-1-point-1",
|
||||
"simplex-private-card-1-point-2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 7,
|
||||
"title": "Message integrity<br>verification",
|
||||
"title": "simplex-private-7-title",
|
||||
"imgLight": "/img/new/private-7.svg",
|
||||
"imgDark": "/img/new/private-7-dark.svg",
|
||||
"points": [
|
||||
"To guarantee integrity the messages are sequentially numbered and include the hash of the previous message.",
|
||||
"If any message is added, removed or changed the recipient will be alerted."
|
||||
"simplex-private-card-7-point-1",
|
||||
"simplex-private-card-7-point-2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Additional layer of<br>server encryption",
|
||||
"title": "simplex-private-2-title",
|
||||
"imgLight": "/img/new/private-2.svg",
|
||||
"imgDark": "/img/new/private-2-dark.svg",
|
||||
"points": [
|
||||
"Additional layer of server encryption for delivery to the recipient, to prevent the correlation between received and sent server traffic if TLS is compromised."
|
||||
"simplex-private-card-2-point-1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 8,
|
||||
"title": "Message mixing<br>to reduce correlation",
|
||||
"title": "simplex-private-8-title",
|
||||
"imgLight": "/img/new/private-8.svg",
|
||||
"imgDark": "/img/new/private-8-dark.svg",
|
||||
"points": [
|
||||
"SimpleX servers act as low latency mix nodes — the incoming and outgoing messages have different order."
|
||||
"simplex-private-card-8-point-1"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Secure authenticated<br>TLS transport",
|
||||
"title": "simplex-private-3-title",
|
||||
"imgLight": "/img/new/private-3.svg",
|
||||
"imgDark": "/img/new/private-3-dark.svg",
|
||||
"points": [
|
||||
"Only TLS 1.2/1.3 with strong algorithms is used for client-server connections.",
|
||||
"Server fingerprint and channel binding prevent MITM and replay attacks.",
|
||||
"Connection resumption is disabled to prevent session attacks."
|
||||
"simplex-private-card-3-point-1",
|
||||
"simplex-private-card-3-point-2",
|
||||
"simplex-private-card-3-point-3"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "Optional<br>access via Tor",
|
||||
"title": "simplex-private-4-title",
|
||||
"imgLight": "/img/new/private-4.svg",
|
||||
"imgDark": "/img/new/private-4-dark.svg",
|
||||
"points": [
|
||||
"To protect your IP address you can access the servers via Tor or some other transport overlay network.",
|
||||
"To use SimpleX via Tor please install <a href=\"https://guardianproject.info/apps/org.torproject.android/\" target=\"_blank\">Orbot app</a> and enable SOCKS5 proxy (or VPN <a href=\"https://apps.apple.com/us/app/orbot/id1609461599?platform=iphone\" target=\"_blank\">on iOS</a>)."
|
||||
"simplex-private-card-4-point-1",
|
||||
"simplex-private-card-4-point-2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 9,
|
||||
"title": "Unidirectional<br>message queues",
|
||||
"title": "simplex-private-9-title",
|
||||
"imgLight": "/img/new/private-9.svg",
|
||||
"imgDark": "/img/new/private-9-dark.svg",
|
||||
"points": [
|
||||
"Each message queue passes messages in one direction, with the different send and receive addresses.",
|
||||
"It reduces the attack vectors, compared with traditional message brokers, and available meta-data."
|
||||
"simplex-private-card-9-point-1",
|
||||
"simplex-private-card-9-point-2"
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 5,
|
||||
"title": "Multiple layers of<br>content padding",
|
||||
"title": "simplex-private-5-title",
|
||||
"imgLight": "/img/new/private-5.svg",
|
||||
"imgDark": "/img/new/private-5-dark.svg",
|
||||
"points": [
|
||||
"SimpleX uses content padding for each encryption layer to frustrate message size attacks.",
|
||||
"It makes messages of different sizes look the same to the servers and network observers."
|
||||
"simplex-private-card-5-point-1",
|
||||
"simplex-private-card-5-point-2"
|
||||
]
|
||||
}
|
||||
]
|
||||
|
||||
@@ -2,39 +2,39 @@
|
||||
"sections": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "Advertising and price discrimination",
|
||||
"title": "privacy-matters-1-title",
|
||||
"imgLight": "/img/new/privacy-section-1.svg",
|
||||
"imgDark": "/img/new/privacy-section-1.svg",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-privacy-matters-1",
|
||||
"title": "Privacy saves you money",
|
||||
"linkText": "Privacy saves you money",
|
||||
"title": "privacy-matters-1-overlay-1-title",
|
||||
"linkText": "privacy-matters-1-overlay-1-linkText",
|
||||
"showImage": false,
|
||||
"contentBody": "overlay_content/why_privacy_matters/card_1.html"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "Manipulation of elections",
|
||||
"title": "privacy-matters-2-title",
|
||||
"imgLight": "/img/new/privacy-section-2.svg",
|
||||
"imgDark": "/img/new/privacy-section-2.svg",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-privacy-matters-2",
|
||||
"title": "Privacy gives you power",
|
||||
"linkText": "Privacy gives you power",
|
||||
"title": "privacy-matters-2-overlay-1-title",
|
||||
"linkText": "privacy-matters-2-overlay-1-linkText",
|
||||
"showImage": false,
|
||||
"contentBody": "overlay_content/why_privacy_matters/card_2.html"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "Prosecution due to innocent association",
|
||||
"title": "privacy-matters-3-title",
|
||||
"imgLight": "/img/new/privacy-section-3.svg",
|
||||
"imgDark": "/img/new/privacy-section-3.svg",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-privacy-matters-3",
|
||||
"title": "Privacy protects your freedom",
|
||||
"linkText": "Privacy protects your freedom",
|
||||
"title": "privacy-matters-3-overlay-1-title",
|
||||
"linkText": "privacy-matters-3-overlay-1-linkText",
|
||||
"showImage": false,
|
||||
"contentBody": "overlay_content/why_privacy_matters/card_3.html"
|
||||
}
|
||||
|
||||
@@ -2,56 +2,52 @@
|
||||
"sections": [
|
||||
{
|
||||
"id": 1,
|
||||
"title": "You have complete privacy",
|
||||
"title": "simplex-unique-1-title",
|
||||
"descBody": "sections/simplex_unique/card_1.html",
|
||||
"imgLight": "/img/new/unique-section-1.png",
|
||||
"imgDark": "/img/new/unique-section-1-dark.png",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-simplex-is-unique-1",
|
||||
"title": "Full privacy of your identity, profile, contacts and metadata",
|
||||
"linkText": "Learn more",
|
||||
"title": "simplex-unique-1-overlay-1-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/why_simplex_is_unique/card_1.html"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 2,
|
||||
"title": "You are protected<br>from spam and abuse",
|
||||
"title": "simplex-unique-2-title",
|
||||
"descBody": "sections/simplex_unique/card_2.html",
|
||||
"imgLight": "/img/new/unique-section-2.png",
|
||||
"imgDark": "/img/new/unique-section-2-dark.png",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-simplex-is-unique-2",
|
||||
"title": "The best protection from spam and abuse",
|
||||
"linkText": "Learn more",
|
||||
"title": "simplex-unique-2-overlay-1-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/why_simplex_is_unique/card_2.html"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 3,
|
||||
"title": "You control your data",
|
||||
"title": "simplex-unique-3-title",
|
||||
"descBody": "sections/simplex_unique/card_3.html",
|
||||
"imgLight": "/img/new/unique-section-3.png",
|
||||
"imgDark": "/img/new/unique-section-3-dark.png",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-simplex-is-unique-3",
|
||||
"title": "Ownership, control and security of your data",
|
||||
"linkText": "Learn more",
|
||||
"title": "simplex-unique-3-overlay-1-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/why_simplex_is_unique/card_3.html"
|
||||
}
|
||||
},
|
||||
{
|
||||
"id": 4,
|
||||
"title": "You own SimpleX network",
|
||||
"title": "simplex-unique-4-title",
|
||||
"descBody": "sections/simplex_unique/card_4.html",
|
||||
"imgLight": "/img/new/unique-section-4.png",
|
||||
"imgDark": "/img/new/unique-section-4-dark.png",
|
||||
"overlayContent": {
|
||||
"overlayId": "why-simplex-is-unique-4",
|
||||
"title": "Fully decentralised — users own the SimpleX network",
|
||||
"linkText": "Learn more",
|
||||
"title": "simplex-unique-4-overlay-1-title",
|
||||
"showImage": true,
|
||||
"contentBody": "overlay_content/why_simplex_is_unique/card_4.html"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user