diff --git a/package.json b/package.json index 7cb216c..46e3d49 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "2026.es.pycon.org", - "version": "1.17.13", + "version": "1.17.14", "description": "", "main": "index.js", "scripts": { diff --git a/src/i18n/django-girls/ca.ts b/src/i18n/django-girls/ca.ts new file mode 100644 index 0000000..206f731 --- /dev/null +++ b/src/i18n/django-girls/ca.ts @@ -0,0 +1,35 @@ +export const ca = { + title: 'Django Girls - PyConES 2026', + description: + "Taller gratuït de Django Girls a la PyConES 2026: aprèn a crear la teva pròpia pàgina web en un dia, en un ambient segur i amable. Inscripcions fins al 25 d'octubre.", + heroTitle: 'Django Girls', + heroSubtitle: 'Taller a la PyConES 2026', + intro: + 'Si ets una dona o persona no-binaria i vols aprendre a fer pàgines web, tenim bones notícies! Organitzem un taller gratuït en què podràs construir la teva pròpia pàgina web des de zero en un sol dia, en el marc de la PyConES 2026 a la Universitat de Barcelona. Aprendràs les eines que fan servir els programadors professionals cada dia, de manera senzilla i accessible.', + detailsTitle: 'Detalls', + dateLabel: 'Data', + date: 'Divendres, 6 de novembre de 2026', + locationLabel: 'Lloc', + location: 'Universitat de Barcelona', + deadlineLabel: 'Inscripcions fins al', + deadline: "25 d'octubre", + requirementsTitle: 'Requisits', + requirements: [ + 'Ser dona o persona no-binaria.', + "Tenir moltes ganes d'aprendre.", + 'Portar el teu propi portàtil.', + 'No cal experiència prèvia.', + ], + whatYouGetTitle: 'Com a assistent podràs', + whatYouGet: [ + 'Construir la teva pròpia pàgina web amb Django.', + "Gaudir d'un ambient segur i amable.", + 'Coneixer altres persones amb interessos afins', + ], + signupTitle: "Inscriu-t'hi", + signupAttendeesLabel: 'Inscripcions per a assistents', + signupAttendeesUrl: 'https://djangogirls.org/es/barcelona', + signupCoachesLabel: 'Inscripcions per a mentores', + signupCoachesUrl: 'https://djangogirls.org/es/barcelona#coach', + shareText: "Ajuda'ns compartint! 🔄💛", +} diff --git a/src/i18n/django-girls/en.ts b/src/i18n/django-girls/en.ts new file mode 100644 index 0000000..52a3f32 --- /dev/null +++ b/src/i18n/django-girls/en.ts @@ -0,0 +1,35 @@ +export const en = { + title: 'Django Girls - PyConES 2026', + description: + 'Free Django Girls workshop at PyConES 2026: learn how to build your own website in a day, in a safe and friendly environment. Apply by October 25th.', + heroTitle: 'Django Girls', + heroSubtitle: 'Workshop at PyConES 2026', + intro: + 'Are you a woman or non-binary person who wants to learn how to build websites? We have great news! We are organizing a free workshop where you will build your own website from scratch in a single day, as part of PyConES 2026 at the University of Barcelona. You will learn the tools that professional developers use every day, in a simple and accessible way.', + detailsTitle: 'Details', + dateLabel: 'Date', + date: 'Friday, November 6, 2026', + locationLabel: 'Venue', + location: 'University of Barcelona', + deadlineLabel: 'Applications close', + deadline: 'October 25th', + requirementsTitle: 'Requirements', + requirements: [ + 'Identify as a woman or non-binary person.', + 'Have a strong eagerness to learn.', + 'Bring your own laptop.', + 'No prior experience needed.', + ], + whatYouGetTitle: 'As an attendee you will', + whatYouGet: [ + 'Build your own website with Django.', + 'Enjoy a safe and friendly atmosphere.', + 'Meet other people with similar interests', + ], + signupTitle: 'Apply', + signupAttendeesLabel: 'Attendee signup', + signupAttendeesUrl: 'https://djangogirls.org/en/barcelona', + signupCoachesLabel: 'Mentor signup', + signupCoachesUrl: 'https://djangogirls.org/en/barcelona#coach', + shareText: 'Help us out by sharing! 🔄💛', +} diff --git a/src/i18n/django-girls/es.ts b/src/i18n/django-girls/es.ts new file mode 100644 index 0000000..1c2911f --- /dev/null +++ b/src/i18n/django-girls/es.ts @@ -0,0 +1,35 @@ +export const es = { + title: 'Django Girls - PyConES 2026', + description: + 'Taller gratuito de Django Girls en la PyConES 2026: aprende a crear tu propia página web en un día, en un ambiente seguro y amigable. Inscripciones hasta el 25 de octubre.', + heroTitle: 'Django Girls', + heroSubtitle: 'Taller en PyConES 2026', + intro: + 'Si eres una mujer o persona no-binaria y quieres aprender a hacer páginas web, ¡tenemos buenas noticias! Estamos organizando un taller gratuito en el que podrás construir tu propia página web desde cero en un día, en el marco de la PyConES 2026 en la Universitat de Barcelona. Aprenderás a utilizar las herramientas que usan los programadores profesionales a diario, de forma sencilla y accesible.', + detailsTitle: 'Detalles', + dateLabel: 'Fecha', + date: 'Viernes, 6 de noviembre de 2026', + locationLabel: 'Lugar', + location: 'Universitat de Barcelona', + deadlineLabel: 'Inscripciones hasta', + deadline: '25 de octubre', + requirementsTitle: 'Requisitos', + requirements: [ + 'Ser mujer o persona no-binaria.', + 'Tener muchas ganas de aprender.', + 'Traer tu propio portátil.', + 'No necesitas experiencia previa.', + ], + whatYouGetTitle: 'Como asistente podrás', + whatYouGet: [ + 'Construir tu propia página web con Django.', + 'Disfrutar de un ambiente seguro y amigable.', + 'Conocer a otras personas con intereses afines', + ], + signupTitle: 'Inscríbete', + signupAttendeesLabel: 'Inscripciones para asistentes', + signupAttendeesUrl: 'https://djangogirls.org/es/barcelona', + signupCoachesLabel: 'Inscripciones para mentoras', + signupCoachesUrl: 'https://djangogirls.org/es/barcelona#coach', + shareText: '¡Ayúdanos compartiendo! 🔄💛', +} diff --git a/src/i18n/django-girls/index.ts b/src/i18n/django-girls/index.ts new file mode 100644 index 0000000..2411ea8 --- /dev/null +++ b/src/i18n/django-girls/index.ts @@ -0,0 +1,9 @@ +import { es } from './es' +import { en } from './en' +import { ca } from './ca' + +export const texts = { + es, + en, + ca, +} as const diff --git a/src/i18n/menu/ca.ts b/src/i18n/menu/ca.ts index 816890f..577cefb 100644 --- a/src/i18n/menu/ca.ts +++ b/src/i18n/menu/ca.ts @@ -36,6 +36,10 @@ export const ca = { label: 'Beces', href: '/becas', }, + { + label: 'Django Girls', + href: '/django-girls', + }, ], }, { diff --git a/src/i18n/menu/en.ts b/src/i18n/menu/en.ts index 1f3141d..a8241d1 100644 --- a/src/i18n/menu/en.ts +++ b/src/i18n/menu/en.ts @@ -36,6 +36,10 @@ export const en = { label: 'Scholarships', href: '/becas', }, + { + label: 'Django Girls', + href: '/django-girls', + }, ], }, { diff --git a/src/i18n/menu/es.ts b/src/i18n/menu/es.ts index bd295dc..9ea5864 100644 --- a/src/i18n/menu/es.ts +++ b/src/i18n/menu/es.ts @@ -36,6 +36,10 @@ export const es = { label: 'Becas', href: '/becas', }, + { + label: 'Django Girls', + href: '/django-girls', + }, ], }, { diff --git a/src/pages/[lang]/django-girls.astro b/src/pages/[lang]/django-girls.astro new file mode 100644 index 0000000..9e81bb8 --- /dev/null +++ b/src/pages/[lang]/django-girls.astro @@ -0,0 +1,218 @@ +--- +import Layout from '../../layouts/Layout.astro' +import StatusIcon from '../../components/icons/StatusIcon.astro' +import Button from '../../components/Button.astro' +import { texts } from '../../i18n/django-girls' +import { menuTexts } from '../../i18n/menu' + +export function getStaticPaths() { + return [{ params: { lang: 'es' } }, { params: { lang: 'en' } }, { params: { lang: 'ca' } }] +} + +const { lang } = Astro.params + +const t = texts[(lang || 'es') as keyof typeof texts] +const menuT = menuTexts[(lang || 'es') as keyof typeof menuTexts] + +const { + title, + description, + heroTitle, + heroSubtitle, + intro, + detailsTitle, + dateLabel, + date, + locationLabel, + location, + deadlineLabel, + deadline, + requirementsTitle, + requirements, + whatYouGetTitle, + whatYouGet, + signupTitle, + signupAttendeesLabel, + signupAttendeesUrl, + signupCoachesLabel, + signupCoachesUrl, + shareText, +} = t +--- + + +
+ +
+

+ + {heroTitle} +

+

{heroSubtitle}

+
+
+
+ + +
+
+

+ {intro} +

+
+
+ + +
+

+ + {detailsTitle} +

+
+
    +
  • + +
    +

    {dateLabel}

    +

    {date}

    +
    +
  • +
  • + +
    +

    {locationLabel}

    +

    {location}

    +
    +
  • +
  • + +
    +

    {deadlineLabel}

    +

    {deadline}

    +
    +
  • +
+
+
+ + +
+

+ + {requirementsTitle} +

+
+
    + { + requirements.map((item: string) => ( +
  • +
  • + )) + } +
+
+
+ + +
+

+ + {whatYouGetTitle} +

+
+
    + { + whatYouGet.map((item: string) => ( +
  • +
  • + )) + } +
+
+
+ + +
+

+ + {signupTitle} +

+
+
+ + +
+
+
+
+