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:
Evgeny Poberezkin
2023-02-24 21:03:57 +00:00
committed by GitHub
parent a2e5733be6
commit cee8f3a4b6
56 changed files with 2061 additions and 398 deletions
+8 -8
View File
@@ -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 &mdash;<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 &mdash; 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 &mdash;<br>unique to SimpleX Chat",
"title": "feature-8-title",
"imgLight": "/img/new/feature-8.svg",
"imgDark": "/img/new/feature-8-dark.svg"
}
+2 -2
View File
@@ -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"
}
+64
View File
@@ -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 &mdash;<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 &mdash; 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"
]
}
]
+9 -9
View File
@@ -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"
}
+8 -12
View File
@@ -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 &mdash; 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"
}