Psiphon

From Localization Lab Wiki
Revision as of 10:20, 27 September 2019 by Erin (talk | contribs) (→‎Website Strings)
Jump to navigation Jump to search
Psiphon Logo
Psiphon Logo

Psiphon is an open-source Internet censorship circumvention tool that allows users to access blocked content and websites on iOS, Android and Windows devices. Psiphon uses a combination of secure communication and obfuscation technologies (VPN, SSH, and HTTP Proxy) to ensure you always have access to the open Internet.

Website: psiphon.ca

Download Psiphon:
Psiphon is available on Android, iOS, and Windows.

To ensure you download a verified version of Psiphon and not an unofficial or malicious copy, download from the Psiphon Website.

Psiphon Fact Sheet
Contact us to localize this image.

Translate Psiphon

Getting Started

1. Create a Transifex Account:

Haven't created a Transifex account yet? Create one here.

2. Join the Psiphon Translation Team:

3. Download Psiphon:

Download Psiphon for the platforms you are translating! This is an important step that will allow you to get comfortable with the tool and view the original English strings and translations in context. Psiphon is available to download on Android, iOS and Windows.

4. Review the #Translation Guidelines:

Make sure you are familiar with the Translation Guidelines before you begin translating. They contain important information like whether or not to translate or transcribe the Project name.

5. Start Translating from the #Translation Priorities & Resources:

The list of resources and translation priorities will help you decide which content to work on first in the Psiphon project. Some resources are much more important to work on than others because they affect a larger number of Psiphon users. Dedicate your time on the resources that will make the most impact for users first.

Translation Priorities & Resources

Where should you start translating? Below is a list of the highest priority resources for Psiphon and which apps they correspond with. You should begin translating the resources marked Urgent, then move to High Priority resources, finishing the rest of the resources last.

Psiphon Website Homepage (Psiphon 3_live)

"Psiphon 3_live" is the Psiphon website. For many, this page may be their first introduction to the Psiphon applications and it is important that it be available in all of the languages Psiphon tools are available in.

Resource Priority
www.psiphon.ca (Psiphon Home Page) Urgent

Psiphon 3

The Psiphon 3 project contains all of the resources associated with the various Psiphon 3 applications on Android, iOS and Windows. Some resources are higher priority than others based on user habits.

Psiphon VPN for Android

The Android application resources are the highest priority in this project because in most regions, Android devices are more common than iOS devices and mobile devices are more popular than computers.

Resource Priority
Android App browser strings Urgent
Android App strings Urgent
Android Library strings Urgent
Store Assets (Google Play Store Description) High Priority

Psiphon VPN for iOS

Resource Priority
iOS Common Library: Root.strings Urgent
iOS VPN App: Localizable.strings Urgent
iOS Common Library: Localizable.strings Urgent
iOS VPN App: Store Assets (Apple AppStore Description) High Priority

Email Template & Feedback Strings

Resource Priority
Email Template Strings High Priority
Feedback Auto-responses High Priority
Feedback Template Strings High Priority

Website Strings

The website strings correspond to the full Psiphon website (FAQ, User Guide etc.) as opposed to the home page which is translated in the Psiphon 3_live Project.

Resource Priority
Website strings High Priority

Please translate the Download Page strings first. You can find them by typing "tags:Download-Page" into the filter in the Transifex web editor. The relevant strings will appear in the left-hand panel of the editor.

Psiphon VPN for Windows

Resource Priority
Windows Client strings Low Priority

Psiphon Browser for iOS

The Psiphon Browser for iOS is one of the lowest priority applications. The majority of users interested in Psiphon will opt to use the iOS VPN application instead of the browser.

Resource Priority
iOS Browser App: IASKLocalizable.strings Low Priority
iOS Browser App: InfoPlist.strings Low Priority
iOS Browser App: Localizable.strings Low Priority
iOS Browser App: OnePasswordExtension.strings Low Priority
iOS Browser App: Root.strings Low Priority
iOS Browser App: Store Assets Low Priority

Psiphon 2

Psiphon 2 is currently not a priority for the Psiphon Project because it is only used by a select number of users. However, if you would like to see Psiphon 2 in your language, please contact us to let us know and we can help you coordinate the translation and review.

Resource Priority
psiphon-2.po Low Priority

Localization Resources

Download the Windows, Android and iOS app
Psiphon FAQ

Translation Guidelines

1. Read the Developer Notes and Translation Instructions in Transifex.

The Developer Notes and Instructions are located in the Web Editor in between the source text and the translation text field. Make sure to read and follow any available instructions for the string you are translating.
Example of Developer Notes.
Example of Developer Notes.

2. Do not translate "Psiphon" or other application or project names.

Do not translate or transliterate "Psiphon" or other project, company or application names that do not have an official or widely adopted regional variation. If you feel speakers of your language would benefit from a transliteration of the project name, please place it in parentheses after the original name.
Example: Psiphon (سايفون)
Some projects have widely used and accepted translations or transliterations of their names. If this is the case in your language, feel free to use the localized version.
Example: تويتر Transliteration of Twitter in Arabic

3. Focus on consistency.

Transifex has several features to help you manage consistency across translations:
  • The Concordance Search allows you to search for words and phrases across multiple resources within the same project and across different projects within the same organization. You can use it to see how something is translated in different strings and contexts.
  • Web Editor Filters allow you to filter and search strings across one or multiple resources in a project. Among many options, you can filter by word or phrase in the source text or in the translation text.
  • The Localization Lab Glossary is very robust in English, however not all languages have translations for each term. Use the Glossary tab to double check translation of a term. If the term is not there, select View Glossary to the translation to the glossary.
Key Psiphon terms will have the label "[Psiphon]" in the Comments field for the term.
  • If a string that you are translating references what appears to be a tab, button, header etc from the software or another project, check to make sure your translation is consistent with the original translation.
Example: "Create Account" appears in a string in Psiphon. Use the filters in the Web Editor to see where else "Create Account" appears in the Psiphon resources and make sure the translation is consistent.
Reference to "Create Account" in a string.
Reference to "Create Account" in a string.
Original "Create Account" string.
Original "Create Account" string.

4. Be aware of placeholders, HTML and Unicode character entities, and mark up language.

Placeholders and variables
Many Psiphon strings contain placeholders which may replace HTML or XML tags or variables. It is important to keep these placeholders in the translation. You can move the placeholders depending on where they grammatically make the most sense in your language.
Variables in Transifex
Variables in Transifex
Review the Transifex documentation to learn how to manage placeholders in the translation editor.
Sometimes a variable will not be recognized by Transifex and will be editable in the web editor. If you see an element within curly brackets, double check the Developer Notes to see if this is a variable that should not be translated. If you are still unsure, create an "Issue" for the string so that a project maintainer can clarify.
Curly bracket variables in Transifex
Curly bracket variables in Transifex
HTML and Unicode character entities & mark down language
Sometimes an HTML character entity will not be recognized and replaced by Transifex. In these cases, you can either copy the exact character entity or you can replace it with what it corresponds to.
Examples:   is equivalent to a non-breaking space; < is equivalent to <; > is equivalent to >.
HTML variable in Transifex
HTML variable in Transifex
HTML variable in Transifex
HTML variable in Transifex
New lines
The little blue arrows in the source text are equivalent to a new line (/n). Make sure to input new lines where indicated in the source text. Do so by simply selecting the Enter or Return key on your keyboard.

5. Keep an eye out for the "notranslate" tag

Some strings will be assigned the "notranslate" tag and you will find a special message at the bottom of the translation input field. These strings should be copied exactly using the copy icon
Variables in Transifex
Variables in Transifex
in the web editor. If you do not copy these strings exactly, Transifex will give you an error warning.
Notranslate tag in Transifex
Notranslate tag in Transifex

6. Communicate!

Leave Comments for other translators
Localization in the Localization Lab community is a group effort! If you are simply fixing a typo or grammatical error, feel free to make the changes necessary without leaving a comment. If you are changing key terminology or significantly changing the structure of a translation, leave a comment for the previous translator to briefly explain the change. Be sure the mention them by including @ followed by their username in your comment.
Leaving comments ensures that other contributors understand why you have made changes, can learn from them, and can make sure to apply the changes to future translations.
Leave Issues for project maintainers
If you don't understand what a string means, need more context or there is a typo or fundamental issue with the source text, let the project maintainer know! You can do this by creating an Issue. Developers and project maintainers are notified of issues so that they can be addressed efficiently.

Contact

Contact erinm if you are interested in contributing to Psiphon as a volunteer translator or reviewer or have feedback about the project.