﻿ /*
 *  Copyright (C) 2017 Savoir-faire Linux Inc.
 *
 *  Author: Silbino Gonçalves Matado <silbino.gmatado@savoirfairelinux.com>
 *
 *  This program is free software; you can redistribute it and/or modify
 *  it under the terms of the GNU General Public License as published by
 *  the Free Software Foundation; either version 3 of the License, or
 *  (at your option) any later version.
 *
 *  This program is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU General Public License for more details.
 *
 *  You should have received a copy of the GNU General Public License
 *  along with this program; if not, write to the Free Software
 *  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301 USA.
 */

// Global
"global.homeTabBarTitle" = "Início";
"global.contactRequestsTabBarTitle" = "Invitations";
"global.meTabBarTitle" = "Account";
"global.ok" = "Ok";

// Smartlist
"smartlist.yesterday" = "Yesterday";
"smartlist.results" = "Search Result";
"smartlist.conversations" = "Conversas";
"smartlist.searching" = "Searching...";
"smartlist.noResults" = "No results";
"smartlist.noNetworkConnectivity" = "Sem conexão de rede";
"smartlist.cellularAccess" = "Be sure cellular access is granted in your settings";

// Walkthrough

//Welcome Screen
"welcome.title" = "Welcome to Ring";
"welcome.text" = "Ring is a free and universal communication platform which preserves the users' privacy and freedoms";
"welcome.linkDevice" = "Link this device to an account";
"welcome.createAccount" = "Criar uma conta Ring";

//Creation Profile Screen
"createProfile.skipCreateProfile" = "Skip";
"createProfile.profileCreated" = "Próximo";

//Create Account form
"createAccount.createAccountFormTitle" = "Create your Ring account";
"createAccount.chooseStrongPassword" = "Choose strong password you will remember to protect your Ring account.";
"createAccount.enterNewUsernamePlaceholder" = "Usuário";
"createAccount.newPasswordPlaceholder" = "senha";
"createAccount.repeatPasswordPlaceholder" = "confirm password";
"createAccount.passwordCharactersNumberError" = "6 characters minimum";
"createAccount.passwordNotMatchingError" = "passwords do not match";
"createAccount.lookingForUsernameAvailability" = "looking for username availability";
"createAccount.invalidUsername" = "invalid username";
"createAccount.usernameAlreadyTaken" = "username already taken";
"createAccount.loading" = "Loading";
"createAccount.waitCreateAccountTitle" = "Adding account";

//Link To Account form
"linkToAccount.waitLinkToAccountTitle" = "Account linking";
"linkToAccount.linkButtonTitle" = "Link device";
"linkToAccount.passwordPlaceholder" = "senha";
"linkToAccount.pinPlaceholder" = "PIN";
"linkToAccount.passwordLabel" = "Enter Password";
"linkToAccount.pinLabel" = "Enter PIN";
"linkToAccount.explanationPinMessage" = "To generate the PIN code, go to the account managment settings on device that contain account you want to use. In devices settings Select \"Link another device to this account\". You will get the necessary PIN to complete this form. The PIN is only valid for 10 minutes.";

//Alerts
"alerts.accountCannotBeFoundTitle" = "Can't find account";
"alerts.accountCannotBeFoundMessage" = "Account couldn't be found on the Ring network. Make sure it was exported on Ring from an existing device, and that provided credentials are correct.";
"alerts.accountAddedTitle" = "Account Added";
"alerts.accountNoNetworkTitle" = "Can't connect to the network";
"alerts.accountNoNetworkMessage" = "Could not add account because Ring couldn't connect to the distributed network. Check your device connectivity.";
"alerts.accountDefaultErrorTitle" = "Unknown error";
"alerts.accountDefaultErrorMessage" = "The account couldn't be created.";
"alerts.profileTakePhoto" = "Take photo";
"alerts.profileUploadPhoto" = "Upload photo";
"alerts.profileCancelPhoto" = "Cancel";
"alerts.accountLinkedTitle" = "Linking account";
"alerts.dbFailedTitle" = "An error happned when launching Ring";
"alerts.dbFailedMessage" = "Please close application and try to open it again";
"alerts.confirmBlockContact" = "Are you sure you want to block this contact? The conversation history with this contact will also be deleted permanently.";
"alerts.confirmBlockContactTitle" = "Block Contact";
"alerts.confirmDeleteConversation" = "Are you sure you want to delete this conversation permanently?";
"alerts.confirmDeleteConversationFromContact" = "Are you sure you want to delete the conversation with this contact?";
"alerts.confirmDeleteConversationTitle" = "Delete Conversation";

//Actions
"actions.blockAction" = "Block";
"actions.deleteAction" = "Eliminar";
"actions.cancelAction" = "Cancel";
"alerts.incomingCallAllertTitle" = "Incoming call from ";
"alerts.incomingCallButtonAccept" = "Accept";
"alerts.incomingCallButtonIgnore" = "Ignore";

//Calls
"calls.callItemTitle" = "Chamada";
"calls.unknown" = "Desconhecido";
"calls.incomingCallInfo" = "wants to talk to you";
"calls.calling" = "Calling...";
"calls.callFinished" = "Call finished";

//Account Page
"accountPage.devicesListHeader" = "Devices";
"accountPage.settingsHeader" = "Configurações";
"accountPage.username" = "username:";
"accountPage.usernameNotRegistered" = "username: not registered";
"accountPage.credentialsHeader" = "Account Details";
"accountPage.enableProxy" = "Enable Proxy";
"accountPage.blockedContacts" = "Block List";
"accountPage.unblockContact" = "UNBLOCK";
"accountPage.proxyAddressAlert" = "Provide proxy address";
"accountPage.enableProxy" = "Enable Proxy";
"accountPage.noProxyExplanationLabel" = "Your device won't receive notifications when proxy is disabled";
"accountPage.saveProxyAddress" = "Salvar";
"accountPage.proxyPaceholder" = "Proxy address";
"accountPage.enableNotifications" = "Enable Notifications";
"accountPage.proxyDisabledAlertTitle" = "Proxy Server Disabled";
"accountPage.proxyDisabledAlertBody" = "In oreder to receive notifications, please enable proxy";

//Link New Device
"linkDevice.title" = "Link a new device";
"linkDevice.passwordError" = "The password you entered does not unlock this account";
"linkDevice.networkError" = "A network error occured during the export";
"linkDevice.defaultError" = "An error occured during the export";
"linkDevice.explanationMessage" = "To complete the process, you need to open Ring on the new device and choose the option \"Link this device to an account.\" Your pin is valid for 10 minutes";
"linkDevice.hudMessage" = "Verifying";

//Contact Page
"contactPage.startAudioCall" = "Start Audio Call";
"contactPage.startVideoCall" = "Start Video Call";
"contactPage.sendMessage" = "Send Message";
"contactPage.clearConversation" = "Clear Chat";
"contactPage.blockContact" = "Block Contact";

//DataTransfer
"dataTransfer.readableStatusCreated" = "Initializing…";
"dataTransfer.readableStatusError" = "Erro";
"dataTransfer.readableStatusAwaiting" = "Pending…";
"dataTransfer.readableStatusRefuse" = "Refuse";
"dataTransfer.readableStatusOngoing" = "Transferring";
"dataTransfer.readableStatusCanceled" = "Canceled";
"dataTransfer.readableStatusSuccess" = "Complete";
"dataTransfer.readableStatusAccept" = "Accept";
"dataTransfer.readableStatusCancel" = "Cancel";

