Help:Extension:Translate/Move translatable page
<translate> Translators</translate> (<translate> main help page</translate> )
- <translate> How to translate</translate>
- <translate> Best practices</translate>
- <translate> Statistics and reporting</translate>
- <translate> Quality assurance</translate>
- <translate> Message group states</translate>
- <translate> Offline translation</translate>
- <translate> Glossary</translate>
<translate> Translation administrators</translate>
- <translate> How to prepare a page for translation</translate>
- <translate> Page translation administration</translate>
- <translate> Unstructured element translation</translate>
- <translate> Group management</translate>
- <translate> Move translatable page</translate>
- <translate> Import translations via CSV</translate>
- <translate> Working with message bundles</translate>
<translate> Sysadmins and developers</translate>
- <translate> Installation</translate>
- <translate> Configuration</translate>
- <translate> Getting started with development</translate>
- <translate> Developer guide</translate>
- <translate> Extending Translate</translate>
- <translate> Validators</translate>
- <translate> Insertables</translate>
- <translate> Group configuration</translate>
- <translate> Group configuration example</translate>
- <translate> Translation memories</translate>
- <translate> Translation aids</translate>
- <translate> Enabling message bundles</translate>
- <translate> PHP hooks</translate>
When moving a source page that has been translated to other languages using the Translate extension, along with the source page the translation pages also have to be moved. Translation pages exist as subpages of the source page. For example, if we have a source page with the name FooBar, and the page has been translated to French, and Spanish, then the translation pages will exist at FooBar/fr and FooBar/es
The process to move a translated source page is the same as a normal page. The difference is in the way the subpages are moved.
In the image, we are moving a translatable source page. There are a few sections to note here,
- Translation page - These are the languages to which the source page has been translated to. This will be moved.
- Translation unit pages - These are the smallest individually tracked component of translatable pages: the page is divided into paragraph-sized translation units and each unit is a message. All of these will also be moved.
- Subpage marked for translation - These are other translatable source pages that exist as subpages under the source page that is being moved. These cannot be moved as part of the current move operation but has to be moved separately.
- Other subpage - These are normal subpages under the source translatable page that is being moved. The user can choose to move this by selecting the Move all subpages option on the screen.
Talk pages if present are also moved. Pages that have talk pages are denoted with a (Has talk page) suffix. Similar to subpages marked for translation, translatable talk pages have to be moved separately.
Once the user initiates the move process, the actual moving will be done via background jobs. The status of the "move job" can be tracked via the Page translation log.
Leaving a redirect: we provide a checkbox option that adds redirects for everything except translation unit pages and translation pages (translatable page, talk pages, regular subpages and their talk pages) once a page is moved.
$wgTranslatePageMoveLimit
. We recommend using the moveTranslatableBundle.php
to move a large number of pages.Moving a large number of pages
To move a large number of pages, we recommend using the script moveTranslatableBundle.php
as it can be slightly unreliable to do so via the UI that uses the JobQueue
to move the pages.
While moving the page, the script will perform the necessary validations, display what will be moved, and then take confirmation from the user before performing the move.
The script takes the following parameters:
current-page |
<translate> Required</translate> | Current page name |
new-page |
<translate> Required</translate> | New page name |
user |
<translate> Required</translate> | User performing the move |
reason |
<translate> Optional</translate> | Reason for performing the move |
skip-subpages |
<translate> Optional</translate> | Skip moving subpages under the current page |
skip-talkpages |
<translate> Optional</translate> | Skip moving talkpages under the current page |
skip-redirect |
<translate> Optional</translate> | Skip leaving a redirect behind for translatable bundle, subpages and related talk pages |
Example usage:
# Here "Main Page 60" is being renamed to "Main Page 70" by "Admin" php extensions/Translate/scripts/moveTranslatableBundle.php "Main Page 60" "Main Page 70" Admin --reason "Just an example" --skip-redirect