diff --git a/src/components/instance-select.astro b/src/components/instance-select.astro index 7b8e42c..094d0d4 100644 --- a/src/components/instance-select.astro +++ b/src/components/instance-select.astro @@ -10,11 +10,8 @@ const { instance, errors } = Astro.props; --- - - Fediverse instance + + Fediverse instance - Previously used: + Previously used: - Remember instance on this device. + /> + Remember instance on this device. This will not work when JavaScript is disabled. @@ -141,6 +137,7 @@ const { instance, errors } = Astro.props; const element = document.createElement("span"); element.classList.add("link"); element.textContent = host; + element.dir = "ltr"; element.addEventListener("click", () => { instanceElement.value = host; }); diff --git a/src/components/language-select.astro b/src/components/language-select.astro index 763df89..adadd92 100644 --- a/src/components/language-select.astro +++ b/src/components/language-select.astro @@ -12,7 +12,7 @@ const initialLanguage = "en"; --- - 🌍 Language: + 🌍 Language: Licence - + Share₂Fedi is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation. - + Share₂Fedi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License diff --git a/src/components/privacy.html b/src/components/privacy.html index 94de2ab..3dae8ed 100644 --- a/src/components/privacy.html +++ b/src/components/privacy.html @@ -8,7 +8,10 @@ SPDX-License-Identifier: CC0-1.0 Privacy Notice - + s2f.kytta.dev is hosted on Vercel. Vercel processes IP addresses, system configuration information, and other information about traffic to and from s2f.kytta.dev. Vercel does not store this information nor does it get shared @@ -20,7 +23,10 @@ SPDX-License-Identifier: CC0-1.0 > for more information. - + When you click the ‘Publish’ button, you’ll get redirected to a Fediverse instance you’ve specified. It may process and/or store your data. Please refer to the privacy policy of the respective instance. diff --git a/src/i18n/engine.ts b/src/i18n/engine.ts index 3321f28..19ba847 100644 --- a/src/i18n/engine.ts +++ b/src/i18n/engine.ts @@ -72,6 +72,18 @@ export function applyTranslations(language: string) { } } + if (Intl.ListFormat) { + const formatter = new Intl.ListFormat(language, { + style: "short", + type: "conjunction", + }); + + for (const node of document.querySelectorAll("[data-enumerate]")) { + const dataset = (node as HTMLElement).dataset; + node.innerHTML = formatter.format(dataset.enumerate!.split(",")); + } + } + document.documentElement.lang = language; document.documentElement.dir = languages[language as keyof typeof languages].dir; diff --git a/src/i18n/translations.ts b/src/i18n/translations.ts index 84db5f8..8d81bf8 100644 --- a/src/i18n/translations.ts +++ b/src/i18n/translations.ts @@ -6,6 +6,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +import ar from "./translations/ar.json"; import de from "./translations/de.json"; import en from "./translations/en.json"; import es from "./translations/es.json"; @@ -14,8 +15,9 @@ import nl from "./translations/nl.json"; import ru from "./translations/ru.json"; export const languages = { - en: { autonym: "English", dir: "ltr" }, + ar: { autonym: "العربية", dir: "rtl" }, de: { autonym: "Deutsch", dir: "ltr" }, + en: { autonym: "English", dir: "ltr" }, es: { autonym: "Español", dir: "ltr" }, fr: { autonym: "Français", dir: "ltr" }, nl: { autonym: "Nederlands", dir: "ltr" }, @@ -23,8 +25,9 @@ export const languages = { }; export const strings: Record> = { - en, + ar, de, + en, es, fr, nl, diff --git a/src/i18n/translations/ar.json b/src/i18n/translations/ar.json index 349cc1a..c7bac8d 100644 --- a/src/i18n/translations/ar.json +++ b/src/i18n/translations/ar.json @@ -1,21 +1,21 @@ { "privacyNotice": "إشعار الخصوصية", - "postText": "نص المنشور{}", + "postText": "نص المنشور", "fediverse": "الفديفرس", "vercelPP": "سياسة الخصوصية لـ Vercel", "description": "شير تو فيدي Share₂Fedi هو موقع مشاركة لـ {}. يمكنك من خلاله نشر محتوى على منصات متعددة تتبع نموذج الفديرالية من صفحة واحدة.", "incl": "بما فيه", "postTextPlaceholder": "فيمَ تفكّر؟", - "rememberInstance": "{} تذكر مثيل الخادم على هذا الجهاز", - "instance": "مثيل خادم الفديفرس{}", + "rememberInstance": "تذكر مثيل الخادم على هذا الجهاز", + "instance": "مثيل خادم الفديفرس", "licence1": "شير تو فيدي Share₂Fedi هو برنامج حر: يمكنك إعادة توزيعه و/أو تعديله وفقًا لشروط الرخصة العامة GNU Affero، الإصدار 3، كما نَشرَتها مؤسسة البرمجيات الحرة.", - "previouslyUsed": "تم استخدامه مسبقًا: {}", + "previouslyUsed": "تم استخدامه مسبقًا:", "metaDescription": "شير تو فيدي Share₂Fedi هي صفحة مشاركة لـ Mastodon و Misskey و Friendica وغيرها. اكتب نص منشورك وعنوان الرابط التشعبي لمثيل الخادم، ثم انقر على ”أنشر“!", "nikita": "نيكيتا كاراموف", "statusPage": "صفحة الحالة", "publish": "أنشر", "licence": "الرخصة", - "language": "اللغة: {}", + "language": "اللغة:", "supportedProjects": "المشاريع المدعومة:", "privacy2": "عندما تنقر على زر ”أنشر“، سيتم توجيهك إلى مثيل خادم الفديفرس الذي حددته. قد يقوم بمعالجة و/أو تخزين بياناتك. يرجى الرجوع إلى سياسة الخصوصية للخادم المعني.", "onGitHub": "على جت هب", diff --git a/src/i18n/translations/de.json b/src/i18n/translations/de.json index 0b7972e..10fb2b7 100644 --- a/src/i18n/translations/de.json +++ b/src/i18n/translations/de.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi ist eine Share-Seite für Mastodon, Misskey, Friendica und andere. Geben Sie Ihren Beitragstext und die Instanz-URL ein und klicken Sie auf „Veröffentlichen“!", - "language": "Sprache: {}", + "language": "Sprache:", "description": "Share₂Fedi ist eine instanzunabhängige Share-Seite für {}. Mit ihr können Sie von einer einzigen Seite aus auf verschiedenen föderierten Plattformen posten.", "fediverse": "das Fediverse", "supportedProjects": "Unterstützte Projekte:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev wird auf Vercel gehostet. Vercel verarbeitet IP-Adressen, Systemkonfigurationsinformationen und andere Informationen über den Verkehr von und zu s2f.kytta.dev. Vercel speichert diese Informationen nicht und gibt sie auch nicht an Dritte weiter. Siehe {} für weitere Informationen.", "privacy2": "Wenn Sie auf die „Veröffentlichen“ klicken, werden Sie zu einer Fediverse-Instanz weitergeleitet, die Sie angegeben haben. Diese kann Ihre Daten verarbeiten und/oder speichern. Bitte beachten Sie die Datenschutzrichtlinien der jeweiligen Instanz.", "vercelPP": "Vercels Datenschutzpolitik", - "postText": "Beitragstext{}", + "postText": "Beitragstext", "postTextPlaceholder": "Was gibt’s Neues?", - "instance": "Fediverse-Instanz{}", - "previouslyUsed": "Bisher verwendet: {}", - "rememberInstance": "{} Instanz auf diesem Gerät merken", + "instance": "Fediverse-Instanz", + "previouslyUsed": "Bisher verwendet:", + "rememberInstance": "Instanz auf diesem Gerät merken", "publish": "Veröffentlichen" } diff --git a/src/i18n/translations/en.json b/src/i18n/translations/en.json index aa0ba18..6b714bd 100644 --- a/src/i18n/translations/en.json +++ b/src/i18n/translations/en.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi is a share page for Mastodon, Misskey, Friendica, and others. Type in your post text and the instance URL and click ‘Publish’!", - "language": "Language: {}", + "language": "Language:", "description": "Share₂Fedi is an instance-agnostic share page for {}. With it, you can post to various federated platforms from a single page.", "fediverse": "the Fediverse", "supportedProjects": "Supported projects:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev is hosted on Vercel. Vercel processes IP addresses, system configuration information, and other information about traffic to and from s2f.kytta.dev. Vercel does not store this information nor does it get shared with third parties. See {} for more information.", "privacy2": "When you click the ‘Publish’ button, you’ll get redirected to a Fediverse instance you’ve specified. It may process and/or store your data. Please refer to the privacy policy of the respective instance.", "vercelPP": "Vercel’s privacy policy", - "postText": "Post text{}", + "postText": "Post text", "postTextPlaceholder": "What’s on your mind?", - "instance": "Fediverse instance{}", - "previouslyUsed": "Previously used: {}", - "rememberInstance": "{} Remember instance on this device", + "instance": "Fediverse instance", + "previouslyUsed": "Previously used:", + "rememberInstance": "Remember instance on this device", "publish": "Publish" } diff --git a/src/i18n/translations/es.json b/src/i18n/translations/es.json index e518364..cbda5da 100644 --- a/src/i18n/translations/es.json +++ b/src/i18n/translations/es.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi es una página de compartir para Mastodon, Misskey, Friendica y otros. ¡Escriba su texto de publicación y la URL de la instancia y haga clic en «Publicar»!", - "language": "Idioma: {}", + "language": "Idioma:", "description": "Share₂Fedi es una página de compartir independiente de la instancia para {}. Con ella, puede publicar en varias plataformas federadas desde una sola página.", "fediverse": "el Fediverso", "supportedProjects": "Proyectos compatibles:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev está alojado en Vercel. Vercel procesa las direcciones IP, la información de configuración del sistema y otra información sobre el tráfico hacia y desde s2f.kytta.dev. Vercel no almacena esta información ni la comparte con terceros. Consulte {} para obtener más información.", "privacy2": "Cuando hace clic en el botón «Publicar», se le redirige a una instancia de Fediverso que ha especificado. Puede procesar y/o almacenar sus datos. Consulte la política de privacidad de la instancia correspondiente.", "vercelPP": "Política de privacidad de Vercel", - "postText": "Texto de la publicación{}", + "postText": "Texto de la publicación", "postTextPlaceholder": "¿Qué hay de nuevo?", - "instance": "Instancia del Fediverso{}", - "previouslyUsed": "Usado anteriormente: {}", - "rememberInstance": "{} Recordar instancia en este dispositivo", + "instance": "Instancia del Fediverso", + "previouslyUsed": "Usado anteriormente:", + "rememberInstance": "Recordar instancia en este dispositivo", "publish": "Publicar" } diff --git a/src/i18n/translations/fr.json b/src/i18n/translations/fr.json index be26d77..472838c 100644 --- a/src/i18n/translations/fr.json +++ b/src/i18n/translations/fr.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi est une page de partage pour Mastodon, Misskey, Friendica et autres. Tapez votre texte de publication et l’URL de l’instance, puis cliquez sur « Publier » !", - "language": "Langue : {}", + "language": "Langue :", "description": "Share₂Fedi est une page de partage indépendante pour {}. Avec elle, vous pouvez publier sur diverses plateformes fédérées depuis une seule page.", "fediverse": "le Fediverse", "supportedProjects": "Projets pris en charge :", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev est hébergé sur Vercel. Vercel traite les adresses IP, les informations de configuration système et d’autres informations sur le trafic vers et depuis s2f.kytta.dev. Vercel ne stocke pas ces informations et ne les partage pas avec des tiers. Voir {} pour plus d’informations.", "privacy2": "Lorsque vous cliquez sur le bouton « Publier », vous êtes redirigé vers une instance du Fediverse que vous avez spécifiée. Elle peut traiter et/ou stocker vos données. Veuillez vous référer à la politique de confidentialité de l’instance respective.", "vercelPP": "Politique de confidentialité de Vercel", - "postText": "Texte de la publication{}", + "postText": "Texte de la publication", "postTextPlaceholder": "Quoi de neuf ?", - "instance": "Instance du Fediverse{}", - "previouslyUsed": "Utilisé précédemment : {}", - "rememberInstance": "{} Se souvenir de l’instance sur cet appareil", + "instance": "Instance du Fediverse", + "previouslyUsed": "Utilisé précédemment :", + "rememberInstance": "Se souvenir de l’instance sur cet appareil", "publish": "Publier" } diff --git a/src/i18n/translations/nl.json b/src/i18n/translations/nl.json index 71d03c7..e58689b 100644 --- a/src/i18n/translations/nl.json +++ b/src/i18n/translations/nl.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi is een deelpagina voor Mastodon, Misskey, Friendica en andere fediversenetwerken. Voer een bericht in, plak de instantie-url en klik op ‘Publiceren’!", - "language": "Taal: {}", + "language": "Taal:", "description": "Share₂Fedi is een instantie-onafhankelijke deelpagina voor {}. Zo kun je berichten plaatsen op meerdere fediversenetwerken tegelijk.", "fediverse": "het Fediverse", "supportedProjects": "Ondersteunde netwerken:", @@ -13,10 +13,10 @@ "privacy2": "Als je op publiceren klikt, wordt je doorgestuurd naar de opgegeven fediverse-instantie. Hierbij worden je gegevens mogelijk verwerkt en/of bewaard. Bekijk voor meer informatie het privacybeleid van je instantie.", "vercelPP": "Vercels privacybeleid", "postTextPlaceholder": "Wat gaat er door je hoofd?", - "instance": "Fediverse-instantie{}", - "postText": "Berichtinhoud{}", - "previouslyUsed": "Onlangs gebruikt: {}", - "rememberInstance": "{} Instantie onthouden op dit apparaat", + "instance": "Fediverse-instantie", + "postText": "Berichtinhoud", + "previouslyUsed": "Onlangs gebruikt:", + "rememberInstance": "Instantie onthouden op dit apparaat", "publish": "Publiceren", "credits": "Share₂Fedi wordt ontwikkeld en onderhouden door {}. Broncode: {} - Hosting: {}. {}.", "licence1": "Share₂Fedi is vrije software: je mag de software opnieuw uitgeven en/of aanpassen onder de voorwaarden van de GNU Affero General Public License, versie 3, zoals omschreven door de Free Software Foundation.", diff --git a/src/i18n/translations/ru.json b/src/i18n/translations/ru.json index 56354fd..bd6a85a 100644 --- a/src/i18n/translations/ru.json +++ b/src/i18n/translations/ru.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi — это share-страница для Mastodon, Misskey, Friendica и других сервисов. Введите текст поста и URL-адрес инстанса и нажмите «Опубликовать»!", - "language": "Язык: {}", + "language": "Язык:", "description": "Share₂Fedi — это инстанс-независимая share-страница для {}. С её помощью вы можете делиться информацией на различных федеративных платформах с одной страницы.", "fediverse": "Федивёрса", "supportedProjects": "Поддерживаемые проекты:", @@ -16,10 +16,10 @@ "privacy1": "Сайт s2f.kytta.dev размещён на серверах Vercel. Vercel обрабатывает IP-адреса, информацию о конфигурации системы и другую информацию о трафике, идущем к s2f.kytta.dev и от него. Vercel не хранит эту информацию и не передает её третьим лицам. Более подробную информацию см. в {}.", "privacy2": "Когда вы нажимаете кнопку «Опубликовать», вы попадаете на указанный вами инстанс Федивёрса. Он может обрабатывать и/или хранить ваши данные. Пожалуйста, ознакомьтесь с политикой конфиденциальности соответствующего инстанса.", "vercelPP": "Политике конфиденциальности Vercel", - "postText": "Текст поста{}", + "postText": "Текст поста", "postTextPlaceholder": "О чём думаете?", - "instance": "Инстанс Федивёрса{}", - "previouslyUsed": "Ранее использовались: {}", - "rememberInstance": "{} Запомнить инстанс на этом устройстве", + "instance": "Инстанс Федивёрса", + "previouslyUsed": "Ранее использовались:", + "rememberInstance": "Запомнить инстанс на этом устройстве", "publish": "Опубликовать" } diff --git a/src/i18n/translations/uk.json b/src/i18n/translations/uk.json index c767f16..d413aa3 100644 --- a/src/i18n/translations/uk.json +++ b/src/i18n/translations/uk.json @@ -2,12 +2,12 @@ "privacyNotice": "Політика конфіденційності", "incl": "вкл.", "postTextPlaceholder": "Що у вас на думці?", - "rememberInstance": "{} Запам'ятати інстанс на цьому пристрої", + "rememberInstance": "Запам'ятати інстанс на цьому пристрої", "metaDescription": "Share₂Fedi — це share-сторінка для Mastodon, Misskey, Friendica та інших сервісів. Введіть текст посту та URL-адресу інстансу та натисніть «Опублікувати»!", "statusPage": "Статус", "publish": "Опублікувати", "licence": "Ліцензія", - "language": "Мова: {}", + "language": "Мова:", "supportedProjects": "Підтримувані проєкти:", "onGitHub": "на GitHub" } diff --git a/src/layouts/layout.astro b/src/layouts/layout.astro index 34e64ca..e79f581 100644 --- a/src/layouts/layout.astro +++ b/src/layouts/layout.astro @@ -107,12 +107,16 @@ import package_ from "../../package.json"; Supported projects: - Mastodon (incl. Hometown, Fedibird, - GlitchCafé) + Mastodon (incl. Hometown, Fedibird, GlitchCafé) - Misskey (incl. Firefish/Calckey, - FoundKey, Meisskey) + Misskey (incl. Firefish, Calckey, FoundKey, Meisskey) Friendica Hubzilla diff --git a/src/pages/index.astro b/src/pages/index.astro index 7716cdb..939bf94 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -61,8 +61,8 @@ if (Astro.request.method === "POST") { id="form" method="POST" > - - Post text + + Post text
+
Share₂Fedi is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License, version 3, as published by the Free Software Foundation.
Share₂Fedi is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License diff --git a/src/components/privacy.html b/src/components/privacy.html index 94de2ab..3dae8ed 100644 --- a/src/components/privacy.html +++ b/src/components/privacy.html @@ -8,7 +8,10 @@ SPDX-License-Identifier: CC0-1.0 Privacy Notice - + s2f.kytta.dev is hosted on Vercel. Vercel processes IP addresses, system configuration information, and other information about traffic to and from s2f.kytta.dev. Vercel does not store this information nor does it get shared @@ -20,7 +23,10 @@ SPDX-License-Identifier: CC0-1.0 > for more information. - + When you click the ‘Publish’ button, you’ll get redirected to a Fediverse instance you’ve specified. It may process and/or store your data. Please refer to the privacy policy of the respective instance. diff --git a/src/i18n/engine.ts b/src/i18n/engine.ts index 3321f28..19ba847 100644 --- a/src/i18n/engine.ts +++ b/src/i18n/engine.ts @@ -72,6 +72,18 @@ export function applyTranslations(language: string) { } } + if (Intl.ListFormat) { + const formatter = new Intl.ListFormat(language, { + style: "short", + type: "conjunction", + }); + + for (const node of document.querySelectorAll("[data-enumerate]")) { + const dataset = (node as HTMLElement).dataset; + node.innerHTML = formatter.format(dataset.enumerate!.split(",")); + } + } + document.documentElement.lang = language; document.documentElement.dir = languages[language as keyof typeof languages].dir; diff --git a/src/i18n/translations.ts b/src/i18n/translations.ts index 84db5f8..8d81bf8 100644 --- a/src/i18n/translations.ts +++ b/src/i18n/translations.ts @@ -6,6 +6,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +import ar from "./translations/ar.json"; import de from "./translations/de.json"; import en from "./translations/en.json"; import es from "./translations/es.json"; @@ -14,8 +15,9 @@ import nl from "./translations/nl.json"; import ru from "./translations/ru.json"; export const languages = { - en: { autonym: "English", dir: "ltr" }, + ar: { autonym: "العربية", dir: "rtl" }, de: { autonym: "Deutsch", dir: "ltr" }, + en: { autonym: "English", dir: "ltr" }, es: { autonym: "Español", dir: "ltr" }, fr: { autonym: "Français", dir: "ltr" }, nl: { autonym: "Nederlands", dir: "ltr" }, @@ -23,8 +25,9 @@ export const languages = { }; export const strings: Record> = { - en, + ar, de, + en, es, fr, nl, diff --git a/src/i18n/translations/ar.json b/src/i18n/translations/ar.json index 349cc1a..c7bac8d 100644 --- a/src/i18n/translations/ar.json +++ b/src/i18n/translations/ar.json @@ -1,21 +1,21 @@ { "privacyNotice": "إشعار الخصوصية", - "postText": "نص المنشور{}", + "postText": "نص المنشور", "fediverse": "الفديفرس", "vercelPP": "سياسة الخصوصية لـ Vercel", "description": "شير تو فيدي Share₂Fedi هو موقع مشاركة لـ {}. يمكنك من خلاله نشر محتوى على منصات متعددة تتبع نموذج الفديرالية من صفحة واحدة.", "incl": "بما فيه", "postTextPlaceholder": "فيمَ تفكّر؟", - "rememberInstance": "{} تذكر مثيل الخادم على هذا الجهاز", - "instance": "مثيل خادم الفديفرس{}", + "rememberInstance": "تذكر مثيل الخادم على هذا الجهاز", + "instance": "مثيل خادم الفديفرس", "licence1": "شير تو فيدي Share₂Fedi هو برنامج حر: يمكنك إعادة توزيعه و/أو تعديله وفقًا لشروط الرخصة العامة GNU Affero، الإصدار 3، كما نَشرَتها مؤسسة البرمجيات الحرة.", - "previouslyUsed": "تم استخدامه مسبقًا: {}", + "previouslyUsed": "تم استخدامه مسبقًا:", "metaDescription": "شير تو فيدي Share₂Fedi هي صفحة مشاركة لـ Mastodon و Misskey و Friendica وغيرها. اكتب نص منشورك وعنوان الرابط التشعبي لمثيل الخادم، ثم انقر على ”أنشر“!", "nikita": "نيكيتا كاراموف", "statusPage": "صفحة الحالة", "publish": "أنشر", "licence": "الرخصة", - "language": "اللغة: {}", + "language": "اللغة:", "supportedProjects": "المشاريع المدعومة:", "privacy2": "عندما تنقر على زر ”أنشر“، سيتم توجيهك إلى مثيل خادم الفديفرس الذي حددته. قد يقوم بمعالجة و/أو تخزين بياناتك. يرجى الرجوع إلى سياسة الخصوصية للخادم المعني.", "onGitHub": "على جت هب", diff --git a/src/i18n/translations/de.json b/src/i18n/translations/de.json index 0b7972e..10fb2b7 100644 --- a/src/i18n/translations/de.json +++ b/src/i18n/translations/de.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi ist eine Share-Seite für Mastodon, Misskey, Friendica und andere. Geben Sie Ihren Beitragstext und die Instanz-URL ein und klicken Sie auf „Veröffentlichen“!", - "language": "Sprache: {}", + "language": "Sprache:", "description": "Share₂Fedi ist eine instanzunabhängige Share-Seite für {}. Mit ihr können Sie von einer einzigen Seite aus auf verschiedenen föderierten Plattformen posten.", "fediverse": "das Fediverse", "supportedProjects": "Unterstützte Projekte:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev wird auf Vercel gehostet. Vercel verarbeitet IP-Adressen, Systemkonfigurationsinformationen und andere Informationen über den Verkehr von und zu s2f.kytta.dev. Vercel speichert diese Informationen nicht und gibt sie auch nicht an Dritte weiter. Siehe {} für weitere Informationen.", "privacy2": "Wenn Sie auf die „Veröffentlichen“ klicken, werden Sie zu einer Fediverse-Instanz weitergeleitet, die Sie angegeben haben. Diese kann Ihre Daten verarbeiten und/oder speichern. Bitte beachten Sie die Datenschutzrichtlinien der jeweiligen Instanz.", "vercelPP": "Vercels Datenschutzpolitik", - "postText": "Beitragstext{}", + "postText": "Beitragstext", "postTextPlaceholder": "Was gibt’s Neues?", - "instance": "Fediverse-Instanz{}", - "previouslyUsed": "Bisher verwendet: {}", - "rememberInstance": "{} Instanz auf diesem Gerät merken", + "instance": "Fediverse-Instanz", + "previouslyUsed": "Bisher verwendet:", + "rememberInstance": "Instanz auf diesem Gerät merken", "publish": "Veröffentlichen" } diff --git a/src/i18n/translations/en.json b/src/i18n/translations/en.json index aa0ba18..6b714bd 100644 --- a/src/i18n/translations/en.json +++ b/src/i18n/translations/en.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi is a share page for Mastodon, Misskey, Friendica, and others. Type in your post text and the instance URL and click ‘Publish’!", - "language": "Language: {}", + "language": "Language:", "description": "Share₂Fedi is an instance-agnostic share page for {}. With it, you can post to various federated platforms from a single page.", "fediverse": "the Fediverse", "supportedProjects": "Supported projects:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev is hosted on Vercel. Vercel processes IP addresses, system configuration information, and other information about traffic to and from s2f.kytta.dev. Vercel does not store this information nor does it get shared with third parties. See {} for more information.", "privacy2": "When you click the ‘Publish’ button, you’ll get redirected to a Fediverse instance you’ve specified. It may process and/or store your data. Please refer to the privacy policy of the respective instance.", "vercelPP": "Vercel’s privacy policy", - "postText": "Post text{}", + "postText": "Post text", "postTextPlaceholder": "What’s on your mind?", - "instance": "Fediverse instance{}", - "previouslyUsed": "Previously used: {}", - "rememberInstance": "{} Remember instance on this device", + "instance": "Fediverse instance", + "previouslyUsed": "Previously used:", + "rememberInstance": "Remember instance on this device", "publish": "Publish" } diff --git a/src/i18n/translations/es.json b/src/i18n/translations/es.json index e518364..cbda5da 100644 --- a/src/i18n/translations/es.json +++ b/src/i18n/translations/es.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi es una página de compartir para Mastodon, Misskey, Friendica y otros. ¡Escriba su texto de publicación y la URL de la instancia y haga clic en «Publicar»!", - "language": "Idioma: {}", + "language": "Idioma:", "description": "Share₂Fedi es una página de compartir independiente de la instancia para {}. Con ella, puede publicar en varias plataformas federadas desde una sola página.", "fediverse": "el Fediverso", "supportedProjects": "Proyectos compatibles:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev está alojado en Vercel. Vercel procesa las direcciones IP, la información de configuración del sistema y otra información sobre el tráfico hacia y desde s2f.kytta.dev. Vercel no almacena esta información ni la comparte con terceros. Consulte {} para obtener más información.", "privacy2": "Cuando hace clic en el botón «Publicar», se le redirige a una instancia de Fediverso que ha especificado. Puede procesar y/o almacenar sus datos. Consulte la política de privacidad de la instancia correspondiente.", "vercelPP": "Política de privacidad de Vercel", - "postText": "Texto de la publicación{}", + "postText": "Texto de la publicación", "postTextPlaceholder": "¿Qué hay de nuevo?", - "instance": "Instancia del Fediverso{}", - "previouslyUsed": "Usado anteriormente: {}", - "rememberInstance": "{} Recordar instancia en este dispositivo", + "instance": "Instancia del Fediverso", + "previouslyUsed": "Usado anteriormente:", + "rememberInstance": "Recordar instancia en este dispositivo", "publish": "Publicar" } diff --git a/src/i18n/translations/fr.json b/src/i18n/translations/fr.json index be26d77..472838c 100644 --- a/src/i18n/translations/fr.json +++ b/src/i18n/translations/fr.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi est une page de partage pour Mastodon, Misskey, Friendica et autres. Tapez votre texte de publication et l’URL de l’instance, puis cliquez sur « Publier » !", - "language": "Langue : {}", + "language": "Langue :", "description": "Share₂Fedi est une page de partage indépendante pour {}. Avec elle, vous pouvez publier sur diverses plateformes fédérées depuis une seule page.", "fediverse": "le Fediverse", "supportedProjects": "Projets pris en charge :", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev est hébergé sur Vercel. Vercel traite les adresses IP, les informations de configuration système et d’autres informations sur le trafic vers et depuis s2f.kytta.dev. Vercel ne stocke pas ces informations et ne les partage pas avec des tiers. Voir {} pour plus d’informations.", "privacy2": "Lorsque vous cliquez sur le bouton « Publier », vous êtes redirigé vers une instance du Fediverse que vous avez spécifiée. Elle peut traiter et/ou stocker vos données. Veuillez vous référer à la politique de confidentialité de l’instance respective.", "vercelPP": "Politique de confidentialité de Vercel", - "postText": "Texte de la publication{}", + "postText": "Texte de la publication", "postTextPlaceholder": "Quoi de neuf ?", - "instance": "Instance du Fediverse{}", - "previouslyUsed": "Utilisé précédemment : {}", - "rememberInstance": "{} Se souvenir de l’instance sur cet appareil", + "instance": "Instance du Fediverse", + "previouslyUsed": "Utilisé précédemment :", + "rememberInstance": "Se souvenir de l’instance sur cet appareil", "publish": "Publier" } diff --git a/src/i18n/translations/nl.json b/src/i18n/translations/nl.json index 71d03c7..e58689b 100644 --- a/src/i18n/translations/nl.json +++ b/src/i18n/translations/nl.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi is een deelpagina voor Mastodon, Misskey, Friendica en andere fediversenetwerken. Voer een bericht in, plak de instantie-url en klik op ‘Publiceren’!", - "language": "Taal: {}", + "language": "Taal:", "description": "Share₂Fedi is een instantie-onafhankelijke deelpagina voor {}. Zo kun je berichten plaatsen op meerdere fediversenetwerken tegelijk.", "fediverse": "het Fediverse", "supportedProjects": "Ondersteunde netwerken:", @@ -13,10 +13,10 @@ "privacy2": "Als je op publiceren klikt, wordt je doorgestuurd naar de opgegeven fediverse-instantie. Hierbij worden je gegevens mogelijk verwerkt en/of bewaard. Bekijk voor meer informatie het privacybeleid van je instantie.", "vercelPP": "Vercels privacybeleid", "postTextPlaceholder": "Wat gaat er door je hoofd?", - "instance": "Fediverse-instantie{}", - "postText": "Berichtinhoud{}", - "previouslyUsed": "Onlangs gebruikt: {}", - "rememberInstance": "{} Instantie onthouden op dit apparaat", + "instance": "Fediverse-instantie", + "postText": "Berichtinhoud", + "previouslyUsed": "Onlangs gebruikt:", + "rememberInstance": "Instantie onthouden op dit apparaat", "publish": "Publiceren", "credits": "Share₂Fedi wordt ontwikkeld en onderhouden door {}. Broncode: {} - Hosting: {}. {}.", "licence1": "Share₂Fedi is vrije software: je mag de software opnieuw uitgeven en/of aanpassen onder de voorwaarden van de GNU Affero General Public License, versie 3, zoals omschreven door de Free Software Foundation.", diff --git a/src/i18n/translations/ru.json b/src/i18n/translations/ru.json index 56354fd..bd6a85a 100644 --- a/src/i18n/translations/ru.json +++ b/src/i18n/translations/ru.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi — это share-страница для Mastodon, Misskey, Friendica и других сервисов. Введите текст поста и URL-адрес инстанса и нажмите «Опубликовать»!", - "language": "Язык: {}", + "language": "Язык:", "description": "Share₂Fedi — это инстанс-независимая share-страница для {}. С её помощью вы можете делиться информацией на различных федеративных платформах с одной страницы.", "fediverse": "Федивёрса", "supportedProjects": "Поддерживаемые проекты:", @@ -16,10 +16,10 @@ "privacy1": "Сайт s2f.kytta.dev размещён на серверах Vercel. Vercel обрабатывает IP-адреса, информацию о конфигурации системы и другую информацию о трафике, идущем к s2f.kytta.dev и от него. Vercel не хранит эту информацию и не передает её третьим лицам. Более подробную информацию см. в {}.", "privacy2": "Когда вы нажимаете кнопку «Опубликовать», вы попадаете на указанный вами инстанс Федивёрса. Он может обрабатывать и/или хранить ваши данные. Пожалуйста, ознакомьтесь с политикой конфиденциальности соответствующего инстанса.", "vercelPP": "Политике конфиденциальности Vercel", - "postText": "Текст поста{}", + "postText": "Текст поста", "postTextPlaceholder": "О чём думаете?", - "instance": "Инстанс Федивёрса{}", - "previouslyUsed": "Ранее использовались: {}", - "rememberInstance": "{} Запомнить инстанс на этом устройстве", + "instance": "Инстанс Федивёрса", + "previouslyUsed": "Ранее использовались:", + "rememberInstance": "Запомнить инстанс на этом устройстве", "publish": "Опубликовать" } diff --git a/src/i18n/translations/uk.json b/src/i18n/translations/uk.json index c767f16..d413aa3 100644 --- a/src/i18n/translations/uk.json +++ b/src/i18n/translations/uk.json @@ -2,12 +2,12 @@ "privacyNotice": "Політика конфіденційності", "incl": "вкл.", "postTextPlaceholder": "Що у вас на думці?", - "rememberInstance": "{} Запам'ятати інстанс на цьому пристрої", + "rememberInstance": "Запам'ятати інстанс на цьому пристрої", "metaDescription": "Share₂Fedi — це share-сторінка для Mastodon, Misskey, Friendica та інших сервісів. Введіть текст посту та URL-адресу інстансу та натисніть «Опублікувати»!", "statusPage": "Статус", "publish": "Опублікувати", "licence": "Ліцензія", - "language": "Мова: {}", + "language": "Мова:", "supportedProjects": "Підтримувані проєкти:", "onGitHub": "на GitHub" } diff --git a/src/layouts/layout.astro b/src/layouts/layout.astro index 34e64ca..e79f581 100644 --- a/src/layouts/layout.astro +++ b/src/layouts/layout.astro @@ -107,12 +107,16 @@ import package_ from "../../package.json"; Supported projects: - Mastodon (incl. Hometown, Fedibird, - GlitchCafé) + Mastodon (incl. Hometown, Fedibird, GlitchCafé) - Misskey (incl. Firefish/Calckey, - FoundKey, Meisskey) + Misskey (incl. Firefish, Calckey, FoundKey, Meisskey) Friendica Hubzilla diff --git a/src/pages/index.astro b/src/pages/index.astro index 7716cdb..939bf94 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -61,8 +61,8 @@ if (Astro.request.method === "POST") { id="form" method="POST" > - - Post text + + Post text
s2f.kytta.dev is hosted on Vercel. Vercel processes IP addresses, system configuration information, and other information about traffic to and from s2f.kytta.dev. Vercel does not store this information nor does it get shared @@ -20,7 +23,10 @@ SPDX-License-Identifier: CC0-1.0 > for more information.
When you click the ‘Publish’ button, you’ll get redirected to a Fediverse instance you’ve specified. It may process and/or store your data. Please refer to the privacy policy of the respective instance. diff --git a/src/i18n/engine.ts b/src/i18n/engine.ts index 3321f28..19ba847 100644 --- a/src/i18n/engine.ts +++ b/src/i18n/engine.ts @@ -72,6 +72,18 @@ export function applyTranslations(language: string) { } } + if (Intl.ListFormat) { + const formatter = new Intl.ListFormat(language, { + style: "short", + type: "conjunction", + }); + + for (const node of document.querySelectorAll("[data-enumerate]")) { + const dataset = (node as HTMLElement).dataset; + node.innerHTML = formatter.format(dataset.enumerate!.split(",")); + } + } + document.documentElement.lang = language; document.documentElement.dir = languages[language as keyof typeof languages].dir; diff --git a/src/i18n/translations.ts b/src/i18n/translations.ts index 84db5f8..8d81bf8 100644 --- a/src/i18n/translations.ts +++ b/src/i18n/translations.ts @@ -6,6 +6,7 @@ * SPDX-License-Identifier: AGPL-3.0-only */ +import ar from "./translations/ar.json"; import de from "./translations/de.json"; import en from "./translations/en.json"; import es from "./translations/es.json"; @@ -14,8 +15,9 @@ import nl from "./translations/nl.json"; import ru from "./translations/ru.json"; export const languages = { - en: { autonym: "English", dir: "ltr" }, + ar: { autonym: "العربية", dir: "rtl" }, de: { autonym: "Deutsch", dir: "ltr" }, + en: { autonym: "English", dir: "ltr" }, es: { autonym: "Español", dir: "ltr" }, fr: { autonym: "Français", dir: "ltr" }, nl: { autonym: "Nederlands", dir: "ltr" }, @@ -23,8 +25,9 @@ export const languages = { }; export const strings: Record> = { - en, + ar, de, + en, es, fr, nl, diff --git a/src/i18n/translations/ar.json b/src/i18n/translations/ar.json index 349cc1a..c7bac8d 100644 --- a/src/i18n/translations/ar.json +++ b/src/i18n/translations/ar.json @@ -1,21 +1,21 @@ { "privacyNotice": "إشعار الخصوصية", - "postText": "نص المنشور{}", + "postText": "نص المنشور", "fediverse": "الفديفرس", "vercelPP": "سياسة الخصوصية لـ Vercel", "description": "شير تو فيدي Share₂Fedi هو موقع مشاركة لـ {}. يمكنك من خلاله نشر محتوى على منصات متعددة تتبع نموذج الفديرالية من صفحة واحدة.", "incl": "بما فيه", "postTextPlaceholder": "فيمَ تفكّر؟", - "rememberInstance": "{} تذكر مثيل الخادم على هذا الجهاز", - "instance": "مثيل خادم الفديفرس{}", + "rememberInstance": "تذكر مثيل الخادم على هذا الجهاز", + "instance": "مثيل خادم الفديفرس", "licence1": "شير تو فيدي Share₂Fedi هو برنامج حر: يمكنك إعادة توزيعه و/أو تعديله وفقًا لشروط الرخصة العامة GNU Affero، الإصدار 3، كما نَشرَتها مؤسسة البرمجيات الحرة.", - "previouslyUsed": "تم استخدامه مسبقًا: {}", + "previouslyUsed": "تم استخدامه مسبقًا:", "metaDescription": "شير تو فيدي Share₂Fedi هي صفحة مشاركة لـ Mastodon و Misskey و Friendica وغيرها. اكتب نص منشورك وعنوان الرابط التشعبي لمثيل الخادم، ثم انقر على ”أنشر“!", "nikita": "نيكيتا كاراموف", "statusPage": "صفحة الحالة", "publish": "أنشر", "licence": "الرخصة", - "language": "اللغة: {}", + "language": "اللغة:", "supportedProjects": "المشاريع المدعومة:", "privacy2": "عندما تنقر على زر ”أنشر“، سيتم توجيهك إلى مثيل خادم الفديفرس الذي حددته. قد يقوم بمعالجة و/أو تخزين بياناتك. يرجى الرجوع إلى سياسة الخصوصية للخادم المعني.", "onGitHub": "على جت هب", diff --git a/src/i18n/translations/de.json b/src/i18n/translations/de.json index 0b7972e..10fb2b7 100644 --- a/src/i18n/translations/de.json +++ b/src/i18n/translations/de.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi ist eine Share-Seite für Mastodon, Misskey, Friendica und andere. Geben Sie Ihren Beitragstext und die Instanz-URL ein und klicken Sie auf „Veröffentlichen“!", - "language": "Sprache: {}", + "language": "Sprache:", "description": "Share₂Fedi ist eine instanzunabhängige Share-Seite für {}. Mit ihr können Sie von einer einzigen Seite aus auf verschiedenen föderierten Plattformen posten.", "fediverse": "das Fediverse", "supportedProjects": "Unterstützte Projekte:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev wird auf Vercel gehostet. Vercel verarbeitet IP-Adressen, Systemkonfigurationsinformationen und andere Informationen über den Verkehr von und zu s2f.kytta.dev. Vercel speichert diese Informationen nicht und gibt sie auch nicht an Dritte weiter. Siehe {} für weitere Informationen.", "privacy2": "Wenn Sie auf die „Veröffentlichen“ klicken, werden Sie zu einer Fediverse-Instanz weitergeleitet, die Sie angegeben haben. Diese kann Ihre Daten verarbeiten und/oder speichern. Bitte beachten Sie die Datenschutzrichtlinien der jeweiligen Instanz.", "vercelPP": "Vercels Datenschutzpolitik", - "postText": "Beitragstext{}", + "postText": "Beitragstext", "postTextPlaceholder": "Was gibt’s Neues?", - "instance": "Fediverse-Instanz{}", - "previouslyUsed": "Bisher verwendet: {}", - "rememberInstance": "{} Instanz auf diesem Gerät merken", + "instance": "Fediverse-Instanz", + "previouslyUsed": "Bisher verwendet:", + "rememberInstance": "Instanz auf diesem Gerät merken", "publish": "Veröffentlichen" } diff --git a/src/i18n/translations/en.json b/src/i18n/translations/en.json index aa0ba18..6b714bd 100644 --- a/src/i18n/translations/en.json +++ b/src/i18n/translations/en.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi is a share page for Mastodon, Misskey, Friendica, and others. Type in your post text and the instance URL and click ‘Publish’!", - "language": "Language: {}", + "language": "Language:", "description": "Share₂Fedi is an instance-agnostic share page for {}. With it, you can post to various federated platforms from a single page.", "fediverse": "the Fediverse", "supportedProjects": "Supported projects:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev is hosted on Vercel. Vercel processes IP addresses, system configuration information, and other information about traffic to and from s2f.kytta.dev. Vercel does not store this information nor does it get shared with third parties. See {} for more information.", "privacy2": "When you click the ‘Publish’ button, you’ll get redirected to a Fediverse instance you’ve specified. It may process and/or store your data. Please refer to the privacy policy of the respective instance.", "vercelPP": "Vercel’s privacy policy", - "postText": "Post text{}", + "postText": "Post text", "postTextPlaceholder": "What’s on your mind?", - "instance": "Fediverse instance{}", - "previouslyUsed": "Previously used: {}", - "rememberInstance": "{} Remember instance on this device", + "instance": "Fediverse instance", + "previouslyUsed": "Previously used:", + "rememberInstance": "Remember instance on this device", "publish": "Publish" } diff --git a/src/i18n/translations/es.json b/src/i18n/translations/es.json index e518364..cbda5da 100644 --- a/src/i18n/translations/es.json +++ b/src/i18n/translations/es.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi es una página de compartir para Mastodon, Misskey, Friendica y otros. ¡Escriba su texto de publicación y la URL de la instancia y haga clic en «Publicar»!", - "language": "Idioma: {}", + "language": "Idioma:", "description": "Share₂Fedi es una página de compartir independiente de la instancia para {}. Con ella, puede publicar en varias plataformas federadas desde una sola página.", "fediverse": "el Fediverso", "supportedProjects": "Proyectos compatibles:", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev está alojado en Vercel. Vercel procesa las direcciones IP, la información de configuración del sistema y otra información sobre el tráfico hacia y desde s2f.kytta.dev. Vercel no almacena esta información ni la comparte con terceros. Consulte {} para obtener más información.", "privacy2": "Cuando hace clic en el botón «Publicar», se le redirige a una instancia de Fediverso que ha especificado. Puede procesar y/o almacenar sus datos. Consulte la política de privacidad de la instancia correspondiente.", "vercelPP": "Política de privacidad de Vercel", - "postText": "Texto de la publicación{}", + "postText": "Texto de la publicación", "postTextPlaceholder": "¿Qué hay de nuevo?", - "instance": "Instancia del Fediverso{}", - "previouslyUsed": "Usado anteriormente: {}", - "rememberInstance": "{} Recordar instancia en este dispositivo", + "instance": "Instancia del Fediverso", + "previouslyUsed": "Usado anteriormente:", + "rememberInstance": "Recordar instancia en este dispositivo", "publish": "Publicar" } diff --git a/src/i18n/translations/fr.json b/src/i18n/translations/fr.json index be26d77..472838c 100644 --- a/src/i18n/translations/fr.json +++ b/src/i18n/translations/fr.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi est une page de partage pour Mastodon, Misskey, Friendica et autres. Tapez votre texte de publication et l’URL de l’instance, puis cliquez sur « Publier » !", - "language": "Langue : {}", + "language": "Langue :", "description": "Share₂Fedi est une page de partage indépendante pour {}. Avec elle, vous pouvez publier sur diverses plateformes fédérées depuis une seule page.", "fediverse": "le Fediverse", "supportedProjects": "Projets pris en charge :", @@ -16,10 +16,10 @@ "privacy1": "s2f.kytta.dev est hébergé sur Vercel. Vercel traite les adresses IP, les informations de configuration système et d’autres informations sur le trafic vers et depuis s2f.kytta.dev. Vercel ne stocke pas ces informations et ne les partage pas avec des tiers. Voir {} pour plus d’informations.", "privacy2": "Lorsque vous cliquez sur le bouton « Publier », vous êtes redirigé vers une instance du Fediverse que vous avez spécifiée. Elle peut traiter et/ou stocker vos données. Veuillez vous référer à la politique de confidentialité de l’instance respective.", "vercelPP": "Politique de confidentialité de Vercel", - "postText": "Texte de la publication{}", + "postText": "Texte de la publication", "postTextPlaceholder": "Quoi de neuf ?", - "instance": "Instance du Fediverse{}", - "previouslyUsed": "Utilisé précédemment : {}", - "rememberInstance": "{} Se souvenir de l’instance sur cet appareil", + "instance": "Instance du Fediverse", + "previouslyUsed": "Utilisé précédemment :", + "rememberInstance": "Se souvenir de l’instance sur cet appareil", "publish": "Publier" } diff --git a/src/i18n/translations/nl.json b/src/i18n/translations/nl.json index 71d03c7..e58689b 100644 --- a/src/i18n/translations/nl.json +++ b/src/i18n/translations/nl.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi is een deelpagina voor Mastodon, Misskey, Friendica en andere fediversenetwerken. Voer een bericht in, plak de instantie-url en klik op ‘Publiceren’!", - "language": "Taal: {}", + "language": "Taal:", "description": "Share₂Fedi is een instantie-onafhankelijke deelpagina voor {}. Zo kun je berichten plaatsen op meerdere fediversenetwerken tegelijk.", "fediverse": "het Fediverse", "supportedProjects": "Ondersteunde netwerken:", @@ -13,10 +13,10 @@ "privacy2": "Als je op publiceren klikt, wordt je doorgestuurd naar de opgegeven fediverse-instantie. Hierbij worden je gegevens mogelijk verwerkt en/of bewaard. Bekijk voor meer informatie het privacybeleid van je instantie.", "vercelPP": "Vercels privacybeleid", "postTextPlaceholder": "Wat gaat er door je hoofd?", - "instance": "Fediverse-instantie{}", - "postText": "Berichtinhoud{}", - "previouslyUsed": "Onlangs gebruikt: {}", - "rememberInstance": "{} Instantie onthouden op dit apparaat", + "instance": "Fediverse-instantie", + "postText": "Berichtinhoud", + "previouslyUsed": "Onlangs gebruikt:", + "rememberInstance": "Instantie onthouden op dit apparaat", "publish": "Publiceren", "credits": "Share₂Fedi wordt ontwikkeld en onderhouden door {}. Broncode: {} - Hosting: {}. {}.", "licence1": "Share₂Fedi is vrije software: je mag de software opnieuw uitgeven en/of aanpassen onder de voorwaarden van de GNU Affero General Public License, versie 3, zoals omschreven door de Free Software Foundation.", diff --git a/src/i18n/translations/ru.json b/src/i18n/translations/ru.json index 56354fd..bd6a85a 100644 --- a/src/i18n/translations/ru.json +++ b/src/i18n/translations/ru.json @@ -1,6 +1,6 @@ { "metaDescription": "Share₂Fedi — это share-страница для Mastodon, Misskey, Friendica и других сервисов. Введите текст поста и URL-адрес инстанса и нажмите «Опубликовать»!", - "language": "Язык: {}", + "language": "Язык:", "description": "Share₂Fedi — это инстанс-независимая share-страница для {}. С её помощью вы можете делиться информацией на различных федеративных платформах с одной страницы.", "fediverse": "Федивёрса", "supportedProjects": "Поддерживаемые проекты:", @@ -16,10 +16,10 @@ "privacy1": "Сайт s2f.kytta.dev размещён на серверах Vercel. Vercel обрабатывает IP-адреса, информацию о конфигурации системы и другую информацию о трафике, идущем к s2f.kytta.dev и от него. Vercel не хранит эту информацию и не передает её третьим лицам. Более подробную информацию см. в {}.", "privacy2": "Когда вы нажимаете кнопку «Опубликовать», вы попадаете на указанный вами инстанс Федивёрса. Он может обрабатывать и/или хранить ваши данные. Пожалуйста, ознакомьтесь с политикой конфиденциальности соответствующего инстанса.", "vercelPP": "Политике конфиденциальности Vercel", - "postText": "Текст поста{}", + "postText": "Текст поста", "postTextPlaceholder": "О чём думаете?", - "instance": "Инстанс Федивёрса{}", - "previouslyUsed": "Ранее использовались: {}", - "rememberInstance": "{} Запомнить инстанс на этом устройстве", + "instance": "Инстанс Федивёрса", + "previouslyUsed": "Ранее использовались:", + "rememberInstance": "Запомнить инстанс на этом устройстве", "publish": "Опубликовать" } diff --git a/src/i18n/translations/uk.json b/src/i18n/translations/uk.json index c767f16..d413aa3 100644 --- a/src/i18n/translations/uk.json +++ b/src/i18n/translations/uk.json @@ -2,12 +2,12 @@ "privacyNotice": "Політика конфіденційності", "incl": "вкл.", "postTextPlaceholder": "Що у вас на думці?", - "rememberInstance": "{} Запам'ятати інстанс на цьому пристрої", + "rememberInstance": "Запам'ятати інстанс на цьому пристрої", "metaDescription": "Share₂Fedi — це share-сторінка для Mastodon, Misskey, Friendica та інших сервісів. Введіть текст посту та URL-адресу інстансу та натисніть «Опублікувати»!", "statusPage": "Статус", "publish": "Опублікувати", "licence": "Ліцензія", - "language": "Мова: {}", + "language": "Мова:", "supportedProjects": "Підтримувані проєкти:", "onGitHub": "на GitHub" } diff --git a/src/layouts/layout.astro b/src/layouts/layout.astro index 34e64ca..e79f581 100644 --- a/src/layouts/layout.astro +++ b/src/layouts/layout.astro @@ -107,12 +107,16 @@ import package_ from "../../package.json"; Supported projects: - Mastodon (incl. Hometown, Fedibird, - GlitchCafé) + Mastodon (incl. Hometown, Fedibird, GlitchCafé) - Misskey (incl. Firefish/Calckey, - FoundKey, Meisskey) + Misskey (incl. Firefish, Calckey, FoundKey, Meisskey) Friendica Hubzilla diff --git a/src/pages/index.astro b/src/pages/index.astro index 7716cdb..939bf94 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -61,8 +61,8 @@ if (Astro.request.method === "POST") { id="form" method="POST" > - - Post text + + Post text
Supported projects: