Lang function update

This commit is contained in:
decoder
2024-03-04 09:33:00 +05:00
parent 0de0459ce1
commit c18c2d0f32
12 changed files with 222 additions and 31 deletions

View File

@@ -17,6 +17,26 @@
v-model="element.label">
</div>
<div class="form-group"
v-if="!_.includes(['heading', 'hr', 'html_text'], element.type)">
<label>
{{trans('messages.field_label_est')}}
<span class="error">*</span>
</label>
<input type="text" class="form-control form-control-sm"
v-model="element.label_est">
</div>
<div class="form-group"
v-if="!_.includes(['heading', 'hr', 'html_text'], element.type)">
<label>
{{trans('messages.field_label_ru')}}
<span class="error">*</span>
</label>
<input type="text" class="form-control form-control-sm"
v-model="element.label_ru">
</div>
<div class="form-group">
<label>
{{trans('messages.field_name')}}
@@ -88,7 +108,6 @@
:element="element">
</pdf-uploader>
</div>
<!-- countdown -->
<div v-if="_.includes(['countdown'], element.type)">
<div class="mb-1">
@@ -275,6 +294,20 @@
<input type="text" class="form-control form-control-sm"
v-model="element.placeholder">
</div>
<div class="form-group"
v-if="_.includes(['text', 'textarea', 'text_editor'], element.type)">
<label>{{trans('messages.placeholder_est')}}</label>
<input type="text" class="form-control form-control-sm"
v-model="element.placeholder_est">
</div>
<div class="form-group"
v-if="_.includes(['text', 'textarea', 'text_editor'], element.type)">
<label>{{trans('messages.placeholder_ru')}}</label>
<input type="text" class="form-control form-control-sm"
v-model="element.placeholder_ru">
</div>
<div class="form-group"
v-if="!_.includes(['heading', 'terms_and_condition', 'hr', 'html_text', 'rating', 'youtube', 'iframe', 'pdf', 'countdown'], element.type)">
@@ -622,6 +655,26 @@
</small>
</div>
<div class="form-group"
v-if="_.includes(['radio', 'checkbox', 'dropdown'], element.type)">
<label>{{trans('messages.options_est')}}</label>
<textarea class="form-control form-control-sm"
v-model="element.options_est"></textarea>
<small class="form-text">
{{trans('messages.enter_one_option_per_line')}}
</small>
</div>
<div class="form-group"
v-if="_.includes(['radio', 'checkbox', 'dropdown'], element.type)">
<label>{{trans('messages.options_ru')}}</label>
<textarea class="form-control form-control-sm"
v-model="element.options_ru"></textarea>
<small class="form-text">
{{trans('messages.enter_one_option_per_line')}}
</small>
</div>
<div class="row mb-1"
v-if="_.includes(['radio', 'checkbox'], element.type)">
<div class="col-md-12">
@@ -686,6 +739,20 @@
v-model="element.content"></textarea>
</div>
<div class="form-group"
v-if="_.includes(['heading'], element.type)">
<label>{{trans('messages.content_est')}}</label>
<textarea class="form-control form-control-sm"
v-model="element.content_est"></textarea>
</div>
<div class="form-group"
v-if="_.includes(['heading'], element.type)">
<label>{{trans('messages.content_ru')}}</label>
<textarea class="form-control form-control-sm"
v-model="element.content_ru"></textarea>
</div>
<div class="form-group"
v-if="_.includes(['heading'], element.type)">
<label for="heading_text_color">

View File

@@ -8,7 +8,7 @@
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
@@ -24,7 +24,7 @@
</div>
<input :type="element.subtype" class="form-control"
:name="element.name"
:placeholder="element.placeholder"
:placeholder="form_trans_label(element, 'placeholder')"
:class="[element.size, element.custom_class, element.conditional_class]"
:required="element.required && applyValidations"
v-bind="getDynamicallyGeneratedAttributeObj(element.validations, element.custom_attributes)"
@@ -54,7 +54,7 @@
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
@@ -98,7 +98,7 @@
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
@@ -155,7 +155,7 @@
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
@@ -175,7 +175,7 @@
:name="element.name"
:id="element.name"
:cols="element.columns"
:placeholder="element.placeholder"
:placeholder="form_trans_label(element, 'placeholder')"
:class="[element.custom_class, element.conditional_class]"
:required="element.required && applyValidations"
v-bind="getDynamicallyGeneratedAttributeObj(element.validations, element.custom_attributes)"
@@ -204,7 +204,7 @@
<label :for="element.name">
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">{{ element.label }}</span>
<span :style="{'color': settings.color.label}">{{ form_trans_label(element, 'label') }} </span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
v-if="!_.isUndefined(element.popover_help_text) && element.popover_help_text.enable"
@@ -213,7 +213,7 @@
</label>
<div class="row">
<div :class="[spreadColumnForElement(element)]"
v-for="(option, index) in element.options.split('\n')">
v-for="(option, index) in form_trans_label(element, 'options').split('\n')">
<div class="custom-control" :class="[element.type == 'radio' ? 'custom-radio' : 'custom-checkbox']">
<input class="custom-control-input"
:type="element.type"
@@ -248,7 +248,7 @@
<label :for="element.name">
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">{{ element.label }}</span>
<span :style="{'color': settings.color.label}">{{ form_trans_label(element, 'label') }}</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
v-if="!_.isUndefined(element.popover_help_text) && element.popover_help_text.enable"
@@ -270,7 +270,7 @@
@change="$emit('apply_conditions')"
:data-msg-required="element.required_error_msg"
>
<option v-for="option in element.options.split('\n')"
<option v-for="option in form_trans_label(element, 'options').split('\n')"
:selected="_.includes(_.get(submitted_data, element.name, ''), option)"
>
{{ option }}
@@ -297,7 +297,7 @@
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<div
v-html="'<' + element.tag + ' style=color:' + element.text_color + '>' + element.content + '</' + element.tag + '>'"
v-html="'<' + element.tag + ' style=color:' + element.text_color + '>' + form_trans_label(element, 'content') + '</' + element.tag + '>'"
:class="[element.custom_class]">
</div>
</div>
@@ -308,7 +308,7 @@
<label :for="element.name">
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">{{ element.label }}</span>
<span :style="{'color': settings.color.label}">{{ form_trans_label(element, 'label') }}</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
v-if="!_.isUndefined(element.popover_help_text) && element.popover_help_text.enable"
@@ -336,7 +336,7 @@
<label :for="element.name">
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">{{ element.label }}</span>
<span :style="{'color': settings.color.label}">{{ form_trans_label(element, 'label') }}</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
v-if="!_.isUndefined(element.popover_help_text) && element.popover_help_text.enable"
@@ -375,9 +375,9 @@
>
<label class="custom-control-label" for="terms_and_condition">
<a :href="element.link" target="_blank" v-if="element.link">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</a>
<span v-else>{{ element.label }}</span>
<span v-else>{{ form_trans_label(element, 'label') }}</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
v-if="!_.isUndefined(element.popover_help_text) && element.popover_help_text.enable"
@@ -412,7 +412,7 @@
<label :for="element.name">
<i class="fas fa-sort handle pointer font_icon_size float-left mr-3" :class="[display_handler]"
:title="trans('messages.drag_element_using_icon')"></i>
<span :style="{'color': settings.color.label}">{{ element.label }}</span>
<span :style="{'color': settings.color.label}">{{ form_trans_label(element, 'label') }}</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
v-if="!_.isUndefined(element.popover_help_text) && element.popover_help_text.enable"
@@ -451,7 +451,7 @@
>
<label :for="element.name">
<span :style="{'color': settings.color.label}" class="ml-2">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
@@ -476,7 +476,7 @@
:title="trans('messages.drag_element_using_icon')"></i>
<label :for="element.name">
<span :style="{'color': settings.color.label}" class="ml-2">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
<i class="fas fa-info-circle cursor-pointer modal_trigger"
@@ -535,7 +535,7 @@
:title="trans('messages.drag_element_using_icon')"></i>
<label :for="element.name">
<span :style="{'color': settings.color.label}" class="ml-2">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
</label>
@@ -563,7 +563,7 @@
:title="trans('messages.drag_element_using_icon')"></i>
<label :for="element.name">
<span :style="{'color': settings.color.label}" class="ml-2">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
</label>
@@ -588,7 +588,7 @@
:title="trans('messages.drag_element_using_icon')"></i>
<label :for="element.name">
<span :style="{'color': settings.color.label}" class="ml-2">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
</label>
@@ -617,7 +617,7 @@
:title="trans('messages.drag_element_using_icon')"></i>
<label :for="element.name">
<span :style="{'color': settings.color.label}" class="ml-2">
{{ element.label }}
{{ form_trans_label(element, 'label') }}
</span>
<span :style="{'color': settings.color.required_asterisk_color}" v-if="element.required">*</span>
</label>

View File

@@ -236,11 +236,15 @@
{ type: 'text',
subtype:'text',
label: self.trans('messages.input'),
label_est: self.trans('messages.input'),
label_ru: self.trans('messages.input'),
help_text: '',
display_icon: 'grip-lines',
prefix_icon: 'none',
suffix_icon: 'none',
placeholder:'',
placeholder_est:'',
placeholder_ru:'',
size:'',
custom_class:'',
conditional_class:'',
@@ -258,6 +262,8 @@
},
{ type: 'textarea',
label: self.trans('messages.textarea'),
label_est: self.trans('messages.textarea'),
label_ru: self.trans('messages.textarea'),
help_text: '',
display_icon: 'list',
prefix_icon: 'none',
@@ -265,6 +271,8 @@
rows: 3,
columns:'',
placeholder:'',
placeholder_est:'',
placeholder_ru:'',
custom_class:'',
conditional_class:'',
col:'col-md-12',
@@ -277,6 +285,8 @@
},
{ type: 'dropdown',
label: self.trans('messages.dropdown'),
label_est: self.trans('messages.dropdown'),
label_ru: self.trans('messages.dropdown'),
help_text: '',
display_icon: 'caret-square-down',
prefix_icon: 'none',
@@ -296,6 +306,8 @@
},
{ type: 'radio',
label: self.trans('messages.radio'),
label_est: self.trans('messages.radio'),
label_ru: self.trans('messages.radio'),
help_text: '',
spread_to_col: {
enable: false,
@@ -314,6 +326,8 @@
},
{ type: 'checkbox',
label: self.trans('messages.checkbox'),
label_est: self.trans('messages.checkbox'),
label_ru: self.trans('messages.checkbox'),
help_text: '',
spread_to_col: {
enable: false,
@@ -332,6 +346,8 @@
},
{ type: 'heading',
label: self.trans('messages.heading_paragrahp'),
label_est: self.trans('messages.heading_paragrahp'),
label_ru: self.trans('messages.heading_paragrahp'),
tag: 'h1',
text_color: '#212529',
content: 'Click to change it',
@@ -345,6 +361,8 @@
},
{ type: 'range',
label: self.trans('messages.range'),
label_est: self.trans('messages.range'),
label_ru: self.trans('messages.range'),
help_text: '',
display_icon: 'arrows-alt-h',
min:1,
@@ -362,6 +380,8 @@
},
{ type: 'calendar',
label: self.trans('messages.datetime'),
label_est: self.trans('messages.datetime'),
label_ru: self.trans('messages.datetime'),
help_text: '',
size:'',
display_icon: 'calendar-alt',
@@ -387,6 +407,8 @@
{
type: 'file_upload',
label: self.trans('messages.file_upload'),
label_est: self.trans('messages.file_upload'),
label_ru: self.trans('messages.file_upload'),
help_text:'',
display_icon: 'upload',
upload_text: self.trans('messages.drop_a_file_here'),
@@ -408,7 +430,11 @@
{
type: 'text_editor',
label: self.trans('messages.text_editor'),
label_est: self.trans('messages.text_editor'),
label_ru: self.trans('messages.text_editor'),
placeholder: self.trans('messages.jot_down_here'),
placeholder_est: self.trans('messages.jot_down_here'),
placeholder_ru: self.trans('messages.jot_down_here'),
help_text:'',
display_icon: 'keyboard',
editor_height: 150,
@@ -424,6 +450,8 @@
{
type: 'terms_and_condition',
label: self.trans('messages.terms_condition'),
label_est: self.trans('messages.terms_condition'),
label_ru: self.trans('messages.terms_condition'),
link: '',
display_icon: 'file-signature',
custom_class: '',
@@ -439,6 +467,8 @@
{
type: 'rating',
label: self.trans('messages.rating'),
label_est: self.trans('messages.rating'),
label_ru: self.trans('messages.rating'),
display_icon: 'star',
conditional_class:'',
stars_to_display:5,
@@ -458,6 +488,8 @@
{
type: 'switch',
label: self.trans('messages.switch'),
label_est: self.trans('messages.switch'),
label_ru: self.trans('messages.switch'),
display_icon: 'toggle-off',
conditional_class: '',
help_text:'',
@@ -473,6 +505,8 @@
{
type: 'hr',
label: self.trans('messages.horizontal_line'),
label_est: self.trans('messages.horizontal_line'),
label_ru: self.trans('messages.horizontal_line'),
padding_top:1,
padding_bottom:1,
border_size:1,
@@ -490,6 +524,8 @@
{
type: 'html_text',
label: self.trans('messages.html_text'),
label_est: self.trans('messages.html_text'),
label_ru: self.trans('messages.html_text'),
html_text:'Write Something..',
display_icon: 'code',
custom_class: '',
@@ -503,6 +539,8 @@
{
type: 'signature',
label: self.trans('messages.signature'),
label_est: self.trans('messages.signature'),
label_ru: self.trans('messages.signature'),
display_icon: 'signature',
col: 'col-md-12',
html_text:'',
@@ -517,6 +555,8 @@
{
type: 'page_break',
label: self.trans('messages.page_break'),
label_est: self.trans('messages.page_break'),
label_ru: self.trans('messages.page_break'),
label_align: 'top',
display_icon: 'cut',
col:'col-md-12',
@@ -528,6 +568,8 @@
},
{ type: 'youtube',
label: self.trans('messages.youtube'),
label_est: self.trans('messages.youtube'),
label_ru: self.trans('messages.youtube'),
display_icon: 'video',
custom_class:'',
conditional_class:'',
@@ -543,6 +585,8 @@
},
{ type: 'iframe',
label: self.trans('messages.iframe_embed'),
label_est: self.trans('messages.iframe_embed'),
label_ru: self.trans('messages.iframe_embed'),
display_icon: 'crop-alt',
custom_class:'',
conditional_class:'',
@@ -559,6 +603,8 @@
},
{ type: 'pdf',
label: self.trans('messages.pdf_embedder'),
label_est: self.trans('messages.pdf_embedder'),
label_ru: self.trans('messages.pdf_embedder'),
display_icon: 'file-pdf',
custom_class:'',
conditional_class:'',
@@ -574,6 +620,8 @@
},
{ type: 'countdown',
label: self.trans('messages.countdown'),
label_est: self.trans('messages.countdown'),
label_ru: self.trans('messages.countdown'),
display_icon: 'hourglass-start',
custom_class: '',
conditional_class: '',

View File

@@ -508,6 +508,21 @@ export default {
initialize_countdowntimer(element);
}, 2000); //initialize after 2 sec
}
},
form_trans_label (data, key) {
const currLang = document.documentElement.lang
if (currLang === 'ru') {
if (data[`${key}_ru`] == '' || data[`${key}_ru`] === undefined || data[`${key}_ru`] === null) {
return data[key];
}
return data[`${key}_ru`]
} else if (currLang === 'est') {
if (data[`${key}_est`] == '' || data[`${key}_est`] === undefined || data[`${key}_est`] === null) {
return data[key];
}
return data[`${key}_est`]
}
return data[key];
}
},
};