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.
$wgTranslatePageMoveLimit. We recommend using the
moveTranslatablePage.phpto move a large number of pages.
Moving a large number of pages
To move a large number of pages, we recommend using the script
moveTranslatablePage.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 parameter:
current-page- Current page name
new-page- New page name
user- User performing the move
reason- (optional) Reason for performing the move
skip-subpages- (optional) Skip moving subpages under the current page
skip-talkpages- (optional) Skip moving talkpages under the current page
# Here "Main Page 60" is being renamed to "Main Page 70" by "Admin php extensions/Translate/scripts/moveTranslatablePage.php "Main Page 60" "Main Page 70" Admin --reason "Just an example"