From 55b6cc83d60dcd437c925e28fd1d22ec787dc666 Mon Sep 17 00:00:00 2001 From: camperbot Date: Mon, 24 Apr 2023 21:29:50 +0530 Subject: [PATCH] chore(i18n,docs): processed translations (#50164) --- .../how-to-contribute-to-the-codebase.md | 1 + .../how-to-contribute-to-the-codebase.md | 1 + docs/i18n/espanol/FAQ.md | 10 +- docs/i18n/espanol/_sidebar.md | 30 +-- docs/i18n/espanol/authors-analytics-manual.md | 36 +-- docs/i18n/espanol/codebase-best-practices.md | 12 +- .../how-to-contribute-to-the-codebase.md | 117 ++++----- .../espanol/how-to-open-a-pull-request.md | 14 +- .../espanol/how-to-work-on-the-docs-theme.md | 14 +- docs/i18n/espanol/index.md | 4 +- docs/i18n/espanol/language-lead-handbook.md | 6 +- .../espanol/moderator-onboarding-guide.md | 24 +- docs/i18n/espanol/security.md | 2 +- .../troubleshooting-development-issues.md | 46 ++-- .../how-to-contribute-to-the-codebase.md | 1 + .../how-to-contribute-to-the-codebase.md | 1 + .../how-to-contribute-to-the-codebase.md | 1 + .../how-to-contribute-to-the-codebase.md | 1 + .../i18n/ukrainian/codebase-best-practices.md | 22 +- .../how-to-contribute-to-the-codebase.md | 1 + .../ukrainian/how-to-enable-new-languages.md | 20 +- docs/i18n/ukrainian/language-lead-handbook.md | 230 +++++++++--------- 22 files changed, 301 insertions(+), 293 deletions(-) diff --git a/docs/i18n/chinese-traditional/how-to-contribute-to-the-codebase.md b/docs/i18n/chinese-traditional/how-to-contribute-to-the-codebase.md index 4fc75a95a03..3ee01e7f9c9 100644 --- a/docs/i18n/chinese-traditional/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/chinese-traditional/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ A quick reference to the commands that you will need when working. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `pnpm test` | Run all JS tests in the system, including client, server, lint and challenge tests. | | `pnpm run test-client` | Run the client test suite. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Run the curriculum test suite. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Test a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Test a specific SuperBlock. | diff --git a/docs/i18n/chinese/how-to-contribute-to-the-codebase.md b/docs/i18n/chinese/how-to-contribute-to-the-codebase.md index 4fc75a95a03..3ee01e7f9c9 100644 --- a/docs/i18n/chinese/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/chinese/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ A quick reference to the commands that you will need when working. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `pnpm test` | Run all JS tests in the system, including client, server, lint and challenge tests. | | `pnpm run test-client` | Run the client test suite. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Run the curriculum test suite. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Test a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Test a specific SuperBlock. | diff --git a/docs/i18n/espanol/FAQ.md b/docs/i18n/espanol/FAQ.md index dddd8b04a5e..6bcc3a83776 100644 --- a/docs/i18n/espanol/FAQ.md +++ b/docs/i18n/espanol/FAQ.md @@ -63,7 +63,7 @@ Por lo general, no asignamos los temas a nadie más que a los colaboradores con 1. Lo más probable es que fusionemos el primer pull request que aborde el tema o problema. 2. En el caso de múltiples colaboradores abriendo un pull request para el mismo problema más o menos al mismo tiempo, daremos prioridad al pull request que aborde mejor la cuestión. Algunas de las cosas que consideramos: - ¿Has incluido pruebas? - - Did you catch all use cases? + - ¿Entendiste todos los casos de uso? - ¿Te aseguraste de que pasaran todas las pruebas, y confirmaste que todo funciona localmente? 3. Por último, damos prioridad a los pull requests que siguen nuestras directrices recomendadas. - ¿Has seguido la lista de verificación de pull request? @@ -71,9 +71,9 @@ Por lo general, no asignamos los temas a nadie más que a los colaboradores con ### Estoy interesado en ser moderador en freeCodeCamp. ¿Dónde debería empezar? -Los moderadores de la comunidad son nuestros héroes. Their voluntary contributions make freeCodeCamp a safe and welcoming community. +Los moderadores de la comunidad son nuestros héroes. Su contribución voluntaria hace de freeCodeCamp una comunidad segura y acogedora. -First and foremost, we would need you to be an active participant in the community, and live by our [code of conduct](https://www.freecodecamp.org/news/code-of-conduct/) (not just enforce it). +Primero y principal, necesitaremos que seas un participante activo en la comunidad y vivas de acuerdo a nuestro [código de conducta](https://www.freecodecamp.org/news/code-of-conduct/) (no sólo hacerlo cumplir). Aquí hay algunas rutas para algunas de nuestras plataformas: @@ -81,7 +81,7 @@ Aquí hay algunas rutas para algunas de nuestras plataformas: - To be a **Forum** moderator, similar to a chat moderator, have an active presence and engage with other forum posters, supporting others in their learning journey, and even giving feedback when asked. Take a look at [The Subforum Leader Handbook](https://forum.freecodecamp.org/t/the-subforum-leader-handbook/326326) for more information. - To be a **GitHub** moderator, help process GitHub issues that are brought up to see if they are valid and (ideally) try to propose solutions for these issues to be picked up by others (or yourself). -En total, sé respetuoso con los demás. We are humans from all around the world. With that in mind, please also consider using encouraging or supportive language and be mindful of cross-cultural communication. +En total, sé respetuoso con los demás. Somos humanos alreder del mundo. With that in mind, please also consider using encouraging or supportive language and be mindful of cross-cultural communication. If you practice the above **consistently for a while** and our fellow moderator members recommend you, a staff member will reach out and onboard you to the moderators' team. El trabajo de código abierto es voluntario, y nuestro tiempo es limitado. Reconocemos que esto probablemente también sea cierto en su caso. So we emphasize being **consistent** rather than engaging in the community 24/7. @@ -104,6 +104,6 @@ nuestro servidor de chat<1>. ### Asistencia adicional -If you have queries about the stack, architecture of the codebase, translations, or anything else, feel free to reach out to our staff team [on the forum](https://forum.freecodecamp.org/g/team). +Si tiene preguntas sobre el stack, arquitectura del código fuente, traducciones, o cualquier otra cosa, no dudes en contactar con nuestro equipo de trabajo [en el foro](https://forum.freecodecamp.org/g/team). **Puedes enviar un correo a nuestro grupo de desarrolladores en: `dev[at]freecodecamp.org`** diff --git a/docs/i18n/espanol/_sidebar.md b/docs/i18n/espanol/_sidebar.md index 80d200a29e3..2ec928fddee 100644 --- a/docs/i18n/espanol/_sidebar.md +++ b/docs/i18n/espanol/_sidebar.md @@ -6,26 +6,26 @@ - [Trabajar en la traducción de recursos](how-to-translate-files.md) - [Revisar las traducciones](how-to-proofread-files.md) - **Participa en la programación** - - [Set up freeCodeCamp](how-to-setup-freecodecamp-locally.md) - - [Follow best-practices](codebase-best-practices.md) - - [Open a pull request](how-to-open-a-pull-request.md) - - [Work on Codebase](how-to-contribute-to-the-codebase.md) - - [Work on Coding Challenges](how-to-work-on-coding-challenges.md) - - [Work on Component Library](how-to-work-on-the-component-library.md) - - [Work on Practice Projects](how-to-work-on-practice-projects.md) - - [Work on Mobile app](how-to-setup-freecodecamp-mobile-app-locally.md) - - [Work on tutorials with CodeRoad](how-to-work-on-tutorials-that-use-coderoad.md) - - [Work on Localized Web App](how-to-work-on-localized-client-webapp.md) - - [Work on Cypress tests](how-to-add-cypress-tests.md) - - [Work on Video Challenges](how-to-help-with-video-challenges.md) - - [Work on Documentation](how-to-work-on-the-docs-theme.md) + - [Configuración de FreeCodeCamp](how-to-setup-freecodecamp-locally.md) + - [Seguir las mejores prácticas de código](codebase-best-practices.md) + - [Abrir una solicitud de cambio](how-to-open-a-pull-request.md) + - [Trabajar en Codebase](how-to-contribute-to-the-codebase.md) + - [Realizar desafíos de código](how-to-work-on-coding-challenges.md) + - [Trabajar con la biblioteca de componentes](how-to-work-on-the-component-library.md) + - [Trabajar en proyectos de práctica](how-to-work-on-practice-projects.md) + - [Trabajar con una aplicación de móvil](how-to-setup-freecodecamp-mobile-app-locally.md) + - [Ayudar en tutoriales con CodeRoad](how-to-work-on-tutorials-that-use-coderoad.md) + - [Trabajar en una aplicación web localizada](how-to-work-on-localized-client-webapp.md) + - [Realizar las pruebas Cypress](how-to-add-cypress-tests.md) + - [Ayudar con los desafíos de videos](how-to-help-with-video-challenges.md) + - [Trabajar en la Documentación](how-to-work-on-the-docs-theme.md) - **Guías adicionales** - [Entender la estructura de los archivos del currículo](curriculum-file-structure.md) - [Depurar localmente los emails salientes](how-to-catch-outgoing-emails-locally.md) - [Configurar freeCodeCamp en Windows (WSL)](how-to-setup-wsl.md) - [Flujo de trabajo del Token del usuario](user-token-workflow.md) - - [Troubleshooting Development Issues](troubleshooting-development-issues.md) - - [Authors Analytics Manual](authors-analytics-manual.md) + - [Solución de Problemas en el Desarrollo](troubleshooting-development-issues.md) + - [Manual para Autores de Google Analytics](authors-analytics-manual.md) --- diff --git a/docs/i18n/espanol/authors-analytics-manual.md b/docs/i18n/espanol/authors-analytics-manual.md index 221ca725cd9..5c5ec80e5d4 100644 --- a/docs/i18n/espanol/authors-analytics-manual.md +++ b/docs/i18n/espanol/authors-analytics-manual.md @@ -1,27 +1,27 @@ -# Authors Analytics Manual +# Manual para Autores de Google Analytics -If you are an author with access to the publication's Google Analytics Property (News), you can use this guide to view your articles engagement and search for articles by publication language. +Si usted es un autor con acceso a la propiedad noticias de Google Analytics, use esta guía para ver la sección para encontrar tus artículos de compromiso, y buscar artículos por idioma de publicación. -## Search by Language +## Búsqueda por Idioma -To search for engagement reports by a specific language: +Para buscar noticias de engagement por un idioma específico: -![Image - Show steps to search by language on googla analytics](https://contribute.freecodecamp.org/images/google-analytics/search-by-language.png) +![Imagen - Muestra pasos para buscar por idioma en Google Analytics](https://contribute.freecodecamp.org/images/google-analytics/search-by-language.png) -1. From the top dropdown menu, select `News`. -1. From the sidebar, click on `Reports`. -1. From the secondary sidebar, select `Engagement`. -1. Click on `Pages and Screens`. -1. In the search bar, type the subpath for the desired language. -1. From the dropdown under the search bar, choose `Page path and screen class`. +1. En el menú desplegable de arriba, seleccione `News`. +1. En la barra lateral, haga clic en `Report`. +1. En la barra lateral secundaria, seleccione `Compromiso`. +1. Haga clic en `Pages and Screens`. +1. En la barra de búsqueda, escriba la subruta para el idioma deseado. +1. En el menú desplegable que esta por debajo de la barra de búsqueda, eliga `Page path and screen class`. -## Filter Reports by Author +## Filtrar Informes por el Autor -After arriving at the `Pages and Screens` reports mentioned above, use the following steps to filter the results by specific authors. +Después de encontrar los informes de `Pages and Screens` mencionados anteriormente, utilice los siguientes pasos para filtrar los resultados de autores específicos. -![Image - Show steps to search by language on googla analytics](https://contribute.freecodecamp.org/images/google-analytics/filter-by-author.png) +![Imagen - Muestra pasos para buscar por idioma en Google Analytics](https://contribute.freecodecamp.org/images/google-analytics/filter-by-author.png) -1. Click on the `Add filter` button. -1. From the side navigation include `Author`. -1. From the `Dimensions values` dropdown, choose an author's name. -1. Click on the `Apply` button to apply changes. +1. Haga clic en el botón `Add filter`. +1. En el apartado de navegación incluyen `Author`. +1. En el menú desplegable `Dimensions values`, eliga un nombre de autor. +1. Haga clic en boton `Apply` para aplicar los cambios. diff --git a/docs/i18n/espanol/codebase-best-practices.md b/docs/i18n/espanol/codebase-best-practices.md index 3af072d7167..502e1d6430d 100644 --- a/docs/i18n/espanol/codebase-best-practices.md +++ b/docs/i18n/espanol/codebase-best-practices.md @@ -1,16 +1,16 @@ # Las mejores prácticas de la base de código -## Styling a component +## Dándole estilo a un componentes -We recommend styling components using our [design style guide](https://design-style-guide.freecodecamp.org/). +Recomendamos dar estilo a los componentes usando nuestra [guía de estilo de diseño](https://design-style-guide.freecodecamp.org/). -The colors are defined in [`variable.css`](/client/src/components/layouts/variables.css), and the fonts are in [`fonts.css`](/client/src/components/layouts/fonts.css). +Los colores están definidos en [`variable.css`](/client/src/components/layouts/variables.css)y las fuentes están en [`fonts.css`](/client/src/components/layouts/fonts.css). -We are strongly opinionated about adding new variables/tokens to the colors. After careful research, the colors have been chosen to respect the freeCodeCamp brand identity, developer experience, and accessibility. +Somos muy obstinados sobre la adición de nuevas variables/tokens a los colores. Después de una cuidadosa investigación, los colores han sido elegidos para respetar la identidad de la marca freeCodeCamp y la experiencia del desarrollador y accesibilidad. -The `!important` keyword may be used to override values in some cases (e.g. accessibility concerns). You should add a comment describing the issue, so it doesn't get removed in future refactoring. +La palabra clave `!important` puede utilizarse para sobrescribir valores en algunos casos (por ejemplo, problemas de accesibilidad). Debería añadir un comentario describiendo el problema, para que no se elimine en futuras refactorizaciones. -### RTL support +### Soporte RTL We are striving to support right-to-left (RTL) layout in the codebase for languages that are read in this direction. For this you need be mindful of how to style components. Here are some quick rules of thumb to follow: diff --git a/docs/i18n/espanol/how-to-contribute-to-the-codebase.md b/docs/i18n/espanol/how-to-contribute-to-the-codebase.md index 4fc75a95a03..3ae4069f985 100644 --- a/docs/i18n/espanol/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/espanol/how-to-contribute-to-the-codebase.md @@ -1,20 +1,20 @@ -Follow these guidelines to contribute to the codebase. This is highly recommended if you want to contribute regularly. +Sigue estas recomendaciones para poder contribuir a la base del código. Es recomendable que lo hagas si quieres contribuir de forma regular. -Ignoring these steps may soil your copy which makes the contributing, maintaining, and reviewing processes difficult. +Ignorar estos pasos puede empobrecer tu copia lo que hara que el proceso de contribución, revisión y mantenimiento sea dificultoso. -## Contributing to the Codebase +## Contribuir a la base del código -You can now make changes to files and commit your changes to your fork, which you can prepare by reading [how to set up freecodecamp](how-to-setup-freecodecamp-locally.md). +Ya podes hacer modificaciones a los archivos y confimar estos cambios a tu bifurcación, la cual puedes realizar leyendo el tutorial [how to set up freeCodeCamp](how-to-setup-freecodecamp-locally.md). -Follow these steps: +Sigue estos pasos: -1. Validate that you are on the `main` branch: +1. 1. Utiliza el siguiente comando para confirmar que estes en la rama `main`: ```console git status ``` - You should get an output like this: + el comando debería devolverte el siguiente resultado: ```console On branch main @@ -23,59 +23,59 @@ Follow these steps: nothing to commit, working directory clean ``` - If you got different message, then you aren't on main or your working directory isn't clean, resolve any outstanding files/commits and checkout `main`: + Si obtuviste un resultado distinto, no estás en la rama main o tu directorio de trabajo no está limpio. Resolvé cualquier confirmación o archivo pendiente y cambia a ` main `: ```console git checkout main ``` -2. Sync the latest changes from the freeCodeCamp upstream `main` branch to your `main` fork branch: +2. Copia las ultimas modificaciones de la rama `main` del upstream de freeCodeCamp a la rama `main ` de tu bifurcación: - > [!WARNING] If you have any outstanding pull requests that you made from the `main` branch of your fork, you will lose them at the end of this step. + > [!WARNING] Si tenes alguna pull request pendiente que hiciste desde la rama `main` de tu bifurcación, cuando realices este paso se perderán. > - > You should ensure your pull request is merged by a moderator before performing this step. To avoid this scenario, you should **always** work on a branch other than the `main`. + > Siempre debes asegurarte que tu pull request haya sido fusionada por un moderador antes de realizar este paso. Para evitar esta situación, **siempre** deberías trabajar en una rama distinta a la `main`. - This step **will sync the latest changes** from the main repository of freeCodeCamp. + Este paso ** obtendrá los cambios más recientes** del repositorio principal de freeCodeCamp. - Update your copy of the freeCodeCamp upstream repository: + Actualizar tu copia del repositorio principal de freeCodeCamp: ```console git fetch upstream ``` - Hard reset your main branch with the freeCodeCamp main: + Formatea tu rama main con la rama main de freeCodeCamp: ```console git reset --hard upstream/main ``` - Push your main branch to your origin to have a clean history on your fork on GitHub: + Hace push de tu rama main a tu bifurcación original para limpiar tu historial en GitHub: ```console git push origin main --force ``` - You can validate your current main matches the upstream/main by performing a diff: + Podes validar que tu main actual concuerda con el upstream/main a través del comando diff: ```console git diff upstream/main ``` - The resulting output should be empty. This process is important, because you will be rebase your branch on top of the latest `upstream/main` as often as possible to avoid conflicts later. + El resultado debería ser que el directorio de trabajo está limpio. Este proceso es importante porque va a estar constantemente combinando tu rama con `upstream/main` para evitar conflictos a futuro. -3. Create a fresh new branch: +3. Crea una nueva rama: - Working on a separate branch for each issue helps you keep your work copy clean. You should never work on the `main`. This will soil your copy of freeCodeCamp and you may have to start over with a fresh clone or fork. + Trabajar en una rama separada para cada incidente ayuda a que tu copia del trabajo se muestre ordenada. Nunca deberías trabajar en `main`. Esto hará que tu copia de freeCodeCamp quede desordenada y podrá ser necesario que tengas que empezar de nuevo con una copia nueva o bifurcación. - Check that you are on `main` as explained previously, and branch off from there: + Verificá que estás en `main` siguiendo los pasos ya explicados y empezá desde ahí: ```console git checkout -b fix/update-guide-for-xyz ``` - Your branch name should start with a `fix/`, `feat/`, `docs/`, etc. Avoid using issue numbers in branches. Keep them short, meaningful and unique. + El nombre de tu rama debería comenzar con `fix/`, `feat/`, `docs/`, etc. Evita usar números de incidentes en las ramas. Deberían ser cortos, significativos y únicos. - Some examples of good branch names are: + Algunos ejemplos de buenos nombres para ramas son: ```md fix/update-challenges-for-react @@ -85,19 +85,19 @@ Follow these steps: translate/add-spanish-basic-html ``` -4. Edit pages and work on code in your favorite text editor. +4. Edita la páginas y trabaja en el código en tu editor de texto favorito. -5. Once you are happy with the changes you should optionally run freeCodeCamp to preview the changes. +5. Una vez que estes conforme con los cambios realizados, de manera opcional, deberías ejectuar freeCodeCamp para previsualizar los cambios. -6. Make sure you fix any errors and check the formatting of your changes. +6. Asegurate de corregir cualquier error que pueda aparecer y comprabar el formato de tus cambios. -7. Check and confirm the files you are updating: +7. Comprobá y confirmá los archivos que estás actualizando: ```console git status ``` - This should show a list of `unstaged` files that you have edited. + Este comando debería mostrar una lista de los archivos `unstaged` que editaste. ```console On branch feat/documentation @@ -114,27 +114,27 @@ Follow these steps: ... ``` -8. Stage the changes and make a commit: +8. Organizar los cambios y hacer un commit: - In this step, you should only mark files that you have edited or added yourself. You can perform a reset and resolve files that you did not intend to change if needed. + En este paso, sólo deberías marcar los archivos que has editado o añadido tu mismo. Puede realizar un reseteo y resolver archivos que no tenías intención de cambiar si es necesario. ```console git add path/to/my/changed/file.ext ``` - Or you can add all the `unstaged` files to the staging area: + O puedes añadir todos los archivos que no estén `unstaged` al área de staging: ```console git add . ``` - Only the files that were moved to the staging area will be added when you make a commit. + Sólo los archivos que fueron movidos al área de staging serán añadidos cuando hagas un commit. ```console git status ``` - Output: + Resultado: ```console On branch feat/documentation @@ -149,22 +149,22 @@ Follow these steps: modified: docs/how-to-work-on-guide-articles.md ``` - Now, you can commit your changes with a short message like so: + Ahora, puedes confirmar tus cambios con un mensaje corto así: ```console git commit -m "fix: my short commit message" ``` - Some examples: + Algunos ejemplos: ```md fix: add test for JavaScript - for loop step feat: add link for article for alexa skills ``` - Make a conventional commit message. This is a good practice as a developer, and you will be following standard practices. + Escribe un mensaje commit convencional. This is a good practice as a developer, and you will be following standard practices. - Some examples of conventional commit messages are: + Algunos ejemplos de mensajes de commits convencionales son: ```md fix: improve HTML step @@ -173,43 +173,44 @@ Follow these steps: docs: update contributing guidelines ``` - Keep these short, not more than 50 characters. You can always add additional information in the description of the commit message. + Manténlos cortos, no más de 50 caracteres. Siempre puedes añadir información adicional en la descripción del mensaje del commit. - This does not take any more time than an unconventional message like 'update file' or 'add index.md' + Esto no toma más tiempo que un mensaje no convencional como 'actualizar archivo' o 'añadir index.md' - You can learn more about why you should use conventional commits [here](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits). + Puedes aprender más sobre por qué deberías usar commits convencionales [aquí](https://www.conventionalcommits.org/en/v1.0.0-beta.2/#why-use-conventional-commits). -9. If you realize that you need to edit a file or update the commit message after making a commit you can do so after editing the files with: +9. Si te das cuenta de que necesitas editar un archivo o actualizar el mensaje de confirmación después de hacer un commit puedes hacerlo después de editar los archivos con: ```console git commit --amend ``` - This will open up a default text editor like `nano` or `vi` where you can edit the commit message title and add/edit the description. + Esto abrirá un editor de texto predeterminado como `nano` o `vi` donde puedes editar el título del mensaje de confirmación y añadir/editar la descripción. -10. Next, you can push your changes to your fork: +10. A continuación, puedes enviar tus cambios a tu bifurcación: ```console git push origin branch/name-here ``` -## Proposing a Pull Request (PR) +## Proponer una Pull Request (PR) -After you've committed your changes, check here for [how to open a Pull Request](how-to-open-a-pull-request.md). +Después de que hayas cofirmado tus cambios, consulta aquí sobre [cómo abrir una Pull Request](how-to-open-a-pull-request.md). -## Quick commands reference +## Referencia de comandos rápidos -A quick reference to the commands that you will need when working. +Una referencia rápida a los comandos que necesitarás cuando trabajes. -| command | description | -| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | -| `pnpm test` | Run all JS tests in the system, including client, server, lint and challenge tests. | -| `pnpm run test-client` | Run the client test suite. | -| `pnpm run test:curriculum` | Run the curriculum test suite. | -| `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Test a specific Block. | -| `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Test a specific SuperBlock. | -| `pnpm run test-curriculum-full-output` | Run the curriculum test suite, without bailing after the first error | -| `pnpm run test-server` | Run the server test suite. | -| `pnpm run e2e` | Run the Cypress end to end tests. | -| `pnpm run clean` | Uninstalls all dependencies and cleans up caches. | -| `pnpm run storybook` | Starts Storybook for component library development. | +| comando | descripción | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ | +| `pnpm test` | Ejecuta todas las pruebas JS en el sistema, incluidas las pruebas de cliente, servidor, lint y pruebas de desafío. | +| `pnpm run test-client` | Ejecuta el conjunto de pruebas del cliente. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | +| `pnpm run test:curriculum` | Ejecuta el conjunto de pruebas del currículo. | +| `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Evalúa un bloque específico. | +| `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Evalúa un SuperBlock específico. | +| `pnpm run test-curriculum-full-output` | Ejecuta el conjunto de pruebas del currículo, sin tener que salir después del primer error | +| `pnpm run test-server` | Ejecute la suite de pruebas del servidor. | +| `pnpm run e2e` | Ejecuta los tests end to end de Cypress. | +| `pnpm run clean` | Desinstala todas las dependencias y limpia las cachés. | +| `pnpm run storybook` | Inicia Storybook para el desarrollo de la biblioteca de componentes. | diff --git a/docs/i18n/espanol/how-to-open-a-pull-request.md b/docs/i18n/espanol/how-to-open-a-pull-request.md index f71bb87453e..ea783094dd3 100644 --- a/docs/i18n/espanol/how-to-open-a-pull-request.md +++ b/docs/i18n/espanol/how-to-open-a-pull-request.md @@ -2,16 +2,16 @@ Una pull request (PR) le permite enviar cambios desde su bifurcación en GitHub al repositorio principal de freeCodeCamp.org. Una vez que haya hecho cambios en el código, puede seguir estas pautas para abrir un PR. -We expect our contributors to be aware of the process specific to this project. Following the guidelines religiously earns you the respect of fellow maintainers and saves everyone time. +Esperamos que nuestros colaboradores conozcan el proceso específico de este proyecto. Following the guidelines religiously earns you the respect of fellow maintainers and saves everyone time. -Some examples of this are: +Algunos ejemplos de ello son: -1. Do not edit files directly through GitHub – while you can, it's not a good idea. -2. Make sure you follow the PR checklist and not just tick things off; otherwise, we won't take you seriously. -3. Use the correct way to link issues in the description of the PR by updating the `XXXXXX`. Do not just add issue numbers everywhere and anywhere you feel like. -4. Do not "@mention" or request someone for reviews too many times. +1. No edite archivos directamente a través de GitHub – mientras pueda, no es una buena idea. +2. Asegúrate de seguir la lista de PR y no solo marcar las cosas; de lo contrario, no te tomaremos en serio. +3. Utilice la forma correcta de vincular problemas en la descripción del PR actualizando el `XXXXX`. No solo añada números de emisión en cualquier lugar y donde le plazca. +4. No usar "@mention" o solicitar comentarios demasiadas veces. - We understand you are excited about contributing. As much as a maintainer will love to get back to you, they are busy people looking after hundreds of requests just like yours. Be patient, someone will get to you sooner or later. + Entendemos que está emocionado por contribuir. As much as a maintainer will love to get back to you, they are busy people looking after hundreds of requests just like yours. Be patient, someone will get to you sooner or later. 5. Do not work directly off your `main` branch - create a new branch for the changes you are working on. diff --git a/docs/i18n/espanol/how-to-work-on-the-docs-theme.md b/docs/i18n/espanol/how-to-work-on-the-docs-theme.md index 71a5b944963..50274d25884 100644 --- a/docs/i18n/espanol/how-to-work-on-the-docs-theme.md +++ b/docs/i18n/espanol/how-to-work-on-the-docs-theme.md @@ -4,11 +4,11 @@ Para trabajar en las pautas de contribución, puedes editar o agregar archivos al directorio `docs`, [disponible aquí](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/docs). Cuando tus cambios se fusionen, automáticamente estarán disponibles en el sitio de documentación. -When adding a new file to the `docs` directory, you should evaluate if the file should also be added to the sidebar navigation. We typically create a link in the [`_sidebar.md`](_sidebar.md) file for new and independent guides. Alternatively, You may follow the instructions below on creating an internal link for supporting guides. +Cuando se agrega un nuevo archivo al directorio `docs`, deberías evaluar si el archivo también debe ser agregado a la barra lateral de navegación. Normalmente creamos un enlace en el archivo [`_sidebar.md`](_sidebar.md) para guías nuevas e independientes. Alternativamente, puede seguir las instrucciones de abajo en crear un link interno para guías de soporte. ### How to Create an Internal Link -If you want to create a link targeting a different section of the contributing guidelines, follow this format: +Si quieres crear un link dirigido a una sección diferente a las pautas de contribución, sigue este formato: ```md [Link text](target-file-name.md#target-section-heading-id) @@ -17,13 +17,13 @@ If you want to create a link targeting a different section of the contributing g [Link text](#target-section-heading-id) ``` -Make sure you include the file extension (`.md`). Don't specify the full URL or append `/` before the file name. +Asegurate de incluir la extensión del archivo (`.md`). Don't specify the full URL or append `/` before the file name. -This is necessary to make these links work for the translated version of the document. Otherwise, they will redirect to the English version of the page regardless of the language. +Esto es necesario para hacer que estos enlaces fucionen para la versión traducida del ducumento. Otherwise, they will redirect to the English version of the page regardless of the language. #### Traduciendo archivos con enlaces internos -When you work on translating docs on Crowdin, make sure to replace the `#target-section-heading-id` with the id on the translated document. [Learn more about translating docs here](how-to-translate-files.md#translate-documentation). +Cuando estas traduciendo documentos en Crowdin, asegurate de reemplazar el `#target-section-heading-id` con el id en el documento traducido. [Aprende mas sobre como traducir documentos aqui](how-to-translate-files.md#translate-documentation). ## Work on the Docs Theme @@ -33,9 +33,9 @@ When you work on translating docs on Crowdin, make sure to replace the `#target- ### Structure of the Docs Website -The site is generated using [`docsify`](https://docsify.js.org) and served using GitHub pages. +El sitio esta generado usando [`docsify`](https://docsify.js.org) y se esta ejecutado usando Github pages. -Typically you would not need to change any configuration or build the site locally. In case you are interested, here is how it works: +Normalmente no vas a necesitar cambiar ninguna configuración o compliar el sitio localmente. En caso de que te interese, asi es como funciona: - El código de la página de inicio para este sitio está disponible en [`docs/index.html`](index.html). - Servimos este archivo como SPA utilizando `docsify` y GitHub Pages. diff --git a/docs/i18n/espanol/index.md b/docs/i18n/espanol/index.md index 78a4cf3614d..80e9d76a447 100644 --- a/docs/i18n/espanol/index.md +++ b/docs/i18n/espanol/index.md @@ -30,7 +30,7 @@ Las certificaciones ya están disponibles en algunos de los principales idiomas - [portugués (Português)](https://www.freecodecamp.org/portuguese/learn) - [Ucraniano (Українська)](https://www.freecodecamp.org/ukrainian/learn) - [Japonés (日本語)](https://www.freecodecamp.org/japanese/learn) -- [German (Deutsch)](https://www.freecodecamp.org/german/learn) +- [Alemán (Deutsch)](https://www.freecodecamp.org/german/learn) Te animamos a leer el anuncio [aquí](https://www.freecodecamp.org/news/help-translate-freecodecamp-language/) y compartirlo con tus amigos para que se sientan entusiasmados con esto. @@ -42,4 +42,4 @@ Nuestra plataforma de aprendizaje se ejecuta en un stack de JavaScript moderno. A grandes rasgos, tenemos un servidor API basado en Node.js, un conjunto de aplicaciones cliente basadas en React, scripts de prueba para evaluar proyectos currículo enviados por los estudiantes, y más. Si deseas contribuir de manera productiva a la plataforma de aprendizaje, te recomendamos que te familiarices un poco con estas herramientas. -**If you want to help us improve our codebase here's [how to set up freeCodeCamp](how-to-setup-freecodecamp-locally.md).** +**Si quieres ayudarnos a mejorar nuestra base de código, puedes verlo aquí [Cómo configurar freeCodeCamp](how-to-setup-freecodecamp-locally.md).** diff --git a/docs/i18n/espanol/language-lead-handbook.md b/docs/i18n/espanol/language-lead-handbook.md index 98192022a1e..326f07340e9 100644 --- a/docs/i18n/espanol/language-lead-handbook.md +++ b/docs/i18n/espanol/language-lead-handbook.md @@ -16,11 +16,11 @@ El nivel "Administrador" está reservado para el personal de freeCodeCamp y los ### How are the Articles Built -We use a [JAMStack](https://www.google.com/search?q=what+is+jamstack)-based approach to build and deploy the articles. This strategy makes for a speedy static site cached and served from a CDN. +Utilizamos un método basado en [JAMStack](https://www.google.com/search?q=what+is+jamstack) para construir y desplegar los artículos. Esta estrategia permite que el sitio se almacene rápidamente en caché y se sirva desde un CDN. -[Ghost](https://ghost.org) acts as our content management platform, and [11ty](https://11ty.dev) builds the articles into static assets – plain HTML, JavaScript, and CSS. Only these static assets are deployed to our servers. +[Ghost](https://ghost.org) actúa como nuestra plataforma de gestión de contenidos, y [11](https://11ty.dev) incorpora los artículos en activos estáticos - HTML, JavaScript y CSS. Sólo estos activos estáticos están desplegados en nuestros servidores. -This process is automated and runs periodically. If you publish something now, it will be available on the news site in a few hours. +Este proceso es automatizado y se ejecuta periódicamente. Si usted publica algo ahora, estará disponible en el sitio de noticias dentro de unas pocas horas. You can find the up-to-date build schedules and status here: https://github.com/freeCodeCamp/news#build diff --git a/docs/i18n/espanol/moderator-onboarding-guide.md b/docs/i18n/espanol/moderator-onboarding-guide.md index dc91063a5ff..23917a90a57 100644 --- a/docs/i18n/espanol/moderator-onboarding-guide.md +++ b/docs/i18n/espanol/moderator-onboarding-guide.md @@ -1,28 +1,28 @@ -# The Official freeCodeCamp Moderator Onboarding Guide +# Guía oficial de incorporación de moderadores de freeCodeCamp -This guide will help new moderators get up and running with the processes and procedures followed by experienced moderators on the freeCodeCamp community forum and other official communities that we foster. +Esta guía ayudará a los nuevos moderadores a ponerse en marcha con los procesos y procedimientos que siguen los moderadores experimentados en el foro de la comunidad freeCodeCamp y otras comunidades oficiales que fomentamos. -> [!NOTE] If you haven't read [The Moderator Handbook](https://contribute.freecodecamp.org/#/moderator-handbook) yet, you should start there first. +> [!NOTE] Si aún no ha leído el [Manual del moderador](https://contribute.freecodecamp.org/#/moderator-handbook), deberia empezar por ahí primero. -## The Forum +## Nuestro foro -### First Steps +### Primeros pasos -The first thing you may notice after being given moderator status on the forum is that your interface will look somewhat different, with new admin tools to explore and access to the Mod-Team subforum. +Lo primero que puede notar después de recibir el estado de moderador en el foro, es que su interfaz se verá algo diferente, con nuevas herramientas de administración para explorar y, acceder al subforo Mod-Team. -Some of the new tools will appear inside a new menu item that looks like a wrench. Some will appear as new tabs or buttons, or even new enabled options within the forum menus. +Algunas de las nuevas herramientas aparecerán dentro de un nuevo elemento de menú que parece una llave inglesa. Algunos aparecerán como nuevas pestañas o botones, o incluso nuevas opciones habilitadas dentro de los menús del foro. -To get familiar with the new tools and powers, you can combine one or more of the following methods during your first week with this elevated role: +Para familiarizarse con las nuevas herramientas y poderes, puede combinar uno o más de los siguientes métodos durante su primera semana con este rol elevado: -> [!TIP] The first two are the most important. +> [!TIP] Los dos primeros son los más importantes. -### Become Familiar with the Discourse Admin Tools +### Familiarícese con las herramientas de administración de discord -The freeCodeCamp forum is actually a Discourse forum and follows many of the same guidelines of other forums built on Discourse. To begin to get familiar with Discourse and the moderation role, start by reading Discourse's [new user guide](https://meta.discourse.org/t/discourse-new-user-guide/96331) and Discourse's [new moderator guide](https://meta.discourse.org/t/discourse-moderation-guide/63116). +El foro freeCodeCamp es en realidad un foro de Discord y sigue muchas de las mismas pautas de otros foros creados en Discord. Para comenzar a familiarizarse con Discord y la función de moderación, comience leyendo la [nueva guía del usuario](https://meta.discourse.org/t/discourse-new-user-guide/96331) de Discord y la [nueva guía del moderador](https://meta.discourse.org/t/discourse-moderation-guide/63116) de Discord. ### Shadow a Mod -All moderator actions can be followed by reviewing the [action logs](https://forum.freecodecamp.org/admin/logs/staff_action_logs). The actions taken by automated tools like `akistmet` or `system` can mostly be ignored until they result in a post that needs to be reviewed. Posts to be reviewed will show up in the [Review](https://forum.freecodecamp.org/review) area of the forum. +Todas las acciones del moderador se pueden seguir revisando los [registros de acciones](https://forum.freecodecamp.org/admin/logs/staff_action_logs). Las acciones realizadas por herramientas automatizadas como `akistmet` o `system` pueden ignorarse en su mayoría hasta que dan como resultado una publicación que debe revisarse. Posts to be reviewed will show up in the [Review](https://forum.freecodecamp.org/review) area of the forum. For the first week or so you will want to pay attention to what is getting flagged and what is being reviewed, and compare that to the actions being taken upon the flagged posts. You may see the system account flag a post because the user created it too quickly. In many cases, the moderators will unflag the post by clicking on the "Approve Post" button or mark it as "Not Spam" (depending on the flag type). diff --git a/docs/i18n/espanol/security.md b/docs/i18n/espanol/security.md index 20faaef3ce0..5a012b83cf0 100644 --- a/docs/i18n/espanol/security.md +++ b/docs/i18n/espanol/security.md @@ -20,7 +20,7 @@ Después de confirmar las directrices anteriores, no dude en enviar un correo el Una vez que nos informe de una vulnerabilidad, la investigaremos y nos aseguraremos de que no sea un falso positivo. Si necesitamos aclarar algún detalle, nos pondremos en contacto con usted. Puede enviar informes separados para cada problema que encuentre. Tenga en cuenta que no podremos responder a las cuestiones que consideremos que están fuera de las directrices. -## Platforms and Codebases +## Plataformas y Bases de Código Esta es una lista de las plataformas y bases de código para las que aceptamos informes: diff --git a/docs/i18n/espanol/troubleshooting-development-issues.md b/docs/i18n/espanol/troubleshooting-development-issues.md index 0f54fad1581..22028b51073 100644 --- a/docs/i18n/espanol/troubleshooting-development-issues.md +++ b/docs/i18n/espanol/troubleshooting-development-issues.md @@ -2,19 +2,19 @@ If you are facing an issue, there is a high chance that the resolution is in thi ## Issues with Installing the Recommended Prerequisites -We regularly develop on the latest or most popular operating systems like macOS 10.15 or later, Ubuntu 18.04 or later, and Windows 10 (with WSL2). +Regularmente desarrollamos en los últimos o más populares sistemas operativos como macOS 10.15 o posterior, Ubuntu 18.04 o posterior, y Windows 10 (con WSL2). -It is recommended to research your specific issue on resources such as Google, Stack Overflow, and Stack Exchange. There is a good chance that someone has faced the same issue and there is already an answer to your specific query. +Se recomienda buscar tu problema específico en recursos como Google, Stack Overflow y Stack Exchange. Existe la posibilidad de que alguien haya enfrentado el mismo problema y que ya exista una respuesta a tu pregunta específica. -If you are on a different OS or are still facing issues, see [getting help](#getting-help). +Si estás en un sistema operativo diferente o todavía estas encontrandote con problemas, consulta [obtener ayuda](#getting-help). > [!WARNING] > -> Please avoid creating GitHub issues for problems with the prerequisite technologies. They are out of the scope of this project. +> Por favor, evite crear asuntos de GitHub para problemas con las tecnologías previas. Están fuera del alcance de este proyecto. ## Issues with Missing UI, Fonts, Language Strings, or Build Errors -When you build the client, Gatsby will cache the Fonts, language strings, and UI. If one of them isn't cached, run the following: +When you build the client, Gatsby will cache the Fonts, language strings, and UI. Si uno de ellos no fue almacenado en caché, ejecute lo siguiente: ```console pnpm run clean @@ -23,17 +23,17 @@ pnpm run seed pnpm run develop ``` -OR +O -Use the shortcut +Use el atajo ``` pnpm run clean-and-develop ``` -If you continue to face issues with the build, cleaning up the workspace is recommend. +Si continúa enfrentándose a problemas con la construcción, se recomienda limpiar el espacio de trabajo. -Use `git clean` in interactive mode: +Use `git clean` en modo interactivo: ``` git clean -ifdX @@ -41,20 +41,20 @@ git clean -ifdX
- How to clean git untracked files (screenshot) + Cómo limpiar archivos sin el seguimiento de git (captura de pantalla)
- How to clean git untracked files + Cómo limpiar archivos sin el seguimiento de git
## Issues with API, login, Challenge Submissions, etc. -If you can't sign in, and instead you see a banner with an error message that it will be reported to freeCodeCamp, please double-check that your local port `3000` is not in use by a different program. +Si no puedes iniciar sesión, y en cambio ves un banner con un mensaje de error de que será reportado a freeCodeCamp, por favor, verifique otra vez de que tu puerto local `3000` no esté en uso por un programa diferente. -#### **macOS/Linux/WSL on Windows - From Terminal:** +#### **macOS/Linux/WSL en Windows - Desde la terminal:** ```console netstat -a | grep "3000" @@ -62,7 +62,7 @@ netstat -a | grep "3000" tcp4 0 0 0.0.0.0:3000 DESKTOP LISTEN ``` -#### **On Windows - From Elevated PowerShell:** +#### **En Windows - Desde PowerShell con permisos de administrador:** ```powershell netstat -ab | Select-String "3000" @@ -76,26 +76,26 @@ TCP 0.0.0.0:3000 DESKTOP LISTENING ## Issues Signing Out while Navigating -While in development, your session is stored as cookies. Clearing them will sign you out of your development account. +Mientras estás en desarrollo, tu sesión es almacenado como cookies. Limpiarlos cerrará la sesión de tu cuenta de desarrollo. -Running `pnpm run seed:certified-user` will log you out, too. It will overwrite the development user in your local database. +Running `pnpm run seed:certified-user` will log you out, too. Pero sobrescribirá al usuario de desarrollo en tu base de datos local. ## Issue Getting 404 when Navigating Profile Page -When you try to navigate to http://localhost:8000/developmentuser to view the profile page, Gatsby takes over serving the client-side pages and hence you will get a 404 page for the user profile when working. +Cuando intenta navegar a http://localhost:8000/developmentuser para ver la página de perfil, Gatsby se encarga de servir las páginas del lado del cliente y por lo tanto obtendrá una página 404 para el perfil de usuario cuando este trabajando. -There is a "Preview Custom 404 Page" button, click it to see the profile. +Hay un botón de "Vista previa de página 404 personalizada", haga clic en él para ver el perfil. ## Issues Installing Dependencies -If you get errors while installing the dependencies, please make sure that you are not in a restricted network or your firewall settings do not prevent you from accessing resources. +Si tienes errores mientras instalas dependencias, por favor asegúrate de que no estes en una red restringida o tu configuración de firewall no te impida acceder a los recursos. -The first time setup can take a while depending on your network bandwidth. Be patient, and if you are still stuck we recommend using GitPod instead of an offline setup. +La primera configuración puede tardar un rato dependiendo del ancho de banda de tu red. Ten paciencia, y si todavía estás atascado recomendamos usar GitPod en lugar de una configuración sin conexión. -> [!NOTE] If you are using Apple Devices with M1 Chip to run the application locally, it is suggested to use Node v14.7 or above. You might run into issues with dependencies like Sharp otherwise. +> [!NOTE] Si estás utilizando dispositivos de Apple con el chip M1 para iniciar la aplicación localmente, es sugerido usar Node v14.7 or superior. De lo contrario, podrías tener problemas con dependencias como Sharp. ## Getting Help -If you are stuck and need help, feel free to ask questions in the ['Contributors' category on our forum](https://forum.freecodecamp.org/c/contributors) or [the contributors chat room](https://discord.gg/PRyKn3Vbay). +Si estás atascado y necesitas ayuda, sientete libre de hacer preguntas en ['Contributors' category on our forum](https://forum.freecodecamp.org/c/contributors) o [the contributors chat room](https://discord.gg/PRyKn3Vbay). -There might be an error in the console of your browser or in Bash / Terminal / Command Line that will help identify the problem. Provide this error message in your problem description so others can more easily identify the issue and help you find a resolution. +Puede haber un error en la consola de tu navegador o en el Bash / Terminal / Línea de comandos que te ayudará a identificar el problema. Proporciona este mensaje de error en la descripción de tu problema para que otros puedan identificar el problema fácilmente y ayudarte a encontrar una solución. diff --git a/docs/i18n/german/how-to-contribute-to-the-codebase.md b/docs/i18n/german/how-to-contribute-to-the-codebase.md index 4fc75a95a03..3ee01e7f9c9 100644 --- a/docs/i18n/german/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/german/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ A quick reference to the commands that you will need when working. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `pnpm test` | Run all JS tests in the system, including client, server, lint and challenge tests. | | `pnpm run test-client` | Run the client test suite. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Run the curriculum test suite. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Test a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Test a specific SuperBlock. | diff --git a/docs/i18n/italian/how-to-contribute-to-the-codebase.md b/docs/i18n/italian/how-to-contribute-to-the-codebase.md index 036ca34551b..113da69802c 100644 --- a/docs/i18n/italian/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/italian/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ Un rapido richiamo ai comandi di cui avrai bisogno lavorando. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `pnpm test` | Esegue tutti i test JS del sistema inclusi client, server, lint e test delle sfide. | | `pnpm run test-client` | Esegue la test suite del client. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Esegue la test suite del curriculum. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Esegue i test di uno specifico blocco. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Esegue i test di uno specifico superblocco. | diff --git a/docs/i18n/japanese/how-to-contribute-to-the-codebase.md b/docs/i18n/japanese/how-to-contribute-to-the-codebase.md index 4fc75a95a03..3ee01e7f9c9 100644 --- a/docs/i18n/japanese/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/japanese/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ A quick reference to the commands that you will need when working. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `pnpm test` | Run all JS tests in the system, including client, server, lint and challenge tests. | | `pnpm run test-client` | Run the client test suite. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Run the curriculum test suite. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Test a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Test a specific SuperBlock. | diff --git a/docs/i18n/portuguese/how-to-contribute-to-the-codebase.md b/docs/i18n/portuguese/how-to-contribute-to-the-codebase.md index 8332c90d399..2454c520ec1 100644 --- a/docs/i18n/portuguese/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/portuguese/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ Uma rápida referência aos comandos que você precisará ao trabalhar. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------- | | `pnpm test` | Executa todos os testes JS no sistema, incluindo cliente, servidor, lint e testes dos desafios. | | `pnpm run test-client` | Executa o conjunto de testes do cliente. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Executa o conjunto de teste de currículo. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Testa um bloco específico. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Testa um super bloco específico. | diff --git a/docs/i18n/ukrainian/codebase-best-practices.md b/docs/i18n/ukrainian/codebase-best-practices.md index 334ebe5fe6f..76d229a3a61 100644 --- a/docs/i18n/ukrainian/codebase-best-practices.md +++ b/docs/i18n/ukrainian/codebase-best-practices.md @@ -150,18 +150,18 @@ export default connect(null, mapDispatchToProps)(MyComponent); ## API -### Testing +### Тестування -The `api/` tests are split into two parts: +Тести `api/` розділені на дві частини: -1. Unit tests -2. Integration tests +1. Модульні тести +2. Інтеграційні тести -#### Unit Tests +#### Модульні тести -Unit tests isolate a single function or component. The tests do not need mocking, but will require fixtures. +Модульні тести виокремлюють певну функцію чи компонент. Тестам не потрібне мокування, але вони вимагають фікстури. -The unit tests are located in a new file adjacent the file exporting that being tested: +Модульні тести розміщені у новому файлі поруч з експортованим файлом, який тестується: ```text api/ @@ -170,11 +170,11 @@ api/ │ ├── utils.test.ts ``` -#### Integration Tests +#### Інтеграційні тести -Integration tests test the API as a whole. The tests will require mocking, and should not require fixtures beyond the database seeding data, and a method to authenticate. +Інтеграційні тести тестують API загалом. Тести вимагатимуть мокування та не повинні вимагати фікстур, окрім даних заповнення бази даних і методу автентифікації. -Typically, each integration test file will be directly related to a route. The integration tests are located in the `api/tests/` directory: +Зазвичай кожен файл інтеграційного тесту пов’язаний з маршрутом. Інтеграційні тести розміщені у каталозі `api/tests/`: ```text api/ @@ -182,7 +182,7 @@ api/ │ ├── settings.ts ``` -## Further Literature +## Додаткова література - [Документація TypeScript](https://www.typescriptlang.org/docs/) - [Шпаргалка для TypeScript із React](https://github.com/typescript-cheatsheets/react#readme) diff --git a/docs/i18n/ukrainian/how-to-contribute-to-the-codebase.md b/docs/i18n/ukrainian/how-to-contribute-to-the-codebase.md index 2abb1743d03..5a458e020e9 100644 --- a/docs/i18n/ukrainian/how-to-contribute-to-the-codebase.md +++ b/docs/i18n/ukrainian/how-to-contribute-to-the-codebase.md @@ -205,6 +205,7 @@ A quick reference to the commands that you will need when working. | ----------------------------------------------------------------- | ----------------------------------------------------------------------------------- | | `pnpm test` | Run all JS tests in the system, including client, server, lint and challenge tests. | | `pnpm run test-client` | Run the client test suite. | +| `pnpm run test-client -u` | Run the client test suite, updating the Jest snapshots that are out of sync. | | `pnpm run test:curriculum` | Run the curriculum test suite. | | `FCC_BLOCK='Basic HTML and HTML5' pnpm run test:curriculum` | Test a specific Block. | | `FCC_SUPERBLOCK='responsive-web-design' pnpm run test:curriculum` | Test a specific SuperBlock. | diff --git a/docs/i18n/ukrainian/how-to-enable-new-languages.md b/docs/i18n/ukrainian/how-to-enable-new-languages.md index 96034b1998c..1ea5319ffa1 100644 --- a/docs/i18n/ukrainian/how-to-enable-new-languages.md +++ b/docs/i18n/ukrainian/how-to-enable-new-languages.md @@ -181,15 +181,15 @@ The `CurriculumMaps.Landing` array should contain exactly one superblock for all - `SuperBlockStates.Upcoming`: These only show up when `SHOW_UPCOMING_CHANGES` is set to `true` in your `.env` file. It is to show superblocks locally while they are in development. Or, if you just need to hide a superblock from the map for some other reason. - `SuperBlockStates.Legacy`: A superblock is moved here when a newer version of that superblock has been fully translated and replaced it. -### Configure Search +### Налаштування пошуку -Next, open the `client/src/utils/algolia-locale-setup.ts` file. This data is used for the search bar that loads `/news` articles. While it is unlikely that you are going to test this functionality, missing the data for your language can lead to errors when attempting to build the codebase locally. +Потім відкрийте файл `client/src/utils/algolia-locale-setup.ts`. Ці дані використовуються для рядка пошуку, який завантажує статті `/news`. Хоча й малоймовірно, що ви будете тестувати цю функціональність, відсутність даних мови може призвести до помилок при спробі створити кодову базу локально. -Add an object for your language to the `algoliaIndices` object. You should use the the same values as the `english` object for local testing, replacing the `english` key with your language's `availableLangs` value. +Додайте об’єкт своєї мови до об’єкта `algoliaIndices`. Використовуйте значення об’єкта `english` для локального тестування, замінивши ключ `english` на значення своєї мови `availableLangs`. -> [!NOTE] If we have already deployed an instance of news in your target language, you can update the values to reflect the live instance. Otherwise, use the English values. +> [!NOTE] Якщо ви вже розгорнули екземпляр новин потрібною мовою, ви можете оновити значення, щоб зобразити активний екземпляр. В іншому випадку використовуйте значення англійської мови. -If you were to add Dothraki: +Якби ви додали дотракійську: ```js const algoliaIndices = { @@ -216,9 +216,9 @@ const algoliaIndices = { }; ``` -## Enabling Localized Videos +## Додавання локалізованих відео -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: +Вам потрібно дещо змінити стосовно відеозавдань. Спочатку додайте нову локаль до запиту GraphQL у файлі `client/src/templates/Challenges/video/Show.tsx`. Ось так додається дотракійська мова: ```tsx query VideoChallenge($slug: String!) { @@ -233,7 +233,7 @@ For the video challenges, you need to change a few things. First, add the new lo ... ``` -Then add an id for the new language to any video challenge in an audited block. For example, if `auditedCerts` in `i18n.ts` includes `scientific-computing-with-python` for `dothraki`, then you must add a `dothraki` entry in `videoLocaleIds`. The frontmatter should then look like this: +Потім додайте ідентифікатор нової мови до будь-якого відеозавдання в перевіреному блоці. Наприклад, якщо `auditedCerts` у `i18n.ts` містить `scientific-computing-with-python` для `dothraki`, тоді ви повинні додати запис `dothraki` в `videoLocaleIds`. Тоді вступна частина має виглядати так: ```yml videoLocaleIds: @@ -245,7 +245,7 @@ dashedName: introduction-why-program --- ``` -Update the `VideoLocaleIds` interface in `client/src/redux/prop-types` to include the new language. +Оновіть інтерфейс `VideoLocaleIds` у `client/src/redux/prop-types`, додавши нову мову. ```ts export interface VideoLocaleIds { @@ -256,7 +256,7 @@ export interface VideoLocaleIds { } ``` -And finally, update the challenge schema in `curriculum/schema/challengeSchema.js`. +Вкінці оновіть схему завдань у `curriculum/schema/challengeSchema.js`. ```js videoLocaleIds: Joi.when('challengeType', { diff --git a/docs/i18n/ukrainian/language-lead-handbook.md b/docs/i18n/ukrainian/language-lead-handbook.md index 0515878f947..852e5ce2269 100644 --- a/docs/i18n/ukrainian/language-lead-handbook.md +++ b/docs/i18n/ukrainian/language-lead-handbook.md @@ -1,32 +1,32 @@ # Офіційний довідник мовного керівника freeCodeCamp -This handbook will help you set up and use the tools for your localization efforts. +Цей посібник допоможе вам налаштувати та використовувати інструменти для локалізації. -## How to Invite New Contributors to Ghost +## Як запросити нових помічників до Ghost -Ghost allows you to set contributors with different levels of authorization. +Ghost дозволяє налаштувати декілька рівнів користувачів. -Most of your invites will be for the "Contributor" level. This level allows the user to create drafts. Select this role when inviting a new translator. +Більшість запрошень матимуть рівень «Contributor». Цей рівень дозволяє користувачеві створювати чернетки. Обирайте цю роль, коли запрошуєте нового перекладача. -The "Author" level allows the user to create Drafts and publish them. +Рівень «Author» дозволяє користувачу створювати чернетки та публікувати їх. -The "Editor" level allows the user to access all Drafts and publish them. Select this role when inviting a new proofreader. +Рівень «Editor» дозволяє користувачу переглядати всі чернетки та публікувати їх. Обирайте цю роль, коли запрошуєте нового редактора. -The "Administrator" level is reserved for freeCodeCamp staff and Language Leads. +Рівень «Administrator» використовується для персоналу freeCodeCamp та мовних керівників. -### How are the Articles Built +### Як побудовані статті -We use a [JAMStack](https://www.google.com/search?q=what+is+jamstack)-based approach to build and deploy the articles. This strategy makes for a speedy static site cached and served from a CDN. +Ми використовуємо підхід на основі [JAMStack](https://www.google.com/search?q=what+is+jamstack), щоб імплементувати статті. Ця стратегія призводить до того, що статичний вебсайт швидко кешується та обслуговується з CDN. -[Ghost](https://ghost.org) acts as our content management platform, and [11ty](https://11ty.dev) builds the articles into static assets – plain HTML, JavaScript, and CSS. Only these static assets are deployed to our servers. +[Ghost](https://ghost.org) діє як наша платформа керування вмістом, а [11ty](https://11ty.dev) надає статтям статичних ресурсів (HTML, JavaScript та CSS). На наших серверах розгортаються тільки ці статичні ресурси. -This process is automated and runs periodically. If you publish something now, it will be available on the news site in a few hours. +Цей процес автоматичний та запускається періодично. Якщо ви опублікуєте щось зараз, на сайті новин воно з’явиться через пару годин. -You can find the up-to-date build schedules and status here: https://github.com/freeCodeCamp/news#build +Ви можете знайти розклад збірки та статус тут: https://github.com/freeCodeCamp/news#build -## How to Mention the Original Author of a Translated Article +## Як вказати автора перекладеної статті -The original author and the original article are linked automatically adding this code to the Code Injection -> head section in the Draft Settings on Ghost. +Автор та оригінал статті прив’язуються автоматично, якщо цей код додано до Code Injection -> головної секції в налаштуваннях чернеток на Ghost. ```html ``` -With `link` being the link of the original article. +Де `link` — посилання на оригінал статті. -## How to Update Trending Articles +## Як оновити популярні статті -> [!TIP] Changing the articles in the footer at least once a month means giving a boost to the linked articles on Google results. +> [!TIP] Змінювати статті у нижньому колонтитулі принаймні раз на місяць дозволяє покращити результати пошуку в гуглі. -There are two places in which to change the trending articles. +Існує два місця, в яких потрібно змінювати популярні статті. -- [The curriculum repository](https://github.com/freeCodeCamp/freeCodeCamp/) -- [The CDN repository](https://github.com/freeCodeCamp/cdn) +- [Репозиторій навчальної програми](https://github.com/freeCodeCamp/freeCodeCamp/) +- [Репозиторій CDN](https://github.com/freeCodeCamp/cdn) -For each article, you will need to create a shorter title to use in the footer. +Для кожної статті потрібно створювати коротший заголовок, який використовуватиметься у нижньому колонтитулі. -### Change Trending Articles in the Curriculum +### Зміна популярних статей у навчальній програмі -The trending articles in the curriculum footer can be changed by editing the file at `client/i18n/locales//trending.json`. +Популярні статті у нижньому колонтитулі навчальної програми можна змінити, відредагувавши файл у `client/i18n/locales//trending.json`. -This file is a `*.json` file that has the shape of an object with property keys in the shape `article0title` and `article0link`. +Цей файл є файлом `*.json`, який має форму об’єкта з ключами властивостей у формі `article0title` та `article0link`. -Each number represents one of the 30 articles in the footer. Make sure to match the title and the link correctly. +Кожне число представляє одну із 30 статей у колонтитулі. Переконайтесь, що заголовок та посилання відповідають один одному. -This is an example of how part of the `trending.json` file has to look. +Ось приклад того, як повинна виглядати частина файлу `trending.json`. ```json { @@ -75,13 +75,13 @@ This is an example of how part of the `trending.json` file has to look. } ``` -You will want to [build the translated client locally](how-to-enable-new-languages.md) to see if the titles have the right length. Each title must stay on a single line and not go to a new line. +Вам доведеться [побудувати перекладеного клієнта локально](how-to-enable-new-languages.md), щоб переконатись, що довжина заголовків правильна. Кожен заголовок повинен залишатися в одному рядку та не переходити в інший. -### How to Update the Trending Articles in the CDN +### Зміна популярних статей у CDN -The file in the CDN repository is the file `universal/trending/.yaml`. +Файлом у репозиторії CDN є файл `universal/trending/.yaml`. -This file is shaped differently. For example, here is the file content for the first 6 articles: +Цей файл має іншу форму. Наприклад, ось вміст файлу для перших шести статей: ```yaml article0title: 'Unire CSV con Python' @@ -98,41 +98,41 @@ article5title: 'Cosa è API?' article5link: 'https://www.freecodecamp.org/italian/news/cose-un-api-in-italiano-per-favore/' ``` -You can convert from one format to the other carefully changing it manually. Or you can use [the script in this repl](https://replit.com/@Ieahleen/convert-json-to-yaml). +Ви можете вручну перетворити один формат в інший. Або ви можете використати [цей скрипт](https://replit.com/@Ieahleen/convert-json-to-yaml). -> [!TIP] A new workflow is being worked on, there will be only one place to change in the future. +> [!TIP] Розробляється новий робочий процес, тому у майбутньому потрібно буде змінювати лише одне місце. -## How to Translate Articles in the Footer Links +## Як перекладати статті в нижньому колонтитулі -There are some links listed at the bottom of the footer (About, Alumni Network, Open Source, etc.) and some of them can be translated into your language in the same way as other articles. +У нижньому колонтитулі наявні певні посилання (про нас, спільнота випускників, відкритий вихідний код тощо), деякі з яких можна перекласти так само, як і статті. -Articles that can be translated: +Статті, які можна перекладати: -- About -- Support -- Academic Honesty -- Code of Conduct +- Про нас +- Допомога +- Академічна доброчесність +- Кодекс поведінки -The following articles should **not** be translated: +Статті, які **не** потрібно перекладати: -- Shop -- Sponsors -- Privacy Policy -- Terms of Service -- Copyright Policy +- Магазин +- Спонсори +- Політика конфіденційності +- Умови надання послуг +- Політика захисту авторських прав -The following links are pointing to external sites and cannot be translated: +Наступні посилання вказують на зовнішні сайти і не можуть бути перекладені: -- Alumni Network -- Open Source +- Спільнота випускників +- Відкритий вихідний код -### Change the Footer Links in the News +### Як змінити посилання у нижньому колонтитулі новин -Once you have translated and published the articles listed as "can be translated" above, you can update the links in the footer for `/news` by editing the file at `news/config/i18n/locales//links.json` in the [freeCodeCamp/news](https://github.com/freeCodeCamp/news) repository. +Як тільки ви переклали та опублікували статті, позначені вище як «можна перекладати», ви можете оновити посилання у нижньому колонтитулі для `/news`, відредагувавши файл `news/config/i18n/locales//links.json` у репозиторії [freeCodeCamp/news](https://github.com/freeCodeCamp/news). -> [!NOTE] Pull requests to this repository are currently limited to staff only. If you want to update this file, ask someone on the staff team for help. +> [!NOTE] Наразі PR цього репозиторію доступні лише робочому персоналу. Якщо ви хочете оновити цей файл, попросіть персонал про допомогу. -Update the following part in the file: +Оновіть наступну частину файлу: ```json { @@ -146,13 +146,13 @@ Update the following part in the file: } ``` -### Change the Footer Links in the Curriculum +### Як змінити посилання у нижньому колонтитулі навчальної програми -When you have translated and published the articles listed as "can be translated" above, as well as when the curriculum in your language is ready for launch, you can update the links in the footer for `/learn` by editing the file at `client/i18n/locales//links.json` in the [freeCodeCamp/freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp) repository. +Як тільки ви переклали та опублікували статті, позначені вище як «можна перекладати», ви можете оновити посилання у нижньому колонтитулі для`/learn`, відредагувавши файл `client/i18n/locales//links.json` у репозиторії [freeCodeCamp/freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp). -> [!WARNING] Only "About", "Support", "Academic Honesty", and "Code of Conduct" can be translated. Leave other URLs unchanged. +> [!WARNING] Можна перекладати лише «Про нас», «Допомога», «Академічна доброчесність» та «Кодекс поведінки». Не змінюйте інших URL. -Update the following part in the file: +Оновіть наступну частину файлу: ```json { @@ -172,23 +172,23 @@ Update the following part in the file: } ``` -## How to Translate the Info Boxes Headers in the Documentation +## Як перекладати інформаційні коробочки документації -You can find these boxes all around the documentation: +Ви можете знайти безліч таких коробочок у документації: -> [!NOTE] I am a note box +> [!NOTE] Я ділюсь нотатками -> [!TIP] I am a tip box +> [!TIP] Я ділюсь порадами -> [!WARNING] I am a warning box +> [!WARNING] Я ділюсь попередженнями -> [!ATTENTION] I am an attention box +> [!ATTENTION] Я ділюсь важливою інформацією -By default, their headers appear in English even in the translated docs. +Заголовки за замовчуванням з’являються англійською мовою навіть у перекладених файлах. -You can have the headers translated in the docs in your language by changing the file `docs/index.html`, in this way: +Ви можете перекласти заголовки своєю мовою, змінивши файл `docs/index.html` таким чином: -Inside the `script` element there is an object, find the `flexibleAlerts` property, which has this shape: +Всередині елементу `script` є об’єкт, знайдіть властивість `flexibleAlerts` з такою формою: ```js flexibleAlerts: { @@ -215,9 +215,9 @@ flexibleAlerts: { } ``` -Inside the object of the label property, before the `'/'` property, you would add a new property for your language, like `/i18n//`. +Всередині об’єкта властивості label, перед властивістю `'/'`, додайте нову властивість для своєї мови, схоже до `/i18n//`. -For example, adding the translations for Portuguese would appear like this: +Наприклад, це виглядатиме так, якщо додати переклади португальською: ```js flexibleAlerts: { @@ -248,11 +248,11 @@ flexibleAlerts: { } ``` -## How to Translate the Motivational Quotes +## Як перекладати мотиваційні цитати -The motivational quotes can be found in the [curriculum repository](https://github.com/freeCodeCamp/freeCodeCamp/) in the `/client/i18n/locales//motivation.json` file. +Мотиваційні цитати можна знайти в [репозиторії навчальної програми](https://github.com/freeCodeCamp/freeCodeCamp/) у файлі `/client/i18n/locales//motivation.json`. -This file has a general structure of: +Цей файл має загальну структуру: ```json { @@ -261,11 +261,11 @@ This file has a general structure of: } ``` -The compliments are the short sentences that appear at the completion of a challenge. +Компліменти — це короткі фрази, які з’являються після виконання завдання. -You don't need to directly translate the sentences used in English, you can write a set of short sentences that are appropriate to show at the completion of a challenge. +Не потрібно перекладати речення з англійської буквально. Можна написати пару коротких речень, які доречні для завершення завдання. -The `compliments` array is an array of strings. So, for example, you would write: +Масив `compliments` є масивом рядків. Тому ви б писали: ```json { @@ -274,11 +274,11 @@ The `compliments` array is an array of strings. So, for example, you would write } ``` -> [!TIP] You should start with at least a dozen compliments to have some variety when users complete challenges. +> [!TIP] Для різноманіття вам потрібно почати з принаймні десяти компліментів. -The motivational quotes are the quotes that appear at https://freecodecamp.org/learn. +Мотиваційні цитати — це цитати, які з’являються на https://freecodecamp.org/learn. -The `motivationalQuotes` array is an array of objects, these objects should include a `quote` property and an `author` property. like this: +Масив `motivationalQuotes` — це масив об’єктів, які повинні містити властивість `quote` та властивість `author`. Ось так: ```json { @@ -296,78 +296,78 @@ The `motivationalQuotes` array is an array of objects, these objects should incl } ``` -> [!TIP] You should start with at least a dozen quotes, to have some variety. A new quote is shown every time the user reloads the page. +> [!TIP] Для різноманіття вам потрібно почати принаймні з десяти цитат. Нова цитата відображається кожного разу, коли користувач перезавантажує сторінку. -## How to Update the Common Links +## Як оновити загальні посилання -We maintain a file of common links used throughout our [curriculum site](https://github.com/freecodecamp/freecodecamp) in the `/client/i18n/locales//links.json` file. +Ми підтримуємо файл загальних посилань, які використовуються на нашому [сайті навчальної програми](https://github.com/freecodecamp/freecodecamp) у файлі `/client/i18n/locales//links.json`. -Some of these links will not change - but you should update the `/news` article links to point to your language's translated version of that article when it is published. +Деякі з цих посилань не змінюються. Але вам потрібно оновлювати посилання статей `/news`, які вказуватимуть на перекладену версію цієї статті. -You should also update the `help` categories to point to your language's subforum (usually `language/category`, like `Italiano/HTML-CSS`). This will allow campers to create "help posts" in the correct forum location. +Вам також потрібно оновлювати категорії `help`, щоб вказувати на підфорум вашої мови (зазвичай `language/category`, як-от `Italiano/HTML-CSS`). Це допоможе кемперам створити «допис допомоги» у правильному місці. -## How to Update the Site Meta-Data +## Як оновити метадані сайту -Метадані сайту знаходяться в файлі `/client/i18n/locales//meta-tags.json`. Цей файл має п'ять ключів: `title`, `description`, `social-description`, `keywords` та `youre-unsubscribed`. +Метадані сайту знаходяться у файлі `/client/i18n/locales//meta-tags.json`. Цей файл має п’ять ключів: `title`, `description`, `social-description`, `keywords` та `youre-unsubscribed`. -Значення `youre-unsubscribed` повинне бути перекладене прямо. Інші значення потрібно перекладати якомога ближче, зважаючи на поширені пошукові запити вашої мови. +Значення `youre-unsubscribed` повинне бути перекладене дослівно. Інші значення потрібно перекладати якомога ближче, зважаючи на поширені пошукові запити вашої мови. -Якщо вам потрібна допомога, зв'яжіться з нами в [contributor chat](https://discord.gg/PRyKn3Vbay) +Якщо вам потрібна допомога, зв’яжіться з нами у [чаті](https://discord.gg/PRyKn3Vbay) -## Pre-Translate Workflow on Crowdin +## Попередній переклад на Crowdin -The Pre-Translate workflow can be used to apply translations from the Translation Memory to strings. +Попередній переклад можна використовувати, щоб застосувати переклади з пам’яті перекладів. -> [!TIP] Really useful to restore a lot of translations from the Translation Memory in bulk when a lot of files have been updated. +> [!TIP] Особливо корисно відновлювати переклади з пам’яті перекладів, якщо оновлена велика кількість файлів. -You can find the Pre-Translation workflow at the top of the page in the console of a project. If you see "Go to console" in the upper right corner, click there first. +Ви можете знайти попередній переклад у верхній частині сторінки на консолі проєкту. Якщо ви бачите кнопку «Go to console» у верхньому правому куті, натисніть на неї. -![go to console button](./images/crowdin/pre-translate2.png) +![кнопка переходу до консолі](./images/crowdin/pre-translate2.png) -![pre-translate workflow](./images/crowdin/pre-translate1.png) +![попередній переклад](./images/crowdin/pre-translate1.png) -You can choose "From Machine Translation" or "From Translation Memory". Choose "Translation Memory" to recover translations from memory. +Ви можете обрати «From Machine Translation» або «From Translation Memory». Оберіть «Translation Memory», щоб відновити переклади з пам’яті. -Then there are three steps to complete: +Залишається виконати три кроки: -1. Files. Choose which files to translate, you can do all the projects, or specific folders or files. -2. Languages. Set your language here. -3. Existing Translations. The best combination here is "100% match" and "Apply to untranslated strings only". Do not approve automatically, as it's always best to have a human eye on things. +1. Files. Виберіть файли, які потрібно перекласти (ви можете обрати цілий проєкт або певну папку чи файл). +2. Languages. Вкажіть свою мову. +3. Existing Translations. Найкращою комбінацією є «100% match» та «Apply to untranslated strings only». Не затверджуйте їх автоматично, оскільки завжди краще перевіряти вручну. -![pre-translate existing translations](./images/crowdin/pre-translate3.png) +![попередній переклад наявних перекладів](./images/crowdin/pre-translate3.png) -When you have finished setting this, press the Pre-Translate button and wait. It will alert you once it has finished. The time it takes depends on how many untranslated strings are in the chosen files. +Коли ви закінчите, натисніть кнопку «Pre-Translate» та зачекайте. Вас попередять, коли робота закінчиться. Час залежить від кількості неперекладених рядків у вибраних файлах. -## How to Update Crowdin Glossary +## Як оновити глосарій Crowdin -> [!TIP] An updated glossary helps in having a homogeneous translation of technical terms. +> [!TIP] Оновлений глосарій дозволяє дотримуватись однорідного перекладу технічних термінів. -The Crowdin Glossary is kept in the [crowdin-glossaries](https://github.com/freeCodeCamp/crowdin-glossaries) repository. +Глосарій Crowdin зберігається у репозиторії [crowdin-glossaries](https://github.com/freeCodeCamp/crowdin-glossaries). -In the `glossaries` folder, there are various `*.csv` (comma,separated values) files, one for each of the crowdin projects that have a glossary that can be updated from this workflow. +У папці `glossaries` розміщено декілька файлів `*.csv` (значення, розділені комою), по одному для кожного проєкту на Crowdin, що мають глосарій. -The `client.csv` file is for the Learn User Interface project, the `curriculum.csv` file is for the Coding Curriculum project, the `docs.csv` file is for the Contributing Documentation project. +Файл `client.csv` використовується для інтерфейсу користувача, файл `curriculum.csv` — для навчальної програми, а файл `docs.csv` — для документації. -To update the Crowdin Glossaries, you need to clone this repo locally. Open the `.csv` file with an appropriate program, for example, Microsoft Excel. +Щоб оновити глосарії Crowdin, вам потрібно клонувати репозиторій локально. Відкрийте файл `.csv` за допомогою відповідної програми (наприклад, Microsoft Excel). -In the `.csv` file you will find that the English language occupies the first three columns, `Term:English` is the column for the English term, `Description:English` is the column for the English description, and `Part:English` is for the part of speech (e.g., noun, verb etc.) of the term. +У файлі `.csv` ви побачите, що перші три стовпчики написані англійською мовою: `Term:English` для терміна англійською мовою, `Description:English` для опису англійською мовою та `Part:English` для частини мови (іменник, дієслово тощо). -Then, each target language has two columns. If you translate to Dothraki, you will be interested in the columns `Term:Dothraki` and `Description:Dothraki`. The column `Term:Dothraki` is for the translation of the term in Dothraki, and the column `Description:Dothraki` is for a description of the term in Dothraki. +Кожна цільова мова має два стовпчики. Якщо ви перекладаєте на дотракійську мову, вам потрібні стовпчики `Term:Dothraki` та `Description:Dothraki`. Стовпчик `Term:Dothraki` використовується для перекладу терміну на дотракійську мову, а `Description:Dothraki` — для опису терміну дотракійською мовою. -> [!TIP] In programs like Microsoft Excel, you can hide the columns of the other languages to free up screen real-estate and see the English columns and the target language columns near each other. +> [!TIP] У деяких програмах (наприклад, Microsoft Excel) можна приховати стовпчики з іншими мовами, щоб звільнити місце на екрані та бачити англомовні стовпчики поруч із потрібною мовою. -After you have made the changes and saved the file, you will need to make a PR with the proposed changes. After the PR is accepted, you will need to run the GitHub Action workflow to update the Crowdin Glossary. Your glossary changes will not have immediate effects, but they will come. +Після того, як ви внесли зміни та зберегли файл, потрібно створити PR із запропонованими змінами. Як тільки PR буде прийнятий, вам потрібно запустити GitHub Action, щоб оновити глосарій Crowdin. Внесені зміни до глосарію не набудуть чинності одразу, а з’являться пізніше. -## How to Promote a Contributor to Proofreader +## Як підвищити помічника до редактора -If you consider that a contributor could become a Crowdin Proofreader, you can give the proofreader role to them this way: +Якщо ви вважаєте, що помічника можна підвищити до редактора на Crowdin, ви можете надати йому цю посаду наступним чином: -In Crowdin, individuate the `User management` on the left-hand side menu. +Перейдіть до `User management` в меню зліва на Crowdin. -This will open the user management tools, you will be able to see the list of all the users. +Це відкриє панель керування, де ви побачите список всіх користувачів. -Search for the user that will become a proofreader. Use the three dots menu on the user row to open a menu and select "Add to team". The proofreader teams have a standard name of `Proof Readers ()`, you can search the team using the language name. Once you have selected the team, use the "ADD" button at the bottom of the page to finalize the thing. +Знайдіть користувача, який стане редактором. Натисніть на три крапки та оберіть «Add to team». Команди редакторів мають стандартну назву `Proof Readers ()`, тому ви можете знайти команду, використавши назву мови. Як тільки ви обрали команду, використайте кнопку «ADD», щоб завершити. -The user is now a proofreader. +Тепер користувач є редактором. -> [!TIP] The newly promoted proofreader could benefit from reading the [How to Proofread Files](how-to-proofread-files.md) documentation. +> [!TIP] Новий редактор може багато чого дізнатись, прочитавши [як редагувати файли](how-to-proofread-files.md).