Translation process

I. Separate language-independent content


(Separate layout, images, data, etc. from content that needs translation)

  • Templates are useful for this.
  • All this can have its own talk: page
    • NB: R-to-L langs and L-to-R langs can't always have identical layouts. Similarly for T-to-B langs.

II. Identify key languages


(Identify languages which are accessible to most translators as source languages; use them as a nexus for translation)

  • Distinguish "original content" from "source" for translation; original may not be in a key language
  • Distinguish source for translation from "target content in key language"; sources for translation should be simple and free of idiom. A simplified english source for translation may not be the idiomatic english translation of the original.
  • Sources will some day need to be available in multiple key languages

III. Lazy translation for simple pages


(For simple pages, have a lazy top-down translation process)

  • Page P comes from a group writing in one language.
  • Discussion of content takes place on Talk:P
  • P is translated into key languages, then into target languages.
  • Version control is handled by checking the last timestamp on P (or the simplifies source used) and on the target translation.
    • At some point, work on the original can be frozen to let others catch up.

三. 简单页面的懒汉翻译方式



  • 出自某语言页面组的页面P可以使用这种翻译方式。
  • 某会话页面P中的讨论内容可以使用这种翻译方式。
  • 把页面P翻译成主要语言,然后再翻译成目标语。
  • 通过确认页面P上的最后时间戳(或者通过被翻译的简单页面)来操纵版本控制,版本控制会显示在目标语翻译页面上。
    • 在某种意义上,对原文进行的这些翻译可以使其他的读者了解原文的内容。

Snow carpenter 04:24, 23 February 2009 (UTC)Snow carpenter[reply]

IV. Break complex pages into simple pages

  • Complex page Q gets content from people writing in a few languages.
  • Separate Q into single-language subparts; treat each part as in III., using templates.

[III.] and [IV.] are good ways to start. We will eventually need better version-control for pages whose timeliness and synchronization is most important; see [V.] below.

V. Unlazy Translation


(Originals in many languages, single source for translation)

Especially needed for pages where content is being added to the same sections in many languages (like a multilingual news/stats page), in which case the above method won't work.


  • Identify pages whose content is linked together. Let's call the set

of mutually intertranslated pages on a given topic a cluster of pages.

    • Decide on a single source page for a cluster. It could contain

content in multiple languages -- each paragraph listed once in each key language -- or just content in (simplified) english.


  • Provide a way to flag a change as 'needing translation'. (like

major/minor edits)

    • Provide a way to flag a change as 'urgent'.
  • Changes to each content page are translated to the source page. Changes to the source page are propagated to each content page.


  • Track version numbers for each page. (Autoincluded somewhere on

each revision)

    • Provide a way to say "Updated from page S, revision XX" when translating S into a page T (or more generally, when synchronising S with T). This could be done in tandem with a new translation interface, which shows S and T versions together while one is updating T.
  • Create a db-generated overview for each cluster, showing for each page
  • ~ When it was last synched with the source (version #s of both; changes made to it since then should be propagated to the source; this will usually be the current version)
  • ~ When the source was last synched with it (version #s of both; changes to the source since then should be propagated to it)



The overview will let you can see exactly how far a particular change has propagated. (bg v.49 was synched with source v.112, but only ja: has been updated from the source since then...)

Various kinds of alerts can be set up with such a system.

  • 'Send me mail if one of the following languages, or the source, has an urgent update,'
  • 'Leave me a banner mesg if any of the following ja: pages ever gets more than 2 revisions out of synch with its source'



Note that "when page P was last synched with me" is a transitive property (if the source is synched with page A, which is then synched with page B, the source is now synched with both A and B); so while many pages will be directly synched with other pages in the cluster rather than the source, this overview can still be kept current.

You can modify this process to allow for multiple sources for translation (a kernel of sources, in a sense), rather than just one