38 Managing a Multilanguage Portal

If your portal must support different languages, you can configure it to display localized content based on the user's selected language and locale. For example, if you know your page will be viewed by users who speak Italian, you can localize your page so that when Italian is selected (in browser, user preferences, space, or application settings), text strings in the page appear in Italian.

Additionally, locale selection applies special formatting considerations applicable to the selected locale. For example, whether information is typically viewed from left to right or right to left, how numbers are depicted (such as monetary information), and the like.

This chapter includes the following sections:

For information on language configuration options available in Spaces, see Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

38.1 What You Should Know About Languages in the Spaces Application

There are three main types of information that are displayed in the Spaces application:

  • User interface (UI) elements, such as field and button labels and seeded boilerplate text

  • User-entered metadata, such as page names, the space name, and the space description

  • Content added by users, such as announcements, documents, and discussion forum content

Each type of information is handled differently when it comes to modification:

  • UI elements:

    Note:

    UI elements include out-of-the-box translations for 27 languages and 100 different locales. You need only change this text if the default UI text is not suited to your company's needs or if your company must support additional languages.

    • To change the text for your entire site (rather than just one space), edit the strings in the override bundle.

    • To change the UI text for a particular space, edit the strings in the space-specific resource bundle.

  • User-entered metadata (such as page names, the space name, and the space description) is saved as strings in the resource bundle for the space. Each space has its own resource bundle. To change the user-entered metadata, edit the strings in this space-specific resource bundle.

    Note:

    Generally, the user-entered metadata you want to display in multiple languages is company-wide content or customer-facing content that likely has translations available in some form. More specific content (for example, content specific to a particular department or region) is probably necessary in only one language, and therefore does not require translation.

  • Content added by users is generally displayed in the language used by the contributing user, though there is a way that you can display translated content using Content Presenter.

38.1.1 Languages Supported Out-of-the-Box by Spaces

Spaces provides run-time translations for 27 languages and 100 different locales.

Table 38-1 Languages Available in Spaces

A to Fi Fr to No P to T

Arabic

French

Polish

Brazilian Portuguese

German

Portuguese

Chinese (Simplified)

Greek

Romanian

Chinese (Traditional)

Hebrew

Russian

Czech

Hungarian

Slovak

Danish

Italian

Spanish

Dutch

Japanese

Swedish

English

Korean

Thai

Finnish

Norwegian

Turkish


The list in Table 38-1 includes all the languages available to Spaces out-of-the-box. Users can also select locales associated with particular languages. For example, a user can change the language to Arabic and, within that language group, select from 20 different locales, including Algeria, Bahrain, Djibouti, and so on.

Note:

The administrative tier that offers services to Spaces, including such tools as Oracle Enterprise Manager, provides a subset of the languages available to Spaces. These include:

  • English

  • Brazilian Portuguese

  • Chinese (Simplified)

  • Chinese (Traditional)

  • French

  • German

  • Italian

  • Japanese

  • Korean

  • Spanish

The Discussions service uses WebCenter Portal's Discussion Server. Out-of-the-box, the discussion server application supports English and Spanish. It does not support other languages listed in Table 38-1. However, the application is open to your own translation files. For more information, refer to the Jive documentation site. The information is explicit to the discussion server application user interface.

38.2 Limiting Edits to a Particular String or Space

You might need only to edit a particular string or the strings for a particular space. In that case, you need to find the values associated with the string or the space:

38.2.1 Finding the Resource Key for a String

If you want to edit a particular string, you need to know the resource key for the string so you can find it in the string files.

To find the resource key for a string:

  1. Open the page or resource in Composer. For details, see “Editing a Page Template in Composer”, “Managing Space Pages” or “Editing a Task Flow” in Oracle Fusion Middleware User's Guide for Oracle WebCenter Portal: Spaces.

  2. Click the Edit icon (wrench) for the component that includes the string you want to edit.

  3. In the Component Properties dialog box, click the Display Options tab.

  4. The resource key is the last part of the text in the Text box.

    For example, Figure 38-1 shows the resource key for the Announcements component. If you want to edit the string “Announcements” make note of the resource key ANNOUNCEMENTS.TITLE.

    Figure 38-1 Display Options for Announcements Component - Resource Key

    Description of Figure 38-1 follows
    Description of "Figure 38-1 Display Options for Announcements Component - Resource Key"

38.2.2 Finding the GUID for a Space

If you want to edit the UI text for a particular space or edit user-entered metadata, you need to find the GUID for the space.

To find the GUID for a space:

  1. Navigate to the space that includes the strings you want to edit.

  2. Click the Actions menu, select About, then select This Space.

  3. In the This Space dialog box, note the Internal ID value.

    Figure 38-2 GUID for a Space

    Description of Figure 38-2 follows
    Description of "Figure 38-2 GUID for a Space"

38.3 Modifying Strings

Whether you are modifying UI text site-wide, UI text for a particular space, or user-entered metadata in a space, the process is basically the same, you just modify different files. To modify UI text site-wide, you edit the override bundle (SpacesSeedDataOverrideBundle.xlf). To modify UI text or user-entered metadata for a particular space, you edit the space-specific resource bundle (scope-resource-bundle.xlf).

To modify strings:

  1. Use the WLST command exportMetadata to export the string files:

    • To export all strings, do not include the docs attribute. For example:

      exportMetadata(application='webcenter',server='WC_Spaces',toLocation='/tmp/metadata')
      

      This example exports all string files from the “webcenter” application on the “WC_Spaces” server to the “/tmp/metadata” folder. Always use “webcenter” as the application name. Change server name to match the server that hosts your installation of Spaces. Change the toLocation to the location into which you want to export the string files.

    • To export only specific string files, include the docs attribute. For example:

      exportMetadata(application='webcenter',server='WC_Spaces',toLocation='/tmp/metadata',
      docs='/xliffBundles/SpacesSeedDataOverrideBundle.xlf,/oracle/webcenter/translations/scopedMD/SPACE_GUID/scope-resource-bundle.xlf')
      

      This example produces similar results to the first example, but exports only the site-wide override bundle and a space-specific resource bundle.

      • To edit site-wide UI strings, use the first docs value that points to the SpacesSeedDataOverrideBundle.xlf.

      • To edit space-specific UI strings and user-entered metadata, use the second docs value that points to the scope-resource-bundle.xlf, replacing SPACE_GUID with the GUID of the space for which you are modifying strings.

      Note:

      To export more than one file, separate file locations with commas.

    For more information, see Section 1.13.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands." See also "exportMetadata" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

  2. Navigate to the folder into which you exported the string files, and open the string file in a text editor.

    Caution:

    Make sure to correctly encode your edited file or you receive an error when you try to import the translations. We recommend using Oracle JDeveloper to edit the file because it automatically encodes special characters correctly.

    • To edit the site-wide UI text, open /xliffBundles/SpacesSeedDataOverrideBundle.xlf.

    • To edit space-specific UI text or user-entered metadata, open /oracle/webcenter/translations/scopedMD/SPACE_ GUID/scope-resource-bundle.xlf, replacing SPACE_GUID with the GUID of the space for which you are modifying strings.

  3. Find the <trans-unit> blocks you want to modify.

    The ID attribute (in SpacesSeedDataOverrideBundle.xlf) or OBJECTGUID attribute (in scope-resource-bundle.xlf) corresponds to the resource key you made note of when looking at the component in Composer.

    For example, here is the <trans-unit> block for the Announcements title in site-wide SpacesSeedDataOverrideBundle.xlf file.

    <trans-unit id="ANNOUNCEMENTS.TITLE">
    <source>Announcements</source>
    </trans-unit>
    

    Here is the <trans-unit> block for the Announcements title in a space-specific scope-resource-bundle.xlf file.

    <trans-unit id="SCOPEGUID:s1a448c10_c9b8_429f_bf83_a481d5f9e4bc:SERVICEID:oracle.webcenter.peopleconn:OBJECTTYPE:profile:OBJECTGUID:ANNOUNCEMENTS.TITLE">
    <source>Announcements</source>
    </trans-unit>
    
  4. Edit the text in the <source> block to fit your business needs, then save the file.

  5. Use the WLST command importMetadata to import the updated string files back into Spaces. For example:

    • To import all strings, do not include the docs attribute. For example:

      importMetadata(application='webcenter',server='WC_Spaces',fromLocation='/tmp/metadata')
      

      This example imports all string files from the “/tmp/metadata” folder to the “webcenter” application on the “WC_Spaces” server. Change the fromLocation to the location from which you want to import the string files. Always use “webcenter” as the application name. Change server name to match the server that hosts your installation of Spaces.

    • To import only specific string files, include the docs attribute:

      importMetadata(application='webcenter',server='WC_Spaces',fromLocation='/tmp/metadata',
      docs='/xliffBundles/SpacesSeedDataOverrideBundle.xlf,/oracle/webcenter/translations/scopedMD/SPACE_GUID/scope-resource-bundle.xlf')
      

      This example produces similar results to the first example, but imports only the site-wide override bundle and a space-specific resource bundle.

      • To import site-wide UI strings, use the first docs value that points to the SpacesSeedDataOverrideBundle.xlf.

      • To import space-specific UI strings and user-entered metadata, use the second docs value that points to the scope-resource-bundle.xlf, replacing SPACE_GUID with the GUID of the space for which you are modifying strings.

      Note:

      To import more than one file, separate file locations with commas.

    For details, see Section 1.13.3.1, "Running Oracle WebLogic Scripting Tool (WLST) Commands." See also "importMetadata" in the Oracle Fusion Middleware WebLogic Scripting Tool Command Reference.

  6. Restart the WC_Spaces managed server, and confirm that the changes you made appear in the UI.

38.4 Adding Support to Spaces for a New Language

If you want to support a language in Spaces that is not supported out-of-the-box provide string files for the new language, and add a <language> tag for the new language in the supported-languages.xml configuration file. For details, see the white paper "Using Spaces Sample Extensions" on the Oracle Technology Network, on the Oracle WebCenter Portal White Papers and Technical Notes page.

38.5 Presenting Translated Content Through a Content Presenter Template

To display translated content, you must create a Content Presenter template that looks up the display language and then displays content from a language-specific folder. For information on creating a Content Presenter template, see “Creating Content Presenter Display Templates” in Oracle Fusion Middleware Developer's Guide for Oracle WebCenter Portal.