Browse Source

Merge branch 'lang_dev' into lang_db

bding 1 year ago
parent
commit
d57e0e8324
30 changed files with 210 additions and 110 deletions
  1. 1 1
      src/components/chart/chartListWrap.vue
  2. 2 2
      src/lang/commonLang.js
  3. 9 6
      src/lang/modules/EtaBase/En.js
  4. 4 1
      src/lang/modules/EtaBase/Zh.js
  5. 31 2
      src/lang/modules/EtaBase/commonLang.js
  6. 2 0
      src/lang/modules/SandboxManage/SandList.js
  7. 6 3
      src/lang/modules/StatisticAnalysis/ChartRelevance.js
  8. 2 0
      src/lang/modules/StatisticAnalysis/CrossVarietyChart.js
  9. 4 0
      src/lang/modules/StatisticAnalysis/StatisticFeatureChart.js
  10. 8 0
      src/lang/modules/SupplyAnalysis/StockPlant.js
  11. 2 0
      src/lang/modules/ToolBox/PositionAnalysis.js
  12. 2 2
      src/views/chartRelevance_manage/components/chartCard.vue
  13. 8 8
      src/views/chartRelevance_manage/components/saveChartTobaseDia.vue
  14. 13 13
      src/views/chartRelevance_manage/components/saveEdbToBaseDia.vue
  15. 29 10
      src/views/chartRelevance_manage/crossVarietyAnalysis/components/chartFormSection.vue
  16. 3 1
      src/views/chartRelevance_manage/crossVarietyAnalysis/components/tagSetDialog.vue
  17. 1 1
      src/views/chartRelevance_manage/crossVarietyAnalysis/list.vue
  18. 1 1
      src/views/chartRelevance_manage/relevance/relevanceChartEditor.vue
  19. 28 9
      src/views/chartRelevance_manage/statistic/statisticFeatureChartEditor.vue
  20. 1 1
      src/views/dataEntry_manage/databaseComponents/addTargetDiaBase.vue
  21. 1 1
      src/views/dataEntry_manage/databaseComponents/completeTargetDia.vue
  22. 9 3
      src/views/dataEntry_manage/databaseComponents/computedDialog.vue
  23. 1 1
      src/views/dataEntry_manage/databaseComponents/util.js
  24. 7 7
      src/views/dataEntry_manage/databaseList.vue
  25. 1 1
      src/views/futures_manage/chartEditor.vue
  26. 5 5
      src/views/positionAnalysis_manage/components/chartBox.vue
  27. 15 15
      src/views/predictEdb_manage/components/operationDialog.vue
  28. 7 9
      src/views/predictEdb_manage/predictEdb.vue
  29. 1 1
      src/views/sandbox_manage/index_new_version.vue
  30. 6 6
      src/views/supply_manage/components/plantTable.vue

+ 1 - 1
src/components/chart/chartListWrap.vue

@@ -43,7 +43,7 @@
       </el-col>
     </div>
     <div v-if="!total" class="nodata">
-      <tableNoData text="暂无图表"/>
+      <tableNoData :text="$t('Common.no_chart_msg')"/>
     </div>
   </div>
 </template>

+ 2 - 2
src/lang/commonLang.js

@@ -128,8 +128,8 @@ export default {
       zh: "发布时间",
     },
     loading: {
-      en: '加载中...',
-      zh: 'Loading...'
+      zh: '加载中...',
+      en: 'Loading...'
     },
     data_loading: {
       en: "Data Loading",

+ 9 - 6
src/lang/modules/EtaBase/En.js

@@ -45,11 +45,11 @@ export default {
     turn_rate: 'Turnover Rate',
     open_inter: 'Open Interest',
     open_val: 'Value of Open Positions',
-    fluctua_day: '日振幅',
+    fluctua_day: 'Daily Amplitude',
     have_edb_tip1:'该数据已存在数据库,名称为{name},目录为:{menu},如需重新添加,请删除原指标',
     have_edb_tip2:'该数据已存在数据库,名称为{name},目录为:{menu}',
     exist_edb_tips: 'The following indicators already exist in the indicator pool, please do not re-enter them!',
-    forbid_edb_tips: '您当前暂无权限查看该指标,如需查看,请联系管理员',
+    forbid_edb_tips: 'You currently do not have the permission to view this indicator. If you need access, please contact the administrator.',
     complate_info: 'Complete Information',
     no_companyid_msg: 'Please input Company ID',
     no_edbid_msg: 'Please input Indicator ID',
@@ -60,7 +60,7 @@ export default {
     replace_all: 'Replace all',
     replace_tip: 'Tip: After the replacement, charts and calculated indicators that refer to the original indicator will be replaced by the replacement indicator.',
     replace_success_msg: 'This replacement will last for a longer period of time, confirm the replacement?',
-    replace_ing_msg: '当前正在替换中,请耐心等待',
+    replace_ing_msg: 'The replacement is currently in progress, please be patient',
     input_origin_vaild: 'Original Indicator can not be empty',
     input_replace_vaild: 'Indicator Replacement not be empty',
 
@@ -73,9 +73,12 @@ export default {
     normal_calculate_tab: 'Conventional Calculation',
     batch_calculate_tab: 'Batch Calculation',
     calculate_title: 'Calculation',
+    calculate_edit_title: 'Edit Calculation',
+    calculate_view_title: 'View Calculation',
     add_more_param: 'Add more parameters',
-    null_val_deal: '空值处理',
-    max_null_val: 'MAX、MIN空值处理',
+    create_edb_time_index: 'Generate Indicator Time Series',
+    null_val_deal: 'Null Value Handling',
+    max_null_val: 'MAX、MIN Null Value Handling',
     calculate_formula: 'Calculation Formula',
     input_formula_msg: 'Please input formula',
     input_formula_valid: 'Calculation Formula can not be blank',
@@ -83,7 +86,7 @@ export default {
     formula_examp: 'Formula Example',
     func_examp: 'Function Support',
     add_segm:'Add segment',
-    num_overrun_msg: '添加指标个数已达上限',
+    num_overrun_msg: 'The number of indicators added has reached the limit.',
     label_move_way: 'Moving Mode',
     label_n_val: 'N equals to',
     label_calendar: 'Calendar',

+ 4 - 1
src/lang/modules/EtaBase/Zh.js

@@ -23,7 +23,7 @@ export default {
     prev_step: '上一步',
     improve_info: '完善信息',
     belong_menu: '所属目录',
-    add_success_msg: '新增指标成功',
+    add_success_msg: '新增指标成功',
     econ_base: '经济数据库',
     date_serie: '日期序列',
     stock_input_pholder: '请输入证券代码,每次只查询一个证券代码',
@@ -73,7 +73,10 @@ export default {
     normal_calculate_tab: '常规计算',
     batch_calculate_tab: '批量计算',
     calculate_title: '计算指标',
+    calculate_edit_title: '编辑计算指标',
+    calculate_view_title: '查看计算指标',
     add_more_param: '添加更多参数',
+    create_edb_time_index: '生成指标时间序列',
     null_val_deal: '空值处理',
     max_null_val: 'MAX、MIN空值处理',
     calculate_formula: '计算公式',

+ 31 - 2
src/lang/modules/EtaBase/commonLang.js

@@ -656,8 +656,8 @@ export default {
       3、按照输入的计算公式进行计算`,
       en: `Index calculation:<br>
       1、Select index parameters<br>
-      2、生成指标的时间序列:以第一个指标为准,其他指标去匹配第一个指标的日期序列,没有值的,按照所选空值处理方式处理<br>
-      3、按照输入的计算公式进行计算`
+      2、Generate time series for the indicator: use the first indicator as a reference, align other indicators with the date sequence of the first one, and handle missing values according to the selected method for dealing with nulls.<br>
+      3、Calculate based on the input formula.`
     },
     to_month_quarter: {
       zh: `1、累计值转月值计算方法:<br>
@@ -1099,5 +1099,34 @@ export default {
       3、Select the table, use "Ctrl + F" to call the fast search function, support quickly locate the data in the table.<br>
       Note: The system only takes data from columns A and B.`
     }
+  },
+
+  /* 提示信息 */
+  MsgPrompt: {
+    del_not_relate_edb: {
+      zh: '该目录关联指标不可删除',
+      en: 'Cannot delete index linked to this directory'
+    },
+    del_confirm_menu_or_children: {
+      zh: '确认删除当前目录及包含的子目录吗?',
+      en: 'Are you sure you want to delete the current directory and all its subdirectories?'
+    },
+    del_failed: {
+      zh: '删除失败',
+      en: 'Deletion Failed'
+    },
+    del_edb_confirm: {
+      zh: '删除后指标和指标值均不可使用,确认删除吗?',
+      en: 'Once deleted, both the indicators and their values will become unusable. Are you sure you want to delete them?'
+    },
+    del_edb_use_chart: {
+      zh: '当前指标已用作画图,不可删除',
+      en: 'The current indicator is being used for drawing and cannot be deleted.'
+    },
+    del_menu_confirm: {
+      zh: '确定删除当前目录吗?',
+      en: 'Are you sure you want to delete the current directory?'
+    }
   }
+  
 }

+ 2 - 0
src/lang/modules/SandboxManage/SandList.js

@@ -23,6 +23,7 @@ export const SandListEn = {
     delete_attention_msg2:'Are you sure to delete current category?',
     add_diagram_msg01:"Please fill in the logic diagram's name",
     select_categories_msg:'Please select category',
+    save_as_success:'Save As successful.',
   };
   
   /* 中文 */
@@ -46,6 +47,7 @@ export const SandListEn = {
     delete_attention_msg2:'确定删除当前分类吗?',
     add_diagram_msg01:'请填写逻辑图名称',
     select_categories_msg:'请选择所属分类',
+    save_as_success:'另存为成功',
 
   };
   

+ 6 - 3
src/lang/modules/StatisticAnalysis/ChartRelevance.js

@@ -31,7 +31,9 @@ export const ChartRelevanceEn = {
     update_edb:'Update indicator',
     save_other:'Indicator Save as',
     save_edb:'Save indicator',
-    update_edb:'update'
+    update_edb:'update',
+    update_success:'Update success',
+    chart_save_as:'Save Chart As',
 };
   
 /* 中文 */
@@ -63,8 +65,9 @@ export const ChartRelevanceZh = {
     update_edb:'更新指标',
     save_other:'指标另存为',
     save_edb:'保存指标',
-    update_edb:'更新'
-
+    update_edb:'更新',
+    update_success:'更新成功',
+    chart_save_as:'图表另存为',
 };
   
 /**

+ 2 - 0
src/lang/modules/StatisticAnalysis/CrossVarietyChart.js

@@ -20,6 +20,7 @@ export const CrossVarietyChartEn = {
     add_date:'Add date',
     latest_date:'Latest date',
     n_day_before:'N days ago',
+    fixed_date:'fixed date'
 };
   
 /* 中文 */
@@ -40,6 +41,7 @@ export const CrossVarietyChartZh = {
     add_date:'添加日期',
     latest_date:'最新日期',
     n_day_before:'N天前',
+    fixed_date:'固定日期'
 };
   
 /**

+ 4 - 0
src/lang/modules/StatisticAnalysis/StatisticFeatureChart.js

@@ -16,6 +16,8 @@ export const StatisticFeatureChartEn = {
   near_month: "Last {num} months",
   near_year: "Last {num} years",
   selecr_indicator_pld: "Please select the type of indicator",
+  data_count:'Number of data',
+  data_area:'Data interval',
 };
 
 /* 中文 */
@@ -32,6 +34,8 @@ export const StatisticFeatureChartZh = {
   near_month: "最近{num}月",
   near_year: "最近{num}年",
   selecr_indicator_pld: "请选择指标种类",
+  data_count:'数据个数',
+  data_area:'数据区间',
 };
 
 /**

+ 8 - 0
src/lang/modules/SupplyAnalysis/StockPlant.js

@@ -39,6 +39,10 @@ export const StockPlantEn = {
     edit_table_btn_add_down:'Add below',
     edit_table_btn_add_other:'Add New Equipment/Production Line',
     placeholder04:'Please Select Commodity',
+    delist:'Delist',
+    placeholder05:'Please enter the factory',
+    placeholder06:'Please input device/production line',
+    placeholder07:'Please enter the annual production capacity',
 };
   
 /* 中文 */
@@ -78,6 +82,10 @@ export const StockPlantZh = {
     edit_table_btn_add_down:'向下添加',
     edit_table_btn_add_other:'添加其他装置',
     placeholder04:'请选择品种',
+    delist:'退市',
+    placeholder05:'请输入工厂',
+    placeholder06:'请输入装置/产线',
+    placeholder07:'请输入年产能',
 };
   
 /**

+ 2 - 0
src/lang/modules/ToolBox/PositionAnalysis.js

@@ -25,6 +25,7 @@ export const PositionAnalysisEn = {
     hold_short_position:'Number of Short Positions Held',
     net_long_position_num:'Number of Net Long Position',
     net_short_position_num:'Number of Net Short Position',
+    held:"Held",
 };
   
 /* 中文 */
@@ -50,6 +51,7 @@ export const PositionAnalysisZh = {
     hold_short_position:'持空单量',
     net_long_position_num:'净多单量',
     net_short_position_num:'净空单量',
+    held:"持",
 };
   
 /**

+ 2 - 2
src/views/chartRelevance_manage/components/chartCard.vue

@@ -260,7 +260,7 @@ export default {
       if(res.Ret !== 200) return
       
       this.setChartImage(entryType,res.Data.ChartInfoId)
-      this.$message.success('更新成功');
+      this.$message.success(this.$t('StatisticAnalysis.ChartRelevance.update_success'));
     },
 
     /* 更新指标 */
@@ -293,7 +293,7 @@ export default {
       }
 
 			if(res.Ret !== 200) return
-			this.$message.success('更新成功');
+			this.$message.success(this.$t('StatisticAnalysis.ChartRelevance.update_success'));
     }
   },
 

+ 8 - 8
src/views/chartRelevance_manage/components/saveChartTobaseDia.vue

@@ -3,7 +3,7 @@
       :visible.sync="isShow"
       :close-on-click-modal="false"
       :modal-append-to-body="false"
-      :title="saveScence==='saveOther'?'图表另存为':'保存'"
+      :title="saveScence==='saveOther'?$t('StatisticAnalysis.ChartRelevance.chart_save_as'):$t('Dialog.confirm_save_btn')"
       @close="cancelHandle"
       custom-class="dialog savechart-dialog"
       center
@@ -14,19 +14,19 @@
         <el-form
           ref="diaForm"
           label-position="left"
-          label-width="80px"
+          label-width="120px"
           :model="form"
           :rules="formRules"
         >
-          <el-form-item label="图表名称" prop="name">
+          <el-form-item :label="$t('Chart.Detail.chart_name')" prop="name">
             <el-input
               v-model="form.name"
               style="width: 80%"
-              placeholder="必填项"
+              :placeholder="$t('Chart.Detail.chart_name')"
               clearable
             />
           </el-form-item>
-          <el-form-item label="图表分类" prop="classify">
+          <el-form-item :label="$t('Chart.Detail.chart_classify')" prop="classify">
             <el-cascader
               v-model="form.classify"
               :options="classifyOptions"
@@ -37,16 +37,16 @@
                 emitPath: false
               }"
               style="width: 80%"
-              placeholder="请选择所属分类"
+              :placeholder="$t('Edb.InputHolderAll.input_classify')"
             />
           </el-form-item>
         </el-form>
       </div>
       <div class="dia-bot">
         <el-button type="primary" style="margin-right: 20px" @click="saveHandle"
-          >保存</el-button
+          >{{$t('Dialog.confirm_save_btn')}}</el-button
         >
-        <el-button type="primary" plain @click="cancelHandle">取消</el-button>
+        <el-button type="primary" plain @click="cancelHandle">{{$t('Dialog.cancel_btn')}}</el-button>
       </div>
     </el-dialog>
 </template>

+ 13 - 13
src/views/chartRelevance_manage/components/saveEdbToBaseDia.vue

@@ -8,36 +8,36 @@
 		custom-class="dialog"
 		center
 		width="700px"
-    :title="saveScence==='saveOther' ? '指标另存为':'保存指标'"
+    :title="saveScence==='saveOther' ? $t('StatisticAnalysis.ChartRelevance.save_other'):$t('StatisticAnalysis.ChartRelevance.save_edb')"
 		v-dialogDrag>
 			<div class="dialog-main">
 				<el-form
 				ref="targetForm"
 				label-position="left"
-				label-width="80px"
+				label-width="120px"
 				hide-required-asterisk
 				:model="formData"
 				:rules="formRules">
-					<el-form-item label="指标名称" prop="edb_name">
+					<el-form-item :label="$t('Table.edb_name')" prop="edb_name">
 						<el-input
 						v-model="formData.edb_name"
 						style="width: 80%"
-						placeholder="指标名称"></el-input>
+						:placeholder="$t('Table.edb_name')"></el-input>
 					</el-form-item>
-					<el-form-item label="所属目录" prop="menu">
+					<el-form-item :label="$t('Edb.Detail.select_catalogue')" prop="menu">
 						<el-cascader
 						v-model="formData.menu"
 						:options="options"
 						:props="levelProps"
 						style="width: 80%"
 						clearable
-						placeholder="请选择所属目录"/>
+						:placeholder="$t('CustomAnalysisPage.select_appropriate_category')"/>
 					</el-form-item>
-					<el-form-item label="频率" prop="frequency">
-						<span slot="label">频&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;率</span>
+					<el-form-item :label="$t('Table.frequency')" prop="frequency">
+						<span slot="label">{{$t('Table.frequency')}}</span>
 						<el-select 
 						v-model="formData.frequency" 
-						placeholder="请选择频率" 
+						:placeholder="$t('CustomAnalysisPage.select_frequency')" 
 						style="width:80%"
 						clearable>
 							<el-option
@@ -48,8 +48,8 @@
 							</el-option>
 						</el-select>
 					</el-form-item>
-					<el-form-item label="单位" prop="unit">
-						<span slot="label">单&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;位</span>
+					<el-form-item :label="$t('Table.unit')" prop="unit">
+						<span slot="label">{{$t('Table.unit')}}</span>
 						<selectUnit 
 							v-model="formData.unit" 
 							style="width: 80%"
@@ -58,8 +58,8 @@
 				</el-form>
 			</div>
 			<div class="dia-bot">
-				<el-button type="primary" style="margin-right:20px" @click="addTarget">保存</el-button>
-				<el-button type="primary" plain @click="cancelHandle">取消</el-button>
+				<el-button type="primary" style="margin-right:20px" @click="addTarget">{{$t('Dialog.confirm_save_btn')}}</el-button>
+				<el-button type="primary" plain @click="cancelHandle">{{$t('Dialog.cancel_btn')}}</el-button>
 			</div>
 		</el-dialog>
 	</div>

+ 29 - 10
src/views/chartRelevance_manage/crossVarietyAnalysis/components/chartFormSection.vue

@@ -29,7 +29,7 @@
           />
         </el-select>
       </el-form-item>
-      <el-form-item label="百分位" prop="PercentType">
+      <el-form-item :label="$t('StatisticAnalysis.StatisticFeatureChart.percentile')" prop="PercentType">
         <el-select
           v-model="form.PercentType"
           style="width: 240px"
@@ -179,8 +179,27 @@ export default {
       return [
         { label: this.$t('StatisticAnalysis.CrossVarietyChart.latest_date')||'最新日期',val: 1 },
         { label: this.$t('StatisticAnalysis.CrossVarietyChart.n_day_before')||'N天前',val: 2 },
-        { label: '固定日期',val: 3 },
+        { label: this.$t('StatisticAnalysis.CrossVarietyChart.fixed_date')||'固定日期',val: 3 },
       ]
+    },
+    percentOptions(){
+      return [
+        { label: this.$t('StatisticAnalysis.StatisticFeatureChart.data_count')||'数据个数',val: 1 },
+        { label: this.$t('StatisticAnalysis.StatisticFeatureChart.data_area')||'数据区间',val: 0 },
+      ]
+    },
+    tips(){
+      if(this.$i18n.locale == 'zh'){
+        return {
+          'percent':`1、数据个数百分位算法:数据区间第一个(较远日期)和最后一个数据点(较近日期)分别为 (T1,S1),(T2,S2),T代表时间,S代表对应的值。个数百分位=(n-1)/(N-1) ,N=1时不计算, N=T1到T2时间段指标数据个数,n=小于等于S2的数据个数。<br>
+          2、数据区间百分位算法:对所选时间范围内的数据,取最大值Max,最小值Min,计算Max-Min,百分位=(现值-Min)/(Max-Min),Max=Min时不计算`
+        }
+      }else{
+        return {
+          'percent':`1. Data Count Percentile Algorithm: The first (earlier date) and last data points (more recent date) in the data interval are (T1, S1) and (T2, S2), respectively. T represents time. S represents the corresponding value; N = the number of indicator data points from T1 to T2. n = the number of data points less than or equal to S2. Count Percentile = (n-1) / (N-1), do not calculate when N=1.<br>
+          2. Data Range Percentile Algorithm: For the selected time range, take the maximum value Max and minimum value Min, calculate Max-Min, and then percentile = (current value - Min) / (Max - Min), do not calculate when Max=Min.`
+        }
+      }
     }
   },
   data() {
@@ -210,14 +229,14 @@ export default {
       //   { label: 'N天前',val: 2 },
       // ]
 
-      percentOptions: [
-        { label: '数据个数',val: 1 },
-        { label: '数据区间',val: 0 },
-      ],
-      tips: {
-        'percent':`1、数据个数百分位算法:数据区间第一个(较远日期)和最后一个数据点(较近日期)分别为 (T1,S1),(T2,S2)。T代表时间。S代表对应的值,N=T1到T2时间段指标数据个数。n=小于等于S2的数据个数。个数百分位=(n-1)/(N-1) ,N=1时不计算。<br>
-        2、数据区间百分位算法:对所选时间范围内的数据,取最大值Max,最小值Min,计算Max-Min,百分位=(现值-Min)/(Max-Min),Max=Min时不计算`
-      }
+      // percentOptions: [
+      //   { label: '数据个数',val: 1 },
+      //   { label: '数据区间',val: 0 },
+      // ],
+      // tips: {
+      //   'percent':`1、数据个数百分位算法:数据区间第一个(较远日期)和最后一个数据点(较近日期)分别为 (T1,S1),(T2,S2)。T代表时间。S代表对应的值,N=T1到T2时间段指标数据个数。n=小于等于S2的数据个数。个数百分位=(n-1)/(N-1) ,N=1时不计算。<br>
+      //   2、数据区间百分位算法:对所选时间范围内的数据,取最大值Max,最小值Min,计算Max-Min,百分位=(现值-Min)/(Max-Min),Max=Min时不计算`
+      // }
     };
   },
   methods: {

+ 3 - 1
src/views/chartRelevance_manage/crossVarietyAnalysis/components/tagSetDialog.vue

@@ -41,6 +41,8 @@
             <el-popconfirm
               :title="`${$t('StatisticAnalysis.CrossVarietyChart.del_msg')}${type==='tag'?$t('StatisticAnalysis.CrossVarietyChart.label_name'):$t('StatisticAnalysis.CrossVarietyChart.variety_name')}`"
               @onConfirm="closeItemHandle(item)"
+              :confirm-button-text="$t('Dialog.confirm_btn')"
+              :cancel-button-text="$t('Dialog.cancel_btn')"
             >
               <i
                 slot="reference"
@@ -120,7 +122,7 @@ export default {
         : await crossVarietyInterface.varietyDel({ChartVarietyId:item.id})
 
       if(res.Ret !== 200) return
-      this.$message.success('删除成功')
+      this.$message.success(this.$t('MsgPrompt.delete_msg'))
       
       this.refreshData()
     },

+ 1 - 1
src/views/chartRelevance_manage/crossVarietyAnalysis/list.vue

@@ -478,7 +478,7 @@ export default {
 
 			if(res.Ret !== 200) return
 
-			this.$message.success('保存成功')
+			this.$message.success(this.$t('MsgPrompt.saved_msg'))
 		},
 
 		/* 获取图表列表 */

+ 1 - 1
src/views/chartRelevance_manage/relevance/relevanceChartEditor.vue

@@ -737,7 +737,7 @@ export default {
 
     /* 保存完图表 */
     saveChartBack({source,id}) {
-      this.$message.success('保存成功');
+      this.$message.success(this.$t('MsgPrompt.saved_msg'));
       this.setButtonAuth(source);
       //封面图
       this.$refs[`chartCard`+source].setChartImage(source,id)

+ 28 - 9
src/views/chartRelevance_manage/statistic/statisticFeatureChartEditor.vue

@@ -109,7 +109,7 @@
             </el-tooltip> -->
           </div>
           <div class="section-item">
-            <span style="flex-shrink:0;min-width:70px">百分位:</span>
+            <span style="flex-shrink:0;min-width:70px">{{$t('StatisticAnalysis.StatisticFeatureChart.percentile')}}:</span>
             <el-select
               v-model="chartInfo.Percentile.PercentType"
               style="width: 120px"
@@ -356,6 +356,25 @@ export default {
           {label:this.$t('Edb.FreAll.day_min'),val:'天'},
       ]
     },
+    percentOptions(){
+      return [
+        { label: this.$t('StatisticAnalysis.StatisticFeatureChart.data_count')||'数据个数',val: 1 },
+        { label: this.$t('StatisticAnalysis.StatisticFeatureChart.data_area')||'数据区间',val: 0 },
+      ]
+    },
+    tips(){
+      if(this.$i18n.locale == 'zh'){
+        return {
+          'percent':`1、数据个数百分位算法:数据区间第一个(较远日期)和最后一个数据点(较近日期)分别为 (T1,S1),(T2,S2),T代表时间,S代表对应的值。个数百分位=(n-1)/(N-1) ,N=1时不计算, N=T1到T2时间段指标数据个数,n=小于等于S2的数据个数。<br>
+          2、数据区间百分位算法:对所选时间范围内的数据,取最大值Max,最小值Min,计算Max-Min,百分位=(现值-Min)/(Max-Min),Max=Min时不计算`
+        }
+      }else{
+        return {
+          'percent':`1. Data Count Percentile Algorithm: The first (earlier date) and last data points (more recent date) in the data interval are (T1, S1) and (T2, S2), respectively. T represents time. S represents the corresponding value; N = the number of indicator data points from T1 to T2. n = the number of data points less than or equal to S2. Count Percentile = (n-1) / (N-1), do not calculate when N=1.<br>
+          2. Data Range Percentile Algorithm: For the selected time range, take the maximum value Max and minimum value Min, calculate Max-Min, and then percentile = (current value - Min) / (Max - Min), do not calculate when Max=Min.`
+        }
+      }
+    }
   },
   data() {
     return {
@@ -429,14 +448,14 @@ export default {
         FrequencyDistribution: `在所选时间范围内,取最大值和最小值,根据频段数划分多个间距相同的区间(左闭右开,最后一个区间为左闭右闭),统计数据值落在每个区间的数据个数,频率=落在某区间数据个数/所选时间段内数据总个数,累计频率为从最小值所在区间对应的频率开始累加。`
       },
 
-      percentOptions: [
-        { label: '数据个数',val: 1 },
-        { label: '数据区间',val: 0 },
-      ],
-      tips: {
-        'percent':`1、数据个数百分位算法:数据区间第一个(较远日期)和最后一个数据点(较近日期)分别为 (T1,S1),(T2,S2),T代表时间,S代表对应的值。个数百分位=(n-1)/(N-1) ,N=1时不计算, N=T1到T2时间段指标数据个数,n=小于等于S2的数据个数。<br>
-        2、数据区间百分位算法:对所选时间范围内的数据,取最大值Max,最小值Min,计算Max-Min,百分位=(现值-Min)/(Max-Min),Max=Min时不计算`
-      },
+      // percentOptions: [
+      //   { label: '数据个数',val: 1 },
+      //   { label: '数据区间',val: 0 },
+      // ],
+      // tips: {
+      //   'percent':`1、数据个数百分位算法:数据区间第一个(较远日期)和最后一个数据点(较近日期)分别为 (T1,S1),(T2,S2),T代表时间,S代表对应的值。个数百分位=(n-1)/(N-1) ,N=1时不计算, N=T1到T2时间段指标数据个数,n=小于等于S2的数据个数。<br>
+      //   2、数据区间百分位算法:对所选时间范围内的数据,取最大值Max,最小值Min,计算Max-Min,百分位=(现值-Min)/(Max-Min),Max=Min时不计算`
+      // },
 
       /* 图表入库 */
       isSaveChartToBase: false,

+ 1 - 1
src/views/dataEntry_manage/databaseComponents/addTargetDiaBase.vue

@@ -174,7 +174,7 @@
           </table>
         </div>
 				<div class="dia-bot">
-					<el-button @click="wsdPrevHandle" style="width: 120px;"><!-- 上一步 -->{{$t('Edb.prev_step')}}</el-button>
+					<el-button @click="wsdPrevHandle" style="width: 120px;"><!-- 上一步 -->{{$t('Dialog.prev_step')}}</el-button>
 					<el-button type="primary" @click="wsdSaveHandle" style="width: 120px;margin-left: 50px;"><!-- 保存 -->{{$t('Dialog.confirm_save_btn')}}</el-button>
 				</div>
 			</template>

+ 1 - 1
src/views/dataEntry_manage/databaseComponents/completeTargetDia.vue

@@ -155,7 +155,7 @@ export default {
 					}
 					dataBaseInterface.targetAdd(params).then(res => {
 						if(res.Ret === 200) {
-							this.$message.success('新增指标成功!')
+							this.$message.success(/* '新增指标成功!' */this.$t('EtaBasePage.add_success_msg'))
 							this.formData = {}
 							this.$emit('addTargetCallback',{ code:res.Data.UniqueCode,id:res.Data.EdbInfoId,classifyId:params.ClassifyId })
 						}

+ 9 - 3
src/views/dataEntry_manage/databaseComponents/computedDialog.vue

@@ -14,7 +14,7 @@
 				:src="$icons.computed"
 				style="color: #fff; width: 16px; height: 16px; margin-right: 5px"
 			/>
-			<span style="font-size: 16px">{{ title }}</span>
+			<span style="font-size: 16px">{{ titleMap.get(title) }}</span>
 		</div>
 		<div class="dialog-main">
 			<ul class="add-cont">
@@ -72,7 +72,7 @@
 			<div class="computed-min">
 				<div class="computed-section" v-if="edbSource !== 'predict'">
 					<div>
-						<label class="label">生成指标时间序列</label>
+						<label class="label"><!-- 生成指标时间序列 -->{{$t('EtaBasePage.create_edb_time_index')}}</label>
 						<div style="width:200px;display: inline-block;">
 							<el-cascader
 								v-model="selectTimeSeriesVal"
@@ -474,7 +474,13 @@ export default {
 				'formula':`1、支持新增分段,实现不同分段使用不同的计算公式,若未新增分段,则所有日期序列用统一公式计算<br>
 				2、新增分段需配置新公式和时间节点,在时间节点之前(不含)使用新公式,在时间节点之后(含)使用已配置公式,每个分段公式支持修改<br>
 				3、分段时间节点不允许重复,不允许超出第一个指标的日期区间`
-			}
+			},
+
+			titleMap: new Map([
+				['计算指标',this.$t('EtaBasePage.calculate_title')],
+				['编辑计算指标',this.$t('EtaBasePage.calculate_edit_title')],
+				['查看计算指标',this.$t('EtaBasePage.calculate_view_title')],
+			])
 
 		};
 	},

+ 1 - 1
src/views/dataEntry_manage/databaseComponents/util.js

@@ -329,7 +329,7 @@ export const formulaTip = new Map([
 // wind 日期序列常见指标代码
 export const windCommonIndexCodeArr=[
 	{value:'pre_close',label:bus.$i18nt.t('EtaBasePage.pre_price')},
-	{value:'open',label:bus.$i18nt.t('EtaBasePage.pre_price')/* "开盘价" */},
+	{value:'open',label:bus.$i18nt.t('EtaBasePage.op_price')/* "开盘价" */},
 	{value:'high',label:bus.$i18nt.t('EtaBasePage.high_price')/* "最高价" */},
 	{value:'low',label:bus.$i18nt.t('EtaBasePage.low_price')/* "最低价" */},
 	{value:'close',label:bus.$i18nt.t('EtaBasePage.close_price')/* "收盘价" */},

+ 7 - 7
src/views/dataEntry_manage/databaseList.vue

@@ -1498,24 +1498,24 @@ export default {
 					 * 2 有子目录无指标
 					*/
 					const deleteLabelMap = {
-						1: '该目录关联指标不可删除',
-						2: '确认删除当前目录及包含的子目录吗?',
-						3: '当前指标已用作画图,不可删除',
+						1: /* '该目录关联指标不可删除' */this.$t('Edb.MsgPrompt.del_not_relate_edb'),
+						2: /* '确认删除当前目录及包含的子目录吗?' */this.$t('Edb.MsgPrompt.del_confirm_menu_or_children'),
+						3: /* '当前指标已用作画图,不可删除' */this.$t('Edb.MsgPrompt.del_edb_use_chart'),
 						4: res.Data.TipsMsg
 					}
 
 					if([1,3,4].includes(res.Data.DeleteStatus)) this.$confirm(
 							deleteLabelMap[res.Data.DeleteStatus],
-							'删除失败',
+							/* '删除失败' */this.$t('Edb.MsgPrompt.del_failed'),
 							{
-							confirmButtonText: '知道了',
+							confirmButtonText:/*  '知道了' */this.$t('Dialog.known'),
 							showCancelButton:false,
 							type: 'error'
 						})
 					else if([0,2].includes(res.Data.DeleteStatus)) this.$confirm(
 							res.Data.DeleteStatus === 2 
 							? deleteLabelMap[res.Data.DeleteStatus]
-							: data.EdbCode?'删除后指标和指标值均不可使用,确认删除吗?':'确定删除当前目录吗?', 
+							: data.EdbCode? this.$t('Edb.MsgPrompt.del_edb_confirm')/* '删除后指标和指标值均不可使用,确认删除吗?' */:/* '确定删除当前目录吗?' */this.$t('Edb.MsgPrompt.del_menu_confirm'), 
 							/* '提示' */this.$t('Dialog.warn_tit'),
 							{
 							confirmButtonText: /* '确定' */this.$t('Dialog.confirm_btn'),
@@ -1536,7 +1536,7 @@ export default {
 				EdbInfoId
 			}).then(res => {
 				if(res.Ret === 200) {
-					this.$message.success(res.Msg);
+					this.$message.success(this.$t('MsgPrompt.delete_msg'));
 					this.getTreeData();
 					this.selected_edbid = 0;
 					this.deleteLabel({code:this.select_node,id:EdbInfoId,classifyId:ClassifyId})

+ 1 - 1
src/views/futures_manage/chartEditor.vue

@@ -74,7 +74,7 @@
 						<el-input
 							v-model="chartInfo.ChartName"
 							style="width: 90%"
-							placeholder="必填项"
+							:placeholder="$t('Dialog.require_vaild')"
 							clearable
 						/>
 					</el-form-item>

+ 5 - 5
src/views/positionAnalysis_manage/components/chartBox.vue

@@ -31,7 +31,7 @@
     <!-- 详情弹窗 -->
     <el-dialog
       :visible.sync="showDetailDia"
-      title="详情"
+      :title="$t('AprrovalPage.details_table')"
       :width="500"
       draggable
       :close-on-click-modal="false"
@@ -42,11 +42,11 @@
         <h2 class="title">{{ showDetailData.DealShortName }}</h2>
         <div class="table-box">
           <div class="item">
-            <div>{{ showDetailData.TypeName }}</div>
+            <div>{{$t('ToolBox.PositionAnalysis.held')}}{{ showDetailData.TypeName }}</div>
             <div>{{ showDetailData.DealValue }}</div>
           </div>
           <div class="item">
-            <div>增减</div>
+            <div>{{$t('ToolBox.PositionAnalysis.increase')}}{{$t('ToolBox.PositionAnalysis.decrease')}}</div>
             <div>{{ showDetailData.DealChange }}</div>
           </div>
           <div class="item">
@@ -58,7 +58,7 @@
             <div>{{ showDetailData.BeforeAllValue }}</div>
           </div>
           <div class="item">
-            <div>增减</div>
+            <div>{{$t('ToolBox.PositionAnalysis.increase')}}{{$t('ToolBox.PositionAnalysis.decrease')}}</div>
             <div>{{ showDetailData.BeforeAllChange }}</div>
           </div>
           <div class="item">
@@ -66,7 +66,7 @@
             <div>{{ (showDetailData.BeforeAllRate * 100).toFixed(2) }}%</div>
           </div>
         </div>
-        <div class="close-btn" @click="showDetailDia = false">知道了</div>
+        <div class="close-btn" @click="showDetailDia = false">{{$t('Dialog.known')}}</div>
       </div>
     </el-dialog>
   </div>

+ 15 - 15
src/views/predictEdb_manage/components/operationDialog.vue

@@ -389,20 +389,20 @@ export default {
 				[70,this.$t('Edb.CalculatesAll.percent')],/* 百分比 */
 			]),//标题
 			saveBtnMap: new Map([
-				[42,'转月值计算'],
-				[32,'同比值计算'],
-				[33,'同差值计算'],
-				[39,'移动平均计算'],
-				[43,'环比值计算'],
-				[44,'环差值计算'],
-				[45,'升频计算'],
-				[46,'保存'],
-				[49,'超季节性计算'],
-				[55,'年化计算'],
-				[54,'降频计算'],
-				[64,'转季值计算'],
-				[65,'累计值计算'],
-				[66,'年初至今计算'],
+				[42,/* '转月值计算' */this.$t('Edb.CalculateBtns.to_month')],
+				[32,/* '同比值计算' */this.$t('Edb.CalculateBtns.on_year')],
+				[33,/* '同差值计算' */this.$t('Edb.CalculateBtns.differ')],
+				[39,/* '移动平均计算' */this.$t('Edb.CalculateBtns.n_move_average')],
+				[43,/* '环比值计算' */this.$t('Edb.CalculateBtns.n_rate')],
+				[44,/* '环差值计算' */this.$t('Edb.CalculateBtns.n_differ')],
+				[45,/* '升频计算' */this.$t('Edb.CalculateBtns.up_conver')],
+				[46,/* '保存' */this.$t('Dialog.confirm_save_btn')],
+				[49,/* '超季节性计算' */this.$t('Edb.CalculateBtns.super_season')],
+				[55,/* '年化计算' */this.$t('Edb.CalculateBtns.annual')],
+				[54,/* '降频计算' */this.$t('Edb.CalculateBtns.down_conver')],
+				[64,/* '转季值计算' */this.$t('Edb.CalculateBtns.to_quarter')],
+				[65,/* '累计值计算' */this.$t('Edb.CalculateBtns.cumulate')],
+				[66,/* '年初至今计算' */this.$t('Edb.CalculateBtns.cumulate_oneyear')],
 			]),//保存文案
 			formData: {
 				targetName:'',
@@ -589,7 +589,7 @@ export default {
 		},
 		/* 保存 */
 		async saveHandle() {
-			if(!this.select_target) return this.$message.warning('指标不能为空')
+			if(!this.select_target) return this.$message.warning(/* '指标不能为空'  */this.$t('Edb.Valids.no_edb'))
 
 				// return
 				await this.$refs.form.validate()

+ 7 - 9
src/views/predictEdb_manage/predictEdb.vue

@@ -959,28 +959,26 @@ export default {
 			 * 2 有子目录无指标
 			*/
 			const deleteLabelMap = {
-				1: '该目录关联指标不可删除',
-				2: '确认删除当前目录及包含的子目录吗?',
-				3: '当前指标已用作画图,不可删除',
+				1: /* '该目录关联指标不可删除' */this.$t('Edb.MsgPrompt.del_not_relate_edb'),
+				2: /* '确认删除当前目录及包含的子目录吗?' */this.$t('Edb.MsgPrompt.del_confirm_menu_or_children'),
+				3: /* '当前指标已用作画图,不可删除' */this.$t('Edb.MsgPrompt.del_edb_use_chart'),
 				4: TipsMsg
 			}
 
 			if([1,3,4].includes(DeleteStatus)) this.$confirm(
 					deleteLabelMap[DeleteStatus],
-					'删除失败',
+					/* '删除失败' */this.$t('Edb.MsgPrompt.del_failed'),
 					{
-					confirmButtonText: '知道了',
+					confirmButtonText: /*  '知道了' */this.$t('Dialog.known'),
 					showCancelButton:false,
 					type: 'error'
 				})
 			else if([0,2].includes(DeleteStatus)) this.$confirm(
 					DeleteStatus === 2 
 					? deleteLabelMap[DeleteStatus]
-					: EdbInfoId?'删除后指标和指标值均不可使用,确认删除吗?':'确定删除当前目录吗?', 
-					'提示',
+					: EdbInfoId?this.$t('Edb.MsgPrompt.del_edb_confirm')/* '删除后指标和指标值均不可使用,确认删除吗?' */:/* '确定删除当前目录吗?' */this.$t('Edb.MsgPrompt.del_menu_confirm'), 
+					/* '提示' */this.$t('Dialog.warn_tit'),
 					{
-					confirmButtonText: '确定',
-					cancelButtonText: '取消',
 					type: 'warning'
 				}).then(() => {
 					this.delApi(ClassifyId, EdbInfoId)

+ 1 - 1
src/views/sandbox_manage/index_new_version.vue

@@ -988,7 +988,7 @@ import { myGraph } from './common/gragh';
                 return;
               }
               this.lockLoding.close();
-              this.$message.success("另存为成功")
+              this.$message.success(this.$t('SandboxManage.SandList.save_as_success'))
               //沙盘图详情
               this.getSandboxDetailFun(sandData.SandboxId)
 

+ 6 - 6
src/views/supply_manage/components/plantTable.vue

@@ -39,7 +39,7 @@
               <el-input
                 v-model="row.FactoryName"
                 class="large-sty"
-                placeholder="请输入工厂"
+                :placeholder="$t('SupplyAnalysis.StockPlant.placeholder05')"
                 @change="saveHandle(row)"
               />
             </span>
@@ -48,7 +48,7 @@
               <el-input
                 v-model="row.PlantName"
                 class="large-sty"
-                placeholder="请输入装置/产线"
+                :placeholder="$t('SupplyAnalysis.StockPlant.placeholder06')"
                 @change="saveHandle(row)"
               />
             </span>
@@ -58,7 +58,7 @@
                 v-model="row.AnnualCapacity"
                 type="number"
                 class="large-sty"
-                placeholder="请输入年产能"
+                :placeholder="$t('SupplyAnalysis.StockPlant.placeholder07')"
                 @change="changeParams(row)"
               />
             </span>
@@ -68,7 +68,7 @@
                 v-model="row.MaintenanceDate"
                 type="date"
                 value-format="yyyy-MM-dd"
-                placeholder="检修日期"
+                :placeholder="$t('SupplyAnalysis.StockPlant.edit_table_col05')"
                 @change="changeDate(row)"
                 style="width: 140px"
               />
@@ -79,11 +79,11 @@
                 v-model="row.ResumptionDate"
                 type="date"
                 value-format="yyyy-MM-dd"
-                placeholder="复产日期"
+                :placeholder="$t('SupplyAnalysis.StockPlant.edit_table_col06')"
                 style="width: 140px"
                 @change="() => {row.IsStop=0;changeDate(row)}  "
               />
-              <el-checkbox v-model="row.IsStop" @change="changeStopStatus($event,row)" :true-label="1" :false-label="0">退市</el-checkbox>
+              <el-checkbox v-model="row.IsStop" @change="changeStopStatus($event,row)" :true-label="1" :false-label="0">{{$t('SupplyAnalysis.StockPlant.delist')}}</el-checkbox>
             </span>
             <!-- 降负系数 -->
             <span v-else-if="item.key==='Coefficient'">