This section summarizes considerations that are specific to indexing data in multiple languages.
Data Records
If you are indexing data in multiple languages, separate data records must be generated for each language. For example, if a product has separate data for French and English (such as descriptions and color names), a French record and an English record must be generated. This is true regardless of whether you have a separate EAC application for each language or multiple languages in the same EAC application.
To generate the data records, the ProductCatalogOutputConfig
component uses the LocaleVariantProducer
, which ensures that separate records are created for each of the locales listed in the /atg/endeca/ApplicationConfiguration
component’s locales
property. (See Using Variant Producers for more information about LocaleVariantProducer
.) If multiple languages are indexed by the same application, each data record includes a product.language
property whose value identifies the language of the record. The language name is given in its own language. For example, the value for the German language is Deutsch.
Schema
If there is a separate application for each language, a separate schema is generated for each application. If there are multiple languages in an application, a single schema is generated based on the first locale listed in the /atg/endeca/ApplicationConfiguration
component’s locales
property.
Dimension Values
If you are indexing data in multiple languages, separate dimension value records must be generated for each language. This is true regardless of whether you have a separate EAC application for each language or multiple languages in the same EAC application.
To generate category dimension value records, the CategoryToDimensionOutputConfig
component uses the LocaleVariantProducer
to create separate records for each of the locales listed in the /atg/endeca/ApplicationConfiguration
component’s locales
property. The RepositoryTypeDimensionExporter
component also generates separate records for each language.
If multiple languages are indexed in the same application, the records generated by the /atg/commerce/endeca/index/RepositoryTypeDimensionExporter
component contain additional properties for the translated display names of the repository item types. These properties are named displayName_
language
C
ode
, where language
C
ode
is the two-letter language code associated with one of the specified locales. For example:
<PROP NAME="displayName_en"> <PVAL>Product</PVAL> </PROP> <PROP NAME="displayName_de"> <PVAL>Produkt</PVAL> </PROP> <PROP NAME="displayName_es"> <PVAL>Producto</PVAL> </PROP>
Note that the property names shown in the example above are appropriate for use with CAS-based deployment templates, and assume that the name changes specified in propertyNameReplacementMap
property of the DimensionDocumentSubmitter
component have been applied. See RecordStoreDocumentSubmitterfor more information.
In addition, if you set the multiLanguageSynonyms
property of the RepositoryTypeDimensionExporter
component to true
, then additional Guided Search record properties are generated to indicate that all translations of the same repository type are synonyms for searching. For example:
<PROP NAME="dimval.search_synonym"> <PVAL>Product</PVAL> <PVAL>Produkt</PVAL> <PVAL>Producto</PVAL> </PROP>