Some translatable pages consists of thousands of separate pages. Moving these on the job queue is not reliable. We should have a reliable backup method to perform these large renames. A command line script would accomplish this.
This may need some refactoring to re-use validation from the special page.
= Script details
== Name
`moveTranslatablePage.php`
== Input
1. Target page (target)
2. Replacement name (replacement)
3. Reason (`--reason` - Optional)
4. Move sub pages (`--move-sub-pages` - Optional)
5. Really - To do the actual moving (`--really` - Optional)
== Output
=== If `really` is passed
Sample output:
```
Moving "ABC" to "XYZ" including sub pages, total 33 pages to move.
Reason: This is a test
Triggered a background job to perform the move
Please check http://127.0.0.1:8080/wiki/Special:Log/pagetranslation for updates
```
=== If `really` is NOT passed
An output similar to the `SpecialPageTranslationMovePage` will be shown:
{F34167871}
== Example runs
```
# To check what pages will be moved
php moveTranslatablePage.php "Main Page TPT 123" "Main Page TPT" --reason "This is a test" --move-sub-pages
# To do the move
php moveTranslatablePage.php "Main Page TPT 123" "Main Page TPT" --reason "This is a test" --move-sub-pages --really
```