Spaces:
Running
podrían el header y el footer ser más: Header
Browse filesConcepto: Elegante, minimalista, con un toque de sofisticación tipográfica que recuerde a una imprenta antigua pero con un diseño moderno.
Estructura HTML:
html
<header class="header">
<div class="header-container">
<!-- Logo y nombre -->
<div class="logo">
<a href="index.html" class="logo-link">
<h1 class="logo-text">La Fragua del Logos</h1>
<span class="logo-subtitle">Forjando Palabras, Creando Sentido</span>
</a>
</div>
<!-- Navegación principal -->
<nav class="main-nav">
<ul class="nav-list">
<li class="nav-item"><a href="index.html" class="nav-link">Inicio</a></li>
<li class="nav-item"><a href="servicios.html" class="nav-link">Servicios</a></li>
<li class="nav-item"><a href="blog.html" class="nav-link">Blog</a></li>
<li class="nav-item"><a href="contacto.html" class="nav-link">Contacto</a></li>
<!-- Sobre Mí discreto -->
<li class="nav-item subtle">
<a href="sobre-mi.html" class="nav-link subtle-link">Sobre Mí</a>
</li>
</ul>
</nav>
<!-- Selector de idiomas -->
<div class="language-selector">
<button class="language-btn" id="languageToggle">
<span class="flag">🇪🇸</span>
<span class="language-code">ES</span>
</button>
<div class="language-dropdown" id="languageDropdown">
<a href="#" data-lang="es" class="lang-option">🇪🇸 Español</a>
<a href="#" data-lang="en" class="lang-option">🇬🇧 English</a>
<a href="#" data-lang="fr" class="lang-option">🇫🇷 Français</a>
</div>
</div>
<!-- Menú móvil -->
<button class="mobile-menu-btn" id="mobileMenuToggle">
<span></span>
<span></span>
<span></span>
</button>
</div>
</header>
Estilos CSS:
css
/* Header Styles */
.header {
background: rgba(26, 26, 26, 0.95);
backdrop-filter: blur(10px);
border-bottom: 1px solid rgba(184, 134, 11, 0.3);
position: fixed;
top: 0;
width: 100%;
z-index: 1000;
padding: 1rem 0;
}
.header-container {
max-width: 1200px;
margin: 0 auto;
display: flex;
align-items: center;
justify-content: space-between;
padding: 0 2rem;
}
/* Logo */
.logo-text {
font-family: 'Playfair Display', serif;
font-size: 1.8rem;
font-weight: 700;
color: #f4f4f4;
margin: 0;
letter-spacing: -0.5px;
}
.logo-subtitle {
font-family: 'Lato', sans-serif;
font-size: 0.7rem;
color: #b8860b;
letter-spacing: 1.5px;
text-transform: uppercase;
display: block;
margin-top: -2px;
}
.logo-link {
text-decoration: none;
transition: all 0.3s ease;
}
.logo-link:hover {
opacity: 0.8;
}
/* Navegación principal */
.nav-list {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 2rem;
}
.nav-link {
font-family: 'Lato', sans-serif;
color: #e0e0e0;
text-decoration: none;
font-size: 1rem;
font-weight: 400;
transition: all 0.3s ease;
position: relative;
padding: 0.5rem 0;
}
.nav-link:hover {
color: #b8860b;
}
.nav-link::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 0;
height: 2px;
background: #b8860b;
transition: width 0.3s ease;
}
.nav-link:hover::after {
width: 100%;
}
/* Sobre Mí discreto */
.nav-item.subtle {
margin-left: 1rem;
position: relative;
}
.nav-item.subtle::before {
content: '•';
color: #666;
margin-right: 1rem;
}
.subtle-link {
font-size: 0.9rem;
color: #999 !important;
}
.subtle-link:hover {
color: #b8860b !important;
}
/* Selector de idiomas */
.language-selector {
position: relative;
}
.language-btn {
background: rgba(184, 134, 11, 0.1);
border: 1px solid rgba(184, 134, 11, 0.3);
border-radius: 4px;
padding: 0.5rem 1rem;
color: #e0e0e0;
cursor: pointer;
display: flex;
align-items: center;
gap: 0.5rem;
transition: all 0.3s ease;
}
.language-btn:hover {
background: rgba(184, 134, 11, 0.2);
}
.language-dropdown {
position: absolute;
top: 100%;
right: 0;
background: #1a1a1a;
border: 1px solid rgba(184, 134, 11, 0.3);
border-radius: 4px;
padding: 0.5rem;
min-width: 150px;
display: none;
margin-top: 0.5rem;
}
.language-dropdown.show {
display: block;
}
.lang-option {
display: block;
padding: 0.5rem 1rem;
color: #e0e0e0;
text-decoration: none;
transition: all 0.3s ease;
border-radius: 2px;
}
.lang-option:hover {
background: rgba(184, 134, 11, 0.1);
color: #b8860b;
}
/* Menú móvil */
.mobile-menu-btn {
display: none;
flex-direction: column;
background: none;
border: none;
cursor: pointer;
padding: 0.5rem;
}
.mobile-menu-btn span {
width: 25px;
height: 2px;
background: #e0e0e0;
margin: 3px 0;
transition: 0.3s;
}
/* Responsive */
@media
(max-width: 768px) {
.header-container {
padding: 0 1rem;
}
.main-nav, .language-selector {
display: none;
}
.mobile-menu-btn {
display: flex;
}
.logo-text {
font-size: 1.4rem;
}
.logo-subtitle {
font-size: 0.6rem;
}
}
Diseño para el Footer
Concepto: Sólido, elegante y con información de contacto clara, manteniendo la estética del header pero con un tono más terroso y estable.
Estructura HTML:
html
<footer class="footer">
<div class="footer-container">
<!-- Columna 1: Logo y descripción -->
<div class="footer-column">
<div class="footer-logo">
<h3 class="footer-logo-text">La Fragua del Logos</h3>
<p class="footer-tagline">Forjando significado a través de las palabras y el pensamiento.</p>
</div>
<div class="social-links">
<a href="#" class="social-link" aria-label="LinkedIn">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
</svg>
</a>
<a href="#" class="social-link" aria-label="Twitter">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723 10.016 10.016 0 01-3.127 1.184 4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>
</svg>
</a>
<a href="#" class="social-link" aria-label="GitHub">
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor">
<path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
</svg>
</a>
</div>
</div>
<!-- Columna 2: Enlaces rápidos -->
<div class="footer-column">
<h4 class="footer-title">Navegación</h4>
<ul class="footer-links">
<li><a href="index.html" class="footer-link">Inicio</a></li>
<li><a href="servicios.html" class="footer-link">Servicios</a></li>
<li><a href="blog.html" class="footer-link">Blog</a></li>
<li><a href="contacto.html" class="footer-link">Contacto</a></li>
<li><a href="sobre-mi.html" class="footer-link subtle-link">Sobre Mí</a></li>
</ul>
</div>
<!-- Columna 3: Servicios -->
<div class="footer-column">
<h4 class="footer-title">Servicios</h4>
<ul class="footer-links">
<li><a href="servicios.html#traduccion" class="footer-link">Traducción</a></li>
<li><a href="servicios.html#transcripcion" class="footer-link">Transcripción</a></li>
<li><a href="servicios.html#subtitulacion" class="footer-link">Subtitulación</a></li>
</ul>
</div>
<!-- Columna 4: Contacto -->
<div class="footer-column">
<h4 class="footer-title">Contacto</h4>
<div class="contact-info">
<p class="contact-item">
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" class="contact-icon">
<path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/>
- components/footer.js +246 -68
- components/header.js +275 -0
- index.html +5 -8
- scripts/languages.js +36 -9
|
@@ -1,72 +1,250 @@
|
|
| 1 |
class CustomFooter extends HTMLElement {
|
| 2 |
-
|
| 3 |
-
|
| 4 |
-
|
| 5 |
-
|
| 6 |
-
|
| 7 |
-
|
| 8 |
-
|
| 9 |
-
|
| 10 |
-
|
| 11 |
-
|
| 12 |
-
|
| 13 |
-
|
| 14 |
-
|
| 15 |
-
|
| 16 |
-
|
| 17 |
-
|
| 18 |
-
|
| 19 |
-
|
| 20 |
-
|
| 21 |
-
|
| 22 |
-
|
| 23 |
-
|
| 24 |
-
|
| 25 |
-
|
| 26 |
-
|
| 27 |
-
|
| 28 |
-
|
| 29 |
-
|
| 30 |
-
|
| 31 |
-
|
| 32 |
-
|
| 33 |
-
|
| 34 |
-
|
| 35 |
-
|
| 36 |
-
|
| 37 |
-
|
| 38 |
-
|
| 39 |
-
|
| 40 |
-
|
| 41 |
-
|
| 42 |
-
|
| 43 |
-
|
| 44 |
-
|
| 45 |
-
|
| 46 |
-
|
| 47 |
-
|
| 48 |
-
|
| 49 |
-
|
| 50 |
-
|
| 51 |
-
|
| 52 |
-
|
| 53 |
-
|
| 54 |
-
|
| 55 |
-
|
| 56 |
-
|
| 57 |
-
|
| 58 |
-
|
| 59 |
-
|
| 60 |
-
|
| 61 |
-
|
| 62 |
-
|
| 63 |
-
|
| 64 |
-
|
| 65 |
-
|
| 66 |
-
|
| 67 |
-
|
| 68 |
-
|
| 69 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 70 |
}
|
| 71 |
|
| 72 |
customElements.define('custom-footer', CustomFooter);
|
|
|
|
| 1 |
class CustomFooter extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
footer {
|
| 7 |
+
background: #1a1a1a;
|
| 8 |
+
border-top: 1px solid rgba(184, 134, 11, 0.3);
|
| 9 |
+
color: #e0e0e0;
|
| 10 |
+
}
|
| 11 |
+
|
| 12 |
+
.footer-container {
|
| 13 |
+
max-width: 1200px;
|
| 14 |
+
margin: 0 auto;
|
| 15 |
+
padding: 3rem 2rem;
|
| 16 |
+
display: grid;
|
| 17 |
+
grid-template-columns: 2fr 1fr 1fr 1.5fr;
|
| 18 |
+
gap: 3rem;
|
| 19 |
+
}
|
| 20 |
+
|
| 21 |
+
.footer-column {
|
| 22 |
+
display: flex;
|
| 23 |
+
flex-direction: column;
|
| 24 |
+
gap: 1.5rem;
|
| 25 |
+
}
|
| 26 |
+
|
| 27 |
+
.footer-logo-text {
|
| 28 |
+
font-family: 'Playfair Display', serif;
|
| 29 |
+
font-size: 1.5rem;
|
| 30 |
+
color: #f4f4f4;
|
| 31 |
+
margin: 0;
|
| 32 |
+
}
|
| 33 |
+
|
| 34 |
+
.footer-tagline {
|
| 35 |
+
font-family: 'Lato', sans-serif;
|
| 36 |
+
font-size: 0.9rem;
|
| 37 |
+
color: #999;
|
| 38 |
+
line-height: 1.5;
|
| 39 |
+
margin: 0;
|
| 40 |
+
}
|
| 41 |
+
|
| 42 |
+
.footer-title {
|
| 43 |
+
font-family: 'Lato', sans-serif;
|
| 44 |
+
font-size: 1.1rem;
|
| 45 |
+
color: #b8860b;
|
| 46 |
+
margin: 0 0 1rem 0;
|
| 47 |
+
text-transform: uppercase;
|
| 48 |
+
letter-spacing: 1px;
|
| 49 |
+
}
|
| 50 |
+
|
| 51 |
+
.footer-links {
|
| 52 |
+
list-style: none;
|
| 53 |
+
margin: 0;
|
| 54 |
+
padding: 0;
|
| 55 |
+
display: flex;
|
| 56 |
+
flex-direction: column;
|
| 57 |
+
gap: 0.8rem;
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
.footer-link {
|
| 61 |
+
font-family: 'Lato', sans-serif;
|
| 62 |
+
color: #e0e0e0;
|
| 63 |
+
text-decoration: none;
|
| 64 |
+
font-size: 0.95rem;
|
| 65 |
+
transition: all 0.3s ease;
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
.footer-link:hover {
|
| 69 |
+
color: #b8860b;
|
| 70 |
+
padding-left: 5px;
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
.social-links {
|
| 74 |
+
display: flex;
|
| 75 |
+
gap: 1rem;
|
| 76 |
+
}
|
| 77 |
+
|
| 78 |
+
.social-link {
|
| 79 |
+
color: #999;
|
| 80 |
+
transition: all 0.3s ease;
|
| 81 |
+
padding: 0.5rem;
|
| 82 |
+
border-radius: 4px;
|
| 83 |
+
}
|
| 84 |
+
|
| 85 |
+
.social-link:hover {
|
| 86 |
+
color: #b8860b;
|
| 87 |
+
background: rgba(184, 134, 11, 0.1);
|
| 88 |
+
}
|
| 89 |
+
|
| 90 |
+
.contact-info {
|
| 91 |
+
display: flex;
|
| 92 |
+
flex-direction: column;
|
| 93 |
+
gap: 1rem;
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
.contact-item {
|
| 97 |
+
display: flex;
|
| 98 |
+
align-items: center;
|
| 99 |
+
gap: 0.8rem;
|
| 100 |
+
margin: 0;
|
| 101 |
+
font-size: 0.95rem;
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
.contact-icon {
|
| 105 |
+
color: #b8860b;
|
| 106 |
+
flex-shrink: 0;
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
.footer-bottom {
|
| 110 |
+
border-top: 1px solid #333;
|
| 111 |
+
padding: 1.5rem 0;
|
| 112 |
+
}
|
| 113 |
+
|
| 114 |
+
.footer-bottom-container {
|
| 115 |
+
max-width: 1200px;
|
| 116 |
+
margin: 0 auto;
|
| 117 |
+
padding: 0 2rem;
|
| 118 |
+
display: flex;
|
| 119 |
+
justify-content: space-between;
|
| 120 |
+
align-items: center;
|
| 121 |
+
}
|
| 122 |
+
|
| 123 |
+
.copyright {
|
| 124 |
+
font-family: 'Lato', sans-serif;
|
| 125 |
+
font-size: 0.9rem;
|
| 126 |
+
color: #999;
|
| 127 |
+
margin: 0;
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
.legal-links {
|
| 131 |
+
display: flex;
|
| 132 |
+
gap: 1.5rem;
|
| 133 |
+
}
|
| 134 |
+
|
| 135 |
+
.legal-link {
|
| 136 |
+
font-family: 'Lato', sans-serif;
|
| 137 |
+
font-size: 0.8rem;
|
| 138 |
+
color: #666;
|
| 139 |
+
text-decoration: none;
|
| 140 |
+
transition: color 0.3s ease;
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
.legal-link:hover {
|
| 144 |
+
color: #b8860b;
|
| 145 |
+
}
|
| 146 |
+
|
| 147 |
+
@media (max-width: 968px) {
|
| 148 |
+
.footer-container {
|
| 149 |
+
grid-template-columns: 1fr 1fr;
|
| 150 |
+
gap: 2rem;
|
| 151 |
+
}
|
| 152 |
+
}
|
| 153 |
+
|
| 154 |
+
@media (max-width: 768px) {
|
| 155 |
+
.footer-container {
|
| 156 |
+
grid-template-columns: 1fr;
|
| 157 |
+
gap: 2rem;
|
| 158 |
+
padding: 2rem 1rem;
|
| 159 |
+
}
|
| 160 |
+
|
| 161 |
+
.footer-bottom-container {
|
| 162 |
+
flex-direction: column;
|
| 163 |
+
gap: 1rem;
|
| 164 |
+
text-align: center;
|
| 165 |
+
}
|
| 166 |
+
|
| 167 |
+
.legal-links {
|
| 168 |
+
justify-content: center;
|
| 169 |
+
}
|
| 170 |
+
}
|
| 171 |
+
</style>
|
| 172 |
+
|
| 173 |
+
<footer class="footer">
|
| 174 |
+
<div class="footer-container">
|
| 175 |
+
<div class="footer-column">
|
| 176 |
+
<div class="footer-logo">
|
| 177 |
+
<h3 class="footer-logo-text" data-i18n="site_title">La Fragua del Logos</h3>
|
| 178 |
+
<p class="footer-tagline" data-i18n="footer_tagline">Forjando significado a través de las palabras y el pensamiento.</p>
|
| 179 |
+
</div>
|
| 180 |
+
<div class="social-links">
|
| 181 |
+
<a href="#" class="social-link" aria-label="LinkedIn">
|
| 182 |
+
<i data-feather="linkedin" class="w-5 h-5"></i>
|
| 183 |
+
</a>
|
| 184 |
+
<a href="#" class="social-link" aria-label="Twitter">
|
| 185 |
+
<i data-feather="twitter" class="w-5 h-5"></i>
|
| 186 |
+
</a>
|
| 187 |
+
<a href="#" class="social-link" aria-label="GitHub">
|
| 188 |
+
<i data-feather="github" class="w-5 h-5"></i>
|
| 189 |
+
</a>
|
| 190 |
+
</div>
|
| 191 |
+
</div>
|
| 192 |
+
|
| 193 |
+
<div class="footer-column">
|
| 194 |
+
<h4 class="footer-title" data-i18n="footer_navigation">Navegación</h4>
|
| 195 |
+
<ul class="footer-links">
|
| 196 |
+
<li><a href="index.html" class="footer-link" data-i18n="nav_home">Inicio</a></li>
|
| 197 |
+
<li><a href="#services" class="footer-link" data-i18n="nav_services">Servicios</a></li>
|
| 198 |
+
<li><a href="blog.html" class="footer-link" data-i18n="nav_blog">Blog</a></li>
|
| 199 |
+
<li><a href="#contact" class="footer-link" data-i18n="nav_contact">Contacto</a></li>
|
| 200 |
+
<li><a href="about.html" class="footer-link subtle-link" data-i18n="nav_about">Sobre Mí</a></li>
|
| 201 |
+
</ul>
|
| 202 |
+
</div>
|
| 203 |
+
|
| 204 |
+
<div class="footer-column">
|
| 205 |
+
<h4 class="footer-title" data-i18n="footer_services">Servicios</h4>
|
| 206 |
+
<ul class="footer-links">
|
| 207 |
+
<li><a href="#services" class="footer-link" data-i18n="service1_title">Traducción</a></li>
|
| 208 |
+
<li><a href="#services" class="footer-link" data-i18n="service2_title">Transcripción</a></li>
|
| 209 |
+
<li><a href="#services" class="footer-link" data-i18n="service3_title">Subtitulación</a></li>
|
| 210 |
+
</ul>
|
| 211 |
+
</div>
|
| 212 |
+
|
| 213 |
+
<div class="footer-column">
|
| 214 |
+
<h4 class="footer-title" data-i18n="footer_contact">Contacto</h4>
|
| 215 |
+
<div class="contact-info">
|
| 216 |
+
<p class="contact-item">
|
| 217 |
+
<i data-feather="mail" class="contact-icon w-4 h-4"></i>
|
| 218 |
+
<a href="mailto:info@lafraguadelogos.com" class="footer-link">info@lafraguadelogos.com</a>
|
| 219 |
+
</p>
|
| 220 |
+
<p class="contact-item">
|
| 221 |
+
<i data-feather="phone" class="contact-icon w-4 h-4"></i>
|
| 222 |
+
<a href="tel:+34123456789" class="footer-link">+34 123 456 789</a>
|
| 223 |
+
</p>
|
| 224 |
+
</div>
|
| 225 |
+
</div>
|
| 226 |
+
</div>
|
| 227 |
+
|
| 228 |
+
<div class="footer-bottom">
|
| 229 |
+
<div class="footer-bottom-container">
|
| 230 |
+
<p class="copyright">
|
| 231 |
+
© <span id="currentYear"></span> <span data-i18n="footer_copyright">La Fragua del Logos. Todos los derechos reservados.</span>
|
| 232 |
+
</p>
|
| 233 |
+
<div class="legal-links">
|
| 234 |
+
<a href="privacy.html" class="legal-link" data-i18n="footer_privacy">Política de Privacidad</a>
|
| 235 |
+
<a href="terms.html" class="legal-link" data-i18n="footer_terms">Términos</a>
|
| 236 |
+
<a href="cookies.html" class="legal-link" data-i18n="footer_cookies">Cookies</a>
|
| 237 |
+
</div>
|
| 238 |
+
</div>
|
| 239 |
+
</div>
|
| 240 |
+
</footer>
|
| 241 |
+
|
| 242 |
+
<script>
|
| 243 |
+
document.getElementById('currentYear').textContent = new Date().getFullYear();
|
| 244 |
+
feather.replace();
|
| 245 |
+
</script>
|
| 246 |
+
`;
|
| 247 |
+
}
|
| 248 |
}
|
| 249 |
|
| 250 |
customElements.define('custom-footer', CustomFooter);
|
|
@@ -0,0 +1,275 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
class CustomHeader extends HTMLElement {
|
| 2 |
+
connectedCallback() {
|
| 3 |
+
this.attachShadow({ mode: 'open' });
|
| 4 |
+
this.shadowRoot.innerHTML = `
|
| 5 |
+
<style>
|
| 6 |
+
header {
|
| 7 |
+
background: rgba(26, 26, 26, 0.95);
|
| 8 |
+
backdrop-filter: blur(10px);
|
| 9 |
+
border-bottom: 1px solid rgba(184, 134, 11, 0.3);
|
| 10 |
+
position: fixed;
|
| 11 |
+
top: 0;
|
| 12 |
+
width: 100%;
|
| 13 |
+
z-index: 1000;
|
| 14 |
+
padding: 1rem 0;
|
| 15 |
+
}
|
| 16 |
+
|
| 17 |
+
.header-container {
|
| 18 |
+
max-width: 1200px;
|
| 19 |
+
margin: 0 auto;
|
| 20 |
+
display: flex;
|
| 21 |
+
align-items: center;
|
| 22 |
+
justify-content: space-between;
|
| 23 |
+
padding: 0 2rem;
|
| 24 |
+
}
|
| 25 |
+
|
| 26 |
+
.logo-text {
|
| 27 |
+
font-family: 'Playfair Display', serif;
|
| 28 |
+
font-size: 1.8rem;
|
| 29 |
+
font-weight: 700;
|
| 30 |
+
color: #f4f4f4;
|
| 31 |
+
margin: 0;
|
| 32 |
+
letter-spacing: -0.5px;
|
| 33 |
+
}
|
| 34 |
+
|
| 35 |
+
.logo-subtitle {
|
| 36 |
+
font-family: 'Lato', sans-serif;
|
| 37 |
+
font-size: 0.7rem;
|
| 38 |
+
color: #b8860b;
|
| 39 |
+
letter-spacing: 1.5px;
|
| 40 |
+
text-transform: uppercase;
|
| 41 |
+
display: block;
|
| 42 |
+
margin-top: -2px;
|
| 43 |
+
}
|
| 44 |
+
|
| 45 |
+
.logo-link {
|
| 46 |
+
text-decoration: none;
|
| 47 |
+
transition: all 0.3s ease;
|
| 48 |
+
}
|
| 49 |
+
|
| 50 |
+
.logo-link:hover {
|
| 51 |
+
opacity: 0.8;
|
| 52 |
+
}
|
| 53 |
+
|
| 54 |
+
.nav-list {
|
| 55 |
+
display: flex;
|
| 56 |
+
list-style: none;
|
| 57 |
+
margin: 0;
|
| 58 |
+
padding: 0;
|
| 59 |
+
gap: 2rem;
|
| 60 |
+
}
|
| 61 |
+
|
| 62 |
+
.nav-link {
|
| 63 |
+
font-family: 'Lato', sans-serif;
|
| 64 |
+
color: #e0e0e0;
|
| 65 |
+
text-decoration: none;
|
| 66 |
+
font-size: 1rem;
|
| 67 |
+
font-weight: 400;
|
| 68 |
+
transition: all 0.3s ease;
|
| 69 |
+
position: relative;
|
| 70 |
+
padding: 0.5rem 0;
|
| 71 |
+
}
|
| 72 |
+
|
| 73 |
+
.nav-link:hover {
|
| 74 |
+
color: #b8860b;
|
| 75 |
+
}
|
| 76 |
+
|
| 77 |
+
.nav-link::after {
|
| 78 |
+
content: '';
|
| 79 |
+
position: absolute;
|
| 80 |
+
bottom: 0;
|
| 81 |
+
left: 0;
|
| 82 |
+
width: 0;
|
| 83 |
+
height: 2px;
|
| 84 |
+
background: #b8860b;
|
| 85 |
+
transition: width 0.3s ease;
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
.nav-link:hover::after {
|
| 89 |
+
width: 100%;
|
| 90 |
+
}
|
| 91 |
+
|
| 92 |
+
.nav-item.subtle {
|
| 93 |
+
margin-left: 1rem;
|
| 94 |
+
position: relative;
|
| 95 |
+
}
|
| 96 |
+
|
| 97 |
+
.nav-item.subtle::before {
|
| 98 |
+
content: '•';
|
| 99 |
+
color: #666;
|
| 100 |
+
margin-right: 1rem;
|
| 101 |
+
}
|
| 102 |
+
|
| 103 |
+
.subtle-link {
|
| 104 |
+
font-size: 0.9rem;
|
| 105 |
+
color: #999 !important;
|
| 106 |
+
}
|
| 107 |
+
|
| 108 |
+
.subtle-link:hover {
|
| 109 |
+
color: #b8860b !important;
|
| 110 |
+
}
|
| 111 |
+
|
| 112 |
+
.language-selector {
|
| 113 |
+
position: relative;
|
| 114 |
+
}
|
| 115 |
+
|
| 116 |
+
.language-btn {
|
| 117 |
+
background: rgba(184, 134, 11, 0.1);
|
| 118 |
+
border: 1px solid rgba(184, 134, 11, 0.3);
|
| 119 |
+
border-radius: 4px;
|
| 120 |
+
padding: 0.5rem 1rem;
|
| 121 |
+
color: #e0e0e0;
|
| 122 |
+
cursor: pointer;
|
| 123 |
+
display: flex;
|
| 124 |
+
align-items: center;
|
| 125 |
+
gap: 0.5rem;
|
| 126 |
+
transition: all 0.3s ease;
|
| 127 |
+
}
|
| 128 |
+
|
| 129 |
+
.language-btn:hover {
|
| 130 |
+
background: rgba(184, 134, 11, 0.2);
|
| 131 |
+
}
|
| 132 |
+
|
| 133 |
+
.language-dropdown {
|
| 134 |
+
position: absolute;
|
| 135 |
+
top: 100%;
|
| 136 |
+
right: 0;
|
| 137 |
+
background: #1a1a1a;
|
| 138 |
+
border: 1px solid rgba(184, 134, 11, 0.3);
|
| 139 |
+
border-radius: 4px;
|
| 140 |
+
padding: 0.5rem;
|
| 141 |
+
min-width: 150px;
|
| 142 |
+
display: none;
|
| 143 |
+
margin-top: 0.5rem;
|
| 144 |
+
}
|
| 145 |
+
|
| 146 |
+
.language-dropdown.show {
|
| 147 |
+
display: block;
|
| 148 |
+
}
|
| 149 |
+
|
| 150 |
+
.lang-option {
|
| 151 |
+
display: block;
|
| 152 |
+
padding: 0.5rem 1rem;
|
| 153 |
+
color: #e0e0e0;
|
| 154 |
+
text-decoration: none;
|
| 155 |
+
transition: all 0.3s ease;
|
| 156 |
+
border-radius: 2px;
|
| 157 |
+
}
|
| 158 |
+
|
| 159 |
+
.lang-option:hover {
|
| 160 |
+
background: rgba(184, 134, 11, 0.1);
|
| 161 |
+
color: #b8860b;
|
| 162 |
+
}
|
| 163 |
+
|
| 164 |
+
.mobile-menu-btn {
|
| 165 |
+
display: none;
|
| 166 |
+
flex-direction: column;
|
| 167 |
+
background: none;
|
| 168 |
+
border: none;
|
| 169 |
+
cursor: pointer;
|
| 170 |
+
padding: 0.5rem;
|
| 171 |
+
}
|
| 172 |
+
|
| 173 |
+
.mobile-menu-btn span {
|
| 174 |
+
width: 25px;
|
| 175 |
+
height: 2px;
|
| 176 |
+
background: #e0e0e0;
|
| 177 |
+
margin: 3px 0;
|
| 178 |
+
transition: 0.3s;
|
| 179 |
+
}
|
| 180 |
+
|
| 181 |
+
@media (max-width: 768px) {
|
| 182 |
+
.header-container {
|
| 183 |
+
padding: 0 1rem;
|
| 184 |
+
}
|
| 185 |
+
|
| 186 |
+
.main-nav, .language-selector {
|
| 187 |
+
display: none;
|
| 188 |
+
}
|
| 189 |
+
|
| 190 |
+
.mobile-menu-btn {
|
| 191 |
+
display: flex;
|
| 192 |
+
}
|
| 193 |
+
|
| 194 |
+
.logo-text {
|
| 195 |
+
font-size: 1.4rem;
|
| 196 |
+
}
|
| 197 |
+
|
| 198 |
+
.logo-subtitle {
|
| 199 |
+
font-size: 0.6rem;
|
| 200 |
+
}
|
| 201 |
+
}
|
| 202 |
+
</style>
|
| 203 |
+
|
| 204 |
+
<header class="header">
|
| 205 |
+
<div class="header-container">
|
| 206 |
+
<div class="logo">
|
| 207 |
+
<a href="index.html" class="logo-link">
|
| 208 |
+
<h1 class="logo-text" data-i18n="site_title">La Fragua del Logos</h1>
|
| 209 |
+
<span class="logo-subtitle" data-i18n="site_subtitle">Forjando Palabras, Creando Sentido</span>
|
| 210 |
+
</a>
|
| 211 |
+
</div>
|
| 212 |
+
|
| 213 |
+
<nav class="main-nav">
|
| 214 |
+
<ul class="nav-list">
|
| 215 |
+
<li class="nav-item"><a href="index.html" class="nav-link" data-i18n="nav_home">Inicio</a></li>
|
| 216 |
+
<li class="nav-item"><a href="#services" class="nav-link" data-i18n="nav_services">Servicios</a></li>
|
| 217 |
+
<li class="nav-item"><a href="blog.html" class="nav-link" data-i18n="nav_blog">Blog</a></li>
|
| 218 |
+
<li class="nav-item"><a href="#contact" class="nav-link" data-i18n="nav_contact">Contacto</a></li>
|
| 219 |
+
<li class="nav-item subtle">
|
| 220 |
+
<a href="about.html" class="nav-link subtle-link" data-i18n="nav_about">Sobre Mí</a>
|
| 221 |
+
</li>
|
| 222 |
+
</ul>
|
| 223 |
+
</nav>
|
| 224 |
+
|
| 225 |
+
<div class="language-selector">
|
| 226 |
+
<button class="language-btn" id="languageToggle">
|
| 227 |
+
<span class="flag">🇪🇸</span>
|
| 228 |
+
<span class="language-code">ES</span>
|
| 229 |
+
</button>
|
| 230 |
+
<div class="language-dropdown" id="languageDropdown">
|
| 231 |
+
<a href="#" data-lang="es" class="lang-option">🇪🇸 Español</a>
|
| 232 |
+
<a href="#" data-lang="en" class="lang-option">🇬🇧 English</a>
|
| 233 |
+
<a href="#" data-lang="fr" class="lang-option">🇫🇷 Français</a>
|
| 234 |
+
</div>
|
| 235 |
+
</div>
|
| 236 |
+
|
| 237 |
+
<button class="mobile-menu-btn" id="mobileMenuToggle">
|
| 238 |
+
<span></span>
|
| 239 |
+
<span></span>
|
| 240 |
+
<span></span>
|
| 241 |
+
</button>
|
| 242 |
+
</div>
|
| 243 |
+
</header>
|
| 244 |
+
|
| 245 |
+
<script>
|
| 246 |
+
document.addEventListener('DOMContentLoaded', function() {
|
| 247 |
+
const languageToggle = this.shadowRoot.getElementById('languageToggle');
|
| 248 |
+
const languageDropdown = this.shadowRoot.getElementById('languageDropdown');
|
| 249 |
+
|
| 250 |
+
languageToggle.addEventListener('click', function() {
|
| 251 |
+
languageDropdown.classList.toggle('show');
|
| 252 |
+
});
|
| 253 |
+
|
| 254 |
+
// Close dropdown when clicking outside
|
| 255 |
+
document.addEventListener('click', function(event) {
|
| 256 |
+
if (!event.target.closest('.language-selector')) {
|
| 257 |
+
languageDropdown.classList.remove('show');
|
| 258 |
+
}
|
| 259 |
+
});
|
| 260 |
+
|
| 261 |
+
// Mobile menu toggle
|
| 262 |
+
const mobileMenuToggle = this.shadowRoot.getElementById('mobileMenuToggle');
|
| 263 |
+
const mainNav = this.shadowRoot.querySelector('.main-nav');
|
| 264 |
+
|
| 265 |
+
mobileMenuToggle.addEventListener('click', function() {
|
| 266 |
+
mainNav.style.display = mainNav.style.display === 'none' ? 'block' : 'none';
|
| 267 |
+
languageDropdown.style.display = languageDropdown.style.display === 'none' ? 'block' : 'none';
|
| 268 |
+
});
|
| 269 |
+
});
|
| 270 |
+
</script>
|
| 271 |
+
`;
|
| 272 |
+
}
|
| 273 |
+
}
|
| 274 |
+
|
| 275 |
+
customElements.define('custom-header', CustomHeader);
|
|
@@ -8,18 +8,17 @@
|
|
| 8 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 9 |
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
<script src="https://unpkg.com/feather-icons"></script>
|
| 11 |
-
<script src="components/
|
| 12 |
<script src="components/footer.js"></script>
|
| 13 |
-
|
| 14 |
<script src="script.js"></script>
|
| 15 |
<style>
|
| 16 |
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap');
|
| 17 |
</style>
|
| 18 |
</head>
|
| 19 |
<body class="bg-amber-50 text-gray-900 font-lato">
|
| 20 |
-
<custom-
|
| 21 |
-
|
| 22 |
-
<main>
|
| 23 |
<!-- Hero Section -->
|
| 24 |
<section class="relative h-screen flex items-center justify-center bg-gradient-to-b from-gray-900 to-amber-900 overflow-hidden">
|
| 25 |
<div class="absolute inset-0 bg-[url('http://static.photos/education/1200x630/1')] opacity-20 bg-cover bg-center"></div>
|
|
@@ -234,10 +233,8 @@
|
|
| 234 |
</div>
|
| 235 |
</section>
|
| 236 |
</main>
|
| 237 |
-
|
| 238 |
<custom-footer></custom-footer>
|
| 239 |
-
|
| 240 |
-
<script>
|
| 241 |
feather.replace();
|
| 242 |
</script>
|
| 243 |
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
|
|
|
|
| 8 |
<script src="https://cdn.tailwindcss.com"></script>
|
| 9 |
<script src="https://cdn.jsdelivr.net/npm/feather-icons/dist/feather.min.js"></script>
|
| 10 |
<script src="https://unpkg.com/feather-icons"></script>
|
| 11 |
+
<script src="components/header.js"></script>
|
| 12 |
<script src="components/footer.js"></script>
|
| 13 |
+
<script src="scripts/languages.js"></script>
|
| 14 |
<script src="script.js"></script>
|
| 15 |
<style>
|
| 16 |
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;700&family=Lato:wght@300;400;700&display=swap');
|
| 17 |
</style>
|
| 18 |
</head>
|
| 19 |
<body class="bg-amber-50 text-gray-900 font-lato">
|
| 20 |
+
<custom-header></custom-header>
|
| 21 |
+
<main>
|
|
|
|
| 22 |
<!-- Hero Section -->
|
| 23 |
<section class="relative h-screen flex items-center justify-center bg-gradient-to-b from-gray-900 to-amber-900 overflow-hidden">
|
| 24 |
<div class="absolute inset-0 bg-[url('http://static.photos/education/1200x630/1')] opacity-20 bg-cover bg-center"></div>
|
|
|
|
| 233 |
</div>
|
| 234 |
</section>
|
| 235 |
</main>
|
|
|
|
| 236 |
<custom-footer></custom-footer>
|
| 237 |
+
<script>
|
|
|
|
| 238 |
feather.replace();
|
| 239 |
</script>
|
| 240 |
<script src="https://huggingface.co/deepsite/deepsite-badge.js"></script>
|
|
@@ -1,7 +1,9 @@
|
|
| 1 |
const translations = {
|
| 2 |
'es': {
|
|
|
|
|
|
|
| 3 |
'hero_title': 'Donde las palabras se forjan en ideas',
|
| 4 |
-
|
| 5 |
'hero_button': 'Descubre mi oficio',
|
| 6 |
'services_title': 'Mi Artesanía Lingüística',
|
| 7 |
'service1_title': 'Traducción',
|
|
@@ -50,11 +52,20 @@ const translations = {
|
|
| 50 |
'footer_quicklinks': 'Enlaces Rápidos',
|
| 51 |
'footer_connect': 'Conectar',
|
| 52 |
'footer_email': 'Email: info@lafraguadelogos.com',
|
| 53 |
-
'footer_copyright': '© {currentYear} La Fragua del Logos.
|
| 54 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 55 |
'en': {
|
|
|
|
|
|
|
| 56 |
'hero_title': 'Where words are forged into ideas',
|
| 57 |
-
|
| 58 |
'hero_button': 'Discover my craft',
|
| 59 |
'services_title': 'My Linguistic Craftsmanship',
|
| 60 |
'service1_title': 'Translation',
|
|
@@ -104,11 +115,20 @@ const translations = {
|
|
| 104 |
'footer_quicklinks': 'Quick Links',
|
| 105 |
'footer_connect': 'Connect',
|
| 106 |
'footer_email': 'Email: info@lafraguadelogos.com',
|
| 107 |
-
'footer_copyright': '© {currentYear} La Fragua del Logos.
|
| 108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 109 |
'fr': {
|
|
|
|
|
|
|
| 110 |
'hero_title': 'Où les mots sont forgés en idées',
|
| 111 |
-
|
| 112 |
'hero_button': 'Découvrez mon métier',
|
| 113 |
'services_title': 'Mon Artisanat Linguistique',
|
| 114 |
'service1_title': 'Traduction',
|
|
@@ -157,6 +177,13 @@ const translations = {
|
|
| 157 |
'footer_quicklinks': 'Liens Rapides',
|
| 158 |
'footer_connect': 'Se Connecter',
|
| 159 |
'footer_email': 'Email: info@lafraguadelogos.com',
|
| 160 |
-
'footer_copyright': '© {currentYear} La Fragua del Logos.
|
| 161 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 162 |
};
|
|
|
|
| 1 |
const translations = {
|
| 2 |
'es': {
|
| 3 |
+
'site_title': 'La Fragua del Logos',
|
| 4 |
+
'site_subtitle': 'Forjando Palabras, Creando Sentido',
|
| 5 |
'hero_title': 'Donde las palabras se forjan en ideas',
|
| 6 |
+
'hero_subtitle': 'Y las ideas en significado en el yunque del lenguaje',
|
| 7 |
'hero_button': 'Descubre mi oficio',
|
| 8 |
'services_title': 'Mi Artesanía Lingüística',
|
| 9 |
'service1_title': 'Traducción',
|
|
|
|
| 52 |
'footer_quicklinks': 'Enlaces Rápidos',
|
| 53 |
'footer_connect': 'Conectar',
|
| 54 |
'footer_email': 'Email: info@lafraguadelogos.com',
|
| 55 |
+
'footer_copyright': '© {currentYear} La Fragua del Logos. Todos los derechos reservados.',
|
| 56 |
+
'footer_tagline': 'Forjando significado a través de las palabras y el pensamiento',
|
| 57 |
+
'footer_navigation': 'Navegación',
|
| 58 |
+
'footer_services': 'Servicios',
|
| 59 |
+
'footer_contact': 'Contacto',
|
| 60 |
+
'footer_privacy': 'Política de Privacidad',
|
| 61 |
+
'footer_terms': 'Términos',
|
| 62 |
+
'footer_cookies': 'Cookies'
|
| 63 |
+
},
|
| 64 |
'en': {
|
| 65 |
+
'site_title': 'La Fragua del Logos',
|
| 66 |
+
'site_subtitle': 'Forging Words, Creating Meaning',
|
| 67 |
'hero_title': 'Where words are forged into ideas',
|
| 68 |
+
'hero_subtitle': 'And ideas into meaning at the anvil of language',
|
| 69 |
'hero_button': 'Discover my craft',
|
| 70 |
'services_title': 'My Linguistic Craftsmanship',
|
| 71 |
'service1_title': 'Translation',
|
|
|
|
| 115 |
'footer_quicklinks': 'Quick Links',
|
| 116 |
'footer_connect': 'Connect',
|
| 117 |
'footer_email': 'Email: info@lafraguadelogos.com',
|
| 118 |
+
'footer_copyright': '© {currentYear} La Fragua del Logos. All rights reserved.',
|
| 119 |
+
'footer_tagline': 'Forging meaning through words and thought',
|
| 120 |
+
'footer_navigation': 'Navigation',
|
| 121 |
+
'footer_services': 'Services',
|
| 122 |
+
'footer_contact': 'Contact',
|
| 123 |
+
'footer_privacy': 'Privacy Policy',
|
| 124 |
+
'footer_terms': 'Terms',
|
| 125 |
+
'footer_cookies': 'Cookies'
|
| 126 |
+
},
|
| 127 |
'fr': {
|
| 128 |
+
'site_title': 'La Fragua del Logos',
|
| 129 |
+
'site_subtitle': 'Forger des Mots, Créer du Sens',
|
| 130 |
'hero_title': 'Où les mots sont forgés en idées',
|
| 131 |
+
'hero_subtitle': 'Et les idées en sens sur l\'enclume du langage',
|
| 132 |
'hero_button': 'Découvrez mon métier',
|
| 133 |
'services_title': 'Mon Artisanat Linguistique',
|
| 134 |
'service1_title': 'Traduction',
|
|
|
|
| 177 |
'footer_quicklinks': 'Liens Rapides',
|
| 178 |
'footer_connect': 'Se Connecter',
|
| 179 |
'footer_email': 'Email: info@lafraguadelogos.com',
|
| 180 |
+
'footer_copyright': '© {currentYear} La Fragua del Logos. Tous droits réservés.',
|
| 181 |
+
'footer_tagline': 'Forger du sens à travers les mots et la pensée',
|
| 182 |
+
'footer_navigation': 'Navigation',
|
| 183 |
+
'footer_services': 'Services',
|
| 184 |
+
'footer_contact': 'Contact',
|
| 185 |
+
'footer_privacy': 'Politique de Confidentialité',
|
| 186 |
+
'footer_terms': 'Conditions',
|
| 187 |
+
'footer_cookies': 'Cookies'
|
| 188 |
+
}
|
| 189 |
};
|