@object-ui/i18n 4.2.1 → 4.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +129 -0
- package/dist/locales/ar.d.ts +94 -60
- package/dist/locales/ar.js +94 -60
- package/dist/locales/de.d.ts +93 -59
- package/dist/locales/de.js +93 -59
- package/dist/locales/en.d.ts +109 -0
- package/dist/locales/en.js +110 -0
- package/dist/locales/es.d.ts +94 -60
- package/dist/locales/es.js +94 -60
- package/dist/locales/fr.d.ts +92 -58
- package/dist/locales/fr.js +92 -58
- package/dist/locales/index.d.ts +968 -478
- package/dist/locales/ja.d.ts +94 -60
- package/dist/locales/ja.js +94 -60
- package/dist/locales/ko.d.ts +94 -60
- package/dist/locales/ko.js +94 -60
- package/dist/locales/pt.d.ts +94 -60
- package/dist/locales/pt.js +94 -60
- package/dist/locales/ru.d.ts +94 -60
- package/dist/locales/ru.js +94 -60
- package/dist/locales/zh.d.ts +109 -0
- package/dist/locales/zh.js +110 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,134 @@
|
|
|
1
1
|
# @object-ui/i18n
|
|
2
2
|
|
|
3
|
+
## 4.3.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- f196cf4: feat(plugin-report): popup picker for groupings + section-aware test ids
|
|
8
|
+
|
|
9
|
+
The matrix/summary "Group by" (rows) and "Columns axis" (cols) sections now
|
|
10
|
+
share the same searchable popup picker as the columns section, with a
|
|
11
|
+
commit-on-select single-pick mode wired through `FieldPickerDialog`.
|
|
12
|
+
- Per-row field buttons display the human-readable field label and open a
|
|
13
|
+
dialog scoped to swap that single field (already-used fields filtered out)
|
|
14
|
+
- "Add grouping" trigger uses the same dialog
|
|
15
|
+
- `GroupingsBuilder` accepts a `testIdPrefix` prop; ReportConfigPanel passes
|
|
16
|
+
`rows-grouping` and `cols-grouping` so both instances no longer share the
|
|
17
|
+
ambiguous `grouping-field-0` testid
|
|
18
|
+
- Bigger row spacing (h-7 / text-xs) — the old `text-[10px]` was unreadable
|
|
19
|
+
|
|
20
|
+
`FieldPickerDialog` gains:
|
|
21
|
+
- `commitOnSelect`: hides the Confirm/Cancel footer; clicking a row commits
|
|
22
|
+
- closes immediately (intended for `singleSelect` flows)
|
|
23
|
+
- `trigger`: custom trigger element override (used by the per-row field button)
|
|
24
|
+
|
|
25
|
+
- ee1cc96: feat(plugin-report): joined-report block editor
|
|
26
|
+
|
|
27
|
+
`type: 'joined'` reports were a black hole in the editor — the type
|
|
28
|
+
selector exposed them but no UI knew how to edit the `blocks` array,
|
|
29
|
+
so users could neither create nor modify joined reports without
|
|
30
|
+
hand-editing JSON.
|
|
31
|
+
|
|
32
|
+
This change adds a `Blocks` section to the report editor, visible only
|
|
33
|
+
when `type === 'joined'`. Each block renders as a collapsible card with
|
|
34
|
+
its own name (required + unique-validated), label, description, block
|
|
35
|
+
type, object override, and reuses the existing `ColumnsEditor`,
|
|
36
|
+
`GroupingsBuilder`, `SpecFilterAdapter`, and `ChartConfig` builders so
|
|
37
|
+
every block behaves like a mini standalone report — matching the
|
|
38
|
+
runtime contract of `JoinedReportRenderer`.
|
|
39
|
+
|
|
40
|
+
Block-level validation is surfaced in the main `ValidationBanner`:
|
|
41
|
+
empty blocks array, missing or duplicate block names, and blocks
|
|
42
|
+
without columns all become editor-time errors so saves stay safe.
|
|
43
|
+
|
|
44
|
+
The non-joined sections (Columns / Rows / Columns axis / Filters /
|
|
45
|
+
Chart) are hidden when `type === 'joined'` since they live per-block
|
|
46
|
+
in the spec.
|
|
47
|
+
|
|
48
|
+
New exports from `@object-ui/plugin-report`:
|
|
49
|
+
- `JoinedBlocksEditor` — standalone component for embedding the
|
|
50
|
+
block editor anywhere.
|
|
51
|
+
- `validateJoinedBlocks` — pure helper returning translated
|
|
52
|
+
problem strings, suitable for custom validation banners.
|
|
53
|
+
- `ColumnsEditor`, `GroupingsBuilder`, `ChartConfig`,
|
|
54
|
+
`SpecFilterAdapter`, `normalizeColumns` are now exported so
|
|
55
|
+
downstream consumers can build their own report-editor surfaces.
|
|
56
|
+
|
|
57
|
+
i18n: added `report.editor.blocks*` / `report.editor.addBlock` /
|
|
58
|
+
`report.editor.removeBlock` / `report.editor.blockName*` /
|
|
59
|
+
`report.editor.blockLabel*` / `report.editor.blockDescription*` /
|
|
60
|
+
`report.editor.validationJoinedNeedsBlocks` /
|
|
61
|
+
`report.editor.validationBlockNameRequired` /
|
|
62
|
+
`report.editor.validationBlockNameDuplicate` /
|
|
63
|
+
`report.editor.validationBlockNeedsColumns` to en + zh.
|
|
64
|
+
|
|
65
|
+
- 0b032be: feat(plugin-report): replace inline column picker with a popup field picker
|
|
66
|
+
|
|
67
|
+
The columns section now opens a Dialog-based multi-select picker (`FieldPickerDialog`)
|
|
68
|
+
instead of rendering the unselected field list inline. The popup supports search,
|
|
69
|
+
batched multi-selection (commit several fields in one click), per-field type badges,
|
|
70
|
+
cancel-discards-pending semantics, and is fully i18n'd. Also fixes a latent
|
|
71
|
+
`ReferenceError: normalizeColumns is not defined` that crashed the editor whenever
|
|
72
|
+
the chart section was expanded.
|
|
73
|
+
|
|
74
|
+
- 115d36a: i18n: native translations for the report editor (`report.editor.*`) in 8 locales — ar, de, es, fr, ja, ko, pt, ru. Previously these locales had the English placeholder strings copy-pasted from `en.ts` and the newer `blocks*`, `addCondition`, `opContains`, `formatCurrency` etc. keys were missing entirely (so the report editor surfaced raw key names in those languages). All locales now carry the full key set with locale-appropriate copy.
|
|
75
|
+
- 4e7bc1b: **Report editor panel overhaul**
|
|
76
|
+
|
|
77
|
+
The report configuration panel is now safe to open on any spec-shape `Report` and only exposes fields that are actually persisted by `@objectstack/spec`.
|
|
78
|
+
|
|
79
|
+
`@object-ui/plugin-report`:
|
|
80
|
+
- Add a bidirectional `SpecFilterAdapter` so `ReportConfigPanel` can edit
|
|
81
|
+
spec `FilterCondition` filters (`{field: value}`, `{field: {$op: value}}`,
|
|
82
|
+
top-level `$and`/`$or`). Complex / nested filters fall back to a
|
|
83
|
+
read-only banner and are preserved verbatim on save.
|
|
84
|
+
- Drop sections that never round-tripped through the spec
|
|
85
|
+
(`conditionalFormatting`, `sections`, `export`, `schedule`, `appearance`)
|
|
86
|
+
and their helper components.
|
|
87
|
+
- Add type-driven section visibility: `tabular` shows Columns/Filters,
|
|
88
|
+
`summary` adds Rows + Chart, `matrix` adds Rows + Columns axis + Chart.
|
|
89
|
+
- New `GroupingsBuilder` covers `groupingsDown`/`groupingsAcross` with
|
|
90
|
+
`sortOrder` and date-aware `dateGranularity` controls.
|
|
91
|
+
- New `ColumnsEditor` lets users reorder picked columns, override labels,
|
|
92
|
+
set aggregates and choose a display format.
|
|
93
|
+
- Chart subset now mirrors the spec: chart `title`, `showLegend`,
|
|
94
|
+
`showDataLabels`, plus `funnel` (scatter removed).
|
|
95
|
+
- Validation banner highlights missing `objectName` and missing
|
|
96
|
+
rows/columns for `matrix`/`summary` reports.
|
|
97
|
+
- All editor labels and hints are i18n-driven (`report.editor.*`).
|
|
98
|
+
- 18 new unit tests cover the filter adapter round-trip.
|
|
99
|
+
|
|
100
|
+
`@object-ui/components`:
|
|
101
|
+
- `FilterBuilder` now guards against malformed external `value` props.
|
|
102
|
+
Previously a spec-shape filter (`{is_active: true}`) would crash the
|
|
103
|
+
component on first render; the builder now falls back to an empty
|
|
104
|
+
AND group whenever `value` is not a valid `FilterGroup`.
|
|
105
|
+
|
|
106
|
+
`@object-ui/i18n`:
|
|
107
|
+
- Add `report.editor.*` strings to `en` and `zh`.
|
|
108
|
+
|
|
109
|
+
- 8442c05: Improve report editor panel usability based on real-user browser testing:
|
|
110
|
+
- **Wider config panel** — the report editor now defaults to a `--config-panel-width`
|
|
111
|
+
of 440px (up from 280px), driven by a new optional `style` prop on
|
|
112
|
+
`ConfigPanelRenderer`. Long field labels, report titles, type labels, and filter
|
|
113
|
+
rows no longer truncate to "Account Na" / "kup" / "ct" / 1-character widths.
|
|
114
|
+
- **Disambiguated "Columns" sections** — for `summary` and `matrix` reports the
|
|
115
|
+
measure list is now labelled **"Values / 度量"** (pivot-style vocabulary) instead
|
|
116
|
+
of "Columns", which previously clashed with the matrix's pivot column axis
|
|
117
|
+
(also called "Columns / 列"). The two sections used to be indistinguishable.
|
|
118
|
+
New i18n key `report.editor.values` / `valuesHint` is shipped for all 10
|
|
119
|
+
locales (en, zh, ar, de, es, fr, ja, ko, pt, ru).
|
|
120
|
+
- **Reordered sections for matrix/summary** — the editor now surfaces _Rows_
|
|
121
|
+
and _Columns_ (the pivot axes) **before** _Values_, mirroring how a business
|
|
122
|
+
user thinks about a pivot table.
|
|
123
|
+
- **Per-row aggregate/format headers** — each column row in `ColumnsEditor` now
|
|
124
|
+
shows small "Aggregate" / "Format" labels above the respective selects, and
|
|
125
|
+
the row uses a 2-line layout so the label input has its own line. The cramped
|
|
126
|
+
3-dropdowns-side-by-side layout at 10px font is gone.
|
|
127
|
+
- **Searchable field picker** — the "Add columns" list now has a search box,
|
|
128
|
+
a `filtered / total` counter, an empty-state message, and a scrollable bordered
|
|
129
|
+
container. New i18n keys: `report.editor.searchFields`,
|
|
130
|
+
`report.editor.noMatchingFields`.
|
|
131
|
+
|
|
3
132
|
## 4.2.1
|
|
4
133
|
|
|
5
134
|
## 4.2.0
|
package/dist/locales/ar.d.ts
CHANGED
|
@@ -974,66 +974,100 @@ declare const ar: {
|
|
|
974
974
|
readonly first: "First";
|
|
975
975
|
};
|
|
976
976
|
readonly editor: {
|
|
977
|
-
readonly breadcrumb: "
|
|
978
|
-
readonly basic: "
|
|
979
|
-
readonly title: "
|
|
980
|
-
readonly titlePlaceholder: "
|
|
981
|
-
readonly description: "
|
|
982
|
-
readonly descriptionPlaceholder: "
|
|
983
|
-
readonly type: "
|
|
984
|
-
readonly typeTabular: "
|
|
985
|
-
readonly typeSummary: "
|
|
986
|
-
readonly typeMatrix: "
|
|
987
|
-
readonly typeJoined: "
|
|
988
|
-
readonly typeHelp: "
|
|
989
|
-
readonly data: "
|
|
990
|
-
readonly objectName: "
|
|
991
|
-
readonly objectNamePlaceholder: "
|
|
992
|
-
readonly objectNameHelp: "
|
|
993
|
-
readonly limit: "
|
|
994
|
-
readonly limitPlaceholder: "
|
|
995
|
-
readonly columns: "
|
|
996
|
-
readonly columnsHint: "
|
|
997
|
-
readonly filters: "
|
|
998
|
-
readonly filtersHint: "
|
|
999
|
-
readonly filtersComplex: "
|
|
1000
|
-
readonly groupBy: "
|
|
1001
|
-
readonly groupByHint: "
|
|
1002
|
-
readonly rows: "
|
|
1003
|
-
readonly rowsHint: "
|
|
1004
|
-
readonly columnsAxis: "
|
|
1005
|
-
readonly columnsAxisHint: "
|
|
1006
|
-
readonly
|
|
1007
|
-
readonly
|
|
1008
|
-
readonly
|
|
1009
|
-
readonly
|
|
1010
|
-
readonly
|
|
1011
|
-
readonly
|
|
1012
|
-
readonly
|
|
1013
|
-
readonly
|
|
1014
|
-
readonly
|
|
1015
|
-
readonly
|
|
1016
|
-
readonly
|
|
1017
|
-
readonly
|
|
1018
|
-
readonly
|
|
1019
|
-
readonly
|
|
1020
|
-
readonly
|
|
1021
|
-
readonly
|
|
1022
|
-
readonly
|
|
1023
|
-
readonly
|
|
1024
|
-
readonly
|
|
1025
|
-
readonly
|
|
1026
|
-
readonly
|
|
1027
|
-
readonly
|
|
1028
|
-
readonly
|
|
1029
|
-
readonly
|
|
1030
|
-
readonly
|
|
1031
|
-
readonly
|
|
1032
|
-
readonly
|
|
1033
|
-
readonly
|
|
1034
|
-
readonly
|
|
1035
|
-
readonly
|
|
1036
|
-
readonly
|
|
977
|
+
readonly breadcrumb: "الإعدادات";
|
|
978
|
+
readonly basic: "أساسي";
|
|
979
|
+
readonly title: "العنوان";
|
|
980
|
+
readonly titlePlaceholder: "مثال: المسار حسب الربع";
|
|
981
|
+
readonly description: "الوصف";
|
|
982
|
+
readonly descriptionPlaceholder: "ماذا يعرض هذا التقرير؟";
|
|
983
|
+
readonly type: "نوع التقرير";
|
|
984
|
+
readonly typeTabular: "جدولي — قائمة مسطّحة";
|
|
985
|
+
readonly typeSummary: "ملخص — مجمّع مع المجاميع";
|
|
986
|
+
readonly typeMatrix: "مصفوفة — محور صفوف × أعمدة";
|
|
987
|
+
readonly typeJoined: "مدمج — كتل متعددة";
|
|
988
|
+
readonly typeHelp: "اختر التخطيط الذي يطابق ما تريد رؤيته.";
|
|
989
|
+
readonly data: "البيانات";
|
|
990
|
+
readonly objectName: "مصدر البيانات";
|
|
991
|
+
readonly objectNamePlaceholder: "مثال: opportunity";
|
|
992
|
+
readonly objectNameHelp: "أي كائن يجب أن يستعلم عنه هذا التقرير؟";
|
|
993
|
+
readonly limit: "حد عدد الصفوف";
|
|
994
|
+
readonly limitPlaceholder: "مثال: 100";
|
|
995
|
+
readonly columns: "الأعمدة";
|
|
996
|
+
readonly columnsHint: "اختر الحقول التي ستظهر كأعمدة. أضف تجميعًا (مجموع، عدد…) في تقارير الملخص أو المصفوفة.";
|
|
997
|
+
readonly filters: "عوامل التصفية";
|
|
998
|
+
readonly filtersHint: "قيّد الصفوف التي تدخل في هذا التقرير.";
|
|
999
|
+
readonly filtersComplex: "يستخدم هذا التقرير عامل تصفية متقدّمًا لا يمكن تحريره هنا. سيُحتفظ به كما هو عند الحفظ.";
|
|
1000
|
+
readonly groupBy: "التجميع حسب";
|
|
1001
|
+
readonly groupByHint: "جمّع البيانات واحسب المجاميع الفرعية.";
|
|
1002
|
+
readonly rows: "الصفوف";
|
|
1003
|
+
readonly rowsHint: "جمّع الصفوف حسب هذه الحقول.";
|
|
1004
|
+
readonly columnsAxis: "الأعمدة";
|
|
1005
|
+
readonly columnsAxisHint: "اعرض هذه الحقول كمحور في الأعلى.";
|
|
1006
|
+
readonly values: "القيم";
|
|
1007
|
+
readonly valuesHint: "الأرقام التي تظهر في كل خلية. اختر حقلاً واحدًا أو أكثر وأضف تجميعًا (مجموع، عدد…).";
|
|
1008
|
+
readonly grouping: "تجميع";
|
|
1009
|
+
readonly addGrouping: "إضافة تجميع";
|
|
1010
|
+
readonly dateGranularity: "دقة التاريخ";
|
|
1011
|
+
readonly dateGranularityNone: "(استخدام القيمة الأصلية)";
|
|
1012
|
+
readonly day: "يوم";
|
|
1013
|
+
readonly week: "أسبوع";
|
|
1014
|
+
readonly month: "شهر";
|
|
1015
|
+
readonly quarter: "ربع";
|
|
1016
|
+
readonly year: "سنة";
|
|
1017
|
+
readonly sortAsc: "تصاعدي";
|
|
1018
|
+
readonly sortDesc: "تنازلي";
|
|
1019
|
+
readonly chart: "الرسم البياني";
|
|
1020
|
+
readonly chartHint: "عرض مرئي اختياري بجانب الجدول.";
|
|
1021
|
+
readonly chartType: "نوع الرسم";
|
|
1022
|
+
readonly chartTitle: "عنوان الرسم";
|
|
1023
|
+
readonly chartTitlePlaceholder: "افتراضيًا يستخدم عنوان التقرير";
|
|
1024
|
+
readonly chartXAxis: "المحور السيني (الفئة)";
|
|
1025
|
+
readonly chartYAxis: "المحور الصادي (القيمة)";
|
|
1026
|
+
readonly chartShowLegend: "إظهار وسيلة الإيضاح";
|
|
1027
|
+
readonly chartShowDataLabels: "إظهار تسميات البيانات";
|
|
1028
|
+
readonly chartNone: "(بدون رسم)";
|
|
1029
|
+
readonly chartBar: "أعمدة";
|
|
1030
|
+
readonly chartLine: "خطي";
|
|
1031
|
+
readonly chartArea: "منطقة";
|
|
1032
|
+
readonly chartPie: "دائري";
|
|
1033
|
+
readonly chartDonut: "حلقي";
|
|
1034
|
+
readonly chartFunnel: "قمعي";
|
|
1035
|
+
readonly validationNeedsObject: "اختر مصدر بيانات قبل إضافة الأعمدة.";
|
|
1036
|
+
readonly validationMatrixNeedsRowsCols: "تتطلب تقارير المصفوفة صفًا وعمودًا واحدًا على الأقل.";
|
|
1037
|
+
readonly validationSummaryNeedsRows: "تتطلب تقارير الملخص حقل تجميع واحدًا على الأقل.";
|
|
1038
|
+
readonly blocks: "الكتل";
|
|
1039
|
+
readonly blocksHint: "كل كتلة هي جدولها أو رسمها البياني الخاص. عوامل تصفية الكتلة تُدمج مع عامل تصفية التقرير بمنطق AND.";
|
|
1040
|
+
readonly addBlock: "إضافة كتلة";
|
|
1041
|
+
readonly removeBlock: "إزالة الكتلة";
|
|
1042
|
+
readonly blockName: "اسم الكتلة";
|
|
1043
|
+
readonly blockNamePlaceholder: "اسم_فريد_للكتلة";
|
|
1044
|
+
readonly blockLabel: "التسمية المعروضة";
|
|
1045
|
+
readonly blockLabelPlaceholder: "تُعرض فوق الكتلة";
|
|
1046
|
+
readonly blockDescription: "الوصف";
|
|
1047
|
+
readonly blockDescriptionPlaceholder: "سياق اختياري لهذه الكتلة";
|
|
1048
|
+
readonly validationJoinedNeedsBlocks: "تتطلب التقارير المدمجة كتلة واحدة على الأقل.";
|
|
1049
|
+
readonly validationBlockNameRequired: "يجب أن يكون لكل كتلة اسم غير فارغ.";
|
|
1050
|
+
readonly validationBlockNameDuplicate: "يجب أن تكون أسماء الكتل فريدة داخل التقرير.";
|
|
1051
|
+
readonly validationBlockNeedsColumns: "تحتاج كل كتلة إلى عمود واحد على الأقل.";
|
|
1052
|
+
readonly noneOption: "(بلا)";
|
|
1053
|
+
readonly addCondition: "إضافة شرط";
|
|
1054
|
+
readonly combineLogic: "الدمج مع";
|
|
1055
|
+
readonly opContains: "يحتوي على";
|
|
1056
|
+
readonly opIsEmpty: "فارغ";
|
|
1057
|
+
readonly opIsNotEmpty: "ليس فارغًا";
|
|
1058
|
+
readonly formatAuto: "تلقائي";
|
|
1059
|
+
readonly formatCurrency: "عملة";
|
|
1060
|
+
readonly formatPercent: "نسبة مئوية";
|
|
1061
|
+
readonly formatInteger: "عدد صحيح";
|
|
1062
|
+
readonly formatDate: "تاريخ";
|
|
1063
|
+
readonly formatDatetime: "تاريخ ووقت";
|
|
1064
|
+
readonly columnLabelPlaceholder: "تجاوز التسمية";
|
|
1065
|
+
readonly aggregateColumn: "تجميع";
|
|
1066
|
+
readonly formatColumn: "تنسيق";
|
|
1067
|
+
readonly addColumns: "إضافة أعمدة";
|
|
1068
|
+
readonly searchFields: "البحث في الحقول…";
|
|
1069
|
+
readonly noMatchingFields: "لا توجد حقول تطابق بحثك.";
|
|
1070
|
+
readonly noFieldsAvailable: "لا توجد حقول متاحة.";
|
|
1037
1071
|
};
|
|
1038
1072
|
};
|
|
1039
1073
|
};
|
package/dist/locales/ar.js
CHANGED
|
@@ -969,66 +969,100 @@ const ar = {
|
|
|
969
969
|
first: 'First',
|
|
970
970
|
},
|
|
971
971
|
editor: {
|
|
972
|
-
breadcrumb: '
|
|
973
|
-
basic: '
|
|
974
|
-
title: '
|
|
975
|
-
titlePlaceholder: '
|
|
976
|
-
description: '
|
|
977
|
-
descriptionPlaceholder: '
|
|
978
|
-
type: '
|
|
979
|
-
typeTabular: '
|
|
980
|
-
typeSummary: '
|
|
981
|
-
typeMatrix: '
|
|
982
|
-
typeJoined: '
|
|
983
|
-
typeHelp: '
|
|
984
|
-
data: '
|
|
985
|
-
objectName: '
|
|
986
|
-
objectNamePlaceholder: '
|
|
987
|
-
objectNameHelp: '
|
|
988
|
-
limit: '
|
|
989
|
-
limitPlaceholder: '
|
|
990
|
-
columns: '
|
|
991
|
-
columnsHint: '
|
|
992
|
-
filters: '
|
|
993
|
-
filtersHint: '
|
|
994
|
-
filtersComplex: '
|
|
995
|
-
groupBy: '
|
|
996
|
-
groupByHint: '
|
|
997
|
-
rows: '
|
|
998
|
-
rowsHint: '
|
|
999
|
-
columnsAxis: '
|
|
1000
|
-
columnsAxisHint: '
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
972
|
+
breadcrumb: 'الإعدادات',
|
|
973
|
+
basic: 'أساسي',
|
|
974
|
+
title: 'العنوان',
|
|
975
|
+
titlePlaceholder: 'مثال: المسار حسب الربع',
|
|
976
|
+
description: 'الوصف',
|
|
977
|
+
descriptionPlaceholder: 'ماذا يعرض هذا التقرير؟',
|
|
978
|
+
type: 'نوع التقرير',
|
|
979
|
+
typeTabular: 'جدولي — قائمة مسطّحة',
|
|
980
|
+
typeSummary: 'ملخص — مجمّع مع المجاميع',
|
|
981
|
+
typeMatrix: 'مصفوفة — محور صفوف × أعمدة',
|
|
982
|
+
typeJoined: 'مدمج — كتل متعددة',
|
|
983
|
+
typeHelp: 'اختر التخطيط الذي يطابق ما تريد رؤيته.',
|
|
984
|
+
data: 'البيانات',
|
|
985
|
+
objectName: 'مصدر البيانات',
|
|
986
|
+
objectNamePlaceholder: 'مثال: opportunity',
|
|
987
|
+
objectNameHelp: 'أي كائن يجب أن يستعلم عنه هذا التقرير؟',
|
|
988
|
+
limit: 'حد عدد الصفوف',
|
|
989
|
+
limitPlaceholder: 'مثال: 100',
|
|
990
|
+
columns: 'الأعمدة',
|
|
991
|
+
columnsHint: 'اختر الحقول التي ستظهر كأعمدة. أضف تجميعًا (مجموع، عدد…) في تقارير الملخص أو المصفوفة.',
|
|
992
|
+
filters: 'عوامل التصفية',
|
|
993
|
+
filtersHint: 'قيّد الصفوف التي تدخل في هذا التقرير.',
|
|
994
|
+
filtersComplex: 'يستخدم هذا التقرير عامل تصفية متقدّمًا لا يمكن تحريره هنا. سيُحتفظ به كما هو عند الحفظ.',
|
|
995
|
+
groupBy: 'التجميع حسب',
|
|
996
|
+
groupByHint: 'جمّع البيانات واحسب المجاميع الفرعية.',
|
|
997
|
+
rows: 'الصفوف',
|
|
998
|
+
rowsHint: 'جمّع الصفوف حسب هذه الحقول.',
|
|
999
|
+
columnsAxis: 'الأعمدة',
|
|
1000
|
+
columnsAxisHint: 'اعرض هذه الحقول كمحور في الأعلى.',
|
|
1001
|
+
values: 'القيم',
|
|
1002
|
+
valuesHint: 'الأرقام التي تظهر في كل خلية. اختر حقلاً واحدًا أو أكثر وأضف تجميعًا (مجموع، عدد…).',
|
|
1003
|
+
grouping: 'تجميع',
|
|
1004
|
+
addGrouping: 'إضافة تجميع',
|
|
1005
|
+
dateGranularity: 'دقة التاريخ',
|
|
1006
|
+
dateGranularityNone: '(استخدام القيمة الأصلية)',
|
|
1007
|
+
day: 'يوم',
|
|
1008
|
+
week: 'أسبوع',
|
|
1009
|
+
month: 'شهر',
|
|
1010
|
+
quarter: 'ربع',
|
|
1011
|
+
year: 'سنة',
|
|
1012
|
+
sortAsc: 'تصاعدي',
|
|
1013
|
+
sortDesc: 'تنازلي',
|
|
1014
|
+
chart: 'الرسم البياني',
|
|
1015
|
+
chartHint: 'عرض مرئي اختياري بجانب الجدول.',
|
|
1016
|
+
chartType: 'نوع الرسم',
|
|
1017
|
+
chartTitle: 'عنوان الرسم',
|
|
1018
|
+
chartTitlePlaceholder: 'افتراضيًا يستخدم عنوان التقرير',
|
|
1019
|
+
chartXAxis: 'المحور السيني (الفئة)',
|
|
1020
|
+
chartYAxis: 'المحور الصادي (القيمة)',
|
|
1021
|
+
chartShowLegend: 'إظهار وسيلة الإيضاح',
|
|
1022
|
+
chartShowDataLabels: 'إظهار تسميات البيانات',
|
|
1023
|
+
chartNone: '(بدون رسم)',
|
|
1024
|
+
chartBar: 'أعمدة',
|
|
1025
|
+
chartLine: 'خطي',
|
|
1026
|
+
chartArea: 'منطقة',
|
|
1027
|
+
chartPie: 'دائري',
|
|
1028
|
+
chartDonut: 'حلقي',
|
|
1029
|
+
chartFunnel: 'قمعي',
|
|
1030
|
+
validationNeedsObject: 'اختر مصدر بيانات قبل إضافة الأعمدة.',
|
|
1031
|
+
validationMatrixNeedsRowsCols: 'تتطلب تقارير المصفوفة صفًا وعمودًا واحدًا على الأقل.',
|
|
1032
|
+
validationSummaryNeedsRows: 'تتطلب تقارير الملخص حقل تجميع واحدًا على الأقل.',
|
|
1033
|
+
blocks: 'الكتل',
|
|
1034
|
+
blocksHint: 'كل كتلة هي جدولها أو رسمها البياني الخاص. عوامل تصفية الكتلة تُدمج مع عامل تصفية التقرير بمنطق AND.',
|
|
1035
|
+
addBlock: 'إضافة كتلة',
|
|
1036
|
+
removeBlock: 'إزالة الكتلة',
|
|
1037
|
+
blockName: 'اسم الكتلة',
|
|
1038
|
+
blockNamePlaceholder: 'اسم_فريد_للكتلة',
|
|
1039
|
+
blockLabel: 'التسمية المعروضة',
|
|
1040
|
+
blockLabelPlaceholder: 'تُعرض فوق الكتلة',
|
|
1041
|
+
blockDescription: 'الوصف',
|
|
1042
|
+
blockDescriptionPlaceholder: 'سياق اختياري لهذه الكتلة',
|
|
1043
|
+
validationJoinedNeedsBlocks: 'تتطلب التقارير المدمجة كتلة واحدة على الأقل.',
|
|
1044
|
+
validationBlockNameRequired: 'يجب أن يكون لكل كتلة اسم غير فارغ.',
|
|
1045
|
+
validationBlockNameDuplicate: 'يجب أن تكون أسماء الكتل فريدة داخل التقرير.',
|
|
1046
|
+
validationBlockNeedsColumns: 'تحتاج كل كتلة إلى عمود واحد على الأقل.',
|
|
1047
|
+
noneOption: '(بلا)',
|
|
1048
|
+
addCondition: 'إضافة شرط',
|
|
1049
|
+
combineLogic: 'الدمج مع',
|
|
1050
|
+
opContains: 'يحتوي على',
|
|
1051
|
+
opIsEmpty: 'فارغ',
|
|
1052
|
+
opIsNotEmpty: 'ليس فارغًا',
|
|
1053
|
+
formatAuto: 'تلقائي',
|
|
1054
|
+
formatCurrency: 'عملة',
|
|
1055
|
+
formatPercent: 'نسبة مئوية',
|
|
1056
|
+
formatInteger: 'عدد صحيح',
|
|
1057
|
+
formatDate: 'تاريخ',
|
|
1058
|
+
formatDatetime: 'تاريخ ووقت',
|
|
1059
|
+
columnLabelPlaceholder: 'تجاوز التسمية',
|
|
1060
|
+
aggregateColumn: 'تجميع',
|
|
1061
|
+
formatColumn: 'تنسيق',
|
|
1062
|
+
addColumns: 'إضافة أعمدة',
|
|
1063
|
+
searchFields: 'البحث في الحقول…',
|
|
1064
|
+
noMatchingFields: 'لا توجد حقول تطابق بحثك.',
|
|
1065
|
+
noFieldsAvailable: 'لا توجد حقول متاحة.',
|
|
1032
1066
|
},
|
|
1033
1067
|
},
|
|
1034
1068
|
};
|