Psiphon: Difference between revisions
Line 62: | Line 62: | ||
'''4. Be aware of placeholders, HTML and Unicode character entities, and mark up language.'''<br> | '''4. Be aware of placeholders, HTML and Unicode character entities, and mark up language.'''<br> | ||
:* ''Placeholders and variables''<br> | :* ''Placeholders and variables''<br> | ||
:Many Psiphon strings contain '''placeholders''' which may replace [https://www.quackit.com/html/tags/ HTML] or [https://www.quackit.com/xml/tutorial/about_xml.cfm 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. | ::Many Psiphon strings contain '''placeholders''' which may replace [https://www.quackit.com/html/tags/ HTML] or [https://www.quackit.com/xml/tutorial/about_xml.cfm 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. | ||
[[File:variable.png|500px|center|Variables in Transifex]] | [[File:variable.png|500px|center|Variables in Transifex]] | ||
::Review the [https://docs.transifex.com/translation/html-files#in-the-new-editor Transifex documentation] to learn how to manage placeholders in the translation editor. | ::Review the [https://docs.transifex.com/translation/html-files#in-the-new-editor 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. | ::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. | ||
[[File:Curly bracket variable.png|500px|center|Curly bracket variables in Transifex]] | [[File:Curly bracket variable.png|500px|center|Curly bracket variables in Transifex]] | ||
:* ''HTML and Unicode character entities & mark down language''<br> | :* ''HTML and Unicode character entities & mark down language''<br> | ||
: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. | ::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 >. | ::'''Examples:''' '' '' is equivalent to a non-breaking space; ''<'' is equivalent to <; ''>'' is equivalent to >. | ||
[[File:HTML character entity 2.png|500px|center|HTML variable in Transifex]] | [[File:HTML character entity 2.png|500px|center|HTML variable in Transifex]] | ||
Line 78: | Line 78: | ||
:* ''New lines''<br> | :* ''New lines''<br> | ||
: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. | ::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''' | '''5. Keep an eye out for the "notranslate" tag''' | ||
Line 88: | Line 88: | ||
:* ''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#comments Comments]''' for other translators'' | :* ''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#comments 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. | ::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. | ::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 '''[https://docs.transifex.com/translation/tools-in-the-editor#issues Issues]''' for project maintainers'' | :* ''Leave '''[https://docs.transifex.com/translation/tools-in-the-editor#issues 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. | ::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. |
Revision as of 12:12, 26 September 2019
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: To ensure you download a verified version of Psiphon and not an unofficial or malicious copy, download from the Psiphon Website. |
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 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.
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 add 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.
- 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.
4. Be aware of placeholders, HTML and Unicode character entities, and mark up language.
- Placeholders and variables
- Placeholders and variables
- 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.
- 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 and Unicode character entities & mark down language
- 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.
- New lines
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 in the web editor. If you do not copy these strings exactly, Transifex will give you an error warning.
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.
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
Contact
Contact erinm if you are interested in contributing to Psiphon as a volunteer translator or reviewer or have feedback about the project.