getLangText.mjs

import get from 'lodash-es/get.js'


let en = {

    // Set Filter
    selectAll: '(Select All)',
    selectAllSearchResults: '(Select All Search Results)',
    searchOoo: 'Search...',
    blanks: '(Blanks)',
    noMatches: 'No matches',

    // Number Filter & Text Filter
    filterOoo: 'Filter...',
    equals: 'Equals',
    notEqual: 'Not equal',
    blank: 'Blank',
    notBlank: 'Not blank',
    empty: 'Choose One',

    // Number Filter
    lessThan: 'Less than',
    greaterThan: 'Greater than',
    lessThanOrEqual: 'Less than or equal',
    greaterThanOrEqual: 'Greater than or equal',
    inRange: 'In range',
    inRangeStart: 'from',
    inRangeEnd: 'to',

    // Text Filter
    contains: 'Contains',
    notContains: 'Not contains',
    startsWith: 'Starts with',
    endsWith: 'Ends with',

    // Date Filter
    dateFormatOoo: 'yyyy-mm-dd',

    // Filter Conditions
    andCondition: 'AND',
    orCondition: 'OR',

    // Filter Buttons
    applyFilter: 'Apply',
    resetFilter: 'Reset',
    clearFilter: 'Clear',
    cancelFilter: 'Cancel',

    // Filter Titles
    textFilter: 'Text Filter',
    numberFilter: 'Number Filter',
    dateFilter: 'Date Filter',
    setFilter: 'Set Filter',

    // Group Column Filter
    groupFilterSelect: 'Select field:',

    // Advanced Filter
    advancedFilterContains: 'contains',
    advancedFilterNotContains: 'does not contain',
    advancedFilterTextEquals: 'equals',
    advancedFilterTextNotEqual: 'does not equal',
    advancedFilterStartsWith: 'starts with',
    advancedFilterEndsWith: 'ends with',
    advancedFilterBlank: 'is blank',
    advancedFilterNotBlank: 'is not blank',
    advancedFilterEquals: '=',
    advancedFilterNotEqual: '!=',
    advancedFilterGreaterThan: '>',
    advancedFilterGreaterThanOrEqual: '>=',
    advancedFilterLessThan: '<',
    advancedFilterLessThanOrEqual: '<=',
    advancedFilterTrue: 'is true',
    advancedFilterFalse: 'is false',
    advancedFilterAnd: 'AND',
    advancedFilterOr: 'OR',
    advancedFilterApply: 'Apply',
    advancedFilterValidationMissingColumn: 'Column is missing',
    advancedFilterValidationMissingOption: 'Option is missing',
    advancedFilterValidationMissingValue: 'Value is missing',
    advancedFilterValidationInvalidColumn: 'Column not found',
    advancedFilterValidationInvalidOption: 'Option not found',
    advancedFilterValidationMissingQuote: 'Value is missing an end quote',
    advancedFilterValidationNotANumber: 'Value is not a number',
    advancedFilterValidationMissingCondition: 'Condition is missing',
    advancedFilterValidationJoinOperatorMismatch: 'Join operators within a condition must be the same',
    advancedFilterValidationInvalidJoinOperator: 'Join operator not found',
    advancedFilterValidationMissingEndBracket: 'Missing end bracket',
    advancedFilterValidationExtraEndBracket: 'Too many end brackets',
    advancedFilterValidationMessage: 'Expression has an error. ${variable1} - ${variable2}.',
    advancedFilterValidationMessageAtEnd: 'Expression has an error. ${variable} at end of expression.',

    // Side Bar
    columns: 'Columns',
    filters: 'Filters',

    // columns tool panel
    pivotMode: 'Pivot Mode',
    groups: 'Row Groups',
    rowGroupColumnsEmptyMessage: 'Drag here to set row groups',
    values: 'Values',
    valueColumnsEmptyMessage: 'Drag here to aggregate',
    pivots: 'Column Labels',
    pivotColumnsEmptyMessage: 'Drag here to set column labels',

    // Header of the Default Group Column
    group: 'Group',

    // Row Drag
    rowDragRow: 'row',
    rowDragRows: 'rows',

    // Other
    loadingOoo: 'Loading...',
    loadingError: 'ERR',
    noRowsToShow: 'No Rows To Show',
    enabled: 'Enabled',

    // Menu
    pinColumn: 'Pin Column',
    pinLeft: 'Pin Left',
    pinRight: 'Pin Right',
    noPin: 'No Pin',
    valueAggregation: 'Value Aggregation',
    noAggregation: 'None',
    autosizeThiscolumn: 'Autosize This Column',
    autosizeAllColumns: 'Autosize All Columns',
    groupBy: 'Group by',
    ungroupBy: 'Un-Group by',
    ungroupAll: 'Un-Group All',
    addToValues: 'Add ${variable} to values',
    removeFromValues: 'Remove ${variable} from values',
    addToLabels: 'Add ${variable} to labels',
    removeFromLabels: 'Remove ${variable} from labels',
    resetColumns: 'Reset Columns',
    expandAll: 'Expand All Row Groups',
    collapseAll: 'Close All Row Groups',
    copy: 'Copy',
    ctrlC: 'Ctrl+C',
    ctrlX: 'Ctrl+X',
    copyWithHeaders: 'Copy With Headers',
    copyWithGroupHeaders: 'Copy with Group Headers',
    cut: 'Cut',
    paste: 'Paste',
    ctrlV: 'Ctrl+V',
    export: 'Export',
    csvExport: 'CSV Export',
    excelExport: 'Excel Export',

    // Enterprise Menu Aggregation and Status Bar
    sum: 'Sum',
    first: 'First',
    last: 'Last',
    min: 'Min',
    max: 'Max',
    none: 'None',
    count: 'Count',
    avg: 'Average',
    filteredRows: 'Filtered',
    selectedRows: 'Selected',
    totalRows: 'Total Rows',
    totalAndFilteredRows: 'Rows',
    more: 'More',
    to: 'to',
    of: 'of',
    page: 'Page',
    pageLastRowUnknown: '?',
    nextPage: 'Next Page',
    lastPage: 'Last Page',
    firstPage: 'First Page',
    previousPage: 'Previous Page',

    // Pivoting
    pivotColumnGroupTotals: 'Total',

    // Enterprise Menu (Charts)
    pivotChartAndPivotMode: 'Pivot Chart & Pivot Mode',
    pivotChart: 'Pivot Chart',
    chartRange: 'Chart Range',

    columnChart: 'Column',
    groupedColumn: 'Grouped',
    stackedColumn: 'Stacked',
    normalizedColumn: '100% Stacked',

    barChart: 'Bar',
    groupedBar: 'Grouped',
    stackedBar: 'Stacked',
    normalizedBar: '100% Stacked',

    pieChart: 'Pie',
    pie: 'Pie',
    doughnut: 'Doughnut',

    line: 'Line',

    xyChart: 'X Y (Scatter)',
    scatter: 'Scatter',
    bubble: 'Bubble',

    areaChart: 'Area',
    area: 'Area',
    stackedArea: 'Stacked',
    normalizedArea: '100% Stacked',

    histogramChart: 'Histogram',
    histogramFrequency: 'Frequency',

    combinationChart: 'Combination',
    columnLineCombo: 'Column & Line',
    AreaColumnCombo: 'Area & Column',

    // Charts
    pivotChartTitle: 'Pivot Chart',
    rangeChartTitle: 'Range Chart',
    settings: 'Settings',
    data: 'Data',
    format: 'Format',
    categories: 'Categories',
    defaultCategory: '(None)',
    series: 'Series',
    xyValues: 'X Y Values',
    paired: 'Paired Mode',
    axis: 'Axis',
    navigator: 'Navigator',
    color: 'Color',
    thickness: 'Thickness',
    xType: 'X Type',
    automatic: 'Automatic',
    category: 'Category',
    number: 'Number',
    time: 'Time',
    autoRotate: 'Auto Rotate',
    xRotation: 'X Rotation',
    yRotation: 'Y Rotation',
    ticks: 'Ticks',
    width: 'Width',
    height: 'Height',
    length: 'Length',
    padding: 'Padding',
    spacing: 'Spacing',
    chart: 'Chart',
    title: 'Title',
    titlePlaceholder: 'Chart title - double click to edit',
    background: 'Background',
    font: 'Font',
    top: 'Top',
    right: 'Right',
    bottom: 'Bottom',
    left: 'Left',
    labels: 'Labels',
    size: 'Size',
    minSize: 'Minimum Size',
    maxSize: 'Maximum Size',
    legend: 'Legend',
    position: 'Position',
    markerSize: 'Marker Size',
    markerStroke: 'Marker Stroke',
    markerPadding: 'Marker Padding',
    itemSpacing: 'Item Spacing',
    itemPaddingX: 'Item Padding X',
    itemPaddingY: 'Item Padding Y',
    layoutHorizontalSpacing: 'Horizontal Spacing',
    layoutVerticalSpacing: 'Vertical Spacing',
    strokeWidth: 'Stroke Width',
    lineDash: 'Line Dash',
    offset: 'Offset',
    offsets: 'Offsets',
    tooltips: 'Tooltips',
    callout: 'Callout',
    markers: 'Markers',
    shadow: 'Shadow',
    blur: 'Blur',
    xOffset: 'X Offset',
    yOffset: 'Y Offset',
    lineWidth: 'Line Width',
    normal: 'Normal',
    bold: 'Bold',
    italic: 'Italic',
    boldItalic: 'Bold Italic',
    predefined: 'Predefined',
    fillOpacity: 'Fill Opacity',
    strokeOpacity: 'Line Opacity',
    histogramBinCount: 'Bin count',
    columnGroup: 'Column',
    barGroup: 'Bar',
    pieGroup: 'Pie',
    lineGroup: 'Line',
    scatterGroup: 'X Y (Scatter)',
    areaGroup: 'Area',
    histogramGroup: 'Histogram',
    combinationGroup: 'Combination',
    groupedColumnTooltip: 'Grouped',
    stackedColumnTooltip: 'Stacked',
    normalizedColumnTooltip: '100% Stacked',
    groupedBarTooltip: 'Grouped',
    stackedBarTooltip: 'Stacked',
    normalizedBarTooltip: '100% Stacked',
    pieTooltip: 'Pie',
    doughnutTooltip: 'Doughnut',
    lineTooltip: 'Line',
    groupedAreaTooltip: 'Area',
    stackedAreaTooltip: 'Stacked',
    normalizedAreaTooltip: '100% Stacked',
    scatterTooltip: 'Scatter',
    bubbleTooltip: 'Bubble',
    histogramTooltip: 'Histogram',
    columnLineComboTooltip: 'Column & Line',
    areaColumnComboTooltip: 'Area & Column',
    customComboTooltip: 'Custom Combination',
    noDataToChart: 'No data available to be charted.',
    pivotChartRequiresPivotMode: 'Pivot Chart requires Pivot Mode enabled.',
    chartSettingsToolbarTooltip: 'Menu',
    chartLinkToolbarTooltip: 'Linked to Grid',
    chartUnlinkToolbarTooltip: 'Unlinked from Grid',
    chartDownloadToolbarTooltip: 'Download Chart',
    seriesChartType: 'Series Chart Type',
    seriesType: 'Series Type',
    secondaryAxis: 'Secondary Axis',

    // ARIA
    ariaAdvancedFilterInput: 'Advanced Filter Input',
    ariaChecked: 'checked',
    ariaColumn: 'Column',
    ariaColumnGroup: 'Column Group',
    ariaColumnList: 'Column List',
    ariaColumnSelectAll: 'Toggle Select All Columns',
    ariaDateFilterInput: 'Date Filter Input',
    ariaDefaultListName: 'List',
    ariaFilterColumnsInput: 'Filter Columns Input',
    ariaFilterFromValue: 'Filter from value',
    ariaFilterInput: 'Filter Input',
    ariaFilterList: 'Filter List',
    ariaFilterToValue: 'Filter to value',
    ariaFilterValue: 'Filter Value',
    ariaFilterMenuOpen: 'Open Filter Menu',
    ariaFilteringOperator: 'Filtering Operator',
    ariaHidden: 'hidden',
    ariaIndeterminate: 'indeterminate',
    ariaInputEditor: 'Input Editor',
    ariaMenuColumn: 'Press CTRL ENTER to open column menu.',
    ariaRowDeselect: 'Press SPACE to deselect this row',
    ariaRowSelectAll: 'Press Space to toggle all rows selection',
    ariaRowToggleSelection: 'Press Space to toggle row selection',
    ariaRowSelect: 'Press SPACE to select this row',
    ariaSearch: 'Search',
    ariaSortableColumn: 'Press ENTER to sort',
    ariaToggleVisibility: 'Press SPACE to toggle visibility',
    ariaToggleCellValue: 'Press SPACE to toggle cell value',
    ariaUnchecked: 'unchecked',
    ariaVisible: 'visible',
    ariaSearchFilterValues: 'Search filter values',

    // ARIA Labels for Drop Zones
    ariaRowGroupDropZonePanelLabel: 'Row Groups',
    ariaValuesDropZonePanelLabel: 'Values',
    ariaPivotDropZonePanelLabel: 'Column Labels',
    ariaDropZoneColumnComponentDescription: 'Press DELETE to remove',
    ariaDropZoneColumnValueItemDescription: 'Press ENTER to change the aggregation type',
    ariaDropZoneColumnGroupItemDescription: 'Press ENTER to sort',
    // used for aggregate drop zone, format: {aggregation}{ariaDropZoneColumnComponentAggFuncSeparator}{column name}
    ariaDropZoneColumnComponentAggFuncSeparator: ' of ',
    ariaDropZoneColumnComponentSortAscending: 'ascending',
    ariaDropZoneColumnComponentSortDescending: 'descending',

    // ARIA Labels for Dialogs
    ariaLabelColumnMenu: 'Column Menu',
    ariaLabelCellEditor: 'Cell Editor',
    ariaLabelDialog: 'Dialog',
    ariaLabelSelectField: 'Select Field',
    ariaLabelRichSelectField: 'Rich Select Field',
    ariaLabelTooltip: 'Tooltip',
    ariaLabelContextMenu: 'Context Menu',
    ariaLabelSubMenu: 'SubMenu',
    ariaLabelAggregationFunction: 'Aggregation Function',
    ariaLabelAdvancedFilterAutocomplete: 'Advanced Filter Autocomplete',

    // Number Format (Status Bar, Pagination Panel)
    thousandSeparator: ',',
    decimalSeparator: '.',

    // Data types
    true: 'True',
    false: 'False',
    invalidDate: 'Invalid Date',
    invalidNumber: 'Invalid Number',
    january: 'January',
    february: 'February',
    march: 'March',
    april: 'April',
    may: 'May',
    june: 'June',
    july: 'July',
    august: 'August',
    september: 'September',
    october: 'October',
    november: 'November',
    december: 'December',

}


let zhTW = {

    // 設定篩選器
    selectAll: '(全選)',
    selectAllSearchResults: '(選擇所有搜尋結果)',
    searchOoo: '搜尋...',
    blanks: '(空白)',
    noMatches: '無符合項目',

    // 數字篩選器和文字篩選器
    filterOoo: '篩選...',
    equals: '等於',
    notEqual: '不等於',
    blank: '空白',
    notBlank: '非空白',
    empty: '選擇一項',

    // 數字篩選器
    lessThan: '小於',
    greaterThan: '大於',
    lessThanOrEqual: '小於等於',
    greaterThanOrEqual: '大於等於',
    inRange: '在範圍內',
    inRangeStart: '從',
    inRangeEnd: '到',

    // 文字篩選器
    contains: '包含',
    notContains: '不包含',
    startsWith: '開始於',
    endsWith: '結束於',

    // 日期篩選器
    dateFormatOoo: 'yyyy-mm-dd',

    // 篩選條件
    andCondition: '且',
    orCondition: '或',

    // 篩選按鈕
    applyFilter: '套用',
    resetFilter: '重設',
    clearFilter: '清除',
    cancelFilter: '取消',

    // 篩選標題
    textFilter: '文字篩選',
    numberFilter: '數字篩選',
    dateFilter: '日期篩選',
    setFilter: '設定篩選',

    // 分組欄位篩選
    groupFilterSelect: '選擇欄位:',

    // 進階篩選
    advancedFilterContains: '包含',
    advancedFilterNotContains: '不包含',
    advancedFilterTextEquals: '等於',
    advancedFilterTextNotEqual: '不等於',
    advancedFilterStartsWith: '開始於',
    advancedFilterEndsWith: '結束於',
    advancedFilterBlank: '空白',
    advancedFilterNotBlank: '非空白',
    advancedFilterEquals: '=',
    advancedFilterNotEqual: '!=',
    advancedFilterGreaterThan: '>',
    advancedFilterGreaterThanOrEqual: '>=',
    advancedFilterLessThan: '<',
    advancedFilterLessThanOrEqual: '<=',
    advancedFilterTrue: '為真',
    advancedFilterFalse: '為假',
    advancedFilterAnd: '且',
    advancedFilterOr: '或',
    advancedFilterApply: '套用',
    advancedFilterValidationMissingColumn: '缺少欄位',
    advancedFilterValidationMissingOption: '缺少選項',
    advancedFilterValidationMissingValue: '缺少值',
    advancedFilterValidationInvalidColumn: '找不到該欄位',
    advancedFilterValidationInvalidOption: '找不到該選項',
    advancedFilterValidationMissingQuote: '缺少結尾引號',
    advancedFilterValidationNotANumber: '值不是一個數字',
    advancedFilterValidationMissingCondition: '缺少條件',
    advancedFilterValidationJoinOperatorMismatch: '在一個條件中的連接運算子必須相同',
    advancedFilterValidationInvalidJoinOperator: '找不到連接運算子',
    advancedFilterValidationMissingEndBracket: '缺少結尾括號',
    advancedFilterValidationExtraEndBracket: '結尾括號過多',
    advancedFilterValidationMessage: '運算式有誤。${variable1} - ${variable2}。',
    advancedFilterValidationMessageAtEnd: '運算式有誤。運算式結尾的${variable}。',

    // 側邊欄
    columns: '欄位',
    filters: '篩選器',

    // 欄位工具面板
    pivotMode: '樞紐模式',
    groups: '列分組',
    rowGroupColumnsEmptyMessage: '拖曳至此以設定列分組',
    values: '值',
    valueColumnsEmptyMessage: '拖曳至此以聚合',
    pivots: '欄標籤',
    pivotColumnsEmptyMessage: '拖曳至此以設定欄標籤',

    // 預設的群組欄位標題
    group: '群組',

    // 列拖曳
    rowDragRow: '列',
    rowDragRows: '列',

    // 其他
    loadingOoo: '載入中...',
    loadingError: '錯誤',
    noRowsToShow: '無資料可顯示',
    enabled: '啟用',

    // 選單
    pinColumn: '固定欄位',
    pinLeft: '固定於左',
    pinRight: '固定於右',
    noPin: '取消固定',
    valueAggregation: '值彙總',
    noAggregation: '無',
    autosizeThiscolumn: '自動調整此欄寬',
    autosizeAllColumns: '自動調整所有欄寬',
    groupBy: '分組依據',
    ungroupBy: '取消分組',
    ungroupAll: '取消全部分組',
    addToValues: '新增 ${variable} 至數值',
    removeFromValues: '從數值中移除 ${variable}',
    addToLabels: '新增 ${variable} 至標籤',
    removeFromLabels: '從標籤中移除 ${variable}',
    resetColumns: '重設欄位',
    expandAll: '展開所有資料群組',
    collapseAll: '關閉所有資料群組',
    copy: '複製',
    ctrlC: 'Ctrl+C',
    ctrlX: 'Ctrl+X',
    copyWithHeaders: '複製並包含標題',
    copyWithGroupHeaders: '複製並包含群組標題',
    cut: '剪下',
    paste: '貼上',
    ctrlV: 'Ctrl+V',
    export: '匯出',
    csvExport: 'CSV 匯出',
    excelExport: 'Excel 匯出',

    // 資料分析和狀態列
    sum: '總和',
    first: '第一',
    last: '最後',
    min: '最小',
    max: '最大',
    none: '無',
    count: '計數',
    avg: '平均',
    filteredRows: '篩選的資料',
    selectedRows: '選取的資料',
    totalRows: '總資料筆數',
    totalAndFilteredRows: '資料筆數',
    more: '更多',
    to: '到',
    of: '的',
    page: '頁',
    pageLastRowUnknown: '?',
    nextPage: '下一頁',
    lastPage: '最後一頁',
    firstPage: '第一頁',
    previousPage: '前一頁',

    // 透視
    pivotColumnGroupTotals: '總計',

    // 企業選單(圖表)
    pivotChartAndPivotMode: '樞紐圖表與樞紐模式',
    pivotChart: '樞紐圖表',
    chartRange: '圖表範圍',

    columnChart: '柱狀圖',
    groupedColumn: '分組',
    stackedColumn: '堆疊',
    normalizedColumn: '100% 堆疊',

    barChart: '長條圖',
    groupedBar: '分組',
    stackedBar: '堆疊',
    normalizedBar: '100% 堆疊',

    pieChart: '圓餅圖',
    pie: '圓餅',
    doughnut: '環狀圓餅',

    line: '折線圖',

    xyChart: 'X Y (散佈)',
    scatter: '散佈',
    bubble: '氣泡圖',

    areaChart: '區域圖',
    area: '區域',
    stackedArea: '堆疊',
    normalizedArea: '100% 堆疊',

    histogramChart: '直方圖',
    histogramFrequency: '頻率',

    combinationChart: '混合圖',
    columnLineCombo: '柱狀圖與折線圖',
    AreaColumnCombo: '區域圖與柱狀圖',

    // 圖表
    // ...略

    // ARIA
    // ...略

    // ARIA Drop Zones 的標籤
    // ...略

    // ARIA 對話框的標籤
    // ...略

    // 數字格式(狀態列、分頁面板)
    thousandSeparator: ',',
    decimalSeparator: '.',

    // 資料類型
    true: '是',
    false: '否',
    invalidDate: '無效日期',
    invalidNumber: '無效數字',
    january: '一月',
    february: '二月',
    march: '三月',
    april: '四月',
    may: '五月',
    june: '六月',
    july: '七月',
    august: '八月',
    september: '九月',
    october: '十月',
    november: '十一月',
    december: '十二月',

}


let zhCn = {

    // 设定筛选器
    selectAll: '(全选)',
    selectAllSearchResults: '(选择所有搜寻结果)',
    searchOoo: '搜寻...',
    blanks: '(空白)',
    noMatches: '无符合项目',

    // 数字筛选器和文字筛选器
    filterOoo: '筛选...',
    equals: '等于',
    notEqual: '不等于',
    blank: '空白',
    notBlank: '非空白',
    empty: '选择一项',

    // 数字筛选器
    lessThan: '小于',
    greaterThan: '大于',
    lessThanOrEqual: '小于等于',
    greaterThanOrEqual: '大于等于',
    inRange: '在范围内',
    inRangeStart: '从',
    inRangeEnd: '到',

    // 文字筛选器
    contains: '包含',
    notContains: '不包含',
    startsWith: '开始于',
    endsWith: '结束于',

    // 日期筛选器
    dateFormatOoo: 'yyyy-mm-dd',

    // 筛选条件
    andCondition: '且',
    orCondition: '或',

    // 筛选按钮
    applyFilter: '套用',
    resetFilter: '重设',
    clearFilter: '清除',
    cancelFilter: '取消',

    // 筛选标题
    textFilter: '文字筛选',
    numberFilter: '数字筛选',
    dateFilter: '日期筛选',
    setFilter: '设定筛选',

    // 分组字段筛选
    groupFilterSelect: '选择字段:',

    // 进阶筛选
    advancedFilterContains: '包含',
    advancedFilterNotContains: '不包含',
    advancedFilterTextEquals: '等于',
    advancedFilterTextNotEqual: '不等于',
    advancedFilterStartsWith: '开始于',
    advancedFilterEndsWith: '结束于',
    advancedFilterBlank: '空白',
    advancedFilterNotBlank: '非空白',
    advancedFilterEquals: '=',
    advancedFilterNotEqual: '!=',
    advancedFilterGreaterThan: '>',
    advancedFilterGreaterThanOrEqual: '>=',
    advancedFilterLessThan: '<',
    advancedFilterLessThanOrEqual: '<=',
    advancedFilterTrue: '为真',
    advancedFilterFalse: '为假',
    advancedFilterAnd: '且',
    advancedFilterOr: '或',
    advancedFilterApply: '套用',
    advancedFilterValidationMissingColumn: '缺少字段',
    advancedFilterValidationMissingOption: '缺少选项',
    advancedFilterValidationMissingValue: '缺少值',
    advancedFilterValidationInvalidColumn: '找不到该字段',
    advancedFilterValidationInvalidOption: '找不到该选项',
    advancedFilterValidationMissingQuote: '缺少结尾引号',
    advancedFilterValidationNotANumber: '值不是一个数字',
    advancedFilterValidationMissingCondition: '缺少条件',
    advancedFilterValidationJoinOperatorMismatch: '在一个条件中的连接运算符必须相同',
    advancedFilterValidationInvalidJoinOperator: '找不到连接运算符',
    advancedFilterValidationMissingEndBracket: '缺少结尾括号',
    advancedFilterValidationExtraEndBracket: '结尾括号过多',
    advancedFilterValidationMessage: '表达式有误。${variable1} - ${variable2}。',
    advancedFilterValidationMessageAtEnd: '表达式有误。表达式结尾的${variable}。',

    // 侧边栏
    columns: '字段',
    filters: '筛选器',

    // 字段工具面板
    pivotMode: '枢纽模式',
    groups: '列分组',
    rowGroupColumnsEmptyMessage: '拖曳至此以设定列分组',
    values: '值',
    valueColumnsEmptyMessage: '拖曳至此以聚合',
    pivots: '栏标签',
    pivotColumnsEmptyMessage: '拖曳至此以设定栏标签',

    // 预设的群组字段标题
    group: '群组',

    // 列拖曳
    rowDragRow: '列',
    rowDragRows: '列',

    // 其他
    loadingOoo: '载入中...',
    loadingError: '错误',
    noRowsToShow: '无数据可显示',
    enabled: '启用',

    // 选单
    pinColumn: '固定字段',
    pinLeft: '固定于左',
    pinRight: '固定于右',
    noPin: '取消固定',
    valueAggregation: '值汇总',
    noAggregation: '无',
    autosizeThiscolumn: '自动调整此栏宽',
    autosizeAllColumns: '自动调整所有栏宽',
    groupBy: '分组依据',
    ungroupBy: '取消分组',
    ungroupAll: '取消全部分组',
    addToValues: '新增 ${variable} 至数值',
    removeFromValues: '从数值中移除 ${variable}',
    addToLabels: '新增 ${variable} 至标签',
    removeFromLabels: '从标签中移除 ${variable}',
    resetColumns: '重设字段',
    expandAll: '展开所有数据群组',
    collapseAll: '关闭所有数据群组',
    copy: '复制',
    ctrlC: 'Ctrl+C',
    ctrlX: 'Ctrl+X',
    copyWithHeaders: '复制并包含标题',
    copyWithGroupHeaders: '复制并包含群组标题',
    cut: '剪下',
    paste: '贴上',
    ctrlV: 'Ctrl+V',
    export: '汇出',
    csvExport: 'CSV 汇出',
    excelExport: 'Excel 汇出',

    // 资料分析和状态栏
    sum: '总和',
    first: '第一',
    last: '最后',
    min: '最小',
    max: '最大',
    none: '无',
    count: '计数',
    avg: '平均',
    filteredRows: '筛选的资料',
    selectedRows: '选取的数据',
    totalRows: '总资料笔数',
    totalAndFilteredRows: '资料笔数',
    more: '更多',
    to: '到',
    of: '的',
    page: '页',
    pageLastRowUnknown: '?',
    nextPage: '下一页',
    lastPage: '最后一页',
    firstPage: '第一页',
    previousPage: '前一页',

    // 透视
    pivotColumnGroupTotals: '总计',

    // 企业选单(图表)
    pivotChartAndPivotMode: '枢纽图表与枢纽模式',
    pivotChart: '枢纽图表',
    chartRange: '图表范围',

    columnChart: '柱状图',
    groupedColumn: '分组',
    stackedColumn: '堆栈',
    normalizedColumn: '100% 堆栈',

    barChart: '直方图',
    groupedBar: '分组',
    stackedBar: '堆栈',
    normalizedBar: '100% 堆栈',

    pieChart: '圆饼图',
    pie: '圆饼',
    doughnut: '环状圆饼',

    line: '折线图',

    xyChart: 'X Y (散布)',
    scatter: '散布',
    bubble: '气泡图',

    areaChart: '分区图',
    area: '区域',
    stackedArea: '堆栈',
    normalizedArea: '100% 堆栈',

    histogramChart: '直方图',
    histogramFrequency: '频率',

    combinationChart: '混合图',
    columnLineCombo: '柱状图与折线图',
    AreaColumnCombo: '分区图与柱状图',

    // 图表
    // ...略

    // ARIA
    // ...略

    // ARIA Drop Zones 的标签
    // ...略

    // ARIA 对话框的标签
    // ...略

    // 数字格式(状态栏、分页面板)
    thousandSeparator: ',',
    decimalSeparator: '.',

    // 数据类型
    true: '是',
    false: '否',
    invalidDate: '无效日期',
    invalidNumber: '无效数字',
    january: '一月',
    february: '二月',
    march: '三月',
    april: '四月',
    may: '五月',
    june: '六月',
    july: '七月',
    august: '八月',
    september: '九月',
    october: '十月',
    november: '十一月',
    december: '十二月',

}


let kp = {
    en,
    'zh-tw': zhTW,
    'zh-cn': zhCn,
}


/**
 * 基於指定語系取得指定鍵值
 *
 * @param {String} lang 輸入語系字串
 * @param {String} key 輸入指定鍵字串
 * @param {String} [def=''] 輸入若無法取得時之預設值字串,預設為''
 * @returns {String} 回傳值字串
 */
function getLangText(lang, key, def = '') {
    lang = lang.toLowerCase()
    let r = get(kp, `${lang}.${key}`, def)
    return r
}


export default getLangText