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: {