aboutsummaryrefslogtreecommitdiff
path: root/src/i18n
diff options
context:
space:
mode:
Diffstat (limited to 'src/i18n')
-rw-r--r--src/i18n/en.json89
-rw-r--r--src/i18n/es.json89
-rw-r--r--src/i18n/index.ts34
3 files changed, 212 insertions, 0 deletions
diff --git a/src/i18n/en.json b/src/i18n/en.json
new file mode 100644
index 0000000..1c4c1b1
--- /dev/null
+++ b/src/i18n/en.json
@@ -0,0 +1,89 @@
+{
+ "header": {
+ "home": "Home",
+ "trajectory": "Trajectory",
+ "portfolio": "Portfolio",
+ "blog": "Blog",
+ "contact": "Contact"
+ },
+ "footer": {
+ "copyright": "All rights reserved.",
+ "contentLicencedUnder": "Unless otherwise stated, the content of this site is licensed under",
+ "sourceCodeAvailableOn": "Source code for this site is available on",
+ "andIsLicencedUnder": "and is licenced under",
+ "eupl": "European Union Public Licence"
+ },
+ "contactPage": {
+ "title": "Contact",
+ "description": "The ways to contact me, either by email, phone or social networks.",
+ "headline": "Get in touch with me!",
+ "enableJs": "JavaScript must be enabled to view the email address and phone number. This is done to prevent scrapers and spam.",
+ "intro": "The easiest way to contact me is through my email address: <a href=\"#\" id=\"email-addr\">Enable JS</a>. You can also use <a href=\"https://wa.me/message/W7T7L4EZAELQI1\">WhatsApp</a> with the phone number <a href=\"#\" id=\"phone-number\">Enable JS</a>.",
+ "socialMedia": "You can also find me on some social networks:"
+ },
+ "homePage": {
+ "title": "Home",
+ "description": "Homepage of my website",
+ "welcome": "Welcome to my website. My name is Ariel, and here you will find information about me and my projects.",
+ "whoAmI": "Who am I?",
+ "whoAmIDesc": "I am a web developer who likes to learn new things and share knowledge. I enjoy programming, web design, and creativity. I love creating new things and learning from others.",
+ "moreAboutMe": "More about me",
+ "whatIDo": "What do I do?",
+ "whatIDoDesc": "I currently work as a software developer and Cloud administrator at a technology company. I develop web applications in PHP and deploy them in the cloud securely and efficiently.",
+ "myPortfolio": "My portfolio",
+ "latestBlogPosts": "Latest blog posts",
+ "viewAllPosts": "View all posts"
+ },
+ "trajectoryPage": {
+ "title": "Trajectory",
+ "description": "My trajectory as a software developer, with information about my education, work experience and projects I have worked on.",
+ "headline": "My trajectory as a developer",
+ "intro": "I am a software developer living in Vigo, Spain. I love technology and I enjoy learning new things. I am professionally dedicated to software development in all its aspects: from architecture design, implementation and production deployment, to other aspects such as user experience, accessibility and security.",
+ "techTitle": "Technologies I master",
+ "techDescription1": "I mainly master the Microsoft ecosystem: .NET (C#), ASP.NET Core, SQL Server, Azure and Azure DevOps. I also have experience with other languages and technologies, such as PHP, Python and Java. Additionally, I have frontend knowledge with HTML5, CSS3, JavaScript and TypeScript.",
+ "techDescription2": "I also have experience with DevOps tools such as Docker, Kubernetes, Terraform and GitHub Actions; as well as the Azure Cloud ecosystem.",
+ "educationTitle": "Education and credentials",
+ "efsetCert1": "Official EF SET C2 Proficient Certificate",
+ "efsetCert2": ": certifies my C2 English level, the highest according to the Common European Framework of Reference for Languages.",
+ "viewCertificate": "View certificate",
+ "azureDeveloperCert1": "Microsoft Certified: Azure Developer Associate",
+ "azureDeveloperCert2": ": certifies my knowledge in Azure application development.",
+ "viewCredential": "View credential",
+ "azureDevOpsCert1": "Microsoft Certified: Azure DevOps Engineer Expert",
+ "azureDevOpsCert2": ": certifies my knowledge in implementing DevOps methodologies in Azure with Azure DevOps and GitHub.",
+ "higherTechCert1": "Higher Technical Certificate in Multiplatform Application Development",
+ "higherTechCert2": ": higher vocational training degree, obtained at",
+ "higherTechCert3": "IES de Teis",
+ "higherTechCert4": "in Vigo.",
+ "experienceTitle": "Work experience",
+ "estelaria1": "Estelaria Solutions (Q3 2023 - present)",
+ "estelaria2": "Full-stack application development, mainly in PHP with Symfony, MongoDB and Vanilla JavaScript. In addition, I implemented a considerable number of improvements in usability, accessibility and performance.",
+ "estelaria3": "I am also responsible for managing the infrastructure on AWS, and implementing collaboration tools such as Jira and GitHub.",
+ "polygon1": "Internship at Polygon-E (Q2 2023)",
+ "polygon2": "I did my professional training internship at Polygon-E, where I developed several internal management applications with ASP.NET Core and Blazor, deploying on on-premise environments with Windows Server, IIS and SQL Server.",
+ "projectsTitle": "Projects",
+ "projectsDescription": "You can find the (public) projects I have worked on in <a href=\"/portfolio\">my portfolio</a> and on my <a href=\"https://github.com/arielcostas\">GitHub profile</a>."
+ },
+ "portfolioPage": {
+ "title": "Portfolio",
+ "description": "A list of projects I have worked on in recent years, with the technologies used.",
+ "headline": "My portfolio",
+ "intro": "In this section, you will find a list of the projects I have worked on, both for third parties and my own. If you would like more information about any of them, please do not hesitate to <a href=\"/contact\">contact me</a>.",
+ "freelanceTitle": "Projects for third parties (freelance)",
+ "freelanceDesc": "I have developed projects for third parties by commission, the most notable being the following:",
+ "orderExtractorTitle": "Online Order Purchase Extractor",
+ "orderExtractorDesc": "Desktop application that extracts data about online orders from various platforms (such as WooCommerce, Amazon, and eBay). <a href=\"/portfolio/order-extractor\">More information</a>.",
+ "touristInfoTitle": "Tourist Information Point on Mobile Devices",
+ "touristInfoDesc": "Web application for tourist information, with QR codes, 360° content, and YouTube embedding. <a href=\"/portfolio/dynamic-tourist-info\">More information</a>.",
+ "wpConsultingTitle": "WordPress Consulting",
+ "wpConsultingDesc": "Maintenance, optimisation, and migration work for WordPress websites and WooCommerce online shops. <a href=\"/portfolio/wp-consulting\">More information</a>. <a href=\"/contact\">Contact</a>.",
+ "ownProjectsTitle": "My own projects",
+ "ownProjectsDesc": "Additionally, I have several personal projects that I have developed in my own time, some of which are active and open source.",
+ "personalWebTitle": "Personal Website",
+ "personalWebDesc": "Developed with Astro, a static site generator that lets you write content in Markdown and publish to the web with excellent performance. Deployed on Azure Static Web Apps.",
+ "mientrenoTitle": "MiEntreno (end-of-course project)",
+ "mientrenoDesc": "Web application for managing sports training, with a simple and easy-to-use interface. Developed with ASP.NET Core, Razor Pages, and SQL Server. <a href=\"/portfolio/mientreno\">More information</a>. <a href=\"https://github.com/arielcostas/mientreno\">Source code</a>.",
+ "vigo360Title": "Vigo 360",
+ "vigo360Desc": "Blog about Vigo and its surroundings, mainly focused on mobility and toponymy. Developed in Go, with a MySQL database and deployed on a VPS managed by myself. <a href=\"/portfolio/vigo-360\">More information</a>. <a href=\"https://github.com/arielcostas/vigo360\">Source code</a>. <a href=\"https://vigo360.es\">Website</a>."
+ }
+} \ No newline at end of file
diff --git a/src/i18n/es.json b/src/i18n/es.json
new file mode 100644
index 0000000..0e6e8bb
--- /dev/null
+++ b/src/i18n/es.json
@@ -0,0 +1,89 @@
+{
+ "header": {
+ "home": "Inicio",
+ "trajectory": "Trayectoria",
+ "portfolio": "Portafolio",
+ "blog": "Blog",
+ "contact": "Contacto"
+ },
+ "footer": {
+ "copyright": "Todos los derechos reservados.",
+ "contentLicencedUnder": "Salvo que se indique lo contrario, el contenido de este sitio está bajo licencia",
+ "sourceCodeAvailableOn": "El código fuente de este sitio está disponible en",
+ "andIsLicencedUnder": "y se ofrece bajo licencia",
+ "eupl": "Licencia Pública de la Unión Europea"
+ },
+ "contactPage": {
+ "title": "Contacto",
+ "description": "Las formas de ponerte en contacto conmigo, ya sea por correo electrónico, teléfono o redes sociales.",
+ "headline": "¡Ponte en contacto conmigo!",
+ "enableJs": "Es necesario activar JavaScript para ver la dirección de correo electrónico y el número de teléfono. Esto se hace para evitar scrapers y spam.",
+ "intro": "La forma más sencilla de contactar conmigo es a través de mi dirección de correo electrónico: <a href=\"#\" id=\"email-addr\">Activa JS</a>. También puedes usar <a href=\"https://wa.me/message/W7T7L4EZAELQI1\">WhatsApp</a> con el número de teléfono <a href=\"#\" id=\"phone-number\">Activa JS</a>.",
+ "socialMedia": "También puedes encontrarme en algunas redes sociales:"
+ },
+ "homePage": {
+ "title": "Inicio",
+ "description": "Página de inicio de mi web",
+ "welcome": "Te doy la bienvenida a mi web. Me llamo Ariel, y aquí encontrarás información sobre mí y mis proyectos.",
+ "whoAmI": "¿Quién soy?",
+ "whoAmIDesc": "Soy un desarrollador web que le gusta aprender cosas nuevas y compartir su conocimiento. Me gusta la programación, el diseño web y la creatividad. Me encanta crear cosas nuevas y aprender de los demás.",
+ "moreAboutMe": "Más información sobre mí",
+ "whatIDo": "¿Qué hago?",
+ "whatIDoDesc": "Actualmente trabajo como desarrollador de software y administrador Cloud en una empresa de tecnología. Me encargo de desarrollar aplicaciones web en PHP y desplegarlas en la nube de forma segura y eficiente.",
+ "myPortfolio": "Mi portfolio",
+ "latestBlogPosts": "Últimas entradas del blog",
+ "viewAllPosts": "Ver todas las entradas"
+ },
+ "trajectoryPage": {
+ "title": "Trayectoria",
+ "description": "Mi trayectoria como desarrollador de software, con información sobre mi educación, experiencia laboral y proyectos en los que he trabajado.",
+ "headline": "Mi trayectoria como desarrollador",
+ "intro": "Soy un desarrollador de software que vive en Vigo, España. Me gusta mucho la tecnología, y me gusta aprender cosas nuevas. Me dedico profesionalmente al desarrollo de software en todos sus ámbitos: desde el diseño de la arquitectura, la implementación y el despliegue en producción, pasando por otros aspectos como la experiencia de usuario, la accesibilidad y la seguridad.",
+ "techTitle": "Tecnologías que domino",
+ "techDescription1": "Domino principalmente el ecosistema de Microsoft: .NET (C#), ASP.NET Core, SQL Server, Azure y Azure DevOps. También tengo experiencia con otros lenguajes y tecnologías, como PHP, Python y Java. Además, tengo conocimientos de frontend con HTML5, CSS3, JavaScript y TypeScript.",
+ "techDescription2": "También tengo experiencia con herramientas de DevOps como Docker, Kubernetes, Terraform y GitHub Actions; así como el ecosistema Cloud de Azure.",
+ "educationTitle": "Educación y credenciales",
+ "efsetCert1": "Certificado oficial EF SET C2 Proficient",
+ "efsetCert2": ": acredita mi nivel de inglés C2, el más alto según el Marco Común Europeo de Referencia para las Lenguas.",
+ "viewCertificate": "Ver certificado",
+ "azureDeveloperCert1": "Microsoft Certified: Azure Developer Associate",
+ "azureDeveloperCert2": ": acredita mis conocimientos en el desarrollo de aplicaciones en Azure.",
+ "viewCredential": "Ver credencial",
+ "azureDevOpsCert1": "Microsoft Certified: Azure DevOps Engineer Expert",
+ "azureDevOpsCert2": ": acredita mis conocimientos en la implementación de metodologías de DevOps en Azure con Azure DevOps y GitHub.",
+ "higherTechCert1": "Técnico Superior en Desarrollo de Aplicaciones Multiplataforma",
+ "higherTechCert2": ": título de formación profesional de grado superior, obtenido en el",
+ "higherTechCert3": "IES de Teis",
+ "higherTechCert4": "en Vigo.",
+ "experienceTitle": "Experiencia laboral",
+ "estelaria1": "Estelaria Solutions (Q3 2023 - actualidad)",
+ "estelaria2": "Desarrollo de aplicaciones full-stack, principalmente en PHP con Symfony, MongoDB y JavaScript Vanilla. Además, implementé una cantidad considerable de mejoras en usabilidad, accesibilidad y rendimiento.",
+ "estelaria3": "También me encargo de la gestión de la infraestructura en AWS, y de la implementación de herramientas de colaboración como Jira y GitHub.",
+ "polygon1": "FCT en Polygon-E (Q2 2023)",
+ "polygon2": "Realicé mis prácticas de formación profesional en la empresa Polygon-E, donde desarrollé varias aplicaciones de gestión interna con ASP.NET Core y Blazor, desplegando sobre entornos on-premise con Windows Server, IIS y SQL Server.",
+ "projectsTitle": "Proyectos",
+ "projectsDescription": "Puedes encontrar los proyectos (públicos) en los que he trabajado en <a href=\"/portfolio\">mi portfolio</a> y en mi <a href=\"https://github.com/arielcostas\">perfil de GitHub</a>."
+ },
+ "portfolioPage": {
+ "title": "Portfolio",
+ "description": "Un listado de los proyectos en los que he trabajado en los últimos años, con las tecnologías utilizadas.",
+ "headline": "Mi portfolio",
+ "intro": "En esta sección encontrarás una lista de los proyectos en los que he trabajado, tanto para terceros como propios. Si quieres más información sobre alguno de ellos, no dudes en <a href=\"/contact\">contactar conmigo</a>.",
+ "freelanceTitle": "Proyectos para terceros (freelance)",
+ "freelanceDesc": "He realizado desarrollos de proyectos para terceros por encargo, siendo los más destacados los siguientes:",
+ "orderExtractorTitle": "Extractor de pedidos compra online",
+ "orderExtractorDesc": "Aplicación de escritorio que extrae los datos sobre los pedidos on-line de diversas plataformas (como WooCommerce, Amazon y Ebay). <a href=\"/portfolio/order-extractor\">Más información</a>.",
+ "touristInfoTitle": "Punto de información turística en móviles",
+ "touristInfoDesc": "Aplicación web de información turística, con QR, contenido en 360º e incrustado de YouTube. <a href=\"/portfolio/dynamic-tourist-info\">Más información</a>.",
+ "wpConsultingTitle": "Consultoría WordPress",
+ "wpConsultingDesc": "Trabajos de mantenimiento, optimización y migración de sitios web WordPress y tiendas online WooCommerce. <a href=\"/portfolio/wp-consulting\">Más información</a>. <a href=\"/contact\">Contactar</a>.",
+ "ownProjectsTitle": "Proyectos propios",
+ "ownProjectsDesc": "Además, tengo varios proyectos propios que he desarrollado en mi tiempo, estando algunos de ellos en activo, y como código abierto.",
+ "personalWebTitle": "Web personal",
+ "personalWebDesc": "Desarrollado con Astro, un generador de sitios web estáticos que permite escribir contenido en Markdown y publicar en la web con un rendimiento excelente. Desplegado sobre Azure Static Web Apps.",
+ "mientrenoTitle": "MiEntreno (proyecto fin de ciclo)",
+ "mientrenoDesc": "Aplicación web para la gestión de entrenamientos deportivos, con una interfaz sencilla y fácil de usar. Desarrollado con ASP.NET Core, Razor Pages y SQL Server. <a href=\"/portfolio/mientreno\">Más información</a>. <a href=\"https://github.com/arielcostas/mientreno\">Código fuente</a>.",
+ "vigo360Title": "Vigo 360",
+ "vigo360Desc": "Blog sobre Vigo y su entorno, orientado principalmente a hablar de movilidad y toponimia. Desarrollado en Go, con base de datos MySQL y desplegado sobre VPS administrado por mí mismo. <a href=\"/portfolio/vigo-360\">Más información</a>. <a href=\"https://github.com/arielcostas/vigo360\">Código fuente</a>. <a href=\"https://vigo360.es\">Web</a>."
+ }
+} \ No newline at end of file
diff --git a/src/i18n/index.ts b/src/i18n/index.ts
new file mode 100644
index 0000000..4ed1a52
--- /dev/null
+++ b/src/i18n/index.ts
@@ -0,0 +1,34 @@
+import Spanish from './es.json';
+import English from './en.json';
+
+export const SHOW_DEFAULT_LANGUAGE = false;
+export const DEFAULT_LANGUAGE = "es";
+
+export type LanguageKeys = "es" | "en";
+
+export const languages: Record<LanguageKeys, { code: string, name: string }> = {
+ es: {
+ code: "es",
+ name: "Español"
+ },
+ en: {
+ code: "en",
+ name: "English"
+ }
+}
+
+export const LANGUAGE_CODES = Object.keys(languages);
+
+export const useTranslations = (lang: string | undefined) => {
+ switch (lang) {
+ case languages.en.code:
+ return English;
+ case languages.es.code:
+ default:
+ return Spanish;
+ }
+}
+
+export function getUrlWithoutLocale(url: string) {
+ return url.replace(/\/[a-z]{2}\//, "/");
+} \ No newline at end of file