1. Frontend
  2. i18n

Configuration

The following configuration is in React, but every frontend has its own i18n.ts configuration file.

react/locale/i18n.ts
import i18n from "i18next";
import { initReactI18next } from "react-i18next";

import en from "./en-US.json";
import es from "./es-MX.json";

i18n.use(initReactI18next).init({
  resources: {
    en: {
      translation: en,
    },
    es: {
      translation: es,
    },
  },
});

const locale = localStorage.getItem("locale") ?? import.meta.env.VITE_REACT_APP_LANGUAGE?.toString();
i18n.changeLanguage(locale);

export default i18n;

Languages

English

{
  "shared": {
    "hi": "Hi",
    "or": "Or",
    "plan": "Plan",
    "you": "You",
    "next": "Next",
    "previous": "Previous",
    "close": "Close",
    "success": "Success",
    "error": "Error",
    "new": "New",
    "name": "Name",
    "description": "Description",
    "current": "Current",
    "save": "Save",
    "confirmSave": "Save?",
    "saved": "Successfully saved",
    "change": "Change",
    "saveChanges": "Save changes",
    "noChanges": "No changes",
    "request": "Request",
    "accept": "Accept",
    "accepted": "Accepted",
    "reject": "Reject",
    "rejected": "Rejected",
    "add": "Add",
    "added": "Added",
    "send": "Send",
    "sendTo": "Send email to: {{0}}.",
    "sent": "Sent",
    "delete": "Delete",
    "confirmDelete": "Delete?",
    "deleted": "Deleted",
    "reload": "Reload",
    "remove": "Remove",
    "edit": "Edit",
    "upload": "Upload",
    "avatar": "Avatar",
    "back": "Back",
    "active": "Active",
    "inactive": "Inactive",
    "status": "Status",
    "view": "View",
    "preview": "Preview",
    "create": "Create",
    "created": "Created",
    "creating": "Creating",
    "cancel": "Cancel",
    "confirm": "Confirm",
    "yes": "Yes",
    "no": "No",
    "in": "in",
    "upgrade": "Upgrade",
    "updateSubscriptionTo": "Update subscription to {{0}}?",
    "notFound": "Not found",
    "invite": "Invite",
    "invalidInvitation": "Invalid invitation link",
    "download": "Download",
    "loading": "Loading",
    "unauthorized": "Unauthorized",
    "notSet": "Not set",
    "note": "Note",
    "warning": "Warning",
    "warningCannotUndo": "WARNING: You cannot undo this action.",
    "all": "All",
    "unlimited": "Unlimited",
    "file": "File",
    "enter": "Enter",
    "search": "Search",
    "searchDot": "Search...",
    "searching": "Searching",
    "optional": "Optional",
    "by": "by",
    "actions": "Actions",
    "updated": "Udpated",
    "role": "Role",
    "notApplicable": "N/A",
    "dragAndDrop": "Drag and drop",
    "home": "Home",
    "createdBy": "Created by",
    "sandbox": "Sandbox",
    "locales": {
      "en-US": "English",
      "es-MX": "Spanish"
    },
    "layouts": {
      "sidebar": "Sidebar",
      "stacked": "Stacked"
    },
    "storage": {
      "gb": "GB"
    },
    "fakeLoading": "Fake loading (sandbox)",
    "onlyFileTypes": "Only {{0}} files",
    "missingFields": "Missing fields",
    "goTo": "Go to"
  },
  "front": {
    "navbar": {
      "product": "Product",
      "pricing": "Pricing",
      "contact": "Contact",
      "terms": "Terms and Conditions",
      "privacy": "Privacy Policy"
    },
    "hero": {
      "headline1": "React",
      "headline2": "Codebase",
      "headline3": "to build your own SaaS",
      "headline4": "Components, SaaS pages, i18n, Persisted Store, Tailwind CSS, React Hooks, Fake API (sandbox env), ESLint and more.",
      "start": "Start today",
      "contact": "Contact us",
      "startHint": "No credit card required."
    },
    "pricing": {
      "title": "Pricing",
      "headline": "Plans designed for organizations of all sizes."
    },
    "contact": {
      "title": "Contact",
      "headline": "We'd love to know how we can add value to your company",
      "firstName": "First name",
      "lastName": "Last name",
      "organization": "Organization",
      "email": "Email",
      "send": "Send",
      "users": "Number of users",
      "comments": "Questions or comments",
      "setup": "Update the .env variable VUE_APP_INTEGRATIONS_CONTACT_FORMSPREE"
    },
    "faq": {
      "title": "Frequently asked questions",
      "headline": "Add your own questions and answers to help your users understand your SaaS.",
      "questions": {
        "q1": "Sample question 1?",
        "a1": "Answer 1.",
        "q2": "Sample question 2?",
        "a2": "Answer 2.",
        "q3": "Sample question 3?",
        "a3": "Answer 3.",
        "q4": "Sample question 4?",
        "a4": "Answer 4.",
        "q5": "Sample question 5?",
        "a5": "Answer 5.",
        "q6": "Sample question 6?",
        "a6": "Answer 7."
      }
    },
    "footer": {
      "copyright": "2021, All rights reserved."
    },
    "terms": {
      "title": "Terms and Conditions"
    },
    "privacy": {
      "title": "Privacy Policy"
    },
    "joinNow": {
      "title": "Download this template",
      "headline": "Start building your own SaaS application. Or learn how it's done in React, React, React and Svelte.",
      "cta": "Get codebase!"
    },
    "features": {
      "frontend": {
        "hint": "React + Tailwind CSS",
        "title": "Frontend Features",
        "headline": "Everything you need get started building a complete SaaS application.",
        "components": {
          "title": "Components",
          "description": "Buttons, Links, Breadcrumbs, Modals, Image/Document Uploaders, Banners and more.",
          "viewAll": "View all components."
        },
        "routes": {
          "title": "SaaS pages/routes/views",
          "front": "Front",
          "frontPages": "(Landing, Pricing...)",
          "account": "Account",
          "accountPages": "(Login, Register...)",
          "admin": "Admin",
          "adminPages": "(Tenants, Users...)",
          "core": "Core",
          "corePages": "(Dashboard, Links...)",
          "app": "and Sample app",
          "appPages": "(Contracts, Employees...)",
          "views": "views.",
          "viewAll": "Explore all views."
        },
        "i18n": {
          "title": "i18n",
          "description": "Localize your app, comes with English and Spanish locale keys. Recommended extension: "
        },
        "store": {
          "title": "Persisted Store",
          "description": "Modular persisted store to remember your users previous state."
        },
        "tailwindcss": {
          "title": "Tailwind CSS",
          "description": "Improve the current design with your own design skills. Comes with a custom theme color and "
        },
        "classComponents": {
          "title": "React Hooks",
          "description": "React functional components + React Hooks."
        },
        "fakeApi": {
          "title": "Fake API (sandbox env)",
          "description": "Love the design-first approach? Just set your environment to sandbox and call fake API implementations."
        },
        "eslint": {
          "title": "ESLint",
          "description": "Lint your code with your own rules, using"
        }
      },
      "backend": {
        "hint": ".NET",
        "title": "Backend Features",
        "description": "Multi-organizations/tenants, clean architecture, integration tests, Stripe subscriptions and Postmark Emails.",
        "features": {
          "net": {
            "title": ".NET",
            "description": "Web API built on top of Microsoft's framework, .NET."
          },
          "cleanArchitecture": {
            "title": "Clean Architecture",
            "description": "Solution split the project into multiple 'layers': Domain, Application, Infrastructre, Tests and ClientApp (frontend)."
          },
          "tests": {
            "title": "Integration Tests",
            "description": "Almost every controller method has its own integration test."
          },
          "multiTenant": {
            "title": "Multi-organization & multi-workspace",
            "description": "Designed to have tenants per account/subscription. Each tenant can have 1 or more workspaces."
          },
          "memberManagement": {
            "title": "Member management",
            "description": "Invite users as Owner, Admin, Member or Guest. Or add your custom roles."
          },
          "stripe": {
            "title": "Stripe Subscriptions",
            "description": "Configure your plans and pricing the way it makes sense for your SaaS.",
            "setup": "Click here to setup."
          },
          "postmark": {
            "title": "Postmark Emails",
            "description": "Setup your custom email tempaltes with Postmark.",
            "setup": "Click here to setup."
          },
          "ef": {
            "title": "Entity Framework",
            "description": "EF Core supported databases. Current implementation: PostgreSql."
          }
        }
      }
    }
  },
  "pricing": {
    "startTrial": "Start {{0}}-day trial",
    "subscribe": "Subscribe",
    "pay": "Pay",
    "payOnce": "Pay once",
    "signUpFree": "Sign up free",
    "MONTHLY": "Monthly",
    "YEARLY": "Yearly",
    "MONTHLYShort": "month",
    "YEARLYShort": "year",
    "once": "Once",
    "contactUs": "Contact us",
    "contact": "Contact",
    "customPlanDescription": "We'll make a plan based on your needs",
    "whatsIncluded": "What's included",
    "recommended": "Recommended",
    "products": {
      "plan1": {
        "title": "Free",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      },
      "plan2": {
        "title": "Standard",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      },
      "plan3": {
        "title": "Enterprise",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      },
      "plan4": {
        "title": "Corporate",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      }
    },
    "features": {
      "oneUser": "1 user",
      "maxUsers": "{{0}} users",
      "oneWorkspace": "1 workspace",
      "maxWorkspaces": "{{0}} workspaces",
      "maxStorage": "{{0}} storage",
      "prioritySupport": "Priority support",
      "oneLink": "1 link",
      "maxLinks": "{{0}} links",
      "oneContract": "1 contract",
      "maxContracts": "{{0}} contracts/month"
    }
  },
  "app": {
    "shared": {
      "buttons": {
        "openOptions": "Open options",
        "uploadDocument": "Upload a document"
      },
      "tabs": {
        "select": "Select a tab"
      },
      "colors": {
        "BLUE_GRAY": "Blue gray",
        "GRAY": "Gray",
        "RED": "Red",
        "ORANGE": "Orange",
        "AMBER": "Amber",
        "YELLOW": "Yellow",
        "LIME": "Lime",
        "GREEN": "Green",
        "EMERALD": "Emerald",
        "TEAL": "Teal",
        "CYAN": "Cyan",
        "LIGHT_BLUE": "Light blue",
        "BLUE": "Blue",
        "INDIGO": "Indigo",
        "VIOLET": "Violet",
        "PURPLE": "Purple",
        "PINK": "Pink",
        "ROSE": "Rose"
      },
      "activity": {
        "title": "Activity"
      },
      "periods": {
        "ALL": "All",
        "YEAR": "Year",
        "MONTH": "Month",
        "WEEK": "Week",
        "DAY": "Today",
        "LAST_YEAR": "Last year",
        "LAST_MONTH": "Last month",
        "LAST_WEEK": "Last week",
        "LAST_DAY": "Yesterday",
        "LAST_30_DAYS": "Last 30 days",
        "LAST_7_DAYS": "Last 7 days",
        "ALL_Description": "All",
        "YEAR_Description": "This year",
        "MONTH_Description": "This month",
        "WEEK_Description": "This week",
        "DAY_Description": "Today",
        "LAST_YEAR_Description": "Last year",
        "LAST_MONTH_Description": "Last month",
        "LAST_WEEK_Description": "Last week",
        "LAST_DAY_Description": "Yesterday",
        "LAST_30_DAYS_Description": "In the last 30 days",
        "LAST_7_DAYS_Description": "In the last 7 days"
      },
      "months": {
        "1": "January",
        "2": "February",
        "3": "March",
        "4": "April",
        "5": "May",
        "6": "June",
        "7": "July",
        "8": "August",
        "9": "September",
        "10": "October",
        "11": "November",
        "12": "December"
      },
      "bimonthly": {
        "1": "January-February",
        "2": "March-April",
        "3": "May-June",
        "4": "July-August",
        "5": "September-October",
        "6": "November-December"
      },
      "quarterly": {
        "1": "January-April",
        "2": "May-August",
        "3": "September-December"
      },
      "yearly": {
        "1": "January-December"
      },
      "periodicity": {
        "0": "Once",
        "1": "Monthly",
        "2": "Bimonthly",
        "3": "Quarterly",
        "4": "Yearly",
        "ONCE": "Once",
        "MONTHLY": "Monthly",
        "BIMONTHLY": "Bimonthly",
        "QUARTERLY": "Quarterly",
        "YEARLY": "Yearly"
      }
    },
    "navbar": {
      "tenant": "Organization",
      "subscription": "Subscription",
      "workspaces": "Workspaces",
      "profile": "Profile",
      "settings": "Settings",
      "signOut": "Sign out",
      "members": "Members"
    },
    "sidebar": {
      "app": "App",
      "admin": "Admin",
      "dashboard": "Dashboard"
    },
    "subscription": {
      "errors": {
        "limitReached": "Limit reached",
        "limitReachedLinks": "You have reached the links limit.",
        "limitReachedWorkspaces": "You have reached the workspaces limit.",
        "limitReachedUsers": "You have reached the members limit.",
        "limitReachedContracts": "You have reached the contracts limit ({{0}})."
      }
    },
    "workspaces": {
      "select": "Select workspace",
      "seletAtLeastOne": "Select at least one workspace",
      "create": "Add a workspace",
      "createDescription": "If you have more than 1 workspace, add its details.",
      "empty": "There are no workspaces",
      "added": "Workspace added",
      "types": {
        "PRIVATE": "Private",
        "PUBLIC": "Public"
      },
      "typesDescription": {
        "PRIVATE": "Private company",
        "PUBLIC": "Public company"
      },
      "actions": {
        "new": "New workspace",
        "edit": "Edit workspace",
        "selectWorkspaces": "Select workspaces",
        "select": "Select workspaces for the current user",
        "selectUserWorkspaces": "Select the user workspaces",
        "selectUsers": "Select users for the current workspace",
        "selectWorkspaceUsers": "Select the workspace users"
      },
      "errors": {
        "noWorkspaces": "No workspaces",
        "noUsers": "No users",
        "addAtLeastOneWorkspace": "Add at least one workspace"
      }
    },
    "users": {
      "seletAtLeastOne": "Select at least one user"
    },
    "dashboard": {
      "summary": "Summary"
    },
    "contracts": {
      "title": "Contracts",
      "new": {
        "title": "New contract",
        "description": "Create a contract...",
        "addSignatories": "Add signatories...",
        "save": "Create and request signatures"
      },
      "details": {
        "general": "General information"
      },
      "employees": {},
      "signatory": "Signatory",
      "signatories": "Signatories",
      "spectator": "Spectator",
      "status": {
        "PENDING": "Pending",
        "SIGNED": "Signed",
        "ARCHIVED": "Archived"
      },
      "pending": {
        "title": "Pending"
      },
      "signed": {
        "title": "Signed"
      },
      "archived": {
        "title": "Archived"
      },
      "members": {
        "add": "Add signatories",
        "select": "Select users who will sign the contract"
      },
      "sign": {},
      "actions": {
        "create": "Create contract?",
        "createDescription": "Every member will get a copy via email.",
        "selectSignatoryOrSpectator": "Select signatories and viewers"
      },
      "placeholders": {
        "name": "Contract name",
        "description": "Large contract description",
        "signatoryEmail": "signatory{'@'}company.com",
        "spectatorEmail": "spectator{'@'}company.com"
      },
      "activity": {
        "types": {
          "CREATED": "Created contract"
        }
      },
      "errors": {
        "maxFileReached": "Upload a document smaller than 20MB. Remember that no physical signature is required.",
        "noContracts": "There are no contracts",
        "nameRequired": "Name required.",
        "descriptionRequired": "Description required.",
        "fileRequired": "File required.",
        "linkRequired": "Select a link (client or provider).",
        "atLeastNSignatories": "Add at least 2 signatories."
      }
    },
    "employees": {
      "my": "My employees",
      "new": {
        "multiple": "Add employees",
        "title": "Add employee"
      },
      "addendum": {},
      "lists": {},
      "actions": {
        "add": "Add employee",
        "import": "Import employees",
        "select": "Select the employees that will work on this contract",
        "selectEmployees": "Select employees",
        "uploadCsv": "Upload a CSV file with columns:",
        "uploadCsvColumns": "Name, Last name and Email",
        "uploadCsvTemplate": "Template",
        "onlyCsv": "Only .CSV documents"
      },
      "profile": {
        "general": "General information",
        "title": "Profile"
      },
      "errors": {
        "notDefined": "There are no employees"
      }
    },
    "links": {
      "my": "Links",
      "profile": {
        "title": "Profile",
        "company": "Company profile",
        "general": "General information"
      },
      "pending": {
        "title": "Pending",
        "one": "Pending link",
        "multiple": "Pending links",
        "description": "Manage your pending invitations.",
        "invitationSent": "Invitation sent",
        "invitationSentDescription": "An email has been sent to {{0}} for creating an account and to accept your invitation.",
        "empty": "No pending invitations"
      },
      "rejected": {},
      "empty": "You don't have any links",
      "imTheProvider": "I'm the provider",
      "newProvider": "New provider",
      "newClient": "New client",
      "new": "New link",
      "link": "Link",
      "invited": "You have invited {{0}} to join as {{1}} on your company {{2}}.",
      "thereAreNo": "No active links",
      "accountFound": "Account found",
      "accountNotFound": "Account not found",
      "invitation": {
        "toBe": "Invitation to be a",
        "hasInvitedYou": "has invited you to create a link between their company",
        "andYourCompany": "and your company",
        "reasonAsProvider": "to share contracts",
        "reasonAsClient": "to share contracts",
        "message": "Message from",
        "hasSentYou": "has sent you and invitation",
        "userNotRegistered": "User {{0}} is not registered.",
        "confirmReject": "Reject invitation?",
        "rejectWarning": "Reject invitation as {{0}} from {{1}}.",
        "confirmAccept": "Accept invitation as {{0}}?",
        "acceptWarning": "Accept invitatiom from {{0}}.",
        "invite": "Invite user to join.",
        "notFound": "User {{0}} does not have workspace '{{1}}'."
      },
      "actions": {
        "selectOne": "Select a client or provider"
      }
    },
    "providers": {
      "empty": "You don't have any providers",
      "new": {
        "title": "New provider",
        "description": "Add a new provider",
        "add": "Add provider?"
      }
    },
    "clients": {
      "empty": "You don't have any clients",
      "new": {
        "title": "New client",
        "description": "Add a new client",
        "add": "Add client?"
      }
    },
    "tenants": {
      "empty": "There are no tenants",
      "members": {
        "noMembers": "No members found",
        "noMembersFoundIn": "No members found in {{0}} or {{1}}",
        "invitationSent": "Invitation sent",
        "invitationDescription": "An invitation has been sent to {{0}} as {{1}}."
      },
      "subscription": {
        "plan": "Plan",
        "price": "Price",
        "starts": "Starts",
        "ends": "Ends",
        "isTrial": "Is trial",
        "status": "Status",
        "workspaces": "Workspaces",
        "members": "Members",
        "links": "Links",
        "storage": "Storage"
      },
      "actions": {
        "deleted": "Organization deleted."
      }
    }
  },
  "admin": {
    "title": "Admin",
    "switchToApp": "Switch to app",
    "switchToAdmin": "Switch to admin",
    "pricing": {
      "title": "Pricing",
      "thesePricesAreFromFiles": "These prices are not in the database, they're loaded from: src/application/pricing/plans.ts.",
      "noPricesInDatabase": "There are no prices. Log in as admin and configure plans and prices.",
      "generateFromFiles": "Click here to generate these prices in Database and your Subscription provider"
    },
    "tenants": {
      "title": "Tenants",
      "profile": {
        "title": "Profile"
      },
      "subscription": {
        "title": "Subscription"
      }
    },
    "users": {
      "deleteWarning": "WARNING: If the user it's a tenant owner, the subscription will be cancelled and the tenant will be deleted. You cannot undo this action."
    },
    "navigation": {
      "title": "Navigation",
      "menu": "Menu",
      "url": "URL",
      "icon": "Icon",
      "sysadmin": "Sysadmin"
    },
    "components": {
      "title": "Components",
      "headline": "Some components used in the application"
    },
    "emails": {
      "title": "Emails",
      "name": "Name",
      "alias": "Alias",
      "subject": "Subject",
      "created": "Created",
      "createAll": "Create All",
      "noEmails": "No email templates",
      "noEmailsDescription": "Set them up at NetcoreSaas.WebApi/Emails folder and set the PostmarkServerToken value."
    }
  },
  "account": {
    "shared": {
      "email": "Email",
      "password": "Password",
      "signIn": "Log in",
      "signUp": "Sign up",
      "name": "Name",
      "fullName": "Full name"
    },
    "login": {
      "title": "Sign in to your account",
      "button": "Log in",
      "orStartTrial": "start free",
      "forgot": "Forgot your password?",
      "errors": {
        "passwordMissmatch": "Password don't match"
      }
    },
    "register": {
      "title": "Create your account",
      "successTitle": "Registration success",
      "successText": "You have successfully registered, please check your email to verify your account (check spam or promotions folder).",
      "startTrial": "Start {{0}} day trial",
      "confirmPassword": "Confirm password",
      "clickHereToLogin": "Click here to login",
      "personalInfo": "Personal info",
      "firstName": "First name",
      "lastName": "Last name",
      "organization": "Organization",
      "invalidCoupon": "Invalid coupon",
      "termsAndConditions": "terms and conditions",
      "privacyPolicy": "privacy policy",
      "alreadyRegistered": "Already registered?",
      "bySigningUp": "By signing up, you agree to our",
      "andOur": "and our",
      "acceptTerms": "I agree to the terms and conditions",
      "prompts": {
        "register": {
          "title": "Create account",
          "description": "You will register with the {{0}} plan."
        }
      },
      "errors": {
        "priceNotInDatabase": "Plan selected but not in database",
        "priceNotSelected": "Please select a plan",
        "acceptTermsAndConditions": "In order to create an account you need to accept the terms and conditions."
      },
      "password": "Password"
    },
    "reset": {
      "title": "Reset password",
      "headline": "Enter your email and we will send you a link to reset your password",
      "button": "Reset password",
      "resetSuccess": "Password reset",
      "emailSent": "Check your email to reset your password, including the SMAP and promotions folders."
    },
    "newPassword": {
      "title": "Set up a new password",
      "button": "Update password"
    },
    "forgot": {
      "title": "Forgot password",
      "rememberedPassword": "Remebered your password?",
      "backToLogin": "Back to login",
      "enterPassword": "Enter your password to login"
    },
    "join": {
      "title": "Request to join"
    },
    "invitation": {
      "title": "Invitation",
      "youWereInvited": "you were invited to join",
      "requestAccess": "Request access to join",
      "button": "Accept and continue",
      "anotherEmail": "Click here to logout to join with another user",
      "successTitle": "Access request sent!",
      "successText": "Your access request has been sent to the admin, if it's accepted you will receive a welcome email (make sure to check spam or promotions folder)",
      "acceptedUser": "👋 Welcome to {{0}}"
    },
    "verify": {
      "title": "Verify your account",
      "button": "Verify and continue"
    },
    "tenant": {
      "onlyAdmin": "Only admins or owners can perform this operation",
      "members": {
        "errors": {
          "atLeastOneWorkspace": "Asign at least one workspace to user"
        }
      },
      "workspaces": {
        "errors": {
          "atLeastOneUser": "Asign at least one user to workspace"
        }
      }
    }
  },
  "models": {
    "tenant": {
      "object": "Tenant",
      "plural": "Tenants",
      "subscription": "Subscription"
    },
    "user": {
      "object": "User",
      "plural": "Users",
      "email": "Email",
      "firstName": "First name",
      "lastName": "Last name",
      "role": "Role",
      "tenants": "Tenants",
      "impersonate": "Impersonate"
    },
    "subscriptionProduct": {
      "serviceId": "Stripe ID",
      "tier": "Tier",
      "title": "Title",
      "badge": "Badge",
      "status": "Estatus",
      "workspaces": "Workspaces",
      "users": "Users",
      "links": "Links",
      "storage": "Storage",
      "monthlyContracts": "Contracts"
    },
    "workspace": {
      "object": "Workspace",
      "plural": "Workspaces",
      "name": "Name",
      "type": "Type",
      "registrationDate": "Registration date",
      "registrationNumber": "Legal registration number",
      "businessMainActivity": "Business main activity"
    },
    "contract": {
      "object": "Contract",
      "plural": "Contracts",
      "name": "Nombre",
      "description": "Description",
      "file": "PDF File",
      "status": "Status",
      "members": "Members",
      "activity": "Activity"
    },
    "employee": {
      "object": "Employee",
      "plural": "Employees",
      "firstName": "Name",
      "lastName": "Last name",
      "email": "Email",
      "fullName": "Full name"
    },
    "link": {
      "object": "Link",
      "plural": "Links",
      "type": "Type"
    },
    "provider": {
      "object": "Provider",
      "plural": "Providers"
    },
    "client": {
      "object": "Client",
      "plural": "Clients"
    }
  },
  "settings": {
    "profile": {
      "profileTitle": "Profile",
      "profileText": "Change your user profile",
      "securityTitle": "Security",
      "passwordUpdated": "New password saved",
      "name": "Name",
      "firstName": "First name",
      "lastName": "Last name",
      "phone": "Phone",
      "role": "Role",
      "roles": {
        "OWNER": "Owner",
        "ADMIN": "Admin",
        "MEMBER": "Member",
        "GUEST": "Guest"
      },
      "permissions": {
        "OWNER": "Controls the account, its subscription and its users",
        "ADMIN": "Manages subscription and users",
        "MEMBER": "Creates and signs contracts",
        "GUEST": "Views contracts"
      },
      "status": {
        "PENDING_INVITATION": "Pending Invitation",
        "PENDING_ACCEPTANCE": "Pending Acceptance",
        "ACTIVE": "Active",
        "INACTIVE": "Inactive"
      },
      "password": "Password",
      "passwordConfirm": "Confirm password",
      "passwordCurrent": "Current password",
      "profileUpdated": "Profile saved",
      "changePassword": "Change password",
      "cannotChangePassword": "You signed up without a password, so you don't have one",
      "errors": {
        "cannotDeleteAdmin": "You cannot delete a system admin"
      }
    },
    "preferences": {
      "title": "Preferences",
      "description": "Change your preferences",
      "language": "Language",
      "layouts": "Layouts"
    },
    "danger": {
      "title": "Danger zone",
      "description": "Be careful",
      "deleteAccount": "Delete account",
      "confirmDelete": "We will delete your account and all your organizations",
      "deleteYourAccount": "Delete your account",
      "onceYouDelete": "Once you delete your account, you will lose all data associated with it"
    },
    "tenant": {
      "title": "Organization",
      "general": "General settings",
      "generalDescription": "Update your organization settings",
      "updated": "Organization updated",
      "create": "Create new organization",
      "createDescription": "Create a new organization to separate data",
      "createConfirm": "Create new organization?",
      "payment": {
        "title": "Payment details",
        "ending": "ending in",
        "updated": "Payment details updated",
        "notSet": "No payment method set, please add a credit or debit card"
      }
    },
    "subscription": {
      "title": "Subscription",
      "description": "Update your plan and payment details",
      "notSubscribed": "You don't have any active subscription",
      "notSubscribedDescription": "Please select a plan according to your needs",
      "updated": "Subscription updated",
      "alreadySubscribed": "You're already subscribed",
      "clickCancel": "Click here to cancel",
      "confirmCancel": "Are you sure you want to cancel your subscription?",
      "canceled": "Subscription canceled",
      "current": "Current subscription:",
      "noActivePlan": "You don't have an active plan",
      "trial": {
        "ends": "Trial ends"
      },
      "plans": {
        "select": "Select a plan"
      },
      "errors": {
        "selectPlan": "Select a plan"
      }
    },
    "members": {
      "title": "Members",
      "actions": {
        "new": "Add user",
        "edit": "Edit user"
      }
    }
  },
  "api": {
    "errors": {
      "youDontBelong": "You don't belong to this workspace",
      "alreadyAdded": "Already added",
      "invalidCoupon": "Invalid coupon",
      "couponInactive": "Inactive coupon",
      "couponMaxRedeems": "Coupon code limit has been reached",
      "invalidStripeCustomerId": "Invalid Stripe customer ID",
      "maxFileReached": "Max file size: 20 MB",
      "notLinked": "You don't have access to this workspace",
      "canBeModifiedByCreator": "Can only be modified/deleted by the creator",
      "cannotUpdateNotPending": "Cannot modify if not pending",
      "cannotDeleteIfNotPending": "Cannot delete if not pending",
      "nameCannotBeEmpty": "Name not specified",
      "descriptionCannotBeEmpty": "Description not specified",
      "fileCannotBeEmpty": "File cannot be empty",
      "userNotInWorkspace": "User does not belong to this workspace",
      "alreadyLinkedProvider": "This company is already your provider",
      "alreadyLinkedClient": "This company is already your client",
      "invalidSubscription": "Invalid subscription",
      "noActiveSubscriptions": "No active recurring subscriptions",
      "invalidCard": "Invalid card",
      "atLeastOneWorkspace": "Asign at least one workspace",
      "existingUser": "User already in organization",
      "maxNumberOfUsers": "Maximum limit of users reached",
      "invalidPassword": "Invalid credentials",
      "invitationNotAvailable": "Invitation not available",
      "notAvailable": "Not available",
      "cannotBeWithoutOwner": "Organization cannot be without owner",
      "cannotBeWithoutMembers": "Organization cannot be without members",
      "userNotRegistered": "User not registered",
      "userAlreadyRegistered": "User already registered",
      "userAlreadyVerified": "User already verified",
      "passwordMismatch": "Passwords don't match",
      "invalidEmail": "Invalid email",
      "invalidLinkInvitation": "Invalid invitation",
      "notPendingLinkInvitation": "Invalid invitation",
      "emailInvalidLinkInvitation": "Invalid link invitation email",
      "workspaceInvalidLinkInvitation": "Invalid workspace in link invitation",
      "cannotDeleteAdmin": "You cannot delete a system admin",
      "alreadyAMember": "Already a member",
      "noChanges": "No changes",
      "noSubscription": "No active subscription",
      "noTenants": "You don't belong to any organization, register to create one",
      "limitReachedWorkspaces": "You have reached the workspaces limit"
    }
  }
}

Spanish

{
  "shared": {
    "hi": "Hola",
    "or": "O",
    "plan": "Plan",
    "you": "Tú",
    "next": "Siguiente",
    "previous": "Anterior",
    "close": "Cerrar",
    "success": "Éxito",
    "error": "Error",
    "new": "Nuevo",
    "name": "Nombre",
    "description": "Descripción",
    "current": "Actual",
    "save": "Guardar",
    "confirmSave": "¿Guardar?",
    "saved": "Cambios guardados",
    "change": "Cambiar",
    "saveChanges": "Guardar cambios",
    "noChanges": "No hay cambios",
    "request": "Solicita",
    "accept": "Aceptar",
    "accepted": "Aceptado",
    "reject": "Rechazar",
    "rejected": "Rechazado",
    "add": "Agregar",
    "added": "Agregó",
    "send": "Enviar",
    "sendTo": "Enviar correo a las siguientes direcciones: {{0}}.",
    "sent": "Enviado",
    "delete": "Eliminar",
    "confirmDelete": "¿Eliminar?",
    "deleted": "Eliminado",
    "reload": "Recargar",
    "remove": "Quitar",
    "edit": "Editar",
    "upload": "Subir",
    "avatar": "Avatar",
    "back": "Atrás",
    "active": "Activo",
    "inactive": "Inactivo",
    "status": "Estatus",
    "view": "Ver",
    "preview": "Previsualizar",
    "create": "Crear",
    "created": "Creado",
    "creating": "Creando",
    "cancel": "Cancelar",
    "confirm": "Confirmar",
    "yes": "Sí",
    "no": "No",
    "in": "en",
    "upgrade": "Actualizar subscripción",
    "updateSubscriptionTo": "¿Actualizar subscripción a {{0}}?",
    "notFound": "No encontrado",
    "invite": "Invitar",
    "invalidInvitation": "Enlace de invitación inválido",
    "download": "Descargar",
    "loading": "Cargando",
    "unauthorized": "No autorizado",
    "notSet": "Not set",
    "warning": "Advertencia",
    "warningCannotUndo": "ADVERTENCIA: No puedes deshacer esta acción.",
    "note": "Nota",
    "all": "Todos",
    "unlimited": "Ilimitados",
    "file": "Archivo",
    "enter": "Entrar",
    "search": "Buscar",
    "searchDot": "Buscar...",
    "searching": "Buscando",
    "optional": "Opcional",
    "by": "por",
    "actions": "Acciones",
    "updated": "Actualizado",
    "role": "Rol",
    "notApplicable": "NA",
    "dragAndDrop": "Arrastra y suelta",
    "home": "Inicio",
    "createdBy": "Creado por",
    "sandbox": "Sandbox",
    "locales": {
      "en-US": "Inglés",
      "es-MX": "Español"
    },
    "layouts": {
      "sidebar": "Lateral",
      "stacked": "Stacked"
    },
    "storage": {
      "gb": "GB"
    },
    "fakeLoading": "Cargando falso (sandbox)",
    "onlyFileTypes": "Solo documentos tipo {{0}}",
    "missingFields": "Faltan campos",
    "goTo": "Ir a"
  },
  "front": {
    "navbar": {
      "product": "Producto",
      "pricing": "Precios",
      "contact": "Contacto",
      "terms": "Términos y Condiciones",
      "privacy": "Política de Privacidad"
    },
    "hero": {
      "headline1": "React",
      "headline2": "Codebase",
      "headline3": "para desarrollar tu SaaS",
      "headline4": "Componentes, Páginas SaaS, i18n, Store, Tailwind CSS, React Hooks, API falso (ambiente sandbox), ESLint y más.",
      "start": "Comienza hoy",
      "contact": "Contáctanos",
      "startHint": "No se necesita tarjeta de crédito."
    },
    "pricing": {
      "title": "Precios",
      "headline": "Planes diseñados para organizaciones de todos los tamaños."
    },
    "contact": {
      "title": "Contáctanos",
      "headline": "Nos encantaría saber cómo podemos agregar valor a tu empresa.",
      "firstName": "Nombre",
      "lastName": "Apellido",
      "organization": "Organización",
      "email": "Correo electrónico",
      "send": "Enviar",
      "users": "¿Cuántos usuarios necesitas?",
      "comments": "Preguntas o comentarios",
      "setup": "Actualiza la variable .env VUE_APP_INTEGRATIONS_CONTACT_FORMSPREE"
    },
    "faq": {
      "title": "Preguntas más frecuentes",
      "headline": "Agrega tus propias preguntas y respuestas para ayudar a tus usuarios a entender tu SaaS.",
      "questions": {
        "q1": "¿Pregunta ejemplo 1?",
        "a1": "Respuesta 1.",
        "q2": "¿Pregunta ejemplo 2?",
        "a2": "Respuesta 2.",
        "q3": "¿Pregunta ejemplo 3?",
        "a3": "Respuesta 3.",
        "q4": "¿Pregunta ejemplo 4?",
        "a4": "Respuesta 4.",
        "q5": "¿Pregunta ejemplo 5?",
        "a5": "Respuesta 5.",
        "q6": "¿Pregunta ejemplo 6?",
        "a6": "Respuesta 7."
      }
    },
    "footer": {
      "copyright": "Todos los derechos reservados."
    },
    "terms": {
      "title": "Términos y Condiciones"
    },
    "privacy": {
      "title": "Política de Privacidad"
    },
    "joinNow": {
      "title": "Descarga esta plantilla",
      "headline": "Comienza a desarrollar tu propia aplicación SaaS.",
      "cta": "Obtener codebase!"
    },
    "features": {
      "frontend": {
        "hint": "React + Tailwind CSS",
        "title": "Funcionalidades Frontend",
        "headline": "Todo lo que necesitas para comenzar a desarrollar una aplicación SaaS completa.",
        "components": {
          "title": "Componentes",
          "description": "Botones, Enlaces, Tabs, Ventanas, Sube Imágenes/Documenos y más.",
          "viewAll": "Ver todos los componentes."
        },
        "routes": {
          "title": "Páginas/Vistas/rutas SaaS",
          "front": "Portada",
          "frontPages": "(Landing, Precios...)",
          "account": "Cuenta",
          "accountPages": "(Login, Registro...)",
          "admin": "Admin",
          "adminPages": "(Organizaciones, Usuarios...)",
          "core": "Core",
          "corePages": "(Dashboard, Enlaces...)",
          "app": "y vistas de apliación de muestra",
          "appPages": "(Contratos, Empleados...)",
          "views": ".",
          "viewAll": "Explorar todas las vistas."
        },
        "i18n": {
          "title": "i18n",
          "description": "Internacionaliza tu aplicación, Inglés y Español incluido. Extensión recomendada: "
        },
        "store": {
          "title": "Store",
          "description": "Almacenamiento modular del estado de tus usuarios."
        },
        "tailwindcss": {
          "title": "Tailwind CSS",
          "description": "Mejora el diseño actual con tus habilidades. Viene con un color personalizado y "
        },
        "classComponents": {
          "title": "React Hooks",
          "description": "Componentes funcionales + React Hooks"
        },
        "fakeApi": {
          "title": "API falso (ambiente sandbox)",
          "description": "¿Te gusta diseñar y después implementar? Establece tu ambiente en sandbox y haz llamadas a implementaciones de prueba."
        },
        "eslint": {
          "title": "ESLint",
          "description": "Aplica tus propias reglas de código usando"
        }
      },
      "backend": {
        "hint": ".NET",
        "title": "Funcionalidades Backend",
        "description": "Multi-organización, Arquitectura limpia, pruebas de integración, subscripciones en Stripe y correos en Postmark.",
        "features": {
          "net": {
            "title": ".NET",
            "description": "Web API desarrollada con el framework de Microsoft, .NET."
          },
          "cleanArchitecture": {
            "title": "Arquitectura Limpia",
            "description": "Solución dividida en múltiples 'capas': Domain, Application, Infrastructre, Tests y ClientApp (frontend)."
          },
          "tests": {
            "title": "Pruebas de Integración",
            "description": "Casi todos los controladores tienen sus propias pruebas de integración."
          },
          "multiTenant": {
            "title": "Multi-organización & multi-empresa",
            "description": "Diseñado para tener una organización por cuenta/subscripción. Cada organización puede tener 1 o más empresas/workspaces."
          },
          "memberManagement": {
            "title": "Administración de miembros",
            "description": "Invita a tus usuarios como Propietario, Admin, Miembro o Invitado. O agrega tus propios roles."
          },
          "stripe": {
            "title": "Subscripciones en Stripe",
            "description": "Configura tus planes y precios de manera que haga sentido con tu SaaS.",
            "setup": "Clic aquí para configurar."
          },
          "postmark": {
            "title": "Correos con Postmark",
            "description": "Configura tus correos personalizados (o usa los existentes) con Postmark.",
            "setup": "Clic aquí para configurar."
          },
          "ef": {
            "title": "Entity Framework",
            "description": "Bases de datos soportadas por EF Core. Implementación actual: PostgreSql."
          }
        }
      }
    }
  },
  "pricing": {
    "startTrial": "Pruébalo por {{0}} días",
    "subscribe": "Suscribirme",
    "pay": "Comprar",
    "payOnce": "Pagar una vez",
    "signUpFree": "Regístrate gratis",
    "MONTHLY": "Mensual",
    "YEARLY": "Anual",
    "MONTHLYShort": "mes",
    "YEARLYShort": "año",
    "once": "Una vez",
    "contactUs": "Contáctanos",
    "contact": "Contactar",
    "customPlanDescription": "Armamos un plan de acuerdo a tus necesidades",
    "whatsIncluded": "Qué incluye",
    "recommended": "Recomendado",
    "products": {
      "plan1": {
        "title": "Gratis",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      },
      "plan2": {
        "title": "Estándar",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      },
      "plan3": {
        "title": "Empresarial",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      },
      "plan4": {
        "title": "Corporativo",
        "description": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut..."
      }
    },
    "features": {
      "oneUser": "1 usuario",
      "maxUsers": "{{0}} usuarios",
      "oneWorkspace": "1 RFC",
      "maxWorkspaces": "{{0}} RFCs",
      "maxStorage": "{{0}} de almacenamiento",
      "prioritySupport": "Soporte prioritario",
      "oneLink": "1 enlace",
      "maxLinks": "{{0}} enlaces",
      "oneContract": "1 contrato",
      "maxContracts": "{{0}} contratos/mes"
    }
  },
  "app": {
    "shared": {
      "buttons": {
        "openOptions": "Abrir opciones",
        "uploadDocument": "Sube un archivo"
      },
      "tabs": {
        "select": "Selecciona una pestaña"
      },
      "colors": {
        "BLUE_GRAY": "Gris azul",
        "GRAY": "Gris",
        "RED": "Rojo",
        "ORANGE": "Naranja",
        "AMBER": "Ámbar",
        "YELLOW": "Amarillo",
        "LIME": "Lima",
        "GREEN": "Verde",
        "EMERALD": "Esmeralda",
        "TEAL": "Verde azulado",
        "CYAN": "Cian",
        "LIGHT_BLUE": "Azul bajo",
        "BLUE": "Azul",
        "INDIGO": "Indigo",
        "VIOLET": "Violeta",
        "PURPLE": "Morado",
        "PINK": "Rosa",
        "ROSE": "Rojizo"
      },
      "activity": {
        "title": "Actividad"
      },
      "periods": {
        "ALL": "Todo",
        "YEAR": "Año",
        "MONTH": "Mes",
        "WEEK": "Semana",
        "DAY": "Hoy",
        "LAST_YEAR": "Año pasado",
        "LAST_MONTH": "Mes pasado",
        "LAST_WEEK": "Semana pasada",
        "LAST_DAY": "Ayer",
        "LAST_30_DAYS": "Últimos 30 días",
        "LAST_7_DAYS": "Últimos 7 días",
        "ALL_Description": "Todo",
        "YEAR_Description": "Este año",
        "MONTH_Description": "Este mes",
        "WEEK_Description": "Esta semana",
        "DAY_Description": "Hoy",
        "LAST_YEAR_Description": "El año pasado",
        "LAST_MONTH_Description": "El mes pasado",
        "LAST_WEEK_Description": "La semana pasada",
        "LAST_DAY_Description": "Ayer",
        "LAST_30_DAYS_Description": "En los últimos 30 días",
        "LAST_7_DAYS_Description": "En los últimos 7 días"
      },
      "months": {
        "1": "Enero",
        "2": "Febrero",
        "3": "Marzo",
        "4": "Abril",
        "5": "Mayo",
        "6": "Junio",
        "7": "Julio",
        "8": "Agosto",
        "9": "Septiembre",
        "10": "Octubre",
        "11": "Noviembre",
        "12": "Diciembre"
      },
      "bimonthly": {
        "1": "Enero-Febrero",
        "2": "Marzo-Abril",
        "3": "Mayo-Junio",
        "4": "Julio-Agosto",
        "5": "Septiembre-Octubre",
        "6": "Noviembre-Diciembre"
      },
      "quarterly": {
        "1": "Enero-Abril",
        "2": "Mayo-Agosto",
        "3": "Septiembre-Diciembre"
      },
      "yearly": {
        "1": "Enero-Diciembre"
      },
      "periodicity": {
        "0": "Una vez",
        "1": "Mensual",
        "2": "Bimestral",
        "3": "Cuatrimestral",
        "4": "Anual",
        "ONCE": "Una vez",
        "MONTHLY": "Mensual",
        "BIMONTHLY": "Bimestral",
        "QUARTERLY": "Cuatrimestral",
        "YEARLY": "Anual"
      }
    },
    "navbar": {
      "tenant": "Organización",
      "subscription": "Subscripción",
      "workspaces": "Empresas",
      "members": "Miembros",
      "profile": "Perfil",
      "settings": "Ajustes",
      "signOut": "Cerrar sesión"
    },
    "sidebar": {
      "app": "Aplicación",
      "admin": "Admin",
      "dashboard": "Portal"
    },
    "subscription": {
      "errors": {
        "limitReached": "Límite alcanzado",
        "limitReachedLinks": "Has llegado al límite de enlaces.",
        "limitReachedWorkspaces": "Has llegado al límite de empresas",
        "limitReachedUsers": "Has llegado al límite de usuarios.",
        "limitReachedContracts": "Has llegado al límite de contratos ({{0}})."
      }
    },
    "workspaces": {
      "select": "Selecciona empresa",
      "seletAtLeastOne": "Selecciona al menos una empresa",
      "create": "Agrega un RFC",
      "createDescription": "Si tienes más de un RFC, agrega tus datos fiscales.",
      "empty": "No hay empresas",
      "added": "Empresa agregada",
      "types": {
        "PRIVATE": "Privada",
        "PUBLIC": "Pública"
      },
      "typesDescription": {
        "PRIVATE": "Empresa privada",
        "PUBLIC": "Empresa pública"
      },
      "actions": {
        "new": "Nueva empresa",
        "edit": "Editar empresa",
        "selectWorkspaces": "Selecciona empresas del usuario",
        "select": "Selecciona los espacios de trabajo a los que podrá acceder el usuario",
        "selectUserWorkspaces": "Seleccionar empresas del usuario",
        "selectUsers": "Selecciona usuarios para la empresa actual",
        "selectWorkspaceUsers": "Selecciona usuarios de la empresa"
      },
      "errors": {
        "noWorkspaces": "No tienes empresas",
        "noUsers": "No hay usuarios",
        "addAtLeastOneWorkspace": "Agrega al menos una empresa"
      }
    },
    "users": {
      "seletAtLeastOne": "Selecciona al menos un usuario"
    },
    "dashboard": {
      "summary": "Resumen"
    },
    "contracts": {
      "title": "Contratos",
      "new": {
        "title": "Nuevo contrato",
        "description": "Crea contratos con tus clientes o proveedores para firmarlos con su FIEL y darles fecha cierta",
        "addSignatories": "Agrega los contactos de personas morales/físicas que firmaran con su FIEL",
        "save": "Crear y solicitar firmas"
      },
      "details": {
        "general": "Información general"
      },
      "employees": {},
      "signatory": "Firmante",
      "signatories": "Firmantes",
      "spectator": "Espectador",
      "status": {
        "PENDING": "Pendiente",
        "SIGNED": "Firmado",
        "ARCHIVED": "Archivado"
      },
      "pending": {
        "title": "Pendientes"
      },
      "signed": {
        "title": "Firmados"
      },
      "archived": {
        "title": "Archivados"
      },
      "members": {
        "add": "Agrega firmantes",
        "select": "Selecciona los usuarios que firmarán el contrato"
      },
      "sign": {},
      "actions": {
        "create": "¿Crear contrato?",
        "createDescription": "Se enviará por correo a los participantes.",
        "selectSignatoryOrSpectator": "Seleccionar firmantes y espectadores"
      },
      "placeholders": {
        "name": "Nombre del contrato",
        "description": "Descripción larga del contrato",
        "signatoryEmail": "firmante{'@'}company.com",
        "spectatorEmail": "espectador{'@'}company.com"
      },
      "activity": {
        "types": {
          "CREATED": "Creó contrato"
        }
      },
      "errors": {
        "maxFileReached": "Sube un documento menor a 20 MB. Recuerda que no se requiere firma física para contratos/documentos firmados electrónicamente.",
        "noContracts": "No hay contratos",
        "nameRequired": "El contrato debe de tener nombre.",
        "descriptionRequired": "El contrato debe de tener una descripción.",
        "fileRequired": "Falta el archivo PDF.",
        "linkRequired": "Selecciona un enlace (cliente o proveedor).",
        "atLeastNSignatories": "Agrega al menos 2 firmantes."
      }
    },
    "employees": {
      "my": "Mis colaboradores",
      "new": {
        "title": "Agregar colaborador",
        "multiple": "Agregar colaboradores"
      },
      "addendum": {},
      "lists": {},
      "actions": {
        "add": "Agregar colaborador",
        "import": "Importar colaboradores",
        "select": "Selecciona tus colaboradores que trabajarán en el proyecto",
        "selectEmployees": "Seleccionar colaboradores",
        "uploadCsv": "Sube un archivo CSV con columnas",
        "uploadCsvColumns": "Nombre, Apellido y Correo",
        "uploadCsvTemplate": "Plantilla",
        "onlyCsv": "Solo documentos tipo .CSV"
      },
      "profile": {
        "title": "Perfil",
        "general": "Información general"
      },
      "errors": {
        "notDefined": "No se definieron colaboradores"
      }
    },
    "links": {
      "my": "Enlaces",
      "profile": {
        "title": "Perfil",
        "company": "Perfil de empresa",
        "general": "Información general del proveedor"
      },
      "pending": {
        "title": "Pendientes",
        "one": "Invitación pendiente",
        "multiple": "Invitaciones pendientes",
        "description": "Administra los enlaces pendientes por aceptar.",
        "invitationSent": "Invitación enviada",
        "invitationSentDescription": "Se ha enviado un correo a {{0}} para que cree su cuenta y acepte tu invitación.",
        "empty": "No tienes invitaciones pendientes"
      },
      "rejected": {},
      "empty": "No tienes proveedores ni clientes",
      "imTheProvider": "Soy el proveedor",
      "newProvider": "Nuevo proveedor",
      "newClient": "Nuevo cliente",
      "new": "Nuevo enlace",
      "link": "Enlazar",
      "invited": "Has invitado a {{0}} a unirse como {{1}} tu empresa {{2}}.",
      "thereAreNo": "No se encontraron enlaces activos",
      "accountFound": "Cuenta encontrada",
      "accountNotFound": "Cuenta no encontrada",
      "invitation": {
        "toBe": "Invitación a ser",
        "hasInvitedYou": "te ha invitado a crear enlace entre su empresa",
        "andYourCompany": "y tu empresa",
        "reasonAsProvider": "para compartir contratos",
        "reasonAsClient": "para compartir contratos",
        "message": "Mensaje de",
        "hasSentYou": "te ha enviado una invitación",
        "userNotRegistered": "El usuario {{0}} no está registrado en nuestra plataforma. Envía una invitación para que se registre.",
        "confirmReject": "¿Rechazar invitación?",
        "rejectWarning": "Rechazarás ser {{0}} de {{1}}.",
        "confirmAccept": "¿Aceptar invitación como {{0}}?",
        "acceptWarning": "Aceptarás invitación de {{0}}.",
        "invite": "No se ha encontrado una cuenta con ese correo y empresa, se le enviará un correo electrónico para invitarlo a unirse.",
        "notFound": "El usuario {{0}} no tiene la empresa '{{1}}'."
      },
      "actions": {
        "selectOne": "Selecciona un cliente o proveedor"
      }
    },
    "providers": {
      "empty": "No tienes proveedores",
      "new": {
        "title": "Nuevo proveedor",
        "description": "Agrega a tus proveedores para compartir contratos",
        "add": "¿Agregar proveedor?"
      }
    },
    "clients": {
      "empty": "No tienes clientes",
      "new": {
        "title": "Nuevo cliente",
        "description": "Agrega a tus clientes para compartir contratos",
        "add": "¿Agregar cliente?"
      }
    },
    "tenants": {
      "empty": "No hay organizaciones",
      "members": {
        "noMembers": "No se encontraron miembros",
        "noMembersFoundIn": "No se encontraron miembros de {{0}} o de {{1}}",
        "invitationSent": "Invitación enviada",
        "invitationDescription": "Se ha enviado una invitación al usuario {{0}} como {{1}}."
      },
      "subscription": {
        "plan": "Plan",
        "price": "Precio",
        "starts": "Comienza",
        "ends": "Termina",
        "isTrial": "Es prueba",
        "status": "Estatus",
        "workspaces": "Empresas",
        "members": "Miembros",
        "links": "Enlaces",
        "storage": "Almacenamiento"
      },
      "actions": {
        "deleted": "Se ha eliminado la organización."
      }
    }
  },
  "admin": {
    "title": "Admin",
    "switchToApp": "Ir a app",
    "switchToAdmin": "Ir a admin",
    "pricing": {
      "title": "Planes",
      "thesePricesAreFromFiles": "Estos precios no están en la base de datos, están cargados desde: src/application/pricing/plans.ts.",
      "noPricesInDatabase": "No hay precios configurados. Inicia como admin para configurar los planes y precios.",
      "generateFromFiles": "Clic aquí para generar estos precios en base de datos y el proveedor de Subscripciones"
    },
    "tenants": {
      "title": "Organizaciones",
      "profile": {
        "title": "Perfil"
      },
      "subscription": {
        "title": "Subscripción"
      }
    },
    "users": {
      "deleteWarning": "ADVERTENCIA: Si el usuario es propietario de organizaciones, se cancelará su subscripción y se eliminarán todas sus empresas. No se puede recuperar un usuario eliminado."
    },
    "navigation": {
      "title": "Menú",
      "menu": "Menú",
      "url": "URL",
      "icon": "Ícono",
      "sysadmin": "Sysadmin"
    },
    "components": {
      "title": "Componentes",
      "headline": "Algunos componentes usados en toda la aplicación"
    },
    "emails": {
      "title": "Correos",
      "name": "Nombre",
      "alias": "Alias",
      "subject": "Asunto",
      "created": "Creado",
      "createAll": "Crear todos",
      "noEmails": "No hay plantillas de correo",
      "noEmailsDescription": "Configuralas en la carpeta NetcoreSaas.WebApi/Emails y establece la variable PostmarkServerToken."
    }
  },
  "account": {
    "shared": {
      "email": "Correo",
      "password": "Contraseña",
      "signIn": "Entrar",
      "signUp": "Registrarme",
      "name": "Nombre",
      "fullName": "Nombre completo"
    },
    "login": {
      "title": "Entra a tu cuenta",
      "button": "Entrar",
      "orStartTrial": "comienza gratis",
      "forgot": "¿Olvidaste tu contraseña?",
      "errors": {
        "passwordMissmatch": "Las contraseñas no coinciden"
      }
    },
    "register": {
      "title": "Crea tu cuenta",
      "successTitle": "Bienvenido",
      "successText": "Por favor revisa tu correo electrónico (revisa tu carpeta de spam o de promociones).",
      "startTrial": "Comienza prueba de {{0}} días",
      "password": "Contraseña",
      "confirmPassword": "Confirmar contraseña",
      "clickHereToLogin": "Clic aquí para entrar",
      "personalInfo": "Datos personales",
      "firstName": "Nombre",
      "lastName": "Apellido",
      "organization": "Organización",
      "invalidCoupon": "Cupón inválido",
      "termsAndConditions": "términos y condiciones",
      "privacyPolicy": "política de privacidad",
      "alreadyRegistered": "¿Ya estás registrado?",
      "bySigningUp": "Al registrarte, aceptas nuestros",
      "andOur": "y nuestra",
      "acceptTerms": "Acepto los términos y condiciones",
      "prompts": {
        "register": {
          "title": "Crear cuenta",
          "description": "Te registrarás con plan {{0}}."
        }
      },
      "errors": {
        "priceNotInDatabase": "Plan seleccionado pero no existe en la base de datos",
        "priceNotSelected": "Por favor selecciona un plan",
        "acceptTermsAndConditions": "Para crear una cuenta deberás aceptar los términos y condiciones."
      }
    },
    "reset": {
      "title": "Restablecer contraseña",
      "headline": "Te enviaremos un enlace para restablecerla.",
      "button": "Restablecer contraseña",
      "resetSuccess": "Contraseña restablecida",
      "emailSent": "Por favor revisa tu correo electrónico, incluyendo la carpeta de SPAM o promociones."
    },
    "newPassword": {
      "title": "Nueva contraseña",
      "button": "Actualizar contraseña"
    },
    "forgot": {
      "title": "Olvidé mi contraseña",
      "rememberedPassword": "¿Recordaste tu contraseña?",
      "backToLogin": "Clic aquí para entrar",
      "enterPassword": "Ingresa tu contraseña para entrar"
    },
    "join": {
      "title": "Solicita unirte"
    },
    "invitation": {
      "title": "Invitación",
      "youWereInvited": "fuiste invitado a unirte a",
      "requestAccess": "Solicita acceso para unirte a",
      "acceptedUser": "👋  Te damos la bienvenida a {{0}}",
      "button": "Aceptar y continuar",
      "anotherEmail": "Clic aquí para unirte con otro usuario",
      "successTitle": "Solicitud de acceso enviada",
      "successText": "Tu solicitud de acceso se ha enviado al administrador, cuando sea aceptada te enviaremos un correo de bienvenida (asegúrate de revisar en spam o promociones)"
    },
    "verify": {
      "title": "Verifica tu cuenta",
      "button": "Verificar y continuar"
    },
    "tenant": {
      "onlyAdmin": "Solo administradores o propietarios pueden realizar esta operación",
      "members": {
        "errors": {
          "atLeastOneWorkspace": "Asigna permiso a al menos a 1 empresa"
        }
      },
      "workspaces": {
        "errors": {
          "atLeastOneUser": "Asigna permiso a al menos a 1 usuario"
        }
      }
    }
  },
  "models": {
    "tenant": {
      "object": "Organización",
      "plural": "Organizaciones",
      "subscription": "Subscripción"
    },
    "user": {
      "object": "Usuario",
      "plural": "Usuarios",
      "email": "Correo",
      "firstName": "Nombre",
      "lastName": "Apellidos",
      "role": "Rol",
      "tenants": "Organizaciones",
      "impersonate": "Simular"
    },
    "subscriptionProduct": {
      "serviceId": "Stripe ID",
      "tier": "Nivel",
      "title": "Título",
      "badge": "Leyenda",
      "status": "Estatus",
      "workspaces": "Empresas",
      "users": "Usuarios",
      "links": "Enlaces",
      "storage": "Almacenamiento",
      "monthlyContracts": "Contratos"
    },
    "workspace": {
      "object": "Empresa",
      "plural": "Empresas",
      "name": "Nombre",
      "type": "Tipo",
      "businessMainActivity": "Objeto social",
      "registrationNumber": "Número legal de registro",
      "registrationDate": "Fecha de registro"
    },
    "contract": {
      "object": "Contrato",
      "plural": "Contratos",
      "name": "Nombre",
      "description": "Descripción",
      "file": "Archivo PDF",
      "status": "Estatus",
      "members": "Miembros",
      "activity": "Actividad"
    },
    "employee": {
      "object": "Colaborador",
      "plural": "Colaboradores",
      "firstName": "Nombre",
      "lastName": "Apellido paterno",
      "email": "Correo electrónico",
      "fullName": "Nombre completo"
    },
    "link": {
      "object": "Enlace",
      "plural": "Enlaces",
      "type": "Tipo"
    },
    "provider": {
      "object": "Proveedor",
      "plural": "Proveedores"
    },
    "client": {
      "object": "Cliente",
      "plural": "Clientes"
    }
  },
  "settings": {
    "profile": {
      "profileTitle": "Perfil",
      "profileText": "Actualiza tu perfil",
      "securityTitle": "Seguridad",
      "passwordUpdated": "Nueva contraseña guardada",
      "name": "Nombre",
      "firstName": "Nombre",
      "lastName": "Apellido",
      "phone": "Teléfono",
      "role": "Rol",
      "roles": {
        "OWNER": "Propietario",
        "ADMIN": "Administrador",
        "MEMBER": "Miembro",
        "GUEST": "Invitado"
      },
      "permissions": {
        "OWNER": "Puede controlar la cuenta y la subscripción",
        "ADMIN": "Gestiona subscripción y usuarios",
        "MEMBER": "Crea y firma contratos",
        "GUEST": "Consulta contratos"
      },
      "status": {
        "PENDING_INVITATION": "Pendiente",
        "PENDING_ACCEPTANCE": "Pendiente",
        "ACTIVE": "Activo",
        "INACTIVE": "Inactivo"
      },
      "password": "Contraseña",
      "passwordConfirm": "Confirmar contraseña",
      "passwordCurrent": "Contraseña actual",
      "profileUpdated": "Perfil guardado",
      "changePassword": "Cambiar password",
      "cannotChangePassword": "Te registraste sin contraseña, así que no tienes una",
      "errors": {
        "cannotDeleteAdmin": "No puedes eliminar un usuario administrador de sistema"
      }
    },
    "preferences": {
      "title": "Preferencias",
      "description": "Actualiza tus preferencias",
      "language": "Idioma",
      "layouts": "Menú"
    },
    "danger": {
      "title": "Zona de peligro",
      "description": "Ten cuidado aquí",
      "deleteAccount": "Eliminar cuenta",
      "confirmDelete": "Eliminaremos tu cuenta y todas tus organizaciones",
      "deleteYourAccount": "Elimina tu cuenta",
      "onceYouDelete": "Una vez eliminada tu cuenta, perderás toda la información y acceso asociada a ella"
    },
    "tenant": {
      "title": "Organización",
      "general": "Ajustes generales",
      "generalDescription": "Actualiza la información de tu organización",
      "updated": "Organización actualizada",
      "create": "Crear organización",
      "createDescription": "Crea una nueva organización para otra empresa o para ti",
      "createConfirm": "¿Crear nueva organización?",
      "payment": {
        "title": "Detalles de pago",
        "ending": "terminación en",
        "updated": "Detalles de pago actualizados",
        "notSet": "No se ha definido método de pago, agrega una tarjeta de débito o crédito"
      }
    },
    "subscription": {
      "title": "Subscripción",
      "description": "Actualiza tu plan y details de pago",
      "notSubscribed": "No tienes ninguna subscripción activa",
      "notSubscribedDescription": "Selecciona un plan de acuerdo a lo que necesitas",
      "updated": "Subscripción actualizada",
      "alreadySubscribed": "Ya estás suscrito",
      "clickCancel": "Clic aquí para cancelar",
      "confirmCancel": "¿Seguro que quieres cancelar tu subscripción?",
      "canceled": "Subscripción cancelada",
      "current": "Subscripción actual:",
      "noActivePlan": "No tienes un plan activo",
      "trial": {
        "ends": "Prueba termina"
      },
      "plans": {
        "select": "Selecciona un plan"
      },
      "errors": {
        "selectPlan": "Selecciona un plan"
      }
    },
    "members": {
      "title": "Miembros",
      "actions": {
        "new": "Agregar usuario",
        "edit": "Modificar usuario"
      }
    }
  },
  "api": {
    "errors": {
      "youDontBelong": "No tienes acceso a esta empresa",
      "alreadyAdded": "Ya agregado",
      "invalidCoupon": "Cupón inválido",
      "couponInactive": "Cupón inactivo",
      "couponMaxRedeems": "El cupón ya llegó a su límite de usos",
      "invalidStripeCustomerId": "ID de cliente inválido",
      "maxFileReached": "Sube un documento menor a 20 MB",
      "notLinked": "No tienes permiso a esta empresa",
      "canBeModifiedByCreator": "Solo puede ser eliminado por el creador",
      "cannotUpdateNotPending": "No puedes modificar si no está pendiente",
      "cannotDeleteIfNotPending": "No puedes eliminar un contrato firmado o archivado",
      "nameCannotBeEmpty": "Especifica un nombre",
      "descriptionCannotBeEmpty": "Especifica una descripción",
      "fileCannotBeEmpty": "Sube el archivo en formato PDF",
      "userNotInWorkspace": "El usuario no pertenece a la empresa indicada o no tiene privilegios",
      "alreadyLinkedProvider": "Esta empresa ya es tu proveedor",
      "alreadyLinkedClient": "Esta empresa ya es tu cliente",
      "invalidSubscription": "Selecciona un plan de acuerdo a lo que necesitas",
      "noActiveSubscriptions": "No hay subscripciones activas",
      "invalidCard": "Tarjeta inválida",
      "atLeastOneWorkspace": "Asigna permiso a al menos a 1 empresa",
      "existingUser": "Usuario ya existe en organización",
      "maxNumberOfUsers": "Has llegado al límite de usuarios",
      "invalidPassword": "Credenciales inválidas",
      "invitationNotAvailable": "Invitación no disponible",
      "notAvailable": "No disponible",
      "cannotBeWithoutOwner": "La organización no puede estar sin propietario",
      "cannotBeWithoutMembers": "La organización no puede estar sin miembros",
      "userNotRegistered": "Usuario no registrado",
      "userAlreadyRegistered": "Usuario ya registrado",
      "userAlreadyVerified": "Usuario ya verificado",
      "passwordMismatch": "Las contraseñas no coinciden",
      "invalidEmail": "Correo electrónico inválido",
      "invalidLinkInvitation": "Invitación inválida",
      "notPendingLinkInvitation": "Invitación inválida",
      "emailInvalidLinkInvitation": "El correo no coincide con la invitación aceptada",
      "workspaceInvalidLinkInvitation": "La empresa no coincide con la invitación aceptada",
      "cannotDeleteAdmin": "No puedes eliminar un usuario administrador de sistema",
      "alreadyAMember": "Ya pertenece a la empresa",
      "noChanges": "No hay cambios",
      "noSubscription": "No hay subscripción activa",
      "noTenants": "No perteneces a ninguna organización, regístrate para crear una",
      "limitReachedWorkspaces": "Has llegado al límite de empresas"
    }
  }
}