User:BPositive/Page migration

MediaWiki has lots of legacy content which needs to be imported into the Translate extension. The only way to import was to open the source and target pages in two different tabs, open Translate in another tab and copy-paste from the target page into the corresponding unit at Translate. This manual task has been automated by Special:PageMigration, which shows the source and target units besides each other and allows the user to adjust the units by providing a set of features mentioned later in this page.

How to use?

 * 1) Go to Special:PageMigration
 * 2) Enter the title of the page and the language code. For example, 'Help:Special pages' & 'fr'
 * 3) The source text which was divided into units by Translate and the imported translations will be shown besides each other with some initial alignment.
 * 4) Use the actions available for each unit to manually do the remaining alignment
 * 5) As translated units editable, do required manual improvements (for add translation variables, fix links and markup, etc.)
 * 6) Click on the 'Save' button. This will create pages under the Translations namespace of the form  . The old translations have been imported into Translate.
 * 7) Else, if you wish to abort the importing, click on the 'Cancel' button.

Actions available
Each row consisting of source and target unit has a set of action icons. They are used as follows:
 * 1) Add: Clicking on this action icon adds a new empty unit below the current one. Use this feature if you want to split the current unit and need a unit below.
 * 2) Swap: Clicking on this action icon swaps the content of the current unit with the unit below it. You can use this feature when the units get aligned improperly due to different ordering of sections. Or when you need to drag a unit below or above. In either case, remember it swaps with the unit below and does not create any additional units.
 * 3) Delete: Clicking on this action icon completely removes the corresponding target unit from the page and shifts the remaining target units up by one unit. Use this to remove unwanted content like code or imported translations which are present completely in the source language. Note: this irrevocable action (in the current session).

Troubleshooting

 * 1) If you mark a page for translation and immediately go to the special page and try to import translations, you may get an error message like '/' does not contain old translations'. This is because FuzzyBot din't fuzzy the messages on the old page yet and hence, the tool won't find an edit by FuzzyBot on the translation page. In this case, simply wait for FuzzyBot to do it's job. Once an edit is seen, you can proceed with the imports.
 * 2) Please wait for some time after press 'Save' button. While the button remains gray background, there is a process of import non-empty units. Once the button again became colored - import completed.

Tips

 * 1) Migration will be easier if you first (before the mark to translation) check whether existing translations are similar to the original English text, and manually edit the structure of pages - to break paragraphs and lists, add the missing headers (even if empty).
 * 2) Will be useful to check the result in the core translation interface - some of the units may be immediately marked as obsolete because of errors markup or if not all of the translation variables was added.
 * 3) Translation of the page title will have to add it manually. If you do not know very well the language of the imported page, you can try to find the translation of the page title among the "links here" or something of redirections. Note: Please don't translate namespace, keep it untranslated.