Skip to content

Commit 663a4ec

Browse files
authored
feat: add i18n support for speakers (#204)
## Soporte i18n para ponentes plenarios Reestructura los datos de speakers para soporte multilingüe, siguiendo el mismo patrón que `jobs/`. ### Cambios - `src/data/speakers/es/diego.md` — movido desde `speakers/diego.md` - `src/data/speakers/en/diego.md` — traducción inglés - `src/data/speakers/ca/diego.md` — traducción catalán - `src/components/home/SectionSpeakers.astro` — carga por idioma con `import.meta.glob` por subdirectorio ### Notas - `name`, `order`, `photo`, `links` se mantienen iguales en los 3 idiomas - Solo `description` cambia entre idiomas - Build verificado: 25 páginas generadas sin errores
1 parent c14fddd commit 663a4ec

5 files changed

Lines changed: 61 additions & 5 deletions

File tree

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "2026.es.pycon.org",
3-
"version": "1.10.0",
3+
"version": "1.10.1",
44
"description": "",
55
"main": "index.js",
66
"scripts": {

src/components/home/SectionSpeakers.astro

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,17 +5,31 @@ import CenteredPanel from '../CenteredPanel.astro'
55
import type { ISpeaker } from '../../types/speakers'
66
import SpeakerCard from './SpeakerCard.astro'
77
8-
const speakers = Object.values(import.meta.glob('../../data/speakers/*.md', { eager: true })) as {
9-
frontmatter: ISpeaker
10-
}[]
11-
128
interface Props {
139
lang: string
1410
}
1511
1612
const { lang } = Astro.props
1713
const t = texts[lang as keyof typeof texts]
1814
15+
const esSpeakers = Object.values(import.meta.glob('../../data/speakers/es/*.md', { eager: true })) as {
16+
frontmatter: ISpeaker
17+
}[]
18+
const enSpeakers = Object.values(import.meta.glob('../../data/speakers/en/*.md', { eager: true })) as {
19+
frontmatter: ISpeaker
20+
}[]
21+
const caSpeakers = Object.values(import.meta.glob('../../data/speakers/ca/*.md', { eager: true })) as {
22+
frontmatter: ISpeaker
23+
}[]
24+
25+
const allSpeakersMap: Record<string, { frontmatter: ISpeaker }[]> = {
26+
es: esSpeakers,
27+
en: enSpeakers,
28+
ca: caSpeakers,
29+
}
30+
31+
const speakers = allSpeakersMap[lang] || []
32+
1933
const sortedSpeakers = speakers.map((s) => s.frontmatter).sort((a, b) => a.order - b.order)
2034
2135
const count = sortedSpeakers.length

src/data/speakers/ca/diego.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: 'Diego Russo'
3+
order: 1
4+
photo: '/speakers/diego.jpg'
5+
links:
6+
- type: 'github'
7+
url: 'https://github.com/diegorusso'
8+
- type: 'linkedin'
9+
url: 'https://www.linkedin.com/in/diegor/'
10+
- type: 'bluesky'
11+
url: 'https://bsky.app/profile/diegor.it'
12+
- type: 'twitter'
13+
url: 'https://x.com/diegor'
14+
- type: 'instagram'
15+
url: 'https://www.instagram.com/diegor.it'
16+
description: |
17+
Diego Russo és desenvolupador core de CPython i enginyer cap de software de l'equip de Runtimes d'Arm, amb seu a Cambridge (Regne Unit).
18+
Fa servir Python des del 2006 i contribueix a CPython des del 2023, centrant-se en el rendiment de l'intèrpret, el treball relacionat amb JIT, la infraestructura d'integració contínua i en garantir que CPython i el seu ecosistema funcionin de manera fiable i eficient a les plataformes Arm.
19+
El seu treball es troba a la intersecció entre el temps d'execució, l'enginyeria de rendiment i la col·laboració de codi obert a gran escala.
20+
Diego és també organitzador d'EuroPython i dirigeix l'Arm Python Guild, una comunitat interna de més de 1.400 desenvolupadors de Python que treballen a tota l'empresa.
21+
---

src/data/speakers/en/diego.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
---
2+
name: 'Diego Russo'
3+
order: 1
4+
photo: '/speakers/diego.jpg'
5+
links:
6+
- type: 'github'
7+
url: 'https://github.com/diegorusso'
8+
- type: 'linkedin'
9+
url: 'https://www.linkedin.com/in/diegor/'
10+
- type: 'bluesky'
11+
url: 'https://bsky.app/profile/diegor.it'
12+
- type: 'twitter'
13+
url: 'https://x.com/diegor'
14+
- type: 'instagram'
15+
url: 'https://www.instagram.com/diegor.it'
16+
description: |
17+
Diego Russo is a CPython core developer and Head of Software Engineering on Arm's Runtimes team, based in Cambridge (United Kingdom).
18+
He has been using Python since 2006 and contributing to CPython since 2023, focusing on interpreter performance, JIT-related work, continuous integration infrastructure, and ensuring that CPython and its ecosystem run reliably and efficiently on Arm platforms.
19+
His work sits at the intersection of runtime engineering, performance engineering, and large-scale open source collaboration.
20+
Diego is also an EuroPython organizer and leads the Arm Python Guild, an internal community of over 1,400 Python developers working across the company.
21+
---
File renamed without changes.

0 commit comments

Comments
 (0)