@capillarytech/creatives-library 0.0.9 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/Card/_customCard.scss +1 -1
- package/components/Card/index.js +7 -6
- package/components/CardGrid/index.js +1 -1
- package/components/Ckeditor/index.js +2 -2
- package/components/CustomPopOver/index.js +1 -1
- package/components/Edmeditor/index.js +1 -1
- package/components/FormBuilder/_formBuilder.scss +3 -0
- package/components/FormBuilder/index.js +5 -3
- package/components/Sidebar/index.js +5 -2
- package/containers/Cap/index.js +1 -1
- package/containers/Email/_email.scss +4 -0
- package/containers/Email/index.js +74 -57
- package/containers/Templates/_templates.scss +7 -0
- package/containers/Templates/index.js +37 -34
- package/containers/Templates/messages.js +8 -0
- package/package.json +1 -1
- package/translations/en.json +2 -0
- package/translations/zh.json +245 -243
package/components/Card/index.js
CHANGED
|
@@ -30,8 +30,9 @@ class CustomCard extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
30
30
|
};
|
|
31
31
|
}
|
|
32
32
|
|
|
33
|
-
handleMouseHover() {
|
|
34
|
-
|
|
33
|
+
handleMouseHover(data) {
|
|
34
|
+
console.log('hover mouse data', data);
|
|
35
|
+
this.setState({isHovering: data});
|
|
35
36
|
this.props.onHover(!this.state.isHovering, this.props.id);
|
|
36
37
|
}
|
|
37
38
|
|
|
@@ -48,13 +49,13 @@ class CustomCard extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
48
49
|
id={this.props.id}
|
|
49
50
|
title={this.props.title}
|
|
50
51
|
style={{ width: this.props.width, height: this.props.height }}
|
|
51
|
-
onMouseEnter={this.handleMouseHover}
|
|
52
|
+
onMouseEnter={() => this.handleMouseHover(true)}
|
|
52
53
|
onClick={this.handleMouseClick}
|
|
53
|
-
onMouseLeave={this.handleMouseHover}>
|
|
54
|
+
onMouseLeave={() => this.handleMouseHover(false)}>
|
|
54
55
|
<div>
|
|
55
56
|
<div className="content-wrapper">{this.props.content}</div>
|
|
56
|
-
{<hr className="seperator-line" />}
|
|
57
|
-
<div className="footer-wrapper">{this.props.footer}</div>
|
|
57
|
+
{this.props.footer ? <hr className="seperator-line" /> : ''}
|
|
58
|
+
{this.props.footer ? <div className="footer-wrapper">{this.props.footer}</div> : ''}
|
|
58
59
|
</div>
|
|
59
60
|
</Card>
|
|
60
61
|
);
|
|
@@ -39,7 +39,7 @@ class CardGrid extends React.Component { // eslint-disable-line react/prefer-sta
|
|
|
39
39
|
<Row gutter={this.props.gutterSize}>
|
|
40
40
|
{ this.props.listItem ? this.props.listItem.map( (item) => (
|
|
41
41
|
<Col style={{ width: `${100 / this.props.colNumber}%`, paddingBottom: '16px'}} key={item.id} span={parseInt(24 / this.props.colNumber, 10)}>
|
|
42
|
-
<CustomCard id={item.id} onHover={this.handleOnItemHover} onClick={this.handleOnItemClick} content={item.content} footer={item.footer} height="312px"></CustomCard>
|
|
42
|
+
<CustomCard id={item.id} onHover={this.handleOnItemHover} onClick={this.handleOnItemClick} content={item.content} footer={item.footer} height={item.footer ? "312px" : "258px"}></CustomCard>
|
|
43
43
|
</Col>
|
|
44
44
|
)) : ''}
|
|
45
45
|
</Row>
|
|
@@ -35,8 +35,8 @@ const CKEditorConfig = {
|
|
|
35
35
|
toolbarCanCollapse: true,
|
|
36
36
|
toolbarStartupExpanded: true,
|
|
37
37
|
uiColor: '#e3e3e3',
|
|
38
|
-
width: '100%',
|
|
39
|
-
height: '
|
|
38
|
+
width: 'calc(100% - 2px)',
|
|
39
|
+
height: 'calc(100vh - 290px)',
|
|
40
40
|
fullPage: true,
|
|
41
41
|
htmlEncodeOutput: true,
|
|
42
42
|
startupFocus: true,
|
|
@@ -49,7 +49,7 @@ class CustomPopOver extends React.Component { // eslint-disable-line react/prefe
|
|
|
49
49
|
this.renderPopoverContent()
|
|
50
50
|
}
|
|
51
51
|
>
|
|
52
|
-
<p style={{fontFamily: "open-sans", fontWeight: '600',
|
|
52
|
+
<p style={{fontFamily: "open-sans", fontWeight: '600', display: `${this.props.popOverList.length === this.props.excludeList.length ? 'none' : ''}`}}>+ Languages</p>
|
|
53
53
|
</CapPopover>
|
|
54
54
|
</div>
|
|
55
55
|
);
|
|
@@ -42,7 +42,7 @@ class Edmeditor extends React.Component { // eslint-disable-line react/prefer-st
|
|
|
42
42
|
console.log('current language edm editor loading', this.props.id, this.props.edmSrc);
|
|
43
43
|
return (
|
|
44
44
|
this.props.edmSrc ?
|
|
45
|
-
(<iframe id={this.props.id} className={this.props.activeClass} src={this.props.edmSrc} height="460" width="100%"></iframe>)
|
|
45
|
+
(<iframe id={this.props.id} className={this.props.activeClass} src={this.props.edmSrc} height="460" width="100%" style={{"height": "calc(100vh - 180px)"}}></iframe>)
|
|
46
46
|
: 'aaasass'
|
|
47
47
|
);
|
|
48
48
|
}
|
|
@@ -414,11 +414,12 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
414
414
|
}
|
|
415
415
|
}
|
|
416
416
|
console.log('Hello World ', formData, tabCount);
|
|
417
|
-
if ((formData.base && formData.base.tabKey && formData.base.tabKey !== '' && !changeDefaultTab) || (
|
|
417
|
+
if ((formData.base && formData.base.tabKey && formData.base.tabKey !== '' && !changeDefaultTab) || (formData.base && this.state.tabKey !== formData.base.tabKey)) {
|
|
418
418
|
console.log('setting tab key', formData.base.tabKey, this.state.tabKey);
|
|
419
419
|
if (this.state.currentTab === 1 && !this.props.isNewVersionFlow) {
|
|
420
420
|
this.setState({tabKey: formData.base.tabKey});
|
|
421
421
|
} else if (this.props.isNewVersionFlow && this.state.tabKey !== formData[this.state.currentTab - 1].tabKey) {
|
|
422
|
+
console.log('outgoing changing tab key');
|
|
422
423
|
this.setState({tabKey: formData[this.state.currentTab - 1].tabKey});
|
|
423
424
|
}
|
|
424
425
|
}
|
|
@@ -427,7 +428,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
427
428
|
this.setState({tabKey: formData.base.tabKey});
|
|
428
429
|
}
|
|
429
430
|
console.log('form data before adding key', formData);
|
|
430
|
-
console.log('outgoing reset final before set', formData);
|
|
431
|
+
console.log('outgoing reset final before set', formData, this.state.tabKey);
|
|
431
432
|
if (changeDefaultTab) {
|
|
432
433
|
this.setState({formData}, () => {
|
|
433
434
|
console.log('outgoing reset set data', formData);
|
|
@@ -2759,7 +2760,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2759
2760
|
return result;
|
|
2760
2761
|
});
|
|
2761
2762
|
columns.push(
|
|
2762
|
-
<Col style={val.colStyle ? val.colStyle : {}} span={val.width}>
|
|
2763
|
+
<Col style={val.colStyle ? val.colStyle : {}} span={val.width} offset={val.offset}>
|
|
2763
2764
|
<CapPopover
|
|
2764
2765
|
trigger={val.trigger}
|
|
2765
2766
|
placement={val.placement}
|
|
@@ -2802,6 +2803,7 @@ class FormBuilder extends React.Component { // eslint-disable-line react/prefer-
|
|
|
2802
2803
|
width={val.width ? val.width : 1}
|
|
2803
2804
|
onClick={(data) => this.callChildEvent(data, val, val.submitAction)}
|
|
2804
2805
|
className={val.className ? val.className : ''}
|
|
2806
|
+
style={val.colStyle ? val.colStyle : {}}
|
|
2805
2807
|
>
|
|
2806
2808
|
<i style={val.style ? val.style : {}} className="material-icons">{val.value ? val.value : ''}</i>
|
|
2807
2809
|
</Col>
|
|
@@ -61,9 +61,12 @@ class Sidebar extends React.Component { // eslint-disable-line react/prefer-stat
|
|
|
61
61
|
return (<Accordion.Content key={keyValue}>{links}</Accordion.Content>);
|
|
62
62
|
}
|
|
63
63
|
|
|
64
|
-
getLinkElement(to, text, value) {
|
|
64
|
+
getLinkElement(to, text, value, isExternal) {
|
|
65
65
|
const selectedItem = (value && value.trim().toLowerCase() === this.state.activeItem) ? 'selected' : '';
|
|
66
66
|
if (text.toLowerCase().includes(this.state.searchText.toLowerCase())) {
|
|
67
|
+
if (isExternal) {
|
|
68
|
+
return ((text.toLowerCase().includes(this.state.searchText.toLowerCase())) ? <a key={to} className={`item menu-item ${selectedItem}`} href={to}>{text}</a> : '');
|
|
69
|
+
}
|
|
67
70
|
return (
|
|
68
71
|
(text.toLowerCase().includes(this.state.searchText.toLowerCase())) ?
|
|
69
72
|
<Link to={to} className={`item menu-item ${selectedItem}`} onClick={this.handleItemClick} key={to} title={text}>{text}</Link>
|
|
@@ -114,7 +117,7 @@ class Sidebar extends React.Component { // eslint-disable-line react/prefer-stat
|
|
|
114
117
|
const accordian = [];
|
|
115
118
|
accordian.push(this.getAccordionTitle(title));
|
|
116
119
|
const contentLink = contentItems.map((key) =>
|
|
117
|
-
this.getLinkElement(key.link, key.text, key.value),
|
|
120
|
+
this.getLinkElement(key.link, key.text, key.value, key.external),
|
|
118
121
|
);
|
|
119
122
|
accordian.push(this.getAccordionContent(contentLink));
|
|
120
123
|
return accordian;
|
package/containers/Cap/index.js
CHANGED
|
@@ -227,7 +227,7 @@ export class Cap extends React.Component { // eslint-disable-line react/prefer-s
|
|
|
227
227
|
group: this.props.intl.formatMessage(messages.campaignsDashboard),
|
|
228
228
|
items: [
|
|
229
229
|
{
|
|
230
|
-
link: '
|
|
230
|
+
link: '/campaign/index',
|
|
231
231
|
text: this.props.intl.formatMessage(messages.campaignsHome),
|
|
232
232
|
value: 'Campaigns Home',
|
|
233
233
|
external: true,
|
|
@@ -774,9 +774,6 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
774
774
|
this.showSubject();
|
|
775
775
|
}, 0);
|
|
776
776
|
}
|
|
777
|
-
if (nextProps.location.query.module === 'library' && nextProps.isGetFormData) {
|
|
778
|
-
this.getFormData();
|
|
779
|
-
}
|
|
780
777
|
if (nextProps.Global.currentOrgDetails && nextProps.Global.currentOrgDetails.basic_details && !_.isEmpty(nextProps.Global.currentOrgDetails.basic_details) && _.isEmpty(this.state.formData)) {
|
|
781
778
|
const formData = this.initFormData(nextProps);
|
|
782
779
|
formData['template-version-options'] = [
|
|
@@ -845,9 +842,12 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
845
842
|
this.setEditData(nextProps.Email.templateDetails);
|
|
846
843
|
});
|
|
847
844
|
}
|
|
848
|
-
if (this.state.isEdit && nextProps.location.query.module === "library" && !_.isEmpty(nextProps.templateData) && !this.props.params.id) {
|
|
845
|
+
if (this.state.isEdit && nextProps.location.query.module === "library" && !_.isEmpty(nextProps.templateData) && !this.props.params.id && !nextProps.isGetFormData) {
|
|
849
846
|
this.startTemplateCreation(nextProps.templateData);
|
|
850
847
|
}
|
|
848
|
+
if (nextProps.location.query.module === 'library' && nextProps.isGetFormData) {
|
|
849
|
+
this.getFormData();
|
|
850
|
+
}
|
|
851
851
|
|
|
852
852
|
if (!_.isEmpty(nextProps.Email.CmsSettings) && !_.isEqual(this.props.Email.CmsSettings, nextProps.Email.CmsSettings)) {
|
|
853
853
|
const apiLangId = nextProps.Email.CmsSettings.langId;
|
|
@@ -945,7 +945,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
945
945
|
}
|
|
946
946
|
if (!nextProps.Email.fetchingCmsData && !_.isEqual(nextProps.Email.cmsData, this.props.Email.cmsData)) {
|
|
947
947
|
const formData = _.cloneDeep(this.state.formData);
|
|
948
|
-
if (nextProps.Email.langId) {
|
|
948
|
+
if (nextProps.Email.langId && nextProps.Email.langId !== 'undefined') {
|
|
949
949
|
console.log('setting template content', nextProps.Email.cmsData, decodeURIComponent(nextProps.Email.cmsData));
|
|
950
950
|
const langId = nextProps.Email.langId;
|
|
951
951
|
formData[`${this.state.currentTab - 1}`][langId]['template-content'] = decodeURIComponent(nextProps.Email.cmsData);
|
|
@@ -1041,7 +1041,8 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
1041
1041
|
}
|
|
1042
1042
|
this.edmEvent = undefined;
|
|
1043
1043
|
} else {
|
|
1044
|
-
this.
|
|
1044
|
+
this.state.editorInstanse.insertHtml(`<img src='${nextProps.Email.uploadedAssetData.metaInfo.secure_file_path}' alt='Capillary Image'>`);
|
|
1045
|
+
//this.resetCkEditorInstance(this.state.currentTab, this.state.formData, true, nextProps.Email.uploadedAssetData, true);
|
|
1045
1046
|
}
|
|
1046
1047
|
this.setState({showImageSelectionBox: false});
|
|
1047
1048
|
}
|
|
@@ -1078,21 +1079,21 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
1078
1079
|
//this.resetCkEditorInstance(currentTab, formData);
|
|
1079
1080
|
}
|
|
1080
1081
|
|
|
1081
|
-
onChange = (evt
|
|
1082
|
+
onChange = (evt) => {
|
|
1082
1083
|
const formData = _.cloneDeep(this.state.formData);
|
|
1083
1084
|
console.log('oncontentchange onChange ', evt, evt.editor.getData());
|
|
1084
1085
|
//if (evt.editor.name.indexOf('editor') === -1) {
|
|
1085
|
-
_.forEach(window.CKEDITOR.instances, (winInstance) => {
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
});
|
|
1086
|
+
// _.forEach(window.CKEDITOR.instances, (winInstance) => {
|
|
1087
|
+
// const temp = winInstance;
|
|
1088
|
+
// if (winInstance.name === evt.editor.name) {
|
|
1089
|
+
// console.log('setting instance name after loading', winInstance, name);
|
|
1090
|
+
// setTimeout(() => {
|
|
1091
|
+
// //temp.name = id;
|
|
1092
|
+
// }, 1000);
|
|
1093
|
+
// //temp.name = id;
|
|
1094
|
+
// console.log('setting instance name after loading 2', winInstance, name);
|
|
1095
|
+
// }
|
|
1096
|
+
// });
|
|
1096
1097
|
//}
|
|
1097
1098
|
if (!formData[this.state.currentTab - 1][formData[`${this.state.currentTab - 1}`].activeTab].is_drag_drop) {
|
|
1098
1099
|
formData[`${this.state.currentTab - 1}`][formData[`${this.state.currentTab - 1}`].activeTab][`template-content`] = _.cloneDeep(evt.editor.getData());
|
|
@@ -1112,7 +1113,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
1112
1113
|
|
|
1113
1114
|
onTabChange(data, formData) {
|
|
1114
1115
|
console.log('inside parent ontabchange', data, this.state);
|
|
1115
|
-
this.resetCkEditorInstance(data, formData);
|
|
1116
|
+
//this.resetCkEditorInstance(data, formData);
|
|
1116
1117
|
const schema = _.cloneDeep(this.state.schema);
|
|
1117
1118
|
const container = schema.containers[`${data - 1}`];
|
|
1118
1119
|
if (formData[`${data - 1}`][formData[`${data - 1}`].activeTab].is_drag_drop) {
|
|
@@ -1150,7 +1151,9 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
1150
1151
|
const win = document.getElementById(`edmeditor${(langIndex + 1) > 1 ? (langIndex + 1) : ''}`).contentWindow;
|
|
1151
1152
|
win.postMessage(msgString, '*');
|
|
1152
1153
|
} else {
|
|
1153
|
-
|
|
1154
|
+
console.log('tag', this.state, this.state.editorInstanse);
|
|
1155
|
+
this.state.editorInstanse.insertHtml(`{{${data}}}`);
|
|
1156
|
+
//this.resetCkEditorInstance(currentTab, formData, true, data);
|
|
1154
1157
|
}
|
|
1155
1158
|
}
|
|
1156
1159
|
|
|
@@ -1412,6 +1415,12 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
1412
1415
|
|
|
1413
1416
|
getEditorInstanse = (instance, id) => {
|
|
1414
1417
|
console.log('Got editor Instance ', instance, id);
|
|
1418
|
+
window.CKEDITOR.on( 'instanceReady', ( event ) => {
|
|
1419
|
+
event.editor.on( 'focus', () => {
|
|
1420
|
+
console.log( 'focused', event.editor, this );
|
|
1421
|
+
this.setState({editorInstanse: event.editor});
|
|
1422
|
+
});
|
|
1423
|
+
});
|
|
1415
1424
|
//this.setState({editorInstanse: instance});
|
|
1416
1425
|
}
|
|
1417
1426
|
|
|
@@ -1720,7 +1729,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
1720
1729
|
const schema = _.cloneDeep(this.state.schema);
|
|
1721
1730
|
schema.containers[this.state.currentTab - 1].panes.splice(val, 1);
|
|
1722
1731
|
schema.containers[this.state.currentTab - 1].tabBarExtraContent.sections[0].inputFields[0].cols[4].content.sections[0].inputFields[2].cols[0].style = {display: "none"};
|
|
1723
|
-
this.resetCkEditorInstance(this.state.currentTab, formData);
|
|
1732
|
+
//this.resetCkEditorInstance(this.state.currentTab, formData);
|
|
1724
1733
|
this.setState({schema, formData, showModal: false});
|
|
1725
1734
|
console.log('Schema ', schema, formData, val);
|
|
1726
1735
|
}
|
|
@@ -2024,7 +2033,8 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
2024
2033
|
}
|
|
2025
2034
|
this.edmEvent = undefined;
|
|
2026
2035
|
} else {
|
|
2027
|
-
this.
|
|
2036
|
+
this.state.editorInstanse.insertHtml(`<img src='${data.metaInfo.secure_file_path}' alt='Capillary Image'>`);
|
|
2037
|
+
//this.resetCkEditorInstance(this.state.currentTab, this.state.formData, true, data, true);
|
|
2028
2038
|
}
|
|
2029
2039
|
}
|
|
2030
2040
|
this.setState({ showImageSelectionBox: false });
|
|
@@ -2450,6 +2460,7 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
2450
2460
|
}
|
|
2451
2461
|
|
|
2452
2462
|
injectEvents = (schema) => {
|
|
2463
|
+
const type = this.props.location.query.type;
|
|
2453
2464
|
console.log('now injecting events');
|
|
2454
2465
|
const temp = schema;
|
|
2455
2466
|
temp.standalone.sections = this.injectSections(temp.standalone.sections);
|
|
@@ -2459,43 +2470,49 @@ export class Email extends React.Component { // eslint-disable-line react/prefer
|
|
|
2459
2470
|
return tempContainer;
|
|
2460
2471
|
});
|
|
2461
2472
|
console.log("Lang Test ", this.props.location.query.isLanguageSupport, (this.props.location.query.isLanguageSupport === false));
|
|
2462
|
-
if (
|
|
2463
|
-
|
|
2464
|
-
|
|
2465
|
-
|
|
2466
|
-
|
|
2467
|
-
|
|
2468
|
-
|
|
2469
|
-
|
|
2470
|
-
|
|
2471
|
-
|
|
2472
|
-
|
|
2473
|
-
|
|
2474
|
-
|
|
2475
|
-
|
|
2476
|
-
|
|
2477
|
-
|
|
2478
|
-
|
|
2479
|
-
|
|
2480
|
-
|
|
2481
|
-
|
|
2482
|
-
|
|
2483
|
-
|
|
2484
|
-
|
|
2485
|
-
|
|
2486
|
-
|
|
2487
|
-
|
|
2488
|
-
|
|
2489
|
-
|
|
2490
|
-
|
|
2491
|
-
|
|
2492
|
-
|
|
2493
|
-
|
|
2494
|
-
|
|
2495
|
-
|
|
2473
|
+
// if (type !== "embedded" || (type === "embedded" && (this.props.location.query.isLanguageSupport === "false" || (this.props.location.query.isLanguageSupport === undefined || this.props.location.query.isLanguageSupport === "true")))) {
|
|
2474
|
+
const ifLangSupported = this.props.location.query.isLanguageSupport === "true" || type !== "embedded";
|
|
2475
|
+
_.forEach(temp.containers, (container) => {
|
|
2476
|
+
if (container.isActive) {
|
|
2477
|
+
let hideLang = false;
|
|
2478
|
+
_.forEach(container.tabBarExtraContent.sections[0].inputFields[0].cols, (containerInputFieldCol) => {
|
|
2479
|
+
if (hideLang && !ifLangSupported) {
|
|
2480
|
+
const newContainerInputFieldCol = containerInputFieldCol;
|
|
2481
|
+
hideLang = false;
|
|
2482
|
+
newContainerInputFieldCol.offset = 18;
|
|
2483
|
+
} else if (hideLang) {
|
|
2484
|
+
const newContainerInputFieldCol = containerInputFieldCol;
|
|
2485
|
+
hideLang = false;
|
|
2486
|
+
newContainerInputFieldCol.offset = 14;
|
|
2487
|
+
}
|
|
2488
|
+
if (containerInputFieldCol.id === 'add-language-button' && !ifLangSupported) {
|
|
2489
|
+
const newContainerInputFieldCol = containerInputFieldCol;
|
|
2490
|
+
newContainerInputFieldCol.colStyle.display = "none";
|
|
2491
|
+
hideLang = true;
|
|
2492
|
+
} else if (containerInputFieldCol.id === 'add-language-button') {
|
|
2493
|
+
hideLang = true;
|
|
2494
|
+
}
|
|
2495
|
+
if (containerInputFieldCol.id === "mark-final-version-label") {
|
|
2496
|
+
const newContainerInputFieldCol = containerInputFieldCol;
|
|
2497
|
+
newContainerInputFieldCol.colStyle.display = "none";
|
|
2498
|
+
}
|
|
2499
|
+
// if (containerInputFieldCol.id === "tab-options-popover") {
|
|
2500
|
+
// const newContainerInputFieldCol = containerInputFieldCol;
|
|
2501
|
+
// newContainerInputFieldCol.colStyle.display = "none";
|
|
2502
|
+
// }
|
|
2503
|
+
});
|
|
2504
|
+
}
|
|
2505
|
+
});
|
|
2506
|
+
_.forEach(temp.standalone.sections[1].inputFields[0].cols, (inputField) => {
|
|
2507
|
+
if (inputField.id === "template-version") {
|
|
2508
|
+
const iF = inputField;
|
|
2509
|
+
iF.colStyle = {};
|
|
2510
|
+
iF.colStyle.display = "none";
|
|
2511
|
+
}
|
|
2512
|
+
});
|
|
2513
|
+
//}
|
|
2496
2514
|
console.log('final injected schema', schema);
|
|
2497
2515
|
this.setState({schema, isSchemaChanged: true}, () => {
|
|
2498
|
-
const type = this.props.location.query.type;
|
|
2499
2516
|
if (type === 'embedded') {
|
|
2500
2517
|
this.removeStandAlone();
|
|
2501
2518
|
}
|
|
@@ -862,7 +862,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
862
862
|
this.setState({showModal: false});
|
|
863
863
|
}
|
|
864
864
|
|
|
865
|
-
populateTemplatesList = (data, blankTemplateRequired) => {
|
|
865
|
+
populateTemplatesList = (data, blankTemplateRequired, layoutSelection) => {
|
|
866
866
|
if (!data) {
|
|
867
867
|
return [];
|
|
868
868
|
}
|
|
@@ -953,8 +953,9 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
953
953
|
<div className={`sms-text ${this.state.hoveredItem === template._id ? 'sms-text-blurred' : ''}`}>
|
|
954
954
|
|
|
955
955
|
</div>
|
|
956
|
-
{template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
|
|
957
|
-
{template._id === this.state.hoveredItem ? <CapButton onClick={() => this.
|
|
956
|
+
{!layoutSelection && template._id === this.state.hoveredItem ? <CapButton onClick={(e) => this.handleEditClick(e, template._id)} className="edit-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectButton) : this.props.intl.formatMessage(messages.editButton)}</CapButton> : ''}
|
|
957
|
+
{layoutSelection && template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handleEdmDefaultTemplateSelection(true, template._id)} className="select-button" type="secondary">{type === 'embedded' ? this.props.intl.formatMessage(messages.selectDefaultButton) : this.props.intl.formatMessage(messages.selectDefaultButton)}</CapButton> : ''}
|
|
958
|
+
{!layoutSelection && template._id === this.state.hoveredItem ? <CapButton onClick={() => this.handlePreviewClick(template)} className="preview-button" type="cancel">{this.props.intl.formatMessage(messages.previewButton)}</CapButton> : ''}
|
|
958
959
|
</div>);
|
|
959
960
|
} else if (this.state.channel.toLowerCase() === 'mobilepush') {
|
|
960
961
|
content = this.prepareMobilePushPreviewData(template.versions.base);
|
|
@@ -988,37 +989,39 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
988
989
|
} else if (template.versions && template.versions.base && template.versions.base.IOS) {
|
|
989
990
|
availableTemplates = 'iOS';
|
|
990
991
|
}
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
<div className="
|
|
994
|
-
<
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
<
|
|
992
|
+
if (!layoutSelection) {
|
|
993
|
+
temp.footer = (
|
|
994
|
+
<div className="footer-container">
|
|
995
|
+
<div className="card-title">
|
|
996
|
+
<span className="template-name" style={{ fontWeight: `${this.state.channel.toLowerCase() === 'wechat' ? '400' : '600'}` }}>
|
|
997
|
+
{ template && template.versions && template.versions.history && template.versions.history.length > 1 && this.state.channel.toLowerCase() !== 'mobilepush' && <i style={{fontSize: '16px', margin: '0 8px 0 0', verticalAlign: 'middle'}} className="material-icons">filter_none</i>}
|
|
998
|
+
{template.name}
|
|
999
|
+
</span>
|
|
1000
|
+
{this.props.location.query.type !== 'embedded' && <CapPopover
|
|
1001
|
+
trigger="click"
|
|
1002
|
+
content={
|
|
1003
|
+
<div className="popover-content">
|
|
1004
|
+
{this.state.channel !== 'wechat' && <div className="popover-action-container">
|
|
1005
|
+
<span onClick={() => this.duplicateTemplate(template)} className="popover-action" style={{cursor: 'pointer', padding: '8px 0px'}}>{this.props.intl.formatMessage(messages.duplicateButton)}</span>
|
|
1006
|
+
</div>}
|
|
1007
|
+
<div className="popover-action-container">
|
|
1008
|
+
<span onClick={() => this.toggleDeleteTemplateModal(template)} className="popover-action" style={{cursor: 'pointer', padding: '8px 0px'}}>{this.state.channel !== 'wechat' ? this.props.intl.formatMessage(messages.deleteButton) : this.props.intl.formatMessage(messages.unMapButton)}</span>
|
|
1009
|
+
</div>
|
|
1007
1010
|
</div>
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
</
|
|
1011
|
+
}
|
|
1012
|
+
placement="bottomRight"
|
|
1013
|
+
>
|
|
1014
|
+
<i className="material-icons options-icon"></i>
|
|
1015
|
+
</CapPopover>}
|
|
1016
|
+
</div>
|
|
1017
|
+
{this.state.channel.toLowerCase() === "mobilepush" ?
|
|
1018
|
+
<p className="card-detail">{availableTemplates}</p>
|
|
1019
|
+
:
|
|
1020
|
+
<p className="card-detail">{this.props.intl.formatMessage(messages.uploadedAt)}: {updateDateTime}</p>
|
|
1021
|
+
}
|
|
1014
1022
|
</div>
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
:
|
|
1018
|
-
<p className="card-detail">{this.props.intl.formatMessage(messages.uploadedAt)}: {updateDateTime}</p>
|
|
1019
|
-
}
|
|
1020
|
-
</div>
|
|
1021
|
-
);
|
|
1023
|
+
);
|
|
1024
|
+
}
|
|
1022
1025
|
items.push(temp);
|
|
1023
1026
|
return true;
|
|
1024
1027
|
});
|
|
@@ -1261,7 +1264,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1261
1264
|
const cmsTemplateSelectionContent = (
|
|
1262
1265
|
<CardGrid
|
|
1263
1266
|
className={""}
|
|
1264
|
-
listItem={this.populateTemplatesList(this.props.Templates.cmsTemplates, false)}
|
|
1267
|
+
listItem={this.populateTemplatesList(this.props.Templates.cmsTemplates, false, true)}
|
|
1265
1268
|
// filterContent={filterContent}
|
|
1266
1269
|
onHoverItem={this.handleOnHoverItem}
|
|
1267
1270
|
onItemClick={this.handleEdmDefaultTemplateSelection}
|
|
@@ -1346,7 +1349,7 @@ export class Templates extends React.Component { // eslint-disable-line react/pr
|
|
|
1346
1349
|
updatedByName={commonUtil.getUserNameById(parseInt(this.state.previewTemplate.updatedBy, 10), commonUtil.getMergedUserList(this.props.Templates.userList))}
|
|
1347
1350
|
/>}
|
|
1348
1351
|
<SlideBox
|
|
1349
|
-
header={(<h3>{this.props.intl.formatMessage(messages.
|
|
1352
|
+
header={(<h3>{this.props.intl.formatMessage(messages.layoutSelection)}</h3>)}
|
|
1350
1353
|
width={60}
|
|
1351
1354
|
content={cmsTemplateSelectionContent}
|
|
1352
1355
|
show={this.state.showEdmEmailTemplates}
|
|
@@ -206,6 +206,10 @@ export default defineMessages({
|
|
|
206
206
|
id: 'app.containers.Templates.templateSelection',
|
|
207
207
|
defaultMessage: 'Template Selection',
|
|
208
208
|
},
|
|
209
|
+
layoutSelection: {
|
|
210
|
+
id: 'app.containers.Templates.layoutSelection',
|
|
211
|
+
defaultMessage: 'Select Layout',
|
|
212
|
+
},
|
|
209
213
|
textTemplate: {
|
|
210
214
|
id: 'app.containers.Templates.textTemplate',
|
|
211
215
|
defaultMessage: 'Text',
|
|
@@ -214,4 +218,8 @@ export default defineMessages({
|
|
|
214
218
|
id: 'app.containers.Templates.imageTemplate',
|
|
215
219
|
defaultMessage: 'Image',
|
|
216
220
|
},
|
|
221
|
+
selectDefaultButton: {
|
|
222
|
+
id: 'app.containers.Templates.selectDefaultButton',
|
|
223
|
+
defaultMessage: 'Select',
|
|
224
|
+
},
|
|
217
225
|
});
|
package/package.json
CHANGED
package/translations/en.json
CHANGED
|
@@ -303,6 +303,7 @@
|
|
|
303
303
|
"app.containers.Templates.header": "This is Templates container !",
|
|
304
304
|
"app.containers.Templates.imageTemplate": "Image",
|
|
305
305
|
"app.containers.Templates.invalidUploadFileError": "File cannot be uploaded. Please select another file with valid file format.",
|
|
306
|
+
"app.containers.Templates.layoutSelection": "Select Layout",
|
|
306
307
|
"app.containers.Templates.mapTemplate": "Map Template",
|
|
307
308
|
"app.containers.Templates.mobilepushHeader": "Mobile Push",
|
|
308
309
|
"app.containers.Templates.mostRecentOption": "Most Recent",
|
|
@@ -314,6 +315,7 @@
|
|
|
314
315
|
"app.containers.Templates.searchText": "Search",
|
|
315
316
|
"app.containers.Templates.selectAccount": "Select Account",
|
|
316
317
|
"app.containers.Templates.selectButton": "Select",
|
|
318
|
+
"app.containers.Templates.selectDefaultButton": "Select",
|
|
317
319
|
"app.containers.Templates.selectSmsHeader": "Select SMS Template",
|
|
318
320
|
"app.containers.Templates.selectWechatHeader": "Select WECHAT Template",
|
|
319
321
|
"app.containers.Templates.smsChannelTemplatesHeader": "SMS Templates",
|
package/translations/zh.json
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
{
|
|
2
2
|
"app.components.BreadCrumbs.header": "",
|
|
3
3
|
"app.components.CapTagList.Cancel": "取消",
|
|
4
|
-
"app.components.CapTagList.Ok": "",
|
|
5
|
-
"app.components.CapTagList.dynamic_days_before_expiry": "",
|
|
6
|
-
"app.components.CapTagList.numberOfDaysBeforeExpiry": "",
|
|
4
|
+
"app.components.CapTagList.Ok": "OK",
|
|
5
|
+
"app.components.CapTagList.dynamic_days_before_expiry": "到期前(动态)天数",
|
|
6
|
+
"app.components.CapTagList.numberOfDaysBeforeExpiry": "到期前......天",
|
|
7
7
|
"app.components.Ckeditor.header": "",
|
|
8
8
|
"app.components.CustomPopOver.header": "",
|
|
9
9
|
"app.components.DateRange.header": "",
|
|
@@ -12,14 +12,14 @@
|
|
|
12
12
|
"app.components.EmailPreview.uploadedBy": "",
|
|
13
13
|
"app.components.Footer.header": "",
|
|
14
14
|
"app.components.FormBuilder.header": "",
|
|
15
|
-
"app.components.ImagePreview.loadingImage": "",
|
|
15
|
+
"app.components.ImagePreview.loadingImage": "加载图片",
|
|
16
16
|
"app.components.NotFoundPage.header": "",
|
|
17
17
|
"app.components.PageHeader.header": "",
|
|
18
18
|
"app.components.PreviewSideBar.duplicate": "重复",
|
|
19
19
|
"app.components.PreviewSideBar.edit": "编辑",
|
|
20
20
|
"app.components.PreviewSideBar.header": "",
|
|
21
21
|
"app.components.PreviewSideBar.lastModified": "最后修改于",
|
|
22
|
-
"app.components.PreviewSideBar.select": "",
|
|
22
|
+
"app.components.PreviewSideBar.select": "选择",
|
|
23
23
|
"app.components.PreviewSideBar.uploadedBy": "最后修改人",
|
|
24
24
|
"app.components.Sidebar.creatives": "广告创意",
|
|
25
25
|
"app.components.Sidebar.input.placeholder": "搜索",
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"app.components.TestPage.header": "",
|
|
32
32
|
"app.components.Toastr.header": "",
|
|
33
33
|
"app.components.ToastrMessage.header": "",
|
|
34
|
-
"app.components.TopBar.brand.dropdown": "你好
|
|
34
|
+
"app.components.TopBar.brand.dropdown": "你好",
|
|
35
35
|
"app.containers.Assets.Gallery.alphabetically": "字母排序",
|
|
36
|
-
"app.containers.Assets.Gallery.assetDeleteFailed": "
|
|
37
|
-
"app.containers.Assets.Gallery.assetDeleteSuccess": "
|
|
38
|
-
"app.containers.Assets.Gallery.assetUploadFailed": "
|
|
39
|
-
"app.containers.Assets.Gallery.assetUploadSuccess": "
|
|
36
|
+
"app.containers.Assets.Gallery.assetDeleteFailed": "图片删除失败",
|
|
37
|
+
"app.containers.Assets.Gallery.assetDeleteSuccess": "图片删除成功",
|
|
38
|
+
"app.containers.Assets.Gallery.assetUploadFailed": "图片上传失败",
|
|
39
|
+
"app.containers.Assets.Gallery.assetUploadSuccess": "图片上传成功",
|
|
40
40
|
"app.containers.Assets.Gallery.backToGallery": "返回画廊",
|
|
41
41
|
"app.containers.Assets.Gallery.delete": "删除",
|
|
42
42
|
"app.containers.Assets.Gallery.dimensions": "像素",
|
|
@@ -56,43 +56,43 @@
|
|
|
56
56
|
"app.containers.Create.deleteLabel": "删除",
|
|
57
57
|
"app.containers.Create.discardChangesButton": "取消修改",
|
|
58
58
|
"app.containers.Create.duplicateLabel": "重复",
|
|
59
|
-
"app.containers.Create.emptyTemplateErrorMessage": "
|
|
59
|
+
"app.containers.Create.emptyTemplateErrorMessage": "请提供模板名称",
|
|
60
60
|
"app.containers.Create.markFinalVersionLabel": "标记为最终版本",
|
|
61
61
|
"app.containers.Create.messageLabel": "信息",
|
|
62
62
|
"app.containers.Create.newVersionLabel": "新版本",
|
|
63
63
|
"app.containers.Create.renameLabel": "重新命名",
|
|
64
64
|
"app.containers.Create.saveButton": "保存",
|
|
65
65
|
"app.containers.Create.saveTemplateLoader": "报错模板",
|
|
66
|
-
"app.containers.Create.smsEditorPlaceholder": "
|
|
66
|
+
"app.containers.Create.smsEditorPlaceholder": "请输入消息内容",
|
|
67
67
|
"app.containers.Create.somethingWentWrong": "",
|
|
68
|
-
"app.containers.Create.tagsErrorMessage": "
|
|
68
|
+
"app.containers.Create.tagsErrorMessage": "请检查缺失/不支持的标签内容",
|
|
69
69
|
"app.containers.Create.tagsLabel": "标签",
|
|
70
70
|
"app.containers.Create.templateNamePlaceHolder": "输入模板名称",
|
|
71
|
-
"app.containers.Create.unicodeErrorMessage": "
|
|
71
|
+
"app.containers.Create.unicodeErrorMessage": "请确认是否使用Unicode字符",
|
|
72
72
|
"app.containers.Create.unicodeLabel": "允许unicode字符",
|
|
73
73
|
"app.containers.Create.versionLabel": "版本",
|
|
74
74
|
"app.containers.Dashboard.header": "仪表板",
|
|
75
|
-
"app.containers.Ebill.Cancel": "",
|
|
76
|
-
"app.containers.Ebill.Preview": "",
|
|
77
|
-
"app.containers.Ebill.Save": "",
|
|
78
|
-
"app.containers.Ebill.campaigns": "",
|
|
79
|
-
"app.containers.Ebill.creatives": "",
|
|
80
|
-
"app.containers.Ebill.ebill": "",
|
|
81
|
-
"app.containers.Ebill.ebillCreateSuccess": "",
|
|
82
|
-
"app.containers.Ebill.ebillEditSuccess": "",
|
|
83
|
-
"app.containers.Ebill.ebillPreview": "",
|
|
84
|
-
"app.containers.Ebill.emptyTemplateErrorMessage": "",
|
|
85
|
-
"app.containers.Ebill.enterTemplateName": "",
|
|
86
|
-
"app.containers.Ebill.loading": "",
|
|
87
|
-
"app.containers.Ebill.newVersionLabel": "",
|
|
88
|
-
"app.containers.Ebill.somethingWentWrong": "",
|
|
89
|
-
"app.containers.Ebill.tagsErrorMessage": "",
|
|
90
|
-
"app.containers.Ebill.tagsLabel": "",
|
|
75
|
+
"app.containers.Ebill.Cancel": "取消",
|
|
76
|
+
"app.containers.Ebill.Preview": "预览",
|
|
77
|
+
"app.containers.Ebill.Save": "保存",
|
|
78
|
+
"app.containers.Ebill.campaigns": "活动",
|
|
79
|
+
"app.containers.Ebill.creatives": "活动模板",
|
|
80
|
+
"app.containers.Ebill.ebill": "电子账单",
|
|
81
|
+
"app.containers.Ebill.ebillCreateSuccess": "电子账单模板创建成功",
|
|
82
|
+
"app.containers.Ebill.ebillEditSuccess": "电子账单模板编辑成功",
|
|
83
|
+
"app.containers.Ebill.ebillPreview": "电子账单预览",
|
|
84
|
+
"app.containers.Ebill.emptyTemplateErrorMessage": "请提供模板名称",
|
|
85
|
+
"app.containers.Ebill.enterTemplateName": "输入模板名称",
|
|
86
|
+
"app.containers.Ebill.loading": "加载中...",
|
|
87
|
+
"app.containers.Ebill.newVersionLabel": "新模板",
|
|
88
|
+
"app.containers.Ebill.somethingWentWrong": "系统报错",
|
|
89
|
+
"app.containers.Ebill.tagsErrorMessage": "请检查缺失/不支持的标签内容",
|
|
90
|
+
"app.containers.Ebill.tagsLabel": "标签",
|
|
91
91
|
"app.containers.Edit.cancelButton": "取消",
|
|
92
92
|
"app.containers.Edit.deleteLabel": "删除",
|
|
93
93
|
"app.containers.Edit.discardChangesButton": "取消修改",
|
|
94
94
|
"app.containers.Edit.duplicateLabel": "重复",
|
|
95
|
-
"app.containers.Edit.emptyTemplateErrorMessage": "
|
|
95
|
+
"app.containers.Edit.emptyTemplateErrorMessage": "请提供模板名称",
|
|
96
96
|
"app.containers.Edit.getTemplateDetailsLoader": "获取模板详情",
|
|
97
97
|
"app.containers.Edit.markFinalVersionLabel": "标记为最终版本",
|
|
98
98
|
"app.containers.Edit.messageLabel": "信息",
|
|
@@ -100,213 +100,214 @@
|
|
|
100
100
|
"app.containers.Edit.renameLabel": "重新命名",
|
|
101
101
|
"app.containers.Edit.saveButton": "保存",
|
|
102
102
|
"app.containers.Edit.saveTemplateLoader": "报错模板",
|
|
103
|
-
"app.containers.Edit.smsEditorPlaceholder": "
|
|
103
|
+
"app.containers.Edit.smsEditorPlaceholder": "请输入消息内容",
|
|
104
104
|
"app.containers.Edit.somethingWentWrong": "",
|
|
105
|
-
"app.containers.Edit.tagsErrorMessage": "
|
|
105
|
+
"app.containers.Edit.tagsErrorMessage": "请检查缺失/不支持的标签内容",
|
|
106
106
|
"app.containers.Edit.tagsLabel": "标签",
|
|
107
107
|
"app.containers.Edit.templateNamePlaceHolder": "输入模板名称",
|
|
108
108
|
"app.containers.Edit.unicodeErrorMessage": "请检查你确定要使用Unicode字符",
|
|
109
109
|
"app.containers.Edit.unicodeLabel": "允许unicode字符",
|
|
110
110
|
"app.containers.Edit.versionLabel": "版本",
|
|
111
|
-
"app.containers.Email.Campaigns": "",
|
|
112
|
-
"app.containers.Email.Cancel": "",
|
|
113
|
-
"app.containers.Email.Creatives": "",
|
|
114
|
-
"app.containers.Email.Preview": "",
|
|
115
|
-
"app.containers.Email.Save": "",
|
|
116
|
-
"app.containers.Email.Subject": "",
|
|
117
|
-
"app.containers.Email.Tags": "",
|
|
118
|
-
"app.containers.Email.alphabetically": "",
|
|
119
|
-
"app.containers.Email.alphabeticallyOption": "",
|
|
120
|
-
"app.containers.Email.assetUploadFailed": "",
|
|
121
|
-
"app.containers.Email.blankTemplate": "",
|
|
122
|
-
"app.containers.Email.cancel": "",
|
|
123
|
-
"app.containers.Email.createHeading": "",
|
|
124
|
-
"app.containers.Email.delete": "",
|
|
125
|
-
"app.containers.Email.deleteLanguage": "",
|
|
126
|
-
"app.containers.Email.deleteLanguageConfirmation": "",
|
|
127
|
-
"app.containers.Email.deleteVersion": "",
|
|
128
|
-
"app.containers.Email.deleteVersionConfirm": "",
|
|
129
|
-
"app.containers.Email.dupicateVersion": "",
|
|
130
|
-
"app.containers.Email.editButton": "",
|
|
131
|
-
"app.containers.Email.editHeading": "",
|
|
132
|
-
"app.containers.Email.edmSwitchAcceptText": "",
|
|
133
|
-
"app.containers.Email.edmSwtichMessage": "",
|
|
134
|
-
"app.containers.Email.emailCreateSuccess": "",
|
|
135
|
-
"app.containers.Email.emailEditSuccess": "",
|
|
136
|
-
"app.containers.Email.emailPreview": "",
|
|
137
|
-
"app.containers.Email.emailSubject": "",
|
|
138
|
-
"app.containers.Email.emailSubjectNotEmplty": "",
|
|
139
|
-
"app.containers.Email.emailText": "",
|
|
140
|
-
"app.containers.Email.imageSelection": "",
|
|
141
|
-
"app.containers.Email.insertImage": "",
|
|
142
|
-
"app.containers.Email.markAsFinal": "",
|
|
143
|
-
"app.containers.Email.moreThanFiveVersionNotAllowed": "",
|
|
144
|
-
"app.containers.Email.mostRecent": "",
|
|
145
|
-
"app.containers.Email.mostRecentOption": "",
|
|
146
|
-
"app.containers.Email.preview": "",
|
|
147
|
-
"app.containers.Email.previewButton": "",
|
|
148
|
-
"app.containers.Email.saveTemplateLoader": "",
|
|
149
|
-
"app.containers.Email.searchText": "",
|
|
150
|
-
"app.containers.Email.select": "",
|
|
151
|
-
"app.containers.Email.selectButton": "",
|
|
152
|
-
"app.containers.Email.somethingWentWrong": "",
|
|
153
|
-
"app.containers.Email.sortBy": "",
|
|
154
|
-
"app.containers.Email.sortby": "",
|
|
155
|
-
"app.containers.Email.switchEditor": "",
|
|
156
|
-
"app.containers.Email.templateLoader": "",
|
|
157
|
-
"app.containers.Email.templateMarkedFinalSuccess": "",
|
|
158
|
-
"app.containers.Email.templateNameNotEmpty": "",
|
|
159
|
-
"app.containers.Email.templateNamePlaceholder": "",
|
|
160
|
-
"app.containers.Email.upload": "",
|
|
161
|
-
"app.containers.Email.uploadSizeError": "",
|
|
162
|
-
"app.containers.Email.uploadedAt": "",
|
|
163
|
-
"app.containers.Email.uploadedBy": "",
|
|
164
|
-
"app.containers.Email.uploadingImage": "",
|
|
165
|
-
"app.containers.Email.yes": "",
|
|
111
|
+
"app.containers.Email.Campaigns": "活动",
|
|
112
|
+
"app.containers.Email.Cancel": "取消",
|
|
113
|
+
"app.containers.Email.Creatives": "活动模板",
|
|
114
|
+
"app.containers.Email.Preview": "预览",
|
|
115
|
+
"app.containers.Email.Save": "保存",
|
|
116
|
+
"app.containers.Email.Subject": "活动主题",
|
|
117
|
+
"app.containers.Email.Tags": "标签",
|
|
118
|
+
"app.containers.Email.alphabetically": "按字母顺序排列",
|
|
119
|
+
"app.containers.Email.alphabeticallyOption": "按字母顺序排列",
|
|
120
|
+
"app.containers.Email.assetUploadFailed": "图片上传失败",
|
|
121
|
+
"app.containers.Email.blankTemplate": "空白模板",
|
|
122
|
+
"app.containers.Email.cancel": "取消",
|
|
123
|
+
"app.containers.Email.createHeading": "创建邮箱模板",
|
|
124
|
+
"app.containers.Email.delete": "删除",
|
|
125
|
+
"app.containers.Email.deleteLanguage": "删除语言",
|
|
126
|
+
"app.containers.Email.deleteLanguageConfirmation": "你是否想删除此语言?",
|
|
127
|
+
"app.containers.Email.deleteVersion": "删除模板",
|
|
128
|
+
"app.containers.Email.deleteVersionConfirm": "你是否想删除此模板?",
|
|
129
|
+
"app.containers.Email.dupicateVersion": "复制模板",
|
|
130
|
+
"app.containers.Email.editButton": "编辑",
|
|
131
|
+
"app.containers.Email.editHeading": "编辑邮箱模板",
|
|
132
|
+
"app.containers.Email.edmSwitchAcceptText": "已理解此操作无法恢复",
|
|
133
|
+
"app.containers.Email.edmSwtichMessage": "当选择使用HTML语言编辑时,邮箱模板设计快捷操作,如:拖拉操作将不再适用此模板",
|
|
134
|
+
"app.containers.Email.emailCreateSuccess": "邮箱模板创建成功",
|
|
135
|
+
"app.containers.Email.emailEditSuccess": "邮箱模板编辑成功",
|
|
136
|
+
"app.containers.Email.emailPreview": "邮件预览",
|
|
137
|
+
"app.containers.Email.emailSubject": "输入邮件主题",
|
|
138
|
+
"app.containers.Email.emailSubjectNotEmplty": "电子邮件主题不能为空值",
|
|
139
|
+
"app.containers.Email.emailText": "电子邮件",
|
|
140
|
+
"app.containers.Email.imageSelection": "选择图片",
|
|
141
|
+
"app.containers.Email.insertImage": "插入图片",
|
|
142
|
+
"app.containers.Email.markAsFinal": "标为终版",
|
|
143
|
+
"app.containers.Email.moreThanFiveVersionNotAllowed": "最多创建5个模板",
|
|
144
|
+
"app.containers.Email.mostRecent": "最近一次",
|
|
145
|
+
"app.containers.Email.mostRecentOption": "最近一次",
|
|
146
|
+
"app.containers.Email.preview": "预览",
|
|
147
|
+
"app.containers.Email.previewButton": "预览",
|
|
148
|
+
"app.containers.Email.saveTemplateLoader": "保存模板",
|
|
149
|
+
"app.containers.Email.searchText": "查找",
|
|
150
|
+
"app.containers.Email.select": "选择",
|
|
151
|
+
"app.containers.Email.selectButton": "选择",
|
|
152
|
+
"app.containers.Email.somethingWentWrong": "系统报错",
|
|
153
|
+
"app.containers.Email.sortBy": "排序方式",
|
|
154
|
+
"app.containers.Email.sortby": "排序方式",
|
|
155
|
+
"app.containers.Email.switchEditor": "切换编辑器",
|
|
156
|
+
"app.containers.Email.templateLoader": "加载模板...",
|
|
157
|
+
"app.containers.Email.templateMarkedFinalSuccess": "成功将模板标记为终版",
|
|
158
|
+
"app.containers.Email.templateNameNotEmpty": "请提供模板名称",
|
|
159
|
+
"app.containers.Email.templateNamePlaceholder": "输入模板名称",
|
|
160
|
+
"app.containers.Email.upload": "上传图片",
|
|
161
|
+
"app.containers.Email.uploadSizeError": "文档太大无法上传.请上传不超过5MB的文档",
|
|
162
|
+
"app.containers.Email.uploadedAt": "已修改",
|
|
163
|
+
"app.containers.Email.uploadedBy": "上传人",
|
|
164
|
+
"app.containers.Email.uploadingImage": "上传图片...",
|
|
165
|
+
"app.containers.Email.yes": "是",
|
|
166
166
|
"app.containers.Login.header": "",
|
|
167
167
|
"app.containers.Login.invalidCredential": "无效的用户名或密码",
|
|
168
168
|
"app.containers.Login.pageTitle": "登录",
|
|
169
|
-
"app.containers.MobilePush.Create.Android": "",
|
|
170
|
-
"app.containers.MobilePush.Create.Campaigns": "",
|
|
171
|
-
"app.containers.MobilePush.Create.Creatives": "",
|
|
172
|
-
"app.containers.MobilePush.Create.Image": "",
|
|
173
|
-
"app.containers.MobilePush.Create.ImageUploadLabel": "",
|
|
174
|
-
"app.containers.MobilePush.Create.Tags": "",
|
|
175
|
-
"app.containers.MobilePush.Create.accountId": "",
|
|
176
|
-
"app.containers.MobilePush.Create.addAnotherCTA": "",
|
|
177
|
-
"app.containers.MobilePush.Create.addPrimaryCTA": "",
|
|
178
|
-
"app.containers.MobilePush.Create.addSecondaryCTA": "",
|
|
179
|
-
"app.containers.MobilePush.Create.button1": "",
|
|
180
|
-
"app.containers.MobilePush.Create.button2": "",
|
|
181
|
-
"app.containers.MobilePush.Create.cancel": "",
|
|
182
|
-
"app.containers.MobilePush.Create.copyFromAndroid": "",
|
|
183
|
-
"app.containers.MobilePush.Create.copyFromIos": "",
|
|
184
|
-
"app.containers.MobilePush.Create.ctaLabelCantEmpty": "",
|
|
185
|
-
"app.containers.MobilePush.Create.deleteSecondCTAFirst": "",
|
|
186
|
-
"app.containers.MobilePush.Create.discardChanges": "",
|
|
187
|
-
"app.containers.MobilePush.Create.enterCTALabel": "",
|
|
188
|
-
"app.containers.MobilePush.Create.enterTemplateName": "",
|
|
189
|
-
"app.containers.MobilePush.Create.enterTemplateNameImportant": "",
|
|
190
|
-
"app.containers.MobilePush.Create.externalLink": "",
|
|
191
|
-
"app.containers.MobilePush.Create.externalLinkCantEmpty": "",
|
|
192
|
-
"app.containers.MobilePush.Create.goBackConfirmation": "",
|
|
193
|
-
"app.containers.MobilePush.Create.iOS": "",
|
|
194
|
-
"app.containers.MobilePush.Create.inputMobilePushTemplateContent": "",
|
|
195
|
-
"app.containers.MobilePush.Create.maxUploadFileSize": "",
|
|
196
|
-
"app.containers.MobilePush.Create.message": "",
|
|
197
|
-
"app.containers.MobilePush.Create.messageHasUnsupportedTag": "",
|
|
198
|
-
"app.containers.MobilePush.Create.messageLabel": "",
|
|
199
|
-
"app.containers.MobilePush.Create.messageTitleWithUnsupportedTag": "",
|
|
200
|
-
"app.containers.MobilePush.Create.mobilePush": "",
|
|
201
|
-
"app.containers.MobilePush.Create.nameAndDescription": "",
|
|
202
|
-
"app.containers.MobilePush.Create.pleaseUploadImage": "",
|
|
203
|
-
"app.containers.MobilePush.Create.primaryCTA": "",
|
|
204
|
-
"app.containers.MobilePush.Create.save": "",
|
|
205
|
-
"app.containers.MobilePush.Create.secondaryCTA": "",
|
|
206
|
-
"app.containers.MobilePush.Create.selectADeeplink": "",
|
|
207
|
-
"app.containers.MobilePush.Create.selectDeepLink": "",
|
|
208
|
-
"app.containers.MobilePush.Create.selectDeeplink": "",
|
|
209
|
-
"app.containers.MobilePush.Create.selectLinkType": "",
|
|
210
|
-
"app.containers.MobilePush.Create.selectMobilePushAccount": "",
|
|
211
|
-
"app.containers.MobilePush.Create.selectMobilePushTemplate": "",
|
|
212
|
-
"app.containers.MobilePush.Create.somethingWentWrong": "",
|
|
213
|
-
"app.containers.MobilePush.Create.template": "",
|
|
214
|
-
"app.containers.MobilePush.Create.templateCantEmpty": "",
|
|
215
|
-
"app.containers.MobilePush.Create.templateCreatedSuccessfully": "",
|
|
216
|
-
"app.containers.MobilePush.Create.templateNameNotEmpty": "",
|
|
217
|
-
"app.containers.MobilePush.Create.title": "",
|
|
218
|
-
"app.containers.MobilePush.Create.titleHasUnsupportedTag": "",
|
|
219
|
-
"app.containers.MobilePush.Create.titleLabel": "",
|
|
220
|
-
"app.containers.MobilePush.Create.titleNameInvalid": "",
|
|
221
|
-
"app.containers.MobilePush.Create.uploadFileSizeError": "",
|
|
222
|
-
"app.containers.MobilePush.Create.uploadImage": "",
|
|
223
|
-
"app.containers.MobilePush.Create.uploadingImage": "",
|
|
224
|
-
"app.containers.MobilePush.Create.valueCantEmpty": "",
|
|
225
|
-
"app.containers.MobilePush.Edit.Android": "",
|
|
226
|
-
"app.containers.MobilePush.Edit.Campaigns": "",
|
|
227
|
-
"app.containers.MobilePush.Edit.Creatives": "",
|
|
228
|
-
"app.containers.MobilePush.Edit.Image": "",
|
|
229
|
-
"app.containers.MobilePush.Edit.ImageUploadLabel": "",
|
|
230
|
-
"app.containers.MobilePush.Edit.Tags": "",
|
|
231
|
-
"app.containers.MobilePush.Edit.accountId": "",
|
|
232
|
-
"app.containers.MobilePush.Edit.addAnotherCTA": "",
|
|
233
|
-
"app.containers.MobilePush.Edit.addPrimaryCTA": "",
|
|
234
|
-
"app.containers.MobilePush.Edit.addSecondaryCTA": "",
|
|
235
|
-
"app.containers.MobilePush.Edit.androidTemplateNotConfigured": "",
|
|
236
|
-
"app.containers.MobilePush.Edit.button1": "",
|
|
237
|
-
"app.containers.MobilePush.Edit.button2": "",
|
|
238
|
-
"app.containers.MobilePush.Edit.cancel": "",
|
|
239
|
-
"app.containers.MobilePush.Edit.copyFromAndroid": "",
|
|
240
|
-
"app.containers.MobilePush.Edit.copyFromIos": "",
|
|
241
|
-
"app.containers.MobilePush.Edit.ctaLabelCantEmpty": "",
|
|
242
|
-
"app.containers.MobilePush.Edit.deleteSecondCTAFirst": "",
|
|
243
|
-
"app.containers.MobilePush.Edit.discardChanges": "",
|
|
244
|
-
"app.containers.MobilePush.Edit.enterCTALabel": "",
|
|
245
|
-
"app.containers.MobilePush.Edit.enterTemplateName": "",
|
|
246
|
-
"app.containers.MobilePush.Edit.enterTemplateNameImportant": "",
|
|
247
|
-
"app.containers.MobilePush.Edit.externalLink": "",
|
|
248
|
-
"app.containers.MobilePush.Edit.externalLinkCantEmpty": "",
|
|
249
|
-
"app.containers.MobilePush.Edit.externalLinkCantEmpty1": "",
|
|
250
|
-
"app.containers.MobilePush.Edit.goBackConfirmation": "",
|
|
251
|
-
"app.containers.MobilePush.Edit.iOS": "",
|
|
252
|
-
"app.containers.MobilePush.Edit.inputMobilePushTemplateContent": "",
|
|
253
|
-
"app.containers.MobilePush.Edit.iosTemplateNotConfigured": "",
|
|
254
|
-
"app.containers.MobilePush.Edit.maxUploadFileSize": "",
|
|
255
|
-
"app.containers.MobilePush.Edit.message": "",
|
|
256
|
-
"app.containers.MobilePush.Edit.messageHasUnsupportedTag": "",
|
|
257
|
-
"app.containers.MobilePush.Edit.messageLabel": "",
|
|
258
|
-
"app.containers.MobilePush.Edit.messageTitleWithUnsupportedTag": "",
|
|
259
|
-
"app.containers.MobilePush.Edit.mobilePush": "",
|
|
260
|
-
"app.containers.MobilePush.Edit.nameAndDescription": "",
|
|
261
|
-
"app.containers.MobilePush.Edit.pleaseUploadImage": "",
|
|
262
|
-
"app.containers.MobilePush.Edit.primaryCTA": "",
|
|
263
|
-
"app.containers.MobilePush.Edit.save": "",
|
|
264
|
-
"app.containers.MobilePush.Edit.secondaryCTA": "",
|
|
265
|
-
"app.containers.MobilePush.Edit.selectADeeplink": "",
|
|
266
|
-
"app.containers.MobilePush.Edit.selectDeepLink": "",
|
|
267
|
-
"app.containers.MobilePush.Edit.selectDeeplink": "",
|
|
268
|
-
"app.containers.MobilePush.Edit.selectLinkType": "",
|
|
269
|
-
"app.containers.MobilePush.Edit.selectMobilePushAccount": "",
|
|
270
|
-
"app.containers.MobilePush.Edit.selectMobilePushTemplate": "",
|
|
271
|
-
"app.containers.MobilePush.Edit.somethingWentWrong": "",
|
|
272
|
-
"app.containers.MobilePush.Edit.template": "",
|
|
273
|
-
"app.containers.MobilePush.Edit.templateCantEmpty": "",
|
|
274
|
-
"app.containers.MobilePush.Edit.templateEditedSuccessfully": "",
|
|
275
|
-
"app.containers.MobilePush.Edit.templateNameNotEmpty": "",
|
|
276
|
-
"app.containers.MobilePush.Edit.templateNotConfigured": "",
|
|
277
|
-
"app.containers.MobilePush.Edit.title": "",
|
|
278
|
-
"app.containers.MobilePush.Edit.titleHasUnsupportedTag": "",
|
|
279
|
-
"app.containers.MobilePush.Edit.titleLabel": "",
|
|
280
|
-
"app.containers.MobilePush.Edit.titleNameInvalid": "",
|
|
281
|
-
"app.containers.MobilePush.Edit.uploadFileSizeError": "",
|
|
282
|
-
"app.containers.MobilePush.Edit.uploadImage": "",
|
|
283
|
-
"app.containers.MobilePush.Edit.uploadingImage": "",
|
|
284
|
-
"app.containers.MobilePush.Edit.valueCantEmpty": "",
|
|
169
|
+
"app.containers.MobilePush.Create.Android": "Android",
|
|
170
|
+
"app.containers.MobilePush.Create.Campaigns": "活动",
|
|
171
|
+
"app.containers.MobilePush.Create.Creatives": "活动模板",
|
|
172
|
+
"app.containers.MobilePush.Create.Image": "图片",
|
|
173
|
+
"app.containers.MobilePush.Create.ImageUploadLabel": "上传图片",
|
|
174
|
+
"app.containers.MobilePush.Create.Tags": "标签",
|
|
175
|
+
"app.containers.MobilePush.Create.accountId": "客户名称",
|
|
176
|
+
"app.containers.MobilePush.Create.addAnotherCTA": "添加其它CTA",
|
|
177
|
+
"app.containers.MobilePush.Create.addPrimaryCTA": "添加一级CTA",
|
|
178
|
+
"app.containers.MobilePush.Create.addSecondaryCTA": "添加二级CTA",
|
|
179
|
+
"app.containers.MobilePush.Create.button1": "按钮1",
|
|
180
|
+
"app.containers.MobilePush.Create.button2": "按钮2",
|
|
181
|
+
"app.containers.MobilePush.Create.cancel": "取消",
|
|
182
|
+
"app.containers.MobilePush.Create.copyFromAndroid": "从Android系统中复制标题和内容",
|
|
183
|
+
"app.containers.MobilePush.Create.copyFromIos": "从IOS系统中复制标题和内容",
|
|
184
|
+
"app.containers.MobilePush.Create.ctaLabelCantEmpty": "CTA值不能为空",
|
|
185
|
+
"app.containers.MobilePush.Create.deleteSecondCTAFirst": "请先删除二级CTA",
|
|
186
|
+
"app.containers.MobilePush.Create.discardChanges": "放弃修改",
|
|
187
|
+
"app.containers.MobilePush.Create.enterCTALabel": "此处输入CTA值",
|
|
188
|
+
"app.containers.MobilePush.Create.enterTemplateName": "输入模板名称",
|
|
189
|
+
"app.containers.MobilePush.Create.enterTemplateNameImportant": "输入模板名称*",
|
|
190
|
+
"app.containers.MobilePush.Create.externalLink": "External Link",
|
|
191
|
+
"app.containers.MobilePush.Create.externalLinkCantEmpty": "External Link不能为空",
|
|
192
|
+
"app.containers.MobilePush.Create.goBackConfirmation": "返回上一步将放弃当前的所有修改,是否继续?",
|
|
193
|
+
"app.containers.MobilePush.Create.iOS": "iOS",
|
|
194
|
+
"app.containers.MobilePush.Create.inputMobilePushTemplateContent": "请输入消息内容",
|
|
195
|
+
"app.containers.MobilePush.Create.maxUploadFileSize": "可上传的最大文件大小是5MB",
|
|
196
|
+
"app.containers.MobilePush.Create.message": "消息",
|
|
197
|
+
"app.containers.MobilePush.Create.messageHasUnsupportedTag": "请检查缺失/不支持的标签内容",
|
|
198
|
+
"app.containers.MobilePush.Create.messageLabel": "消息*",
|
|
199
|
+
"app.containers.MobilePush.Create.messageTitleWithUnsupportedTag": "请检查缺失/不支持的标签内容",
|
|
200
|
+
"app.containers.MobilePush.Create.mobilePush": "Mobile Push",
|
|
201
|
+
"app.containers.MobilePush.Create.nameAndDescription": "名称和描述",
|
|
202
|
+
"app.containers.MobilePush.Create.pleaseUploadImage": "请上传图片",
|
|
203
|
+
"app.containers.MobilePush.Create.primaryCTA": "一级CTA",
|
|
204
|
+
"app.containers.MobilePush.Create.save": "保存",
|
|
205
|
+
"app.containers.MobilePush.Create.secondaryCTA": "二级CTA",
|
|
206
|
+
"app.containers.MobilePush.Create.selectADeeplink": "选择Deep link",
|
|
207
|
+
"app.containers.MobilePush.Create.selectDeepLink": "选择Deep link",
|
|
208
|
+
"app.containers.MobilePush.Create.selectDeeplink": "选择Deep link",
|
|
209
|
+
"app.containers.MobilePush.Create.selectLinkType": "请选择链接类型",
|
|
210
|
+
"app.containers.MobilePush.Create.selectMobilePushAccount": "请选择Mobile push的账户",
|
|
211
|
+
"app.containers.MobilePush.Create.selectMobilePushTemplate": "请选择Mobile push的模板",
|
|
212
|
+
"app.containers.MobilePush.Create.somethingWentWrong": "系统报错",
|
|
213
|
+
"app.containers.MobilePush.Create.template": "模板",
|
|
214
|
+
"app.containers.MobilePush.Create.templateCantEmpty": "请填写模板名称",
|
|
215
|
+
"app.containers.MobilePush.Create.templateCreatedSuccessfully": "Mobile push模板创建成功",
|
|
216
|
+
"app.containers.MobilePush.Create.templateNameNotEmpty": "请提供模板名称",
|
|
217
|
+
"app.containers.MobilePush.Create.title": "标题",
|
|
218
|
+
"app.containers.MobilePush.Create.titleHasUnsupportedTag": "请检查缺失/不支持的标签内容",
|
|
219
|
+
"app.containers.MobilePush.Create.titleLabel": "标题*",
|
|
220
|
+
"app.containers.MobilePush.Create.titleNameInvalid": "请输入消息标题",
|
|
221
|
+
"app.containers.MobilePush.Create.uploadFileSizeError": "文件大小不能超过5MB",
|
|
222
|
+
"app.containers.MobilePush.Create.uploadImage": "上传图片",
|
|
223
|
+
"app.containers.MobilePush.Create.uploadingImage": "加载图片",
|
|
224
|
+
"app.containers.MobilePush.Create.valueCantEmpty": "值不能为空",
|
|
225
|
+
"app.containers.MobilePush.Edit.Android": "Android",
|
|
226
|
+
"app.containers.MobilePush.Edit.Campaigns": "活动",
|
|
227
|
+
"app.containers.MobilePush.Edit.Creatives": "活动模板",
|
|
228
|
+
"app.containers.MobilePush.Edit.Image": "图片",
|
|
229
|
+
"app.containers.MobilePush.Edit.ImageUploadLabel": "上传图片",
|
|
230
|
+
"app.containers.MobilePush.Edit.Tags": "标签",
|
|
231
|
+
"app.containers.MobilePush.Edit.accountId": "Account Id",
|
|
232
|
+
"app.containers.MobilePush.Edit.addAnotherCTA": "添加其它CTA",
|
|
233
|
+
"app.containers.MobilePush.Edit.addPrimaryCTA": "添加一级CTA",
|
|
234
|
+
"app.containers.MobilePush.Edit.addSecondaryCTA": "添加二级CTA",
|
|
235
|
+
"app.containers.MobilePush.Edit.androidTemplateNotConfigured": "Android 模板没有配置,是否保存?",
|
|
236
|
+
"app.containers.MobilePush.Edit.button1": "按钮1",
|
|
237
|
+
"app.containers.MobilePush.Edit.button2": "按钮2",
|
|
238
|
+
"app.containers.MobilePush.Edit.cancel": "取消",
|
|
239
|
+
"app.containers.MobilePush.Edit.copyFromAndroid": "从Android复制标题和内容",
|
|
240
|
+
"app.containers.MobilePush.Edit.copyFromIos": "从IOS复制标题和内容 ",
|
|
241
|
+
"app.containers.MobilePush.Edit.ctaLabelCantEmpty": "CTA值不能为空",
|
|
242
|
+
"app.containers.MobilePush.Edit.deleteSecondCTAFirst": "请先删除二级CTA",
|
|
243
|
+
"app.containers.MobilePush.Edit.discardChanges": "放弃修改",
|
|
244
|
+
"app.containers.MobilePush.Edit.enterCTALabel": "此处输入CTA值",
|
|
245
|
+
"app.containers.MobilePush.Edit.enterTemplateName": "输入模板名称",
|
|
246
|
+
"app.containers.MobilePush.Edit.enterTemplateNameImportant": "输入模板名称*",
|
|
247
|
+
"app.containers.MobilePush.Edit.externalLink": "External Link",
|
|
248
|
+
"app.containers.MobilePush.Edit.externalLinkCantEmpty": "External Link不能为空值",
|
|
249
|
+
"app.containers.MobilePush.Edit.externalLinkCantEmpty1": "External Link不能为空值",
|
|
250
|
+
"app.containers.MobilePush.Edit.goBackConfirmation": "你是否想退回上一步操作?所有修改将会丢失!",
|
|
251
|
+
"app.containers.MobilePush.Edit.iOS": "iOS",
|
|
252
|
+
"app.containers.MobilePush.Edit.inputMobilePushTemplateContent": "请输入消息内容",
|
|
253
|
+
"app.containers.MobilePush.Edit.iosTemplateNotConfigured": "IOS模板没有配置,是否保存?",
|
|
254
|
+
"app.containers.MobilePush.Edit.maxUploadFileSize": "文件大小不能超过5MB",
|
|
255
|
+
"app.containers.MobilePush.Edit.message": "消息",
|
|
256
|
+
"app.containers.MobilePush.Edit.messageHasUnsupportedTag": "请检查缺失/不支持的标签内容",
|
|
257
|
+
"app.containers.MobilePush.Edit.messageLabel": "消息*",
|
|
258
|
+
"app.containers.MobilePush.Edit.messageTitleWithUnsupportedTag": "请检查缺失/不支持的标签内容",
|
|
259
|
+
"app.containers.MobilePush.Edit.mobilePush": "Mobile push",
|
|
260
|
+
"app.containers.MobilePush.Edit.nameAndDescription": "姓名和描述",
|
|
261
|
+
"app.containers.MobilePush.Edit.pleaseUploadImage": "请上传图片",
|
|
262
|
+
"app.containers.MobilePush.Edit.primaryCTA": "一级CTA",
|
|
263
|
+
"app.containers.MobilePush.Edit.save": "保存",
|
|
264
|
+
"app.containers.MobilePush.Edit.secondaryCTA": "二级CTA",
|
|
265
|
+
"app.containers.MobilePush.Edit.selectADeeplink": "选择Deep link",
|
|
266
|
+
"app.containers.MobilePush.Edit.selectDeepLink": "选择Deep link",
|
|
267
|
+
"app.containers.MobilePush.Edit.selectDeeplink": "选择Deep link",
|
|
268
|
+
"app.containers.MobilePush.Edit.selectLinkType": "请选择链接类型",
|
|
269
|
+
"app.containers.MobilePush.Edit.selectMobilePushAccount": "请选择Mobile push的账户",
|
|
270
|
+
"app.containers.MobilePush.Edit.selectMobilePushTemplate": "请选择Mobile push的模板",
|
|
271
|
+
"app.containers.MobilePush.Edit.somethingWentWrong": "系统报错",
|
|
272
|
+
"app.containers.MobilePush.Edit.template": "模板",
|
|
273
|
+
"app.containers.MobilePush.Edit.templateCantEmpty": "请填写模板名称",
|
|
274
|
+
"app.containers.MobilePush.Edit.templateEditedSuccessfully": "Mobile Push模板编辑成功",
|
|
275
|
+
"app.containers.MobilePush.Edit.templateNameNotEmpty": "请提供模板名称",
|
|
276
|
+
"app.containers.MobilePush.Edit.templateNotConfigured": "模板不能配置",
|
|
277
|
+
"app.containers.MobilePush.Edit.title": "标题",
|
|
278
|
+
"app.containers.MobilePush.Edit.titleHasUnsupportedTag": "请检查缺失/不支持的标签内容",
|
|
279
|
+
"app.containers.MobilePush.Edit.titleLabel": "标题*",
|
|
280
|
+
"app.containers.MobilePush.Edit.titleNameInvalid": "请输入消息内容",
|
|
281
|
+
"app.containers.MobilePush.Edit.uploadFileSizeError": "文件大小不能超过5MB",
|
|
282
|
+
"app.containers.MobilePush.Edit.uploadImage": "上传图片",
|
|
283
|
+
"app.containers.MobilePush.Edit.uploadingImage": "上传图片...",
|
|
284
|
+
"app.containers.MobilePush.Edit.valueCantEmpty": "值不能为空",
|
|
285
285
|
"app.containers.TagList.header": "",
|
|
286
286
|
"app.containers.Templates.alphabeticallyOption": "字母排序",
|
|
287
287
|
"app.containers.Templates.blankTemplate": "空白模板",
|
|
288
|
-
"app.containers.Templates.campaigns": "",
|
|
288
|
+
"app.containers.Templates.campaigns": "活动",
|
|
289
289
|
"app.containers.Templates.cancelText": "",
|
|
290
|
-
"app.containers.Templates.createEmailActionButton": "",
|
|
290
|
+
"app.containers.Templates.createEmailActionButton": "创建邮件",
|
|
291
291
|
"app.containers.Templates.createSmsActionButton": "创建短信",
|
|
292
|
-
"app.containers.Templates.creatives": "",
|
|
292
|
+
"app.containers.Templates.creatives": "活动模板",
|
|
293
293
|
"app.containers.Templates.deleteButton": "删除",
|
|
294
294
|
"app.containers.Templates.deletedSuccssfully": "",
|
|
295
295
|
"app.containers.Templates.deletionFailed": "",
|
|
296
296
|
"app.containers.Templates.duplicateButton": "重复",
|
|
297
|
-
"app.containers.Templates.ebillHeader": "",
|
|
298
|
-
"app.containers.Templates.ebillPreview": "",
|
|
297
|
+
"app.containers.Templates.ebillHeader": "电子账单",
|
|
298
|
+
"app.containers.Templates.ebillPreview": "电子账单预览",
|
|
299
299
|
"app.containers.Templates.editButton": "编辑",
|
|
300
|
-
"app.containers.Templates.emailHeader": "",
|
|
301
|
-
"app.containers.Templates.emailPreview": "",
|
|
300
|
+
"app.containers.Templates.emailHeader": "邮箱",
|
|
301
|
+
"app.containers.Templates.emailPreview": "邮箱预览",
|
|
302
302
|
"app.containers.Templates.gettingAllTemplates": "获取所有模板",
|
|
303
303
|
"app.containers.Templates.header": "",
|
|
304
|
-
"app.containers.Templates.imageTemplate": "",
|
|
305
|
-
"app.containers.Templates.invalidUploadFileError": "",
|
|
304
|
+
"app.containers.Templates.imageTemplate": "图片",
|
|
305
|
+
"app.containers.Templates.invalidUploadFileError": "文档无法上传.请选择正确的文档格式。",
|
|
306
|
+
"app.containers.Templates.layoutSelection": "",
|
|
306
307
|
"app.containers.Templates.mapTemplate": "创建模板",
|
|
307
|
-
"app.containers.Templates.mobilepushHeader": "",
|
|
308
|
+
"app.containers.Templates.mobilepushHeader": "Mobile push",
|
|
308
309
|
"app.containers.Templates.mostRecentOption": "最近",
|
|
309
|
-
"app.containers.Templates.newTemplate": "",
|
|
310
|
+
"app.containers.Templates.newTemplate": "新模板",
|
|
310
311
|
"app.containers.Templates.noAccountMessage": "请选择需要处理的公众号",
|
|
311
312
|
"app.containers.Templates.noTemplatesMessage": "没有可用的模板",
|
|
312
313
|
"app.containers.Templates.preview": "",
|
|
@@ -314,27 +315,28 @@
|
|
|
314
315
|
"app.containers.Templates.searchText": "搜索",
|
|
315
316
|
"app.containers.Templates.selectAccount": "选择公众号",
|
|
316
317
|
"app.containers.Templates.selectButton": "选择",
|
|
318
|
+
"app.containers.Templates.selectDefaultButton": "",
|
|
317
319
|
"app.containers.Templates.selectSmsHeader": "选择短信模板",
|
|
318
320
|
"app.containers.Templates.selectWechatHeader": "选择微信模板",
|
|
319
321
|
"app.containers.Templates.smsChannelTemplatesHeader": "短信模板",
|
|
320
322
|
"app.containers.Templates.smsHeader": "短信",
|
|
321
323
|
"app.containers.Templates.somethingWentWrong": "出现问题!!",
|
|
322
324
|
"app.containers.Templates.sortBy": "排序",
|
|
323
|
-
"app.containers.Templates.templateDeleteConfirm": "",
|
|
325
|
+
"app.containers.Templates.templateDeleteConfirm": "你确认要删除此模板吗?",
|
|
324
326
|
"app.containers.Templates.templateDeleteSuccess": "短信模板复制成功",
|
|
325
|
-
"app.containers.Templates.templateDuplicateSuccess": "
|
|
326
|
-
"app.containers.Templates.templateSelection": "",
|
|
327
|
-
"app.containers.Templates.textTemplate": "",
|
|
327
|
+
"app.containers.Templates.templateDuplicateSuccess": "模板复制成功",
|
|
328
|
+
"app.containers.Templates.templateSelection": "选择模板",
|
|
329
|
+
"app.containers.Templates.textTemplate": "文本",
|
|
328
330
|
"app.containers.Templates.unMapButton": "取消模板",
|
|
329
|
-
"app.containers.Templates.uploadFile": "",
|
|
331
|
+
"app.containers.Templates.uploadFile": "上传文件",
|
|
330
332
|
"app.containers.Templates.uploadedAt": "最后修改于",
|
|
331
333
|
"app.containers.Templates.uploadedBy": "被上传",
|
|
332
|
-
"app.containers.Templates.uploadingFile": "",
|
|
333
|
-
"app.containers.Templates.useEditor": "",
|
|
334
|
+
"app.containers.Templates.uploadingFile": "上传文件中",
|
|
335
|
+
"app.containers.Templates.useEditor": "使用编辑器",
|
|
334
336
|
"app.containers.Templates.wechatChannelTemplatesHeader": "微信模板",
|
|
335
337
|
"app.containers.Templates.wechatHeader": "微信",
|
|
336
338
|
"app.containers.Templates.yesText": "",
|
|
337
|
-
"app.containers.Templates.zipUploadFailed": "",
|
|
339
|
+
"app.containers.Templates.zipUploadFailed": "不能上传zip文件",
|
|
338
340
|
"app.containers.Testv2.header": "",
|
|
339
341
|
"app.containers.WeChat.accountId": "账户ID",
|
|
340
342
|
"app.containers.WeChat.cancel": "取消",
|
|
@@ -350,31 +352,31 @@
|
|
|
350
352
|
"app.containers.WeChat.tagsLabel": "标签",
|
|
351
353
|
"app.containers.WeChat.template": "模板",
|
|
352
354
|
"app.containers.WeChat.templateMapping": "模板对应",
|
|
353
|
-
"app.containers.WeChat.wechatCreateSuccess": "
|
|
354
|
-
"app.containers.WeChat.wechatEditSuccess": "
|
|
355
|
+
"app.containers.WeChat.wechatCreateSuccess": "微信模板映射成功",
|
|
356
|
+
"app.containers.WeChat.wechatEditSuccess": "微信模板取消映射成功",
|
|
355
357
|
"customdatepicker.cancel": "取消",
|
|
356
|
-
"customdatepicker.done": "",
|
|
357
|
-
"reon.components.Cap.Workbench": "",
|
|
358
|
-
"reon.components.Cap.campaigns": "",
|
|
359
|
-
"reon.components.Cap.creatives": "",
|
|
360
|
-
"reon.components.Cap.creativesDashboard": "",
|
|
361
|
-
"reon.components.Cap.ebill": "",
|
|
362
|
-
"reon.components.Cap.email": "",
|
|
363
|
-
"reon.components.Cap.gallery": "",
|
|
364
|
-
"reon.components.Cap.loyalty": "",
|
|
365
|
-
"reon.components.Cap.memberCare": "",
|
|
366
|
-
"reon.components.Cap.sms": "",
|
|
367
|
-
"reon.components.Cap.storeCare": "",
|
|
368
|
-
"reon.components.Cap.storePerformance": "",
|
|
369
|
-
"reon.components.Cap.wechat": "",
|
|
358
|
+
"customdatepicker.done": "完成",
|
|
359
|
+
"reon.components.Cap.Workbench": "工作台",
|
|
360
|
+
"reon.components.Cap.campaigns": "活动",
|
|
361
|
+
"reon.components.Cap.creatives": "活动模板",
|
|
362
|
+
"reon.components.Cap.creativesDashboard": "活动模板",
|
|
363
|
+
"reon.components.Cap.ebill": "电子账单",
|
|
364
|
+
"reon.components.Cap.email": "邮件",
|
|
365
|
+
"reon.components.Cap.gallery": "图片库",
|
|
366
|
+
"reon.components.Cap.loyalty": "忠诚度引擎",
|
|
367
|
+
"reon.components.Cap.memberCare": "会员中心",
|
|
368
|
+
"reon.components.Cap.sms": "短信",
|
|
369
|
+
"reon.components.Cap.storeCare": "门店",
|
|
370
|
+
"reon.components.Cap.storePerformance": "门店绩效",
|
|
371
|
+
"reon.components.Cap.wechat": "微信",
|
|
370
372
|
"reon.components.DateFilter.editText": "编辑",
|
|
371
|
-
"reon.components.DateFilter.loaderMessage": "",
|
|
372
|
-
"reon.components.TopBar.brand.dropdown": "",
|
|
373
|
+
"reon.components.DateFilter.loaderMessage": "获取数据",
|
|
374
|
+
"reon.components.TopBar.brand.dropdown": "选择品牌",
|
|
373
375
|
"reon.components.TopBar.logout": "登出",
|
|
374
376
|
"reon.components.TopBar.profile": "简况",
|
|
375
377
|
"reon.components.TopBar.settings": "设置",
|
|
376
|
-
"reon.components.campaignsDashboard": "",
|
|
377
|
-
"reon.components.campaignsHome": "",
|
|
378
|
+
"reon.components.campaignsDashboard": "活动",
|
|
379
|
+
"reon.components.campaignsHome": "活动中心",
|
|
378
380
|
"reon.modules.Login.components.LoginForm.input.loginButton": "登录",
|
|
379
381
|
"reon.modules.Login.components.LoginForm.input.password": "密码",
|
|
380
382
|
"reon.modules.Login.components.LoginForm.input.username": "用户名或密码"
|