Documentation Center

Contenta S1000D support for multiple languages

Optionally, Contenta S1000D can support CSDBs containing content in multiple languages, enabling you to store multiple, language-specific versions of S1000D modules.

Contenta S1000D allows you to author and edit in one language, known as the source language, and manage translated content in other languages.

Enabling multi-language support for your CSDB

To enable multi-language support for your CSDB, set the following AppData values.

AppData SettingDescription
supportMultipleLanguagesSet to yes to enable multi-language support. The default value is no in an upgraded CSDB, and yes in a new CSDB. This setting is global, affecting the entire database, and cannot be set at the user level.
sourceLanguageCountryCodeSet to the source language and country code combination at the database level. This is ignored if supportMultipleLanguages is set to no. The default value is EN-US for United States English.
includeLanguageCountryCodeInSourceObjectNames
The default setting is yes for new databases and no for upgrade databases. This setting is global, affecting the entire database, and cannot be set at the user level. It is ignored if supportMultipleLanguages is set to no.

For further information about AppData settings to enable support for multi-language databases, see Modifying AppData settings after installing or upgrading Contenta S1000D in the Configuring Contenta S1000D section of this documentation.

Object hierarchy and naming in multi-language CSDBs

In S1000D Issues 4.0 and later, the language element's languageIsoCode and countryIsoCode XML attributes, indicating the language and country of a module's content, are mandatory for all modules. You cannot upload a 4.0 or later module without these codes.

In previous S1000D issues, the equivalent language and country attributes are optional; however, because it uses them to place an object in the correct folder within the CSDB hierarchy, Contenta S1000D requires them for all non-source-language modules, regardless of issue. Contenta S1000D does not require these attributes on pre-4.0 modules in the source language.

The following shows the position within the CSDB hierarchy of DMs in a non-source language, in this case, French. Note that these modules reside one level below the source language modules.

When you upload a pre-4.0 module to a multi-language-enabled CSDB, Contenta S1000D checks the language and country attributes of its language element. If either of these attributes is missing, the Upload process assumes the module is in the source language, and proceeds based on the value of includeLanguageCountryCodeInSourceObjectNames.

If includeLanguageCountryCodeInSourceObjectNames is set to yes, the source language and country codes are appended to the name of the module in the CSDB.

Contenta S1000D always appends language and country codes to the names of objects not in the source language. If includeLanguageCountryCodeInSourceObjectNames is set to yes, the codes are appended to source object names as well. For example, in a database with sourceLanguageCountryCode set to EN-US, a module containing content in United States English would have EN-US appended to its name, as in the following example.

S1000DBIKE-AAA-D00-00-00-00AA-041A-A_EN-US

In a CSDB with includeLanguageCountryCodeInSourceObjectNames set to no, if this module were in the source language, its name would be:

S1000DBIKE-AAA-D00-00-00-00AA-041A-A

Referencing objects in multi-language CSDBs

RWS recommends that you always use language and country codes in dmRefs and pmRefs (or refdms and refpms, respectively in Issue 3.0 and earlier) to clearly identify the language of the referenced object, even when referencing source objects without language and country codes. When you upload or check in a module containing a reference without language and country codes, Contenta S1000D assumes that the language of the referenced object is the same as that of the referencing module, and stores language and country information for referenced objects accordingly. When you publish, Contenta S1000D searches for referenced objects that match the referencing object's language and country codes.

Particular care should be used for BREX and Applicability data modules. If these are only in the source language, references to them from non-source-language modules should contain the appropriate (source) language and country codes.

Publishing from multi-language CSDBs to XPP

Before publishing to XPP, obtain all fonts you will be using in various languages and use XPP's Font Copy and Build FAST utilities to add these fonts to XPP. Add the new FASTs to XPP's Font Variant spec that is used when publishing from Contenta S1000D, fv_sys, located in the Ls1kd_css XPP style library if using CSS styles, or in the Ls1000d XPP style library if using XPP proprietary styles. The delivered styles use the Helvetica font family, which is Font Family 1 in fv_sys. If possible, add your new FASTs to Font Family 1, which can reference up to three FASTS: primary, secondary, and default. See the XPP documentation for more information.

When publishing content from a multi-language CSDB to XPP, the language and country codes are always appended to the XPP job name, regardless of whether Contenta S1000D is configured to add them to the object name in the database. This naming convention enables users to more easily determine the language of the job.

If the S1000D Publish process encounters a PM that references a module without specifying its language and country codes, a warning such as the following is displayed:

[WARNING] PM's reference to SAMPLEBIKE-CCC-D00-00-00-00AA-041A-A does not include language/country codes; assuming referencing module's language (FR-FR).