Add support for localization (#995)

This commit is contained in:
Jonah Aragon 2022-04-13 19:19:13 -05:00 committed by GitHub
parent 7f71093e33
commit e39f063568
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
41 changed files with 113 additions and 150 deletions

View File

@ -1,46 +0,0 @@
name: Build Website
on:
pull_request:
branches:
- main
env:
PYTHON_VERSION: 3.x
jobs:
build:
name: Build website
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v3
- name: Set up Python runtime
uses: actions/setup-python@v3
with:
python-version: ${{ env.PYTHON_VERSION }}
- name: Cache files
uses: actions/cache@v3.0.2
with:
key: ${{ github.ref }}
path: .cache
- name: Install Python dependencies
run: |
pip install mkdocs
pip install mkdocs-material
- name: Build website
run: |
mkdocs build
mv .well-known site/
tar cvf site.tar site
mkdocs --version
- name: Package website
uses: actions/upload-artifact@v3
with:
name: generated-site
path: site.tar

View File

@ -29,6 +29,7 @@ jobs:
- name: Install Python dependencies - name: Install Python dependencies
run: | run: |
pip install 'mkdocs>=1.3.0' pip install 'mkdocs>=1.3.0'
pip install mkdocs-static-i18n
- name: Install mkdocs-material Insiders build - name: Install mkdocs-material Insiders build
if: github.event.repository.fork == false if: github.event.repository.fork == false

View File

@ -6,6 +6,7 @@ name = "pypi"
[packages] [packages]
mkdocs = "*" mkdocs = "*"
mkdocs-material = {path = "./mkdocs-material"} mkdocs-material = {path = "./mkdocs-material"}
mkdocs-static-i18n = "*"
[dev-packages] [dev-packages]
scour = "*" scour = "*"

9
Pipfile.lock generated
View File

@ -1,7 +1,7 @@
{ {
"_meta": { "_meta": {
"hash": { "hash": {
"sha256": "18f7bfb9a1d405016b6c63e1253e974e974d3e67b8e8a6b98d132ac1e780c822" "sha256": "57e0161a7d6dbb050b1a0ab71eaaf145b951010f8a3054dfab1c5f24d4a293cf"
}, },
"pipfile-spec": 6, "pipfile-spec": 6,
"requires": { "requires": {
@ -305,6 +305,13 @@
"markers": "python_version >= '3.6'", "markers": "python_version >= '3.6'",
"version": "==1.0.3" "version": "==1.0.3"
}, },
"mkdocs-static-i18n": {
"hashes": [
"sha256:0d97df64b5be7b34dc112d4ccfba28352b9fccd1b7a3babf229f30d25f6ebb36"
],
"index": "pypi",
"version": "==0.44"
},
"packaging": { "packaging": {
"hashes": [ "hashes": [
"sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb", "sha256:dd47c42927d89ab911e606518907cc2d3a1f38bbd026385970643f9c5b8ecfeb",

View File

@ -47,6 +47,7 @@ Our current list of team members can be found [here](https://github.com/orgs/pri
- 💬 [Start a discussion or suggest an idea](https://github.com/privacyguides/privacyguides.org/discussions) - 💬 [Start a discussion or suggest an idea](https://github.com/privacyguides/privacyguides.org/discussions)
- 💖 [Sponsor the project](https://github.com/sponsors/privacyguides) - 💖 [Sponsor the project](https://github.com/sponsors/privacyguides)
- 🈴 [Help translate the site](https://crwd.in/privacyguides) [[Matrix chat](https://matrix.to/#/#pg-i18n:aragon.sh)]
- 📝 Edit the site, everything's accessible in this repo - 📝 Edit the site, everything's accessible in this repo
- Browse our [open issues](https://github.com/privacyguides/privacyguides.org/issues) to see what needs to be updated - Browse our [open issues](https://github.com/privacyguides/privacyguides.org/issues) to see what needs to be updated
- When making more significant (than simple typo fixes, etc.) changes, update the [changelog](/CHANGELOG.md) - When making more significant (than simple typo fixes, etc.) changes, update the [changelog](/CHANGELOG.md)
@ -54,16 +55,6 @@ Our current list of team members can be found [here](https://github.com/orgs/pri
## Developing ## Developing
1. Clone this repository: `git clone https://github.com/privacyguides/privacyguides.org`
2. Install [Python 3.6+](https://www.python.org/downloads/)
3. Install [mkdocs-material](https://squidfunk.github.io/mkdocs-material/getting-started/): `pip install mkdocs-material`
4. Serve the site locally: `mkdocs serve`
- The site will be available at `http://localhost:8000/`
Your local site will appear slightly different, because the production version of the website uses a private/custom build of mkdocs-material with additional features.
Team members with access to [mkdocs-material-insiders](https://github.com/privacyguides/mkdocs-material-insiders) should instead:
1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org` 1. Clone this repository and submodules: `git clone --recurse-submodules https://github.com/privacyguides/privacyguides.org`
2. Install [Python 3.6+](https://www.python.org/downloads/) 2. Install [Python 3.6+](https://www.python.org/downloads/)
3. Install **pipenv**: `pip install pipenv` 3. Install **pipenv**: `pip install pipenv`

12
crowdin.yml Normal file
View File

@ -0,0 +1,12 @@
"preserve_hierarchy": true
files:
- source: "/docs/**/*.en.md"
translation: "/docs/**/%file_name%.%locale_with_underscore%.md"
translation_replace:
"en.": ""
update_option: update_as_unapproved
- source: "/theme/overrides/*.en.html"
translation: "/theme/overrides/%file_name%.%locale_with_underscore%.html"
translation_replace:
"en.": ""
update_option: update_as_unapproved

View File

@ -1,8 +1,5 @@
--- ---
layout: page
permalink: /terms-and-notices/
title: "Notices and Disclaimers" title: "Notices and Disclaimers"
description: "Privacy Guides is provided with good intentions on an "as-is" basis, without warranty, and disclaiming liability for damages."
icon: material/message-alert icon: material/message-alert
hide: hide:
- toc - toc

View File

@ -1,8 +1,5 @@
--- ---
layout: page
permalink: /privacy-policy/
title: "Privacy Policy" title: "Privacy Policy"
description: "This Privacy Statement explains what information Privacy Guides and its related entities collect about its users, what we do with that information, and how we handle the content you place in our products and services."
icon: material/file-search icon: material/file-search
--- ---

View File

@ -1,5 +1,5 @@
--- ---
title: Browser Recommendations title: "Web Browsers"
icon: octicons/browser-16 icon: octicons/browser-16
--- ---
These are our current web browser recommendations and settings. We recommend keeping extensions to a minimum: they have privileged access within your browser, require you to trust the developer, can make you [stand out](https://en.wikipedia.org/wiki/Device_fingerprint#Browser_fingerprint), and [weaken](https://groups.google.com/a/chromium.org/g/chromium-extensions/c/0ei-UCHNm34/m/lDaXwQhzBAAJ) site isolation. These are our current web browser recommendations and settings. We recommend keeping extensions to a minimum: they have privileged access within your browser, require you to trust the developer, can make you [stand out](https://en.wikipedia.org/wiki/Device_fingerprint#Browser_fingerprint), and [weaken](https://groups.google.com/a/chromium.org/g/chromium-extensions/c/0ei-UCHNm34/m/lDaXwQhzBAAJ) site isolation.

View File

@ -1,5 +1,5 @@
--- ---
title: Calendar and Contact Sync Tools title: "Calendar and Contact Sync"
icon: material/calendar icon: material/calendar
--- ---
Calendaring and contacts are some of the most sensitive data posess. Use only products that use end-to-end encryption (E2EE) at rest. This prevents a provider from reading your data. Calendaring and contacts are some of the most sensitive data posess. Use only products that use end-to-end encryption (E2EE) at rest. This prevents a provider from reading your data.

View File

@ -1,5 +1,5 @@
--- ---
title: Cloud Storage title: "Cloud Storage"
icon: material/file-cloud icon: material/file-cloud
--- ---
If you are currently using a Cloud Storage Service like Dropbox, Google Drive, Microsoft OneDrive or Apple iCloud, you are putting complete trust in your service provider to not look at your files. If you are currently using a Cloud Storage Service like Dropbox, Google Drive, Microsoft OneDrive or Apple iCloud, you are putting complete trust in your service provider to not look at your files.

View File

@ -1,5 +1,5 @@
--- ---
title: Email Clients title: "Email Clients"
icon: material/email-open icon: material/email-open
--- ---
Our recommendation list contains email clients that support both [OpenPGP](/encryption/#openpgp) and strong authentication such as [Open Authorization (OAuth)](https://en.wikipedia.org/wiki/OAuth). OAuth allows you to use [Multi-Factor Authentication](/multi-factor-authentication) and prevent account theft. Our recommendation list contains email clients that support both [OpenPGP](/encryption/#openpgp) and strong authentication such as [Open Authorization (OAuth)](https://en.wikipedia.org/wiki/OAuth). OAuth allows you to use [Multi-Factor Authentication](/multi-factor-authentication) and prevent account theft.

View File

@ -1,5 +1,5 @@
--- ---
title: Private Email Providers title: "Private Email Providers"
icon: material/email icon: material/email
--- ---

View File

@ -1,5 +1,5 @@
--- ---
title: Encryption Software title: "Encryption Software"
icon: material/file-lock icon: material/file-lock
--- ---
Encryption of data is the only way to control who can access it. If you are currently not using encryption software for your hard disk, emails, or files, you should pick an option here. Encryption of data is the only way to control who can access it. If you are currently not using encryption software for your hard disk, emails, or files, you should pick an option here.

View File

@ -1,5 +1,5 @@
--- ---
title: File Sharing and Sync title: "File Sharing and Sync"
icon: material/share-variant icon: material/share-variant
--- ---
Discover how to privately share your files between your devices, with your friends and family, or anonymously online. Discover how to privately share your files between your devices, with your friends and family, or anonymously online.

View File

@ -1,5 +1,5 @@
--- ---
template: overrides/home.html template: overrides/home.en.html
hide: hide:
- navigation - navigation
- toc - toc

View File

@ -1,5 +1,5 @@
--- ---
title: Linux title: "Linux"
icon: fontawesome/brands/linux icon: fontawesome/brands/linux
--- ---
Linux distributions are commonly recommended for privacy protection and user freedom. Below are some suggestions with some general privacy and security improvements. Linux distributions are commonly recommended for privacy protection and user freedom. Below are some suggestions with some general privacy and security improvements.

View File

@ -1,5 +1,5 @@
--- ---
title: Metadata Removal Tools title: "Metadata Removal Tools"
icon: material/tag-remove icon: material/tag-remove
--- ---
When sharing files, be sure to remove associated metadata. Image files commonly include [EXIF](https://en.wikipedia.org/wiki/Exif) data. Photos sometimes even include [GPS](https://en.wikipedia.org/wiki/Global_Positioning_System) coordinates in the file metadata. When sharing files, be sure to remove associated metadata. Image files commonly include [EXIF](https://en.wikipedia.org/wiki/Exif) data. Photos sometimes even include [GPS](https://en.wikipedia.org/wiki/Global_Positioning_System) coordinates in the file metadata.

View File

@ -1,5 +1,5 @@
--- ---
title: Multi-Factor Authenticator Recommendations title: "Multi-Factor Authenticators"
icon: 'material/two-factor-authentication' icon: 'material/two-factor-authentication'
--- ---
## Hardware Security Keys ## Hardware Security Keys

View File

@ -1,5 +1,5 @@
--- ---
title: News Aggregators title: "News Aggregators"
icon: octicons/rss-24 icon: octicons/rss-24
--- ---

View File

@ -1,5 +1,5 @@
--- ---
title: Notebooks title: "Notebooks"
icon: material/notebook-edit-outline icon: material/notebook-edit-outline
--- ---

View File

@ -1,5 +1,5 @@
--- ---
title: Password Managers title: "Password Managers"
icon: material/form-textbox-password icon: material/form-textbox-password
--- ---
Stay safe and secure online with an encrypted and open-source password manager. Stay safe and secure online with an encrypted and open-source password manager.

View File

@ -1,5 +1,5 @@
--- ---
title: Productivity Tools title: "Productivity Tools"
icon: material/file-sign icon: material/file-sign
--- ---
Get working and collaborating without sharing your documents with a middleman or trusting a cloud provider. Get working and collaborating without sharing your documents with a middleman or trusting a cloud provider.

View File

@ -1,5 +1,5 @@
--- ---
title: Qubes OS title: "Qubes OS"
icon: pg/qubes-os icon: pg/qubes-os
--- ---
Qubes OS is a distribution of Linux that uses [Xen](https://en.wikipedia.org/wiki/Xen) to provide app isolation. Qubes OS is a distribution of Linux that uses [Xen](https://en.wikipedia.org/wiki/Xen) to provide app isolation.

View File

@ -1,5 +1,5 @@
--- ---
title: Real-Time Communication Tools title: "Real-Time Communication"
icon: material/chat-processing icon: material/chat-processing
--- ---
## Encrypted Instant Messengers ## Encrypted Instant Messengers

View File

@ -1,5 +1,5 @@
--- ---
title: Router Firmware title: "Router Firmware"
icon: material/router-wireless icon: material/router-wireless
--- ---
Below are a few alternative operating systems, that can be used on routers, Wi-Fi access points etc. Below are a few alternative operating systems, that can be used on routers, Wi-Fi access points etc.

View File

@ -1,5 +1,5 @@
--- ---
title: Search Engines title: "Search Engines"
icon: material/search-web icon: material/search-web
--- ---
Use a search engine that doesn't build an advertising profile based on your searches. Use a search engine that doesn't build an advertising profile based on your searches.

View File

@ -1,6 +1,5 @@
--- ---
title: Multi-factor Authentication title: "Multi-factor Authentication"
description: "Using strong MFA can stop over 99% of unauthorized account accesses, and it's easy to set up on the services you already use."
icon: 'material/two-factor-authentication' icon: 'material/two-factor-authentication'
--- ---
**Multi-factor authentication** (MFA, or 2FA) is a security mechanism that requires additional steps beyond entering your username (or email) and password. The most common method are time limited codes you might receive from an SMS or app. **Multi-factor authentication** (MFA, or 2FA) is a security mechanism that requires additional steps beyond entering your username (or email) and password. The most common method are time limited codes you might receive from an SMS or app.

View File

@ -1,5 +1,5 @@
--- ---
title: Self-Contained Networks title: "Self-Contained Networks"
icon: material/security-network icon: material/security-network
--- ---
If you are currently browsing clearnet and want to access the dark web, this section is for you. If you are currently browsing clearnet and want to access the dark web, this section is for you.

View File

@ -1,6 +1,5 @@
--- ---
title: Integrating Metadata Removal title: "Integrating Metadata Removal"
description: "Guides for integrating metadata removal solutions in a native fashion."
icon: 'material/data-matrix-remove' icon: 'material/data-matrix-remove'
--- ---

View File

@ -1,6 +1,5 @@
--- ---
layout: evergreen title: "What are threat models?"
title: What are threat models?
icon: 'material/target-account' icon: 'material/target-account'
--- ---

View File

@ -1,5 +1,5 @@
--- ---
title: Recommended Privacy Tools title: "Privacy Tools"
icon: material/tools icon: material/tools
hide: hide:
- toc - toc

View File

@ -1,5 +1,5 @@
--- ---
title: Video Streaming title: "Video Streaming"
icon: material/video-wireless icon: material/video-wireless
--- ---
The primary threat when using a video streaming platform is that your streaming habits and subscription lists could be used to profile you. You should combine these tools with a [VPN](/vpn) or [Tor](https://www.torproject.org/) to make it harder to profile your usage. The primary threat when using a video streaming platform is that your streaming habits and subscription lists could be used to profile you. You should combine these tools with a [VPN](/vpn) or [Tor](https://www.torproject.org/) to make it harder to profile your usage.

View File

@ -1,5 +1,5 @@
--- ---
title: VPN Services title: "VPN Services"
icon: material/vpn icon: material/vpn
--- ---

View File

@ -1,10 +0,0 @@
INHERIT: mkdocs.yml
site_url: "https://www.privacyguides.org/"
watch:
- theme
- mkdocs.yml
plugins:
- search
- privacy:
externals_exclude:
- cdn.jsdelivr.net/npm/mathjax@3/*

View File

@ -1,3 +1,7 @@
docs_dir: 'docs'
site_url: "https://www.privacyguides.org/"
site_dir: 'site'
site_name: Privacy Guides site_name: Privacy Guides
site_description: | site_description: |
Massive organizations are monitoring your online activities. Privacy Guides is your central privacy and security resource to protect yourself online. Massive organizations are monitoring your online activities. Privacy Guides is your central privacy and security resource to protect yourself online.
@ -5,6 +9,7 @@ copyright: |
<b>Privacy Guides</b> is a non-profit, socially motivated website that provides information for protecting your data security and privacy.<br> <b>Privacy Guides</b> is a non-profit, socially motivated website that provides information for protecting your data security and privacy.<br>
We do not make money from recommending certain products, and we do not utilize affiliate links.<br> We do not make money from recommending certain products, and we do not utilize affiliate links.<br>
This content was made available by the Privacy Guides team and contributors. <a href="https://github.com/privacyguides/privacyguides">Get involved</a>! This content was made available by the Privacy Guides team and contributors. <a href="https://github.com/privacyguides/privacyguides">Get involved</a>!
extra: extra:
generator: false generator: false
social: social:
@ -20,52 +25,6 @@ repo_url: https://github.com/privacyguides/privacyguides.org
repo_name: privacyguides.org repo_name: privacyguides.org
edit_uri: edit/main/docs/ edit_uri: edit/main/docs/
nav:
- Home: 'index.md'
- 'Privacy Introduction':
- 'Threat Modeling': 'threat-modeling.md'
- 'Technology Basics':
- 'DNS': 'technology/dns.md'
- 'Security Basics':
- 'Multi-Factor Authentication': 'security/multi-factor-authentication.md'
- 'Setup Guides':
- 'Integrating Metadata Removal': 'setup/integrating-metadata-removal.md'
- 'Recommendations':
- 'Privacy Tools': 'tools.md'
- 'Browsers':
- 'Web Browsers': 'browsers.md'
- 'Operating Systems':
- 'Android': 'android.md'
- 'Linux Desktop': 'linux-desktop.md'
- 'Qubes OS': 'qubes.md'
- 'Router Firmware': 'router.md'
- 'Providers':
- 'Cloud Storage': 'cloud.md'
- 'DNS Servers': 'dns.md'
- 'Email Providers': 'email.md'
- 'Search Engines': 'search-engines.md'
- 'VPN Providers': 'vpn.md'
- 'Software':
- 'Calendar/Contacts Sync': 'calendar-contacts.md'
- 'Digital Notebooks': 'notebooks.md'
- 'Email Clients': 'email-clients.md'
- 'Encryption Tools': 'encryption.md'
- 'File Sharing/Sync': 'file-sharing.md'
- 'Metadata Removal Tools': 'metadata-removal-tools.md'
- 'Multi-Factor Authenticators': 'multi-factor-authentication.md'
- 'Password Managers': 'passwords.md'
- 'Productivity Tools': 'productivity.md'
- 'Real-Time Communication': 'real-time-communication.md'
- 'News Aggregators': 'news-aggregators.md'
- 'Self-Contained Networks': 'self-contained-networks.md'
- 'Video Streaming': 'video-streaming.md'
- 'About Us':
- 'Privacy Guides': 'about.md'
- 'Notices': 'about/notices.md'
- 'Privacy Policy': 'about/privacy-policy.md'
- 'Discussions': 'https://github.com/orgs/privacyguides/discussions'
- 'Blog': 'https://blog.privacyguides.org/'
theme: theme:
name: material name: material
custom_dir: theme custom_dir: theme
@ -95,7 +54,18 @@ watch:
- theme - theme
plugins: plugins:
- i18n:
default_language: en
material_alternate: true
languages:
en:
name: English
build: false
- tags - tags
- search
- privacy:
externals_exclude:
- cdn.jsdelivr.net/npm/mathjax@3/*
extra_css: extra_css:
- stylesheets/extra.css - stylesheets/extra.css
markdown_extensions: markdown_extensions:
@ -129,3 +99,49 @@ markdown_extensions:
extra_javascript: extra_javascript:
- javascripts/mathjax.js - javascripts/mathjax.js
nav:
- Home: 'index.md'
- 'Privacy Introduction':
- 'threat-modeling.md'
- 'Technology Basics':
- 'technology/dns.md'
- 'Security Basics':
- 'security/multi-factor-authentication.md'
- 'Setup Guides':
- 'setup/integrating-metadata-removal.md'
- 'Recommendations':
- 'tools.md'
- 'Browsers':
- 'browsers.md'
- 'Operating Systems':
- 'android.md'
- 'linux-desktop.md'
- 'qubes.md'
- 'router.md'
- 'Providers':
- 'cloud.md'
- 'dns.md'
- 'email.md'
- 'search-engines.md'
- 'vpn.md'
- 'Software':
- 'calendar-contacts.md'
- 'notebooks.md'
- 'email-clients.md'
- 'encryption.md'
- 'file-sharing.md'
- 'metadata-removal-tools.md'
- 'multi-factor-authentication.md'
- 'passwords.md'
- 'productivity.md'
- 'real-time-communication.md'
- 'news-aggregators.md'
- 'self-contained-networks.md'
- 'video-streaming.md'
- 'About Us':
- 'about.md'
- 'about/notices.md'
- 'about/privacy-policy.md'
- 'Discussions': 'https://github.com/orgs/privacyguides/discussions'
- 'Blog': 'https://blog.privacyguides.org/'

View File

@ -10,8 +10,8 @@
<div class="mdx-hero"> <div class="mdx-hero">
<div class="mdx-hero__content"> <div class="mdx-hero__content">
<h1>The guide to restoring your online privacy.</h1> <h1>The guide to restoring your online privacy.</h1>
<p>{{ config.site_description }}</p> <p>Massive organizations are monitoring your online activities. Privacy Guides is your central privacy and security resource to protect yourself online.</p>
<a href="{{ 'tools/' | url }}" title="Recommended privacy tools, services, and knowledge" class="md-button md-button--primary"> <a href="tools/" title="Recommended privacy tools, services, and knowledge" class="md-button md-button--primary">
Recommended Tools Recommended Tools
</a> </a>
<a href="https://blog.privacyguides.org/" title="Blog posts from Privacy Guides contributors" class="md-button"> <a href="https://blog.privacyguides.org/" title="Blog posts from Privacy Guides contributors" class="md-button">