chore(i18n,docs): processed translations (#45685)
This commit is contained in:
@ -14,7 +14,7 @@ Primero, visita el archivo `config/i18n/all-langs.ts` para agregar el idioma a l
|
||||
- `auditedCerts`: Agrega el nombre del texto como la _clave_, y añade un arreglo de variables de `SuperBlocks.{cert}` como el _value_. Esto le dice al cliente qué certificaciones están totalmente traducidas.
|
||||
- `i18nextCodes`: Estos son los codigos de idioma ISO para cada lenguaje. Necesitarás añadir el código ISO apropiado para el idioma que estás activando. Estos deben ser únicos para cada lenguaje.
|
||||
- `langDisplayNames`: Estos son los nombres que se muestran en el selector de idioma en el menú de navegación.
|
||||
- `langCodes`: These are the language codes used for formatting dates and numbers. Estos deben ser códigos CLDR Unicode en lugar de códigos ISO.
|
||||
- `langCodes`: Estos son los códigos de idioma utilizados para el formateo de fechas y números. Estos deben ser códigos CLDR Unicode en lugar de códigos ISO.
|
||||
|
||||
Por ejemplo, si quisieras habilitar Dothraki como un lenguaje, tus objetos `all-langs.js` deberían verse así:
|
||||
|
||||
@ -131,7 +131,7 @@ CURRICULUM_LOCALE="dothraki"
|
||||
|
||||
## Habilitar Videos Localizados
|
||||
|
||||
For the video challenges, you need to change a few things. First add the new locale to the GraphQL query in the `client/src/templates/Challenges/video/Show.tsx` file. For example, adding Dothraki to the query:
|
||||
Para los desafíos de vídeo, tienes que cambiar algunas cosas. Primero agregue la nueva configuración regional a la consulta GraphQL en el archivo `client/src/templates/Challenges/video/Show.tsx`. Por ejemplo, agregando Dothraki a la consulta:
|
||||
|
||||
```tsx
|
||||
query VideoChallenge($slug: String!) {
|
||||
@ -146,7 +146,7 @@ For the video challenges, you need to change a few things. First add the new loc
|
||||
...
|
||||
```
|
||||
|
||||
Then add an id for the new language to any video challenge in an audited block. For example, if `auditedCerts` in `all-langs.ts` includes `scientific-computing-with-python` for `dothraki`, then you must add a `dothraki` entry in `videoLocaleIds`. The frontmatter should then look like this:
|
||||
Luego, agregue una identificación para el nuevo idioma a cualquier desafío de video en un bloque auditado. Por ejemplo, si `auditedCerts` en `all-langs.ts` incluye `scientific-computing-with-python` para `dothraki`, luego debe agregar una entrada `dothraki` en `videoLocaleIds`. La portada debería verse así:
|
||||
|
||||
```yml
|
||||
videoLocaleIds:
|
||||
@ -158,7 +158,7 @@ dashedName: introduction-why-program
|
||||
---
|
||||
```
|
||||
|
||||
Update the `VideoLocaleIds` interface in `client/src/redux/prop-types` to include the new language.
|
||||
Actualice la interfaz `VideoLocaleIds` en `client/src/redux/prop-types` para incluir el nuevo idioma.
|
||||
|
||||
```ts
|
||||
export interface VideoLocaleIds {
|
||||
@ -169,7 +169,7 @@ export interface VideoLocaleIds {
|
||||
}
|
||||
```
|
||||
|
||||
And finally update the challenge schema in `curriculum/schema/challengeSchema.js`.
|
||||
Y finalmente actualice el esquema de desafío en `curriculum/schema/challengeSchema.js`.
|
||||
|
||||
```js
|
||||
videoLocaleIds: Joi.when('challengeType', {
|
||||
@ -185,10 +185,10 @@ videoLocaleIds: Joi.when('challengeType', {
|
||||
|
||||
## Cargando traducciones
|
||||
|
||||
Because the language has not been approved for production, our scripts are not automatically downloading the translations yet. Only staff have the access to directly download the translations - you are welcome to reach out to us in our [contributors chat room](https://chat.freecodecamp.org/channel/contributors), or you can translate the English markdown files locally for testing purposes.
|
||||
Como el lenguaje no ha sido aprovado para producción, nuestros scripts aún no descargan las traducciones de manera automática. Sólo el personal tiene acceso a la descarga directa de traducciones. Eres bienvenido a comunicarte con nosotros en nuestra [sala de chat para contribuidores](https://chat.freecodecamp.org/channel/contributors), o puedes traducir los archivos markdown localmente con razones de testeo.
|
||||
|
||||
Once you have the files, you will need to place them in the correct directory. For the curriculum challenges, you should place the certification folders (i.e. `01-responsive-web-design`) within the `curriculum/challenges/{lang}` directory. For our Dothraki translations, this would be `curriculum/challenges/dothraki`. The client translation `.json` files will go in the `client/i18n/locales/{lang}` directory.
|
||||
Una vez que poseas los archivos, necesitarás colocarlos en el directorio correcto. Para los retos del plan de estudios, debe colocar las carpetas de certificación (por ejemplo, `01-responsive-web-design`) dentro del directorio `curriculum/challenges/{lang}`. En el caso de nuestras traducciones al dothraki, sería `curriculum/challenges/dothraki`. Los archivos `.json` del cliente deberán colocarse en el directorio `client/i18n/locales/{lang}`.
|
||||
|
||||
Once these are in place, you should be able to run `npm run develop` to view your translated version of freeCodeCamp.
|
||||
Una vez que estos esten en su lugar, deberías ser capaz de correr `npm run develop` para ver tu versión traducida de freeCodeCamp.
|
||||
|
||||
> [!ATTENTION] While you may perform translations locally for the purpose of testing, we remind everyone that translations should _not_ be submitted through GitHub and should only be done through Crowdin. Be sure to reset your local codebase after you are done testing.
|
||||
> [!ATTENTION] Si bien puedes realizar traducciones localmente con motivos de prueba, le recordamos a todos que las traducciones _no_ deben ser enviadas a través de GitHub, estas deben ser enviadas únicamente a traves de Crowdin. Asegúrate de reestablecer tu base de código local despues de que hayas finalizado con las pruebas.
|
||||
|
@ -124,48 +124,48 @@ El RPG LearnToCode se ejecuta en Ren'Py, que utiliza una sintaxis especial para
|
||||
- Las oraciones a traducir están siempre entre `""`. Estos son diálogos o cadenas de interfaz de usuario. Las palabras clave que vienen antes o después del diálogo son palabras clave de control del motor del juego y se explicarán en detalle en las reglas posteriores. Tenga en cuenta que esta primera regla rige todas las reglas posteriores enumeradas.
|
||||
- En el caso de `new "..."` No traduzcas la palabra clave `new`.
|
||||
- Prefijos como `player`, `annika`, `layla`, `marco` (o variantes como `player happy`, `player @ happy`) no deben traducirse. Estas son palabras clave de control para mostrar correctamente el sprite del personaje en el juego.
|
||||
- Postfixes like `nointeract` should not be translated.
|
||||
- Do not translate things between `[]` and `{}`. These are variable interpolations and text tags. These must remain halfwidth parentheses `[]` and `{}` instead of their fullwidth counterparts `【】` and `「」`
|
||||
- Do not translate the `nointeract` keyword at the end of the sentence.
|
||||
- If we try to use fullwidth parentheses `()`, a QA warning will show. To avoid the QA warning, use halfwidth parentheses `()`
|
||||
- Postfixes como `nointeract` no deben ser traducidos.
|
||||
- No traduzca cosas entre `[]` y `{}`. Estas son interpolaciones variables y etiquetas de texto. Estos deben permanecer entre paréntesis de media anchura `[]` y `{}` en lugar de sus homólogos de ancho completo `【】` y `「」`
|
||||
- No traduzca la palabra clave `nointeract` al final de la oración.
|
||||
- Si intentamos usar paréntesis de ancho completo `()`, se mostrará una advertencia de QA. Para evitar la advertencia de QA, utilice paréntesis de ancho medio `()`
|
||||
|
||||
### Examples
|
||||
### Ejemplos
|
||||
|
||||
---
|
||||
|
||||
#### Before translation
|
||||
#### Antes de traducir
|
||||
|
||||
```renpy
|
||||
# "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."
|
||||
"[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that." <--- this is the line that needs to be translated. see translation below
|
||||
# "[player_name]? ¡Qué coincidencia! Nuestro miembro del equipo VIP {a=[vip_profile_url]}[player_name]{/a} se sentirá honrado de escuchar eso."
|
||||
"[player_name]? ¡Qué coincidencia! Nuestro miembro del equipo VIP {a=[vip_profile_url]}[player_name]{/a} se sentirá honrado de escuchar eso." <--- esta es la línea que necesita traducirse. ver traducción a continuación
|
||||
```
|
||||
|
||||
#### After translation
|
||||
#### Después de traducir
|
||||
|
||||
```renpy
|
||||
# "[player_name]? What a coincidence! Our VIP team member {a=[vip_profile_url]}[player_name]{/a} will be honored to hear that."
|
||||
# "[player_name]? ¡Qué coincidencia! Nuestro miembro del equipo VIP {a=[vip_profile_url]}[player_name]{/a} se sentirá honrado de escuchar eso."
|
||||
"[player_name]?好巧,我们的VIP队友{a=[vip_profile_url]}[player_name]{/a}会很高兴的。"
|
||||
```
|
||||
|
||||
Note: The `[]` and `{}` tags should be left intact.
|
||||
Nota: Las etiquetas `[]` y `{}` deben dejarse intactas.
|
||||
|
||||
---
|
||||
|
||||
#### Before translation
|
||||
#### Antes de traducir
|
||||
|
||||
```renpy
|
||||
old "{icon=icon-fast-forward} Skip"
|
||||
new "{icon=icon-fast-forward} Skip" <-- translate this line, see below
|
||||
antiguo "{icon=icon-fast-forward} Skip"
|
||||
nuevo "{icon=icon-fast-forward} Skip" <-- traduzca esta línea, vea abajo
|
||||
```
|
||||
|
||||
#### After translation
|
||||
#### Después de traducir
|
||||
|
||||
```renpy
|
||||
old "{icon=icon-fast-forward} Skip"
|
||||
Antiguo "{icon=icon-fast-forward} Skip"
|
||||
new "{icon=icon-fast-forward} 跳过"
|
||||
```
|
||||
|
||||
Note: Again, the `new` prefix and the `{icon=icon-fast-forward}` tag should be left intact.
|
||||
Nota: De nuevo, el prefijo `new` y la etiqueta `{icon=icon-fast-forward}` deben dejarse intactos.
|
||||
|
||||
---
|
||||
|
||||
|
@ -70,61 +70,61 @@ Además, ten en cuenta que las instrucciones usualmente usan las lecciones a su
|
||||
>
|
||||
> Recordatorio: Nunca hacer o enviar cambios a una rama de versión que esté en uno de los repos de freeCodeCamp. Siempre crea una nueva
|
||||
|
||||
No hay una manera fácil de ver exactamente qué cambió entre las ramas de versiones ya que la historia de Git será reescrita. Accepting new version branches to use will need to be done with careful consideration and testing.
|
||||
No hay una manera fácil de ver exactamente qué cambió entre las ramas de versiones ya que la historia de Git será reescrita. Aceptar nuevas ramas de versión para usar tendrá que hacerse con una cuidadosa consideración y pruebas.
|
||||
|
||||
These instructions are for changing anything on a "version" branch, such as tests, test text, reset files, adding and deleting steps, among other things.
|
||||
Estas instrucciones son para cambiar cualquier cosa en una rama de "versión", como pruebas, texto de prueba, archivos de reinicio, añadiendo y eliminando pasos, entre otras cosas.
|
||||
|
||||
Sigue estas instrucciones para crear una nueva versión:
|
||||
|
||||
- Checkout the **latest** version branch with `git checkout -b vX.X.X upstream/vX.X.X`
|
||||
- Create a new branch off of that, incrementing the version, with `git checkout -b vX.X.Y`
|
||||
- Make your changes to the version branch. See more info in the [CodeRoad Documentation](https://coderoad.github.io/docs/edit-tutorial) for how to work with tutorials
|
||||
- Push the new branch to your fork with `git push -u origin vX.X.Y`
|
||||
- Checkout the `main` branch
|
||||
- Create a new branch off `main`. e.g. `feat/version-X.X.Y`
|
||||
- Change the `uri` in `coderoad.yaml` to your fork of the repo. This is so you and reviewers can test it before pushing it to the freeCodeCamp repo. Change the version to the new branch in the two spots of that file. Add your changes for the new version to `CHANGELOG.md`. Haz cualquier otros cambios que necesites.
|
||||
- Commit your changes with the message `feat: release version X.X.Y - <optional description>`
|
||||
- Run `coderoad build` to create a new `tutorial.json` file
|
||||
- Add and commit the file
|
||||
- Push the changes to your fork
|
||||
- Test your changes following the [testing instructions below](#testing-changes-to-a-version-branch). Make any additional changes and commit them as you just did, or, if you are satisfied, follow the rest of the instructions
|
||||
- Make a PR to `main` using your new `feat/version-X.X.Y` branch. Give it a title of `version X.X.Y ready for review`. This will not be merged, it is just to let reviewers know that there is a new version ready
|
||||
- Leave it here for reviewers
|
||||
- Echa un vistazo a la rama de **última versión** con `git checkout -b vX.X.X upstream/vX.X.X`
|
||||
- Crea una nueva rama de eso, incrementando la versión, con `git checkout -b vX.X.Y`
|
||||
- Haga sus cambios en la rama de versiones. Ver más información en la [Documentación de CodeRoad](https://coderoad.github.io/docs/edit-tutorial) para saber cómo trabajar con tutoriales
|
||||
- Empuja la nueva rama a tu bifurcación con `git push -u origin vX.X.Y`
|
||||
- Compruebe la rama `main`
|
||||
- Crea una nueva rama de `main`. ej. `feat/version-X.X.Y`
|
||||
- Cambia el `uri` en `coderoad.yaml` a tu bifurcación del repositorio. Esto es así que tú y los revisores pueden probarlo antes de empujarlo al repositorio freeCodeCamp. Cambie la versión a la nueva rama en los dos puntos de ese archivo. Añade tus cambios para la nueva versión a `CHANGELOG.md`. Haz cualquier otros cambios que necesites.
|
||||
- Comprueba tus cambios con el mensaje `feat: release version X.X.Y - <optional description>`
|
||||
- Ejecute `coderoad build` para crear un nuevo archivo `tutorial.json`
|
||||
- Agregar y confirmar el archivo
|
||||
- Enviar los cambios a tu bifurcación
|
||||
- Prueba tus cambios siguiendo las [instrucciones de prueba a continuación](#testing-changes-to-a-version-branch). Haga cualquier cambio adicional y confirme los cambios como acaba de hacer o, si está satisfecho, siga el resto de las instrucciones
|
||||
- Hacer un PR a `principal` usando su nueva rama `feat/version-X.X.Y`. Dale un título de `versión X.X.Y lista para la revisión`. Esto no se fusionará, es sólo para hacer saber a los revisores que hay una nueva versión lista
|
||||
- Déjalo aquí para revisores
|
||||
|
||||
### Probando cambios a una rama de versiones
|
||||
|
||||
- Follow the instructions on the [rdb-alpha repo](https://github.com/freeCodeCamp/rdb-alpha) to run a container
|
||||
- Start the tutorial using the `tutorial.json` file on whatever fork the changes are on. Make sure to use the file on the `feat: version-X.X.Y` branch and not the `main` branch
|
||||
- Sigue las instrucciones en el repositorio [rdb-alpha](https://github.com/freeCodeCamp/rdb-alpha) para ejecutar un contenedor
|
||||
- Comience el tutorial utilizando el archivo `tutorial.json` en cualquier bifurcación en la que estén los cambios. Asegúrate de usar el archivo en la rama `feat: version-X.X.Y` y no la rama `main`
|
||||
|
||||
### Subiendo una nueva versión
|
||||
|
||||
Before pushing a new version, view the new `feat/version-vX.X.Y` (will be merged to `main`) branch on the user's fork. Make sure there are additions to the `CHANGELOG.md` file that include the new changes, and the version in the two spots of `coderoad.yaml` matches the new version branch.
|
||||
Antes de empujar una nueva versión, ver la nueva `feat/version-vX.X.Y` (se fusionará a `main`) rama en el fork del usuario. Asegúrese de que hay adiciones al `CHANGELOG. d` archivo que incluye los nuevos cambios, y la versión en los dos manchas de la carga de código `. aml` coincide con la nueva rama de versión.
|
||||
|
||||
If you have write access to the freeCodeCamp repo, have verified the `CHANGELOG` and `coderoad.yaml` files, have tested the changes using the instructions above, and want to push a new version of a tutorial:
|
||||
Si tienes acceso de escritura al repo de freeCodeCamp, has verificado los archivos `CHANGELOG` y `coderoad.yaml`, has probado los cambios usando las instrucciones anteriores, y quieres empujar una nueva versión de un tutorial:
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
> Reminder: Never make or push changes to a version branch that is on one of the freeCodeCamp repos. Always create a new one
|
||||
> Recordatorio: Nunca hacer o enviar cambios a una rama de versión que esté en uno de los repos de freeCodeCamp. Siempre cree una nueva
|
||||
|
||||
- If you don't have a remote to where the new changes exist, create a remote to the user's fork with `git remote add <users_fork>`
|
||||
- Delete any **local** branches that share a name with the new branches. Likely named either `vX.X.Y` or `feat/version-X.X.Y`
|
||||
- Checkout the new version branch with `git checkout -b vX.X.Y <remote>/vX.X.Y`
|
||||
- Push the new version branch to the freeCodeCamp repo with `git push -u upstream/vX.X.Y`. You need to push the new branch before you update `main` with the new `tutorial.json` file
|
||||
- Checkout the users branch that will be merged into `main` with `git checkout -b feat/version-X.X.Y <remote>/feat/version-X.X.Y`
|
||||
- Change the `uri` in `coderoad.yaml` back to the freeCodeCamp repo
|
||||
- Add and commit the changes
|
||||
- Run `coderoad build` to create the new `tutorial.json` file
|
||||
- Add and commit the file
|
||||
- Push the changes to your fork with `git push -u origin/feat/version-X.X.Y`
|
||||
- Make a PR to `main` on the freeCodeCamp repo
|
||||
- If you are satisfied, merge it or leave it and ask for a review from someone
|
||||
- After the PR is merged, open the tutorial by following the instructions on the [rdb-alpha repo](https://github.com/freeCodeCamp/rdb-alpha) to make sure it's loading properly, and that you can get through a few steps
|
||||
- Finally, if any PRs for this version exists, close them
|
||||
- Si no tiene un control remoto a donde existen los nuevos cambios, crear un control remoto a la bifurcación del usuario con `git remote add <users_fork>`
|
||||
- Elimina cualquier **ramas** locales que compartan un nombre con las nuevas ramas. Probablemente llamado `vX.X.Y` o `feat/version-X.X.Y`
|
||||
- Echa un vistazo a la nueva rama de versión con `git checkout -b vX.X.Y <remote>/vX.X.Y`
|
||||
- Empuja la nueva rama de versión al repositorio freeCodeCamp con `git push -u upstream/vX.X.Y`. Necesitas empujar la nueva rama antes de actualizar `main` con el nuevo archivo `tutorial.json`
|
||||
- Compruebe la rama de usuarios que se fusionará en `main` con `git checkout -b feat/version-X.X.Y <remote>/feat/version-X.X.Y`
|
||||
- Cambie el `uri` en `coderoad.yaml` de vuelta al repositorio freeCodeCamp
|
||||
- Agregar y confirmar los cambios
|
||||
- Ejecute `coderoad build` para crear el nuevo archivo `tutorial.json`
|
||||
- Añadir y confirmar el archivo
|
||||
- Empuja los cambios a su bifurcación con `git push -u origin/feat/version-X.X.Y`
|
||||
- Hacer un PR a `main` en el repositorio freeCodeCamp
|
||||
- Si estás satisfecho, fusionalo o déjalo y pide una reseña a alguien
|
||||
- Después de fusionar las relaciones públicas, abra el tutorial siguiendo las instrucciones en el repositorio [rdb-alpha](https://github.com/freeCodeCamp/rdb-alpha) para asegurarse de que está cargando correctamente, y que usted puede pasar unos pasos
|
||||
- Finalmente, si existe algún PRs para esta versión, ciérrelos
|
||||
|
||||
### Cómo volver a una versión anterior
|
||||
|
||||
- Create a new branch off the latest `main` with `git checkout -b revert/to-version-X.X.X`
|
||||
- Revert all commits on this branch up to and including the commit of the version after the one you want to revert to. For example, you may have commits that look like this:
|
||||
- Crea una nueva rama desde la última `main` con `git checkout -b revert/to-version-X.X.X`
|
||||
- Revertir todos los commits en esta rama hasta e incluyendo el commit de la versión después del que desea revertir. Por ejemplo, puede haber commits que se vean así:
|
||||
|
||||
```
|
||||
fix: typo
|
||||
@ -133,6 +133,6 @@ fix: typo
|
||||
release: version 1.0.0
|
||||
```
|
||||
|
||||
If you want to revert to v1.0.0, revert all the commits from `release: version 1.0.1` and after
|
||||
Si quieres revertir a v1.0.0, revertir todos los commits de `release: version 1.0.1` y después
|
||||
|
||||
- Crea una PR. Dale un título de `revertir: a la versión X.X.X`
|
||||
|
Reference in New Issue
Block a user