modification arboresence

master
Sasha LORENC 3 weeks ago
parent ee32526284
commit a7a367cc48

@ -1,8 +1,7 @@
.contact {
text-align: center;
padding: 100px 20px;
max-width: 600px;
padding: 40px 20px;
width: 95%;
margin: 0 auto;
}
@ -22,6 +21,7 @@ form {
display: flex;
flex-direction: column;
gap: 20px;
width: 100%;
}
.form-group {
@ -60,30 +60,114 @@ input:focus, textarea:focus, select:focus {
}
textarea {
resize: vertical;
resize: none;
min-height: 120px;
max-height: 400px;
overflow-y: hidden;
transition: height 0.2s ease;
}
.character-count {
position: absolute;
bottom: 5px;
bottom: 10px;
right: 10px;
font-size: 12px;
color: #888;
background-color: rgba(51, 51, 51, 0.8);
padding: 2px 8px;
border-radius: 10px;
transition: bottom 0.2s ease;
}
/* Style pour la checkbox */
/* Style personnalisé pour la checkbox */
.checkbox-container {
display: flex;
align-items: center;
gap: 10px;
cursor: pointer;
font-size: 14px;
color: #e0e0e0;
gap: 10px;
position: relative;
padding-left: 35px;
}
/* Cacher la checkbox par défaut */
.checkbox-container input[type="checkbox"] {
position: absolute;
opacity: 0;
cursor: pointer;
height: 0;
width: 0;
}
/* Style pour la checkbox personnalisée */
.checkmark {
position: absolute;
left: 0;
height: 25px;
width: 25px;
background-color: #333;
border: 2px solid #444;
border-radius: 5px;
transition: all 0.3s ease;
}
/* Style au survol */
.checkbox-container:hover .checkmark {
border-color: var(--accent-color);
box-shadow: 0 0 5px rgba(26, 188, 156, 0.3);
}
.checkbox-container input {
width: auto;
/* Style quand la checkbox est cochée */
.checkbox-container input:checked ~ .checkmark {
background-color: var(--accent-color);
border-color: var(--accent-color);
}
/* Création de l'icône de validation */
.checkmark:after {
content: '';
position: absolute;
display: none;
left: 9px;
top: 5px;
width: 5px;
height: 10px;
border: solid white;
border-width: 0 2px 2px 0;
transform: rotate(45deg);
transition: all 0.2s ease;
}
/* Afficher l'icône quand la checkbox est cochée */
.checkbox-container input:checked ~ .checkmark:after {
display: block;
animation: checkmark 0.2s ease-in-out;
}
/* Animation de l'icône de validation */
@keyframes checkmark {
0% {
opacity: 0;
transform: rotate(45deg) scale(0);
}
100% {
opacity: 1;
transform: rotate(45deg) scale(1);
}
}
/* Style pour la checkbox invalide */
.checkbox-container input:invalid ~ .checkmark {
border-color: #e74c3c;
animation: shake 0.5s ease-in-out;
}
/* Animation de secousse pour l'erreur */
@keyframes shake {
0%, 100% { transform: translateX(0); }
25% { transform: translateX(-5px); }
75% { transform: translateX(5px); }
}
button[type="submit"] {
@ -132,6 +216,21 @@ button[type="submit"] .btn-icon {
transform: translateY(-2px);
}
@media (min-width: 576px) {
.contact {
width: 90%;
max-width: 500px;
padding: 60px 20px;
}
}
@media (min-width: 768px) {
.contact {
max-width: 600px;
padding: 80px 20px;
}
}
@media (max-width: 768px) {
.contact {
padding: 80px 15px;
@ -182,4 +281,110 @@ button[type="submit"] .btn-icon {
.contact-info {
font-size: 12px;
}
.g-recaptcha {
transform: scale(0.85);
transform-origin: center;
margin: 10px 0;
}
}
/* Style pour le reCAPTCHA */
.g-recaptcha {
display: flex;
justify-content: center;
margin: 20px 0;
}
/* Style pour les placeholders */
::placeholder {
color: #666;
opacity: 0.7;
font-style: italic;
}
/* Style pour Firefox */
::-moz-placeholder {
color: #666;
opacity: 0.7;
font-style: italic;
}
/* Style pour Edge */
:-ms-input-placeholder {
color: #666;
opacity: 0.7;
font-style: italic;
}
/* Animation au focus */
input:focus::placeholder,
textarea:focus::placeholder {
opacity: 0.4;
transition: opacity 0.3s ease;
}
/* Style pour le select et ses options */
select {
appearance: none;
background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
background-repeat: no-repeat;
background-position: right 1rem center;
background-size: 1em;
padding-right: 2.5rem;
cursor: pointer;
-webkit-tap-highlight-color: transparent;
}
/* Style pour les options */
select option {
background-color: #333;
color: #e0e0e0;
padding: 10px;
-webkit-appearance: none;
-moz-appearance: none;
}
/* Suppression complète de l'effet de surlignage */
select option:hover,
select option:focus,
select option:active,
select option:checked {
background: #333 !important;
background-color: #333 !important;
color: var(--accent-color) !important;
-webkit-appearance: none;
-moz-appearance: none;
-webkit-tap-highlight-color: transparent;
}
/* Style spécifique pour Firefox */
@-moz-document url-prefix() {
select option:hover,
select option:focus,
select option:active,
select option:checked {
background-color: #333 !important;
color: var(--accent-color) !important;
box-shadow: none !important;
}
}
/* Style pour l'option disabled/placeholder */
select option[disabled] {
color: #666;
font-style: italic;
}
/* Style au focus du select */
select:focus {
outline: none;
border-color: var(--accent-color);
box-shadow: 0 0 5px rgba(26, 188, 156, 0.3);
}
/* Animation au hover du select */
select:hover {
border-color: var(--accent-color);
transition: border-color 0.3s ease;
}

@ -1,4 +1,3 @@
/* Réinitialisation et styles de base */
:root {
--accent-color: #1abc9c;
}
@ -434,4 +433,58 @@ h3 {
.language-selector-container:hover::after {
transform: translateY(-50%) rotate(180deg);
}
/* Breakpoints standards */
@media (min-width: 1400px) {
/* Grand écran */
nav {
max-width: 1320px;
}
}
@media (max-width: 1200px) {
/* Laptop */
nav {
width: 90%;
}
}
@media (max-width: 992px) {
/* Tablette large */
nav ul {
gap: 1.5rem;
}
nav h1 {
font-size: 20px;
}
}
@media (max-width: 768px) {
/* Tablette */
nav {
flex-direction: column;
gap: 1rem;
}
nav ul {
flex-direction: column;
width: 100%;
text-align: center;
gap: 1rem;
}
.nav-controls {
width: 100%;
justify-content: center;
}
}
@media (max-width: 576px) {
/* Mobile */
section {
width: 95%;
margin: 50px auto;
}
}

@ -4,22 +4,21 @@
}
.project-list {
display: flex;
flex-wrap: wrap;
display: grid;
grid-template-columns: 1fr;
gap: 20px;
justify-content: center;
margin-top: 20px; /* Réduction de la marge supérieure de 40px à 20px */
padding: 20px;
}
.project-card {
background-color: #1f1f1f;
padding: 20px;
border-radius: 10px;
width: 300px;
width: 100%;
color: #e0e0e0;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.3);
text-align: left;
margin: 15px;
margin: 0;
transition: all 0.3s ease;
position: relative;
}
@ -113,4 +112,16 @@
padding: 6px 10px;
font-size: 12px;
}
}
@media (min-width: 576px) {
.project-list {
grid-template-columns: repeat(2, 1fr);
}
}
@media (min-width: 992px) {
.project-list {
grid-template-columns: repeat(3, 1fr);
}
}

Binary file not shown.

@ -14,7 +14,7 @@
<nav>
<h1>Sasha Lorenc</h1>
<ul>
<li><a href="accueil.html" data-translate="nav-home">Accueil</a></li>
<li><a href="../index.html" data-translate="nav-home">Accueil</a></li>
<li><a href="about.html" data-translate="nav-about" aria-current="page">À propos</a></li>
<li><a href="projet.html" data-translate="nav-projects">Projets</a></li>
<li><a href="skills.html" data-translate="nav-skills">Compétences</a></li>
@ -92,7 +92,7 @@
</main>
<footer>
<p><span>&copy; 2024 Sasha Lorenc.</span> <span data-translate="rights-reserved">Tous droits réservés.</span></p>
<p><span>&copy; 2025 Sasha Lorenc.</span> <span data-translate="rights-reserved">Tous droits réservés.</span></p>
<div class="social-links">
<a href="https://www.linkedin.com/in/sasha-lorenc-9a073b278/" target="_blank" rel="noopener" aria-label="LinkedIn">LinkedIn</a>
<a href="https://codefirst.iut.uca.fr/git/sasha.lorenc" target="_blank" rel="noopener" aria-label="GitHub">GitHub</a>

@ -7,13 +7,14 @@
<link rel="stylesheet" href="../css/contacts_css.css">
<link rel="stylesheet" href="../css/global.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
<script src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js"></script>
</head>
<body>
<header>
<nav>
<h1>Sasha Lorenc</h1>
<ul>
<li><a href="accueil.html" data-translate="nav-home">Home</a></li>
<li><a href="../index.html" data-translate="nav-home">Home</a></li>
<li><a href="about.html" data-translate="nav-about">About</a></li>
<li><a href="projet.html" data-translate="nav-projects">Projects</a></li>
<li><a href="skills.html" data-translate="nav-skills">Skills</a></li>
@ -48,42 +49,69 @@
<form id="contactForm">
<div class="form-group">
<label class="form-label" for="name" data-translate="name">Name <span class="required">*</span></label>
<input type="text" id="name" name="name" required minlength="2" maxlength="50"
data-translate="name-placeholder" placeholder="Your full name"
pattern="[A-Za-zÀ-ÿ\s]+" title="Please enter a valid name">
<label class="form-label" for="name">
<span data-translate="name">Nom</span>
<span class="required">*</span>
</label>
<input type="text"
id="name"
name="name"
required
placeholder="John Doe"
data-translate="name-placeholder">
</div>
<div class="form-group">
<label class="form-label" for="email">Email <span class="required">*</span></label>
<input type="email" id="email" name="email" required
data-translate="email-placeholder" placeholder="example@email.com"
pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$">
<label class="form-label" for="email">
<span data-translate="email">Email</span>
<span class="required">*</span>
</label>
<input type="email"
id="email"
name="email"
required
placeholder="john.doe@example.com"
data-translate="email-placeholder">
</div>
<div class="form-group">
<label class="form-label" for="subject" data-translate="subject">Subject <span class="required">*</span></label>
<label class="form-label" for="subject">
<span data-translate="subject">Sujet</span>
<span class="required">*</span>
</label>
<select id="subject" name="subject" required>
<option value="" data-translate="select-subject">Select a subject</option>
<option value="collaboration" data-translate="collaboration">Collaboration proposal</option>
<option value="question" data-translate="general-question">General question</option>
<option value="projet" data-translate="project-discussion">Project discussion</option>
<option value="autre" data-translate="other">Other</option>
<option value="" disabled selected data-translate="subject-placeholder">Sélectionnez un sujet</option>
<option value="collaboration" data-translate="subject-collaboration">Proposition de collaboration</option>
<option value="job" data-translate="subject-job">Opportunité professionnelle</option>
<option value="project" data-translate="subject-project">Discussion de projet</option>
<option value="question" data-translate="subject-question">Question générale</option>
<option value="other" data-translate="subject-other">Autre</option>
</select>
</div>
<div class="form-group">
<label class="form-label" for="message" data-translate="message">Message <span class="required">*</span></label>
<textarea id="message" name="message" rows="5" required minlength="10" maxlength="1000"
data-translate="message-placeholder" placeholder="Your message here (10-1000 characters)"></textarea>
<label class="form-label" for="message">
<span data-translate="message">Message</span>
<span class="required">*</span>
</label>
<textarea id="message"
name="message"
required
placeholder="Je souhaiterais discuter d'une opportunité de collaboration..."
data-translate="message-placeholder"></textarea>
<div class="character-count"><span id="charCount">0</span>/1000</div>
</div>
<div class="form-group">
<label class="checkbox-container">
<input type="checkbox" required name="privacy">
<input type="checkbox" required name="privacy" id="privacy">
<span class="checkmark"></span>
<span data-translate="privacy-policy">I agree that my data will be used to be contacted</span>
<span data-translate="privacy-policy">J'accepte que mes informations soient utilisées pour être recontacté(e)</span>
</label>
</div>
<button type="submit" class="btn">
<span class="btn-text" data-translate="send">Send</span>
<span class="btn-text" data-translate="send">Envoyer</span>
<span class="btn-icon">📨</span>
</button>
</form>
@ -100,13 +128,13 @@
<!-- Footer -->
<footer>
<p><span data-translate="copyright">&copy; 2024 Sasha Lorenc. All rights reserved.</span></p>
<p><span data-translate="copyright">&copy; 2025 Sasha Lorenc. All rights reserved.</span></p>
</footer>
<button id="scroll-to-top" title="Scroll to top"></button>
<script src="https://cdn.jsdelivr.net/npm/@emailjs/browser@3/dist/email.min.js"></script>
<script src="../js/translations.js"></script>
<script src="../js/common.js"></script>
<script src="../js/contact.js"></script>
</body>
</html>

@ -13,7 +13,7 @@
<nav>
<h1>Sasha Lorenc</h1>
<ul>
<li><a href="accueil.html" data-translate="nav-home">Accueil</a></li>
<li><a href="../index.html" data-translate="nav-home">Accueil</a></li>
<li><a href="about.html" data-translate="nav-about">À propos</a></li>
<li><a href="projet.html" data-translate="nav-projects">Projets</a></li>
<li><a href="skills.html" data-translate="nav-skills">Compétences</a></li>
@ -62,14 +62,6 @@
</div>
<!-- projet 3 -->
<div class="project-card">
<h3 data-translate="project3-title">Projet 3 : Portfolio Interactif</h3>
<p data-translate="project3-desc">Un portfolio interactif pour présenter mes compétences et projets de manière visuelle.</p>
<p><strong class="strong_word" data-translate="technologies">Technologies :</strong> HTML, CSS, JavaScript</p>
<a href="https://codefirst.iut.uca.fr/git/sasha.lorenc/portfolio" class="btn" data-translate="view-project">Voir le projet</a>
</div>
<!-- projet 4 -->
<div class="project-card">
<h3 data-translate="project4-title">Projet 4 : TaskShade</h3>
<p data-translate="project4-desc">Une To Do List en ligne permettant d'organiser vos tâches par importance et date d'échéance, tout en suivant vos performances via des statistiques détaillées.</p>
@ -80,7 +72,7 @@
</section>
<footer>
<p>&copy; 2024 Sasha Lorenc. <span data-translate="rights-reserved">Tous droits réservés.</span></p>
<p>&copy; 2025 Sasha Lorenc. <span data-translate="rights-reserved">Tous droits réservés.</span></p>
<div class="social-links">
<a href="https://www.linkedin.com/in/sasha-lorenc-9a073b278/" target="_blank">LinkedIn</a>
<a href="https://codefirst.iut.uca.fr/git/sasha.lorenc" target="_blank">GitHub</a>

@ -18,7 +18,7 @@
<nav>
<h1>Sasha Lorenc</h1>
<ul>
<li><a href="accueil.html" data-translate="nav-home">Accueil</a></li>
<li><a href="../index.html" data-translate="nav-home">Accueil</a></li>
<li><a href="about.html" data-translate="nav-about">À propos</a></li>
<li><a href="projet.html" data-translate="nav-projects">Projets</a></li>
<li><a href="skills.html" data-translate="nav-skills">Compétences</a></li>
@ -105,10 +105,6 @@
<h3 data-translate="adaptability">Adaptabilité</h3>
<p data-translate="adaptability-desc">Excellente capacité d'adaptation aux changements technologiques et organisationnels. Apprentissage rapide des nouveaux outils et frameworks.Capacité à travailler efficacement dans des environnements multiculturels. Résilience face aux situations stressantes et aux deadlines serrées.</p>
</div>
<div class="project-card">
<h3 data-translate="creativity">Créativité</h3>
<p data-translate="creativity-desc">Approche innovante dans la résolution de problèmes techniques. Capacité à concevoir des solutions efficaces. Expérience en design thinking et brainstorming créatif. Aptitude à sortir des sentiers battus pour proposer des solutions originales. Passion pour l'innovation technologique et l'amélioration continue.</p>
</div>
<div class="project-card">
<h3 data-translate="organization">Organisation</h3>
<p data-translate="organization-desc">Excellence dans la gestion du temps et des priorités. Maîtrise des outils de gestion de projet et de productivité. Capacité à gérer plusieurs projets simultanément. Rigueur dans le suivi des tâches et le respect des délais.</p>
@ -123,7 +119,7 @@
<!-- Pied de page -->
<footer>
<p data-translate="copyright">&copy; 2024 Sasha Lorenc. Tous droits réservés.</p>
<p data-translate="copyright">&copy; 2025 Sasha Lorenc. Tous droits réservés.</p>
<div class="social-links">
<a href="https://www.linkedin.com/in/sasha-lorenc-9a073b278/" target="_blank">LinkedIn</a>
<a href="https://codefirst.iut.uca.fr/git/sasha.lorenc" target="_blank">GitHub</a>

@ -5,8 +5,8 @@
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="Portfolio de Sasha Lorenc - Développeur web passionné par l'innovation et le design">
<title>Accueil - Portfolio de Sasha Lorenc</title>
<link rel="stylesheet" href="../css/accueil_css.css">
<link rel="stylesheet" href="../css/global.css">
<link rel="stylesheet" href="/css/accueil_css.css">
<link rel="stylesheet" href="/css/global.css">
<link rel="preconnect" href="https://fonts.googleapis.com">
</head>
<body>
@ -14,11 +14,11 @@
<nav>
<h1>Sasha Lorenc</h1>
<ul>
<li><a href="accueil.html" data-translate="nav-home" aria-current="page">Accueil</a></li>
<li><a href="about.html" data-translate="nav-about">À propos</a></li>
<li><a href="projet.html" data-translate="nav-projects">Projets</a></li>
<li><a href="skills.html" data-translate="nav-skills">Compétences</a></li>
<li><a href="contacts.html" data-translate="nav-contact">Contact</a></li>
<li><a href="index.html" data-translate="nav-home" aria-current="page">Accueil</a></li>
<li><a href="html/about.html" data-translate="nav-about">À propos</a></li>
<li><a href="html/projet.html" data-translate="nav-projects">Projets</a></li>
<li><a href="html/skills.html" data-translate="nav-skills">Compétences</a></li>
<li><a href="html/contacts.html" data-translate="nav-contact">Contact</a></li>
</ul>
<div class="nav-controls">
<div class="language-selector-container">
@ -47,8 +47,8 @@
<h2 class="animate-text">Sasha Lorenc</h2>
<p class="animate-text-delay" data-translate="hero-subtitle">Développeur Web & Étudiant en BUT Informatique</p>
<div class="hero-buttons">
<a href="projet.html" class="btn primary" data-translate="view-projects">Voir mes projets</a>
<a href="contacts.html" class="btn secondary" data-translate="contact-me">Me contacter</a>
<a href="html/projet.html" class="btn primary" data-translate="view-projects">Voir mes projets</a>
<a href="html/contacts.html" class="btn secondary" data-translate="contact-me">Me contacter</a>
</div>
</div>
<div class="hero-image">
@ -93,7 +93,7 @@
<p data-translate="technologies-mastered">Technologies maîtrisées</p>
</div>
</div>
<a href="skills.html" class="btn" data-translate="view-all-skills">Voir toutes mes compétences</a>
<a href="html/skills.html" class="btn" data-translate="view-all-skills">Voir toutes mes compétences</a>
</section>
<section class="quick-contact">
@ -107,7 +107,7 @@
</main>
<footer>
<p>&copy; 2024 Sasha Lorenc. <span data-translate="rights-reserved">Tous droits réservés.</span></p>
<p>&copy; 2025 Sasha Lorenc. <span data-translate="rights-reserved">Tous droits réservés.</span></p>
<div class="social-links">
<a href="https://www.linkedin.com/in/sasha-lorenc-9a073b278/" target="_blank" rel="noopener" aria-label="LinkedIn">LinkedIn</a>
<a href="https://codefirst.iut.uca.fr/git/sasha.lorenc" target="_blank" rel="noopener" aria-label="GitHub">GitHub</a>

@ -1,46 +1,62 @@
document.addEventListener('DOMContentLoaded', function() {
// Character counter management
// Initialisation d'EmailJS
emailjs.init("pBMgXiG4tpfVkCxhY");
const contactForm = document.getElementById('contactForm');
const messageTextarea = document.getElementById('message');
const charCount = document.getElementById('charCount');
if (messageTextarea && charCount) {
// Fonction pour ajuster automatiquement la hauteur
function autoResize() {
this.style.height = 'auto';
this.style.height = this.scrollHeight + 'px';
}
if (messageTextarea) {
// Définir une hauteur minimale
messageTextarea.style.height = '120px';
// Ajouter les événements pour l'auto-resize
messageTextarea.addEventListener('input', autoResize);
// Gestion du compteur de caractères
messageTextarea.addEventListener('input', function() {
charCount.textContent = this.value.length;
});
}
// Form validation and submission via Email.js
const contactForm = document.getElementById('contactForm');
if (contactForm) {
contactForm.addEventListener('submit', function(e) {
e.preventDefault();
if (this.checkValidity()) {
const submitBtn = this.querySelector('button[type="submit"]');
submitBtn.classList.add('sending');
emailjs.init("pBMgXiG4tpfVkCxhY");
const templateParams = {
name: document.getElementById('name').value,
email: document.getElementById('email').value,
subject: document.getElementById('subject').value,
message: document.getElementById('message').value
};
emailjs.send('service_s1wv65t', 'template_391zlnl', templateParams)
.then(function(response) {
alert('Message sent successfully!');
contactForm.reset();
charCount.textContent = '0';
submitBtn.classList.remove('sending');
}, function(error) {
alert('An error occurred. Please try again.');
submitBtn.classList.remove('sending');
console.error('Error:', error);
});
}
// Afficher l'indicateur de chargement
const submitBtn = this.querySelector('button[type="submit"]');
submitBtn.disabled = true;
submitBtn.innerHTML = '<span class="btn-text">Envoi en cours...</span>';
// Modification des paramètres pour correspondre au template
const templateParams = {
from_name: document.getElementById('name').value,
reply_to: document.getElementById('email').value,
subject: document.getElementById('subject').value,
message: document.getElementById('message').value
};
// Envoi de l'email
emailjs.send('service_bjrqu1q', 'template_391zlnl', templateParams)
.then(function() {
alert('Message envoyé avec succès !');
contactForm.reset();
charCount.textContent = '0';
})
.catch(function(error) {
console.error('Erreur:', error);
alert('Une erreur est survenue. Veuillez réessayer.');
})
.finally(function() {
submitBtn.disabled = false;
submitBtn.innerHTML = '<span class="btn-text">Envoyer</span><span class="btn-icon">📨</span>';
});
});
}
});

@ -44,8 +44,8 @@ const translations = {
"contact-title": "Contactez-moi",
"contact-desc": "N'hésitez pas à me contacter pour toute question ou collaboration. Je serai ravi d'échanger avec vous !",
"name": "Nom",
"name-placeholder": "Votre nom complet",
"email-placeholder": "exemple@email.com",
"name-placeholder": "John Doe",
"email-placeholder": "john.doe@example.com",
"subject": "Sujet",
"select-subject": "Sélectionnez un sujet",
"collaboration": "Proposition de collaboration",
@ -53,7 +53,7 @@ const translations = {
"project-discussion": "Discussion de projet",
"other": "Autre",
"message": "Message",
"message-placeholder": "Votre message ici (10-1000 caractères)",
"message-placeholder": "Je souhaiterais discuter d'une opportunité de collaboration...",
"privacy-policy": "J'accepte que mes données soient utilisées pour être recontacté(e)",
"send": "Envoyer",
@ -110,7 +110,13 @@ const translations = {
"project4-title": "Projet 4 : TaskShade",
"project4-desc": "Une To Do List en ligne permettant d'organiser vos tâches par importance et date d'échéance.",
"view-project": "Voir le projet",
"technologies": "Technologies :"
"technologies": "Technologies :",
"subject-placeholder": "Sélectionnez un sujet",
"subject-collaboration": "Proposition de collaboration",
"subject-job": "Opportunité professionnelle",
"subject-project": "Discussion de projet",
"subject-question": "Question générale",
"subject-other": "Autre",
},
// English translations
@ -158,8 +164,8 @@ const translations = {
"contact-title": "Contact Me",
"contact-desc": "Don't hesitate to contact me for any questions or collaboration. I would be happy to discuss with you!",
"name": "Name",
"name-placeholder": "Your full name",
"email-placeholder": "example@email.com",
"name-placeholder": "John Doe",
"email-placeholder": "john.doe@example.com",
"subject": "Subject",
"select-subject": "Select a subject",
"collaboration": "Collaboration proposal",
@ -167,7 +173,7 @@ const translations = {
"project-discussion": "Project discussion",
"other": "Other",
"message": "Message",
"message-placeholder": "Your message here (10-1000 characters)",
"message-placeholder": "I would like to discuss a collaboration opportunity...",
"privacy-policy": "I agree that my data will be used to be contacted",
"send": "Send",
@ -209,7 +215,7 @@ const translations = {
"problem-solving-desc": "Ability to break down complex problems into manageable elements. Mastery of debugging and optimization techniques. Experience in data analysis for decision making. Ability to anticipate potential problems and implement preventive solutions.",
"adaptability-desc": "Excellent adaptability to technological and organizational changes. Quick learning of new tools and frameworks. Ability to work effectively in multicultural environments. Resilience in stressful situations and tight deadlines.",
"creativity-desc": "Innovative approach to technical problem solving. Ability to design effective solutions. Experience in design thinking and creative brainstorming. Aptitude for thinking outside the box to propose original solutions. Passion for technological innovation and continuous improvement.",
"organization-desc": "Excellence in time and priority management. Mastery of project management and productivity tools. Ability to manage multiple projects simultaneously. Rigorous in task tracking and meeting deadlines.",
"organization-desc": "Excellence in time and priority management. Maestría en herramientas de gestión de proyectos y productividad. Capacidad para administrar varios proyectos simultáneamente. Rigor en el seguimiento de tareas y cumplimiento de plazos.",
"analysis-desc": "Ability to analyze complex situations and draw relevant conclusions. Skills in data analysis and fact-based decision making. Critical and objective approach to problems.",
// Projects page
@ -224,7 +230,13 @@ const translations = {
"project4-title": "Project 4: TaskShade",
"project4-desc": "An online To Do List allowing you to organize your tasks by importance and due date.",
"view-project": "View project",
"technologies": "Technologies:"
"technologies": "Technologies:",
"subject-placeholder": "Select a subject",
"subject-collaboration": "Collaboration proposal",
"subject-job": "Job opportunity",
"subject-project": "Project discussion",
"subject-question": "General question",
"subject-other": "Other",
},
// Spanish translations
@ -272,8 +284,8 @@ const translations = {
"contact-title": "Contactame",
"contact-desc": "No dudes en contactarme para cualquier pregunta o colaboración. ¡Estoy feliz de discutir contigo!",
"name": "Nombre",
"name-placeholder": "Tu nombre completo",
"email-placeholder": "ejemplo@email.com",
"name-placeholder": "John Doe",
"email-placeholder": "john.doe@example.com",
"subject": "Asunto",
"select-subject": "Selecciona un asunto",
"collaboration": "Propuesta de colaboración",
@ -281,7 +293,7 @@ const translations = {
"project-discussion": "Discusión de proyecto",
"other": "Otro",
"message": "Mensaje",
"message-placeholder": "Tu mensaje aquí (10-1000 caracteres)",
"message-placeholder": "Me gustaría discutir una oportunidad de colaboración...",
"privacy-policy": "Acepto que mis datos se utilicen para ser contactado(a)",
"send": "Enviar",
@ -338,6 +350,12 @@ const translations = {
"project4-title": "Proyecto 4: TaskShade",
"project4-desc": "Una lista de tareas en línea para organizar tus tareas por importancia y fecha de vencimiento.",
"view-project": "Ver proyecto",
"technologies": "Tecnologías:"
"technologies": "Tecnologías:",
"subject-placeholder": "Seleccione un tema",
"subject-collaboration": "Propuesta de colaboración",
"subject-job": "Oportunidad laboral",
"subject-project": "Discusión de proyecto",
"subject-question": "Pregunta general",
"subject-other": "Otro",
}
};
Loading…
Cancel
Save