1/* 2 * Vibe Coding Educativo - Código fuente 3 * Licencia: GPL-3.0 (ver LICENSE.txt) 4 * Copyright (c) 2025 Juan José de Haro 5 */ 6const translations = { 7 es: { 8 guideBadge: "GuÃa de la comunidad", 9 guideTitle: "Vibe coding responsable", 10 guideDesc: 11 "Diez recomendaciones para publicar de forma responsable y ética los materiales creados con IA: licencias, datos del alumnado, accesibilidad y transparencia sobre cómo se han hecho. Incluye instrucciones para que la IA las siga y una rúbrica para evaluar cualquier recurso.", 12 guideButton: "Leer la guÃa", 13 groupName: "Vibe Coding Educativo", 14 navWhatIs: "Qué es", 15 navCommunity: "Comunidad", 16 navApps: "Aplicaciones", 17 navResources: "Recursos", 18 navNewsletter: "BoletÃn", 19 navAgent: "Agente", 20 joinGroup: "Ãnete al Grupo", 21 heroTitle: "Programa con Propósito y Vibe", 22 heroSubtitle: 23 "Un espacio para crear, compartir y aprender a desarrollar aplicaciones educativas interactivas con lenguaje natural e Inteligencia Artificial.", 24 viewApps: "Ver Aplicaciones", 25 viewNewsletter: "Ver BoletÃn", 26 agentButtonHeader: "Resuelve tus dudas con nuestro Agente", 27 joinTelegram: "Ãnete en Telegram", 28 whatIsTitle: "¿Qué es el Vibe Coding Educativo?", 29 whatIsSubtitle: 30 "Una nueva forma de programar, más intuitiva y accesible para todos los educadores.", 31 whatIsContent: 32 `<p><strong>Vibe Coding Educativo</strong> es un grupo y una metodologÃa centrada en la creación de aplicaciones para la enseñanza mediante <em>vibe coding</em>: un enfoque de desarrollo basado en <strong>lenguaje natural</strong> y apoyado por modelos de inteligencia artificial ð¤.</p><p>Es un espacio para compartir aplicaciones, resolver dudas técnicas y profundizar en el uso didáctico de esta forma de programación asistida. No necesitas ser un experto en código; si tienes una idea para una herramienta educativa, aquà puedes aprender a hacerla realidad.</p><blockquote class="border-l-4 border-blue-500 pl-4 italic text-slate-700 dark:text-slate-300">"Es hacer programas a través de la IA. Le dices lo que quieres y lo hace." - Juanjo de Haro</blockquote><p>La clave está en la conversación con la IA, refinando la idea paso a paso hasta obtener una aplicación funcional y atractiva que puedes integrar en tus clases y recursos digitales.</p>`, 33 learnWord: "Aprender", 34 createWord: "Crear", 35 communityTitle: "Una Comunidad Abierta y Colaborativa", 36 communitySubtitle: 37 "Conectamos con otros apasionados de la tecnologÃa y la educación.", 38 card1Title: "Grupo de Telegram", 39 card1Desc: 40 "El corazón de nuestra comunidad. Ãnete para compartir tus proyectos, resolver dudas y aprender de los demás.", 41 card1Link: "Unirme al grupo →", 42 card2Title: "ChatGPT-IA-edu", 43 card2Desc: 44 "Este grupo está vinculado con la comunidad especializada en el uso educativo de la IA en un sentido más amplio. En él encontrarás otros grupos de interés sobre IA educativa.", 45 card2Link: "Visitar grupo →", 46 card3Title: "Conocimiento Abierto", 47 card3Desc: 48 "Nos adherimos a los principios del Conocimiento Abierto, fomentando que la tecnologÃa y la educación sean accesibles para todos.", 49 card3Link: "Leer principios →", 50 appsTitle: "GalerÃa de Aplicaciones", 51 appsSubtitle: 52 "Descubre lo que hemos creado. ¡InspÃrate y crea la tuya!", 53 exploreRepo: "Explorar el Repositorio Completo", 54 addAppNote: 55 "Para añadir tu aplicación, utiliza el formulario oficial disponible en el grupo de Telegram.", 56 resourcesTitle: "Recursos y GuÃas", 57 resourcesSubtitle: 58 "Enlaces clave para empezar y profundizar en el Vibe Coding.", 59 resource1Title: "Manual de Vibe Coding Educativo", 60 resource1Desc: 61 "Una guÃa completa con extractos de artÃculos sobre cómo crear aplicaciones, dónde publicarlas y más.", 62 resourceLink: "Acceder al manual →", 63 resource2Title: "Cómo activar la IA en recursos educativos", 64 resource2Desc: 65 "Aprende a integrar chatbots de IA (Grok, ChatGPT, etc.) en tus materiales digitales como Moodle, eXeLearning o Google Sites.", 66 readArticle: "Leer el artÃculo →", 67 newsletterTitle: "BoletÃn Semanal", 68 newsletterSubtitle: 69 "Un resumen de las conversaciones, recursos y proyectos más destacados de la comunidad.", 70 newsletterDesc: 71 "Cada semana, recopilamos lo más relevante de nuestro grupo de Telegram para que no te pierdas nada. Descubre nuevas herramientas, debates interesantes y las últimas creaciones de los miembros.", 72 readNewsletter: "Leer el último boletÃn", 73 agentTitle: "Agente NotebookLM", 74 agentSubtitle: 75 "Tu asistente para resolver dudas sobre Vibe Coding Educativo al instante.", 76 agentDesc: 77 "Nuestro agente NotebookLM reúne el conocimiento compartido por la comunidad y te guÃa con respuestas contextualizadas y recursos recomendados.", 78 agentNote: 79 "Hemos creado un nuevo agente experto con NotebookLM a partir de las conversaciones del grupo de Telegram, para que recibas respuestas alineadas con la experiencia colectiva.", 80 agentButton: "Abrir el Agente", 81 footerTitle: 82 "Participa, comparte, aprende y programa con propósito y vibe.", 83 joinConversation: "Ãnete a la conversación", 84 footerCommunity: "Comunidad Vibe Coding Educativo.",
85 footerLicense: "Licencia Creative Commons BY-SA", 86 }, 87 ca: { 88 guideBadge: "Guia de la comunitat", 89 guideTitle: "Vibe coding responsable", 90 guideDesc: 91 "Deu recomanacions per publicar de manera responsable i ètica els materials creats amb IA: llicències, dades de l'alumnat, accessibilitat i transparència sobre com s'han fet. Inclou instruccions perquè la IA les segueixi i una rúbrica per avaluar qualsevol recurs.", 92 guideButton: "Llegir la guia", 93 groupName: "Vibe Coding Educatiu", 94 navWhatIs: "Què és", 95 navCommunity: "Comunitat", 96 navApps: "Aplicacions", 97 navResources: "Recursos", 98 navNewsletter: "ButlletÃ", 99 navAgent: "Agent", 100 joinGroup: "Uneix-te al Grup", 101 heroTitle: "Programa amb Propòsit i Vibe", 102 heroSubtitle: 103 "Un espai per a crear, compartir i aprendre a desenvolupar aplicacions educatives interactives amb llenguatge natural i Intel·ligència Artificial.", 104 viewApps: "Veure Aplicacions", 105 viewNewsletter: "Veure ButlletÃ", 106 agentButtonHeader: "Resol els teus dubtes amb el nostre Agent", 107 joinTelegram: "Uneix-te a Telegram", 108 whatIsTitle: "Què és el Vibe Coding Educatiu?", 109 whatIsSubtitle: 110 "Una nova manera de programar, més intuïtiva i accessible per a tots els educadors.", 111 whatIsContent: 112 `<p><strong>Vibe Coding Educatiu</strong> és un grup i una metodologia centrada en la creació d'aplicacions per a l'ensenyament mitjançant <em>vibe coding</em>: un enfocament de desenvolupament basat en <strong>llenguatge natural</strong> i recolzat per models d'intel·ligència artificial ð¤.</p><p>Ãs un espai per compartir aplicacions, resoldre dubtes tècnics i aprofundir en l'ús didà ctic d'aquesta forma de programació assistida. No necessites ser un expert en codi; si tens una idea per a una eina educativa, aquà pots aprendre a fer-la realitat.</p><blockquote class="border-l-4 border-blue-500 pl-4 italic text-slate-700 dark:text-slate-300">"Ãs fer programes a través de la IA. Li dius el que vols i ho fa." - Juanjo de Haro</blockquote><p>La clau està en la conversa amb la IA, refinant la idea pas a pas fins a obtenir una aplicació funcional i atractiva que pots integrar a les teves classes i recursos digitals.</p>`, 113 learnWord: "Aprendre", 114 createWord: "Crear", 115 communityTitle: "Una Comunitat Oberta i Col·laborativa", 116 communitySubtitle: 117 "Connectem amb altres apassionats de la tecnologia i l'educació.", 118 card1Title: "Grup de Telegram", 119 card1Desc: 120 "El cor de la nostra comunitat. Uneix-te per compartir els teus projectes, resoldre dubtes i aprendre dels altres.", 121 card1Link: "Unir-me al grup →", 122 card2Title: "ChatGPT-IA-edu", 123 card2Desc: 124 "Aquest grup està vinculat amb la comunitat especialitzada en l'ús educatiu de la IA en un sentit més ampli. Hi trobarà s altres grups d'interès sobre IA educativa.", 125 card2Link: "Visitar grup →", 126 card3Title: "Coneixement Obert", 127 card3Desc: 128 "Ens adherim als principis del Coneixement Obert, fomentant que la tecnologia i l'educació siguin accessibles per a tothom.", 129 card3Link: "Llegir principis →", 130 appsTitle: "Galeria d'Aplicacions", 131 appsSubtitle: 132 "Descobreix el que hem creat. Inspira't i crea la teva!", 133 exploreRepo: "Explorar el Repositori Complet", 134 addAppNote: 135 "Per afegir la teva aplicació, utilitza el formulari oficial disponible al grup de Telegram.", 136 resourcesTitle: "Recursos i Guies", 137 resourcesSubtitle: 138 "Enllaços clau per començar i aprofundir en el Vibe Coding.", 139 resource1Title: "Manual de Vibe Coding Educatiu", 140 resource1Desc: 141 "Una guia completa amb extractes d'articles sobre com crear aplicacions, on publicar-les i més.", 142 resourceLink: "Accedir al manual →", 143 resource2Title: 144 "Com activar la IA en recursos educatius", 145 resource2Desc: 146 "Aprèn a integrar chatbots d'IA (Grok, ChatGPT, etc.) als teus materials digitals com Moodle, eXeLearning o Google Sites.", 147 readArticle: "Llegir l'article →", 148 newsletterTitle: "Butlletà Setmanal", 149 newsletterSubtitle: 150 "Un resum de les converses, recursos i projectes més destacats de la comunitat.", 151 newsletterDesc: 152 "Cada setmana, recopilem el més rellevant del nostre grup de Telegram perquè no et perdis res. Descobreix noves eines, debats interessants i les últimes creacions dels membres.", 153 readNewsletter: "Llegir l'últim butlletÃ", 154 agentTitle: "Agent NotebookLM", 155 agentSubtitle: 156 "El teu assistent per resoldre dubtes sobre Vibe Coding Educatiu al moment.", 157 agentDesc: 158 "El nostre agent NotebookLM recull el coneixement compartit per la comunitat i t'orienta amb respostes contextualitzades i recursos recomanats.", 159 agentNote: 160 "Hem creat un nou agent expert amb NotebookLM a partir de les converses del grup de Telegram, perquè rebis respostes alineades amb l'experiència col·lectiva.", 161 agentButton: "Obrir l'Agent", 162 footerTitle: 163 "Participa, comparteix, aprèn i programa amb propòsit i vibe.", 164 joinConversation: "Uneix-te a la conversa", 165 footerCommunity: "Comunitat Vibe Coding Educatiu.",
166 footerLicense: "Llicència Creative Commons BY-SA", 167 }, 168 gl: { 169 guideBadge: "GuÃa da comunidade", 170 guideTitle: "Vibe coding responsable", 171 guideDesc: 172 "Dez recomendacións para publicar de forma responsable e ética os materiais creados con IA: licenzas, datos do alumnado, accesibilidade e transparencia sobre como se fixeron. Inclúe instrucións para que a IA as siga e unha rúbrica para avaliar calquera recurso.", 173 guideButton: "Ler a guÃa", 174 groupName: "Vibe Coding Educativo", 175 navWhatIs: "Que é", 176 navCommunity: "Comunidade", 177 navApps: "Aplicacións", 178 navResources: "Recursos", 179 navNewsletter: "BoletÃn", 180 navAgent: "Axente", 181 joinGroup: "Ãnete ao Grupo", 182 heroTitle: "Programa con Propósito e Vibe", 183 heroSubtitle: 184 "Un espazo para crear, compartir e aprender a desenvolver aplicacións educativas interactivas con linguaxe natural e Intelixencia Artificial.", 185 viewApps: "Ver Aplicacións", 186 viewNewsletter: "Ver BoletÃn", 187 agentButtonHeader: "Resolve as túas dúbidas co noso Axente", 188 joinTelegram: "Ãnete en Telegram", 189 whatIsTitle: "Que é o Vibe Coding Educativo?", 190 whatIsSubtitle: 191 "Unha nova forma de programar, máis intuitiva e accesible para todos os educadores.", 192 whatIsContent: 193 `<p><strong>Vibe Coding Educativo</strong> é un grupo e unha metodoloxÃa centrada na creación de aplicacións para o ensino mediante <em>vibe coding</em>: un enfoque de desenvolvemento baseado na <strong>linguaxe natural</strong> e apoiado por modelos de intelixencia artificial ð¤.</p><p>à un espazo para compartir aplicacións, resolver dúbidas técnicas e profundar no uso didáctico desta forma de programación asistida. Non necesitas ser un experto en código; se tes unha idea para unha ferramenta educativa, aquà podes aprender a facela realidade.</p><blockquote class="border-l-4 border-blue-500 pl-4 italic text-slate-700 dark:text-slate-300">"à facer programas a través da IA. Diceslle o que queres e faino." - Juanjo de Haro</blockquote><p>A clave está na conversa coa IA, refinando a idea paso a paso ata obter unha aplicación funcional e atractiva que podes integrar nas túas clases e recursos dixitais.</p>`, 194 learnWord: "Aprender", 195 createWord: "Crear", 196 communityTitle: "Unha Comunidade Aberta e Colaborativa", 197 communitySubtitle: 198 "Conectamos con outros apaixonados da tecnoloxÃa e a educación.", 199 card1Title: "Grupo de Telegram", 200 card1Desc: 201 "O corazón da nosa comunidade. Ãnete para compartir os teus proxectos, resolver dúbidas e aprender dos demais.", 202 card1Link: "Unirme ao grupo →", 203 card2Title: "ChatGPT-IA-edu", 204 card2Desc: 205 "Este grupo está vencellado coa comunidade especializada no uso educativo da IA nun sentido máis amplo. Nel atoparás outros grupos de interese sobre IA educativa.", 206 card2Link: "Visitar grupo →", 207 card3Title: "Coñecemento Aberto", 208 card3Desc: 209 "AdherÃmonos aos principios do Coñecemento Aberto, fomentando que a tecnoloxÃa e a educación sexan accesibles para todos.", 210 card3Link: "Ler principios →", 211 appsTitle: "GalerÃa de Aplicacións", 212 appsSubtitle: 213 "Descubre o que creamos. InspÃrate e crea a túa!", 214 exploreRepo: "Explorar o Repositorio Completo", 215 addAppNote: 216 "Para engadir a túa aplicación, utiliza o formulario oficial dispoñible no grupo de Telegram.", 217 resourcesTitle: "Recursos e GuÃas", 218 resourcesSubtitle: 219 "Ligazóns clave para comezar e profundar no Vibe Coding.", 220 resource1Title: "Manual de Vibe Coding Educativo", 221 resource1Desc: 222 "Unha guÃa completa con extractos de artigos sobre como crear aplicacións, onde publicalas e máis.", 223 resourceLink: "Acceder ao manual →", 224 resource2Title: "Como activar a IA en recursos educativos", 225 resource2Desc: 226 "Aprende a integrar chatbots de IA (Grok, ChatGPT, etc.) nos teus materiais dixitais como Moodle, eXeLearning ou Google Sites.", 227 readArticle: "Ler o artigo →", 228 newsletterTitle: "BoletÃn Semanal", 229 newsletterSubtitle: 230 "Un resumo das conversas, recursos e proxectos máis destacados da comunidade.", 231 newsletterDesc: 232 "Cada semana, recompilamos o máis relevante do noso grupo de Telegram para que non te perdas nada. Descobre novas ferramentas, debates interesantes e las últimas creacións dos membros.", 233 readNewsletter: "Ler o último boletÃn", 234 agentTitle: "Axente NotebookLM", 235 agentSubtitle: 236 "O teu asistente para resolver dúbidas sobre Vibe Coding Educativo ao instante.", 237 agentDesc: 238 "O noso axente NotebookLM recompila o coñecemento compartido pola comunidade e guÃate con respostas contextualizadas e recursos recomendados.", 239 agentNote: 240 "Creamos un novo axente experto con NotebookLM a partir das conversas do grupo de Telegram, para que recibas respostas aliñadas coa experiencia colectiva.", 241 agentButton: "Abrir o Axente", 242 footerTitle: 243 "Participa, comparte, aprende e programa con propósito e vibe.", 244 joinConversation: "Ãnete á conversa", 245 footerCommunity: "Comunidade Vibe Coding Educativo.",
246 footerLicense: "Licenza Creative Commons BY-SA", 247 }, 248 eu: { 249 guideBadge: "Komunitatearen gida", 250 guideTitle: "Vibe coding arduratsua", 251 guideDesc: 252 "IArekin sortutako materialak modu arduratsu eta etikoan argitaratzeko hamar gomendio: lizentziak, ikasleen datuak, irisgarritasuna eta nola egin ziren argi azaltzea. IAk jarrai ditzan jarraibideak eta edozein baliabide ebaluatzeko errubrika bat ditu.", 253 guideButton: "Gida irakurri", 254 groupName: "Vibe Coding Hezitzailea", 255 navWhatIs: "Zer da", 256 navCommunity: "Komunitatea", 257 navApps: "Aplikazioak", 258 navResources: "Baliabideak", 259 navNewsletter: "Buletina", 260 navAgent: "Agentea", 261 joinGroup: "Sartu Taldean", 262 heroTitle: "Programatu Helburu eta Viberekin", 263 heroSubtitle: 264 "Aplikazio hezitzaile interaktiboak hizkuntza naturalarekin eta Adimen Artifizialarekin sortzeko, partekatzeko eta ikasteko gunea.", 265 viewApps: "Ikusi Aplikazioak", 266 viewNewsletter: "Ikusi Buletina", 267 agentButtonHeader: "Argitu zure zalantzak gure agentearekin", 268 joinTelegram: "Sartu Telegramen", 269 whatIsTitle: "Zer da Vibe Coding Hezitzailea?", 270 whatIsSubtitle: 271 "Programatzeko modu berri bat, hezitzaile guztientzat intuitiboagoa eta eskuragarriagoa.", 272 whatIsContent: 273 `<p><strong>Vibe Coding Hezitzailea</strong> irakaskuntzarako aplikazioak sortzera bideratutako talde eta metodologia bat da, <em>vibe coding</em> bidez: <strong>hizkuntza naturalean</strong> oinarritutako eta adimen artifizialeko ereduek lagundutako garapen-ikuspegia ð¤.</p><p>Aplikazioak partekatzeko, zalantza teknikoak argitzeko eta programazio-modu lagundu honen erabilera didaktikoan sakontzeko gunea da. Ez duzu zertan kodean aditua izan; tresna hezitzaile baterako ideia bat baduzu, hemen errealitate bihurtzen ikas dezakezu.</p><blockquote class="border-l-4 border-blue-500 pl-4 italic text-slate-700 dark:text-slate-300">"Programak IAren bidez egitea da. Zer nahi duzun esaten diozu eta berak egiten du." - Juanjo de Haro</blockquote><p>Gakoa IA-rekin elkarrizketan datza, ideia pausoz pauso fintzen, zure klaseetan eta baliabide digitaletan integra dezakezun aplikazio funtzional eta erakargarri bat lortu arte.</p>`, 274 learnWord: "Ikasi", 275 createWord: "Sortu", 276 communityTitle: "Komunitate Ireki eta Kolaboratiboa", 277 communitySubtitle: 278 "Teknologiaren eta hezkuntzaren beste zale batzuekin konektatzen dugu.", 279 card1Title: "Telegram Taldea", 280 card1Desc: 281 "Gure komunitatearen bihotza. Bat egin zure proiektuak partekatzeko, zalantzak argitzeko eta besteengandik ikasteko.", 282 card1Link: "Taldean sartu →", 283 card2Title: "ChatGPT-IA-edu", 284 card2Desc: 285 "Talde hau IAren erabilera hezitzailean espezializatutako komunitatearekin lotuta dago zentzu zabalagoan. Bertan, hezkuntzako IAri buruzko beste interes-talde batzuk aurkituko dituzu.", 286 card2Link: "Taldea bisitatu →", 287 card3Title: "Ezagutza Irekia", 288 card3Desc: 289 "Ezagutza Irekiaren printzipioekin bat egiten dugu, teknologia eta hezkuntza guztiontzat eskuragarri egon daitezen sustatuz.", 290 card3Link: "Printzipioak irakurri →", 291 appsTitle: "Aplikazioen Galeria", 292 appsSubtitle: 293 "Ezagutu zer sortu dugun. Inspiratu zaitez eta sortu zurea!", 294 exploreRepo: "Arakatu Repositorio Osoa", 295 addAppNote: 296 "Zure aplikazioa gehitzeko, erabili Telegram taldean eskuragarri dagoen formulario ofiziala.", 297 resourcesTitle: "Baliabideak eta Gidak", 298 resourcesSubtitle: 299 "Vibe Coding-en hasteko eta sakontzeko funtsezko estekak.", 300 resource1Title: "Vibe Coding Hezitzailearen Eskuliburua", 301 resource1Desc: 302 "Gida osoa, aplikazioak nola sortu, non argitaratu eta gehiagori buruzko artikuluen pasarteekin.", 303 resourceLink: "Eskuliburura joan →", 304 resource2Title: "Nola aktibatu IA hezkuntza-baliabideetan", 305 resource2Desc: 306 "Ikasi nola integratu IAko chatbotak (Grok, ChatGPT, etab.) zure material digitaletan, hala nola Moodle, eXeLearning edo Google Sites.", 307 readArticle: "Artikulua irakurri →", 308 newsletterTitle: "Asteko Buletina", 309 newsletterSubtitle: 310 "Komunitateko elkarrizketa, baliabide eta proiektu nabarmenenen laburpena.", 311 newsletterDesc: 312 "Astero, gure Telegram taldeko garrantzitsuena biltzen dugu, ezer galdu ez dezazun. Ezagutu tresna berriak, eztabaida interesgarriak eta kideen azken sorkuntzak.", 313 readNewsletter: "Irakurri azken buletina", 314 agentTitle: "NotebookLM Agentea", 315 agentSubtitle: 316 "Vibe Coding Hezitzaileari buruzko zalantzak berehala argitzeko zure laguntzailea.", 317 agentDesc: 318 "NotebookLM agenteak komunitateak partekatutako ezagutza biltzen du eta testuinguruko erantzunak eta gomendatutako baliabideak eskaintzen dizkizu.", 319 agentNote: 320 "Telegram taldeko elkarrizketetatik abiatu eta NotebookLMrekin sortu dugun agente aditu berria da, komunitatearen esperientziarekin bat datozen erantzunak jasotzeko.", 321 agentButton: "Agentea ireki", 322 footerTitle: 323 "Parte hartu, partekatu, ikasi eta programatu helburu eta viberekin.", 324 joinConversation: "Sartu elkarrizketan", 325 footerCommunity: "Vibe Coding Educativo Komunitatea.",
326 footerLicense: "Creative Commons BY-SA Lizentzia", 327 }, 328 en: { 329 guideBadge: "Community guide", 330 guideTitle: "Responsible vibe coding", 331 guideDesc: 332 "Ten recommendations for publishing materials created with AI responsibly and ethically: licences, students' data, accessibility and transparency about how they were made. It includes instructions for the AI to follow them and a rubric to evaluate any resource.", 333 guideButton: "Read the guide", 334 groupName: "Educational Vibe Coding", 335 navWhatIs: "What is it", 336 navCommunity: "Community", 337 navApps: "Apps", 338 navResources: "Resources", 339 navNewsletter: "Newsletter", 340 navAgent: "Agent", 341 joinGroup: "Join the Group", 342 heroTitle: "Code with Purpose and Vibe", 343 heroSubtitle: 344 "A space to create, share, and learn to develop interactive educational applications with natural language and Artificial Intelligence.", 345 agentButtonHeader: "Resolve your questions with our Agent", 346 joinTelegram: "Join on Telegram", 347 whatIsTitle: "What is Educational Vibe Coding?", 348 whatIsSubtitle: 349 "A new way of programming, more intuitive and accessible for all educators.", 350 whatIsContent: 351 `<p><strong>Educational Vibe Coding</strong> is a group and methodology focused on creating applications for teaching through <em>vibe coding</em>: a development approach based on <strong>natural language</strong> and supported by artificial intelligence models ð¤.</p><p>It is a space to share applications, solve technical doubts, and delve into the didactic use of this form of assisted programming. You don't need to be a coding expert; if you have an idea for an educational tool, you can learn to make it a reality here.</p><blockquote class="border-l-4 border-blue-500 pl-4 italic text-slate-700 dark:text-slate-300">"It's about making programs through AI. You tell it what you want, and it does it." - Juanjo de Haro</blockquote><p>The key is the conversation with the AI, refining the idea step by step to obtain a functional and attractive application that you can integrate into your classes and digital resources.</p>`, 352 learnWord: "Learn", 353 createWord: "Create", 354 communityTitle: "An Open and Collaborative Community", 355 communitySubtitle: 356 "We connect with other technology and education enthusiasts.", 357 card1Title: "Telegram Group", 358 card1Desc: 359 "The heart of our community. Join to share your projects, solve doubts, and learn from others.", 360 card1Link: "Join the group →", 361 card2Title: "ChatGPT-AI-edu", 362 card2Desc: 363 "This group is linked to the community specializing in the educational use of AI in a broader sense. In it, you will find other interest groups on educational AI.", 364 card2Link: "Visit group →", 365 card3Title: "Open Knowledge", 366 card3Desc: 367 "We adhere to the principles of Open Knowledge, promoting that technology and education are accessible to all.", 368 card3Link: "Read principles →", 369 appsTitle: "Application Gallery", 370 appsSubtitle: 371 "Discover what we've created. Get inspired and create your own!", 372 exploreRepo: "Explore the Full Repository", 373 addAppNote: 374 "To add your application, use the official form available in the Telegram group.", 375 resourcesTitle: "Resources and Guides", 376 resourcesSubtitle: 377 "Key links to get started and delve deeper into Vibe Coding.", 378 resource1Title: "Educational Vibe Coding Manual", 379 resource1Desc: 380 "A complete guide with excerpts from articles on how to create applications, where to publish them, and more.", 381 resourceLink: "Access the manual →", 382 resource2Title: 383 "How to activate AI in educational resources", 384 resource2Desc: 385 "Learn how to integrate AI chatbots (Grok, ChatGPT, etc.) into your digital materials like Moodle, eXeLearning, or Google Sites.", 386 readArticle: "Read the article →", 387 newsletterTitle: "Weekly Newsletter", 388 newsletterSubtitle: 389 "A summary of the community's most outstanding conversations, resources, and projects.", 390 newsletterDesc: 391 "Every week, we compile the most relevant content from our Telegram group so you don't miss a thing. Discover new tools, interesting debates, and the latest creations from our members.", 392 readNewsletter: "Read the latest newsletter", 393 agentTitle: "NotebookLM Agent", 394 agentSubtitle: 395 "Your assistant for instant answers about Vibe Coding Educativo.", 396 agentDesc: 397 "Our NotebookLM agent distills the community's knowledge to guide you with contextual answers and curated resources.", 398 agentNote: 399 "We built this new expert agent in NotebookLM using the Telegram group's conversations so you get answers that reflect our collective experience.", 400 agentButton: "Open the Agent", 401 footerTitle: 402 "Participate, share, learn, and code with purpose and vibe.", 403 joinConversation: "Join the conversation", 404 footerCommunity: "Vibe Coding Educativo Community.",
405 footerLicense: "Creative Commons BY-SA License", 406 }, 407}; 408 409function setLanguage(lang) { 410 if (!translations[lang]) return; 411 document.documentElement.lang = lang; 412 const langStrings = translations[lang]; 413 document.querySelectorAll('[data-lang]').forEach((el) => { 414 const key = el.dataset.lang; 415 if (langStrings[key]) { 416 if (key === 'whatIsContent') { 417 // Conservar el contenedor y sus clases (incl. variantes dark) 418 el.innerHTML = langStrings[key]; 419 } else { 420 el.innerHTML = langStrings[key]; 421 } 422 } 423 }); 424 // Enlaces e imágenes que existen en cada idioma, como la guÃa «Vibe coding responsable» 425 document.querySelectorAll('[data-href-lang]').forEach((el) => { 426 el.href = el.dataset.hrefLang.replace('{lang}', lang); 427 }); 428 document.querySelectorAll('[data-src-lang]').forEach((el) => { 429 el.src = el.dataset.srcLang.replace('{lang}', lang); 430 }); 431 localStorage.setItem('vibeLang', lang); 432} 433 434function getInitialLanguage() { 435 const savedLang = localStorage.getItem('vibeLang'); 436 if (savedLang && translations[savedLang]) { 437 return savedLang; 438 } 439 const browserLang = navigator.language.split('-')[0]; 440 return translations[browserLang] ? browserLang : 'es'; 441} 442 443document.addEventListener('DOMContentLoaded', () => { 444 const mobileMenuButton = document.getElementById('mobile-menu-button'); 445 const mobileMenu = document.getElementById('mobile-menu'); 446 const langSelector = document.getElementById('lang-selector'); 447 // Controles de tema eliminados: solo se respeta el modo del sistema 448 449 if (mobileMenuButton && mobileMenu) { 450 mobileMenuButton.addEventListener('click', () => { 451 mobileMenu.classList.toggle('hidden'); 452 }); 453 454 const navLinks = document.querySelectorAll('#mobile-menu a, #main-nav a'); 455 navLinks.forEach((link) => { 456 link.addEventListener('click', () => { 457 mobileMenu.classList.add('hidden'); 458 }); 459 }); 460 } 461 462 const initialLang = getInitialLanguage(); 463 if (langSelector) langSelector.value = initialLang; 464 setLanguage(initialLang); 465 466 if (langSelector) { 467 langSelector.addEventListener('change', (e) => { 468 setLanguage(e.target.value); 469 }); 470 } 471 472 const agentOpenButton = document.getElementById('agent-open-button'); 473 if (agentOpenButton) { 474 agentOpenButton.addEventListener('click', (event) => { 475 event.preventDefault(); 476 const popupWidth = 960; 477 const popupHeight = 720; 478 const dualScreenLeft = window.screenLeft ?? window.screenX ?? 0; 479 const dualScreenTop = window.screenTop ?? window.screenY ?? 0; 480 const viewportWidth = 481 window.innerWidth || document.documentElement.clientWidth || screen.width; 482 const viewportHeight = 483 window.innerHeight || document.documentElement.clientHeight || screen.height; 484 const left = Math.max(0, dualScreenLeft + (viewportWidth - popupWidth) / 2); 485 const top = Math.max(0, dualScreenTop + (viewportHeight - popupHeight) / 2); 486 const agentUrl = agentOpenButton.getAttribute('href'); 487 const features = [ 488 'noopener=yes', 489 'noreferrer=yes', 490 `width=${popupWidth}`, 491 `height=${popupHeight}`, 492 `left=${Math.round(left)}`, 493 `top=${Math.round(top)}`, 494 'resizable=yes', 495 'scrollbars=yes', 496 'toolbar=no', 497 'location=no', 498 'status=no', 499 'menubar=no', 500 ].join(','); 501 const agentWindow = window.open(agentUrl, 'vibeAgentWindow', features); 502 if (agentWindow) { 503 agentWindow.focus(); 504 return; 505 } 506 507 console.warn('Autoriza las ventanas emergentes para abrir el agente.'); 508 }); 509 } 510 511 // Sin lógica de tema manual 512});
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.