diff --git a/gatsby-config.js b/gatsby-config.js index a7b4974..6958f50 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -32,7 +32,17 @@ module.exports = { resolve: `gatsby-plugin-intl`, options: { path: `${__dirname}/src/intl`, - languages: [`en`, `th`, `it`, `el`, `zh-Hans`, `zh-Hant`], + languages: [ + `el`, + `en`, + `es`, + `it`, + `ru`, + `ta`, + `th`, + `zh-Hans`, + `zh-Hant` + ], defaultLanguage: `en`, redirect: true } diff --git a/src/components/LanguageSwitcher/LanguageSwitcher.tsx b/src/components/LanguageSwitcher/LanguageSwitcher.tsx index 5363c93..33f228c 100644 --- a/src/components/LanguageSwitcher/LanguageSwitcher.tsx +++ b/src/components/LanguageSwitcher/LanguageSwitcher.tsx @@ -3,13 +3,15 @@ import { IntlContextConsumer, changeLocale } from 'gatsby-plugin-intl'; import { Select, Box } from '@chakra-ui/core'; const languageName = { + 'zh-Hans': '🇨🇳 简体中文', + 'zh-Hant': '🇨🇳 中文維基百科', + el: '🇬🇷 Ελληνικά', en: '🇬🇧 English', - th: '🇹🇭 ไทย', + es: '🇪🇸 Español', it: '🇮🇹 Italiano', - // es: '🇪🇸 Español', - el: '🇬🇷 Ελληνικά', - 'zh-Hans': '🇨🇳 简体中文', - 'zh-Hant': '🇨🇳 中文維基百科' + ru: '🇷🇺 русский язык', + ta: '🇱🇰 தமிழ்', + th: '🇹🇭 ไทย' }; const LanguageSwitcher: React.FC = () => { diff --git a/src/intl/en.json b/src/intl/en.json index c0b6607..9e6b036 100644 --- a/src/intl/en.json +++ b/src/intl/en.json @@ -75,7 +75,7 @@ "ContactList.heading": "That's annoying…", "ContactList.msg": "Something went wrong. Maybe try again?", "LogHistory.msg": "Removed entry", - "RiskLevel.heading": "Log more contact to see your Risk level.", + "RiskLevel.heading": "Log more contacts to see your Risk level.", "RiskLevel.cta": "Start Logging", "PrimaryNav.Sign in": "Sign in" } diff --git a/src/intl/es.json b/src/intl/es.json index 84a58d7..a222ea9 100644 --- a/src/intl/es.json +++ b/src/intl/es.json @@ -1,9 +1,9 @@ { "ContactsView.Connections": "Conecciones", - "ContactsView.forgot": "Revisa o quita contactos de tu registro", + "ContactsView.forgot": "Revisa o quita contactos de tu registro. Has olvidado a alguien?", "ContactsView.forgot button": "Registra un contacto", "ContactsView.heading": "Contactos", - "ContactsView.lead": "Esta es la lista de personas que han estado en contacto contigo", + "ContactsView.lead": "Lista de personas con las que has estado en contacto", "ContactsView.Log History": "Historial de registros", "LogContact.keep-up": "Sigue así 💅", "LogView.heading": "Registra un contacto", @@ -11,7 +11,7 @@ "PrimaryNav.Contacts": "Contactos", "PrimaryNav.Donate": "Dona", "PrimaryNav.Log Contact": "Registra un contacto", - "PrimaryNav.Log out": "Cerrar sesión", + "PrimaryNav.Log out": "Cierra tu sesión", "PrimaryNav.Press": "Prensa", "PrimaryNav.Settings": "Preferencias", "PrimaryNav.Share": "Comparte", @@ -22,5 +22,60 @@ "Footer.rights": "© Todos los derechos reservados.", "Footer.cute": "Hecho con 🙏 en casa el {buildTime}.", "LogView.lead": "Registra con quien has estado en contacto", - "LogForm.Entry Date": "Fecha de registro" + "LogForm.Entry Date": "Fecha de registro", + "LogForm.Who did you meet?": "Con quién has estado en contacto?", + "InviteView.Connected": "Conectado", + "InviteView.Connected-Description": "Ya puedes registrar un contacto con {name} 😎", + "InviteView.heading": "Estás invitado/a", + "InviteView.lead": "{name} te ha invitado a Contact Tracing.", + "InviteView.Connect-button": "Conecta", + "InviteView.why-use": "Por qué usar Contact Tracing?", + "InviteView.why-1": "Protege a la gente que amas", + "InviteView.why-2": "Limita la propagación de COVID-19", + "InviteView.why-3": "Ahorra tiempo de rastreo y notifica a tus contactos instantáneamente, con un click.", + "LogForm.cant-find": "No encuentras a quien buscas? Comparte tu Invite link.", + "LogForm.Save": "Guardar", + "LogForm.error-1": "Tu debes haber estado en contacto con al menos una persona.", + "LogForm.error-2": "Requerido", + "ProfileView.lead": "Conecta con más amigos y registra contactos diariamente para obtener datos más precisos.", + "ProfileView.healthStatus.heading": "Estado de salud", + "ProfileView.healthStatus.lead": "Mantén a tus contactos informados de tu estado de salud actual.", + "ProfileView.healthStatus.label": "Mi estado", + "ProfileView.select option": "Selecciona una opción", + "ProfileView.fine": "Bien", + "ProfileView.symptoms": "Con síntomas", + "ProfileView.positive": "Test positivo", + "ProfileView.inQuarantine": "En cuarentena", + "ProfileView.notify": "Notificar", + "ProfileView.whoops": "Ups!", + "ProfileView.recorded": "Tu estado ha sido guardado.", + "ProfileView.recorded2": "Tu contacto será notificado.", + "ProfileView.success": "Estado de salud actualizado recibido", + "Settings.heading": "Preferencias", + "Settings.lead": "Cambia tus preferencias en Contact Tracing.", + "Settings.help": "Esto es público para que otros puedan encontrarte.", + "Settings.Display Name": "Nombre", + "Settings.Notifications Prefs": "Preferencias de notificación", + "Settings.Email": "Email", + "Settings.SMS": "SMS", + "Settings.save": "Guardar", + "Settings.SMS-missing": "El número de SMS no está", + "Settings.SMS-desc": "Tu has elegido SMS como tu medio de notificaciones preferido, sin embargo, áun no tenemos tu número de teléfono.", + "Settings.saved": "Guardado", + "Settings.msg": "Tus preferencias han sido actualizadas.", + "Settings.error": "Esto es molesto", + "Icon.title": "Únete a mi en {siteTitle}, cuidémonos mutuamente", + "ShareView.heading": "Comparte tu perfil", + "ShareView.lead": "Envía este link a tus amigos & familia para conectar.", + "ShareView.copied": "Copiado", + "ShareView.copy": "Copiar", + "ShareView.scan": "O, escanea:", + "SigninView.heading": "Inicia sesión", + "SigninView.lead": "Iniciemos sesión, en tu nueva cuenta gratis.", + "ContactList.heading": "Esto es molesto...", + "ContactList.msg": "Algo salio mal. Y si lo intentas de nuevo?", + "LogHistory.msg": "Registro eliminado", + "RiskLevel.heading": "Registra más contactos para ver tu nivel de riesgo.", + "RiskLevel.cta": "Empieza a registrar contactos", + "PrimaryNav.Sign in": "Inicia sesión" } diff --git a/src/intl/ru.json b/src/intl/ru.json new file mode 100644 index 0000000..37c8e61 --- /dev/null +++ b/src/intl/ru.json @@ -0,0 +1,81 @@ +{ + "ContactsView.Connections": "Связи", + "ContactsView.forgot": "Посмотреть или убрать контакты из журнала. Кого-то забыли?", + "ContactsView.forgot button": "Пометить контакт", + "ContactsView.heading": "Контакты", + "ContactsView.lead": "Cписок людей с кем вы контактировали", + "ContactsView.Log History": "Журнал", + "LogContact.keep-up": "Так держать", + "LogView.heading": "Пометить контакт", + "PrimaryNav.About": "О нас", + "PrimaryNav.Contacts": "Контакты", + "PrimaryNav.Donate": "Пожертвовать", + "PrimaryNav.Log Contact": "Пометить контакт", + "PrimaryNav.Log out": "Выйти", + "PrimaryNav.Press": "Пресса", + "PrimaryNav.Settings": "Настройки", + "PrimaryNav.Share": "Поделиться", + "ProfileView.heading": "Ваш уровень риска", + "Footer.Privacy Policy": "Положение о конфиденциальности", + "Footer.Terms of Service": "Условия использования", + "Footer.Cookie Policy": "Использовании cookies", + "Footer.rights": "Все права защищены", + "Footer.cute": "Сделано с 🙏 из дома в {buildTime}.", + "LogView.lead": "Для получения более точных данных помечайте контакты каждый день", + "LogForm.Entry Date": "Дата контакта", + "LogForm.Who did you meet?": "Кого вы встретили", + "InviteView.Connected": "Связаны", + "InviteView.Connected-Description": "Вы теперь можете пометить контакт используя имя _", + "InviteView.heading": "Вы были приглашены!", + "InviteView.lead": "{name} пригласил вас присоединится с Contact Tracing", + "InviteView.Connect-button": "Связаться", + "InviteView.why-use": "Преимущества использования Content Tracing", + "InviteView.why-1": "Защитите любимых людей", + "InviteView.why-2": "Ограничьте распространение КОВИД-19", + "InviteView.why-3": "Сэкономьте время, и когда надо мгновенно уведомите контакты одним щелчком", + "LogForm.cant-find": "Не можете кого-то найти? Пошлите им свое приглашение _", + "LogForm.Save": "Сохранить", + "LogForm.error-1": "Вы встретили хотя бы одного человека", + "LogForm.error-2": "Обязательное", + "ProfileView.lead": "Подключайте больше друзей и помечайте контакты ежедневно для получения точной статистики", + "ProfileView.healthStatus.heading": "Статус здоровья", + "ProfileView.healthStatus.lead": "Поддерживайте свои контакты в курсе о своем здоровье", + "ProfileView.healthStatus.label": "Мой статус", + "ProfileView.select option": "Выберите опцию", + "ProfileView.fine": "Все нормально", + "ProfileView.symptoms": "Появились симптомы", + "ProfileView.positive": "Результат положительный", + "ProfileView.inQuarantine": "В карантине", + "ProfileView.notify": "Уведомить", + "ProfileView.whoops": "Упс!", + "ProfileView.recorded": "Ваш статус был записан", + "ProfileView.recorded2": "Ваш контакт был уведомлен", + "ProfileView.success": "Получили обновление статуса", + "Settings.heading": "Настройки", + "Settings.lead": "Поменяйте свои настройки в Contact Tracing", + "Settings.help": "Общественная информация чтобы другие люди могли вас найти", + "Settings.Display Name": "отображаемое имя", + "Settings.Notifications Prefs": "Предпочтения уведомлений", + "Settings.Email": "емайл", + "Settings.SMS": "смс", + "Settings.save": "сохранить", + "Settings.SMS-missing": "номер смс отсутствует", + "Settings.SMS-desc": "Вы выбрали смс как предпочтительное средство уведомления, но при этом номер смс не был предоставлен", + "Settings.saved": "Сохранено", + "Settings.msg": "Ваши настройки были обновлены", + "Settings.error": "Это раздражает", + "Icon.title": "Присоединяетесь ко мне Contact Tracing и давайте поможем друг другу остаться в безопасности", + "ShareView.heading": "Поделитесь своим профилем", + "ShareView.lead": "Пошлите эту ссылку своим друзьям и семье", + "ShareView.copied": "Скопировано", + "ShareView.copy": "Скопировать", + "ShareView.scan": "Или отсканировать", + "SigninView.heading": "Зайти", + "SigninView.lead": "Давайте поможем вам зайти в ваш бесплатный аккаунт", + "ContactList.heading": "Это раздражает", + "ContactList.msg": "Что-то пошло не так. Может еще раз попробуем?", + "LogHistory.msg": "Данное убрано", + "RiskLevel.heading": "Добавьте еще контакт чтобы увидеть ваш уровень риска", + "RiskLevel.cta": "Начать помечать", + "PrimaryNav.Sign in": "Зайти" +} diff --git a/src/intl/ta.json b/src/intl/ta.json new file mode 100644 index 0000000..335e8ab --- /dev/null +++ b/src/intl/ta.json @@ -0,0 +1,81 @@ +{ + "ContactsView.Connections": "இணைப்புகள்", + "ContactsView.forgot": "சந்திப்பு பதிவில் இருக்கும் தொடர்புகளை பார்க்க அல்லது நீக்க", + "ContactsView.forgot button": "சந்திப்பு விபரங்களை பதிய", + "ContactsView.heading": "தொடர்புகள்", + "ContactsView.lead": "தொடர்பில் உள்ளவர்கள்", + "ContactsView.Log History": "முந்தைய பதிவுகள்", + "LogContact.keep-up": "நற்செயல். பாராட்டுக்கள்!", + "LogView.heading": "தொடர்புகள்", + "PrimaryNav.About": "செயலி பற்றி", + "PrimaryNav.Contacts": "தொடர்புகள்", + "PrimaryNav.Donate": "நன்கொடை", + "PrimaryNav.Log Contact": "சந்திப்பு விபரங்களை பதிய", + "PrimaryNav.Log out": "வெளியேறு", + "PrimaryNav.Press": "அழுத்து", + "PrimaryNav.Settings": "செயலி அமைப்புகள்", + "PrimaryNav.Share": "பகிர்", + "ProfileView.heading": "உங்கள் நோய்தொற்று ஆபத்து குறியீடு", + "Footer.Privacy Policy": "தனியுரிமைக் கொள்கை", + "Footer.Terms of Service": "சேவை விதிமுறைகள்", + "Footer.Cookie Policy": "Cookie கொள்கை", + "Footer.rights": "© All Rights Reserved.", + "Footer.cute": "Made with 🙏 at home on {buildTime}.", + "LogView.lead": "சமீபத்தில் சந்தித்த நபர்களை பதிவு செய்யவும்", + "LogForm.Entry Date": "சந்தித்த நாள்", + "LogForm.Who did you meet?": "நீங்கள் யாரைச் சந்தித்தீர்கள்?", + "InviteView.Connected": "இணைக்கப்பட்டுள்ளது", + "InviteView.Connected-Description": "இப்போது {name} பெயரில் நீங்கள் சந்தித்த மற்றும் சந்திக்கும் நபர்களின் விவரங்களைப் பதிவு செய்யலாம்.", + "InviteView.heading": "உங்களுக்கு அழைப்பு விடுக்கப்பட்டுள்ளது", + "InviteView.lead": "{name} உங்களை Contact Tracing செயலியில் இணைய அழைப்பு விடுத்திருக்கிறார்.", + "InviteView.Connect-button": "இணைக்கவும்", + "InviteView.why-use": "இந்த செயலியை ஏன் உபயோகிக்க வேண்டும்?", + "InviteView.why-1": "உங்கள் சுற்றத்தையும் நட்புகளையும் பாதுகாத்திடுங்கள்", + "InviteView.why-2": "COVID-19 கிருமித் தொற்றை தடுத்திடுங்கள்", + "InviteView.why-3": "தேவைப்படுமாயின், நீங்கள் சந்தித்த மற்றும் தொடர்பு கொண்ட நபர்களுக்கு எளிதாக தகவல்களை தெரிவிக்க, சிறந்த எளிய முறை", + "LogForm.cant-find": "நீங்கள் இணைக்க விரும்பும் நபர் இதில் இல்லையா?  அழைப்பு விடுக்க ", + "LogForm.Save": "சேமி", + "LogForm.error-1": "நீங்கள் ஒருவரையாவது சந்தித்திருக்க வேண்டும்", + "LogForm.error-2": "தேவை", + "ProfileView.lead": "பிற நண்பர்களை இந்தச் செயலிக்கு அழைத்தும் நீங்கள் சந்தித்தவர்களைப் பற்றிய தகவல்களை பகிர்ந்து கொண்டும், நோய் தொற்று பற்றிய தெளிவான தகவல்களை உங்களுக்கு அளிக்க உதவுங்கள்.", + "ProfileView.healthStatus.heading": "ஆரோக்கிய நிலை", + "ProfileView.healthStatus.lead": "உங்கள் தற்போதைய நிலையினை உங்களிடம் தொடர்புடையவர்களுடன் பகிர்ந்து கொள்ளுங்கள்", + "ProfileView.healthStatus.label": "என் நிலை", + "ProfileView.select option": "ஒன்றைத் தேர்ந்தெடுங்கள்", + "ProfileView.fine": "முற்றிலும் ஆரோக்கியமாக இருக்கிறேன்", + "ProfileView.symptoms": "சில நோய் அறிகுறிகள் இருக்கின்றன", + "ProfileView.positive": "நோய் தொற்று உறுதிப் படுத்தப்பட்டுள்ளேன்", + "ProfileView.inQuarantine": "தனிமைப்படுத்தப்பட்டு உள்ளேன்", + "ProfileView.notify": "அறிவிக்கவும்", + "ProfileView.whoops": "அச்சச்சோ!", + "ProfileView.recorded": "உங்கள் நிலை பற்றிய விபரங்கள் பதிவு செய்யப்பட்டது", + "ProfileView.recorded2": "உங்கள் தொடர்புகளுக்கு இந்தக் தகவல் பகிரப்பட்டது.", + "ProfileView.success": "நிலை புதுப்பிக்கப்பட்டது", + "Settings.heading": "செயலி அமைப்புகள்", + "Settings.lead": "இந்த செயலியில் உங்கள் முன்னுரிமை விபரங்களை மாற்றவும்.", + "Settings.help": "இந்த விபரங்கள் பொதுவெளியில் இருக்கும். அதன் வழியே பிறர் உங்களை கண்டடைய முடியும்.", + "Settings.Display Name": "காட்சிக்குரியதான பெயர்", + "Settings.Notifications Prefs": "அறிவிப்பு முன்னுரிமை", + "Settings.Email": "மின்னஞ்சல்", + "Settings.SMS": "குறுஞ்செய்தி", + "Settings.save": "சேமி", + "Settings.SMS-missing": "குறுஞ்செய்தி அனுப்ப வேண்டிய அலைபேசி எண் சேமிக்கப்படவில்லை", + "Settings.SMS-desc": "நீங்கள் குறுஞ்செய்தி பெற விருப்பம் தெரிவித்திருக்கிறீர்கள். ஆனால், குறுஞ்செய்தி அனுப்ப வேண்டிய அலைபேசி எண் சேமிக்கப்படவில்லை", + "Settings.saved": "சேமிக்கப்பட்டது", + "Settings.msg": "உங்கள் அமைப்பு மாற்றங்கள் புதுப்பிக்கப்பட்டது", + "Settings.error": "இது எரிச்சலூட்டுகிறது", + "Icon.title": "{SiteTitle} இல் இணைய அழைக்கிறேன். இதன் மூலம் நம் பாதுகாப்பை உறுதி செய்து கொள்வோம்.", + "ShareView.heading": "சுயவிவரத்தைப் பகிர்ந்து கொள்ளுங்கள்", + "ShareView.lead": "இந்த சுட்டியை உங்கள் நண்பர்களுக்கும் குடும்பத்தினருக்கும் அனுப்புங்கள்", + "ShareView.copied": "பிரதி எடுக்கப்பட்டது", + "ShareView.copy": "பிரதி எடுக்க", + "ShareView.scan": "புகைப்பட கருவி வழியாகப் பார்க்கவும்", + "SigninView.heading": "உள்நுழைவு", + "SigninView.lead": "இதோ இப்போது உங்களின் இலவச கணக்கிற்கு இணைக்கிறோம்", + "ContactList.heading": "இது எரிச்சலூட்டுகிறது", + "ContactList.msg": "ஒரு சிறு தொழில்நுட்ப கோளாறு. மீண்டும் முயற்சி செய்யலாமே?", + "LogHistory.msg": "நீக்கப்பட்ட பதிவு ", + "RiskLevel.heading": "உங்கள் பிற சந்திப்புகளை பதிந்து நோய் தொற்று ஆபத்து நிலையை அறிந்து கொள்ளுங்கள். ", + "RiskLevel.cta": "பதிவை தொடங்கவும்", + "PrimaryNav.Sign in": "உள்நுழைவு" +}