diff --git a/docs/en_us/developers/source/i18n_translators_guide.rst b/docs/en_us/developers/source/i18n_translators_guide.rst index 03b5a9925a..64f142eb3b 100644 --- a/docs/en_us/developers/source/i18n_translators_guide.rst +++ b/docs/en_us/developers/source/i18n_translators_guide.rst @@ -8,59 +8,205 @@ are hosted at `Transifex.com `_, which provides a web application allowing translators to write, submit, and manage their translations. -This page explains how to get started with Transifex, and provides guidelines +This page explains how to get started with Transifex and provides guidelines for translators to follow when executing translations. For further discussion, we welcome you to join the `openedx-translation `_ mailing list. +For information on the Transifex process, see the following sections: + +* `Getting Started with Transifex`_ +* `Guidelines for Translators`_ + Getting Started with Transifex ****************************** Contributors wishing to help translate edx-platform and associated projects can find edX translation projects on `Transifex `_. -Follow these steps to become an Open edX translator! -1. Go to `https://www.transifex.com/signup/contributor/ `_ - and fill out the form to create your free Transifex account, if you don't already - have one. +You should become a translator only if you feel very confident +in both your language in English. Open edX is written in English, so all +translations will be done from English to your language. -2. Once you've set up your account, visit one of the edX projects and request to become - a translator for your language. - Projects:: - `edx-platform _` - `edx-comments-service `_ - `edx-notifier `_ +This guide shows images from the Transifex website in English. Depending +on your browser settings, you may see the site in a different language. The +button locations will be the same. - If your language is listed, click on the language to be brought to the language's page. - Next, click "Join team" to become part of the translation team for that language. +This section contains the following subsections: - If your language is not listed, click "Request language" to start a new translation - project for your language. +* `Signing Up For An Account`_ +* `Joining A Translation Team`_ +* `Joining A Review Team`_ +* `How To Translate With Transifex`_ +* `Requesting A New Language`_ - An edX translation team member will respond to your request within a few days. Once you're - approved as a member of a translation team, you can begin translating strings! +Signing Up For An Account +========================= +Go to `https://www.transifex.com/signup/contributor/ `_ +and fill out the form to create your free Transifex account, if you don't already +have one. -Using Transifex -=============== +Joining A Translation Team +========================== -Once you are approved as a translator, you can click on any of the resources in the project -to begin translating it. For help documentation on Transifex, see the `Transifex translators +1. Once you've set up your account, visit one (or more!) of the edX projects to request + to become a translator for your language. + + Projects include: + + * `edx-platform `_ + * `edx-comments-service `_ + * `edx-notifier `_ + +2. When you visit the project page, it looks like this. If your language is listed, click + on the name of the language to go to the language's page. Here is an example of choosing + the Japanese translation project: + + .. image:: images/edx-platform-transifex-project.png + +3. Once you're on the language's page, click "Join team" to become part of the translation team + for that language: + + .. image:: images/join-language-team.png + + Once you've joined a translation team, you can begin translating strings immediately! See the + section `Using Transifex`_. + +Joining A Review Team +===================== + +Optionally, you can request to become a `reviewer `_ +for a language. You should do this only if you feel very confident in both your language and in English. To do this, request permission +from the project coordinator(s). + +1. Click on the "Members" tab of your language: + + .. image:: images/view-team-members.png + + You'll see a list of all the members of your translation team. + +2. Click on one of the Coordinators for the language to be brought to their profile page, + where you can click the "Send message" button to email them and ask for Reviewer access: + + .. image:: images/send-message-button.png + +If the coordinator don't respond, try messaging another coordinator, or message one of the edX project maintainers. +You can find the project maintainers at the top of the main project page: + +.. image:: images/project-maintainers.png + +How To Translate With Transifex +=============================== + +Once you are a member of a translation or review team, you can click on any of the resources in +the project to begin translating it. For help documentation on Transifex, see the `Transifex translators help desk `_. +Before you begin, be sure you've reviewed the `Guidelines for Translators`_. +When visiting a language page, you will see a list of seven distinct resources to translate: + +.. image:: images/project-resources.png + +We request that you focus on translating the non-Studio resources first. That is, please first +translate and review these resources: + + * messages + * mako + * django-partial + * djangojs-partial + +Once the above resources are 100% translated and reviewed, move on to the Studio resources: + + * mako-studio + * djangojs-studio + * django-studio + +Requesting A New Language +========================= + +If your language is **not** listed, click the "Request language" button on the main project page +to start a new translation project for your language: + +.. image:: images/request-new-language.png + +Before requesting a new language, please first make sure your language is not listed! Keep in +mind that variants of your language may exist ("Chinese" versus "Chinese-China") and these +variants may meet your needs. + +An edX translation team member will respond to your request within a few days. Once your +language is approved, you will be the coordinator of the project. You can add additional +coordinators, reviewers, and translators as you wish. Guidelines for Translators ************************** +Before you dive into translation work, please familiarize yourself with the following +3 guidelines: + +* `Ask for Clarification`_ +* `Working With HTML`_ +* `Working With Placeholders`_ + + +Ask for Clarification +===================== First and foremost, if you are uncertain of how to translate a string, we strongly encourage you to reach out to us and ask for clarification! Please join the `openedx-translation `_ mailing list and make a post. We can help clarify the string, and even add a note clarifying the string, which will help translators working on other language projects. + +Working With HTML +================= + Translating strings for a website like edX is more complicated than simply translating sentences -from one language to another. Strings in programs sometimes need to have data inserted into them +from one language to another. Sometimes, sentences (or "strings") will contain +`HTML markup tags `_. It +is very important to understand how to deal with HTML markup. + +Do **not** alter or translate any HTML markup tags. +You should translate the text that is between the tags. HTML markup tags begin and end with ``<`` +and ``>`` characters. + +Spacing is especially important. Adding spaces in an HTML tag (eg changing ```` to ````) +will break the website. + +Examples:: + + String: "If you have a general question about {platform_name} please email + {contact_email}." + + Good translation: "{platform_name}에 대해 일반적인 질문이 있으면 + {contact_email}로 이메일 주십시요." + + Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 + {contact_email}로 이메일 주십시요." + + Please do not remove the HTML tags. + + Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 + {contact_email}로 이메일 주십시요." + + Do not translate the HTML tags. Please use the given HTML tags. + + Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 + {contact_email}로 이메일 주십시요." + + Do not change the HTML tags to something new. Please use the given HTML tags. + + Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 + < a href = " mailto : {contact_email} " > {contact_email} < / a >로 이메일 주십시요." + + Do not add additional spacing to the HTML tags. Please use the given HTML tags. + + +Working With Placeholders +========================= + +Strings in programs sometimes need to have data inserted into them before being displayed to the user. Data placeholders label the places in the string where the data will go. Strings can also have markup like HTML included. It's very important to preserve the placeholders and markup so that the web site will work properly. @@ -70,7 +216,8 @@ the proper placeholder. Please familiarize yourself with all the different forms translation successful. Summary Of Placeholders -======================= +----------------------- + +-------------------------+ | Placeholder Forms | +=========================+ @@ -82,18 +229,17 @@ Summary Of Placeholders +-------------------------+ When dealing with placeholders, you must follow these rules: -* Do Not translate the placeholder (for example, changing ``{day}`` to ``{día}``). -* Do Not alter or remove the punctuation of the placeholder string (for example, changing a ``_`` to a ``-``). -* Do Not alter the capitalization of the placeholder string (for example, changing ``day`` to ``Day``). -* Do Not alter the spacing of the placeholder string (for example, changing ``{day}`` to ``{ day }``). -Please continue reading for more examples of each type of placeholder strings, as well as -an explanation of how to deal with HTML markup. +* **Do not** translate the placeholder (for example, changing ``{day}`` to ``{día}``). +* **Do not** alter or remove the punctuation of the placeholder string (for example, changing a ``_`` to a ``-``). +* **Do not** alter the capitalization of the placeholder string (for example, changing ``{day}`` to ``{Day}``). +* **Do not** alter the spacing of the placeholder string (for example, changing ``{day}`` to ``{ day }``). +Please continue reading for examples of each type of placeholder form inside a string. 1. Do **not** alter or translate placeholder strings in between curly braces (``{ }``). Strings inside curly braces will be replaced with different strings while the code - is executing. Changing the content of the curly braces may cause code to break. + is executing. Changing the content of the curly braces will cause code to break. The placeholder string inside of the braces will give you clues as to what type of data will be presented in the final string. For example, ``{student_name}`` will be replaced with the name @@ -123,7 +269,7 @@ an explanation of how to deal with HTML markup. Do not alter the placeholder string capitalization - you must use {student_name} exactly as-is. Bad translation: "¡Bienvenido { student_name }!" - Do not add additional spacing inside the ``{}`` - you must use {student_name} exactly as-is. + Do not add additional spacing inside the {} - you must use {student_name} exactly as-is. You may rearrange the order of these strings, depending on the requirements of your language. For example, in English the name of the month precedes the day (January 23), wheras in Spanish, @@ -158,7 +304,7 @@ an explanation of how to deal with HTML markup. Do not alter the placeholder string capitalization - you must use %(student_name)s exactly as-is. Bad translation: "¡Bienvenido %( student_name )s!" - Do not add additional spacing inside the ``()`` - you must use %(student_name)s exactly as-is. + Do not add additional spacing inside the () - you must use %(student_name)s exactly as-is. Bad translation: "¡Bienvenido (student_name)!" Do not remove the '%' or 's' - you must use %(student_name)s exactly as-is. @@ -196,43 +342,7 @@ an explanation of how to deal with HTML markup. Do not alter the placeholder string capitalization - you must use <%= student_name %> exactly as-is. Bad translation: "¡Bienvenido < % = student_name % >!" - Do not add additional spacing inside the ``<%= %>`` - you must use <%= student_name %> exactly as-is. + Do not add additional spacing inside the <%= %> - you must use <%= student_name %> exactly as-is. Bad translation: "¡Bienvenido !" Do not remove or change the '<%=' or '%>' - you must use <%= student_name %> exactly as-is - - -4. Do **not** alter or translate `HTML markup tags `_. - You should translate the text that is between the tags. HTML markup tags begin and end with ``<`` - and ``>`` characters. - - Spacing is especially important. Adding spaces in an HTML tag (eg changing ```` to ````) - may break the website. - - Examples:: - - String: "If you have a general question about {platform_name} please email - {contact_email}." - - Good translation: "{platform_name}에 대해 일반적인 질문이 있으면 - {contact_email}로 이메일 주십시요." - - Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 - {contact_email}로 이메일 주십시요." - - Please do not remove the HTML tags. - - Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 - {contact_email}로 이메일 주십시요." - - Do not translate the HTML tags. Please use the given HTML tags. - - Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 - {contact_email}로 이메일 주십시요." - - Do not change the HTML tags to something new. Please use the given HTML tags. - - Bad translation: "{platform_name}에 대해 일반적인 질문이 있으면 - < a href = " mailto : {contact_email} " > {contact_email} < / a >로 이메일 주십시요." - - Do not add additional spacing to the HTML tags. Please use the given HTML tags. diff --git a/docs/en_us/developers/source/images/edx-platform-transifex-project.png b/docs/en_us/developers/source/images/edx-platform-transifex-project.png new file mode 100644 index 0000000000..ef720babba Binary files /dev/null and b/docs/en_us/developers/source/images/edx-platform-transifex-project.png differ diff --git a/docs/en_us/developers/source/images/join-language-team.png b/docs/en_us/developers/source/images/join-language-team.png new file mode 100644 index 0000000000..346b0f32ff Binary files /dev/null and b/docs/en_us/developers/source/images/join-language-team.png differ diff --git a/docs/en_us/developers/source/images/project-maintainers.png b/docs/en_us/developers/source/images/project-maintainers.png new file mode 100644 index 0000000000..ab424d499c Binary files /dev/null and b/docs/en_us/developers/source/images/project-maintainers.png differ diff --git a/docs/en_us/developers/source/images/project-resources.png b/docs/en_us/developers/source/images/project-resources.png new file mode 100644 index 0000000000..54bc91feab Binary files /dev/null and b/docs/en_us/developers/source/images/project-resources.png differ diff --git a/docs/en_us/developers/source/images/request-new-language.png b/docs/en_us/developers/source/images/request-new-language.png new file mode 100644 index 0000000000..f612e2fe52 Binary files /dev/null and b/docs/en_us/developers/source/images/request-new-language.png differ diff --git a/docs/en_us/developers/source/images/send-message-button.png b/docs/en_us/developers/source/images/send-message-button.png new file mode 100644 index 0000000000..8f2aee986f Binary files /dev/null and b/docs/en_us/developers/source/images/send-message-button.png differ diff --git a/docs/en_us/developers/source/images/view-team-members.png b/docs/en_us/developers/source/images/view-team-members.png new file mode 100644 index 0000000000..c1896655dc Binary files /dev/null and b/docs/en_us/developers/source/images/view-team-members.png differ