Wiki: A Guide for Users of Professional Translation Tools

Wiki: A Guide for Users of Professional Translation Tools



This is article is a stub for information about using external translation tools with wiki content.

This article is mostly of interest to members of the internal Microsoft community that may want to work with professional translators to ensure that a critical wiki article is published at a specific time in a specific set of languages.

Why use external translation tools for Wiki content?


In short, for the same reason that some contributors use external editing programs instead of the the built-in editor: they give a higher degree of control and allow spending more energy on the actual content than on formatting it.
Most commercial or large scale translation efforts rely on Computer Assisted Translation (CAT) tools for the same reasons: they allow the translators to be more effective and focus on translation itself.

Step-by-step guide

In this example, we'll assume you wish to translate an existing English Wiki article.
You will first get the English text, save it locally, translate it with your favorite translation process, and finally publish it to the wiki. You can see some examples of finished work in the "Examples" section.

Getting the source text
  • Go to your source article. Ensure you are logged in.
  • Go to the "EDIT" tab and select the HTML view in the editor.
  • Select the HTML text and copy it into a file: article.htm.

 Note 1: the article also has a title and tags that are not part of the HTML text. These will need to translated separately.
 Note 2: practices for tagging localized articles are evolving: some authors translate some tags, others leave some in English. 

Performing the translation
  • Use your favorite HTML translation process to translate the above file
    Note that the file is not "true" HTML and the following may require tweaking your tools configuration:
    - Lack of HTML header in the file
    - Wiki specific markup such as Table of Content ("[ TOC ]") and internal Wiki links ("[ [ article name, display text ] ]" or "[ [ article name ] ]") 
  • Save the translation
Publishing the translation on the Wiki
  • Go to a Wiki page and click the "Post An Article" link
  • Select the HTML view in the editor
  • Paste the translated HTML from the previous step
  • Paste in translated Title, adding a language code as explained in Wiki: Non-English Language Title Guidelines  
  • Add translated Tags. Make sure to add a tag with the same language code as used for the title
  • Verify that the page looks good in the "Design" view. Make corrections as needed.
  • Save the page and verify the page looks OK in the "Design" view. Make corrections as needed.

If you are planning to translate an article in multiple languages, you can save time by validating that the above process works end-to-end on a one pilot language (this could be machine translated text or a pseudo-language). Make adjustments to the English source as needed until the translated page looks good. This will save having to correct each language individually.

This article is focussed on the mechanics of using an external translation tool. The Wiki: Non-English Language Content Guidelines article has more general information about translation.

Translation in a corporate environment

Larger companies often have dedicated localization teams. These teams have expertise in engineering and business aspects of translation. They are typically most effective at handling an "English files in, translated files out" workflow and working with common file formats. This article has been written with the assumption that the "Performing the translation" step could be done in partnership with such a team. So if you own a technology but are not usually involved in translation, you may want to consider finding a "localization team" and reading this information together. As usual, feel free to edit this article if you feel it can be improved. 

Examples of professional translation on the Wiki

 

Leave a Comment
  • Please add 8 and 2 and type the answer here:
  • Post
Wiki - Revision Comment List(Revision Comment)
Sort by: Published Date | Most Recent | Most Useful
Comments
  • Richard Mueller edited Revision 9. Comment: Removed (en-US) from title

  • Bruno Lewin - MSFT edited Revision 7. Comment: adding info on working with a Localization Team

  • Bruno Lewin - MSFT edited Revision 4. Comment: format

  • Bruno Lewin - MSFT edited Revision 3. Comment: formatting

  • Bruno Lewin - MSFT edited Revision 2. Comment: added step-by-step info

  • Bruno Lewin - MSFT edited Original. Comment: typos

Page 1 of 1 (6 items)
Wikis - Comment List
Sort by: Published Date | Most Recent | Most Useful
Posting comments is temporarily disabled until 10:00am PST on Saturday, December 14th. Thank you for your patience.
Comments
  • Bruno Lewin - MSFT edited Original. Comment: typos

  • Bruno Lewin - MSFT edited Revision 2. Comment: added step-by-step info

  • Bruno Lewin - MSFT edited Revision 3. Comment: formatting

  • Bruno Lewin - MSFT edited Revision 4. Comment: format

  • IF OBJECT_ID (N'dbo.fn_translate', N'FN') IS NOT NULL

       DROP FUNCTION dbo.fn_translate;

    GO

    -- ============================================================      

    -- Author : Krushna Kadam

    -- Create date : 4-Apr-2012

    -- Description : Function to return the translated value of provided diacritics.

    -- Spec ID : Spec #657  

    -- ============================================================      

    CREATE FUNCTION dbo.fn_translate

    ( @string_in NVARCHAR(4000))

    RETURNS NVARCHAR(4000)

    AS

    BEGIN

    DECLARE @string_1 NVARCHAR(4000)

    DECLARE @string_2 NVARCHAR(4000)

    IF (@string_1 IS NULL OR @string_2 IS NULL)

    BEGIN

    SET @string_1='ªµºÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜYßàáâãäåæçèéêëìíîï¿ñòóôõöùúûüÿ¿øØÞðп¿¿¿Ýý¿ÿ'

    SET @string_2='auoAAAAAAACEEEEIIIINOOOOOUUUUYSaaaaaaaceeeeiiiiDnooooouuuuyyoODdDOoSsYyYy'

    END

    DECLARE @string_out NVARCHAR(4000)

    DECLARE @string CHAR(1)

    DECLARE @i SMALLINT

    DECLARE @pos SMALLINT

    DECLARE @list TABLE ( indx SMALLINT,

    string CHAR(1),

    trans BIT)

    IF LEN(@string_1) != LEN(@string_2)

    BEGIN

    SELECT @string_out = NULL

    RETURN @string_out

    END

    SELECT @string_out = '',

    @i = 1,

    @pos = 0

    WHILE @i <= LEN(@string_in)

    BEGIN

    INSERT INTO @list VALUES (@i,SUBSTRING(@string_in, @i, 1),0)

    SELECT @i = @i + 1

    END

    SELECT @i = 1

    WHILE @i <= LEN(@string_1)

    BEGIN

    UPDATE @list

    SET string = SUBSTRING(@string_2, @i, 1),

    trans = 1

    WHERE ASCII(string) = ASCII(SUBSTRING(@string_1, @i, 1))

    AND trans = 0

    SELECT @i = @i + 1

    END

    SELECT @pos = MAX(indx),

    @i = 1

    FROM @list

    WHILE @i <= @pos

    BEGIN

    SELECT @string = string

    FROM @list

    WHERE indx = @i

    SELECT @string_out = @string_out + @string

    SELECT @i = @i + 1

    END

    RETURN @string_out

    END

    GO

  • Bruno Lewin - MSFT edited Revision 7. Comment: adding info on working with a Localization Team

  • Nice one.

  • Richard Mueller edited Revision 9. Comment: Removed (en-US) from title

Page 1 of 1 (8 items)