@gooddata/sdk-ui-pluggable-host 11.42.0-alpha.0 → 11.42.0-alpha.1
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/esm/platformContext/loadPlatformContext.d.ts.map +1 -1
- package/esm/platformContext/loadPlatformContext.js +8 -0
- package/esm/platformContext/waitForInjectedApiToken.d.ts +10 -11
- package/esm/platformContext/waitForInjectedApiToken.d.ts.map +1 -1
- package/esm/platformContext/waitForInjectedApiToken.js +45 -32
- package/esm/translations/de-DE.json +14 -4
- package/esm/translations/en-AU.json +14 -4
- package/esm/translations/en-GB.json +14 -4
- package/esm/translations/es-419.json +14 -4
- package/esm/translations/es-ES.json +14 -4
- package/esm/translations/fi-FI.json +14 -4
- package/esm/translations/fr-CA.json +14 -4
- package/esm/translations/fr-FR.json +14 -4
- package/esm/translations/id-ID.json +14 -4
- package/esm/translations/it-IT.json +14 -4
- package/esm/translations/ja-JP.json +14 -4
- package/esm/translations/ko-KR.json +14 -4
- package/esm/translations/nl-NL.json +14 -4
- package/esm/translations/pl-PL.json +14 -4
- package/esm/translations/pt-BR.json +14 -4
- package/esm/translations/pt-PT.json +14 -4
- package/esm/translations/ru-RU.json +14 -4
- package/esm/translations/sl-SI.json +14 -4
- package/esm/translations/th-TH.json +14 -4
- package/esm/translations/tr-TR.json +14 -4
- package/esm/translations/uk-UA.json +14 -4
- package/esm/translations/vi-VN.json +14 -4
- package/esm/translations/zh-HK.json +14 -4
- package/esm/translations/zh-Hans.json +14 -4
- package/esm/translations/zh-Hant.json +14 -4
- package/esm/ui/HostChrome.js +2 -2
- package/esm/ui/HostChrome.scss +3 -0
- package/esm/ui/SemanticSearch.d.ts +2 -1
- package/esm/ui/SemanticSearch.d.ts.map +1 -1
- package/esm/ui/SemanticSearch.js +7 -2
- package/esm/ui/useHostChromeSearch.d.ts.map +1 -1
- package/esm/ui/useHostChromeSearch.js +1 -1
- package/package.json +17 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadPlatformContext.d.ts","sourceRoot":"","sources":["../../src/platformContext/loadPlatformContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAMlF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,4BAA6B,SAAQ,KAAK;IACnD,cAGC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,6BAA6B,CAAC;CAC7C;
|
|
1
|
+
{"version":3,"file":"loadPlatformContext.d.ts","sourceRoot":"","sources":["../../src/platformContext/loadPlatformContext.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,2CAA2C,CAAC;AAMlF,OAAO,EAAE,KAAK,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D,qBAAa,4BAA6B,SAAQ,KAAK;IACnD,cAGC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,6BAA6B;IAC1C,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5D,QAAQ,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAED,MAAM,WAAW,2BAA2B;IACxC,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,SAAS,CAAC,EAAE,6BAA6B,CAAC;CAC7C;AAgBD,wBAAsB,mBAAmB,CACrC,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,uBAAuB,CAAC,CA4ClC"}
|
|
@@ -13,6 +13,13 @@ function throwIfAborted(signal) {
|
|
|
13
13
|
throw new DOMException("Aborted", "AbortError");
|
|
14
14
|
}
|
|
15
15
|
}
|
|
16
|
+
function detectExportMode() {
|
|
17
|
+
if (typeof window === "undefined") {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
const hash = window.location.hash;
|
|
21
|
+
return /[?&]displaymode=export(&|$)/i.test(hash) || /[?&]mode=export(&|$)/i.test(hash);
|
|
22
|
+
}
|
|
16
23
|
export async function loadPlatformContext(options = {}) {
|
|
17
24
|
const start = now();
|
|
18
25
|
if (options.auth) {
|
|
@@ -46,5 +53,6 @@ export async function loadPlatformContext(options = {}) {
|
|
|
46
53
|
pantherTier: bootstrap.pantherTier,
|
|
47
54
|
theme: bootstrap.theme,
|
|
48
55
|
embeddingMode: window.location.pathname.startsWith("/embedded/") ? "iframe" : "none",
|
|
56
|
+
isExportMode: detectExportMode(),
|
|
49
57
|
};
|
|
50
58
|
}
|
|
@@ -4,22 +4,21 @@
|
|
|
4
4
|
* When this returns true, the host MUST defer `backend.bootstrap()` until a
|
|
5
5
|
* `SetApiToken` postMessage from the parent has been applied via `setApiToken`
|
|
6
6
|
* / `setJwt`. The flag may live in either `window.location.search` (modern
|
|
7
|
-
* pluggable URLs) or in the hash query (legacy
|
|
7
|
+
* pluggable URLs) or in the hash query (legacy iframe URLs).
|
|
8
8
|
*/
|
|
9
9
|
export declare function shouldWaitForInjectedApiToken(): boolean;
|
|
10
10
|
/**
|
|
11
|
-
* Performs the pre-bootstrap auth handshake
|
|
12
|
-
* lifted to the host so that pluggable
|
|
13
|
-
* contract unchanged.
|
|
11
|
+
* Performs the pre-bootstrap auth handshake the embedded apps have historically owned,
|
|
12
|
+
* lifted to the host so that pluggable apps keep the customer-side wire contract unchanged.
|
|
14
13
|
*
|
|
15
14
|
* Sequence:
|
|
16
|
-
* 1.
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
15
|
+
* 1. Register a one-shot listener for the `SetApiToken` command of either embedded
|
|
16
|
+
* product. (A raw window listener rather than `messagingUtils.addListener` — the
|
|
17
|
+
* messagingUtils filter reads a single module-wide `{product, allowlist}` config,
|
|
18
|
+
* so it cannot accept the command from both products at once.)
|
|
19
|
+
* 2. Emit `listeningForApiToken` to the parent frame under both product names.
|
|
20
|
+
* 3. Await the parent's `SetApiToken`, apply it to the host backend, then tear the
|
|
21
|
+
* listener down so the mounted app can register its full command set.
|
|
23
22
|
*
|
|
24
23
|
* Resolves once a valid token has been applied. Rejects if `signal` aborts.
|
|
25
24
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"waitForInjectedApiToken.d.ts","sourceRoot":"","sources":["../../src/platformContext/waitForInjectedApiToken.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"waitForInjectedApiToken.d.ts","sourceRoot":"","sources":["../../src/platformContext/waitForInjectedApiToken.ts"],"names":[],"mappings":"AAqCA;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,IAAI,OAAO,CAQvD;AAgBD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,uBAAuB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAyDjF"}
|
|
@@ -1,15 +1,22 @@
|
|
|
1
1
|
// (C) 2026 GoodData Corporation
|
|
2
|
-
import {
|
|
2
|
+
import { GdcAdEventType, GdcKdEventType, GdcProductName, isAdSetApiTokenCommandData, isKdSetApiTokenCommandData, } from "@gooddata/sdk-embedding";
|
|
3
3
|
import { messagingUtils } from "@gooddata/sdk-embedding/internal";
|
|
4
4
|
import { setApiToken, setJwt } from "./backend.js";
|
|
5
|
-
const API_TOKEN_AUTHENTICATION_PARAM = "
|
|
5
|
+
const API_TOKEN_AUTHENTICATION_PARAM = "apitokenauthentication";
|
|
6
6
|
const EMBEDDED_PATH_PREFIX = "/embedded/";
|
|
7
|
+
// The flag arrives in customer-authored URLs with inconsistent casing (the embedded apps
|
|
8
|
+
// parse their hash queries case-insensitively), so match the param name lowercased.
|
|
7
9
|
function hasFlagInQuery(query) {
|
|
8
|
-
|
|
10
|
+
for (const [key, value] of new URLSearchParams(query)) {
|
|
11
|
+
if (key.toLowerCase() === API_TOKEN_AUTHENTICATION_PARAM && value === "true") {
|
|
12
|
+
return true;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
return false;
|
|
9
16
|
}
|
|
10
|
-
// Extracts the query portion from a hash like "#/<route>?<query>".
|
|
11
|
-
//
|
|
12
|
-
//
|
|
17
|
+
// Extracts the query portion from a hash like "#/<route>?<query>". The embedded apps use
|
|
18
|
+
// hash-based routing and the legacy iframe URLs keep the flag inside the hash, so the host
|
|
19
|
+
// has to look there as well as in `window.location.search`.
|
|
13
20
|
function getHashQuery(hash) {
|
|
14
21
|
const idx = hash.indexOf("?");
|
|
15
22
|
return idx >= 0 ? hash.slice(idx + 1) : "";
|
|
@@ -20,7 +27,7 @@ function getHashQuery(hash) {
|
|
|
20
27
|
* When this returns true, the host MUST defer `backend.bootstrap()` until a
|
|
21
28
|
* `SetApiToken` postMessage from the parent has been applied via `setApiToken`
|
|
22
29
|
* / `setJwt`. The flag may live in either `window.location.search` (modern
|
|
23
|
-
* pluggable URLs) or in the hash query (legacy
|
|
30
|
+
* pluggable URLs) or in the hash query (legacy iframe URLs).
|
|
24
31
|
*/
|
|
25
32
|
export function shouldWaitForInjectedApiToken() {
|
|
26
33
|
if (!window.location.pathname.startsWith(EMBEDDED_PATH_PREFIX)) {
|
|
@@ -29,19 +36,29 @@ export function shouldWaitForInjectedApiToken() {
|
|
|
29
36
|
return (hasFlagInQuery(window.location.search.replace(/^\?/, "")) ||
|
|
30
37
|
hasFlagInQuery(getHashQuery(window.location.hash)));
|
|
31
38
|
}
|
|
39
|
+
// Accepts the SetApiToken command from either embedded product — the parent page speaks
|
|
40
|
+
// the product namespace of the app it embeds ("analyticalDesigner" or "dashboard").
|
|
41
|
+
function getSetApiTokenPayload(data) {
|
|
42
|
+
if (isAdSetApiTokenCommandData(data)) {
|
|
43
|
+
return data.gdc.event.data;
|
|
44
|
+
}
|
|
45
|
+
if (isKdSetApiTokenCommandData(data)) {
|
|
46
|
+
return data.gdc.event.data;
|
|
47
|
+
}
|
|
48
|
+
return undefined;
|
|
49
|
+
}
|
|
32
50
|
/**
|
|
33
|
-
* Performs the pre-bootstrap auth handshake
|
|
34
|
-
* lifted to the host so that pluggable
|
|
35
|
-
* contract unchanged.
|
|
51
|
+
* Performs the pre-bootstrap auth handshake the embedded apps have historically owned,
|
|
52
|
+
* lifted to the host so that pluggable apps keep the customer-side wire contract unchanged.
|
|
36
53
|
*
|
|
37
54
|
* Sequence:
|
|
38
|
-
* 1.
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
44
|
-
*
|
|
55
|
+
* 1. Register a one-shot listener for the `SetApiToken` command of either embedded
|
|
56
|
+
* product. (A raw window listener rather than `messagingUtils.addListener` — the
|
|
57
|
+
* messagingUtils filter reads a single module-wide `{product, allowlist}` config,
|
|
58
|
+
* so it cannot accept the command from both products at once.)
|
|
59
|
+
* 2. Emit `listeningForApiToken` to the parent frame under both product names.
|
|
60
|
+
* 3. Await the parent's `SetApiToken`, apply it to the host backend, then tear the
|
|
61
|
+
* listener down so the mounted app can register its full command set.
|
|
45
62
|
*
|
|
46
63
|
* Resolves once a valid token has been applied. Rejects if `signal` aborts.
|
|
47
64
|
*/
|
|
@@ -50,7 +67,7 @@ export async function waitForInjectedApiToken(signal) {
|
|
|
50
67
|
let listener;
|
|
51
68
|
const cleanup = () => {
|
|
52
69
|
if (listener) {
|
|
53
|
-
|
|
70
|
+
window.removeEventListener("message", listener);
|
|
54
71
|
listener = undefined;
|
|
55
72
|
}
|
|
56
73
|
signal?.removeEventListener("abort", onAbort);
|
|
@@ -64,21 +81,18 @@ export async function waitForInjectedApiToken(signal) {
|
|
|
64
81
|
return;
|
|
65
82
|
}
|
|
66
83
|
signal?.addEventListener("abort", onAbort, { once: true });
|
|
67
|
-
listener = (
|
|
68
|
-
|
|
69
|
-
return false;
|
|
70
|
-
}
|
|
71
|
-
const payload = command.data.gdc.event.data;
|
|
84
|
+
listener = (e) => {
|
|
85
|
+
const payload = getSetApiTokenPayload(e.data);
|
|
72
86
|
if (!payload) {
|
|
73
|
-
return
|
|
87
|
+
return;
|
|
74
88
|
}
|
|
75
89
|
const token = payload.token;
|
|
76
90
|
const tokenType = payload.type ?? "gooddata";
|
|
77
91
|
if (typeof token !== "string" || token.length === 0) {
|
|
78
|
-
return
|
|
92
|
+
return;
|
|
79
93
|
}
|
|
80
94
|
if (tokenType === "jwt" && !/^[\w-]+\.[\w-]+\.[\w-]+$/.test(token)) {
|
|
81
|
-
return
|
|
95
|
+
return;
|
|
82
96
|
}
|
|
83
97
|
try {
|
|
84
98
|
if (tokenType === "jwt") {
|
|
@@ -88,17 +102,16 @@ export async function waitForInjectedApiToken(signal) {
|
|
|
88
102
|
setApiToken(token);
|
|
89
103
|
}
|
|
90
104
|
}
|
|
91
|
-
catch (
|
|
105
|
+
catch (err) {
|
|
92
106
|
cleanup();
|
|
93
|
-
reject(
|
|
94
|
-
return
|
|
107
|
+
reject(err);
|
|
108
|
+
return;
|
|
95
109
|
}
|
|
96
110
|
cleanup();
|
|
97
111
|
resolve();
|
|
98
|
-
return true;
|
|
99
112
|
};
|
|
100
|
-
|
|
101
|
-
messagingUtils.addListener(listener);
|
|
113
|
+
window.addEventListener("message", listener, false);
|
|
102
114
|
messagingUtils.postEvent(GdcProductName.ANALYTICAL_DESIGNER, GdcAdEventType.ListeningForApiToken, {});
|
|
115
|
+
messagingUtils.postEvent(GdcProductName.KPI_DASHBOARD, GdcKdEventType.ListeningForApiToken, {});
|
|
103
116
|
});
|
|
104
117
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Seite nicht gefunden",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "Die Seite, die Sie suchen, existiert nicht oder Sie haben keinen Zugriff darauf.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Ein unvorhergesehener Fehler ist aufgetreten.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Diese Anwendung ist für Ihre Organisation nicht verfügbar.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Diese Anwendung ist veraltet und muss von ihrem Autor neu erstellt werden, bevor sie erneut ausgeführt werden kann.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Dieser Anwendung fehlen erforderliche Sicherheitsmetadaten und sie kann nicht geladen werden.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Demo-Anwendung gültig bis {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "Eine neue Version von GoodData ist verfügbar.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Neu laden",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Erste Schritte",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Daten verbinden",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Workspaces und Workspace-Hierarchie verwalten",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Benutzer und Benutzergruppen verwalten",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Daten verbinden",
|
|
32
|
+
"gs.header.helpMenu.starting": "Erste Schritte mit LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Datenmodellierung im Detail",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Das logische Datenmodell (LDM) verstehen",
|
|
35
|
+
"gs.header.helpMenu.learning": "Die Prinzipien der Datenmodellierung kennenlernen",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Erste Schritte im Analytical Designer",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Daten visualisieren",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Ergebnisse sortieren und filtern",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Analytical Designer in Ihre App einbetten",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Großartig! Wir haben Ihre Visualisierung gespeichert.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Hoppla, beim Speichern Ihrer Visualisierung ist ein Problem aufgetreten.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "Der Visualisierungslink wurde in Ihre Zwischenablage kopiert.",
|
|
31
44
|
"messages.showMore": "Mehr anzeigen",
|
|
32
45
|
"messages.showLess": "Weniger anzeigen",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Erstellen Sie eine neue Visualisierung basierend auf: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Erstellen Sie eine neue Visualisierung basierend auf: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Page not found",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "The page you are looking for does not exist or you do not have access to it.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Something went wrong",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organisation.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Demo application valid till {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "A new version of GoodData is available.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Reload",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Getting started",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Connecting data",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Managing workspaces and workspace hierarchy",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Managing users and user groups",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Connecting data",
|
|
32
|
+
"gs.header.helpMenu.starting": "Starting with LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modelling data in depth",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Understanding the Logical Data Model",
|
|
35
|
+
"gs.header.helpMenu.learning": "Learning the principles of data modelling",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "First steps in Analytical Designer",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Visualising your data",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Sorting and filtering your results",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Embedding Analytical Designer into your app",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Great! We've saved your visualisation.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Unfortunately, there was an issue when saving your visualisation.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "The visualisation link has been copied to your clipboard.",
|
|
31
44
|
"messages.showMore": "Show more",
|
|
32
45
|
"messages.showLess": "Show less",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Create new visualisation based on: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Create new visualisation based on: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Page not found",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "The page you are looking for does not exist or you do not have access to it.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Something went wrong",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organisation.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Demo application valid till {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "A new version of GoodData is available.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Reload",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Getting started",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Connecting data",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Managing workspaces and workspace hierarchy",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Managing users and user groups",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Connecting data",
|
|
32
|
+
"gs.header.helpMenu.starting": "Starting with LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modelling data in depth",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Understanding the Logical Data Model",
|
|
35
|
+
"gs.header.helpMenu.learning": "Learning the principles of data modelling",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "First steps in Analytical Designer",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Visualising your data",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Sorting and filtering your results",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Embedding Analytical Designer into your app",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Great! We saved your visualisation.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "An error occurred while saving your visualisation.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "The visualisation link has been copied to your clipboard.",
|
|
31
44
|
"messages.showMore": "Show more",
|
|
32
45
|
"messages.showLess": "Show less",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Build new visualisation based on: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Build new visualisation based on: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Página no encontrada",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "La página que busca no existe o no tiene acceso a ella.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Se ha producido un error imprevisto.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Esta aplicación no está disponible para su organización.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Esta aplicación está desactualizada y su autor debe volver a compilarla antes de que pueda ejecutarse de nuevo.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Esta aplicación no tiene los metadatos de seguridad requeridos y no se puede cargar.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Aplicación de demostración válida hasta {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "Hay una nueva versión de GoodData disponible.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Recargar",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Primeros pasos",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Conexión de datos",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Gestión de espacios de trabajo y jerarquía de espacios de trabajo",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Gestión de usuarios y grupos de usuarios",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Conexión de datos",
|
|
32
|
+
"gs.header.helpMenu.starting": "Primeros pasos con LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modelado de datos en profundidad",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Comprender el modelo lógico de datos (LDM)",
|
|
35
|
+
"gs.header.helpMenu.learning": "Aprender los principios del modelado de datos",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Primeros pasos en Analytical Designer",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Cómo visualizar los datos",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Cómo ordenar y filtrar los resultados",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Cómo incrustar Analytical Designer en su aplicación",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "¡Genial! Hemos guardado tu visualización.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Oops, hubo un problema al guardar tu visualización.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "El enlace de visualización se ha copiado en el portapapeles.",
|
|
31
44
|
"messages.showMore": "Mostrar más",
|
|
32
45
|
"messages.showLess": "Mostrar menos",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Crear una nueva visualización basada en: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Crear una nueva visualización basada en: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Página no encontrada",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "La página que busca no existe o no tiene acceso a ella.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Se ha producido un error imprevisto.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Esta aplicación no está disponible para su organización.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Esta aplicación está desactualizada y su autor debe volver a compilarla antes de que pueda ejecutarse de nuevo.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Faltan metadatos de seguridad obligatorios en esta aplicación y no se puede cargar.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Aplicación de demostración válida hasta {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "Hay una nueva versión de GoodData disponible.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Recargar",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Primeros pasos",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Conexión de datos",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Gestión de espacios de trabajo y jerarquía de espacios de trabajo",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Gestión de usuarios y grupos de usuarios",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Conexión de datos",
|
|
32
|
+
"gs.header.helpMenu.starting": "Primeros pasos con LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modelado de datos en profundidad",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Comprender el modelo lógico de datos (LDM)",
|
|
35
|
+
"gs.header.helpMenu.learning": "Aprender los principios del modelado de datos",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Primeros pasos en Diseñador analítico",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Visualizar los datos",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Ordenar y filtrar los resultados",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Incrustar Analytical Designer en su aplicación",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "¡Genial! Hemos guardado su visualización.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Oops, hubo un problema al guardar tu visualización.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "El enlace de visualización se ha copiado en el portapapeles.",
|
|
31
44
|
"messages.showMore": "Mostrar más",
|
|
32
45
|
"messages.showLess": "Mostrar menos",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Construir una nueva visualización basada en{question}
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Construir una nueva visualización basada en: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Sivua ei löytynyt",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "Etsimääsi sivua ei ole olemassa tai sinulla ei ole siihen käyttöoikeutta.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Tapahtui odottamaton virhe.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Tämä sovellus ei ole käytettävissä organisaatiollesi.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Tämä sovellus on vanhentunut, ja sen tekijän on muodostettava se uudelleen, ennen kuin sitä voidaan käyttää taas.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Tästä sovelluksesta puuttuvat vaaditut suojausmetatiedot, eikä sitä voida ladata.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Demo-sovellus voimassa {date} asti",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "GoodData-ohjelmistosta on saatavilla uusi versio.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Lataa uudelleen",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Aloita",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Tietojen yhdistäminen",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Työtilojen ja työtilahierarkian hallinta",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Käyttäjien ja käyttäjäryhmien hallinta",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Tietojen yhdistäminen",
|
|
32
|
+
"gs.header.helpMenu.starting": "LDM Modelerin käytön aloittaminen",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Tietojen mallintaminen perusteellisesti",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Loogisen tietomallin ymmärtäminen",
|
|
35
|
+
"gs.header.helpMenu.learning": "Tietojen mallintamisen periaatteiden oppiminen",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Ensimmäiset askeleet Analytiikkasuunnittelijassa",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Datan visualisointi",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Tulosten lajittelu ja suodattaminen",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Analytiikkasuunnittelijan upottaminen sovellukseesi",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Hienoa! Tallensimme visualisointisi.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Hups, visualisoinnin tallentamisessa ilmeni ongelma.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "Visualisointilinkki on kopioitu leikepöydällesi.",
|
|
31
44
|
"messages.showMore": "Näytä lisää",
|
|
32
45
|
"messages.showLess": "Näytä vähemmän",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Luo uusi visualisointi, joka perustuu{question}
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Luo uusi visualisointi, joka perustuu: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Page introuvable",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "La page que vous recherchez n'existe pas ou vous n'y avez pas accès.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Une erreur imprévue s’est produite.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Cette application n’est pas disponible pour votre organisation.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Cette application n’est plus à jour et doit être reconstruite par son auteur avant de pouvoir être exécutée à nouveau.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Les métadonnées de sécurité requises sont manquantes pour cette application et elle ne peut pas être chargée.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Application de démonstration valide jusqu’au {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "Une nouvelle version de GoodData est disponible.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Recharger",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Prise en main",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Connexion des données",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Gestion des espaces de travail et de la hiérarchie des espaces de travail",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Gestion des utilisateurs et des groupes d’utilisateurs",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Connexion des données",
|
|
32
|
+
"gs.header.helpMenu.starting": "Prise en main de LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modélisation approfondie des données",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Comprendre le modèle logique de données (LDM)",
|
|
35
|
+
"gs.header.helpMenu.learning": "Apprendre les principes de la modélisation des données",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Premiers pas dans Analytical Designer",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Visualisation de vos données",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Tri et filtrage des résultats",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Incorporation d’Analytical Designer à votre application",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Parfait ! Votre visualisation a été enregistrée.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Oups, il y a eu un problème lors de l'enregistrement de votre visualisation.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "Le lien de visualisation a été copié dans votre presse-papiers.",
|
|
31
44
|
"messages.showMore": "Montrer plus",
|
|
32
45
|
"messages.showLess": "Montrer moins",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Construire une nouvelle visualisation basée sur: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Construire une nouvelle visualisation basée sur: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Page introuvable",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "La page que vous recherchez n'existe pas ou vous n'y avez pas accès.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Une erreur imprévue s’est produite.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Cette application n’est pas disponible pour votre organisation.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Cette application n’est pas à jour et doit être reconstruite par son auteur avant de pouvoir être exécutée à nouveau.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Les métadonnées de sécurité requises sont manquantes pour cette application et elle ne peut pas être chargée.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Application de démonstration valide jusqu’au {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "Une nouvelle version de GoodData est disponible.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Recharger",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Prise en main",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Connexion des données",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Gestion des espaces de travail et de la hiérarchie des espaces de travail",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Gestion des utilisateurs et des groupes d’utilisateurs",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Connexion des données",
|
|
32
|
+
"gs.header.helpMenu.starting": "Premiers pas avec LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modélisation approfondie des données",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Comprendre le modèle logique de données (LDM)",
|
|
35
|
+
"gs.header.helpMenu.learning": "Apprendre les principes de la modélisation des données",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Premiers pas dans Concepteur analytique",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Visualisation de vos données",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Tri et filtrage de vos résultats",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Intégration de Concepteur analytique à votre application",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Parfait ! Votre visualisation a été enregistrée.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Oups, il y a eu un problème lors de l'enregistrement de votre visualisation.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "Le lien de la visualisation a été copié dans votre presse-papiers.",
|
|
31
44
|
"messages.showMore": "Montrer plus",
|
|
32
45
|
"messages.showLess": "Montrer moins",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Construire une nouvelle visualisation
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Construire une nouvelle visualisation basée sur : {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Halaman tidak ditemukan",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "Halaman yang Anda cari tidak ada atau Anda tidak memiliki akses ke halaman tersebut.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Terjadi kesalahan",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Aplikasi ini tidak tersedia untuk organisasi Anda.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Aplikasi ini sudah usang dan harus dibangun ulang oleh pembuatnya sebelum dapat berjalan lagi.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "Aplikasi ini tidak memiliki metadata keamanan yang diperlukan dan tidak dapat dimuat.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Aplikasi demo berlaku hingga {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "Versi baru GoodData tersedia.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Muat ulang",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Memulai",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Menghubungkan data",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Mengelola ruang kerja dan hierarki ruang kerja",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Mengelola pengguna dan grup pengguna",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Menghubungkan data",
|
|
32
|
+
"gs.header.helpMenu.starting": "Memulai dengan LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Memodelkan data secara mendalam",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Memahami model data logis",
|
|
35
|
+
"gs.header.helpMenu.learning": "Mempelajari prinsip-prinsip pemodelan data",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Langkah pertama di Perancang analitik",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Memvisualisasikan data Anda",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Mengurutkan dan memfilter hasil Anda",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Menyematkan Perancang analitik ke aplikasi Anda",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Berhasil. Kami menyimpan visualisasi Anda.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Terjadi masalah saat menyimpan visualisasi Anda.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "Tautan visualisasi telah disalin ke clipboard Anda.",
|
|
31
44
|
"messages.showMore": "Tampilkan lebih banyak",
|
|
32
45
|
"messages.showLess": "Tampilkan lebih sedikit",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Bangun visualisasi baru berdasarkan: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Bangun visualisasi baru berdasarkan: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "Pagina non trovata",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "La pagina che stai cercando non esiste o non hai accesso a essa.",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "Si è verificato un errore imprevisto.",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "Questa applicazione non è disponibile per la tua organizzazione.",
|
|
22
|
+
"gs.host.error.appBuildExpired": "Questa applicazione non è aggiornata e deve essere ricompilata dal suo autore prima di poter essere eseguita di nuovo.",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "In questa applicazione mancano i metadati di sicurezza richiesti e non può essere caricata.",
|
|
24
|
+
"gs.host.demoApp.validUntil": "Applicazione demo valida fino al {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "È disponibile una nuova versione di GoodData.",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "Ricarica",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "Primi passi",
|
|
24
28
|
"gs.header.helpMenu.connectData": "Connessione dei dati",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "Gestione delle aree di lavoro e della gerarchia delle aree di lavoro",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "Gestione di utenti e gruppi di utenti",
|
|
31
|
+
"gs.header.helpMenu.connecting": "Connessione dei dati",
|
|
32
|
+
"gs.header.helpMenu.starting": "Introduzione a LDM Modeler",
|
|
33
|
+
"gs.header.helpMenu.modeling": "Modellazione dei dati in dettaglio",
|
|
34
|
+
"gs.header.helpMenu.understanding": "Comprendere il modello dati logico",
|
|
35
|
+
"gs.header.helpMenu.learning": "Apprendere i principi della modellazione dei dati",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Primi passi in Analytical Designer",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "Visualizzazione dei dati",
|
|
38
|
+
"gs.header.helpMenu.sorting": "Ordinamento e applicazione filtri dei risultati",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Incorpora Analytical Designer nella tua app",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "Ottimo! Abbiamo salvato la tua visualizzazione.",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "Ops, si è verificato un problema durante il salvataggio della visualizzazione.",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "Il link di visualizzazione è stato copiato negli appunti.",
|
|
31
44
|
"messages.showMore": "Mostra di più",
|
|
32
45
|
"messages.showLess": "Mostra di meno",
|
|
33
|
-
"gen-ai.ask-assistant.search": "Costruire nuove visualizzazioni basate su: {question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "Costruire nuove visualizzazioni basate su: {question}"
|
|
37
47
|
}
|
|
@@ -18,20 +18,30 @@
|
|
|
18
18
|
"gs.host.error.pageNotFound": "ページが見つかりません",
|
|
19
19
|
"gs.host.error.pageNotFoundDescription": "お探しのページは存在しないか、アクセス権限がありません。",
|
|
20
20
|
"gs.host.error.somethingWentWrong": "予期せぬエラーが発生しました。",
|
|
21
|
+
"gs.host.error.appNotAllowedForOrganization": "このアプリケーションは、お客様の組織では利用できません。",
|
|
22
|
+
"gs.host.error.appBuildExpired": "このアプリケーションは古くなっており、再度実行するには作成者が再ビルドする必要があります。",
|
|
23
|
+
"gs.host.error.appSecurityMetadataMissing": "このアプリケーションには必要なセキュリティメタデータが不足しているため、読み込めません。",
|
|
24
|
+
"gs.host.demoApp.validUntil": "デモアプリケーションの有効期限: {date}",
|
|
21
25
|
"gs.host.notification.newDeployment.message": "GoodData の新しいバージョンが利用可能です。",
|
|
22
26
|
"gs.host.notification.newDeployment.reloadLink": "リロード",
|
|
23
27
|
"gs.header.helpMenu.gettingStarted": "スタートアップガイド",
|
|
24
28
|
"gs.header.helpMenu.connectData": "データを接続中",
|
|
25
29
|
"gs.header.helpMenu.manage.ws": "ワークスペースとワークスペース階層の管理",
|
|
26
30
|
"gs.header.helpMenu.manage.user": "ユーザーとユーザーグループの管理",
|
|
31
|
+
"gs.header.helpMenu.connecting": "データを接続中",
|
|
32
|
+
"gs.header.helpMenu.starting": "LDM Modelerの開始",
|
|
33
|
+
"gs.header.helpMenu.modeling": "データモデリングの詳細",
|
|
34
|
+
"gs.header.helpMenu.understanding": "論理データモデル (LDM) を理解する",
|
|
35
|
+
"gs.header.helpMenu.learning": "データモデリングの原則を学ぶ",
|
|
36
|
+
"gs.header.helpMenu.firstSteps": "Analytical Designerの最初の一歩",
|
|
37
|
+
"gs.header.helpMenu.visualizing": "データを可視化",
|
|
38
|
+
"gs.header.helpMenu.sorting": "結果の並び替えとフィルター",
|
|
39
|
+
"gs.header.helpMenu.embedding": "Analytical Designerをアプリに組み込む",
|
|
27
40
|
"messages.genAi.visualisation.saved.success": "完了!ビジュアライゼーションを保存しました。",
|
|
28
41
|
"messages.genAi.visualisation.saved.error": "ビジュアライゼーションを保存する際に問題が発生しました。",
|
|
29
42
|
"messages.genAi.visualisation.saved.error.detail": "{errorType}: {errorMessage}",
|
|
30
43
|
"messages.genAi.visualisation.link.copied": "視覚化リンクがクリップボードにコピーされました。",
|
|
31
44
|
"messages.showMore": "もっと表示",
|
|
32
45
|
"messages.showLess": "表示を減らす",
|
|
33
|
-
"gen-ai.ask-assistant.search": "新しいビジュアライゼーションを構築する:{question}"
|
|
34
|
-
"gs.host.error.appNotAllowedForOrganization": "This application is not available for your organization.",
|
|
35
|
-
"gs.host.error.appBuildExpired": "This application is out of date and must be rebuilt by its author before it can run again.",
|
|
36
|
-
"gs.host.error.appSecurityMetadataMissing": "This application is missing required security metadata and cannot be loaded."
|
|
46
|
+
"gen-ai.ask-assistant.search": "新しいビジュアライゼーションを構築する:{question}"
|
|
37
47
|
}
|