Repository navigation
Document steps and criteria for starting a new translation #361
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from all commits
965ad46
d2c3c5b
a91015f
4f36200
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,85 @@ | ||
| # Starting a new translation | ||
|
|
||
| Thank you for wanting to translate the PHP Manual! This chapter explains how | ||
| to start a translation into a language that is not yet listed at | ||
| <https://www.php.net/docs.php>, and what is needed before it is published | ||
| on php.net. | ||
|
|
||
| A translation is a long-term commitment. The manual has more than ten | ||
| thousand files and changes every day, so a translation is only useful as long | ||
| as people keep it up to date. That is why the steps below focus on finding a | ||
| team and building up steadily, rather than on translating as much as possible | ||
| at once. | ||
|
|
||
| ## 1. Check whether the language already exists | ||
|
|
||
| Look for your language in | ||
| [`languages.php`](https://github.com/php/doc-base/blob/master/languages.php) | ||
| and in the [open issues](https://github.com/php/doc-base/issues) of doc-base. | ||
| If a repository or an issue for your language already exists, join that effort | ||
| instead of starting a new one. | ||
|
|
||
| ## 2. Open an issue and announce it | ||
|
|
||
| Open an issue in [php/doc-base](https://github.com/php/doc-base/issues/new) titled `New translation: {Language} ({LANG})`, | ||
| where `{LANG}` is the two-letter [ISO 639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) code. This issue is where | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. From top of my head, the value
where In my eyes it seems to be a good fit here, as reading about the changes reminded me about when I was starting and I found it very little documented; YMMV. |
||
| others who want to help can find you, and where you post your progress. | ||
|
|
||
| Then write to `phpdoc@lists.php.net` with a link to the issue, so the | ||
| documentation team and other translators see it. You need to | ||
| [subscribe to the list](https://news-web.php.net/php.doc) before you can post. | ||
|
|
||
| ## 3. Find a team | ||
|
|
||
| You need **at least three translators** before a translation can be | ||
| published. Translating alone is a quick way to burn out, and a team can review | ||
| each other's work and keep going when someone has less time. Use the issue and | ||
| the mailing list to find others, and ask people in your local PHP community. | ||
|
|
||
| ## 4. Set up a repository | ||
|
|
||
| Create a repository named `doc-{LANG}` under your own GitHub account. It | ||
| follows the structure of [php/doc-en](https://github.com/php/doc-en) (see | ||
| [Documentation structure](structure.md)), with a few rules: | ||
|
|
||
| - Only add files that are translated. Missing files are taken from the English | ||
| manual automatically. | ||
| - Every translated file starts with an `EN-Revision` comment, explained in | ||
| [Translating documentation](translating.md). | ||
| - Add `language-defs.ent`, `language-snippets.ent` and a `translation.xml` that | ||
| lists the team, as in [doc-it](https://github.com/php/doc-it). | ||
|
|
||
| Build the manual locally with your language to catch errors early, as | ||
| described in [Setting up a local build environment](local-setup.md). | ||
|
|
||
| ## 5. Translate the essentials first | ||
|
|
||
| Start with these parts: | ||
|
|
||
| - `language/` | ||
| - `reference/array/` and `reference/strings/` | ||
| - `chapters/`, `faq/`, `features/` and `install/` | ||
|
|
||
| After that, continue with other commonly used extensions. | ||
|
|
||
| ## 6. Work together | ||
|
|
||
| - Use pull requests, and let a team member review each one before it is merged. | ||
| - Prefer small, regular commits over large ones. | ||
|
|
||
| ### No LLM translations | ||
|
|
||
| Do not submit translations made with an LLM or another machine translation | ||
| tool. Readers can already do this themselves in their browser, so it adds | ||
| nothing to the manual. Fixing generated text also takes more effort than | ||
| translating from scratch, and its mistakes are easy to miss. Such | ||
| translations will not be accepted. | ||
|
|
||
| ## 7. Becoming an official translation | ||
|
|
||
| When the essentials are translated and up to date, your team has at least | ||
| three active translators, and you have worked steadily for at least three | ||
| months, post an update in your issue and ask for the translation to be made | ||
| official. The documentation team will review it and, once agreed, move the | ||
| repository to the `php` organization, create a `doc-{LANG}@lists.php.net` | ||
| mailing list and publish the manual on php.net. | ||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -3,6 +3,9 @@ | |
| **Watch out:** this chapter describes special parts of the whole editing process. | ||
| You will also have to follow other steps from the [editing manual sources](editing.md) section. | ||
|
|
||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The previous pargraph just suggested editing. It's perhaps beneficial you move the new paragraph above it, especially as the content links back into the page here (mind also my earlier comment about the more integrated form). |
||
| If your language does not have a translation yet, read | ||
| [Starting a new translation](new-language.md) first. | ||
|
|
||
| Translating documentation into other languages might look like a complicated | ||
| process, but in fact, it's rather simple. | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
How about a "New Language" section in the existing translating file? This seems to be beneficial to me as it would spare introducing a new file for a subsection and may also help maintaining the documentation.