(Update with the copy of version: draft) |
(Update with the copy of version: draft) |
||
Line 27: | Line 27: | ||
The strings that need to be localized are under the Strings/Content section. These are the strings that the customer will see in your offer.<br> | The strings that need to be localized are under the Strings/Content section. These are the strings that the customer will see in your offer.<br> | ||
You can also localize the Call to Action URL (ctaURL) and the video URL (video), and image URL (image) if you want to link to localized content. <br> | You can also localize the Call to Action URL (ctaURL) and the video URL (video), and image URL (image) if you want to link to localized content. <br> | ||
− | |||
<source lang='javascript'>oMyPlugin.command('Offers.open', { | <source lang='javascript'>oMyPlugin.command('Offers.open', { | ||
Line 37: | Line 36: | ||
'actionID':2, | 'actionID':2, | ||
'media':'', | 'media':'', | ||
− | |||
// Strings/Content | // Strings/Content | ||
'title':'@i18n:offers.title', | 'title':'@i18n:offers.title', | ||
Line 43: | Line 41: | ||
'body':'@i18n:offers.body', | 'body':'@i18n:offers.body', | ||
'button':'@i18n:offers.button', | 'button':'@i18n:offers.button', | ||
− | |||
// URL strings | // URL strings | ||
'ctaURL':'@i18n:offers.ctaURL', | 'ctaURL':'@i18n:offers.ctaURL', | ||
Line 54: | Line 51: | ||
'mode':'overlay', | 'mode':'overlay', | ||
'layout':'rightText', | 'layout':'rightText', | ||
− | |||
// Strings/Content | // Strings/Content | ||
'title':'@i18n:offers.offer1A.title', | 'title':'@i18n:offers.offer1A.title', | ||
Line 60: | Line 56: | ||
'body':'@i18n:offers.offer1A.body', | 'body':'@i18n:offers.offer1A.body', | ||
'button':'@i18n:offers.offer1A.button', | 'button':'@i18n:offers.offer1A.button', | ||
− | |||
// URL strings | // URL strings | ||
'ctaURL':'@i18n:offers.offer1A.ctaURL', | 'ctaURL':'@i18n:offers.offer1A.ctaURL', | ||
Line 69: | Line 64: | ||
// Display Options | // Display Options | ||
'mode':'toaster', | 'mode':'toaster', | ||
− | |||
// Strings/Content | // Strings/Content | ||
'title':'@i18n:offers.offer1B.title', | 'title':'@i18n:offers.offer1B.title', | ||
Line 75: | Line 69: | ||
'body':'@i18n:offers.offer1B.body', | 'body':'@i18n:offers.offer1B.body', | ||
'button':'@i18n:offers.offer1B.button', | 'button':'@i18n:offers.offer1B.button', | ||
− | |||
// URL strings | // URL strings | ||
'ctaURL':'@i18n:offers.offer1B.ctaURL', | 'ctaURL':'@i18n:offers.offer1B.ctaURL', | ||
− | |||
});</source> | });</source> | ||
Revision as of 17:12, July 27, 2018
Contents
Localization
Offers Localization Overview
Localization works by looking for specific query strings containing "@18n:" and replacing them with strings defined in your localization JSON file. There are 2 things that you will need to set up to get everything working:
- Pass in the appropriate @18n: query strings to the open command
- Update your JSON internationalization files
Open Command Usage
There are 2 ways you can pass in a @18n: query string into the open command:
Default way: '@i18n:offers.title' |
Use the plugin name in the string to specify which plugin internationalization file to use. |
Advanced and Flexible: '@i18n:offers.offer1A.title' |
The JSON file allows for multiple different nested definitions. This is extremely useful when trying to implement internationalization for multiple different offers. Please note that the offers JSON structure and the examples below are just one way to structure your offers JSON. You can structure your offers section of the i18n JSON however you desire. |
Examples:
You should not be using localization strings for the "Display Options" section of parameters. These control how the content is displayed, but not the content itself.
The strings that need to be localized are under the Strings/Content section. These are the strings that the customer will see in your offer.
You can also localize the Call to Action URL (ctaURL) and the video URL (video), and image URL (image) if you want to link to localized content.
oMyPlugin.command('Offers.open', {
// Display Options
'mode':'overlay',
'layout':'leftText',
'downloadVideoLib' : true,
'timeout' : 11000,
'actionID':2,
'media':'',
// Strings/Content
'title':'@i18n:offers.title',
'headline':'@i18n:offers.headline',
'body':'@i18n:offers.body',
'button':'@i18n:offers.button',
// URL strings
'ctaURL':'@i18n:offers.ctaURL',
'video':'@i18n:offers.video',
'image':'@i18n:offers.image'
});
oMyPlugin.command('Offers.open', {
// Display Options
'mode':'overlay',
'layout':'rightText',
// Strings/Content
'title':'@i18n:offers.offer1A.title',
'headline':'@i18n:offers.offer1A.headline',
'body':'@i18n:offers.offer1A.body',
'button':'@i18n:offers.offer1A.button',
// URL strings
'ctaURL':'@i18n:offers.offer1A.ctaURL',
'image':'@i18n:offers.offer1A.image'
});
oMyPlugin.command('Offers.open', {
// Display Options
'mode':'toaster',
// Strings/Content
'title':'@i18n:offers.offer1B.title',
'headline':'@i18n:offers.offer1B.headline',
'body':'@i18n:offers.offer1B.body',
'button':'@i18n:offers.offer1B.button',
// URL strings
'ctaURL':'@i18n:offers.offer1B.ctaURL',
});
Example JSON definition
This is an example JSON definition for offers that needs to go into your i18n JSON file. It is compatible with the open command examples above.
{
"offers": {
"title": "GenericTitle",
"headline": "headline",
"body": "GenericBody",
"button": "GenericButton",
"ctaURL": "GenericCtaURL",
"offer1A": {
"title": "title1A",
"headline": "headline1A",
"body": "body1A",
"button": "button1A",
"ctaURL": "ctaURL1A"
"image": "imageURL1A"
},
"offer1B": {
"title": "title1B",
"headline": "headline1B",
"body": "body1B",
"button": "button1B",
"ctaURL": "ctaURL1B"
}
}
}