mirror of
https://github.com/lukevella/rallly.git
synced 2025-06-20 19:37:09 +02:00
Add pt and ko locales (#288)
This commit is contained in:
parent
f21eaa92cf
commit
4176d8e1a6
13 changed files with 416 additions and 2 deletions
|
@ -3,7 +3,7 @@ const path = require("path");
|
||||||
module.exports = {
|
module.exports = {
|
||||||
i18n: {
|
i18n: {
|
||||||
defaultLocale: "en",
|
defaultLocale: "en",
|
||||||
locales: ["en", "es", "de", "fr", "it", "sv", "pt-BR"],
|
locales: ["en", "es", "de", "fr", "it", "ko", "sv", "pt", "pt-BR"],
|
||||||
localePath: path.resolve("./public/locales"),
|
localePath: path.resolve("./public/locales"),
|
||||||
reloadOnPrerender: process.env.NODE_ENV === "development",
|
reloadOnPrerender: process.env.NODE_ENV === "development",
|
||||||
},
|
},
|
||||||
|
|
|
@ -9,8 +9,10 @@
|
||||||
"german": "German",
|
"german": "German",
|
||||||
"home": "Home",
|
"home": "Home",
|
||||||
"italian": "Italian",
|
"italian": "Italian",
|
||||||
|
"korean": "Korean",
|
||||||
"language": "Language",
|
"language": "Language",
|
||||||
"links": "Links",
|
"links": "Links",
|
||||||
|
"portuguese": "Portuguese",
|
||||||
"portugueseBr": "Portuguese (Brazil)",
|
"portugueseBr": "Portuguese (Brazil)",
|
||||||
"poweredBy": "Powered by",
|
"poweredBy": "Powered by",
|
||||||
"privacyPolicy": "Privacy Policy",
|
"privacyPolicy": "Privacy Policy",
|
||||||
|
|
131
public/locales/ko/app.json
Normal file
131
public/locales/ko/app.json
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
{
|
||||||
|
"12h": "12시간제",
|
||||||
|
"24h": "24시간제",
|
||||||
|
"addParticipant": "참여자 추가하기",
|
||||||
|
"addTimeOption": "시간 선택지 추가하기",
|
||||||
|
"alreadyVoted": "이미 투표하였습니다",
|
||||||
|
"applyToAllDates": "모든 선택지에 투표하기",
|
||||||
|
"areYouSure": "확실합니까?",
|
||||||
|
"back": "뒤로가기",
|
||||||
|
"calendarHelp": "옵션이 없는 투표는 생성할 수 없습니다. 최소 1개의 옵션을 추가해주세요.",
|
||||||
|
"calendarHelpTitle": "잊으신게 있나요?",
|
||||||
|
"cancel": "취소하기",
|
||||||
|
"comment": "댓글 남기기",
|
||||||
|
"commentPlaceholder": "이 투표에 댓글 남기기 (모두에게 공개됩니다)",
|
||||||
|
"comments": "댓글들",
|
||||||
|
"continue": "계속하기",
|
||||||
|
"copied": "복사됨",
|
||||||
|
"copyLink": "링크 복사하기",
|
||||||
|
"createdBy": "<b>{{name}}</b> 에 의해 생성됨",
|
||||||
|
"createPoll": "투표 만들기",
|
||||||
|
"creatingDemo": "데모 투표 만드는 중...",
|
||||||
|
"delete": "삭제하기",
|
||||||
|
"deleteComment": "댓글 삭제하기",
|
||||||
|
"deleteDate": "날짜 삭제하기",
|
||||||
|
"deletedPoll": "삭제된 투표",
|
||||||
|
"deletedPollInfo": "이 투표는 더 이상 존재하지 않습니다.",
|
||||||
|
"deletePoll": "투표 삭제하기",
|
||||||
|
"deletePollDescription": "이 투표의 모든 데이터가 삭제됩니다. 계속하시려면 <s>“{{confirmText}}”</s> 를 아래 입력창에 입력해주세요.",
|
||||||
|
"deletingOptionsWarning": "해당 옵션과 참여자들의 투표 내역을 모두 삭제합니다.",
|
||||||
|
"demoPollNotice": "데모 투표는 하루 뒤에 자동으로 삭제됩니다.",
|
||||||
|
"description": "설명",
|
||||||
|
"descriptionPlaceholder": "안녕하세요, 당신이 원하는 날짜를 선택해주세요.",
|
||||||
|
"donate": "후원하기",
|
||||||
|
"edit": "수정하기",
|
||||||
|
"editDetails": "세부정보 수정하기",
|
||||||
|
"editOptions": "옵션 수정하기",
|
||||||
|
"email": "이메일",
|
||||||
|
"emailPlaceholder": "jessie.smith@email.com",
|
||||||
|
"endingGuestSessionNotice": "비회원 세션이 종료되면 되돌릴 수 없으며 이 세션에서 생성한 투표나 댓글들을 더 이상 수정할 수 없습니다.",
|
||||||
|
"endSession": "세션 종료하기",
|
||||||
|
"errorCreate": "투표 만들기에 문제가 생겼어요! 나중에 고칠 수 있도록 준비 중 입니다~!",
|
||||||
|
"exportToCsv": "CSV로 내보내기",
|
||||||
|
"finish": "완료하기",
|
||||||
|
"forgetMe": "세션 지우기",
|
||||||
|
"goToAdmin": "관리페이지로 이동하기",
|
||||||
|
"guest": "비회원",
|
||||||
|
"guestSessionNotice": "당신은 비회원 세션을 이용하고 있으며, 자신의 투표를 나중에 수정할 수 있습니다.",
|
||||||
|
"guestSessionReadMore": "비회원 세션에 대해 더 알아보기",
|
||||||
|
"hide": "숨기기",
|
||||||
|
"ifNeedBe": "꼭 필요하다면",
|
||||||
|
"linkHasExpired": "링크가 만료되었거나 더 이상 유효하지 않습니다.",
|
||||||
|
"loading": "불러오는 중...",
|
||||||
|
"loadingParticipants": "참여자를 불러오는 중...",
|
||||||
|
"location": "장소",
|
||||||
|
"locationPlaceholder": "Jeo의 카페",
|
||||||
|
"lockPoll": "투표 잠그기",
|
||||||
|
"login": "로그인",
|
||||||
|
"loginCheckInbox": "메일함을 확인해주세요.",
|
||||||
|
"loginMagicLinkSent": "매직링크가 다음으로 전송되었습니다.",
|
||||||
|
"loginSendMagicLink": "매징링크 전송하기",
|
||||||
|
"loginViaMagicLink": "매직링크로 로그인하기",
|
||||||
|
"loginViaMagicLinkDescription": "로그인 할 수 있는 매직링크가 담긴 이메일을 전송했습니다.",
|
||||||
|
"loginWithValidEmail": "올바른 이메일 주소를 입력해주세요.",
|
||||||
|
"logout": "로그아웃",
|
||||||
|
"manage": "관리하기",
|
||||||
|
"menu": "메뉴",
|
||||||
|
"mixedOptionsDescription": "한 투표에 날짜와 시간이 동일한 옵션을 추가할 수 없습니다. 어떤 옵션을 유지하시겠습니까?",
|
||||||
|
"mixedOptionsKeepDates": "날짜 옵션 유지하기",
|
||||||
|
"mixedOptionsKeepTimes": "시간 옵션 유지하기",
|
||||||
|
"mixedOptionsTitle": "잠시 기다려주세요… 🤔",
|
||||||
|
"monday": "월요일",
|
||||||
|
"monthView": "월간 보기",
|
||||||
|
"name": "이름",
|
||||||
|
"namePlaceholder": "홍길동",
|
||||||
|
"new": "신규",
|
||||||
|
"newPoll": "새 투표",
|
||||||
|
"next": "다음",
|
||||||
|
"nextMonth": "다음달",
|
||||||
|
"no": "안돼요",
|
||||||
|
"noDatesSelected": "날짜가 선택되지 않았습니다.",
|
||||||
|
"notificationsDisabled": "알림이 비활성화 되었습니다.",
|
||||||
|
"notificationsOff": "알림 꺼짐",
|
||||||
|
"notificationsOn": "알림 켜짐",
|
||||||
|
"notificationsOnDescription": "이 투표에 업데이트가 생기면 <b>{{email}}</b> 으로 메일이 전송됩니다.",
|
||||||
|
"notificationsVerifyEmail": "알림을 활성화하려면 이메일을 인증해주세요.",
|
||||||
|
"noVotes": "이 옵션은 아무도 선택하지 않았습니다.",
|
||||||
|
"ok": "확인",
|
||||||
|
"options": "옵션들",
|
||||||
|
"participant": "참여자",
|
||||||
|
"participantCount_other": "{{count}} 명의 참여자",
|
||||||
|
"participantCount": "{{count}} 명의 참여자",
|
||||||
|
"pollHasBeenLocked": "이 투표는 잠겼습니다.",
|
||||||
|
"pollHasBeenVerified": "투표가 확인되었습니다.",
|
||||||
|
"pollOwnerNotice": "안녕하세요 {{name}}, 이 투표의 생성자시군요.",
|
||||||
|
"pollsEmpty": "생성된 투표가 없습니다.",
|
||||||
|
"possibleAnswers": "가능한 답변들",
|
||||||
|
"preferences": "설정",
|
||||||
|
"previousMonth": "지난달",
|
||||||
|
"profileLogin": "프로필 - 로그인",
|
||||||
|
"profileUser": "프로필 - {{username}}",
|
||||||
|
"requiredNameError": "이름을 입력해주세요.",
|
||||||
|
"save": "저장하기",
|
||||||
|
"saveInstruction": "가능여부를 선택한 후 <b>{{save}}</b> 를 클릭하세요",
|
||||||
|
"share": "공유하기",
|
||||||
|
"shareDescription": "이 링크를 <b>참여자들</b>에게 전달하여 투표하도록 하세요",
|
||||||
|
"shareLink": "링크 공유하기",
|
||||||
|
"specifyTimes": "시간 지정하기",
|
||||||
|
"specifyTimesDescription": "각 날짜별로 시작시간과 종료시간을 추가합니다.",
|
||||||
|
"stepSummary": "{{total}} 단계 중 {{current}}",
|
||||||
|
"sunday": "일요일",
|
||||||
|
"timeAndDate": "날짜 & 시간",
|
||||||
|
"timeFormat": "시간 형식:",
|
||||||
|
"timeZone": "표준시간대:",
|
||||||
|
"title": "제목",
|
||||||
|
"titlePlaceholder": "월간 회의",
|
||||||
|
"today": "오늘",
|
||||||
|
"unlockPoll": "투표 잠금 해제",
|
||||||
|
"unverifiedMessage": "인증 링크가 담긴 이메일이 <b>{{email}}</b> 로 전송되었습니다.",
|
||||||
|
"user": "사용자",
|
||||||
|
"vote": "투표",
|
||||||
|
"voteCount_other": "{{count}} 표",
|
||||||
|
"voteCount": "{{count}} 표",
|
||||||
|
"weekStartsOn": "한 주의 시작",
|
||||||
|
"weekView": "주간 보기",
|
||||||
|
"whatsThis": "이게 뭐죠?",
|
||||||
|
"yes": "가능해요",
|
||||||
|
"you": "당신",
|
||||||
|
"yourDetails": "세부 정보",
|
||||||
|
"yourName": "이름",
|
||||||
|
"yourPolls": "당신의 투표"
|
||||||
|
}
|
22
public/locales/ko/common.json
Normal file
22
public/locales/ko/common.json
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"blog": "블로그",
|
||||||
|
"discussions": "토론",
|
||||||
|
"donate": "후원",
|
||||||
|
"english": "영어",
|
||||||
|
"footerCredit": "만든이 <a>@imlukevella</a>",
|
||||||
|
"footerSponsor": "이 프로젝트는 유저 후원으로 진행됩니다. <a>후원하기</a> 를 통해 프로젝트를 지원해주세요!",
|
||||||
|
"french": "프랑스어",
|
||||||
|
"german": "독일어",
|
||||||
|
"home": "홈페이지",
|
||||||
|
"italian": "이탈리아어",
|
||||||
|
"language": "언어",
|
||||||
|
"links": "링크",
|
||||||
|
"portugueseBr": "포르투갈어 (브라질)",
|
||||||
|
"poweredBy": "기술 지원",
|
||||||
|
"privacyPolicy": "개인정보 취급방침",
|
||||||
|
"spanish": "스페인어",
|
||||||
|
"starOnGithub": "Github에서 좋아요 누르기",
|
||||||
|
"support": "사용자가이드",
|
||||||
|
"swedish": "스웨덴어",
|
||||||
|
"volunteerTranslator": "이 페이지 번역 돕기"
|
||||||
|
}
|
6
public/locales/ko/errors.json
Normal file
6
public/locales/ko/errors.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"notFoundTitle": "404 찾을 수 없음",
|
||||||
|
"notFoundDescription": "요청한 페이지를 찾을 수 없습니다.",
|
||||||
|
"goToHome": "홈으로 돌아가기",
|
||||||
|
"startChat": "채팅 시작하기"
|
||||||
|
}
|
36
public/locales/ko/homepage.json
Normal file
36
public/locales/ko/homepage.json
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"3Ls": "맞아요 - <e>L</e> 이 3개에요!",
|
||||||
|
"adFree": "광고 없음",
|
||||||
|
"adFreeDescription": "Ad-blocker 는 신경쓰지 마세요 - 여기서는 필요 없을겁니다.",
|
||||||
|
"comments": "댓글들",
|
||||||
|
"commentsDescription": "참여자들은 투표에 댓글을 남길 수 있고 댓글들은 모두에게 공개될 것입니다.",
|
||||||
|
"features": "특징",
|
||||||
|
"featuresSubheading": "똑똑하게 계획하기",
|
||||||
|
"follow": "팔로우하기",
|
||||||
|
"getStarted": "시작하기",
|
||||||
|
"heroSubText": "빈 틈 없는 최적의 날짜를 찾아보세요",
|
||||||
|
"heroText": "쉽게 <br/><s>단체 미팅</s><br /> 시간 정하기",
|
||||||
|
"links": "링크",
|
||||||
|
"liveDemo": "라이브 데모",
|
||||||
|
"metaDescription": "최적의 시간이나 날짜를 찾기 위해 투표를 생성하세요. Doodle의 무료 대체제입니다.",
|
||||||
|
"metaTitle": "Rallly - 단체 미팅 시간 정하기",
|
||||||
|
"mobileFriendly": "모바일 지원",
|
||||||
|
"mobileFriendlyDescription": "모바일에서 사용가능하며 참여자들은 어디서든 응답할 수 있습니다.",
|
||||||
|
"new": "신규",
|
||||||
|
"noLoginRequired": "로그인은 필요하지 않습니다.",
|
||||||
|
"noLoginRequiredDescription": "투표를 생성하거나 투표하기 위해 로그인 할 필요가 없습니다.",
|
||||||
|
"notifications": "알림",
|
||||||
|
"notificationsDescription": "참여자들의 응답을 지켜봅니다. 당신의 투표에서 일어나는 모든일들에 대해 알림을 받으세요.",
|
||||||
|
"openSource": "오픈 소스",
|
||||||
|
"openSourceDescription": "소스코드는 완전히 오픈소스이며. <a>Github</a> 에서 이용 가능합니다.",
|
||||||
|
"participant": "참여자",
|
||||||
|
"participantCount_other": "{{count}} 명",
|
||||||
|
"participantCount": "{{count}} 명",
|
||||||
|
"perfect": "완벽해요!",
|
||||||
|
"principles": "원칙",
|
||||||
|
"principlesSubheading": "우리는 다릅니다",
|
||||||
|
"selfHostable": "자체 운영 가능",
|
||||||
|
"selfHostableDescription": "데이터 전체를 제어하기 위해 자신만의 서버를 구축할 수 있습니다.",
|
||||||
|
"timeSlots": "시간대 설정",
|
||||||
|
"timeSlotsDescription": "투표를 생성할 때 시작 시간과 끝 시간을 각 날짜별로 설정할 수 있습니다. 각 시간은 참여자들의 표준시간대에 맞춰 자동으로 조절되거나 표준시간대를 완전히 무시하도록 설정할 수 있습니다."
|
||||||
|
}
|
131
public/locales/pt/app.json
Normal file
131
public/locales/pt/app.json
Normal file
|
@ -0,0 +1,131 @@
|
||||||
|
{
|
||||||
|
"12h": "12 Horas",
|
||||||
|
"24h": "24 Horas",
|
||||||
|
"addParticipant": "Adicionar participante",
|
||||||
|
"addTimeOption": "Adicionar opção de horário",
|
||||||
|
"alreadyVoted": "Já votou nesta sondagem",
|
||||||
|
"applyToAllDates": "Aplicar a todas as datas",
|
||||||
|
"areYouSure": "Tem a certeza?",
|
||||||
|
"back": "Voltar",
|
||||||
|
"calendarHelp": "Não é possível criar uma sondagem sem opções. Adicionar no mínimo uma opção para continuar.",
|
||||||
|
"calendarHelpTitle": "Esqueceste algo?",
|
||||||
|
"cancel": "Cancelar",
|
||||||
|
"comment": "Comentar",
|
||||||
|
"commentPlaceholder": "Deixa um comentário nesta sondagem (visível para todos)",
|
||||||
|
"comments": "Comentários",
|
||||||
|
"continue": "Continuar",
|
||||||
|
"copied": "Copiado",
|
||||||
|
"copyLink": "Copiar link",
|
||||||
|
"createdBy": "por <b>{{name}}</b>",
|
||||||
|
"createPoll": "Criar sondagem",
|
||||||
|
"creatingDemo": "A criar sondagem de demonstração…",
|
||||||
|
"delete": "Eliminar",
|
||||||
|
"deleteComment": "Apagar comentário",
|
||||||
|
"deleteDate": "Apagar data",
|
||||||
|
"deletedPoll": "Sondagem eliminada",
|
||||||
|
"deletedPollInfo": "Esta sondagem já não existe.",
|
||||||
|
"deletePoll": "Apagar sondagem",
|
||||||
|
"deletePollDescription": "Todos os dados relacionados a esta sondagem serão apagados. Para confirmar, digite <s>“{{confirmText}}</s> na entrada abaixo:",
|
||||||
|
"deletingOptionsWarning": "Está a apagar opções em que os participantes já votaram. Os votos deles serão também ser apagados.",
|
||||||
|
"demoPollNotice": "As sondagens de demonstração são excluídas automaticamente após 1 dia",
|
||||||
|
"description": "Descrição",
|
||||||
|
"descriptionPlaceholder": "Olá, por favor escolha as datas mais convenientes!",
|
||||||
|
"donate": "Doar",
|
||||||
|
"edit": "Editar",
|
||||||
|
"editDetails": "Editar detalhes",
|
||||||
|
"editOptions": "Editar opções",
|
||||||
|
"email": "E-mail",
|
||||||
|
"emailPlaceholder": "antonio.silva@email.pt",
|
||||||
|
"endingGuestSessionNotice": "Uma vez que uma sessão de convidado termine, ela não poderá ser retomada. Não poderá editar nenhum voto ou comentário que tenha feito nesta sessão.",
|
||||||
|
"endSession": "Terminar sessão",
|
||||||
|
"errorCreate": "Uh oh! Houve um problema ao criar a sondagem. O erro foi registado e tentaremos corrigi-lo.",
|
||||||
|
"exportToCsv": "Exportar para CSV",
|
||||||
|
"finish": "Concluir",
|
||||||
|
"forgetMe": "Esquecer-me",
|
||||||
|
"goToAdmin": "Ir para Administrador",
|
||||||
|
"guest": "Convidado",
|
||||||
|
"guestSessionNotice": "Está a utilizar uma sessão de convidado. Isto permite reconhecê-lo se voltar mais tarde para poder editar os seus votos.",
|
||||||
|
"guestSessionReadMore": "Leia mais sobre as sessões de convidados.",
|
||||||
|
"hide": "Esconder",
|
||||||
|
"ifNeedBe": "Se necessário",
|
||||||
|
"linkHasExpired": "O seu link expirou ou já não é válido",
|
||||||
|
"loading": "A carregar…",
|
||||||
|
"loadingParticipants": "A carregar participantes…",
|
||||||
|
"location": "Local",
|
||||||
|
"locationPlaceholder": "Café do Júlio",
|
||||||
|
"lockPoll": "Bloquear sondagem",
|
||||||
|
"login": "Iniciar sessão",
|
||||||
|
"loginCheckInbox": "Por favor, consulte a sua caixa de email.",
|
||||||
|
"loginMagicLinkSent": "Um link mágico foi enviado para:",
|
||||||
|
"loginSendMagicLink": "Envie-me um link mágico",
|
||||||
|
"loginViaMagicLink": "Iniciar sessão via link mágico",
|
||||||
|
"loginViaMagicLinkDescription": "Enviaremos um e-mail com um link mágico que pode usar para iniciar sessão.",
|
||||||
|
"loginWithValidEmail": "Por favor, introduza um endereço de email válido",
|
||||||
|
"logout": "Terminar sessão",
|
||||||
|
"manage": "Gerir",
|
||||||
|
"menu": "Menu",
|
||||||
|
"mixedOptionsDescription": "Não pode ter opções de data e hora iguais na mesma sondagem. Qual gostaria de manter?",
|
||||||
|
"mixedOptionsKeepDates": "Manter opções de data",
|
||||||
|
"mixedOptionsKeepTimes": "Manter opções de hora",
|
||||||
|
"mixedOptionsTitle": "Aguarde um minuto…🤔",
|
||||||
|
"monday": "Segunda-feira",
|
||||||
|
"monthView": "Vista mensal",
|
||||||
|
"name": "Nome",
|
||||||
|
"namePlaceholder": "António Silva",
|
||||||
|
"new": "Novo",
|
||||||
|
"newPoll": "Nova sondagem",
|
||||||
|
"next": "Seguinte",
|
||||||
|
"nextMonth": "Mês seguinte",
|
||||||
|
"no": "Não",
|
||||||
|
"noDatesSelected": "Nenhuma data selecionada",
|
||||||
|
"notificationsDisabled": "As notificações foram desativadas",
|
||||||
|
"notificationsOff": "Notificações desativadas",
|
||||||
|
"notificationsOn": "Notificações ativadas",
|
||||||
|
"notificationsOnDescription": "Um e-mail será enviado para <b>{{email}}</b> quando houver atividade nesta sondagem.",
|
||||||
|
"notificationsVerifyEmail": "Precisa verificar o seu e-mail para ativar as notificações",
|
||||||
|
"noVotes": "Ninguém votou nesta opção",
|
||||||
|
"ok": "Ok",
|
||||||
|
"options": "Opções",
|
||||||
|
"participant": "Participante",
|
||||||
|
"participantCount_other": "{{count}} participantes",
|
||||||
|
"participantCount": "{{count}} participante",
|
||||||
|
"pollHasBeenLocked": "Esta sondagem foi bloqueada",
|
||||||
|
"pollHasBeenVerified": "A sondagem foi verificada",
|
||||||
|
"pollOwnerNotice": "Olá {{name}}, parece que é o proprietário desta sondagem.",
|
||||||
|
"pollsEmpty": "Nenhuma sondagem criada",
|
||||||
|
"possibleAnswers": "Possíveis respostas",
|
||||||
|
"preferences": "Preferências",
|
||||||
|
"previousMonth": "Mês anterior",
|
||||||
|
"profileLogin": "Perfil - Iniciar sessão",
|
||||||
|
"profileUser": "Perfil - {{username}}",
|
||||||
|
"requiredNameError": "O nome é obrigatório",
|
||||||
|
"save": "Guardar",
|
||||||
|
"saveInstruction": "Selecione a sua disponibilidade e clique em <b>{{save}}</b>",
|
||||||
|
"share": "Partilhar",
|
||||||
|
"shareDescription": "Dê este link aos seus <b>participantes</b> para permitir que eles votem na sua sondagem.",
|
||||||
|
"shareLink": "Partilhar via link",
|
||||||
|
"specifyTimes": "Especificar horas",
|
||||||
|
"specifyTimesDescription": "Incluir os horários de início e fim para cada opção",
|
||||||
|
"stepSummary": "Passo {{current}} de {{total}}",
|
||||||
|
"sunday": "Domingo",
|
||||||
|
"timeAndDate": "Data e hora",
|
||||||
|
"timeFormat": "Formato da hora:",
|
||||||
|
"timeZone": "Fuso horário:",
|
||||||
|
"title": "Título",
|
||||||
|
"titlePlaceholder": "Encontro Mensal",
|
||||||
|
"today": "Hoje",
|
||||||
|
"unlockPoll": "Desbloquear sondagem",
|
||||||
|
"unverifiedMessage": "Um e-mail foi enviado para <b>{{email}}</b> com um link para verificar o endereço de e-mail.",
|
||||||
|
"user": "Utilizador",
|
||||||
|
"vote": "Votação",
|
||||||
|
"voteCount_other": "{{count}} votos",
|
||||||
|
"voteCount": "{{count}} voto",
|
||||||
|
"weekStartsOn": "A semana começa em",
|
||||||
|
"weekView": "Vista semanal",
|
||||||
|
"whatsThis": "O que é isto?",
|
||||||
|
"yes": "Sim",
|
||||||
|
"you": "Tu",
|
||||||
|
"yourDetails": "Os seus detalhes",
|
||||||
|
"yourName": "O seu nome…",
|
||||||
|
"yourPolls": "As suas sondagens"
|
||||||
|
}
|
22
public/locales/pt/common.json
Normal file
22
public/locales/pt/common.json
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
{
|
||||||
|
"blog": "Blogue",
|
||||||
|
"discussions": "Discussões",
|
||||||
|
"donate": "Doar",
|
||||||
|
"english": "Inglês",
|
||||||
|
"footerCredit": "Criado por <a>@imlukevella</a>",
|
||||||
|
"footerSponsor": "Este projeto é financiado pelos utilizadores. Por favor, considere apoiá-lo <a>doando</a>.",
|
||||||
|
"french": "Francês",
|
||||||
|
"german": "Alemão",
|
||||||
|
"home": "Início",
|
||||||
|
"italian": "Italiano",
|
||||||
|
"language": "Idioma",
|
||||||
|
"links": "Links",
|
||||||
|
"portugueseBr": "Português (Brasil)",
|
||||||
|
"poweredBy": "Powered by",
|
||||||
|
"privacyPolicy": "Política de Privacidade",
|
||||||
|
"spanish": "Espanhol",
|
||||||
|
"starOnGithub": "Adicione uma estrela no GitHub",
|
||||||
|
"support": "Ajuda",
|
||||||
|
"swedish": "Sueco",
|
||||||
|
"volunteerTranslator": "Ajude a traduzir esta página"
|
||||||
|
}
|
6
public/locales/pt/errors.json
Normal file
6
public/locales/pt/errors.json
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
{
|
||||||
|
"notFoundTitle": "404 Página não encontrada",
|
||||||
|
"notFoundDescription": "Não conseguimos encontrar a página que procuras.",
|
||||||
|
"goToHome": "Ir para a página inicial",
|
||||||
|
"startChat": "Iniciar chat"
|
||||||
|
}
|
36
public/locales/pt/homepage.json
Normal file
36
public/locales/pt/homepage.json
Normal file
|
@ -0,0 +1,36 @@
|
||||||
|
{
|
||||||
|
"3Ls": "Sim—com 3 <e>L</e>s",
|
||||||
|
"adFree": "Sem anúncios",
|
||||||
|
"adFreeDescription": "Pode descansar o seu bloqueador de anúncios — Não vai precisar dele aqui.",
|
||||||
|
"comments": "Comentários",
|
||||||
|
"commentsDescription": "Os participantes podem comentar na sua sondagem e os comentários ficarão visíveis para todos.",
|
||||||
|
"features": "Funcionalidades",
|
||||||
|
"featuresSubheading": "Agendamento, a maneira inteligente",
|
||||||
|
"follow": "Seguir",
|
||||||
|
"getStarted": "Começar",
|
||||||
|
"heroSubText": "Encontre a data certa sem andar às voltas",
|
||||||
|
"heroText": "Agende<br/><s>reuniões de grupo</s><br />com facilidade",
|
||||||
|
"links": "Links",
|
||||||
|
"liveDemo": "Demonstração ao vivo",
|
||||||
|
"metaDescription": "Crie sondagens e vote para encontrar o melhor dia ou hora. Uma alternativa gratuita ao Doodle.",
|
||||||
|
"metaTitle": "Rallly - Agendar reuniões de grupo",
|
||||||
|
"mobileFriendly": "Preparado para dispositivos móveis",
|
||||||
|
"mobileFriendlyDescription": "Funciona muito bem em dispositivos móveis para que os participantes possam responder a sondagens onde estiverem.",
|
||||||
|
"new": "Novo",
|
||||||
|
"noLoginRequired": "Não é necessário iniciar sessão",
|
||||||
|
"noLoginRequiredDescription": "Não precisa de iniciar sessão para criar ou participar numa sondagem",
|
||||||
|
"notifications": "Notificações",
|
||||||
|
"notificationsDescription": "Acompanhe quem respondeu. Seja notificado quando os participantes votarem ou comentarem na sua sondagem.",
|
||||||
|
"openSource": "Código aberto",
|
||||||
|
"openSourceDescription": "Desenvolvido em código aberto e <a>disponível no GitHub</a>.",
|
||||||
|
"participant": "Participante",
|
||||||
|
"participantCount_other": "{{count}} participantes",
|
||||||
|
"participantCount": "{{count}} participante",
|
||||||
|
"perfect": "Perfeito!",
|
||||||
|
"principles": "Princípios",
|
||||||
|
"principlesSubheading": "Não somos como os outros",
|
||||||
|
"selfHostable": "Auto-alojável",
|
||||||
|
"selfHostableDescription": "Execute no seu próprio servidor para ter controlo total dos seus dados",
|
||||||
|
"timeSlots": "Intervalo de tempo",
|
||||||
|
"timeSlotsDescription": "Defina os horários de início e fim individuais para cada opção em sua sondagem. Os horários podem ser automaticamente ajustados ao fuso horário de cada participante ou podem ser definidos para ignorar completamente os fusos horários."
|
||||||
|
}
|
|
@ -23,6 +23,8 @@ export const LanguageSelect: React.VoidFunctionComponent<{
|
||||||
<option value="de">{t("german")}</option>
|
<option value="de">{t("german")}</option>
|
||||||
<option value="fr">{t("french")}</option>
|
<option value="fr">{t("french")}</option>
|
||||||
<option value="it">{t("italian")}</option>
|
<option value="it">{t("italian")}</option>
|
||||||
|
<option value="ko">{t("korean")}</option>
|
||||||
|
<option value="pt">{t("portuguese")}</option>
|
||||||
<option value="pt-BR">{t("portugueseBr")}</option>
|
<option value="pt-BR">{t("portugueseBr")}</option>
|
||||||
<option value="sv">{t("swedish")}</option>
|
<option value="sv">{t("swedish")}</option>
|
||||||
</select>
|
</select>
|
||||||
|
|
|
@ -1,7 +1,17 @@
|
||||||
import languageParser from "accept-language-parser";
|
import languageParser from "accept-language-parser";
|
||||||
import { NextRequest, NextResponse } from "next/server";
|
import { NextRequest, NextResponse } from "next/server";
|
||||||
|
|
||||||
const supportedLocales = ["en", "es", "de", "fr", "it", "sv", "pt-BR"];
|
const supportedLocales = [
|
||||||
|
"en",
|
||||||
|
"es",
|
||||||
|
"de",
|
||||||
|
"fr",
|
||||||
|
"it",
|
||||||
|
"ko",
|
||||||
|
"sv",
|
||||||
|
"pt",
|
||||||
|
"pt-BR",
|
||||||
|
];
|
||||||
|
|
||||||
export function middleware({ headers, cookies, nextUrl }: NextRequest) {
|
export function middleware({ headers, cookies, nextUrl }: NextRequest) {
|
||||||
const newUrl = nextUrl.clone();
|
const newUrl = nextUrl.clone();
|
||||||
|
|
|
@ -55,11 +55,21 @@ const dayjsLocales: Record<
|
||||||
timeFormat: "24h",
|
timeFormat: "24h",
|
||||||
import: () => import("dayjs/locale/sv"),
|
import: () => import("dayjs/locale/sv"),
|
||||||
},
|
},
|
||||||
|
pt: {
|
||||||
|
weekStartsOn: "sunday",
|
||||||
|
timeFormat: "24h",
|
||||||
|
import: () => import("dayjs/locale/pt"),
|
||||||
|
},
|
||||||
"pt-BR": {
|
"pt-BR": {
|
||||||
weekStartsOn: "sunday",
|
weekStartsOn: "sunday",
|
||||||
timeFormat: "24h",
|
timeFormat: "24h",
|
||||||
import: () => import("dayjs/locale/pt-br"),
|
import: () => import("dayjs/locale/pt-br"),
|
||||||
},
|
},
|
||||||
|
ko: {
|
||||||
|
weekStartsOn: "sunday",
|
||||||
|
timeFormat: "12h",
|
||||||
|
import: () => import("dayjs/locale/ko"),
|
||||||
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
dayjs.extend(localizedFormat);
|
dayjs.extend(localizedFormat);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue