From c50791f448a9b4a2bd4cbb17b4306092c133d714 Mon Sep 17 00:00:00 2001 From: Antoine Jaussoin Date: Fri, 24 Feb 2023 10:00:33 +0000 Subject: [PATCH] Marketing Translations (beta) (#477) --- crowdin.yml | 11 -- frontend/crowdin.yml | 11 ++ marketing/Dockerfile | 10 +- marketing/crowdin.yml | 11 ++ marketing/next-i18next.config.js | 16 ++- marketing/public/locales/de/common.json | 177 ++++++++++++++++++++++++ marketing/public/locales/fr/common.json | 45 ++++-- marketing/public/locales/nl/common.json | 177 ++++++++++++++++++++++++ 8 files changed, 425 insertions(+), 33 deletions(-) delete mode 100644 crowdin.yml create mode 100644 frontend/crowdin.yml create mode 100644 marketing/crowdin.yml create mode 100644 marketing/public/locales/de/common.json create mode 100644 marketing/public/locales/nl/common.json diff --git a/crowdin.yml b/crowdin.yml deleted file mode 100644 index f0c66c4f4..000000000 --- a/crowdin.yml +++ /dev/null @@ -1,11 +0,0 @@ -"project_id" : "512896" -"base_path" : "." -"base_url" : "https://api.crowdin.com" -"preserve_hierarchy": true - -files: [ - { - "source" : "/frontend/src/translations/locales/en-GB.json", - "translation" : "/frontend/src/translations/locales/%locale%.json" - } -] \ No newline at end of file diff --git a/frontend/crowdin.yml b/frontend/crowdin.yml new file mode 100644 index 000000000..27710513a --- /dev/null +++ b/frontend/crowdin.yml @@ -0,0 +1,11 @@ +"project_id" : "512896" +"base_path" : "." +"base_url" : "https://api.crowdin.com" +"preserve_hierarchy": true + +files: [ + { + "source" : "/src/translations/locales/en-GB.json", + "translation" : "/src/translations/locales/%locale%.json" + } +] \ No newline at end of file diff --git a/marketing/Dockerfile b/marketing/Dockerfile index 3199576a5..504ee18b1 100644 --- a/marketing/Dockerfile +++ b/marketing/Dockerfile @@ -7,14 +7,8 @@ RUN apk add --no-cache libc6-compat WORKDIR /app # Install dependencies based on the preferred package manager -COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ -RUN \ - if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ - elif [ -f package-lock.json ]; then npm ci; \ - elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i --frozen-lockfile; \ - else echo "Lockfile not found." && exit 1; \ - fi - +COPY package.json yarn.lock ./ +RUN yarn --frozen-lockfile # Rebuild the source code only when needed FROM base AS builder diff --git a/marketing/crowdin.yml b/marketing/crowdin.yml new file mode 100644 index 000000000..3f1c72ecd --- /dev/null +++ b/marketing/crowdin.yml @@ -0,0 +1,11 @@ +"project_id" : "570085" +"base_path" : "." +"base_url" : "https://api.crowdin.com" +"preserve_hierarchy": true + +files: [ + { + "source" : "/public/locales/en/common.json", + "translation" : "/public/locales/%two_letters_code%/common.json" + } +] \ No newline at end of file diff --git a/marketing/next-i18next.config.js b/marketing/next-i18next.config.js index bc82b01e8..7d5be60df 100644 --- a/marketing/next-i18next.config.js +++ b/marketing/next-i18next.config.js @@ -1,6 +1,20 @@ module.exports = { i18n: { defaultLocale: 'en', - locales: ['en', 'fr'], + locales: ['en', 'fr', 'de', 'nl'], + domains: [ + { + domain: 'retrospected.com', + defaultLocale: 'en', + }, + { + domain: 'retrospected.fr', + defaultLocale: 'fr', + }, + { + domain: 'retrospected.de', + defaultLocale: 'de', + } + ], }, } \ No newline at end of file diff --git a/marketing/public/locales/de/common.json b/marketing/public/locales/de/common.json new file mode 100644 index 000000000..5cfc207a6 --- /dev/null +++ b/marketing/public/locales/de/common.json @@ -0,0 +1,177 @@ +{ + "SEO": { + "title": "Retrospektiert", + "description": "Kostenloses Echtzeit-Agile Retrospektive Board für Ingenieurteams" + }, + "Banner": { + "heading": "Echtzeit-Retrospektiven. Recht. In Sekunden.", + "text": "Weil Post-it-Notizen nicht geschnitten werden.", + "tagline": "*Keine Kreditkarte erforderlich", + "subscribeToday": "Kostenlos testen" + }, + "Nav": { + "home": "Zuhause", + "howTo": "Wie man", + "features": "Eigenschaften", + "testimonial": "Referenzen", + "pricing": "Preis", + "faq": "FAQ", + "subscribe": "Abonnieren", + "login": "Anmelden" + }, + "Clients": { + "main": "Schließen Sie sich den Hunderten von Unternehmen mit unserem Produkt an" + }, + "HowItWorks": { + "heading": "Wir sind anders, we..." + }, + "Testimonials": { + "heading": "Was die Leute über uns sagen", + "1": { + "author": "Johnny Simpson", + "designation": "Leiter des Designs", + "quote": "Jedes Zimmer ist mit den meisten kollaborativen Oberflächen beladen, so dass Sie schnell Notizen aufnehmen und Ideen austauschen können. Wählen Sie eines unserer Standardthemen oder erstellen Sie Ihr individuelles Design mit den Editoren." + }, + "2": { + "author": "Johnny Simpson", + "designation": "Leiter des Designs", + "quote": "Jedes Zimmer ist mit den meisten kollaborativen Oberflächen beladen, so dass Sie schnell Notizen aufnehmen und Ideen austauschen können. Wählen Sie eines unserer Standardthemen oder erstellen Sie Ihr individuelles Design mit den Editoren." + }, + "3": { + "author": "Johnny Simpson", + "designation": "Leiter des Designs", + "quote": "Jedes Zimmer ist mit den meisten kollaborativen Oberflächen beladen, so dass Sie schnell Notizen aufnehmen und Ideen austauschen können. Wählen Sie eines unserer Standardthemen oder erstellen Sie Ihr individuelles Design mit den Editoren." + }, + "4": { + "author": "Johnny Simpson", + "designation": "Leiter des Designs", + "quote": "Jedes Zimmer ist mit den meisten kollaborativen Oberflächen beladen, so dass Sie schnell Notizen aufnehmen und Ideen austauschen können. Wählen Sie eines unserer Standardthemen oder erstellen Sie Ihr individuelles Design mit den Editoren." + } + }, + "Pricing": { + "heading": "Entdecken Sie unsere aufregenden Preise", + "monthly": "Monatlich", + "yearly": "Jährlich", + "currency": "$", + "subscribe": "Jetzt abonnieren", + "login": "Jetzt anmelden", + "basic": { + "title": "Einfache", + "price": 0, + "recurrence": "pro Monat", + "features": [ + "Unbegrenzte Retrospektiven", + "Unbegrenzte Teammitglieder", + "Unbegrenzte Aktionselemente", + "40 Beiträge" + ] + }, + "pro": { + "title": "Pro", + "price": "12.9", + "recurrence": "pro Monat", + "features": [ + "Unbegrenzte Retrospektiven", + "Unbegrenzte Teammitglieder", + "Unbegrenzte Aktionselemente", + "Unbegrenzte Beiträge", + "20 Benutzer" + ] + }, + "unlimited": { + "title": "Unbegrenzt", + "price": "49.95", + "recurrence": "pro Monat", + "features": [ + "Unbegrenzte Retrospektiven", + "Unbegrenzte Teammitglieder", + "Unbegrenzte Aktionselemente", + "Unbegrenzte Beiträge", + "Unbegrenzte Benutzer" + ] + }, + "hosted": { + "title": "Selbstgehostet", + "price": 649, + "recurrence": "Einmalige Gebühr", + "features": [ + "Alles von Unlimited", + "Alle Benutzer sind standardmäßig Pro", + "Großartige Dokumentation" + ] + } + }, + "SelfHosted": { + "slogan": "Selbst-Hosting", + "title": "Wiederholt in Ihrem Haus", + "desc": "Halten Sie die volle Kontrolle über Ihre Daten durch Self-Hosting Retrospektion. Einmalige Gebühr, unbegrenzte Updates. Holen Sie sich mit unserer erstaunlichen Dokumentation in kürzester Zeit.", + "features": [ + "Vollständige Kontrolle: Ihre Daten bleiben bei Ihnen vor Ort", + "Einfach zu installieren", + "Administrationsbereich", + "Alle Benutzer sind Pro", + "Kostenlose Updates, für immer" + ], + "button": { + "link": "https://docs.retrospected.com", + "label": "Entdecken Sie unsere Dokumentation" + } + }, + "Features": { + "heading": "Eine Retrospektive in Sekunden starten", + "description": "Ein Retro zu starten oder zu betreten ist so einfach wie 1, 2, 3.", + "feature1": "Funktion 1", + "feature2": "Funktion 2", + "feature3": "Merkmal 3", + "feature4": "Funktion 4" + }, + "Newsfeed": { + "heading": "Was ist neu bei Retrospected" + }, + "FAQ": { + "heading": "Häufig gestellte Fragen", + "data": [ + { + "question": "Wie werden Zahlungen abgewickelt?", + "answer": "Zahlungen werden von unserem Partner Stripe abgewickelt." + }, + { + "question": "Gibt es in manchen Fällen kostenlose Pro-Lizenzen?", + "answer": "Wenn Sie dieses Produkt als Wohltätigkeitsorganisation verwenden oder in der Ausbildung sind senden Sie uns eine E-Mail und wir kümmern uns um eine kostenlose Lizenz für Sie. Kontaktieren Sie uns." + }, + { + "question": "Kann ich für einige Funktionen mehr bezahlen?", + "answer": "Wir haben nur 2 Stufen: Kostenlos und Pro. Alle Funktionen sind freigeschaltet, wenn Sie ein Pro-Konto abonnieren." + }, + { + "question": "Ist es möglich, jährlich zu zahlen?", + "answer": "Wählen Sie diese Option einfach an der Kasse aus und Sie erhalten einen Monat gratis pro Jahr." + }, + { + "question": "Kann ich meinen Plan kündigen?", + "answer": "Ja. Das Abonnement kann jederzeit beendet werden und endet am Ende Ihres aktuellen Rechnungsmonats." + }, + { + "question": "Gibt es irgendwelche Grenzen?", + "answer": "Es gibt keine Begrenzung der gespeicherten Daten vorbehaltlich fairer Nutzungsbedingungen." + } + ] + }, + "CTA": { + "heading": "Retrospektive jetzt starten", + "description": "Tritt den Tausenden von Benutzern bei, die bereits Retrospected verwenden", + "button": "Eine Retrospektive starten", + "hint": "Das wird dein Leben ändern!" + }, + "Footer": { + "copyright": "Copyright © 2023 - Retrospected Ltd. Alle Rechte vorbehalten.", + "about": "Wir erstellen Software mit Love, aus London, Großbritannien" + }, + "Contact": { + "title": "Kontaktinformationen", + "address": "Retrospected Ltd, London, Großbritannien", + "phone": "+44 (nicht jetzt verwendet)", + "openingTime": "7 Tage - 8 - 22 Uhr", + "email": "support@retrospected.com" + } +} \ No newline at end of file diff --git a/marketing/public/locales/fr/common.json b/marketing/public/locales/fr/common.json index 558896432..b0cc7b57b 100644 --- a/marketing/public/locales/fr/common.json +++ b/marketing/public/locales/fr/common.json @@ -7,7 +7,7 @@ "heading": "Des retrospectives fun & efficaces, des équipes performantes & motivées !", "text": "Donnez une platforme moderne et simple à vos équipes, pour soutenir leur collaboration et leur amélioration continue", "tagline": "*Aucune carte bancaire demandée", - "subscribeToday": "Essayer gratuitement" + "subscribeToday": "Essayez gratuitement" }, "Nav": { "home": "Accueil", @@ -16,8 +16,8 @@ "testimonial": "Témoignages", "pricing": "Tarifs", "faq": "FAQ", - "subscribe": "Achetez", - "login": "Connectez-vous" + "subscribe": "S'abonner", + "login": "Connexion" }, "Clients": { "main": "Rejoingnez les centaines d'entreprises qui nous ont fait confiance" @@ -58,6 +58,7 @@ "basic": { "title": "Basic", "price": 0, + "recurrence": "per month", "features": [ "Retrospectives illimitées", "Unlimited Team Members", @@ -67,7 +68,7 @@ }, "pro": { "title": "Pro", - "price": 11.90, + "price": "11.9", "recurrence": "par mois", "features": [ "Unlimited Retrospectives", @@ -79,7 +80,7 @@ }, "unlimited": { "title": "Unlimited", - "price": 49.95, + "price": "49.95", "recurrence": "par mois", "features": [ "Unlimited Retrospectives", @@ -118,7 +119,7 @@ }, "Features": { "heading": "Commencez une rétro en quelques secondes", - "description":"Starting or joining a retro is as easy as 1, 2, 3. It's friction-less.", + "description": "Starting or joining a retro is as easy as 1, 2, 3. It's friction-less.", "feature1": "Fonctionalité 1", "feature2": "Feature 2", "feature3": "Feature 3", @@ -130,12 +131,30 @@ "FAQ": { "heading": "Vos Questions (à traduire)", "data": [ - {"question": "How are payments handled?", "answer": "Payments are handled by our partner, Stripe. No payment information is stored by Retrospected."}, - {"question": "Do you give Pro licenses for free in some cases?", "answer": "If you are using this product as a charity, or you are in education, send us an email and we'll sort out a free license for you. Contact us."}, - {"question": "Will I pay more for some features?", "answer": "We only have 2 tiers: Free and Pro. All features are unlocked when you subscribe to a Pro account."}, - {"question": "Is it possible to pay yearly?", "answer": "You can! Simply select this option at checkout and you will get one month free per year."}, - {"question": "Can I cancel my plan?", "answer": "Yes. The subscription can be stopped at any time, and will end at the end of your current billing month."}, - {"question": "Is there any limit?", "answer": "There is no limit on the amount of data stored, subject to fair-use policy. On free accounts, you are limited to 40 posts."} + { + "question": "How are payments handled?", + "answer": "Payments are handled by our partner, Stripe. No payment information is stored by Retrospected." + }, + { + "question": "Do you give Pro licenses for free in some cases?", + "answer": "If you are using this product as a charity, or you are in education, send us an email and we'll sort out a free license for you. Contact us." + }, + { + "question": "Will I pay more for some features?", + "answer": "We only have 2 tiers: Free and Pro. All features are unlocked when you subscribe to a Pro account." + }, + { + "question": "Is it possible to pay yearly?", + "answer": "You can! Simply select this option at checkout and you will get one month free per year." + }, + { + "question": "Can I cancel my plan?", + "answer": "Yes. The subscription can be stopped at any time, and will end at the end of your current billing month." + }, + { + "question": "Is there any limit?", + "answer": "There is no limit on the amount of data stored, subject to fair-use policy. On free accounts, you are limited to 40 posts." + } ] }, "CTA": { @@ -155,4 +174,4 @@ "openingTime": "7j/7 - 8h - 22h", "email": "support@retrospected.com" } -} +} \ No newline at end of file diff --git a/marketing/public/locales/nl/common.json b/marketing/public/locales/nl/common.json new file mode 100644 index 000000000..2a003acfa --- /dev/null +++ b/marketing/public/locales/nl/common.json @@ -0,0 +1,177 @@ +{ + "SEO": { + "title": "Retrospect", + "description": "Gratis Real-time Agile Retrospective Board voor technische teams" + }, + "Banner": { + "heading": "Real-time Retrospectieven. Gereed. In seconden.", + "text": "Omdat de aantekeningen na het bericht niet zullen knippen.", + "tagline": "*Geen creditcard nodig", + "subscribeToday": "Probeer het gratis" + }, + "Nav": { + "home": "Startpagina", + "howTo": "Hoe te", + "features": "Eigenschappen", + "testimonial": "Beoordelingen", + "pricing": "Prijsstelling", + "faq": "FAQ", + "subscribe": "Abonneren", + "login": "Aanmelden" + }, + "Clients": { + "main": "Doe mee met honderden bedrijven die ons product gebruiken" + }, + "HowItWorks": { + "heading": "We zijn anders omdat..." + }, + "Testimonials": { + "heading": "Wat mensen over ons zeggen", + "1": { + "author": "Johnny Simpson", + "designation": "Hoofd ontwerp", + "quote": "Elke kamer wordt geladen met de meest samenwerkende oppervlakken, zodat u snel aantekeningen kunt maken, dingen kunt vastleggen en ideeën kunt delen. Kies een van onze standaard thema's, of maak een eigen thema met de editors." + }, + "2": { + "author": "Johnny Simpson", + "designation": "Hoofd ontwerp", + "quote": "Elke kamer wordt geladen met de meest samenwerkende oppervlakken, zodat u snel aantekeningen kunt maken, dingen kunt vastleggen en ideeën kunt delen. Kies een van onze standaard thema's, of maak een eigen thema met de editors." + }, + "3": { + "author": "Johnny Simpson", + "designation": "Hoofd ontwerp", + "quote": "Elke kamer wordt geladen met de meest samenwerkende oppervlakken, zodat u snel aantekeningen kunt maken, dingen kunt vastleggen en ideeën kunt delen. Kies een van onze standaard thema's, of maak een eigen thema met de editors." + }, + "4": { + "author": "Johnny Simpson", + "designation": "Hoofd ontwerp", + "quote": "Elke kamer wordt geladen met de meest samenwerkende oppervlakken, zodat u snel aantekeningen kunt maken, dingen kunt vastleggen en ideeën kunt delen. Kies een van onze standaard thema's, of maak een eigen thema met de editors." + } + }, + "Pricing": { + "heading": "Ontdek onze spannende prijzen", + "monthly": "maandelijks", + "yearly": "Jaarlijks", + "currency": "$", + "subscribe": "Nu abonneren", + "login": "Nu inloggen", + "basic": { + "title": "Eenvoudig", + "price": 0, + "recurrence": "per maand", + "features": [ + "Onbeperkte Retrospectieven", + "Onbeperkt teamleden", + "Onbeperkte actie items", + "40 berichten" + ] + }, + "pro": { + "title": "Pro", + "price": "12.9", + "recurrence": "per maand", + "features": [ + "Onbeperkte Retrospectieven", + "Onbeperkt teamleden", + "Onbeperkte actie items", + "Onbeperkt aantal berichten", + "20 gebruikers" + ] + }, + "unlimited": { + "title": "Onbeperkt", + "price": "49.95", + "recurrence": "per maand", + "features": [ + "Onbeperkte Retrospectieven", + "Onbeperkt teamleden", + "Onbeperkte actie items", + "Onbeperkt aantal berichten", + "Onbeperkt aantal gebruikers" + ] + }, + "hosted": { + "title": "Zelf gehost", + "price": 649, + "recurrence": "Eenmalige vergoeding", + "features": [ + "Alles van Onbeperkt", + "Alle gebruikers zijn standaard Pro", + "Geweldige documentatie" + ] + } + }, + "SelfHosted": { + "slogan": "Eigen hosting", + "title": "Retrospecteerd op uw werkplaats", + "desc": "Houd de volledige controle over uw gegevens door self-hosting Retrospected te houden. Eenmalige kosten, onbeperkte updates. Start snel onze geweldige documentatie in een handomdraai.", + "features": [ + "Volledige controles: jouw gegevens blijven op je werkplaats", + "Makkelijk te installeren", + "Beheer paneel", + "Alle gebruikers zijn Pro", + "Gratis updates, voor altijd" + ], + "button": { + "link": "https://docs.retrospected.com", + "label": "Ontdek onze documentatie" + } + }, + "Features": { + "heading": "Start een retrospectief in seconden", + "description": "Het starten of deelnemen aan een retro is zo eenvoudig als 1, 2, 3. Het is wrijvingsloos.", + "feature1": "Feature 1", + "feature2": "Functie 2", + "feature3": "Feature 3", + "feature4": "Functie 4" + }, + "Newsfeed": { + "heading": "Wat is er nieuw in Retrospected" + }, + "FAQ": { + "heading": "Veelgestelde vragen (FAQ's)", + "data": [ + { + "question": "Hoe worden betalingen behandeld?", + "answer": "Betalingen worden afgehandeld door onze partner, Stripe. Er wordt geen betalingsinformatie opgeslagen door Retrospected." + }, + { + "question": "Geef je in sommige gevallen gratis Pro-licenties?", + "answer": "Als u dit product als liefdadigheid gebruikt, of u bent in opleiding, stuur ons een e-mail en we regelen een gratis licentie voor u. Contacteer ons." + }, + { + "question": "Zal ik meer betalen voor sommige functies?", + "answer": "We hebben slechts 2 tiers: Gratis en Pro. Alle functies zijn ontgrendeld wanneer u zich abonneert op een Pro-account." + }, + { + "question": "Is het mogelijk jaarlijks te betalen?", + "answer": "U kan! Selecteer deze optie bij het afrekenen en u krijgt één maand gratis per jaar." + }, + { + "question": "Kan ik mijn abonnement annuleren?", + "answer": "Ja. Het abonnement kan op elk gewenst moment worden gestopt en zal eindigen aan het einde van uw huidige factureringsmaand." + }, + { + "question": "Is er een limiet?", + "answer": "Er is geen limiet aan de hoeveelheid opgeslagen gegevens, afhankelijk van het beleid voor eerlijk gebruik. Voor gratis accounts bent u beperkt tot 40 posts." + } + ] + }, + "CTA": { + "heading": "Start nu een Retrospectief", + "description": "Sluit je aan bij de duizenden gebruikers die al Retrospected gebruiken", + "button": "Start een Retrospectief", + "hint": "Dit zal je leven veranderen!" + }, + "Footer": { + "copyright": "Copyright © 2023 - Retrospected Ltd. Alle rechten voorbehouden.", + "about": "We maken software met Liefe, uit Londen, VK" + }, + "Contact": { + "title": "Contact informatie", + "address": "Retrospected Ltd, Londen, VK", + "phone": "+44 (niet gebruikt voor nu)", + "openingTime": "7 Dagen - 8am - 10.00 uur", + "email": "support@retrospected.com" + } +} \ No newline at end of file