Help:Extension:Translate/Page translation administration/he
מתרגמים (main help page )
- איך לתרגם
- שיטות עבודה מומלצות
- סטטיסטיקות ודיווח
- אבטחת איכות
- Message group states
- Offline translation
- מונחון
Translation administrators
- How to prepare a page for translation
- Page translation administration
- Unstructured element translation
- Group management
- Move translatable page
- Import translations via CSV
- Working with message bundles
Sysadmins and developers
מה. תכונת תרגום הדפים מאפשרת תרגום מבוקר של דפי ויקי לשפות אחרות. כלומר, התוכן של כל תרגום יהיה, בדרך־כלל, שווה לדף המקור. זה מנוגד, למשל, לגרסה השפה השונה של ערכים בוויקיפדיות שונות, שעצמאיות זו מזו לגמרי. ההנחה היא כי דפים מתורגמים רק משפה ראשית אחת לשפות אחרות, אך מתרגמים יכולים לנצל גם תרגומים בשפות אחרות אם הם קיימים.
למה. ללא כל עזרה, תרגום של יותר מכמה דפים לשפות אחרות הופך לבזבוז זמן במקרה הטוב, ולבלגן שלא ניתן לתחזק במקרה הרע. באמצעות תכונת תרגום הדפים תוכלו למנוע את הבלגן ולהביא מבנה לתהליך התרגום. הרעיון המרכזי הוא שטקסט המקור מחולק ליחידות קטנות יותר, שכל אחת מהן מתורגמת בנפרד. כאשר טקסט המקור מחולק ליחידות, ניתן לבודד את כל השינויים והמתרגמים צריכים רק לעדכן את התרגומים של יחידות שעברו שינויים בטקסט המקור. זה גם מאפשר למתרגמים לעבוד על יחידות הניתנות לניהול ולשתף את העבודה בין מספר מתרגמים או להמשיך בתרגום בהפעלות מאוחרות יותר, מכיוון שהם לא צריכים לעשות הכל בבת אחת.
מי. דף זה מפרט מדריך תרגום לדפים על ידי מתן תובנות מעמיקות יותר על אופן פעולתה של המערכת, ומציע שיטות עבודה מומלצות למגוון רחב של מקרים. דף זה מיועד למנהלי תרגום דפים ובדרך כלל לכל מי שעורך את טקסט המקור של דפים הניתנים לתרגום, גם אם אין להם גישה לתכונות הניהוליות של אישור שינויים לתרגום.
כדי להגיש בקשה לזכויות מורחבות כמנהל תרגום, עבור אל פרויקט: בקשות. As for requests on Meta, see Meta:Requests. For Commons, Commons:Noticeboard.
חיי דף לתרגום
תפקידים. אנשים רבים מעורבים בתהליך הכתיבה והתרגום של דף וויקי: הכותב הראשוני יוצר דף, מישהו מתקן שגיאות כתיב, מנהל תרגום הדף מסמן את הדף לתרגום, מתרגמים מתרגמים, מישהו עושה שינויים בדף, מנהל תרגום הדפים מסמן את השינויים הללו עבור התרגום ומתרגמים מעדכנים תרגומים. התפקידים האלה עשויים לחפוף פחות או יותר, אך האחריות הסופית לתרגום ללא טרחה מוטלת על מנהל תרגום הדפים. מנהל המערכת מחליט מתי הדף מוכן לתרגום בפעם הראשונה, מוודא שהחלוקה למקטעים משרתת מטרה ומאשר (או מתקן) שינויים.
הכנה. כדי לתרגם משהו אתה צריך לכתוב אותו קודם. אם כבר ביצעת תרגום ללא סיומת Translate, ראה להלן סעיף אודות העברת תרגומים. אם אתה רוצה הרבה תרגומים במהירות, חשוב מאוד שטקסט המקור יהיה במצב טוב. לפני שתסמן דף לתרגום, בקש ממישהו אחר לקרוא אותו בהגהה ובמידת האפשר לבקש ממומחה לשפות להבהיר את הטקסט ותמציתי יותר. אוצר מילים קשה ומשפטים קשים להבנה הם עצירת הופעה לתרגומים רבים מתנדבים. גם סימון עלול לגרום לבעיות עבור מתרגמים, אך כמנהל תרגום אתה יכול להימנע מבעיות אלה, עיין בהמשך סעיף אודות טיפול בסימון. באופן טבעי השינויים שאתה מבצע בטקסט המקור של התרגומים מחייבים עדכונים של כל התרגומים הקיימים, ולכן עדיף לחכות עד שתוכן הדף יתייצב. מצד שני, שינויים אכן קורים, והמערכת מטפלת בזה היטב, אז עיין בסעיף סעיף אודות טיפול בשינויים להלן.
תיוג. כאשר הטקסט מוכן אחרת לתרגום, כל אחד יכול לסמן את החלקים הניתנים לתרגום על ידי סגירתם בתגי <translate>
והוספת סרגל <languages />
לדף.
האחרון מוסיף רשימה של כל תרגומי הדף, עם השלמתם ואחוזיהם המעודכנים.
אין אינדיקציה אחרת לכך שקיימים תרגומים.
ראה להלן כיצד לבצע את התיוג בפועל.
המערכת תזהה מתי ממקמים את התגים בדף הניתן לתרגום, והדף יקבל קישור לסימונו לתרגום.
It will also complain and prevent saving if you for example forgot to add a closing tag.
The translatable page will also be listed on Special:PageTranslation as ready for marking.
סימון. לאחר התיוג, מנהל תרגום מסמן את הדף לתרגום. הממשק מוסבר ב דוגמת תרגום לדף. האחריות של מנהל התרגום היא לוודא שהחלוקה למקטעים הגיונית ושהתיוג היה תקין. ניתן לסמן את הדף שוב אם הוא השתנה בינתיים. ראה להלן כיצד לבצע שינויים הגורמים להפרעות מינימליות. סימון הדף מתחיל תהליך רקע המשתמש ב- תור משרות של מדיה ויקי. התהליך הזה עובר על כל דף לתרגום ומחדש אותו: שינויים בתבנית דף התרגום יבואו לידי ביטוי ותרגומים מיושנים יודגשו עם רקע ורוד. ממשק התרגום מתעדכן באופן מיידי.
שינויים. משתמשים יכולים להמשיך לעשות שינויים במקור הדף הניתן לתרגום. השינויים יהיו גלויים למשתמשים הצופים בדף בשפת המקור, אך התרגומים נעשים כנגד יחידות התרגום שחולצו מהגרסה האחרונה של הדף הניתן לתרגום שסומנה לתרגום: דפי התרגום מדווחים על עד 100% תאריך אם כל יחידות התרגום תורגמו, גם אם לדף המקור יש שינויים חדשים. אתה יכול לראות בקלות אם ישנם שינויים לא מסומנים בעת צפייה בדף הניתן לתרגום בשפת המקור: בחלק העליון יש הודעה שאומרת שאתה יכול לתרגם דף זה וגם מקשר לשינויים אם יש כאלה.
לא חוקי. אם יבוצעו שינויים במקור הדף הניתן לתרגום, יינתן למנהל התרגום האפשרות "⧼tpt-action-nofuzzy⧽" עבור כל קטע. אם קטע אינו תקף, השפות המתורגמות יקבלו צבע רקע ורוד עבור אותם מקטעים, וסמל שעון יוצג למתרגמים בממשק התרגום. אם קטע אינו מבוטל, אזי לא יהיו שינויים גלויים לקוראי הדפים המתורגמים, והמתרגמים יצטרכו לבחון את החלק בממשק התרגום על מנת לראות את השינויים.
שפת מקור. יש גם דף תרגום עם קוד השפה של שפת המקור: הוא אינו מכיל את התגים הנוספים וסימונים אחרים הקשורים לתרגום הדףים המשמשים במקור הדף הניתן לתרגום. דף זה אינו מקושר מהממשק, אך הוא שימושי למשל כאשר ברצונך להחליף את הדף (בדרך כלל לתבניות הניתנות לתרגום) או לייצא אותו. לדוגמה, הדף שאתה נמצא בו זמין ללא סימונים של Help:Extension:Translate/Page translation administration/en.
שינוי שפת המקור. התוסף בדרך כלל מניח שדף המקור הניתן לתרגום נמצא בשפת ברירת המחדל של הוויקי. מנהלי מערכת יכולים לשנות את הגדרת השפה של דף ספציפי, באמצעות הדף Special: PageLanguage, כך שהוא יכול לשמש כדף מקור לתרגום. ראה שפת תוכן הדף לפרטים. Administrators can change a specific page's language setting, using the Special:PageLanguage page, so that it can be used as a source page for translation. See Page content language for details.
שפת תרגום. דפי תרגום עשויים להכיל טקסט בשפות שונות אם הוא לא מתורגם במלואו.
בדפי התרגום, יחידות תרגום לא מתורגמות יתויגו עם כיוון שפה וטקסט מתאימים, כך שכללי CSS יוחלו כהלכה.
מדיה ויקי, לעומת זאת, אינה מאפשרת כרגע להגדיר את השפה לניתוח מלבד ברמת הדף.
כל מילות הקסם ופונקציות הניתוח משתמשות בשפת היעד לתרגום, גם אם הטקסט שמסביב אינו מתורגם.
זה יכול ליצור חוסר התאמה לא רצוי למשל בעת עיצוב מספרים או תאריכים.
פונקציות קסם ותגיות מנתח מסוימות מאפשרות הגדרת שפת הפלט, ובמקרה זה תוכלו להשתמש במילות קסם {{TRANSLATIONLANGUAGE}}
המחזירות את שפת המקור ליחידות לא מתורגמות או את שפת היעד ליחידות מתורגמות.
בקשות תרגום סגורות. בחלק מהדפים הניתנים לתרגום יש תוכן שמעניין רק לפרק זמן מסוים. למשל הכרזות ועדכוני סטטוס קבועים, כמו הדגשים החודשיים של ויקימדיה. אתה יכול לשמור על הדפים האלה עם תרגומים, אך להסתיר אותם מממשק התרגום. זה לא מונע תרגומים נוספים לדפים, אך זה מקטין מאוד את הסיכוי שמשתמש מתחיל לתרגם את הדף בטעות. מייאש והיפוכו נעשים מ- Special:PageTranslation
עדיפות לשפות. תוכל גם להגדיר רשימת שפות שתרצה לתרגם ספציפית אליהן; השארת רשימת השפות ריקה מתפרשת ככל שהשפות מותרות. הדף יתנהג כמו דף מיואש (ראה פסקה קודמת) עבור השפות שאינן ברשימת העדיפויות וכאשר מתרגמים אליהן, המתרגמים יקבלו הודעה. ניתן גם למנוע את התרגום בשפות אחרות, למשל אם משתמשים בתרגומים בפועל במקום אחר ולא תוכלו להשתמש בהם אלא בשפות מסוימות.
קיבוץ אפשר לקבץ יחד דפים קשורים. קבוצות אלה פועלות כמו כל קבוצות ההודעות האחרות. יש להם נתונים סטטיסטיים משלהם ומכילים את כל ההודעות של קבוצות המשנה: במקרה זה דפים הניתנים לתרגום. פונקציונליות זו כרגע היא Special:AggregateGroups. קבוצות הודעות מצטברות כבר מכווצות כברירת מחדל ב- Special:LanguageStats בבורר הקבוצה ב- Special:Translate.
Moving. You can move translatable pages as you would move any other page. When moving you can choose whether you want to move any non-translation subpages too. The move uses a background job to move the many related pages. While the move is in progress, it is not possible to translate the page. Completion is noted in the page translation log.
Deleting. Like move, deletion is accessed from the normal place. You can delete either the whole translatable page, or just one translation page, from the delete button on it. Deletion will also delete all the related translation unit pages. As in move, a background process will delete the pages over time and completion is noted in the page translation log. Deletion requires "delete" and "pagetranslation" permission, but individual translation unit pages can always be deleted with standard "delete".
Reverting. Similarly, reverting incorrect edits works as usual (including the rollback button): you only have to edit the affected translation unit and the translation page will be updated as well. To find the edit to the translation unit from the edit to the translation page, just click the "תרומות" link for the editor and look for an edit at a similar time. Within the translation system, you can mark an existing translation as outdated by adding !!FUZZY!!
at the start of the translation unit's translated message box.
Protecting. It is possible to protect the translatable page. Translation pages cannot be protected, nor does the protection of the translatable page extend to them. To prevent further edits to translations, you should add the source language as only priority language and disable translations to other languages, see prioritizing languages above. Together these two actions effectively prevent changes to both the source page and translation pages with its translation unit pages. It is possible to protect individual translation unit pages, though it is not advisable.
Removal from translation. It is also possible to unmark a page for translation. You can use Special:PageTranslation or follow the link in the top of translatable page to remove it from translation. This will remove any structure related to page translation, but leave all the existing pages in place, freely editable. This action is not recommended.
Language aware transclusion. It is possible to transclude a translatable page into another page as a template. In such a case, the translatable page will be loaded in the language of the target page if it has been translated to that language. If that translation does not exist, the translatable page will be loaded in the source language. This behavior of a translatable page is controlled by the Enable translation aware transclusion for this page option when marking the page for translation. New translatable pages will have this behavior turned on by default.
Anatomy of a translatable page
The translation of a translatable page will produce many pages, which all together compose the translatable page in the broadest sense: their title is determined by the title of the translatable Page
:
Page
- the source pagePage/<language code>
- the translation pages, plus a copy of the source page without markupTranslations:Page/<translation unit identifier>/<language code>
- all the translation unit pages
In addition to this, there are the translation page template and the sources of translation units, extracted from the source page and stored in the database. The system keeps track of which versions of the source page contain translation tags and which version of them have been marked for translation.
Every time a translation unit page is updated, the system will also regenerate the corresponding translation page. This will result in two edits. The translation unit page edit is hidden by default in recent changes and can be shown by choosing show translations from the translation filter. Any action other than editing (like deleting and moving) the translation unit pages will not trigger the regeneration of the corresponding translation page.
If you need the copy of the source page without markup, e.g. to be pasted in another wiki without Translate,
- identify the source language code (for English, en) and visit
Page/<language code>
- click the "גרסאות קודמות" button to reach an address like this and replace
action=history
withaction=raw
in the address bar, press enter
- the text will be displayed or saved.
חלוקה למקטעים
General principles:
- All text intended for translation must be wrapped in
<translate>
tags. There can be multiple pairs of tags in one page. - Everything outside those tags will not change in any translation page. This static text, together with the placeholders which mark the place where the translation of each translation unit will be substituted, is called the translation page template.
- Too much markup in the text makes it difficult for translators to translate. Use more fine grained placing of
<translate>
tags when there are lots of markup. - The text inside
<translate>
tags is split into translation units where there is one or more empty lines between them (two or more newlines).
Restrictions. The page translation feature places some restrictions on the text. There should not be any markup that spans over two or more translation units. In other words, each paragraph should be self-contained. This is currently not enforced in the software, but violating it will cause invalid rendering of the page, the severity depending on whether MediaWiki itself is able to fix the resulting HTML output or not.
Parsing order. Beware, the <translate>
tags work differently from other tags, because they do not go through the parser.
This should not cause problems usually, but may if you are trying something fancy.
In more detail, they are parsed before any other tags like <pre>
or <source>
, except for <nowiki>
which is recognized by the Translate extension.
<nowiki>
was not handled consistently and pages would still appear in Special:PageTranslation. Escape it like "<translate>...</translate>
" as a workaround.Tag placing. If possible, try to put the tags on their own lines, with no empty lines between the content and the tags. Sometimes this is not possible, for example if you want to translate some content surrounded by the markup, but not the markup itself. This is fine too, for example:
{{Template|1=<translate>Some localised parameter</translate>}}
To make this work, the extension has a simple whitespace handling: whitespace is preserved, except if an opening or closing <translate></translate>
tag is the only thing on a line. In that case the newline after the opening tag or before the closing tag is eaten. This means that they don't cause extra space in the rendered version of the page.
Variables. It is possible to use variables similar to template variables.
The syntax for this is <tvar name="name">contents</tvar>
(quotes are optional if the value contains no spaces or any of " ' ` = < >
).
For translators these will show up only as $name
, and in translation pages will automatically be replaced by the value defined in the translatable page (so they are global "constants" across all its translation pages).
Variables can be used to hide untranslatable content in the middle of a translation unit.
It also works for things like numbers that need to be updated often.
You can update the number in all translations by changing the number in the translatable page source and re-marking the page.
You do not need to invalidate translations, because the number is not part of the translation unit pages.
Note that variables are not shared between different translation units. If you want to use the same variable in more than one unit, you must repeat the code in each unit. You can use the same name.
<tvar|name>contents</>
(T274881). This syntax is still supported, but it is deprecated.Comma-separated values. For content such as Graph data, that needs to be parsed by the software as comma-separated values, you should separate the translation units between each comma, so that the translating editors don't use localized commas which will confuse the software.
Plain-text values.
To prevent any kind of modification of the translation value, use nowrap
attribute like this: <translate nowrap>...</translate>
.
By default outdated and untranslated values are modified in order to support highlighting and language tagging.
Markup examples
Below are listed some alternatives and suggested ways to handle different kinds of wiki markup.
Categories | Categories can be added in two ways: in the translation page template or in one of the translation units.
If you have the categories in the translation page template, all translations will end up in the same category. If you have categories inside translation units, you should teach the users a naming scheme. On the right we show two possible schemes which are independent of the technical means to adopt them. |
Translation by adding language suffix: Category:Cars/fi (recommended) [...]
</translate>
[[Category:MediaWiki{{#translation:}}]]
No translation: Category:Cars
|
Headings | Headings should be separated with an empty line. This way someone can quickly translate the table of contents before going into the contents, and an anchor in source language is added on translation pages.
When tagging headings, it is important to include the heading markup inside the tags and insert a newline between the opening translate tag and the heading markup, or MediaWiki will no longer identify them properly. For example, section editing only works with the recommended mark-up given in the example. The markup also immediately gives translators a context: they are translating a heading. Additionally, it ensures that linkable anchors are generated for the heading. |
Wrong: (no newline after == <translate>Culture</translate> ==
Wrong: (no newline) <translate>== Culture ==</translate>
חלוקה מומלצת למקטעים: <translate>
== Culture ==
Lorem ipsum dolor.
</translate>
|
Images | Images that do contain language specific content like text should include the full image syntax in an unit. Other images can only tag the description with optional hint in message documentation of the page after it has been marked. |
<translate>
[[File:Europe.png|thumb|Map of Europe with capital cities]]
</translate>
[[File:Ball.png|50px|<translate>Ball icon</translate>]]
|
Links | Links can be included in the paragraph they are inside. This allows changing the link label, but also changing the link target to a localized version if one exists.
If the target page is (or should be) also translatable, you should link to it by prepending |
Internal links: <translate>
Helsinki is capital of [[Finland (country)|Finland]].
</translate>
Links to translatable pages: <translate>
It has marvelous beaches with a lot of [[Special:MyLanguage/Seagull|seagulls]].
</translate>
External links: <translate>
PHP ([http://php.net website]) is a programming language.
</translate>
|
Lists | Lists can get long, so might want to split them into multiple parts with one item in each unit.
Do so only if the items are sufficiently independent to be translated separately in all languages: don't create "lego messages". For instance, you must avoid to split a single sentence in multiple units, or to separate logically dependent parts which may affect each other (with regard to punctuation or style of the list, for instance).
To split a list, use |
* <translate>General principles</translate>
* <translate>Headings</translate>
* <translate>Images</translate>
* <translate>Tables</translate>
or <translate>
Please visit:
* our main page
* then the FAQ page.
</translate>
|
Numbers | With numbers and other non-linguistic elements you may want to pull the actual number out of translation and make it a variable. This has multiple benefits:
|
<translate>
Income this month <tvar name=income>{{FORMATNUM:3567800}}</tvar> EUR
</translate>
Note that this prevents the translators from localising the number by doing currency conversion. The |
Templates | Templates have varying functions and purposes, so the best solution depends on what the template is for. If the template is not a part of longer paragraph, it should be left out, unless it has parameters that need to be translated. If the template has no linguistic content itself, you don't need to do anything for the template itself. | For an example of templates translated with page translation, see Template:Extension-Translate . To use this template, you need to have another template similar to {{Translatable navigation template }}, because you cannot include the template by {{TemplateName}} anymore. This is not yet provided by the Translate extension itself, but that is in the plans.
Another way is to use the unstructured element translation to translate the template, but then the language of the template will follow the user's interface language, not the language of the page they are viewing. |
Attributes | By default the Translate extension may wrap outdated translation units to highlight them and untranslated units to set proper language metadata.
In some circumstances the additional markup added by this wrapping is not suitable. |
<abbr title="<translate nowrap>Frequently asked questions</translate>"><translate>FAQ</translate></abbr>
|
Translation language (introduced in 5e8106cdc353) | When text is using language-dependent formatting methods, a mismatch may appear for untranslated sections.
|
2020-09-15 is {{#time:l|2020-09-15|he}}
The above input may render as:
Without the magic word, untranslated text on a Finnish translation page would render as:
|
Translated page language (introduced in 98b6958a2471) | Translated templates may want to set the language they are actually in (e.g. on a wrapper HTML element). When used outside of <translate> tags, {{TRANSLATIONLANGUAGE}} returns the language of the page it’s directly in (as opposed to the language of the page on which the reader sees it).
|
Suppose {{1/en}} is transcluded in the page titled 2/de .
|
Translatable page (introduced in a582f3ad21bd) | It can be used in templates that are transcluded on both translatable and non-translatable pages, and should behave differently depending on whether the page is translatable (e.g. use user language on non-translatable pages). It returns the title of the translation page (the page other languages are translated from) if a page is translatable (including translated pages), and nothing if the page is not translatable. Similarly to the <languages> parser tag, it returns nothing if the page contains translation markup but hasn’t been marked for translation yet.
|
{{#if:{{TRANSLATABLEPAGE}}|{{Some template}}|{{Some template/{{int:lang}}}}}}
Assuming |
שינוי טקסט המקור
General principles:
- Avoid changes
- Make the changes as isolated as possible
- Do not add translation unit markers yourself
Unit markers. When a page is marked for translation, the system will update the translatable page source and add unique identifiers, called "unit markers", for each translation unit.
See example below.
An example of a unit marker is <!--T:1-->
.
These unit markers are crucial for the system, which uses them to track changes to each translation unit.
You should never add unit markers yourself.
The unit markers are always on the line before the unit; or, if it starts with a heading, after the first heading on the same line.
The different placement for headings is needed to keep section editing working as expected.
<translate>
== Birds == <!--T:1-->
Birds are animals which....
<!--T:2-->
Birds can fly and...
</translate>
Changing unit text. Changing is the most common operation for translation units. You can fix spelling mistakes, correct grammar or do other changes to the unit. When re-marking the page for translation, you will see the difference in the unit text. The same difference is also shown to translators when they update their translations. For simple spelling fixes and other cases where you don't want the existing translations to be highlighted on the translated pages, you can avoid invalidating them: translators will still see the difference if they ever update the translation for any reason.
Adding new text. You can freely add new text inside <translate>
tags. Make sure that there is one empty line between adjacent units, so that the system will see it as a new unit. You can also add <translate>
tags around the new text, if it is not inside existing <translate>
tags. Again, do not add unit markers yourself, the system will do it.
Deleting text. You can delete whole units. If you do so, also remove the unit marker.
Splitting units. You can split existing units by adding an empty line in the middle of a unit, or by placing <translate>
tags so that they split the unit. You can either keep the unit marker with the first unit or remove it altogether. In the first case, translators see the old text when updating the old translation. If you removed the unit marker, both units will behave as if no translation ever existed, after the page is re-marked for translation.
Original state | Keeping the marker | Removing the marker |
---|---|---|
<!--T:1-->
Cat purrs. Dog barks.
|
<!--T:1-->
Cat purrs.
<!--T:2--> (Added after remarking)
Dog barks.
|
<!--T:2--> (Added after remarking)
Cat purrs.
<!--T:3--> (Added after remarking)
Dog barks.
|
Kissa kehrää. Koira haukkuu. | Kissa kehrää. Koira haukkuu.
Dog barks. |
Cat purrs.
Dog barks. |
Merging units. If you merge units, you have to remove at least all but one unit marker.
Moving units. You can move units around without invalidating translations: just move the unit marker together with the rest of the unit.
Before marking the new version of the page for translation, ensure that the best practices are followed, especially that translators get a new translation unit if the content has changed. Also make sure that there are no unnecessary changes to prevent wasting translators' time. If the source page is getting many changes, it may be worthwhile to wait for it to stabilize, and push the work for translators only after that.
Unused unit translations are not deleted automatically, but that should not cause trouble.
Migrating to page translation
If you have been translating pages before using the page translation system, you might want to migrate the pages to the new system, at least the ones you expect to have new translations and want statistics for. You will probably have existing templates for language switching and maybe different page naming conventions.
You can start migration by cleaning up, tagging and marking the source page. You can keep the existing language-switching templates while you migrate the old translations. If your pages follow the language code subpages naming convention, they will be replaced with the source text after marking the source page for translation, but you'll still be able to access translations from history.
This manual task has been partly automated by Special:PageMigration (available to translation administrators only), 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?
- Go to Special:PageMigration
- Enter the title of the page and the language code. For example, "Help:Special pages" & "fr"
- The source text which was divided into units by Translate and the imported translations will be shown besides each other with some initial alignment.
- Use the actions available for each unit to manually do the remaining alignment
- As translated units are editable, do required manual improvements (for add translation variables, fix links and markup, etc.)
- Click on the "שמירה" button. This will create pages under the Translations namespace of the form
Translations:Page/<translation unit identifier>/<language code>
. The old translations have been imported into Translate. - 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:
- 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.
- 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.
- 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
- 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 "הדף <page-name>/<language-name> אינו מכיל תרגומים ישנים.". This is because FuzzyBot didn't fuzzy the messages on the old page yet: the tool won't find an edit by FuzzyBot on the translation page. In this case, simply wait for FuzzyBot to do its job. Once an edit is seen, you can proceed with the imports.
- Please wait for some time after pressing the "שמירה" button. While the button background remains gray, there is an ongoing process of importing non-empty units. Once the button becomes colored again, the import is completed.
- Within the translation system, you can mark an existing translation as outdated by adding
!!FUZZY!!
at the start of the translation unit's translated message box.
Tips
- 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: break paragraphs and lists, add the missing headings (even if empty).
- 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.
- Translation of the page title will have to be added 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 sometimes in redirects.