In a multilanguage variation hierarchy, translation of content will be the prevailing management task and it certainly deserves special attention in this chapter. This translation task might involve documents as well as page content. Neither Windows SharePoint Services 3.0 nor SharePoint Server 2007 provide a translation service to translate text from one language to another. Your organization might have translation capabilities in-house or need to engage the services of an external provider. SharePoint Server 2007 has addressed both options.
SharePoint Server 2007 provides three translation management tools designed to assist you in automating your local translation processes:
Translation Management Workflow Manages the translation of a document into one or more languages. It creates and routes copies of a source document in a Translation Management Library to designated translators for translation. The workflow creates placeholder documents, and both assigns and tracks translation tasks for each language version of the source document. If the source document changes, the workflow assigns tasks to the appropriate translators to update the translation versions. This special workflow is available only for Translation Management Libraries and can be activated in site collection features.
Translation Management Library A document library template available for SharePoint Server 2007 sites that is designed specifically to help organizations create, store, and manage translated documents.
Translators lists Custom lists that provide information to workflows about the available translators and their language capabilities.
The Translation Management Library helps organizations create, store, and manage translated documents by providing both views and specific features that facilitate the manual document translation process. The Translation Management Library is designed specifically to store documents and their translations. The library tracks the relationship between a source document (an original version of a document) and its translations, and it groups all these documents together to make them easy to find. Additionally, the library can be configured with one or more special Translation Management Workflows that are designed to help manage the manual document translation process.
The library has customizations that help organizations store and manage document translations:
A required language property field for all documents saved or uploaded to the library ensures that all documents are identified by language.
Columns in the default library view display information about a document's Language, Translation Status, Source Document Version, and Translation Workflow status.
Users can create relationships between a translated document and its source document by specifying whether or not a document is a translation of an existing document in the library when they upload a document to the library.
To make the Translation Management Library template available for a publishing site, follow these steps:
On the Site Actions menu, choose Site Settings, Modify All Site Settings.
In the Site Administration column, open the Site Features page.
Click the Activate button next to Translation Management Library.
From the Create page, you can now create a Translation Management Library. This process includes the options of creating and adding a Translation Management Workflow to that library and creating a translators list to be used by the workflow. You must have the Manage Lists permission to create a Translation Management Library for a site.
You might need more than one Translation Management Library. Although one library can support multiple workflows, you might have confidential or sensitive material that requires translation and must be managed in a more restricted environment.
To create a Translation Management Library, complete the following steps:
From the Site Actions menu, select View All Site Content, and then click Create to open the New page.
Under Libraries, click Translation Management Library. This starts a series of configuration pages for creating the library, the workflow, and, optionally, the translators list. The first of these pages is shown in Figure 4-5.
Complete the information on the New page:
Name And Description Required. You should have a naming convention defined for library names because they appear not only at the top of the library page but also in the URL and in navigational elements. This name should be short but unique and descriptive.
Although a description of the purpose of the library is optional, it appears at the top of the library page, underneath the name of the library. If you plan to mail-enable the library, you might add the e-mail address of the library here to make it readily available to users.
Navigation Indicate whether you want the library to appear on the Quick Launch menu.
Document Version History Choose whether you want a version created each time a document is edited. You might or might not need a version each time a file is checked into the library. This decision can be revised if needed, and you can choose later whether you want to store both major and minor versions and how many versions of each you want to track.
Document Template Click the type of default file that you want to be used as a template for files that are created in the library. You might have multiple Translation Management Libraries for different types of documents. Although this chapter has focused on sites and pages in various languages, many other documents stored in document libraries will need translation as well.
Translation Management Workflow Click Yes to add a Translation Management Workflow to the library.
Click Next to configure the Translation Management Workflow and open the Add A Workflow page shown in Figure 4-6.
Configure the new workflow by providing the following information:
Workflow Select a workflow to add to this document library. The default value is Translation Management, which has special functionality needed to select translators and assign tasks to the selected translators.
Name You might have more than one Translation Management Workflow, so a naming convention should be planned and include a unique name for this workflow.
Task List Specify a task list to use with this workflow. You can use the default, Workflow Tasks, or you can create a new one. If you use the default task list, workflow participants will be able to find and view their workflow tasks easily by using the My Tasks view of the Task List.
However, if the tasks for this workflow will involve or reveal sensitive or confidential data that you want to keep separate from the general Task List, select Create A New Task List from the Select A Task List drop-down list.
History List Select a history list to use with this workflow. Because the history list displays all of the events that occur during each instance of the workflow, you might need more than one history list for the same reasons you need more than one task list.
Start Options Deciding how, when, or by whom a workflow can be started is an important planning decision. This can be modified later.
In the Lists Of Languages And Translators section, you might have two options:
If a translators list already exists for your site, you can click Use An Existing List Of Languages And Translators From The Site, and then select the list you want to use.
If no list exists, click Create A New List Of Languages And Translators For This Workflow, and give a unique name for the list in the List Name box based on your naming convention.
If you want to begin adding names to the new translators list when you finish customizing the workflow, select the Open The New Translators List In A Separate Window check box.
These lists appear in the View All Site Content page and can be managed directly. In some organizations, the management of workflows might be separated from the management of translators lists. In these cases, you assign management of these lists to specific people who are knowledgeable about the capabilities of your translator teams and the person configuring the workflow will need to use an existing list.
In the Due Date section, the option to set a due date is available only if you chose to have the workflow start automatically when documents are either created or changed in the library. Business requirements will define the range of days within which workflow tasks should be completed for workflows that start automatically.
In the Complete The Workflow section, select the When The Source Document Is Changed check box if you want the workflow to be completed whenever all tasks are completed or someone changes the source document for the translation. If you do not select this option, a translator could continue to work on a document that has been replaced and no longer needs translating. By default, the workflow will be completed when all translation tasks are completed.
If you chose to create a new list of translators for use with this workflow and to have that list open in a new window, a separate window opens after you click OK, and you can begin adding names to the list.
You can add a Translation Management Workflow to an existing Translation Management Library at any time in the library settings, Workflow Settings. You might want to add multiple Translation Management Workflows to one library if you want to have separate translators lists for different source documents in the same library, or different translation rules for different source documents.
Figure 4-5: Creating a Translation Management Library
Figure 4-6: Configuring the Add A Workflow page
Now that you have the necessary components in place, you are ready to start your translation management process by placing a document in the library. When you upload a document to a Translation Management Library, you need to supply profile information about the language and translation status of that document. Documents that you upload to a Translation Management Library remain checked out to you until you fill out the required profile properties for the document.
In your Translation Management Library on the Upload menu, click Upload Document.
In the Upload Document section, click Browse to locate the document you want, and then click Open and then click OK.
On the properties page for the document, complete the Name and Title boxes if they have not already been populated with data.
If the document you are uploading is a completed translation of a source document in the library, type the version number of the source document in the Source Document Version box. This information will be set automatically if you use a workflow to manage translation.
For example, if your document is a translation of the first version of the source document, type 1.0. If the document you are uploading is not a translation, you should leave this blank.
In the Translation Status section, select the value that applies to your document. If the document you are uploading is a source document on which translations will be based, you should leave this blank. This information will be set automatically if you use a workflow to manage translation.
In the Language section, select the language property that applies to your document or click Specify Your Own Value, and then type the language you want.
If the document you are uploading is a translation of another document that already exists in the library, click Yes, and then select the source document for your document. If the document you are uploading is not a translation of another document in the library, click No.
When you check in the document, the workflow will be started if configured to start automatically. Otherwise, you need to start the workflow from the drop-down menu of the uploaded document.
The Translation Management Workflow works with a translators list, which lists the people responsible for translating documents into a specific language.
When the Translation Management Workflow starts on a source document, it creates a copy of the source document for every translator specified in the translators list for the source document's language. The workflow also sets the appropriate language property for each placeholder document and creates a relationship between the placeholder and the source document. The workflow then assigns a translation task to each of the translators. The workflow participants receive e-mail alerts about their workflow tasks.
After a translator completes a translation task, he marks it as complete. When all translation tasks in a workflow are completed, the workflow is marked as Complete.
The workflow can be configured so that it ends automatically and cancels all uncompleted translation tasks if the source document changes while the workflow is in progress.
When you start a translation workflow, the workflow creates a copy of the source document for each of the target languages specified in the translators list for the workflow. It then assigns the translation tasks to the translators specified for these languages in the translators list. If there is more than one translator specified for a specific type of translation (for example, for a translation from English to Spanish), each of these translators will receive a translation task.
The translators lists are custom lists with special columns used by the workflow. These lists appear in the View All Site Content page and can be managed directly. When adding translators to the lists, you will supply the user name of the translator, the original language of the source documents as the Translating From entry, and the desired translated language as the Translated To entry. You can browse for the user name or type it in directly, and you can pick languages from a list or enter the language directly.
When the workflow starts, it creates translation tasks for each of the qualified translators in the translators list. The tasks request that the source document be translated into the specified language. If e-mail has been enabled for the site, the workflow participants will also receive an e-mail notification of their translation tasks.
The tools provided for translation management are designed for internal translation processes. However, your business capabilities and requirements might require that the content be shipped to external translation service companies.
To use an external translation service, three processes must be accomplished:
You identify, package, and ship the content to be translated to your translation service provider.
The translation service provider opens, translates, repackages, and returns the content to you.
You place the translated content back on your site without breaking the variation relationships established in your hierarchy.
The SharePoint Server 2007 Variation feature provides the tools described below that you can use to manage the external translation shipment processes.
You can identify the portions of the objects needing translation in the Translatable Column Settings page, shown in Figure 4-7, which you access through the Site Collection Settings page. This tool uses your selections to produce a Manifest.xml file within the variation export packages that identifies the content within the package needing translation.
Figure 4-7: Translatable Column Settings page
The Variation feature adds two tools to the drop menu of target sites within your hierarchy: Export Variation and Import Variation. These tools, working with the translatable column settings, package the variation pages of an entire site along with a Manifest.xml file into a CAB file with a .cmp extension.
You can then ship this file to your translation service provider, and they will open it, identify the content needing translation as identified by the Manifest.xml, translate the content, and repackage it for return to you. You can choose to use a document library and SharePoint alerts to assist in the transfer process.
You access these tools on the Site Content And Structure page, as shown in Figure 4-8.
Figure 4-8: Export Variation and Import Variation menu options
These processes hook into the prime API in the object model. They are able to distinguish the variation publishing content, use the translatable content configuration, and build a Manifest.xml file during the content packaging process. This eliminates the need for packaging any site content that is not part of the variation process. The import function also works at the site level, and by importing at this level you can maintain the variation relationship of the imported content. Content that is checked out by users is not packaged during the export. The export package only contains page content since other site content such as master pages, layout pages, etc. are already in the appropriate language for the site.
If your variation target has subsites, you can export and import at any site level. For example, if you have created a News site at the source variation, you can export or import at the News site level of any target variation if that happens to be the only site with content needing translation.
Although SharePoint Designer has the capability of exporting a single page, it does not use the same API and cannot distinguish variation content. The package file that it creates is in a different format than the .cmp package and does not contain the Manifest.xml file identifying content needing translation. Improperly replacing a page on the variation target can break the variation relationship between the source and target pages.
Real World Solutions for External Translation Services
Third-party companies will offer external translation services for organization which do not have in-house translation capabilities. These services will need to provide applications that can provide the following processes:
Download the Variation exported packages from published locations, probably SharePoint Document Libraries which can generate alerts. The application may have a workflow capability that can be triggered by an alert or may crawl the document library on a schedule.
Open Variation exported packages and manage the human translation of the content requiring translation.
Repackage translated content back into the appropriate format to be imported by your Variation process.
Upload the package to the designated published location, probably a SharePoint Document library which can be configured with a custom workflow automatically initiated to manage the placement of the translated content in the appropriate location.
You would then initiate the process by packaging the site into a .cmp file with the accompanying Manifest.xml to identify what needs translating. You then place this file in a location that the external service checks periodically for new content. The service application will pick up the package, open it, and send the identified content to be translated by human teams. Their workflow should include checks to make certain that the source language sentence has not been translated previously to avoid duplicate translation efforts.
When the translation is approved externally, the service workflow repackages the returning translation with the remaining data back into a .cmp file and returns it to the designated location. You then import it into the appropriate site and continue your workflow process.