Resolve merge conflicts

This commit is contained in:
Tuan Dang
2023-03-07 11:22:56 +07:00
68 changed files with 1028 additions and 446 deletions

View File

@@ -44,6 +44,7 @@
<kbd>[<img title="Turkish" alt="Turkish language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tr.svg" width="22">](i18n/README.tr.md)</kbd>
<kbd>[<img title="Bahasa Indonesia" alt="Bahasa Indonesia language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/id.svg" width="22">](i18n/README.id.md)</kbd>
<kbd>[<img title="Portuguese - Brazil" alt="Portuguese - Brazil" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/br.svg" width="22">](i18n/README.pt-br.md)</kbd>
<kbd>[<img title="Japanese" alt="Japanese language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/jp.svg" width="22">](i18n/README.ja.md)</kbd>
**[Infisical](https://infisical.com)** is an open source, end-to-end encrypted secret manager which you can use to centralize your API keys and configs. From Infisical, you can then distribute these secrets across your whole development lifecycle - from development to production . It's designed to be simple and take minutes to get going.

View File

@@ -272,31 +272,75 @@ const syncSecretsAzureKeyVault = async ({
deleteSecrets.push(res[key]);
}
});
const setSecretAzureKeyVault = async ({
key,
value,
integration,
accessToken
}: {
key: string;
value: string;
integration: IIntegration;
accessToken: string;
}) => {
let isSecretSet = false;
let maxTries = 6;
while (!isSecretSet && maxTries > 0) {
// try to set secret
try {
await request.put(
`${integration.app}/secrets/${key}?api-version=7.3`,
{
value
},
{
headers: {
Authorization: `Bearer ${accessToken}`
}
}
);
isSecretSet = true;
} catch (err) {
const error: any = err;
if (error?.response?.data?.error?.innererror?.code === 'ObjectIsDeletedButRecoverable') {
await request.post(
`${integration.app}/deletedsecrets/${key}/recover?api-version=7.3`, {},
{
headers: {
Authorization: `Bearer ${accessToken}`
}
}
);
await new Promise(resolve => setTimeout(resolve, 10000));
} else {
await new Promise(resolve => setTimeout(resolve, 10000));
maxTries--;
}
}
}
}
// Sync/push set secrets
if (setSecrets.length > 0) {
setSecrets.forEach(async ({ key, value }) => {
await request.put(
`${integration.app}/secrets/${key}?api-version=7.3`,
{
value
},
{
headers: {
Authorization: `Bearer ${accessToken}`
}
}
);
for await (const setSecret of setSecrets) {
const { key, value } = setSecret;
setSecretAzureKeyVault({
key,
value,
integration,
accessToken
});
}
if (deleteSecrets.length > 0) {
deleteSecrets.forEach(async (secret) => {
await request.delete(`${integration.app}/secrets/${secret.key}?api-version=7.3`, {
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
for await (const deleteSecret of deleteSecrets) {
const { key } = deleteSecret;
await request.delete(`${integration.app}/secrets/${key}?api-version=7.3`, {
headers: {
'Authorization': `Bearer ${accessToken}`
}
});
}
} catch (err) {

View File

@@ -4,7 +4,8 @@ import (
"encoding/json"
"errors"
"fmt"
"io/ioutil"
log "github.com/sirupsen/logrus"
"io"
"net/http"
"os"
"os/exec"
@@ -14,8 +15,12 @@ import (
)
func CheckForUpdate() {
if checkEnv := os.Getenv("INFISICAL_DISABLE_UPDATE_CHECK"); checkEnv != "" {
return
}
latestVersion, err := getLatestTag("Infisical", "infisical")
if err != nil {
log.Debug(err)
// do nothing and continue
return
}
@@ -55,7 +60,7 @@ func getLatestTag(repoOwner string, repoName string) (string, error) {
defer resp.Body.Close()
body, err := ioutil.ReadAll(resp.Body)
body, err := io.ReadAll(resp.Body)
if err != nil {
return "", err
}
@@ -64,7 +69,9 @@ func getLatestTag(repoOwner string, repoName string) (string, error) {
Name string `json:"name"`
}
json.Unmarshal(body, &tags)
if err := json.Unmarshal(body, &tags); err != nil {
return "", fmt.Errorf("failed to unmarshal github response: %w", err)
}
return tags[0].Name[1:], nil
}

View File

@@ -24,6 +24,7 @@ Prerequisites:
```js
const crypto = require('crypto');
const axios = require('axios');
const nacl = require('tweetnacl');
const BASE_URL = 'https://app.infisical.com';
const ALGORITHM = 'aes-256-gcm';

View File

@@ -35,6 +35,27 @@ Export environment variables from the platform into a file format.
infisical export --format=yaml > secrets.yaml
```
### Environment variables
<Accordion title="INFISICAL_TOKEN">
Used to fetch secrets via a [service token](/getting-started/dashboard/token) apposed to logged in credentials. Simply, export this variable in the terminal before running this command.
```bash
# Example
export INFISICAL_TOKEN=st.63e03c4a97cb4a747186c71e.ed5b46a34c078a8f94e8228f4ab0ff97.4f7f38034811995997d72badf44b42ec
```
</Accordion>
<Accordion title="INFISICAL_DISABLE_UPDATE_CHECK">
Used to disable the check for new CLI versions. This can improve the time it takes to run this command. Recommended for production environments.
To use, simply export this variable in the terminal before running this command.
```bash
# Example
export INFISICAL_DISABLE_UPDATE_CHECK=true
```
</Accordion>
### flags
<Accordion title="--env">
Used to set the environment that secrets are pulled from.

View File

@@ -40,7 +40,28 @@ Inject secrets from Infisical into your application process.
$ infisical run -- npm run dev
```
### flags
### Environment variables
<Accordion title="INFISICAL_TOKEN">
Used to fetch secrets via a [service token](/getting-started/dashboard/token) apposed to logged in credentials. Simply, export this variable in the terminal before running this command.
```bash
# Example
export INFISICAL_TOKEN=st.63e03c4a97cb4a747186c71e.ed5b46a34c078a8f94e8228f4ab0ff97.4f7f38034811995997d72badf44b42ec
```
</Accordion>
<Accordion title="INFISICAL_DISABLE_UPDATE_CHECK">
Used to disable the check for new CLI versions. This can improve the time it takes to run this command. Recommended for production environments.
To use, simply export this variable in the terminal before running this command.
```bash
# Example
export INFISICAL_DISABLE_UPDATE_CHECK=true
```
</Accordion>
### Flags
<Accordion title="--command">
Pass secrets into multiple commands at once

View File

@@ -18,7 +18,28 @@ This command enables you to perform CRUD (create, read, update, delete) operatio
$ infisical secrets
```
### flags
### Environment variables
<Accordion title="INFISICAL_TOKEN">
Used to fetch secrets via a [service token](/getting-started/dashboard/token) apposed to logged in credentials. Simply, export this variable in the terminal before running this command.
```bash
# Example
export INFISICAL_TOKEN=st.63e03c4a97cb4a747186c71e.ed5b46a34c078a8f94e8228f4ab0ff97.4f7f38034811995997d72badf44b42ec
```
</Accordion>
<Accordion title="INFISICAL_DISABLE_UPDATE_CHECK">
Used to disable the check for new CLI versions. This can improve the time it takes to run this command. Recommended for production environments.
To use, simply export this variable in the terminal before running this command.
```bash
# Example
export INFISICAL_DISABLE_UPDATE_CHECK=true
```
</Accordion>
### Flags
<Accordion title="--expand">
Parse shell parameter expansions in your secrets

View File

@@ -0,0 +1,34 @@
---
title: "SvelteKit"
description: "How to use Infisical to inject environment variables and secrets into a SvelteKit app."
---
Prerequisites:
- Set up and add envars to [Infisical Cloud](https://app.infisical.com)
- [Install the CLI](/cli/overview)
## Initialize Infisical for your [SvelteKit](https://kit.svelte.dev) app
```bash
# navigate to the root of your of your project
cd /path/to/project
# then initialize infisical
infisical init
```
## Start your application as usual but with Infisical
```bash
infisical run -- <your application start command>
# Example
infisical run -- npm run dev
```
<Note>
Note that for environment variables to be exposed to the client, you'll have
to prefix them with `PUBLIC_`. Read more about that
[here](https://kit.svelte.dev/docs/modules#$env-static-public).
</Note>

View File

@@ -0,0 +1,34 @@
---
title: "Terraform"
description: "How to use Infisical to inject environment variables and secrets into terraform."
---
Prerequisites:
- Set up and add envars to [Infisical Cloud](https://app.infisical.com)
- [Install the CLI](/cli/overview)
## Initialize Infisical for your [Terraform](https://www.terraform.io/) project
```bash
# navigate to the root of your of your project
cd /path/to/project
# then initialize Infisical
infisical init
```
## Run terraform as usual but with Infisical
```bash
infisical run -- <your application start command>
# Example
infisical run -- terraform plan
```
<Note>
To inject any arbitrary variable to terraform, you have
to prefix them with `TF_VAR`. Read more about that
[here](https://developer.hashicorp.com/terraform/cli/config/environment-variables#tf_var_name).
</Note>

View File

@@ -12,6 +12,7 @@ Missing an integration? Throw in a [request](https://github.com/Infisical/infisi
| [Docker](/integrations/platforms/docker) | Platform | Available |
| [Docker-Compose](/integrations/platforms/docker-compose) | Platform | Available |
| [Kubernetes](/integrations/platforms/kubernetes) | Platform | Available |
| [Terraform](/integrations/frameworks/terraform) | Infrastructure as code | Available |
| [PM2](/integrations/platforms/pm2) | Platform | Available |
| [Heroku](/integrations/cloud/heroku) | Cloud | Available |
| [Vercel](/integrations/cloud/vercel) | Cloud | Available |
@@ -39,9 +40,7 @@ Missing an integration? Throw in a [request](https://github.com/Infisical/infisi
| [Flask](/integrations/frameworks/flask) | Framework | Available |
| [Laravel](/integrations/frameworks/laravel) | Framework | Available |
| [Ruby on Rails](/integrations/frameworks/rails) | Framework | Available |
| AWS | Cloud | Coming soon |
| GCP | Cloud | Coming soon |
| Azure | Cloud | Coming soon |
| DigitalOcean | Cloud | Coming soon |
| GitHub Actions | CI/CD | Coming soon |
| Jenkins | CI/CD | Coming soon |

View File

@@ -54,11 +54,6 @@
"icon": "cloud",
"url": "api-reference"
},
{
"name": "Integrations",
"icon": "plug",
"url": "integrations"
},
{
"name": "Contributing",
"icon": "code",
@@ -94,7 +89,6 @@
"pages": [
"getting-started/dashboard/organization",
"getting-started/dashboard/project",
"getting-started/dashboard/integrations",
"getting-started/dashboard/pit-recovery",
"getting-started/dashboard/secret-versioning",
"getting-started/dashboard/audit-logs",
@@ -103,7 +97,7 @@
]
},
{
"group": "CLI",
"group": "Command line",
"pages": [
"cli/overview",
"cli/usage",
@@ -123,6 +117,60 @@
"cli/faq"
]
},
{
"group": "Integrations",
"pages": [
"integrations/overview",
{
"group": "Docker",
"pages": [
"integrations/platforms/docker",
"integrations/platforms/docker-compose"
]
},
"integrations/platforms/kubernetes",
"integrations/frameworks/terraform",
{
"group": "AWS",
"pages": [
"integrations/cloud/aws-parameter-store",
"integrations/cloud/aws-secret-manager"
]
},
"integrations/cloud/heroku",
"integrations/cloud/vercel",
"integrations/cloud/netlify",
"integrations/cloud/render",
"integrations/cloud/flyio",
"integrations/cloud/azure-key-vault",
"integrations/cicd/githubactions",
"integrations/cicd/gitlab",
"integrations/cicd/circleci",
"integrations/cicd/travisci",
"integrations/frameworks/react",
"integrations/frameworks/vue",
"integrations/frameworks/express",
"integrations/frameworks/nextjs",
"integrations/frameworks/nestjs",
"integrations/frameworks/nuxt",
"integrations/frameworks/gatsby",
"integrations/frameworks/remix",
"integrations/frameworks/vite",
"integrations/frameworks/fiber",
"integrations/frameworks/django",
"integrations/frameworks/flask",
"integrations/frameworks/laravel",
"integrations/frameworks/rails",
"integrations/frameworks/dotnet",
"integrations/platforms/pm2"
]
},
{
"group": "Self-hosting",
"pages": [
@@ -209,61 +257,6 @@
}
]
},
{
"group": "Integrations",
"pages": ["integrations/overview"]
},
{
"group": "Platforms",
"pages": [
"integrations/platforms/docker",
"integrations/platforms/docker-compose",
"integrations/platforms/kubernetes",
"integrations/platforms/pm2"
]
},
{
"group": "Cloud",
"pages": [
"integrations/cloud/heroku",
"integrations/cloud/vercel",
"integrations/cloud/netlify",
"integrations/cloud/render",
"integrations/cloud/flyio",
"integrations/cloud/aws-parameter-store",
"integrations/cloud/aws-secret-manager",
"integrations/cloud/azure-key-vault"
]
},
{
"group": "CI/CD",
"pages": [
"integrations/cicd/githubactions",
"integrations/cicd/gitlab",
"integrations/cicd/circleci",
"integrations/cicd/travisci"
]
},
{
"group": "Frameworks",
"pages": [
"integrations/frameworks/react",
"integrations/frameworks/vue",
"integrations/frameworks/express",
"integrations/frameworks/nextjs",
"integrations/frameworks/nestjs",
"integrations/frameworks/nuxt",
"integrations/frameworks/gatsby",
"integrations/frameworks/remix",
"integrations/frameworks/vite",
"integrations/frameworks/fiber",
"integrations/frameworks/django",
"integrations/frameworks/flask",
"integrations/frameworks/laravel",
"integrations/frameworks/rails",
"integrations/frameworks/dotnet"
]
},
{
"group": "Security",
"pages": [

View File

@@ -33,8 +33,7 @@ wget -O .env https://raw.githubusercontent.com/Infisical/infisical/main/.env.exa
wget -O docker-compose.yml https://raw.githubusercontent.com/Infisical/infisical/main/docker-compose.yml
# Download nginx config
mkdir nginx && cd nginx && wget -O default.conf https://raw.githubusercontent.com/Infisical/infisical/main/nginx/default.dev.conf
cd ..
mkdir nginx && wget -O ./nginx/default.conf https://raw.githubusercontent.com/Infisical/infisical/main/nginx/default.dev.conf
```
3. Tweak the `.env` according to your preferences. Refer to the available [environment variables](../../self-hosting/configuration/envars)
@@ -51,4 +50,4 @@ nano .env
docker-compose -f docker-compose.yml up -d
```
5. Your Infisical installation is complete and should be running on [http://localhost:8080](http://localhost:8080). Please note that the containers are not exposed to the internet and only bind to the localhost. It's up to you to configure a firewall, SSL certificates, and implement any additional security measures.
5. Your Infisical installation is complete and should be running on [http://localhost:80](http://localhost:80). Please note that the containers are not exposed to the internet and only bind to the localhost. It's up to you to configure a firewall, SSL certificates, and implement any additional security measures.

View File

@@ -8,7 +8,7 @@ module.exports = {
debug: false,
i18n: {
defaultLocale: "en",
locales: ["en", "ko", "fr", "pt-BR", "pt-PT"],
locales: ["en", "ko", "fr", "pt-BR", "pt-PT", "es"],
},
fallbackLng: {
default: ["en"],
@@ -23,4 +23,4 @@ module.exports = {
// strictMode: true,
// serializeConfig: false,
// react: { useSuspense: false }
};
};

View File

@@ -0,0 +1,11 @@
{
"title": "Historial de eventos",
"subtitle": "Historial de eventos para este proyecto de Infisical.",
"event": {
"readSecrets": "Secrets vistas",
"updateSecrets": "Secrets actualizadas",
"addSecrets": "Secrets añadidas",
"deleteSecrets": "Secrets eliminadas"
},
"ip-address": "Dirección IP"
}

View File

@@ -0,0 +1,28 @@
{
"title": "Uso & Facturación",
"description": "Visualiza y gestiona la suscripción de tu organización",
"subscription": "Suscripción",
"starter": {
"name": "Starter",
"price-explanation": "hasta 5 miembros",
"text": "¡Hasta 5 personas gratis!",
"subtext": "Después, $5 por miembro/mes."
},
"professional": {
"name": "Professional",
"price-explanation": "/miembro/mes",
"subtext": "Includes unlimited projects & members.",
"text": "Mantén la gestión de claves a medida que creces."
},
"enterprise": {
"name": "Enterprise",
"text": "Mantén la gestión de claves a medida que creces."
},
"current-usage": "Uso actual",
"free": "Gratis",
"downgrade": "Reducir",
"upgrade": "Mejorar",
"learn-more": "Saber más",
"custom-pricing": "A medida",
"schedule-demo": "Solicitar una demo"
}

View File

@@ -0,0 +1,34 @@
{
"head-title": "{{title}} | Infisical",
"error_project-already-exists": "Ya existe un proyecto con este nombre.",
"no-mobile": "Para usar Infisical, inicia sesión con un dispositivo de mayores dimesiones.",
"email": "Correo electrónico",
"password": "Contraseña",
"first-name": "Nombre",
"last-name": "Apellidos",
"logout": "Cerrar sesión",
"validate-required": "Por favor, introduce tu {{name}}",
"maintenance-alert": "Estamos experimentando problemas técnicos. Estamos trabajando para resolverlos. Por favor, vuelve en unos minutos.",
"click-to-copy": "Click para copiar",
"project-id": "ID de proyecto",
"save-changes": "Guardar cambios",
"saved": "Guardado",
"drop-zone": "Arrastra y suelta un archivo .env, .json o .yml aquí.",
"drop-zone-keys": "Arrastra y suelta un archivo .env, .json, or .yml aquí para añadir más secrets.",
"role": "Rol",
"role_admin": "admin",
"display-name": "Nombre visible",
"environment": "Entorno",
"expired-in": "Expira en",
"language": "Idioma",
"search": "Buscar...",
"note": "Nota",
"view-more": "Ver más",
"end-of-history": "Fin del historial",
"select-event": "Selecciona un evento",
"event": "Evento",
"user": "Usuario",
"source": "Fuente",
"time": "Hora",
"timestamp": "Marca temporal"
}

View File

@@ -0,0 +1,35 @@
{
"title": "Secrets",
"og-title": "Gestiona tus archivos .env en segundos",
"og-description": "Infisical es una solución cifrada de extremo a extremo que habilita a los equipos a compartir archivos .env de forma sencilla.",
"search-keys": "Buscar claves...",
"add-key": "Añadir clave",
"personal": "Personal",
"personal-description": "Las claves personales solo son visibles para ti",
"shared": "Compartido",
"shared-description": "Claves compartidas son visibles para todo tu equipo",
"make-shared": "Hacer compartida",
"make-personal": "Hacer personal",
"add-secret": "Añadir una nueva clave",
"check-docs": {
"button": "Comprueba la documentación",
"title": "¡Buen trabajo!",
"line1": "Enhorabuena por añadir claves.",
"line2": "Averigua como usarlo desde tu código."
},
"sidebar": {
"secret": "Secret",
"key": "Clave",
"value": "valor",
"override": "Sobreescribir valor con el valor personal",
"version-history": "Historial de versiones",
"comments": "Comentarios & Notas",
"personal-explanation": "Esta clave es personal. No será compartida con ninguno de tus compañeros.",
"generate-random-hex": "Generar Hex aleatorio",
"digits": "dígitos",
"delete-key-dialog": {
"title": "Eliminar clave",
"confirm-delete-message": "¿Estás seguro de que quieres eliminar esta clave? Esta operación no se puede deshacer."
}
}
}

View File

@@ -0,0 +1,16 @@
{
"title": "Integraciones del proyecto",
"description": "Gestiona tus integraciones de Infisical con aplicaciones de terceros.",
"no-integrations1": "No tienes ninguna integración configurada. Cuando las tengas, aparecerán aquí.",
"no-integrations2": "Para empezar haz click en cualquiera de las opciones siguientes. Se necesitan tan solo 5 pasos.",
"available": "Integraciones con la nube",
"available-text1": "Haz click en la integración que quieras conectar. Esto hará que las variables de entorno se configuren automáticamente en los servicios de terceros seleccionados.",
"available-text2": "Nota: en la integración con Heroku, por motivos de seguridad, es imposible mantener el cifrado de extremo a extremo. En teoría, esto permite a Infisical descifrar tus variables de entorno. En la práctica, te podemos asegurar que esto nunca va a suceder. El núcleo del servicio Infisical siempre estará cifrado de extremo a extremo. Si tienes dudas, escríbenos a support@infisical.com.",
"cloud-integrations": "Integraciones con la nube",
"framework-integrations": "Integraciones con frameworks",
"click-to-start": "Haz click en una integración para empezar a sincronizar las claves.",
"click-to-setup": "Haz click en un framework para ver las instrucciones de uso.",
"grant-access-to-secrets": "Autorizar Infisical el acceso a tus claves",
"why-infisical-needs-access": "La mayoría de las integraciones en la nube requieren a Infisical tener permiso para descifrar tus claves, para que puedan ser enviadas.",
"grant-access-button": "Autorizar acceso"
}

View File

@@ -0,0 +1,10 @@
{
"title": "Iniciar sesión",
"og-title": "Iniciar sesión en Infisical",
"og-description": "Infisical a simple end-to-end encrypted platform that enables teams to sync and manage their .env files.",
"login": "Iniciar sesión",
"need-account": "¿Necesitas una cuenta de Infisical?",
"create-account": "Crea una cuenta",
"forgot-password": "¿Has olvidado tu contraseña?",
"error-login": "Datos incorrectos."
}

View File

@@ -0,0 +1,28 @@
{
"title": "Registrarse",
"og-title": "Reemplaza los archivos .env con una línea de código. Regístrate en Infisical en solo 3 minutos.",
"og-description": "Infisical es una plataforma sencilla cifrada de extremo a extremo que permite a equipos sincronizar y gestionar API-keys y variables de entorno. Funciona con Node.js, Next.js, Gatsby, Nest.js...",
"signup": "Registrarse",
"already-have-account": "¿Ya tienes una cuenta? Inicia sesión",
"forgot-password": "¿Has olvidado tu contraseña?",
"verify": "Verificar",
"step1-start": "Vamos a empezar",
"step1-privacy": "Al crear la cuenta, aceptas nuestros Términos y has leído y comprendido nuestra Política de privacidad.",
"step1-submit": "Empezar",
"step2-message": "Hemos enviado un código a",
"step2-code-error": "Oops. Tu código es incorrecto. Intentos restantes:",
"step2-resend-alert": "¿No ves el código?",
"step2-resend-submit": "Volver a enviar",
"step2-resend-progress": "Reenviando...",
"step2-spam-alert": "Asegúrate de comprobar la carpeta de spam.",
"step3-message": "¡Casi hemos terminado!",
"step4-message": "Guarda tu Kit de emergencia",
"step4-description1": "Si pierdes el acceso a tu cuenta, tu Kit de emergencia es la única forma de iniciar sesión.",
"step4-description2": "Te recomendamos que lo descargues y lo guardes en un sitio seguro.",
"step4-description3": "Contiene tu Clave secreta, a la que no tenemos acceso y tampoco podemos recuperar si la pierdes.",
"step4-download": "Descargar PDF",
"step5-send-invites": "Enviar invitaciones",
"step5-invite-team": "Invita a tu equipo",
"step5-subtitle": "Infisical está pensado para usarlo con tus compañeros. Invítalos a probarlo.",
"step5-skip": "Saltar"
}

View File

@@ -0,0 +1,22 @@
{
"support": {
"slack": "Unirse al Slack",
"docs": "Leer documentación",
"issue": "Abrir una Github Issue",
"email": "Envíanos un correo electrónico"
},
"user": {
"signed-in-as": "INICIADO COMO",
"current-organization": "ORGANIZACIÓN ACTUAL",
"usage-billing": "Uso & Facturación",
"invite": "Invitar miembros",
"other-organizations": "OTRA ORGANIZACIÓN"
},
"menu": {
"project": "PROYECTO",
"secrets": "Claves",
"members": "Miembros",
"integrations": "Integraciones",
"project-settings": "Configuración del proyecto"
}
}

View File

@@ -0,0 +1,13 @@
{
"api-keys": "Tokens de servicio",
"api-keys-description": "Cada token de servicio es específico para ti, para cada proyecto y para cada entorno en este proyecto.",
"add-new": "Añadir nuevo token",
"add-dialog": {
"title": "Añadir una API Key",
"description": "Especifica el nombre y el período de expiración. Cuando una API key es generada, solo podrás verla una vez hasta que desaparezca. Asegúrate de guardarla en algún lado.",
"name": "Nombre de la API Key",
"add": "Añadir API Key",
"copy-service-token": "Copia tu API key",
"copy-service-token-description": "Una vez que cierres esta ventana, no volverás a ver tu API key"
}
}

View File

@@ -0,0 +1,11 @@
{
"incident-contacts": "Contactos de incidencias",
"incident-contacts-description": "Estos contactos serán notificados en caso de una incidencia grave.",
"no-incident-contacts": "No se han encontrado contactos para incidencias.",
"add-contact": "Añadir contacto",
"add-dialog": {
"title": "Añadir un contacto de incidencias",
"description": "Este contacto será notificado en el caso de una incidencia grave.",
"add-incident": "Añadir contacto de incidencias"
}
}

View File

@@ -0,0 +1,14 @@
{
"add-member": "Añadir miembro",
"org-members": "Miembros de la organización",
"org-members-description": "Gestiona los miembros de tu organización. Estos usuarios podrán ser agrupados en proyectos más tarde.",
"search-members": "Buscar miembros...",
"add-dialog": {
"add-member-to-project": "Añadir un miembro al proyecto",
"already-all-invited": "Todos los uaurios en tu organización han sido invitados.",
"add-user-org-first": "Añadir primero más usuarios a la organización.",
"user-will-email": "El usuario recibirá un correo electrónico con la invitación.",
"looking-add": "<0>Si quieres añadir usuarios a tu organización, haz</0><1>click aquí</1>",
"add-user-to-org": "Añadir usuarios a la organización"
}
}

View File

@@ -0,0 +1,11 @@
{
"password": "Contraseña",
"change": "Cambiar contraseña",
"current": "Contraseña actual",
"current-wrong": "La contraseña actual puede puede que sea incorrecta",
"new": "Nueva contraseña",
"validate-base": "La contraseña debe contener como mínimo:",
"validate-length": "14 caracteres",
"validate-case": "1 letra en minúsculas",
"validate-number": "1 número"
}

View File

@@ -0,0 +1,13 @@
{
"service-tokens": "Tokens de servicio",
"service-tokens-description": "Cada token de servicio es específico para ti, para cada proyecto y para cada entorno en este proyectos.",
"add-new": "Añadir nuevo token",
"add-dialog": {
"title": "Añade un nuevo token de servicio para {{target}}",
"description": "Cuando se genera un token, solo podrás verlo una vez antes de que desaparezca. Asegúrate de guardarlo en algún lugar.",
"name": "Nombre del token de servicio",
"add": "Añadir token de servicio",
"copy-service-token": "Copiar tu token de servicio",
"copy-service-token-description": "Una vez cierres esta ventana, no volverás a ver tu token de nuevo"
}
}

View File

@@ -0,0 +1,4 @@
{
"title": "Miembros del proyecto",
"description": "Esta página muestra los miembros del proyecto seleccionado, y permite modificar sus permisos."
}

View File

@@ -0,0 +1,4 @@
{
"title": "Configuración de la organización",
"description": "Gestiona los miembros de tu organización. Estos usuarios podrán ser gestionados en proyectos más adelante."
}

View File

@@ -0,0 +1,16 @@
{
"title": "Preferencias personales",
"description": "Visualiza y gestiona aquí tu información personal.",
"emergency": {
"name": "Kit de emergencia",
"text1": "Tu Kit de emergencia contiene la información que necesitarás para iniciar sesión en tu cuenta de Infisical.",
"text2": "Solo el último Kit de emergencia descargado es válido. Para conseguir uno nuevo, introduce tu contraseña.",
"download": "Descargar Kit de emergencia"
},
"change-language": "Cambiar idioma",
"api-keys": {
"title": "API Keys",
"description": "Gestiona tus API Keys personales para acceder a la API de Infisical.",
"add-new": "Añadir"
}
}

View File

@@ -0,0 +1,15 @@
{
"title": "Configuración de proyecto",
"description": "Esta configuración solo afecta al proyecto seleccionado.",
"danger-zone": "Zona de peligro",
"delete-project": "Eliminar proyecto",
"project-to-delete": "Proyecto a eliminar",
"danger-zone-note": "Tan pronto como elimines el proyecto, no podrás volver atrás. Esto eliminará todas las claves. Si aún quieres hacerlo, introduce el nombre del proyecto a continuación.",
"delete-project-note": "Nota: Solo puedes eliminar un proyecto si tienes más de uno",
"project-id-description": "Para integrar Infisical en tu aplicación y obtener la inyección automática de variables de entorno, debes usar el siguiente ID de Proyecto.",
"project-id-description2": "Para más guías, incluyendo ejemplos de código en diferentes lenguajes y frameworks, visita ",
"auto-generated": "Este es el ID único y autogenerado de proyecto. No se puede modificar.",
"docs": "Documentación de Infisical",
"auto-capitalization": "Mayúsculas automáticas",
"auto-capitalization-description": "De acuerdo con los estándares, Infisical pondrá en mayúsculas tus claves. Si quieres desactivar esta funcionalidad, lo puedes hacer aquí."
}

View File

@@ -0,0 +1,28 @@
{
"title": "Registrarse",
"og-title": "Reemplaza los archivos .env con una línea de código. Regístrate en Infisical en solo 3 minutos.",
"og-description": "Infisical es una plataforma sencilla cifrada de extremo a extremo que permite a equipos sincronizar y gestionar API-keys y variables de entorno. Funciona con Node.js, Next.js, Gatsby, Nest.js...",
"signup": "Registrarse",
"already-have-account": "¿Ya tienes una cuenta? Inicia sesión",
"forgot-password": "¿Has olvidado tu contraseña?",
"verify": "Verificar",
"step1-start": "Vamos a empezar",
"step1-privacy": "Al crear la cuenta, aceptas nuestros Términos y has leído y comprendido nuestra Política de privacidad.",
"step1-submit": "Empezar",
"step2-message": "Hemos enviado un código a",
"step2-code-error": "Oops. Tu código es incorrecto. Intentos restantes:",
"step2-resend-alert": "¿No ves el código?",
"step2-resend-submit": "Volver a enviar",
"step2-resend-progress": "Reenviando...",
"step2-spam-alert": "Asegúrate de comprobar la carpeta de spam.",
"step3-message": "¡Casi hemos terminado!",
"step4-message": "Guarda tu Kit de emergencia",
"step4-description1": "Si pierdes el acceso a tu cuenta, tu Kit de emergencia es la única forma de iniciar sesión.",
"step4-description2": "Te recomendamos que lo descargues y lo guardes en un sitio seguro.",
"step4-description3": "Contiene tu Clave secreta, a la que no tenemos acceso y tampoco podemos recuperar si la pierdes.",
"step4-download": "Descargar PDF",
"step5-send-invites": "Enviar invitaciones",
"step5-invite-team": "Invita a tu equipo",
"step5-subtitle": "Infisical está pensado para usarlo con tus compañeros. Invítalos a probarlo.",
"step5-skip": "Saltar"
}

View File

@@ -1,8 +1,11 @@
{
"title": "Registro de Atividade",
"subtitle": "Histórico de eventos para esse projeto Infisical.",
"event": {
"readSecrets": "Segredos Visualizados",
"updateSecrets": "Segredos Atualizados",
"addSecrets": "Segredos Adicionados",
"deleteSecrets": "Segredos Excluídos"
}
}
},
"ip-address": "Endereço IP"
}

View File

@@ -3,10 +3,10 @@
"description": "Visualize e gerencie a assinatura da sua organização aqui",
"subscription": "Inscrição",
"starter": {
"name": "Iniciante",
"price-explanation": "Até 5 membros da equipe",
"name": "Base",
"price-explanation": "Até 5 membros de equipe",
"text": "Gerencie qualquer projeto com 5 membros gratuitamente!",
"subtext": "$5 por membro / mês depois."
"subtext": "$5 por membro adicional / mês."
},
"professional": {
"name": "Profissional",
@@ -21,8 +21,8 @@
"current-usage": "Uso atual",
"free": "Grátis",
"downgrade": "Reduzir",
"upgrade": "Melhoria",
"upgrade": "Melhorar",
"learn-more": "Saber Mais",
"custom-pricing": "Preço Personalizado",
"schedule-demo": "Agende uma Demonstração"
}
}

View File

@@ -8,7 +8,7 @@
"last-name": "Ultimo Nome",
"logout": "Sair",
"validate-required": "Por favor insira o seu {{name}}",
"maintenance-alert": "Estamos passando por pequenas dificuldades técnicas. Estamos trabalhando para resolvê-lo agora. Por favor, volte em alguns minutos.",
"maintenance-alert": "Estamos passando por pequenas dificuldades técnicas. Estamos trabalhando para resolvê-las agora. Por favor, volte dentro de alguns minutos.",
"click-to-copy": "Clique para copiar",
"project-id": "ID do Projeto",
"save-changes": "Salvar Alterações",
@@ -20,7 +20,15 @@
"display-name": "Nome de exibição",
"environment": "Ambiente",
"expired-in": "Expira em",
"language": "Linguagem",
"language": "Idioma",
"search": "Procurar...",
"note": "Note"
}
"note": "Note",
"view-more": "Ver mais",
"end-of-history": "Fim do Histórico",
"select-event": "Selecione um evento",
"event": "Evento",
"user": "Usuário",
"source": "Fonte",
"time": "Data/Hora",
"timestamp": "Timestamp"
}

View File

@@ -9,7 +9,7 @@
"shared": "Compartilhado",
"shared-description": "As chaves compartilhadas ficam visíveis para toda a sua equipe",
"make-shared": "Tornar Compartilhado",
"make-personal": "Tornar individual",
"make-personal": "Tornar Pessoal",
"check-docs": {
"button": "Checkar Documentação",
"title": "Bom trabalho!!",
@@ -24,7 +24,11 @@
"version-history": "Histórico da versão",
"comments": "Comentários e Notas",
"personal-explanation": "Este segredo é pessoal. Não é compartilhado com nenhum de seus colegas de equipe.",
"generate-random-hex": "Gerar Hex Aleatório",
"digits": "Digitos"
"generate-random-hex": "Gerar HEX Aleatório",
"digits": "gitos",
"delete-key-dialog": {
"title": "Excluir Chave",
"confirm-delete-message": "Você tem certeza que deseja excluir esta chave? Essa ação não pode ser desfeita."
}
}
}
}

View File

@@ -1,16 +1,16 @@
{
"title": "Integrações de Projetos",
"description": "Gerencie suas integrações da Infisical com serviços de terceiros.",
"no-integrations1": "Você ainda não tem integrações configuradas. Quando você fizer isso, eles aparecerão aqui.",
"no-integrations1": "Você ainda não tem integrações configuradas. Quando você fizer isso, elas aparecerão aqui.",
"no-integrations2": "Para começar, clique em qualquer uma das opções abaixo. Leva 5 cliques para configurar.",
"available": "Integrações de Plataforma e Nuvem",
"available": "Integrações de Plataforma e em Nuvem",
"available-text1": "Clique na integração que deseja conectar. Isso permitirá que suas variáveis de ambiente fluam automaticamente para serviços de terceiros selecionados.",
"available-text2": "Observação: durante uma integração com o Heroku, por questões de segurança, é impossível manter a criptografia de ponta a ponta. Em teoria, isso permite que o Infisical descriptografe suas variáveis de ambiente. Na prática, podemos garantir que isso nunca será feito e nos permite proteger seus segredos de pessoas mal-intencionadas online. O serviço básico da Infisical sempre permanecerá criptografado de ponta a ponta. Em caso de dúvidas, entre em contato com support@infisical.com.",
"cloud-integrations": "Integrações na Nuvem",
"framework-integrations": "Integrações de framework",
"cloud-integrations": "Integrações em Nuvem",
"framework-integrations": "Integrações com framework",
"click-to-start": "Clique em uma integração para começar a sincronizar segredos com ela.",
"click-to-setup": "Clique em uma estrutura para obter as instruções de configuração.",
"grant-access-to-secrets": "Conceda acesso Infisical aos seus segredos",
"why-infisical-needs-access": "A maioria das integrações em nuvem exige que o Infisical seja capaz de descriptografar seus segredos para que possam ser encaminhados.",
"why-infisical-needs-access": "A maioria das integrações em Nuvem exige que o Infisical seja capaz de descriptografar seus segredos para que possam ser encaminhados.",
"grant-access-button": "Garantir acesso"
}
}

View File

@@ -1,21 +1,25 @@
{
"title": "Inscrever-se",
"title": "Criar uma conta",
"og-title": "Substitua os arquivos .env por 1 linha de código. Cadastre-se no Infisical em 3 minutos.",
"og-description": "Infisical é uma plataforma criptografada de ponta a ponta simples que permite que as equipes sincronizem e gerenciem chaves de API e variáveis ambientais. Funciona com Node.js, Next.js, Gatsby, Nest.js...",
"signup": "Inscrever-se",
"signup": "Criar uma conta",
"already-have-account": "Possui uma conta? Conecte-se",
"forgot-password": "Esqueceu sua senha?",
"verify": "Verificar",
"step1-start": "Vamos começar",
"step1-privacy": "Ao criar uma conta, você concorda com nossos Termos e leu e reconheceu a Política de Privacidade.",
"step1-submit": "Iniciar",
"step1-privacy": "Ao criar uma conta, você concorda com nossos Termos e leu a Política de Privacidade.",
"step1-submit": "Começar",
"step2-message": "<wrapper>Enviamos um e-mail de verificação para</wrapper><email>{{email}}</email>",
"step2-code-error": "Ops. Seu código está errado. Tentativas restantes:",
"step2-spam-alert": "Certifique-se de verificar sua caixa de entrada de spam.",
"step2-spam-alert": "Lembre-se de verificar sua caixa de entrada de spam.",
"step3-message": "Quase lá!",
"step4-message": "Guarde o seu Kit de Emergência",
"step4-description1": "Se sua conta for bloqueada, seu Kit de emergência é a única maneira de fazer login.",
"step4-description2": "Recomendamos que você faça o download e guarde-o em algum lugar seguro.",
"step4-description3": "Ele contém sua chave secreta que não podemos acessar ou recuperar para você se você a perder.",
"step4-download": "Baixar PDF"
}
"step4-download": "Baixar PDF",
"step5-send-invites": "Enviar convites",
"step5-invite-team": "Convide sua equipe",
"step5-subtitle": "Infisical foi feito para ser usado com seus colegas. Convide-os para eles testarem também.",
"step5-skip": "Pular"
}

View File

@@ -1,11 +1,11 @@
{
"incident-contacts": "Contatos do Incidente",
"incident-contacts": "Contatos de Emergência",
"incident-contacts-description": "Esses contatos serão notificados no caso improvável de um incidente grave.",
"no-incident-contacts": "Nenhum contato de incidente encontrado.",
"no-incident-contacts": "Nenhum contato de emergência encontrado.",
"add-contact": "Adicionar contato",
"add-dialog": {
"title": "Adicionar um contato de incidente",
"title": "Adicionar um contato de emergência",
"description": "Este contato será notificado no caso improvável de um incidente grave.",
"add-incident": "Adicionar contato de incidente"
"add-incident": "Adicionar contato de emergência"
}
}
}

View File

@@ -1,7 +1,7 @@
{
"add-member": "Adicionar membro",
"org-members": "Membros da Organização",
"org-members-description": "Gerencie os membros da sua organização. Esses usuários poderiam posteriormente ser formados em projetos.",
"org-members-description": "Gerencie os membros da sua organização. Esses usuários poderiam posteriormente ser associados a projetos.",
"search-members": "Pesquisar membros...",
"add-dialog": {
"add-member-to-project": "Adicionar um membro ao seu projeto",
@@ -11,4 +11,4 @@
"looking-add": "<0>Se você deseja adicionar usuários à sua organização,</0><1>clique aqui</1>",
"add-user-to-org": "Adicionar usuários à organização"
}
}
}

View File

@@ -1,4 +1,4 @@
{
"title": "Configurações da organização",
"description": "Gerencie os membros da sua organização. Esses usuários poderiam posteriormente ser formados em projetos."
}
"description": "Gerencie os membros da sua organização. Esses usuários poderiam posteriormente ser associados a projetos."
}

View File

@@ -6,8 +6,10 @@
"project-to-delete": "Projeto a ser deletado",
"danger-zone-note": "Assim que você excluir este projeto, não poderá desfazê-lo. Isso removerá imediatamente todas as chaves. Se você ainda quiser fazer isso, digite o nome do projeto abaixo.",
"delete-project-note": "Observação: você só pode excluir um projeto caso tenha mais de um",
"project-id-description": "Para integrar Infisical em sua base de código e obter injeção automática de variáveis ambientais, você deve usar o seguinte ID do projeto.",
"project-id-description2": "Para obter mais orientações, incluindo trechos de código para várias linguagens e estruturas, consulte",
"auto-generated": "Este é o identificador exclusivo gerado automaticamente do seu projeto. Não pode ser alterado.",
"docs": "Documentação do Infisical"
}
"project-id-description": "Para integrar Infisical em sua base de código e obter injeção automática de variáveis de ambiente, você deve usar o seguinte ID do projeto.",
"project-id-description2": "Para obter mais orientações, incluindo trechos de código para várias linguagens e frameworks, consulte ",
"auto-generated": "Este é o identificador exclusivo - gerado automaticamente - do seu projeto. Não pode ser alterado.",
"docs": "Documentação do Infisical",
"auto-capitalization": "Converter em caixa alta automaticamente",
"auto-capitalization-description": "Por padrão, Infisical converte automaticamente as chaves em caixa alta. Se você quiser desativar essa funcionalidade, pode fazê-lo aqui."
}

View File

@@ -1,7 +1,7 @@
{
"title": "Inscrever-se",
"og-title": "Substitua os arquivos .env por 1 linha de código. Cadastre-se no Infisical em 3 minutos.",
"og-description": "Infisical é uma plataforma criptografada de ponta a ponta simples que permite que as equipes sincronizem e gerenciem chaves de API e variáveis ambientais. Funciona com Node.js, Next.js, Gatsby, Nest.js...",
"og-description": "Infisical é uma plataforma simples e criptografada de ponta a ponta que permite que as equipes sincronizem e gerenciem chaves de API e variáveis de ambiente. Funciona com Node.js, Next.js, Gatsby, Nest.js...",
"signup": "Inscrever-se",
"already-have-account": "Possui uma conta? Conecte-se",
"forgot-password": "Esqueceu sua senha?",
@@ -17,5 +17,9 @@
"step4-description1": "Se sua conta for bloqueada, seu Kit de emergência é a única maneira de fazer login.",
"step4-description2": "Recomendamos que você faça o download e guarde-o em algum lugar seguro.",
"step4-description3": "Ele contém sua chave secreta que não podemos acessar ou recuperar para você se você a perder.",
"step4-download": "Baixar PDF"
}
"step4-download": "Baixar PDF",
"step5-send-invites": "Enviar convites",
"step5-invite-team": "Convide sua equipe",
"step5-subtitle": "Infisical foi feito para ser usado com seus colegas. Convide-os para testar também.",
"step5-skip": "Pular"
}

View File

@@ -1,11 +0,0 @@
{
"title": "Registo de Atividade",
"subtitle": "Histórico de eventos para este projeto Infisical.",
"event": {
"readSecrets": "Segredos Vistos",
"updateSecrets": "Segredos Atualizados",
"addSecrets": "Segredos Adicionados",
"deleteSecrets": "Segredos Apagados"
},
"ip-address": "Endereço IP"
}

View File

@@ -1,28 +0,0 @@
{
"title": "Utilização & Faturação",
"description": "Vê e faz a gestão da subscrição da tua organização aqui",
"subscription": "Subscrição",
"starter": {
"name": "Base",
"price-explanation": "Até 5 membros de equipa",
"text": "Faz a gestão a qualquer projeto com 5 membros gratuitamente!",
"subtext": "$5 por membro adicional / mês."
},
"professional": {
"name": "Profissional",
"price-explanation": "/membro/mês",
"subtext": "Inclui projetos e membros ilimitados.",
"text": "Acompanha a gestão de chaves à medida que cresces."
},
"enterprise": {
"name": "Empresarial",
"text": "Acompanha a gestão de chaves à medida que cresces."
},
"current-usage": "Utilização atual",
"free": "Grátis",
"downgrade": "Reduzir",
"upgrade": "Melhorar",
"learn-more": "Saber mais",
"custom-pricing": "Preço personalizado",
"schedule-demo": "Marca uma demonstração"
}

View File

@@ -1,34 +0,0 @@
{
"head-title": "{{title}} | Infisical",
"error_project-already-exists": "Já existe um projeto com este nome.",
"no-mobile": "Para usar o Infisical, inicia a sessão através dum dispositivo com resolução maior.",
"email": "E-mail",
"password": "Palavra-passe",
"first-name": "Nome",
"last-name": "Apelido",
"logout": "Terminar sessão",
"validate-required": "Por favor, insire o teu {{name}}",
"maintenance-alert": "Estamos com pequenas dificuldades técnicas. Estamos a solucioná-las agora. Por favor, volte dentro de alguns minutos.",
"click-to-copy": "Clica para copiar",
"project-id": "ID do Projeto",
"save-changes": "Guardar alterações",
"saved": "Guardado",
"drop-zone": "Arrasta e solta um ficheiro .env ou .yml aqui.",
"drop-zone-keys": "Arrasta e solta um ficheiro .env ou .yml aqui para adicionar mais segredos.",
"role": "Função",
"role_admin": "Administrador",
"display-name": "Nome de exibição",
"environment": "Ambiente",
"expired-in": "Expira em",
"language": "Idioma",
"search": "Pequisar...",
"note": "Note",
"view-more": "Ver mais",
"end-of-history": "Fim do histórico",
"select-event": "Escolhe um evento",
"event": "Evento",
"user": "Utilizador",
"source": "Fonte",
"time": "Data/Hora",
"timestamp": "Timestamp"
}

View File

@@ -1,36 +0,0 @@
{
"title": "Segredos",
"og-title": "Faz a gestão os teus ficheiros .env em segundos",
"og-description": "Infisical é uma plataforma simples e criptografada de ponta a ponta que permite que as equipas sincronizem e façam a gestão dos seus ficheiros .env.",
"search-keys": "Pesquisar chaves...",
"add-key": "Adicionar chave",
"personal": "Pessoal",
"personal-description": "As chaves pessoais são visíveis apenas para si",
"shared": "Partilhado",
"shared-description": "As chaves partilhadas são visíveis para toda tua equipa",
"make-shared": "Partilhar",
"make-personal": "Tornar pessoal",
"add-secret": "Adicionar um novo segredo",
"check-docs": {
"button": "Verificar documentação",
"title": "Bom trabalho!",
"line1": "Parabéns por adicionar mais segredos.",
"line2": "Veja como conectá-los à tua codebase."
},
"sidebar": {
"secret": "Segredo",
"key": "Chave",
"value": "Valor",
"override": "Substitui o valor por um valor pessoal",
"version-history": "Histórico da versões",
"comments": "Comentários e Notas",
"personal-explanation": "Este segredo é pessoal. Não é partilhado com nenhum dos seus colegas de equipa.",
"generate-random-hex": "Criar código HEX aleatório",
"digits": "digitos",
"delete-key-dialog": {
"title": "Apagar chave",
"confirm-delete-message": "Tens a certeza que queres apagar esta chave? Esta ação não pode ser desfeita."
}
}
}

View File

@@ -1,16 +0,0 @@
{
"title": "Integrações do Projeto",
"description": "Faz a gestão das tuas integrações do Infisical com serviços de terceiros.",
"no-integrations1": "Ainda não tens nenhuma integração definida. Quando o fizer, aparecerá aqui.",
"no-integrations2": "Para começar, clica em qualquer uma das opções abaixo. São necessários 5 cliques para configurar.",
"available": "Integrações de Plataforma & Cloud",
"available-text1": "Clica na integração que pretende ligar. Isto irá permitir que as tuas variáveis de ambiente fluam automaticamente para os serviços de terceiros selecionados.",
"available-text2": "Nota: durante uma integração com o Heroku, por razões de segurança, não é possível manter a criptografia de ponta a ponta. Teoricamente, isto permite que o Infisical decifre as suas variáveis de ambiente. Na prática, podemos assegurar-lhe que isto nunca será feito, e permite-nos proteger os teus segredos de atores mal-intencionados online. O serviço Infisical mantém-se sempre criptografado de ponta a ponta. Para qualquer dúvida, contacte support@infisical.com.",
"cloud-integrations": "Integrações de Cloud",
"framework-integrations": "Integrações de Framework",
"click-to-start": "Clica numa integração para começar a sincronizar segredos.",
"click-to-setup": "Clique num framework para obter as instruções de configuração.",
"grant-access-to-secrets": "Conceda acesso ao Infisical aos teus segredos",
"why-infisical-needs-access": "A maioria das integrações de cloud requerem que o Infisical possa decifrar os teus segredos para que possam ser encaminhados.",
"grant-access-button": "Conceder acesso"
}

View File

@@ -1,10 +0,0 @@
{
"title": "Iniciar sessão",
"og-title": "Iniciar sessão na Infisical",
"og-description": "Infisical é uma plataforma simples e criptografada que permite às equipas sincronizar e fazer a gestão dos seus ficheiros .env.",
"login": "Iniciar sessão",
"need-account": "Precisa de uma conta Infisical?",
"create-account": "Regista-te",
"forgot-password": "Esqueceste da tua palavra-passe?",
"error-login": "Credenciais erradas."
}

View File

@@ -1,28 +0,0 @@
{
"title": "Registar",
"og-title": "Substitui os ficheiros .env com 1 linha de código. Regista-te na Infisical em 3 minutos.",
"og-description": "Infisical é uma plataforma simples e encriptada de ponta a ponta que permite às equipas sincronizar e gerir chaves API e variáveis de ambiente. Funciona com Node.js, Next.js, Gatsby, Nest.js...",
"signup": "Registar",
"already-have-account": "Já tens uma conta? Inicia a sessão",
"forgot-password": "Esqueceste da palavra-passe?",
"verify": "Verificar",
"step1-start": "Vamos começar",
"step1-privacy": "Ao criares uma conta, concorda com os nossos Termos e leu a Política de Privacidade.",
"step1-submit": "Começar",
"step2-message": "Enviámos um código de verificação para",
"step2-code-error": "Epá! O seu código está errado. Tentativas restantes:",
"step2-resend-alert": "Não vês o código?",
"step2-resend-submit": "Reenviar",
"step2-resend-progress": "A reenviar...",
"step2-spam-alert": "Não te esqueças de verificar a tua caixa de spam.",
"step3-message": "Tá quase!",
"step4-message": "Guarda o teu Kit de Emergência",
"step4-description1": "Se perderes o acesso a tua conta, o teu Kit de Emergência é a única forma de iniciares a sessão.",
"step4-description2": "Recomendamos que o descarregues e guardes num local seguro.",
"step4-description3": "Contém a sua Chave Secreta que não podemos aceder nem recuperar para si se a perder.",
"step4-download": "Descarregar PDF",
"step5-send-invites": "Enviar Convites",
"step5-invite-team": "Convida a tua equipa",
"step5-subtitle": "A Infisical é pensada para ser usada com a tua equipa. Convida-os para testar.",
"step5-skip": "Saltar"
}

View File

@@ -1,22 +0,0 @@
{
"support": {
"slack": "Partipa do Slack",
"docs": "Leia a documentação",
"issue": "Abra um issue no Github",
"email": "Envia-nos um email"
},
"user": {
"signed-in-as": "SESSÃO INICIADA COMO",
"current-organization": "ORGANIZAÇÃO ATUAL",
"usage-billing": "Utilização e Faturação",
"invite": "Convida Membros",
"other-organizations": "OUTRA ORGANIZAÇÃO"
},
"menu": {
"project": "PROJETO",
"secrets": "Segredos",
"members": "Membros",
"integrations": "Integrações",
"project-settings": "Definições do Projeto"
}
}

View File

@@ -1,11 +0,0 @@
{
"incident-contacts": "Contactos de Emergência",
"incident-contacts-description": "Estes contactos serão notificados no caso improvável de um incidente grave.",
"no-incident-contacts": "Nenhum contacto de emergência encontrado.",
"add-contact": "Adicionar Contacto",
"add-dialog": {
"title": "Adicionar um Contacto de Emergência",
"description": "Este contacto será notificado no caso improvável de um incidente grave.",
"add-incident": "Adicionar Contacto de Emergência"
}
}

View File

@@ -1,14 +0,0 @@
{
"add-member": "Adicionar Membro",
"org-members": "Membros da Organização",
"org-members-description": "Faz a gestão dos membros da tua organização. Estes utilizadores poderão depois ser organizados em projetos.",
"search-members": "Procurar membros...",
"add-dialog": {
"add-member-to-project": "Adicionar um membro ao teu projeto",
"already-all-invited": "Todos os utilizadores da tua organização já foram convidados.",
"add-user-org-first": "Adicione mais utilizadores à organização primeiro.",
"user-will-email": "O utilizador receberá um e-mail com as instruções.",
"looking-add": "<0>Se estás à procura de adicionar utilizadores à tua organização,</0><1>clica aqui</1>",
"add-user-to-org": "Adicionar Utilizadores à Organização"
}
}

View File

@@ -1,11 +0,0 @@
{
"password": "Palavra-passe",
"change": "Alterar palavra-passe",
"current": "Palavra-passe atual",
"current-wrong": "A palavra-passe atual pode estar errada",
"new": "Nova palavra-passe",
"validate-base": "A palavra-passe deve ter ao menos:",
"validate-length": "14 caracteres",
"validate-case": "1 letra minúscula",
"validate-number": "1 número"
}

View File

@@ -1,13 +0,0 @@
{
"service-tokens": "Tokens de Serviço",
"service-tokens-description": "Cada token de serviço é específico para si, um determinado projeto e um determinado ambiente dentro deste projeto.",
"add-new": "Adicionar Novo Token",
"add-dialog" : {
"title": "Adicionar um token de serviço para {{target}}",
"description": "Quando um token é criado, só poderá vê-lo uma vez antes dele desaparecer. Certifique-se de o guardar num local seguro.",
"name": "Nome do Token de Serviço",
"add": "Adicionar Token de Serviço",
"copy-service-token": "Copia o seu token de serviço",
"copy-service-token-description": "Uma vez que fechar esta janela, nunca mais irás ver o teu token de serviço"
}
}

View File

@@ -1,4 +0,0 @@
{
"title": "Membros do Projeto",
"description": "Esta página mostra os membros do projeto selecionado e permite-lhe modificar as suas permissões."
}

View File

@@ -1,4 +0,0 @@
{
"title": "Definições da Organização",
"description": "Faz a gestão dos membros da sua organização. Estes utilizadores depois poderão ser organizados em projetos."
}

View File

@@ -1,16 +0,0 @@
{
"title": "Definições Pessoais",
"description": "Vê e faz a gestão das tuas informações pessoais aqui.",
"emergency": {
"name": "Kit de Emergência",
"text1": "O seu Kit de Emergência contém as informações que necessita para aceder à sua conta Infisical.",
"text2": "Apenas o último Kit de Emergência emitido é válido. Para obter um novo Kit de Emergência, verifique a sua palavra-passe.",
"download": "Descarregar Kit de Emergência"
},
"change-language": "Alterar Idioma",
"api-keys": {
"title": "Chaves API",
"description": "Faz a gestão das suas chaves API pessoais para aceder à API Infisical.",
"add-new": "Adicionar nova"
}
}

View File

@@ -1,15 +0,0 @@
{
"title": "Definições do Projeto",
"description": "Estas definições só se aplicam ao Projeto selecionado.",
"danger-zone": "Zona de Perigo",
"delete-project": "Apagar Projeto",
"project-to-delete": "Projeto a Apagar",
"danger-zone-note": "Assim que apares este projeto, não poderás desfazer a ação. Isto irá apagar imediatamente todas as chaves. Se ainda quiseres fazer isso, insere o nome do projeto abaixo.",
"delete-project-note": "Nota: Só podes eliminar algum projeto caso tenhas mais do que um",
"project-id-description": "Para integrar o Infisical no seu código e obter a injeção automática de variáveis de ambiente, deve usar o seguinte ID de Projeto.",
"project-id-description2": "Para obter mais orientações, incluindo trechos de código para várias linguagens e frameworks, consulte ",
"auto-generated": "Este é o identificador único - criado automaticamente - do teu projeto. Não pode ser alterado.",
"docs": "Documentação do Infisical",
"auto-capitalization": "Converter em maísculas automaticamente",
"auto-capitalization-description": "Por defeito, o Infisical irá converter o texto das tuas chaves em maísculas automaticamente. Se quiser desativar este recurso, pode fazê-lo aqui."
}

View File

@@ -1,28 +0,0 @@
{
"title": "Registar",
"og-title": "Substitua os ficheiros .env com 1 linha de código. Regista-te na Infisical em 3 minutos.",
"og-description": "Infisical é uma plataforma simples e end-to-end encriptada que permite às equipas sincronizar e gerir chaves API e variáveis de ambiente. Funciona com Node.js, Next.js, Gatsby, Nest.js...",
"signup": "Registar",
"already-have-account": "Já tens uma conta? Inicia a sessão",
"forgot-password": "Esqueceste da palavra-passe?",
"verify": "Verificar",
"step1-start": "Vamos começar",
"step1-privacy": "Ao criares uma conta, concorda com os nossos Termos e leu a Política de Privacidade.",
"step1-submit": "Começar",
"step2-message": "Enviámos um código de verificação para",
"step2-code-error": "Epá! O seu código está errado. Por favor, tenta novamente.",
"step2-resend-alert": "Não vês o código?",
"step2-resend-submit": "Reenviar",
"step2-resend-progress": "A reenviar...",
"step2-spam-alert": "Não te esqueças de verificar a sua caixa de spam.",
"step3-message": "Tá quase!",
"step4-message": "Guarda o teu Kit de Emergência",
"step4-description1": "Se perderes o acesso a tua conta, o teu Kit de Emergência é a única forma de iniciares a sessão.",
"step4-description2": "Recomendamos que o descarregues e guardes num local seguro.",
"step4-description3": "Contém a sua Chave Secreta que não podemos aceder nem recuperar para si se a perder.",
"step4-download": "Descarregar PDF",
"step5-send-invites": "Enviar Convites",
"step5-invite-team": "Convida a tua equipa",
"step5-subtitle": "A Infisical é pensada para ser usada com a tua equipa. Convida-os para testar",
"step5-skip": "Saltar"
}

View File

@@ -219,8 +219,7 @@ export default function Dashboard() {
(async () => {
if (router.isReady && workspaceId === 'undefined') {
router.push('/noprojects');
}
try {
} else try {
const { push, query } = router
const tempNumSnapshots = await getProjectSercetSnapshotsCount({
workspaceId

View File

@@ -33,7 +33,7 @@ export default function Login() {
let userWorkspace;
try {
const userWorkspaces = await getWorkspaces();
userWorkspace = userWorkspaces[0]._id;
userWorkspace = userWorkspaces[0] && userWorkspaces[0]._id;
router.push(`/dashboard/${userWorkspace}`);
} catch (error) {
console.log('Error - Not logged in yet');
@@ -90,7 +90,7 @@ export default function Login() {
<ListBox
isSelected={lang}
onChange={setLanguage}
data={['en', 'ko', 'fr', 'pt-BR', 'pt-PT']}
data={['en', 'ko', 'fr', 'pt-BR']}
isFull
text={`${t('common:language')}: `}
/>

View File

@@ -96,7 +96,7 @@ export default function PersonalSettings() {
<ListBox
isSelected={lang}
onChange={setLanguage}
data={['en', 'ko', 'fr']}
data={['en', 'ko', 'fr', 'es']}
text={`${t('common:language')}: `}
/>
</div>

View File

@@ -25,6 +25,6 @@
"jsx": "preserve",
"incremental": true
},
"include": ["next-env.d.ts", "./src/**/*.ts", "./src/**/*.tsx", "./.eslintrc.js"],
"include": ["next-i18next.config.js", "next-env.d.ts", "./src/**/*.ts", "./src/**/*.tsx", "./.eslintrc.js"],
"exclude": ["node_modules"]
}

View File

@@ -44,6 +44,7 @@
<kbd>[<img title="Türkisch" alt="Türkisch" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tr.svg" width="22">](i18n/README.tr.md)</kbd>
<kbd>[<img title="Bahasa Indonesisch" alt="Bahasa Indonesisch" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/id.svg" width="22">](i18n/README.id.md)</kbd>
<kbd>[<img title="Portugiesisch-Brasilianisch" alt="Portugiesisch-Brasilianisch" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/br.svg" width="22">](i18n/README.pt-br.md)</kbd>
<kbd>[<img title="Japanese" alt="Japanese language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/jp.svg" width="22">](i18n/README.ja.md)</kbd>
**[Infisical](https://infisical.com)** ist ein Open-Source, End-To-End-Verschlüsseltes Verwaltungstool für Private Schlüssel (Secrets), mit welchem sich API-Keys und Konfigurationen zentral verwalten lassen. Von Infisical aus kannst du deine Schlüssel in deinen ganzen Entwicklungsprozess (Lokal, Staging, Live) integrieren. Es ist leicht verständlich und benutzerfreundlich aufgebaut.

View File

@@ -43,6 +43,7 @@
<kbd>[<img title="Korean" alt="Korean language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/kr.svg" width="22">](i18n/README.ko.md)</kbd>
<kbd>[<img title="Turkish" alt="Turkish language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tr.svg" width="22">](i18n/README.tr.md)</kbd>
<kbd>[<img title="Bahasa Indonesia" alt="Bahasa Indonesia language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/id.svg" width="22">](i18n/README.id.md)</kbd>
<kbd>[<img title="Japanese" alt="Japanese language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/jp.svg" width="22">](i18n/README.ja.md)</kbd>
**[Infisical](https://infisical.com)** is an open source, end-to-end encrypted secret manager which you can use to centralize your API keys and configs. From Infisical, you can then distribute these secrets across your whole development lifecycle - from development to production . It's designed to be simple and take minutes to get going.

View File

@@ -43,6 +43,7 @@
<kbd>[<img title="Korean" alt="Korean language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/kr.svg" width="22">](i18n/README.ko.md)</kbd>
<kbd>[<img title="Turkish" alt="Turkish language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tr.svg" width="22">](i18n/README.tr.md)</kbd>
<kbd>[<img title="Bahasa Indonesia" alt="Bahasa Indonesia language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/id.svg" width="22">](i18n/README.id.md)</kbd>
<kbd>[<img title="Japanese" alt="Japanese language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/jp.svg" width="22">](i18n/README.ja.md)</kbd>
**[Infisical](https://infisical.com)** adalah alat E2EE sumber terbuka untuk membantu tim mengelola dan menyinkronkan rahasia dan konfigurasi di seluruh alur kerja dan infrastruktur pengembangan mereka. Ini dirancang agar sederhana dan membutuhkan beberapa menit untuk memulai.

367
i18n/README.ja.md Normal file

File diff suppressed because one or more lines are too long

View File

@@ -44,6 +44,7 @@
<kbd>[<img title="Turco" alt="Turco" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/tr.svg" width="22">](i18n/README.tr.md)</kbd>
<kbd>[<img title="Bahasa Indonesia" alt="Bahasa Indonesia" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/id.svg" width="22">](i18n/README.id.md)</kbd>
<kbd>[<img title="Português - Brasil" alt="Português - Brasil" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/br.svg" width="22">](i18n/README.id.md)</kbd>
<kbd>[<img title="Japanese" alt="Japanese language" src="https://cdn.staticaly.com/gh/hjnilsson/country-flags/master/svg/jp.svg" width="22">](i18n/README.ja.md)</kbd>
**[Infisical](https://infisical.com)** é uma ferramenta de código aberto para gerenciamento de segredos encriptados ponta-a-ponta que você pode usar para centralizar suas chaves e configurações. A partir do Infisical, você pode distribuir esses segredos em todo o seu ciclo de vida de desenvolvimento - desde o desenvolvimento até a produção. Ele foi projetado para ser simples e levar minutos para começar.