refactor: 国际化

This commit is contained in:
wangjiahao 2024-11-27 19:31:39 +08:00
parent d2f7cbaec2
commit 8918ed5d83
13 changed files with 178 additions and 59 deletions

View File

@ -13,7 +13,7 @@
<el-tooltip
effect="dark"
placement="top"
:content="'排序'"
:content="t('visualization.sort')"
v-if="element.component === 'DeTabs' && showPosition === 'canvas'"
>
<el-icon class="bar-base-icon" @click="tabSort">
@ -21,12 +21,12 @@
</el-icon>
</el-tooltip>
<template v-if="element.component === 'VQuery' && showPosition === 'canvas'">
<span title="添加查询条件">
<span :title="t('visualization.add_query_filter')">
<el-icon class="bar-base-icon" @click="addQueryCriteria">
<Icon name="icon_add_outlined"><icon_add_outlined class="svg-icon" /></Icon
></el-icon>
</span>
<span title="编辑查询条件">
<span :title="t('visualization.edit_query_filter')">
<el-icon class="bar-base-icon" @click="editQueryCriteria">
<Icon name="icon_edit_outlined"><icon_edit_outlined class="svg-icon" /></Icon
></el-icon>
@ -47,7 +47,7 @@
<el-tooltip
effect="dark"
:placement="showBarTooltipPosition"
content="查看数据"
:content="'visualization.show_data'"
v-if="!['picture-group', 'rich-text'].includes(element.innerType) && barShowCheck('details')"
>
<span>
@ -59,7 +59,7 @@
<el-tooltip
effect="dark"
placement="top"
content="输入计算数据"
:content="t('visualization.input_calc_data')"
v-if="barShowCheck('datasetParams') && datasetParamsSetShow"
>
<span>
@ -102,14 +102,14 @@
</el-icon>
<template #dropdown>
<el-dropdown-menu style="width: 158px">
<el-dropdown-item @click="copyComponent" v-if="barShowCheck('copy')"
>复制</el-dropdown-item
>
<el-dropdown-item @click="copyComponent" v-if="barShowCheck('copy')">{{
t('visualization.copy')
}}</el-dropdown-item>
<template v-if="element.innerType !== 'rich-text' && barShowCheck('enlarge')">
<el-dropdown-item
:divided="showPosition === 'canvas'"
@click="userViewEnlargeOpen($event, 'enlarge')"
>放大</el-dropdown-item
>{{ t('visualization.enlarge') }}</el-dropdown-item
>
<el-dropdown-item
@click="userViewEnlargeOpen($event, 'details')"
@ -117,7 +117,7 @@
!['picture-group', 'rich-text'].includes(element.innerType) &&
barShowCheck('details')
"
>查看数据</el-dropdown-item
>{{ t('visualization.show_data') }}</el-dropdown-item
>
<el-dropdown-item
style="padding: 0"
@ -134,7 +134,7 @@
class="flex-align-center"
style="width: 100%; padding: 5px 6px 5px 16px; line-height: 24px"
>
导出为
{{ t('visualization.export_as') }}
<el-icon size="16px" style="margin-left: auto"><ArrowRight /></el-icon>
</div>
<template #dropdown>
@ -146,11 +146,11 @@
v-if="exportPermissions[1] && element.innerType === 'table-pivot'"
@click="exportAsFormattedExcel"
>
<span>Excel(带格式)</span>
<span>{{ t('visualization.excel_with_format') }}</span>
</el-dropdown-item>
<el-dropdown-item v-if="exportPermissions[0]" @click="exportAsImage"
>图片</el-dropdown-item
>
<el-dropdown-item v-if="exportPermissions[0]" @click="exportAsImage">{{
t('visualization.image')
}}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@ -161,9 +161,9 @@
jsname="L2NvbXBvbmVudC90aHJlc2hvbGQtd2FybmluZy9FZGl0QmFySGFuZGxlcg=="
@close-item="closeItem"
/>
<el-dropdown-item divided @click="deleteComponent" v-if="barShowCheck('delete')"
>删除</el-dropdown-item
>
<el-dropdown-item divided @click="deleteComponent" v-if="barShowCheck('delete')">{{
t('visualization.delete')
}}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
@ -191,11 +191,11 @@
v-if="exportPermissions[1] && element.innerType === 'table-pivot'"
@click="exportAsFormattedExcel"
>
<span>Excel(带格式)</span>
<span>{{ t('visualization.excel_with_format') }}</span>
</el-dropdown-item>
<el-dropdown-item v-if="exportPermissions[0]" @click="exportAsImage"
>图片</el-dropdown-item
>
<el-dropdown-item v-if="exportPermissions[0]" @click="exportAsImage">{{
t('visualization.image')
}}</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>

View File

@ -40,7 +40,7 @@ const handleDragEnd = e => {
<drag-component
:themes="themes"
:icon="dbMoreWeb"
label="网页"
:label="$t('visualization.web')"
drag-info="DeFrame&DeFrame"
></drag-component>
</div>

View File

@ -863,7 +863,7 @@ export default {
'Please fill in one per line, up to 500 items can be added. Duplicate options and already added options will be automatically filtered out when identifying input',
close: 'Close',
add: 'Add',
sure: 'Confirm',
sure: 'Confirm',
uncommitted_tips: 'There are uncommitted permission changes, do you want to submit? ',
use: 'Use',
check: 'View',
@ -1234,8 +1234,8 @@ export default {
text_pos_right: 'right',
text_pos_top: 'top',
text_pos_bottom: 'bottom',
text_italic: 'font tilt',
italic: 'tilt',
text_italic: 'font italic',
italic: 'italic',
orient: 'direction',
horizontal: 'horizontal',
vertical: 'vertical',
@ -2653,6 +2653,33 @@ Scatter chart (bubble) chart: {a} (series name), {b} (data name), {c} (value arr
column_name: 'Field name'
},
visualization: {
condition_style_set: 'Condition Style Settings',
cell_merge_tips:
'After merging cells, row/column freezing and automatic line wrapping will be disabled.',
image: 'Image',
jump_set_tips: 'Drill-down has been set',
input_calc_data: 'Enter calculation data',
excel_with_format: 'Excel (with format)',
show_data: 'View Data',
sort: 'Sort',
add_query_filter: 'Add Query Condition',
edit_query_filter: 'Edit Query Condition',
jump_set_tips: 'Redirection has been set',
tips_world: 'Tip Words',
query_name_space2: 'Spacing between name and selection box',
button_color: 'Button Color',
button_text: 'Button Text',
font_size: 'Font Size',
show_button: 'Show Button',
query_tips:
'If the query button is displayed, the chart query will be triggered only after clicking the button. If not displayed, the query is triggered immediately after selecting the query conditions.',
custom_query_bg_color: 'Custom Query Background Color',
query_condition_space: 'Query Condition Spacing',
query_condition_name: 'Query Condition Name',
condition_left: 'Left Side',
condition_top: 'Top Side',
custom_bg_color: 'Custom Component Background',
background_img: 'Background Image',
back_parent: 'Back to Parent',
ext_fullscreen: 'Exit Fullscreen',
no_edit_auth: 'No edit permissions for the target resource, please contact the administrator!',
@ -2949,7 +2976,7 @@ Scatter chart (bubble) chart: {a} (series name), {b} (data name), {c} (value arr
panel_background: 'Dashboard Background',
component_color: 'Component Color',
chart_title: 'Chart Title',
filter_component: 'Filter Component',
filter_component: 'Query',
enable_refresh_view: 'Enable Refresh',
enable_view_loading: 'Chart Loading Prompt',
image_size_tips: 'Please ensure images are no larger than 15MB',

View File

@ -2591,6 +2591,32 @@ export default {
column_name: '欄位名稱'
},
visualization: {
condition_style_set: '條件樣式設定',
cell_merge_tips: '合併單元格後行列凍結自動換行將失效',
image: '圖片',
jump_set_tips: '已設定下鑽',
input_calc_data: '輸入計算數據',
excel_with_format: 'Excel(帶格式)',
show_data: '查看數據',
sort: '排序',
add_query_filter: '添加查詢條件',
edit_query_filter: '編輯查詢條件',
jump_set_tips: '已設定跳轉',
tips_world: '提示詞',
query_name_space2: '名稱與選框間距',
button_color: '按鈕顏色',
button_text: '按鈕文字',
font_size: '字號',
show_button: '展示按鈕',
query_tips:
'如果展示查詢按鈕需要點擊該按鈕後才能觸發圖表查詢如果不展示查詢按鈕選擇完查詢條件後立即觸發圖表查詢',
custom_query_bg_color: '自定義查詢條件背景',
query_condition_space: '查詢條件間距',
query_condition_name: '查詢條件名稱',
condition_left: '左側',
condition_top: '上側',
custom_bg_color: '自定義組件背景',
background_img: '背景圖片',
back_parent: '返回上一級',
ext_fullscreen: '退出全屏',
no_edit_auth: '目標資源沒有編輯權限請聯繫管理員',

View File

@ -2594,6 +2594,32 @@ export default {
column_name: '字段名称'
},
visualization: {
condition_style_set: '条件样式设置',
cell_merge_tips: '合并单元格后行列冻结自动换行会失效',
image: '图片',
jump_set_tips: '已设置下钻',
input_calc_data: '输入计算数据',
excel_with_format: 'Excel(带格式)',
show_data: '查看数据',
sort: '排序',
add_query_filter: '添加查询条件',
edit_query_filter: '编辑查询条件',
jump_set_tips: '已设置跳转',
tips_world: '提示词',
query_name_space2: '名称与选框间距',
button_color: '按钮颜色',
button_text: '按钮文字',
font_size: '字号',
show_button: '展示按钮',
query_tips:
'如果展示查询按钮需要点击该按钮后才能触发图表查询如果不展示查询按钮选择完查询条件后立即触发图表查询',
custom_query_bg_color: '自定义查询条件背景',
query_condition_space: '查询条件间距',
query_condition_name: '查询条件名称',
condition_left: '左侧',
condition_top: '上侧',
custom_bg_color: '自定义组件背景',
background_img: '背景图片',
back_parent: '返回上一级',
ext_fullscreen: '退出全屏',
no_edit_auth: '目标资源没有编辑权限请联系管理员',

View File

@ -474,7 +474,7 @@ export const dvMainStore = defineStore('dataVisualization', {
const newView = {
...JSON.parse(JSON.stringify(BASE_VIEW_CONFIG)),
id: component.id,
title: '查询组件',
title: t('visualization.query_component'),
type: component.innerType,
customStyle: {
component: {

View File

@ -496,7 +496,9 @@ init()
<el-col v-if="props.chart.type && props.chart.type === 'indicator'">
<el-col>
<div class="inner-container">
<span class="label" :class="'label-' + props.themes">条件样式设置</span>
<span class="label" :class="'label-' + props.themes">{{
$t('visualization.condition_style_set')
}}</span>
<span class="right-btns">
<span
class="set-text-info"
@ -594,7 +596,9 @@ init()
<el-col v-show="showProperty('tableThreshold')">
<el-col>
<div class="inner-container">
<span class="label" :class="'label-' + props.themes">条件样式设置</span>
<span class="label" :class="'label-' + props.themes">{{
$t('visualization.condition_style_set')
}}</span>
<span class="right-btns">
<span
class="set-text-info"
@ -792,14 +796,16 @@ init()
<el-col v-show="showProperty('lineThreshold')">
<el-col>
<div class="inner-container">
<span class="label" :class="'label-' + props.themes">条件样式设置</span>
<span class="label" :class="'label-' + props.themes">{{
$t('visualization.condition_style_set')
}}</span>
<span class="right-btns">
<span
class="set-text-info"
:class="{ 'set-text-info-dark': themes === 'dark' }"
v-if="state.thresholdForm?.tableThreshold?.length > 0"
>
已设置
$t('visualization.already_setting')
</span>
<el-button
:title="t('chart.edit')"

View File

@ -283,7 +283,7 @@ initParams()
/>
</el-form-item>
<el-form-item
label="标题颜色"
:label="t('components.title_color')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
@ -330,7 +330,7 @@ initParams()
size="small"
v-model="commonBackgroundPop.backgroundColorSelect"
>
自定义组件背景
{{ t('visualization.custom_bg_color') }}
</el-checkbox>
</el-form-item>
<el-row style="padding-left: 20px" :gutter="8">
@ -389,10 +389,14 @@ initParams()
label="innerImage"
:effect="themes"
>
背景颜色
{{ t('visualization.background_color') }}
</el-radio>
<el-radio key="color" v-else label="color" :effect="themes">
{{ t('visualization.background_color') }}
</el-radio>
<el-radio label="outerImage" :effect="themes">
{{ t('visualization.background_img') }}
</el-radio>
<el-radio key="color" v-else label="color" :effect="themes"> 背景颜色 </el-radio>
<el-radio label="outerImage" :effect="themes"> 背景图片 </el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
@ -430,7 +434,7 @@ initParams()
class="image-hint"
:class="`image-hint_${themes}`"
>
支持JPGPNGGIFSVG
{{ t('visualization.pic_import_tips') }}
</span>
<el-button
@ -465,7 +469,7 @@ initParams()
</el-form-item>
</el-form>
</el-collapse-item>
<el-collapse-item :effect="themes" name="addition" title="查询条件">
<el-collapse-item :effect="themes" name="addition" :title="t('v_query.query_condition')">
<el-form @keydown.stop.prevent.enter label-position="top">
<el-form-item class="form-item margin-bottom-8" :class="'form-item-' + themes">
<el-checkbox
@ -501,7 +505,7 @@ initParams()
</el-checkbox>
</el-form-item>
<el-form-item
label="文本"
:label="t('visualization.text_html')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
@ -544,7 +548,7 @@ initParams()
</div>
</el-form-item>
<el-form-item
label="提示词"
:label="t('visualization.tips_world')"
class="form-item"
style="padding-left: 20px"
:class="'form-item-' + themes"
@ -576,7 +580,7 @@ initParams()
size="small"
v-model="chart.customStyle.component.bgColorShow"
>
自定义查询条件背景
{{ t('visualization.custom_query_bg_color') }}
</el-checkbox>
</el-form-item>
<el-form-item
@ -596,7 +600,7 @@ initParams()
<el-form-item
:effect="themes"
class="form-item"
label="查询条件间距"
:label="t('visualization.query_condition_space')"
:class="'form-item-' + themes"
>
<el-input-number
@ -612,7 +616,7 @@ initParams()
:themes="themes"
v-model="chart.customStyle.component.labelShow"
name="legend"
title="查询条件名称"
:title="t('visualization.query_condition_name')"
>
<el-form
:class="!chart.customStyle.component.labelShow && 'is-disabled'"
@ -626,8 +630,12 @@ initParams()
:class="'form-item-' + themes"
>
<el-radio-group :effect="themes" v-model="chart.customStyle.component.layout">
<el-radio label="vertical" :effect="themes"> 上侧 </el-radio>
<el-radio label="horizontal" :effect="themes"> 左侧 </el-radio>
<el-radio label="vertical" :effect="themes">
{{ t('visualization.condition_top') }}
</el-radio>
<el-radio label="horizontal" :effect="themes">
{{ t('visualization.condition_left') }}
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
@ -640,7 +648,11 @@ initParams()
is-custom
v-model="chart.customStyle.component.labelColor"
:predefine="predefineColors"
/><el-tooltip content="" :effect="toolTip" placement="top">
/><el-tooltip
:content="t('visualization.font_size')"
:effect="toolTip"
placement="top"
>
<el-select
style="width: 80px; margin: 0 8px"
:effect="themes"
@ -698,7 +710,7 @@ initParams()
<el-form-item
:effect="themes"
class="form-item"
label="名称与选框间距"
:label="t('visualization.query_name_space2')"
:class="'form-item-' + themes"
>
<el-input-number
@ -716,7 +728,7 @@ initParams()
<el-form-item
:effect="themes"
class="form-item"
label="展示按钮"
:label="t('visualization.show_button')"
:class="'form-item-' + themes"
>
<el-checkbox-group :effect="themes" v-model="chart.customStyle.component.btnList">
@ -724,7 +736,7 @@ initParams()
{{ t('commons.adv_search.search') }}
<el-tooltip
:effect="toolTip"
content="如果展示查询按钮,需要点击该按钮后才能触发图表查询;如果不展示查询按钮,选择完查询条件后立即触发图表查询"
:content="t('visualization.query_tips')"
placement="top"
>
<el-icon class="hint-icon" :class="{ 'hint-icon--dark': themes === 'dark' }">
@ -741,7 +753,11 @@ initParams()
</el-checkbox>
</el-checkbox-group>
</el-form-item>
<el-form-item class="form-item" label="按钮颜色" :class="'form-item-' + themes">
<el-form-item
class="form-item"
:label="t('visualization.button_color')"
:class="'form-item-' + themes"
>
<el-color-picker
:effect="themes"
:trigger-width="108"
@ -751,7 +767,7 @@ initParams()
/>
</el-form-item>
<el-form-item
label="按钮文字"
:label="t('visualization.button_text')"
class="form-item margin-bottom-8"
:class="'form-item-' + themes"
>
@ -760,7 +776,11 @@ initParams()
is-custom
v-model="chart.customStyle.component.labelColorBtn"
:predefine="predefineColors"
/><el-tooltip content="" :effect="toolTip" placement="top">
/><el-tooltip
:content="t('visualization.font_size')"
:effect="toolTip"
placement="top"
>
<el-select
style="width: 80px; margin: 0 8px"
:effect="themes"

View File

@ -394,7 +394,7 @@ onMounted(() => {
<span style="margin-right: 4px">{{ t('chart.merge_cells') }}</span>
<el-tooltip class="item" effect="dark" placement="bottom">
<template #content>
<div>合并单元格后行列冻结自动换行会失效</div>
<div>{{ $t('visualization.cell_merge_tips') }}</div>
</template>
<el-icon class="hint-icon" :class="{ 'hint-icon--dark': themes === 'dark' }">
<Icon name="icon_info_outlined"><icon_info_outlined class="svg-icon" /></Icon>

View File

@ -84,7 +84,7 @@ defineExpose({
<el-dialog
width="896px"
append-to-body
title="添加过滤"
:title="$t('chart.add_filter')"
destroy-on-close
class="de-dialog-form filter-tree-cont"
v-model="dialogVisible"

View File

@ -3274,7 +3274,11 @@ const deleteChartFieldItem = id => {
@add-ds-window="addDsWindow"
@on-dataset-change="recordSnapshotInfo('calcData')"
/>
<el-tooltip :effect="toolTip" content="编辑数据集" placement="top">
<el-tooltip
:effect="toolTip"
:content="$t('deDataset.edit_dataset')"
placement="top"
>
<el-icon
v-if="curDatasetWeight >= 7 && !isDataEaseBi"
class="field-search-icon-btn"

View File

@ -1067,14 +1067,24 @@ const titleTooltipWidth = computed(() => {
/></Icon>
</el-icon>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="top" content="已设置跳转" v-if="hasJumpIcon">
<el-tooltip
:effect="toolTip"
placement="top"
:content="t('visualization.jump_set_tips')"
v-if="hasJumpIcon"
>
<el-icon :size="iconSize" class="inner-icon">
<Icon name="icon_viewinchat_outlined"
><icon_viewinchat_outlined class="svg-icon"
/></Icon>
</el-icon>
</el-tooltip>
<el-tooltip :effect="toolTip" placement="top" content="已设置下钻" v-if="hasDrillIcon">
<el-tooltip
:effect="toolTip"
placement="top"
:content="t('visualization.drill_set_tips')"
v-if="hasDrillIcon"
>
<el-icon :size="iconSize" class="inner-icon">
<Icon name="icon_drilling_outlined"><icon_drilling_outlined class="svg-icon" /></Icon>
</el-icon>

View File

@ -147,7 +147,7 @@
</div>
<div class="ticket-btn">
<el-button type="primary" @click.stop="finish"> 完成 </el-button>
<el-button type="primary" @click.stop="finish"> {{ $t('components.complete') }} </el-button>
</div>
</div>
</template>