PDA

View Full Version : XML Feeds MultiLingual Descriptions Guide



Mike
January 26, 2018, 03:37 AM
Since XML Feeds version 3.2.0 there are two different methods to store and parse multi language XML data with XML Feeds plugin.


1. Using lang code attribute of nodes:



<description language="EN_GB">English description</description>
<description language="RU_RU">Russian description</description>


In this case when you run import and script parse data in the mapping section two fields should appear:

description
and
description@language

If you have more than two languages and MultiLanguage option enabled for the target textarea field (Description in my sample) you will be able to see "Lang Codes" field in the mapping.
This is the field to collect and map Language Codes from XML feed with the Languages available on the website.

description@language[b] have to be mapped to [b]Lang Codes field.

IMPORTANT NOTE: when you mapped Lang codes field please refresh page manually to refresh available for mapping local fields.

description have to be mapped to Description


After this, run import again to allow script to collect values for language codes field.
Then click manage Lang Codes field and map language codes from feed with the website languages. Import script will copy only languages you have mapped.


2. Using different nodes or sub-nodes


<description>
<en>English description</en>
<ru>Russian description</ru>
</description>

<description_en>English description</description_en>
<description_ru>Russian description</description_ru>



In this case after parsing in the mapping section two fields should appear:

description_en
description_ru

In the local mapping fields you should find extra fields to map field to
(e.g. Description (English), Description (Russian))

Map them accordingly

description_en -> Description (English)
description_ru -> Description (Russian)

NOTE: if you already selected Lang Codes field you will not see these extra fields, unset the Language Codes field and then refresh page to see them.