diff --git a/locales/en.yml b/locales/en.yml index 58f4ee1f..e4b9e4c6 100644 --- a/locales/en.yml +++ b/locales/en.yml @@ -16,8 +16,11 @@ footer: Footer company: Company legal: Legal copyright: All rights reserved. +trust: Trust app_mobile: App mobile plugins: Plugins +disclaimer: Disclaimer +read_our_disclaimer: Read our disclaimer plugins_description: Capgo offer multiple plugins to help you build your app faster and better. awesome_capacitor: Awesome Capacitor top_app_by_framework: Top App by Framework @@ -31,6 +34,8 @@ imprint: Imprint imprint_description: Find the info of $1 company here jobs: Jobs contributing: Contributing +contributing_description: How to contribute to Capgo open source +consulting_description: Move forward with confidence. Capgo offer multiple levels of protection to keep your intellectual property and sensitive data secure. security: Security consulting: Consulting affiliate: Affiliate @@ -47,11 +52,15 @@ read_our_security_policy: Read our Security Policy return_policy: Return Policy read_our_return_policy: Read our Return Policy aup: Acceptable Use Policy +read_our_aup: Read our Acceptable Use Policy +Capacitor_Sanbox_App: Capacitor Sanbox App +Capacitor_Sanbox_App_description: "Try each version of your app directly into the sandbox app in a second. Manage OTA update for your capacitor app from your pocket, available in IOS and Android." eula: End-User License Agreement read_our_eula: Read our End-User License Agreement data_processing_agreement: Data Processing Agreement read_our_data_processing_agreement: Read our Data Processing Agreement terms: Terms of Service +read_our_terms_of_service: Read our Terms of Service security_txt: Security.txt dp: Data Policy dpa: Data Protection Agreement diff --git a/locales/fr.yml b/locales/fr.yml index 5561b5bd..1a942297 100644 --- a/locales/fr.yml +++ b/locales/fr.yml @@ -18,8 +18,11 @@ footer: Pied de page company: Entreprise legal: Légal copyright: Tous droits réservés. +trust: Confiance app_mobile: Application mobile plugins: Plugins +disclaimer: Clause de non-responsabilité +read_our_disclaimer: Lisez notre clause de non-responsabilité plugins_description: >- Capgo propose plusieurs plugins pour vous aider à créer votre application plus rapidement et mieux. @@ -35,6 +38,10 @@ imprint: Imprimer imprint_description: Retrouvez les infos de la société à 1$ ici jobs: Emplois contributing: Contribuer +contributing_description: Comment contribuer à l'open source Capgo +consulting_description: >- + Avancez en toute confiance. Capgo offre plusieurs niveaux de protection pour + protéger votre propriété intellectuelle et vos données sensibles. security: Sécurité consulting: Consultant affiliate: Filiale @@ -51,11 +58,18 @@ read_our_security_policy: Lisez notre politique de sécurité return_policy: Politique de retour read_our_return_policy: Lisez notre politique de retour aup: Politique d'utilisation acceptable +read_our_aup: Lisez notre politique d'utilisation acceptable +Capacitor_Sanbox_App: Application Condensateur Sanbox +Capacitor_Sanbox_App_description: >- + Essayez chaque version de votre application directement dans l'application + sandbox en une seconde. Gérez la mise à jour OTA de votre application de + condensateur depuis votre poche, disponible sur IOS et Android. eula: Contrat de licence utilisateur final read_our_eula: Lisez notre contrat de licence utilisateur final data_processing_agreement: Accord de traitement des données read_our_data_processing_agreement: Lire notre accord de traitement des données terms: Conditions d'utilisation +read_our_terms_of_service: Lisez nos conditions d'utilisation security_txt: Sécurité.txt dp: Politique de données dpa: Accord de protection des données @@ -171,7 +185,10 @@ push_updates_like_your_commits: Envoyez des mises à jour comme vos commits its_compatible_with_azure_devops_gitlab_github_jenkins_cloudbees_travis_azure_devops_gitlab_github_circleci_and_many_more: >- Il est compatible avec Azure DevOps, GitLab, GitHub, Jenkins, Cloudbees, Travis, Azure DevOps, GitLab, GitHub, CircleCI et bien d'autres. -launch_multiple_releases_per_week: "Avec 1\_$, vous pouvez lancer plusieurs versions par semaine avec une augmentation impressionnante de 81\_% de l'efficacité. Ne manquez pas cet avantage concurrentiel." +launch_multiple_releases_per_week: >- + Avec 1 $, vous pouvez lancer plusieurs versions par semaine avec une + augmentation impressionnante d'efficacité de 81 %. Ne manquez pas cet avantage + concurrentiel. easily_combine_features_ci_cd: >- Combinez facilement des fonctionnalités à 1 $ dans votre plate-forme CI/CD actuelle grâce à notre CLI conviviale. @@ -199,7 +216,7 @@ read_the_full_story_of_capgos_challenging_birth_as_a_solo_maker_project: >- key_features: Principales fonctionnalités deploy_changes_in_real_time: Déployer les changements en temps réel version_control: Contrôle des versions -manage_multiple_app_versions_effortlessly: Gérez plusieurs versions d'applications sans effort +manage_multiple_app_versions_effortlessly: Gérez plusieurs versions d'application sans effort rollback_capability: Capacité de restauration revert_to_previous_versions_if_needed: Revenir aux versions précédentes si nécessaire analytics: Analytique @@ -419,7 +436,7 @@ npm_run_lint_passes: >- documenting_apis: Documenter les API importance_of_documenting_apis: >- Il est important de documenter toutes les API publiques et nous souhaitons le - faire en cohérence avec le code. Cela permet de garantir que le code et la + faire conformément au code. Cela permet de garantir que le code et la documentation sont étroitement liés. javascript_and_typescript: JavaScript et TypeScript jsdoc_documentation: >- @@ -482,7 +499,7 @@ top_react_native_apps: >- Liste des 100 meilleures applications utilisant React Native sur la boutique Android top_flutter_apps_title: Meilleures applications Flutter -flutter_power_aproximately_1_of_apps_on_google_play_store: "Flutter alimente environ 1\_% des applications sur le Google Play Store" +flutter_power_aproximately_1_of_apps_on_google_play_store: "Flutter alimente environ 1\_% des applications sur Google Play Store" top_kotlin_apps_title: Meilleures applications Kotlin kotlin_power_aproximately_1_of_apps_on_google_play_store: Kotlin alimente environ 1 % des applications sur le Google Play Store top_native_script_apps_title: Principales applications de script natif diff --git a/src/pages/app_mobile.astro b/src/pages/app_mobile.astro index 3eb87cbc..f2943ca6 100644 --- a/src/pages/app_mobile.astro +++ b/src/pages/app_mobile.astro @@ -1,20 +1,22 @@ --- import Layout from '@/layouts/Layout.astro' -import { useRuntimeConfig } from '@/config/app' import VueAppmobile from '@/vue-pages/app_mobile.vue' +import { useRuntimeConfig } from '@/config/app' +import translations from '@/services/translations' import { defaultLocale, type Locales } from '@/services/locale' const config = useRuntimeConfig() - const brand = config.public.brand -const description = - 'Try each version of your app directly into the sandbox app in a second. Manage OTA update for your capacitor app from your pocket, available in IOS and Android.' + +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['Capacitor_Sanbox_App'][pageLocale]].join(' | ') +const description = translations['Capacitor_Sanbox_App_description'][pageLocale] const content = { description, - title: `${brand} | Capacitor sanbox APP`, + title, image: `${config.public.baseUrl}/app_demo.webp`, } --- - + diff --git a/src/pages/aup.astro b/src/pages/aup.astro index 0ba947de..9a0b4302 100644 --- a/src/pages/aup.astro +++ b/src/pages/aup.astro @@ -1,14 +1,15 @@ --- import Layout from '@/layouts/Layout.astro' -import { type Locales } from '@/services/locale' -import translations from '@/services/translations' import { useRuntimeConfig } from '@/config/app' +import translations from '@/services/translations' +import { defaultLocale, type Locales } from '@/services/locale' const config = useRuntimeConfig() - const brand = config.public.brand -const title = `${brand} | AUP Policy` -const description = 'Read our AUP Policy' + +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['aup'][pageLocale]].join(' | ') +const description = translations['read_our_aup'][pageLocale] const content = { description, diff --git a/src/pages/blog/[slug].astro b/src/pages/blog/[slug].astro index 3d25a98f..81e9e932 100644 --- a/src/pages/blog/[slug].astro +++ b/src/pages/blog/[slug].astro @@ -2,6 +2,7 @@ import Layout from '@/layouts/Layout.astro' import { useRuntimeConfig } from '@/config/app' import VueBlogSlug from '@/vue-pages/blog/[slug].vue' +import { defaultLocale, type Locales } from '@/services/locale' export async function getStaticPaths() { const allBlogPosts = await Astro.glob('@/content/blog/**/*.md') @@ -86,8 +87,10 @@ content['ldJSON'] = { }, }, } + +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales --- - + diff --git a/src/pages/blog/index.astro b/src/pages/blog/index.astro index 802abf2d..7c201c71 100644 --- a/src/pages/blog/index.astro +++ b/src/pages/blog/index.astro @@ -4,6 +4,7 @@ let posts = await Astro.glob('@/content/blog/**/*.md') import Layout from '@/layouts/Layout.astro' import { useRuntimeConfig } from '@/config/app' import VueBlogIndex from '@/vue-pages/blog/index.vue' +import { defaultLocale, type Locales } from '@/services/locale' posts = posts.filter((i) => i.frontmatter.published).sort((a, b) => (new Date(a.frontmatter.created_at) > new Date(b.frontmatter.created_at) ? -1 : 1)) @@ -18,8 +19,10 @@ if (config.public.blog_title) { if (config.public.blog_description) { content['description'] = config.public.blog_description } + +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales --- - + diff --git a/src/pages/consulting.astro b/src/pages/consulting.astro index 83527d9c..62953296 100644 --- a/src/pages/consulting.astro +++ b/src/pages/consulting.astro @@ -1,14 +1,21 @@ --- import Layout from '@/layouts/Layout.astro' -import { defaultLocale, type Locales } from '@/services/locale' import VueConsulting from '@/vue-pages/consulting.vue' +import { useRuntimeConfig } from '@/config/app' +import translations from '@/services/translations' +import { defaultLocale, type Locales } from '@/services/locale' + +const config = useRuntimeConfig() +const brand = config.public.brand -const description = 'Move forward with confidence. Capgo offer multiple levels of protection to keep your intellectual property and sensitive data secure.' +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['consulting'][pageLocale]].join(' | ') +const description = translations['consulting_description'][pageLocale] const content = { description, - title: 'Capgo | Capacitor consulting', + title, } --- - + diff --git a/src/pages/contributing.astro b/src/pages/contributing.astro index b8ec62bd..538d2ec7 100644 --- a/src/pages/contributing.astro +++ b/src/pages/contributing.astro @@ -1,16 +1,16 @@ --- -import { useRuntimeConfig } from '@/config/app' import Layout from '@/layouts/Layout.astro' -import { defaultLocale, type Locales } from '@/services/locale' import VueContributing from '@/vue-pages/contributing.vue' +import { useRuntimeConfig } from '@/config/app' +import translations from '@/services/translations' +import { defaultLocale, type Locales } from '@/services/locale' const config = useRuntimeConfig() - const brand = config.public.brand -const title = `${brand} | Contributing` - -const description = 'How to contribute to Capgo open source' +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['contributing'][pageLocale]].join(' | ') +const description = translations['contributing_description'][pageLocale] const content = { description, @@ -18,4 +18,4 @@ const content = { } --- - + diff --git a/src/pages/disclaimer.astro b/src/pages/disclaimer.astro index 585e05bc..df1f6c48 100644 --- a/src/pages/disclaimer.astro +++ b/src/pages/disclaimer.astro @@ -1,16 +1,16 @@ --- import Layout from '@/layouts/Layout.astro' -import { useRuntimeConfig } from '@/config/app' import VueDisclaimer from '@/vue-pages/disclaimer.vue' +import { useRuntimeConfig } from '@/config/app' +import translations from '@/services/translations' import { defaultLocale, type Locales } from '@/services/locale' const config = useRuntimeConfig() - const brand = config.public.brand -const title = `${brand} | Disclaimer` - -const description = 'Read our disclaimer' +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['disclaimer'][pageLocale]].join(' | ') +const description = translations['read_our_disclaimer'][pageLocale] const content = { description, @@ -18,4 +18,4 @@ const content = { } --- - + diff --git a/src/pages/dp.astro b/src/pages/dp.astro index f93820f4..9e26cdcd 100644 --- a/src/pages/dp.astro +++ b/src/pages/dp.astro @@ -2,14 +2,15 @@ import VueDataPolicy from '@/vue-pages/data_policy.vue' import Layout from '@/layouts/Layout.astro' import { useRuntimeConfig } from '@/config/app' +import translations from '@/services/translations' import { defaultLocale, type Locales } from '@/services/locale' const config = useRuntimeConfig() - const brand = config.public.brand -const title = `${brand} | Data Policy` -const description = 'Data Policy' +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['dp'][pageLocale]].join(' | ') +const description = translations['dp'][pageLocale] const content = { description, @@ -17,4 +18,4 @@ const content = { } --- - + diff --git a/src/pages/plugins/[id].astro b/src/pages/plugins/[id].astro index ff4a4a46..37d54c4e 100644 --- a/src/pages/plugins/[id].astro +++ b/src/pages/plugins/[id].astro @@ -6,6 +6,7 @@ import type { Plugin } from '@/config/plugins' import { useRuntimeConfig } from '@/config/app' import VuePluginPDP from '@/vue-pages/plugins/[id].vue' import { fetchWithToken, getSlug } from '@/services/github' +import { defaultLocale, type Locales } from '@/services/locale' export async function getStaticPaths() { let tutMap: any = {} @@ -148,8 +149,10 @@ content['ldJSON'] = { ...(plugin.hasOwnProperty('datePublished') && { datePublished: plugin.datePublished }), ...(plugin.hasOwnProperty('dateModified') && { dateModified: plugin.dateModified }), } + +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales --- - + diff --git a/src/pages/tos.astro b/src/pages/tos.astro index 525b2b4f..d48434bd 100644 --- a/src/pages/tos.astro +++ b/src/pages/tos.astro @@ -3,13 +3,14 @@ import VueTos from '@/vue-pages/tos.vue' import Layout from '@/layouts/Layout.astro' import { useRuntimeConfig } from '@/config/app' import { defaultLocale, type Locales } from '@/services/locale' +import translations from '@/services/translations' const config = useRuntimeConfig() - const brand = config.public.brand -const title = `${brand} | Terms of Service` -const description = 'Read our Terms of Service' +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['terms'][pageLocale]].join(' | ') +const description = translations['read_our_terms_of_service'][pageLocale] const content = { description, @@ -17,4 +18,4 @@ const content = { } --- - + diff --git a/src/pages/trust.astro b/src/pages/trust.astro index 59ed8fd3..32a2f4b3 100644 --- a/src/pages/trust.astro +++ b/src/pages/trust.astro @@ -3,13 +3,14 @@ import Layout from '@/layouts/Layout.astro' import VueTrust from '@/vue-pages/trust.vue' import { useRuntimeConfig } from '@/config/app' import { defaultLocale, type Locales } from '@/services/locale' +import translations from '@/services/translations' const config = useRuntimeConfig() - const brand = config.public.brand -const title = `${brand} | Trust` -const description = 'Move forward with confidence. Capgo offer multiple levels of protection to keep your intellectual property and sensitive data secure.' +const pageLocale = (Astro.currentLocale || defaultLocale) as Locales +const title = [brand, translations['trust'][pageLocale]].join(' | ') +const description = translations['consulting_description'][pageLocale] const content = { description, @@ -17,4 +18,4 @@ const content = { } --- - + diff --git a/src/services/translations.ts b/src/services/translations.ts index 1f688f07..6fea21f9 100644 --- a/src/services/translations.ts +++ b/src/services/translations.ts @@ -22,8 +22,11 @@ export default { company: { en: 'Company', fr: 'Entreprise' }, legal: { en: 'Legal', fr: 'Légal' }, copyright: { en: 'All rights reserved.', fr: 'Tous droits réservés.' }, + trust: { en: 'Trust', fr: 'Confiance' }, app_mobile: { en: 'App mobile', fr: 'Application mobile' }, plugins: { en: 'Plugins', fr: 'Plugins' }, + disclaimer: { en: 'Disclaimer', fr: 'Clause de non-responsabilité' }, + read_our_disclaimer: { en: 'Read our disclaimer', fr: 'Lisez notre clause de non-responsabilité' }, plugins_description: { en: 'Capgo offer multiple plugins to help you build your app faster and better.', fr: 'Capgo propose plusieurs plugins pour vous aider à créer votre application plus rapidement et mieux.', @@ -40,6 +43,11 @@ export default { imprint_description: { en: 'Find the info of $1 company here', fr: 'Retrouvez les infos de la société à 1$ ici' }, jobs: { en: 'Jobs', fr: 'Emplois' }, contributing: { en: 'Contributing', fr: 'Contribuer' }, + contributing_description: { en: 'How to contribute to Capgo open source', fr: "Comment contribuer à l'open source Capgo" }, + consulting_description: { + en: 'Move forward with confidence. Capgo offer multiple levels of protection to keep your intellectual property and sensitive data secure.', + fr: 'Avancez en toute confiance. Capgo offre plusieurs niveaux de protection pour protéger votre propriété intellectuelle et vos données sensibles.', + }, security: { en: 'Security', fr: 'Sécurité' }, consulting: { en: 'Consulting', fr: 'Consultant' }, affiliate: { en: 'Affiliate', fr: 'Filiale' }, @@ -56,11 +64,18 @@ export default { return_policy: { en: 'Return Policy', fr: 'Politique de retour' }, read_our_return_policy: { en: 'Read our Return Policy', fr: 'Lisez notre politique de retour' }, aup: { en: 'Acceptable Use Policy', fr: "Politique d'utilisation acceptable" }, + read_our_aup: { en: 'Read our Acceptable Use Policy', fr: "Lisez notre politique d'utilisation acceptable" }, + Capacitor_Sanbox_App: { en: 'Capacitor Sanbox App', fr: 'Application Condensateur Sanbox' }, + Capacitor_Sanbox_App_description: { + en: 'Try each version of your app directly into the sandbox app in a second. Manage OTA update for your capacitor app from your pocket, available in IOS and Android.', + fr: "Essayez chaque version de votre application directement dans l'application sandbox en une seconde. Gérez la mise à jour OTA de votre application de condensateur depuis votre poche, disponible sur IOS et Android.", + }, eula: { en: 'End-User License Agreement', fr: 'Contrat de licence utilisateur final' }, read_our_eula: { en: 'Read our End-User License Agreement', fr: 'Lisez notre contrat de licence utilisateur final' }, data_processing_agreement: { en: 'Data Processing Agreement', fr: 'Accord de traitement des données' }, read_our_data_processing_agreement: { en: 'Read our Data Processing Agreement', fr: 'Lire notre accord de traitement des données' }, terms: { en: 'Terms of Service', fr: "Conditions d'utilisation" }, + read_our_terms_of_service: { en: 'Read our Terms of Service', fr: "Lisez nos conditions d'utilisation" }, security_txt: { en: 'Security.txt', fr: 'Sécurité.txt' }, dp: { en: 'Data Policy', fr: 'Politique de données' }, dpa: { en: 'Data Protection Agreement', fr: 'Accord de protection des données' }, @@ -203,7 +218,7 @@ export default { }, launch_multiple_releases_per_week: { en: "With $1, you can launch multiple releases per week with an impressive 81% increase in efficiency. Don't miss out on this competitive advantage.", - fr: "Avec 1 $, vous pouvez lancer plusieurs versions par semaine avec une augmentation impressionnante de 81 % de l'efficacité. Ne manquez pas cet avantage concurrentiel.", + fr: "Avec 1 $, vous pouvez lancer plusieurs versions par semaine avec une augmentation impressionnante d'efficacité de 81 %. Ne manquez pas cet avantage concurrentiel.", }, easily_combine_features_ci_cd: { en: 'Easily combine $1 features into your current CI/CD platform with our user-friendly CLI.', @@ -243,7 +258,7 @@ export default { key_features: { en: 'Key Features', fr: 'Principales fonctionnalités' }, deploy_changes_in_real_time: { en: 'Deploy changes in real-time', fr: 'Déployer les changements en temps réel' }, version_control: { en: 'Version Control', fr: 'Contrôle des versions' }, - manage_multiple_app_versions_effortlessly: { en: 'Manage multiple app versions effortlessly', fr: "Gérez plusieurs versions d'applications sans effort" }, + manage_multiple_app_versions_effortlessly: { en: 'Manage multiple app versions effortlessly', fr: "Gérez plusieurs versions d'application sans effort" }, rollback_capability: { en: 'Rollback Capability', fr: 'Capacité de restauration' }, revert_to_previous_versions_if_needed: { en: 'Revert to previous versions if needed', fr: 'Revenir aux versions précédentes si nécessaire' }, analytics: { en: 'Analytics', fr: 'Analytique' }, @@ -548,7 +563,7 @@ export default { documenting_apis: { en: 'Documenting APIs', fr: 'Documenter les API' }, importance_of_documenting_apis: { en: 'It is important to document all public APIs and we want to do that inline with the code. This helps ensure that code and documentation are tightly coupled together.', - fr: 'Il est important de documenter toutes les API publiques et nous souhaitons le faire en cohérence avec le code. Cela permet de garantir que le code et la documentation sont étroitement liés.', + fr: 'Il est important de documenter toutes les API publiques et nous souhaitons le faire conformément au code. Cela permet de garantir que le code et la documentation sont étroitement liés.', }, javascript_and_typescript: { en: 'JavaScript and TypeScript', fr: 'JavaScript et TypeScript' }, jsdoc_documentation: { @@ -623,7 +638,7 @@ export default { top_flutter_apps_title: { en: 'Top Flutter apps', fr: 'Meilleures applications Flutter' }, flutter_power_aproximately_1_of_apps_on_google_play_store: { en: 'Flutter power aproximately $1% of apps on Google Play Store', - fr: 'Flutter alimente environ 1 % des applications sur le Google Play Store', + fr: 'Flutter alimente environ 1 % des applications sur Google Play Store', }, top_kotlin_apps_title: { en: 'Top Kotlin apps', fr: 'Meilleures applications Kotlin' }, kotlin_power_aproximately_1_of_apps_on_google_play_store: {