From ba84c694b296756fd67699654948fc64c50becec Mon Sep 17 00:00:00 2001 From: Panagiotis Papadopoulos Date: Wed, 26 Feb 2025 20:48:46 +0100 Subject: [PATCH 1/6] i18n(options/etapi): improve translatability of description string convert the split up string into a single interpolated string, which improves translatability (and allows LTR translations) --- src/public/app/widgets/type_widgets/options/etapi.ts | 6 +++++- src/public/translations/cn/translation.json | 3 +-- src/public/translations/de/translation.json | 3 +-- src/public/translations/en/translation.json | 3 +-- src/public/translations/es/translation.json | 3 +-- src/public/translations/fr/translation.json | 3 +-- src/public/translations/ro/translation.json | 3 +-- 7 files changed, 11 insertions(+), 13 deletions(-) diff --git a/src/public/app/widgets/type_widgets/options/etapi.ts b/src/public/app/widgets/type_widgets/options/etapi.ts index 151314fae..7effb6117 100644 --- a/src/public/app/widgets/type_widgets/options/etapi.ts +++ b/src/public/app/widgets/type_widgets/options/etapi.ts @@ -10,7 +10,11 @@ const TPL = `

${t("etapi.title")}

${t("etapi.description")}
- ${t("etapi.see_more")} ${t("etapi.wiki")} ${t("etapi.and")} ${t("etapi.openapi_spec")}.

+ ${t("etapi.see_more", { + link_to_wiki: `${t("etapi.wiki")}`, + link_to_openapi_spec: `${t("etapi.openapi_spec")}` + })} +

diff --git a/src/public/translations/cn/translation.json b/src/public/translations/cn/translation.json index 61bccbe77..c63f56bc4 100644 --- a/src/public/translations/cn/translation.json +++ b/src/public/translations/cn/translation.json @@ -1221,9 +1221,8 @@ "etapi": { "title": "ETAPI", "description": "ETAPI 是一个 REST API,用于以编程方式访问 Trilium 实例,而无需 UI。", - "see_more": "更多详情见", + "see_more": "", "wiki": "维基", - "and": "和", "openapi_spec": "ETAPI OpenAPI 规范", "create_token": "创建新的 ETAPI 令牌", "existing_tokens": "现有令牌", diff --git a/src/public/translations/de/translation.json b/src/public/translations/de/translation.json index daf823696..39f00ebd7 100644 --- a/src/public/translations/de/translation.json +++ b/src/public/translations/de/translation.json @@ -1248,9 +1248,8 @@ "etapi": { "title": "ETAPI", "description": "ETAPI ist eine REST-API, die für den programmgesteuerten Zugriff auf die Trilium-Instanz ohne Benutzeroberfläche verwendet wird.", - "see_more": "Weitere Details findest du unter", + "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} gefunden werden.", "wiki": "Wiki", - "and": "und", "openapi_spec": "ETAPI OpenAPI-Spezifikation", "create_token": "Erstelle ein neues ETAPI-Token", "existing_tokens": "Vorhandene Token", diff --git a/src/public/translations/en/translation.json b/src/public/translations/en/translation.json index 3394507c1..b2269176c 100644 --- a/src/public/translations/en/translation.json +++ b/src/public/translations/en/translation.json @@ -1252,9 +1252,8 @@ "etapi": { "title": "ETAPI", "description": "ETAPI is a REST API used to access Trilium instance programmatically, without UI.", - "see_more": "See more details on", + "see_more": "See more details in the {{- link_to_wiki}} and the {{- link_to_openapi_spec}}.", "wiki": "wiki", - "and": "and", "openapi_spec": "ETAPI OpenAPI spec", "create_token": "Create new ETAPI token", "existing_tokens": "Existing tokens", diff --git a/src/public/translations/es/translation.json b/src/public/translations/es/translation.json index f8327f774..f757c04d3 100644 --- a/src/public/translations/es/translation.json +++ b/src/public/translations/es/translation.json @@ -1245,9 +1245,8 @@ "etapi": { "title": "ETAPI", "description": "ETAPI es una REST API que se utiliza para acceder a la instancia de Trilium mediante programación, sin interfaz de usuario.", - "see_more": "Ver más detalles sobre", + "see_more": "", "wiki": "wiki", - "and": "y", "openapi_spec": "Especificación ETAPI OpenAPI", "create_token": "Crear nuevo token ETAPI", "existing_tokens": "Tokens existentes", diff --git a/src/public/translations/fr/translation.json b/src/public/translations/fr/translation.json index 8eac639f7..e4e3c5110 100644 --- a/src/public/translations/fr/translation.json +++ b/src/public/translations/fr/translation.json @@ -1252,9 +1252,8 @@ "etapi": { "title": "ETAPI", "description": "ETAPI est une API REST utilisée pour accéder à l'instance Trilium par programme, sans interface utilisateur.", - "see_more": "Voir plus de détails sur", + "see_more": "", "wiki": "wiki", - "and": "et", "openapi_spec": "Spec ETAPI OpenAPI", "create_token": "Créer un nouveau jeton ETAPI", "existing_tokens": "Jetons existants", diff --git a/src/public/translations/ro/translation.json b/src/public/translations/ro/translation.json index d31d6563c..e04acd46a 100644 --- a/src/public/translations/ro/translation.json +++ b/src/public/translations/ro/translation.json @@ -479,7 +479,6 @@ }, "etapi": { "actions": "Acțiuni", - "and": "și", "create_token": "Crează un token ETAPI nou", "created": "Creat", "default_token_name": "token nou", @@ -495,7 +494,7 @@ "rename_token": "Redenumește token-ul", "rename_token_message": "Introduceți denumirea noului token", "rename_token_title": "Redenumire token", - "see_more": "Mai multe informații pe", + "see_more": "", "title": "ETAPI", "token_created_message": "Copiați token-ul creat în clipboard. Trilium stochează token-ul ca hash așadar această valoare poate fi văzută doar acum.", "token_created_title": "Token ETAPI creat", From f1f5839ea28dbb7ad35c30298b88a6ddd9a114b9 Mon Sep 17 00:00:00 2001 From: Panagiotis Papadopoulos Date: Wed, 26 Feb 2025 21:04:19 +0100 Subject: [PATCH 2/6] feat(options/etapi): link to the swagger UI that we ship since we are shipping it, why not link to it as well :-) --- src/public/app/widgets/type_widgets/options/etapi.ts | 3 ++- src/public/translations/cn/translation.json | 1 + src/public/translations/de/translation.json | 3 ++- src/public/translations/en/translation.json | 3 ++- src/public/translations/es/translation.json | 1 + src/public/translations/fr/translation.json | 1 + src/public/translations/ro/translation.json | 1 + src/public/translations/tw/translation.json | 4 ++-- 8 files changed, 12 insertions(+), 5 deletions(-) diff --git a/src/public/app/widgets/type_widgets/options/etapi.ts b/src/public/app/widgets/type_widgets/options/etapi.ts index 7effb6117..8de60d9de 100644 --- a/src/public/app/widgets/type_widgets/options/etapi.ts +++ b/src/public/app/widgets/type_widgets/options/etapi.ts @@ -12,7 +12,8 @@ const TPL = `

${t("etapi.description")}
${t("etapi.see_more", { link_to_wiki: `${t("etapi.wiki")}`, - link_to_openapi_spec: `${t("etapi.openapi_spec")}` + link_to_openapi_spec: `${t("etapi.openapi_spec")}`, + link_to_swagger_ui: `${t("etapi.swagger_ui")}` })}

diff --git a/src/public/translations/cn/translation.json b/src/public/translations/cn/translation.json index c63f56bc4..0910413d4 100644 --- a/src/public/translations/cn/translation.json +++ b/src/public/translations/cn/translation.json @@ -1224,6 +1224,7 @@ "see_more": "", "wiki": "维基", "openapi_spec": "ETAPI OpenAPI 规范", + "swagger_ui": "", "create_token": "创建新的 ETAPI 令牌", "existing_tokens": "现有令牌", "no_tokens_yet": "目前还没有令牌。点击上面的按钮创建一个。", diff --git a/src/public/translations/de/translation.json b/src/public/translations/de/translation.json index 39f00ebd7..c486e6871 100644 --- a/src/public/translations/de/translation.json +++ b/src/public/translations/de/translation.json @@ -1248,9 +1248,10 @@ "etapi": { "title": "ETAPI", "description": "ETAPI ist eine REST-API, die für den programmgesteuerten Zugriff auf die Trilium-Instanz ohne Benutzeroberfläche verwendet wird.", - "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} gefunden werden.", + "see_more": "Weitere Details können im {{- link_to_wiki}} und in der {{- link_to_openapi_spec}} oder der {{- link_to_swagger_ui }} gefunden werden.", "wiki": "Wiki", "openapi_spec": "ETAPI OpenAPI-Spezifikation", + "swagger_ui": "ETAPI Swagger UI", "create_token": "Erstelle ein neues ETAPI-Token", "existing_tokens": "Vorhandene Token", "no_tokens_yet": "Es sind noch keine Token vorhanden. Klicke auf die Schaltfläche oben, um eine zu erstellen.", diff --git a/src/public/translations/en/translation.json b/src/public/translations/en/translation.json index b2269176c..cf5dbc0e6 100644 --- a/src/public/translations/en/translation.json +++ b/src/public/translations/en/translation.json @@ -1252,9 +1252,10 @@ "etapi": { "title": "ETAPI", "description": "ETAPI is a REST API used to access Trilium instance programmatically, without UI.", - "see_more": "See more details in the {{- link_to_wiki}} and the {{- link_to_openapi_spec}}.", + "see_more": "See more details in the {{- link_to_wiki}} and the {{- link_to_openapi_spec}} or the {{- link_to_swagger_ui }}.", "wiki": "wiki", "openapi_spec": "ETAPI OpenAPI spec", + "swagger_ui": "ETAPI Swagger UI", "create_token": "Create new ETAPI token", "existing_tokens": "Existing tokens", "no_tokens_yet": "There are no tokens yet. Click on the button above to create one.", diff --git a/src/public/translations/es/translation.json b/src/public/translations/es/translation.json index f757c04d3..b3f5e0e33 100644 --- a/src/public/translations/es/translation.json +++ b/src/public/translations/es/translation.json @@ -1248,6 +1248,7 @@ "see_more": "", "wiki": "wiki", "openapi_spec": "Especificación ETAPI OpenAPI", + "swagger_ui": "", "create_token": "Crear nuevo token ETAPI", "existing_tokens": "Tokens existentes", "no_tokens_yet": "Aún no hay tokens. Dé clic en el botón de arriba para crear uno.", diff --git a/src/public/translations/fr/translation.json b/src/public/translations/fr/translation.json index e4e3c5110..ee8bf1411 100644 --- a/src/public/translations/fr/translation.json +++ b/src/public/translations/fr/translation.json @@ -1255,6 +1255,7 @@ "see_more": "", "wiki": "wiki", "openapi_spec": "Spec ETAPI OpenAPI", + "swagger_ui": "", "create_token": "Créer un nouveau jeton ETAPI", "existing_tokens": "Jetons existants", "no_tokens_yet": "Il n'y a pas encore de jetons. Cliquez sur le bouton ci-dessus pour en créer un.", diff --git a/src/public/translations/ro/translation.json b/src/public/translations/ro/translation.json index e04acd46a..f1a82967e 100644 --- a/src/public/translations/ro/translation.json +++ b/src/public/translations/ro/translation.json @@ -491,6 +491,7 @@ "new_token_title": "Token ETAPI nou", "no_tokens_yet": "Nu există încă token-uri. Clic pe butonul de deasupra pentru a crea una.", "openapi_spec": "Specificația OpenAPI pentru ETAPI", + "swagger_ui": "", "rename_token": "Redenumește token-ul", "rename_token_message": "Introduceți denumirea noului token", "rename_token_title": "Redenumire token", diff --git a/src/public/translations/tw/translation.json b/src/public/translations/tw/translation.json index ae8381b5b..d49d43772 100644 --- a/src/public/translations/tw/translation.json +++ b/src/public/translations/tw/translation.json @@ -1199,10 +1199,10 @@ "etapi": { "title": "ETAPI", "description": "ETAPI 是一個 REST API,用於以編程方式訪問 Trilium 實例,而無需 UI。", - "see_more": "更多詳情見", + "see_more": "", "wiki": "維基", - "and": "和", "openapi_spec": "ETAPI OpenAPI 規範", + "swagger_ui": "", "create_token": "新增新的 ETAPI 令牌", "existing_tokens": "現有令牌", "no_tokens_yet": "目前還沒有令牌。點擊上面的按鈕新增一個。", From 0f1b4614fb58dc993cc8188957a903623dbf8d6f Mon Sep 17 00:00:00 2001 From: Panagiotis Papadopoulos Date: Wed, 26 Feb 2025 21:07:20 +0100 Subject: [PATCH 3/6] chore(options/etapi): add TODO notice to get rid of current workaround --- src/public/app/widgets/type_widgets/options/etapi.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/public/app/widgets/type_widgets/options/etapi.ts b/src/public/app/widgets/type_widgets/options/etapi.ts index 8de60d9de..dd0ffb789 100644 --- a/src/public/app/widgets/type_widgets/options/etapi.ts +++ b/src/public/app/widgets/type_widgets/options/etapi.ts @@ -9,6 +9,8 @@ const TPL = `

${t("etapi.title")}

+ // TriliumNextTODO: src/public/app/services/link.ts -> prevents regular click behavior on "a" element here + // because it is a relative path, and not a URL starting with http(s) -> onclick="window.open(...)" is used as workaround for now

${t("etapi.description")}
${t("etapi.see_more", { link_to_wiki: `${t("etapi.wiki")}`, From bee1df4fdf7d9cf37969100c226ea98935cf706d Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 26 Feb 2025 23:06:35 +0200 Subject: [PATCH 4/6] feat(options/etapi): open swagger UI in in-app-help --- src/public/app/widgets/type_widgets/options/etapi.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/public/app/widgets/type_widgets/options/etapi.ts b/src/public/app/widgets/type_widgets/options/etapi.ts index dd0ffb789..fc6336f3c 100644 --- a/src/public/app/widgets/type_widgets/options/etapi.ts +++ b/src/public/app/widgets/type_widgets/options/etapi.ts @@ -15,7 +15,7 @@ const TPL = ` ${t("etapi.see_more", { link_to_wiki: `${t("etapi.wiki")}`, link_to_openapi_spec: `${t("etapi.openapi_spec")}`, - link_to_swagger_ui: `${t("etapi.swagger_ui")}` + link_to_swagger_ui: `${t("etapi.swagger_ui")}` })}

From 8e5762b125140b09b32e39c61df40f5f12c01ba1 Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 26 Feb 2025 23:09:39 +0200 Subject: [PATCH 5/6] chore(i18n/ro): translate new messages --- src/public/translations/ro/translation.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/public/translations/ro/translation.json b/src/public/translations/ro/translation.json index 90c70cae4..9393f76db 100644 --- a/src/public/translations/ro/translation.json +++ b/src/public/translations/ro/translation.json @@ -491,11 +491,11 @@ "new_token_title": "Token ETAPI nou", "no_tokens_yet": "Nu există încă token-uri. Clic pe butonul de deasupra pentru a crea una.", "openapi_spec": "Specificația OpenAPI pentru ETAPI", - "swagger_ui": "", + "swagger_ui": "UI-ul Swagger pentru ETAPI", "rename_token": "Redenumește token-ul", "rename_token_message": "Introduceți denumirea noului token", "rename_token_title": "Redenumire token", - "see_more": "", + "see_more": "Vedeți mai multe detalii în {{- link_to_wiki}} și în {{- link_to_openapi_spec}} sau în {{- link_to_swagger_ui }}.", "title": "ETAPI", "token_created_message": "Copiați token-ul creat în clipboard. Trilium stochează token-ul ca hash așadar această valoare poate fi văzută doar acum.", "token_created_title": "Token ETAPI creat", From fd66da95f3d417d29e631e97aed8d5f770a677bc Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Wed, 26 Feb 2025 23:42:03 +0200 Subject: [PATCH 6/6] fix(options/etapi): comments being visible to the user --- src/public/app/widgets/type_widgets/options/etapi.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/public/app/widgets/type_widgets/options/etapi.ts b/src/public/app/widgets/type_widgets/options/etapi.ts index fc6336f3c..36a37cc27 100644 --- a/src/public/app/widgets/type_widgets/options/etapi.ts +++ b/src/public/app/widgets/type_widgets/options/etapi.ts @@ -9,11 +9,10 @@ const TPL = `

${t("etapi.title")}

- // TriliumNextTODO: src/public/app/services/link.ts -> prevents regular click behavior on "a" element here - // because it is a relative path, and not a URL starting with http(s) -> onclick="window.open(...)" is used as workaround for now

${t("etapi.description")}
${t("etapi.see_more", { link_to_wiki: `${t("etapi.wiki")}`, + // TODO: We use window.open src/public/app/services/link.ts -> prevents regular click behavior on "a" element here because it's a relative path link_to_openapi_spec: `${t("etapi.openapi_spec")}`, link_to_swagger_ui: `${t("etapi.swagger_ui")}` })}