Support Portal

Tor Support Portal is a static site based on ​Lektor. You can also check ​Support Portal repository.

The Support Portal is hosted at several computers for redundancy, and these computers are together called "the www rotation". Please check the ​static sites help page for more info.

The support portal has a staging environment:

And a production environment:

Content and Translations

The support portal fetches content from the *.lr files under the content folder. This are the pages to update with content, in English.

The contents+<locale>.lr files are generated automatically. Please don't update this pages directly because your work may be lost. The translations are located under the i18n folder: . You can translate them through Transifex (needs login) at

Inside the content folder, each subfolder represents a support topic. In this case the is where the topic title is defined and the control key that decides the order of the topic within all the questions list. Dont edit the locale files, only the file Example:

For each topic folder there will be a number of subfolders representing a question each. For each question there is a .lr file and locale files in the format contents+<locale>.lr. Dont edit the locale files, only the file. Example:

Inside a contents file you will find question title and description in the format:

_model: question
title: Our website is blocked by a censor. Can Tor Browser help users access our website?

Tor Browser can certainly help people access your website in places where it is blocked.
Most of the time, simply downloading the ​<mark><a href="">Tor Browser</a></mark> and then using it to navigate to the blocked site will allow access.
In places where there is heavy censorship we have a number of censorship circumvention options available, including ​<mark><a href="">pluggable transports</a></mark>.

For more information, please see the <mark><a href="">​Tor Browser User Manual</a></mark> section on <mark><a href="">censorship</a></mark>.

When creating a document:

  • Use MarkDown format to generate the layout more cleanly. Avoid unnecessary html tags. They make translators confused and they may break the page with the errors
  • Add a line break after each period to create a new translation string. 2 linebreaks to create a paragraph.

Compiling a local version of the Support Portal

  1. Get lektor:
  2. Clone the repo:
  3. The translations are imported by jenkins when bulding the page, but if you want to test them, download the correct branch of the translations repo to the ./i18n/ folder:
cd i18n
git clone
git checkout support-portal
  1. Install the i18n plugin:
lektor plugins add lektor-i18n

Then you can make changes to the files, and then

lektor build
lektor server

Update translations

Similarly, if you want to get the last translations, you do:

cd i18n
git reset --hard HEAD # this is because lektor changes the .po files and you will get a merge conflict otherwise
git pull

Add a new language to the Support portal

To add a new language, it should appear first here:

You will need to edit this files:

- databags/alternatives.ini
- configs/i18n.ini 
- portal.lektorproject

and then, create the files:

export lang=bn_BD
cp databags/menu+en.ini databags/menu+$lang\.ini
cp databags/topics+en.ini databags/topics+$lang\.ini

Support Portal's Ticket Query

Ticket Status Summary Owner Reporter
#30080 assigned support portal: keep anchor when changing language hiro emmapeel
#29963 new Allow browser Find (Ctrl+F) on hiro cypherpunks
#29502 new Glossary on the support portal should be moved to the main menu hiro emmapeel
#29075 new Sort support glossary by target language hiro traumschule
#28549 assigned Add missing FAQ questions to support.tpo traumschule
#28499 assigned tb-manual: create redirects for old resources hiro emmapeel
#28488 needs_review Fix absolute paths on phoul traumschule
#27562 new Detect the locale and automatically serve the language specific support portal hiro sukhbir

Last modified 4 weeks ago Last modified on Mar 29, 2019, 1:05:01 AM