Skip to content

Add Spanish #2693

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: v3
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions frontend/check-locales.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ const allLocales = [
["en", "en-US"],
["de", "de-DE"],
["fa", "fa-IR"],
["es", "es-ES"],
];

const ignoreUnused = [
Expand Down
7 changes: 7 additions & 0 deletions frontend/src/locale/IntlProvider.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { createIntl, createIntlCache } from "react-intl";
import langDe from "./lang/de.json";
import langEn from "./lang/en.json";
import langFa from "./lang/fa.json";
import langEs from "./lang/es.json";
import langList from "./lang/lang-list.json";

// first item of each array should be the language code,
Expand All @@ -12,6 +13,7 @@ const localeOptions = [
["en", "en-US"],
["de", "de-DE"],
["fa", "fa-IR"],
["es", "es-ES"],
];

const loadMessages = (locale?: string): typeof langList & typeof langEn => {
Expand All @@ -21,6 +23,8 @@ const loadMessages = (locale?: string): typeof langList & typeof langEn => {
return Object.assign({}, langList, langEn, langDe);
case "fa":
return Object.assign({}, langList, langEn, langFa);
case "es":
return Object.assign({}, langList, langEn, langEs);
default:
return Object.assign({}, langList, langEn);
}
Expand All @@ -34,6 +38,9 @@ const getFlagCodeForLocale = (locale?: string) => {
case "fa-IR":
case "fa":
return "IR";
case "es-ES":
case "es":
return "ES";
default:
return "US";
}
Expand Down
3 changes: 3 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/AccessLists.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Access Lists Help

todo
30 changes: 30 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/CertificateAuthorities.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Ayuda de Autoridades de Certificación

## ¿Qué es una Autoridad de Certificación?

Una **Autoridad de Certificación (AC)**, también conocida como una
**Autoridad de Certificación**, es una empresa u organización que actúa para validar
las identidades de entidades (como sitios web, direcciones de correo electrónico,
empresas o personas individuales) y vincularlos a claves criptográficas mediante la
emisión de documentos electrónicos conocidos como certificados digitales.

## ¿Cuál AC debo utilizar?

No todas las AC son creadas iguales y estaría bien utilizar la predeterminada,
ZeroSSL.

Cuando se utiliza otra AC, vale la pena considerar el soporte de comodines y el
número de hosts por certificado que admite.

## ¿Puedo utilizar mi propia AC personalizada?

Sí, puede ejecutar su propio software de AC. Solo lo haría si tiene una comprensión
mayor del ecosistema SSL.

Al solicitar certificados SSL a través de su propia AC y aunque sean exitosos, los
navegadores no confiarán automáticamente en su AC y visitar hosts que usan
certificados emitidos por esa AC mostrará errores.


- [StepCA](https://smallstep.com/docs/step-ca)
- [Pebble](https://github.com/letsencrypt/pebble)
37 changes: 37 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/Certificates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Ayuda con Certificados

## Certificado HTTP

Un certificado validado por HTTP significa que la Autoridad de Certificación (CA)
intentará llegar a sus dominios a través de HTTP (¡no HTTPS!) y, si tiene éxito,
la CA emitirá su certificado.

Para este método, deberá tener un _Host_ creado para su(s) dominio(s) que sea
accesible con HTTP. Después de que se le haya otorgado un certificado, puede
modificar el _Host_ para que también use este certificado para conexiones HTTPS.
Sin embargo, el _Host_ todavía deberá estar configurado para el acceso HTTP para
que el certificado se renueve.

## Certificado DNS

Un certificado validado por DNS requiere que cree un proveedor de DNS. Este
proveedor de DNS se utilizará para crear registros temporales en su dominio y
luego la CA consultará esos registros para asegurarse de que usted es el
propietario y, si tiene éxito, la CA emitirá su certificado.

No necesita que se cree un _Host_ antes de solicitar este tipo de certificado.
Tampoco necesita que su _Host_ esté configurado para el acceso HTTP.

## Certificado Personalizado

Use esta opción para cargar su propio certificado SSL, proporcionado por su
propia Autoridad de Certificación.

## Certificado MKCert

Esta opción creará un certificado autofirmado para uso en desarrollo. Al ver
un _Host_ que utiliza un Certificado MKCert, el navegador mostrará errores.

## Elección de una Autoridad de Certificación

Si no está seguro, use **ZeroSSL.**
15 changes: 15 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/DNSProviders.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# Ayuda de Proveedores de DNS

Un Proveedor de DNS es un servicio que hospeda sus dominios y esto se
usará específicamente al solicitar nuevos _Certificados_ a través de la
Validación DNS.

Se prefiere utilizar la Validación DNS, así que verifique si su dominio
está alojado en uno de los proveedores admitidos de Acme.sh:

- [DNS Página 1](https://github.com/acmesh-official/acme.sh/wiki/dnsapi)
- [DNS Página 2](https://github.com/acmesh-official/acme.sh/wiki/dnsapi2)

Si su proveedor DNS es compatible con Acme.sh y no está disponible en
este proyecto, por favor
[open an issue on Github](https://github.com/NginxProxyManager/nginx-proxy-manager/issues/new/choose).
3 changes: 3 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/Hosts copy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Hosts Help

todo
3 changes: 3 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/Hosts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Hosts Help

todo
3 changes: 3 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/NginxTemplates.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Nginx Templates Help

todo
3 changes: 3 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/Upstreams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Upstreams Help

todo
7 changes: 7 additions & 0 deletions frontend/src/locale/src/HelpDoc/es/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
export * as AccessLists from "./AccessLists.md";
export * as Certificates from "./Certificates.md";
export * as CertificateAuthorities from "./CertificateAuthorities.md";
export * as DNSProviders from "./DNSProviders.md";
export * as Hosts from "./Hosts.md";
export * as NginxTemplates from "./NginxTemplates.md";
export * as Upstreams from "./Upstreams.md";
3 changes: 2 additions & 1 deletion frontend/src/locale/src/HelpDoc/index.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
import * as de from "./de/index";
import * as en from "./en/index";
import * as fa from "./fa/index";
import * as es from "./es/index";

const items: any = { de, en, fa };
const items: any = { de, en, fa, es };

export const getHelpFile = (lang: string, section: string): string => {
if (
Expand Down
Loading