mirror of
https://github.com/freeCodeCamp/freeCodeCamp.git
synced 2026-10-24 23:49:06 +08:00
chore(i18n,docs): processed translations (#50078)
Co-authored-by: Mrugesh Mohapatra <1884376+raisedadead@users.noreply.github.com>
This commit is contained in:
co-authored by
Mrugesh Mohapatra
parent
6ad4602ea8
commit
f6d4a7ec48
@@ -4,17 +4,17 @@
|
||||
|
||||
## 拡張機能を公開する
|
||||
|
||||
A GitHub Action automagically publishes the extension to the Visual Studio Marketplace, on the release of a new GitHub Release.
|
||||
新たな GitHub リリースが公開されると、自動的に GitHub Action が拡張機能を Visual Studio Marketplace へ公開します。
|
||||
|
||||
1. Package a new version of the extension:
|
||||
1. 新しいバージョンの拡張機能をパッケージ化します。
|
||||
|
||||
```bash
|
||||
npm run pack -- <tag_type>
|
||||
```
|
||||
|
||||
Where `<tag_type>` is one of: `major`, `minor`, `patch`.
|
||||
`<tag_type>` は `major`, `minor`, `patch` のいずれかになります。
|
||||
|
||||
2. Push the new version to `main`:
|
||||
2. `main` へ新しいバージョンをプッシュします。
|
||||
|
||||
```bash
|
||||
git commit -am "<tag_type>(<version>): <description>"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# freeCodeCamp のリソースを翻訳する方法
|
||||
|
||||
## Prepare yourself for Contributions
|
||||
## コントリビューションの心構え
|
||||
|
||||
> freeCodeCamp ローカリゼーションのロードマップ – 進められるだけ進めてください。
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
## Crowdin の概要
|
||||
|
||||
あなたが何語を話すかに関わらず、学習リソースを提供することが私達の夢です。 To help us with this massive effort, we have integrated our open-source codebase & curriculum with [Crowdin](https://crowdin.com/) - A tool to help us localize our code-base.
|
||||
あなたが何語を話すかに関わらず、学習リソースを提供することが私達の夢です。 この大規模な取り組みのため、私達はオープンソースのコードおよびカリキュラムを、ローカライズ支援ツール [Crowdin](https://crowdin.com/) と一体化しました。
|
||||
|
||||
> [!NOTE] [ニュース記事](https://www.freecodecamp.org/news) の翻訳には別のツールとワークフローを使用します。 記事の翻訳に関心がある場合には、[こちらのお知らせ](https://www.freecodecamp.org/japanese/news/help-translate-freecodecamp-language/)をお読みいただき、各言語の担当者 (ランゲージリード) までご連絡ください。
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
> [!WARNING] 現在、GitHub を使用してファイルを直接翻訳することはなくなりました。以前コントリビューターだった方は、代わりに[翻訳プラットフォーム](https://translate.freecodecamp.org/)を使用してください。
|
||||
|
||||
## Getting Started
|
||||
## はじめに
|
||||
|
||||
まず、[Discord](https://discord.gg/PRyKn3Vbay)で挨拶をしましょう。 私達はここでリソースの翻訳に関する最新情報を投稿したり、多くの質問に答えたりしています。
|
||||
|
||||
@@ -129,7 +129,7 @@ Crowdin はドキュメントを翻訳可能な文字列 (通常は文単位)
|
||||
|
||||
### Crowdin 上の作業
|
||||
|
||||
> [!ATTENTION] Do not edit the following files through a GitHub PR.
|
||||
> [!ATTENTION] 以下のファイルは GitHub のプルリクエストで変更しないでください。
|
||||
|
||||
`intro.json` と `translations.json` のファイルはどちらもCrowdin 上の Learn User Interface プロジェクトで翻訳します。 この作業では JSON の個々の値がその部分だけで文字列として表示され、文脈が分からないことが多いため、翻訳が難しい場合があります。
|
||||
|
||||
@@ -145,7 +145,7 @@ Crowdin はドキュメントを翻訳可能な文字列 (通常は文単位)
|
||||
|
||||
> [!NOTE] コントリビューションドキュメントは `docsify` によって提供されており、このようなメッセージボックス用に特別な構文解析機能があります。 `[!NOTE]`、`[!WARNING]` または `[!TIP]` などで始まる文字列を見かけたら、これらの単語は翻訳しないようにしてください。
|
||||
|
||||
### How to Translate Documentation with Internal Links
|
||||
### 内部リンクのあるドキュメントの翻訳方法
|
||||
|
||||
コントリビューションドキュメントを翻訳する際には、ドキュメント内の別のセクションをリンク先とする内部リンクに注意してください。
|
||||
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
|
||||
Este guia irá ajudá-lo a entender nossas ferramentas de infraestrutura e como mantemos nossas plataformas. Embora este guia não tenha muitos detalhes para todas as operações, ele pode ser usado como referência para a compreensão dos sistemas.
|
||||
|
||||
Let us know if you have feedback or queries and we will be happy to clarify.
|
||||
Fale com a gente se tiver algum comentário ou dúvidas e teremos prazer em esclarecê-las.
|
||||
|
||||
## Flight Manual - Code Deployments
|
||||
## Manual de Voo – Implementação de código
|
||||
|
||||
This repository is continuously built, tested, and deployed to **separate sets of infrastructure (Servers, Databases, CDNs, etc.)**.
|
||||
Este repositório é continuamente construído, testado e implementado em **conjuntos separados de infraestrutura (servidores, base de dados, CDNs, etc.)**.
|
||||
|
||||
Isto implica três passos a serem seguidos em sequência:
|
||||
|
||||
@@ -14,7 +14,7 @@ Isto implica três passos a serem seguidos em sequência:
|
||||
2. Estas alterações são executadas por uma série de testes automatizados.
|
||||
3. Uma vez que os testes passem, liberamos as alterações (ou as atualizamos se necessário) para implementações na nossa infraestrutura.
|
||||
|
||||
### Building the codebase - Mapping Git Branches to Deployments
|
||||
### Compilando a base de código - mapeando branches do Git para implementações
|
||||
|
||||
Normalmente, é feito um merge de [`main`](https://github.com/freeCodeCamp/freeCodeCamp/tree/main) (branch padrão de desenvolvimento) na branch [`production-staging`](https://github.com/freeCodeCamp/freeCodeCamp/tree/prod-staging) uma vez ao dia e liberada em uma infraestrutura isolada.
|
||||
|
||||
@@ -26,33 +26,33 @@ Uma vez que a equipe de desenvolvedores [`@freeCodeCamp/dev-team`](https://githu
|
||||
|
||||
Esta é a versão final que move as mudanças para as nossas plataformas de produção no freeCodeCamp.org.
|
||||
|
||||
### Testing changes - Integration and User Acceptance Testing
|
||||
### Testando alterações - Teste de integração e de aceitação do usuário
|
||||
|
||||
Empregamos vários níveis de testes de integração e aceitação para verificar a qualidade do código. Todos os nossos testes são feitos através de software como [GitHub Actions CI](https://github.com/freeCodeCamp/freeCodeCamp/actions) e [Azure Pipelines](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp).
|
||||
|
||||
We have unit tests for testing our challenge solutions, Server APIs, and Client User interfaces. Eles nos ajudam a testar a integração entre diferentes componentes.
|
||||
Temos testes unitários para nossas soluções de desafio, APIs do servidor e interfaces de usuário e cliente. Eles nos ajudam a testar a integração entre diferentes componentes.
|
||||
|
||||
> [!NOTE] We are also in the process of writing end user tests which will help in replicating real-world scenarios like updating an email or making a call to the API or third-party services.
|
||||
> [!NOTE] Também estamos escrevendo testes de usuário finais que ajudarão a replicar cenários do mundo real, como atualizar um e-mail ou fazer uma chamada para a API ou serviços de terceiros.
|
||||
|
||||
Juntos, esses testes ajudam a evitar que problemas se repitam e garantem que não introduzimos um erro enquanto trabalhamos em outra falha ou recurso.
|
||||
|
||||
### Deploying Changes - Pushing changes to servers
|
||||
### Implementando alterações - Enviando alterações para os servidores
|
||||
|
||||
Nós configuramos software de entrega contínua para fazer push de mudanças no nosso servidor de desenvolvimento e produção.
|
||||
|
||||
Uma vez que as alterações são enviadas para as branches de lançamento protegidas, um pipeline de construção é automaticamente acionado para a branch. Os pipelines de compilação são responsáveis pela compilação de artefatos e os guardam em um armazenamento de longo prazo para uso posterior.
|
||||
|
||||
O pipeline de compilação aciona um correspondente pipeline de lançamento se ele completar uma execução bem-sucedida. The release pipelines are responsible for collecting the build artifacts, moving them to the servers, and going live.
|
||||
O pipeline de compilação aciona um correspondente pipeline de lançamento se ele completar uma execução bem-sucedida. Os pipelines de lançamento são responsáveis por coletar os artefatos de compilação, movendo-os para os servidores e deixando-os disponíveis para acesso.
|
||||
|
||||
The statuses of builds and releases are [available here](#build-test-and-deployment-status).
|
||||
O estado das compilações e lançamentos está [disponível aqui](#build-test-and-deployment-status).
|
||||
|
||||
## Trigger a Build, Test, and Deploy
|
||||
## Acione uma compilação, um teste e uma implantação
|
||||
|
||||
Currently, only members of the developer team can push to the production branches. As alterações nas branches `production-*` podem ser enviadas para [`upstream`](https://github.com/freeCodeCamp/freeCodeCamp) apenas por meio de um fast-forward merge.
|
||||
Atualmente, somente membros da equipe de desenvolvedores podem dar push nas branches de produção. As alterações nas branches `production-*` podem ser enviadas para [`upstream`](https://github.com/freeCodeCamp/freeCodeCamp) apenas por meio de um fast-forward merge.
|
||||
|
||||
> [!NOTE] In the upcoming days, we would improve this flow to be done via pull requests, for better access management and transparency.
|
||||
> [!NOTE] Nos próximos dias, vamos melhorar este fluxo a ser feito por meio de pull-requests, para melhor gerenciamento de acesso e transparência.
|
||||
|
||||
### Pushing changes to Staging Applications
|
||||
### Enviando alterações para aplicações em fase de preparo
|
||||
|
||||
1. Configure seus remotes corretamente.
|
||||
|
||||
@@ -102,15 +102,15 @@ Currently, only members of the developer team can push to the production branche
|
||||
git push upstream
|
||||
```
|
||||
|
||||
> [!NOTE] You will not be able to force push and if you have re-written the history in any way, these commands will error out.
|
||||
> [!NOTE] Você não será capaz de dar um force push, e se houver reescrito o histórico de alguma forma, esses comandos vão falhar.
|
||||
>
|
||||
> Se isso acontecer, pode ser que você tenha feito algo errado e você deve simplesmente começar de novo.
|
||||
|
||||
As etapas acima vão disparar automaticamente uma execução no pipeline de compilação para a branch `production-staging`. Quando a compilação estiver completa, os artefatos são salvos como arquivos `.zip` em um armazenamento de longo prazo para serem recuperados e usados mais tarde.
|
||||
|
||||
O pipeline de lançamento é acionado automaticamente quando um novo artefato estiver disponível a partir do pipeline de compilação conectado. For staging platforms, this process does not involve manual approval, and the artifacts are pushed to the Client CDN and API servers.
|
||||
O pipeline de lançamento é acionado automaticamente quando um novo artefato estiver disponível a partir do pipeline de compilação conectado. Para plataformas de staging, este processo não envolve aprovação manual e os artefatos são empurrados para os servidores de CDN do cliente e API.
|
||||
|
||||
### Pushing changes to Production Applications
|
||||
### Enviando alterações para aplicações de produção
|
||||
|
||||
O processo é quase o mesmo das plataformas de preparo, com algumas verificações extras. Só para garantir, não quebramos nada no freeCodeCamp.org que possa ver centenas de usuários usá-lo a qualquer momento.
|
||||
|
||||
@@ -134,7 +134,7 @@ O processo é quase o mesmo das plataformas de preparo, com algumas verificaçõ
|
||||
git push upstream
|
||||
```
|
||||
|
||||
> [!NOTE] You will not be able to force push and if you have re-written the history in any way, these commands will error out.
|
||||
> [!NOTE] Você não será capaz de dar um force push, e se houver reescrito o histórico de alguma forma, esses comandos vão falhar.
|
||||
>
|
||||
> Se falharem, você pode ter feito algo errado e deve começar de novo.
|
||||
|
||||
@@ -142,7 +142,7 @@ As etapas acima vão disparar automaticamente uma execução no pipeline de comp
|
||||
|
||||
**Etapas adicionais para a equipe**
|
||||
|
||||
Once a release run is triggered, members of the developer staff team will receive an automated manual intervention email. Eles podem _aprovar_ ou _rejeitar_ o release run.
|
||||
Quando um release run é acionado, membros da equipe de desenvolvedores receberão um e-mail manual de intervenção automático. Eles podem _aprovar_ ou _rejeitar_ o release run.
|
||||
|
||||
Se as alterações estão funcionando bem e foram testadas na plataforma de preparo, então podem ser aprovadas. A aprovação deve ser dada no prazo de 4 horas após a liberação ser acionada antes de ser automaticamente rejeitada. Uma equipe pode acionar novamente a execução de lançamento manualmente para execuções rejeitadas ou esperar pelo próximo ciclo de lançamento.
|
||||
|
||||
@@ -154,7 +154,7 @@ Para uso de funcionários:
|
||||
|
||||
Uma vez que um dos membros da equipe aprovar o lançamento, as mudanças serão feitas nos servidores CDN e API da produção do freeCodeCamp.org.
|
||||
|
||||
## Build, Test and Deployment Status
|
||||
## Estado de compilação, teste e implantação
|
||||
|
||||
Aqui está o estado atual de teste, compilação e implantação do código.
|
||||
|
||||
@@ -165,17 +165,17 @@ Aqui está o estado atual de teste, compilação e implantação do código.
|
||||
| [`prod-current`](https://github.com/freeCodeCamp/freeCodeCamp/tree/prod-staging) | [](https://github.com/freeCodeCamp/freeCodeCamp/actions?query=workflow%3A%22Node.js+CI%22+branch%3Aprod-current) | [](https://dashboard.cypress.io/projects/ke77ns/analytics/runs-over-time) | [Pipelines da Azure](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_dashboards/dashboard/d59f36b9-434a-482d-8dbd-d006b71713d4) |
|
||||
| `prod-next` (experimental, ainda está por vir) | - | - | - |
|
||||
|
||||
## Early Access and Beta Testing
|
||||
## Acesso antecipado e teste beta
|
||||
|
||||
Você é bem-vindo para testar estes lançamentos em um modo **de "beta testing público"** e obter acesso antecipado às funcionalidades que estão por vir. Às vezes, esses recursos/mudanças são referidos como **next, beta, staging,** etc. interligadamente.
|
||||
|
||||
Your contributions via feedback and issue reports will help us in making the production platforms at `freeCodeCamp.org` more **resilient**, **consistent**, and **stable** for everyone.
|
||||
Suas contribuições por meio de comentários e issues nos ajudarão a fazer as plataformas de produção do `freeCodeCamp.org` mais **resilientes**, **consistentes** e **estáveis** para todos.
|
||||
|
||||
Agradecemos por relatar erros que encontra e ajuda para melhorar o freeCodeCamp.org. Você é demais!
|
||||
|
||||
### Identifying the Upcoming Version of the Platforms
|
||||
### Identificando a próxima versão das plataformas
|
||||
|
||||
Currently, a public beta testing version is available at:
|
||||
Atualmente, uma versão pública de testes beta está disponível em:
|
||||
|
||||
| Aplicação | Linguagem | URL |
|
||||
|:--------- |:--------- |:---------------------------------------- |
|
||||
@@ -189,27 +189,27 @@ Currently, a public beta testing version is available at:
|
||||
|
||||
> [!NOTE] O nome do domínio é diferente de **`freeCodeCamp.org`**. Isso é intencional para evitar que ferramentas de busca indexem e evitar confusões da parte dos usuários regulares da plataforma.
|
||||
>
|
||||
> The above list is not exhaustive of all the applications that we provision. Also, not all language variants are deployed in staging to conserve resources.
|
||||
> A lista (não muito longa) abaixo contém todos os aplicativos que fornecemos. Nem todas as variantes das linguagens são implantadas na fase de preparação para conservar recursos.
|
||||
|
||||
### Identifying the Current Version of the Platforms
|
||||
### Identificando a versão atual das plataformas
|
||||
|
||||
**A versão atual da plataforma está sempre disponível em [`freeCodeCamp.org`](https://www.freecodecamp.org).**
|
||||
|
||||
O time de desenvolvimento faz o merge nas mudanças da branch `prod-staging` para `prod-current` quando lançam mudanças. O commit principal deve ser o que você vê no site.
|
||||
|
||||
Você pode identificar a versão exata implantada visitando os registros de compilação e implantação disponíveis na seção de estado. Alternatively, you can also ping us in the [contributors chat room](https://discord.gg/PRyKn3Vbay) for a confirmation.
|
||||
Você pode identificar a versão exata implantada visitando os registros de compilação e implantação disponíveis na seção de estado. Alternativamente, você também pode entrar em contato na [sala de bate-papo dos contribuidores](https://discord.gg/PRyKn3Vbay).
|
||||
|
||||
### Known Limitations
|
||||
### Limitações conhecidas
|
||||
|
||||
Existem algumas limitações e desvantagens conhecidas ao usar a versão beta da plataforma.
|
||||
|
||||
- #### All data / personal progress on these beta platforms will NOT be saved or carried over to production
|
||||
- #### Todos os dados/progresso pessoal nessas plataformas beta NÃO serão salvos ou transferidos para a produção
|
||||
|
||||
**Os usuários na versão beta terão uma conta separada da produção.** A versão beta usa um banco de dados fisicamente separado da produção. Isso nos dá a capacidade de evitar qualquer perda acidental de dados ou modificações. The dev-team may purge the database on this beta version as needed.
|
||||
**Os usuários na versão beta terão uma conta separada da produção.** A versão beta usa um banco de dados fisicamente separado da produção. Isso nos dá a capacidade de evitar qualquer perda acidental de dados ou modificações. A equipe de desenvolvimento pode limpar o banco de dados nesta versão beta conforme necessário.
|
||||
|
||||
- #### There are no guarantees on the uptime and reliability of the beta platforms
|
||||
- #### Não há garantias na disponibilidade e confiabilidade das plataformas beta
|
||||
|
||||
Espera-se que a implantação seja frequente e em iterações rápidas, às vezes várias vezes ao dia. As a result, there will be unexpected downtime at times or broken functionality on the beta version.
|
||||
Espera-se que a implantação seja frequente e em iterações rápidas, às vezes várias vezes ao dia. Como resultado, haverá tempos de inatividade inesperados ou funcionalidades quebradas na versão beta.
|
||||
|
||||
- #### Não envie usuários regulares para este site como uma medida de confirmar uma correção
|
||||
|
||||
@@ -219,13 +219,13 @@ Existem algumas limitações e desvantagens conhecidas ao usar a versão beta da
|
||||
|
||||
Nós utilizamos um locatário de teste para o freeCodeCamp.dev no Auth 0 e, portanto, não temos a capacidade de definir um domínio personalizado. Isso faz com que todas as callbacks de redirecionamento e a página de login apareçam em um domínio padrão como: `https://freecodecamp-dev.auth0.com/`. Isso não afeta a funcionalidade e é o mais próximo da produção que conseguimos.
|
||||
|
||||
## Reporting issues and leaving feedback
|
||||
## Relatar problemas e deixar comentário
|
||||
|
||||
Abra novas issues para discussões e informações sobre erros.
|
||||
|
||||
Você pode enviar um e-mail para `dev[at]freecodecamp.org` se você tiver alguma dúvida. Como sempre, todas as vulnerabilidades de segurança devem ser relatadas à `security[at]freecodecamp.org` em vez do rastreador público e fórum.
|
||||
|
||||
## Flight Manual - Server Maintenance
|
||||
## Manual de voo - Mantendo o servidor
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
@@ -236,9 +236,9 @@ Como membro da equipe, você pode ter acesso aos nossos provedores de serviços
|
||||
|
||||
Aqui estão alguns comandos úteis que você pode usar ao trabalhar com máquinas virtuais (VM), por exemplo, realizando atualizações de manutenção ou limpezas em geral.
|
||||
|
||||
## Get a list of the VMs
|
||||
## Obtenha a lista de VMs
|
||||
|
||||
> [!NOTE] While you may already have SSH access to the VMs, that alone will not let you list VMs unless you have been granted access to the cloud portals as well.
|
||||
> [!NOTE] Talvez você já tenha acesso SSH às VMs. Só isso não permitirá que você liste VMs, a menos que você tenha acesso aos portais de nuvem também.
|
||||
|
||||
### Azure
|
||||
|
||||
@@ -286,19 +286,19 @@ doctl auth init
|
||||
doctl compute droplet list --format "ID,Name,PublicIPv4"
|
||||
```
|
||||
|
||||
## Spin New Resources
|
||||
## Rodar novos recursos
|
||||
|
||||
Nós estamos trabalhando na criação da configuração do IaC. Enquanto isso está ocorrendo, você pode usar o portal Azure ou o Azure CLI para criar uma nova VM e outros recursos.
|
||||
|
||||
> [!TIP] Não importa sua escolha de como gastar os recursos, nós temos alguns [arquivos de configuração úteis cloud-init](https://github.com/freeCodeCamp/infra/tree/main/cloud-init) para ajudar você a fazer provisionamento básico de como instalar o docker ou adicionar chaves SSH, etc.
|
||||
|
||||
## Keep VMs Updated
|
||||
## Mantenha as VMs atualizadas
|
||||
|
||||
Você deve manter as VMs atualizadas realizando atualizações e atualizações. This will ensure that the virtual machine is patched with the latest security fixes.
|
||||
Você deve manter as VMs atualizadas realizando atualizações e atualizações. Isto vai garantir que a máquina virtual está corrigida com as correções de segurança mais recentes.
|
||||
|
||||
> [!WARNING] Antes de executar estes comandos:
|
||||
>
|
||||
> - Make sure that the VM has been provisioned completely and that there are no post-install steps running.
|
||||
> - Certifique-se de que a MV foi completamente fornecida e que não há etapas pós-instalação sendo executadas.
|
||||
> - Se você estiver atualizando pacotes em uma MV que já está servindo uma aplicação, certifique-se de que a aplicação está parada/salva. Atualizações de pacotes causarão picos no uso da banda larga, memória e/ou CPU levando à falhas nas aplicações que estão sendo executadas.
|
||||
|
||||
Atualize informações do pacote
|
||||
@@ -319,7 +319,7 @@ Limpe pacotes não utilizados
|
||||
sudo apt autoremove -y
|
||||
```
|
||||
|
||||
## Work on Web Servers (Proxy)
|
||||
## Trabalhe em servidores web (Proxy)
|
||||
|
||||
Estamos executando instâncias equilibradas (Azure Load Balancer) para nossos servidores na web. Esses servidores estão executando NGINX, que reverte o proxy de todo o tráfego para freeCodeCamp.org a partir de várias aplicações em execução em suas próprias infraestruturas.
|
||||
|
||||
@@ -370,7 +370,7 @@ Provisionando VMs com o código
|
||||
|
||||
Adicione/atualize os endereços IP do aplicativo fonte/origem.
|
||||
|
||||
3. Set up networking and firewalls.
|
||||
3. Configure a rede e os firewalls.
|
||||
|
||||
Configure o firewall da Azure e `ufw` conforme o necessário para entrar os endereços de origem.
|
||||
|
||||
@@ -415,7 +415,7 @@ nginx -t
|
||||
nginx -s reload
|
||||
```
|
||||
|
||||
## Work on API Instances
|
||||
## Trabalhe nas instâncias de API
|
||||
|
||||
1. Instale ferramentas de compilação para binários node (`node-gyp`), etc.
|
||||
|
||||
@@ -435,7 +435,7 @@ Provisionando MVs com o código
|
||||
npm install -g pnpm
|
||||
```
|
||||
|
||||
3. Clone freeCodeCamp, set up env, and keys.
|
||||
3. Faça a clonagem do freeCodeCamp, configure env e as chaves.
|
||||
|
||||
```console
|
||||
git clone https://github.com/freeCodeCamp/freeCodeCamp.git
|
||||
@@ -482,11 +482,11 @@ pnpm pm2 monit
|
||||
|
||||
### Atualizando instâncias (Manutenção)
|
||||
|
||||
Mudanças no código devem ser implementadas na instância da API de tempos em tempos. Pode ser uma atualização contínua ou manual. The latter is essential when changing dependencies or adding environment variables.
|
||||
Mudanças no código devem ser implementadas na instância da API de tempos em tempos. Pode ser uma atualização contínua ou manual. A data posterior é essencial quando estão sendo realizadas mudanças nas dependências ou variáveis de ambiente estão sendo adicionadas.
|
||||
|
||||
> [!ATTENTION] Os pipelines automatizados não estão manipulando atualizações de dependências no momento. É necessário fazer uma atualização manual antes que qualquer desenvolvimento nas pipelines seja executado.
|
||||
|
||||
#### 1. Manual Updates - Used for updating dependencies, env variables.
|
||||
#### 1. Atualizações manuais - Usadas para atualizar dependências, variáveis de ambiente.
|
||||
|
||||
1. Pare todas as instâncias
|
||||
|
||||
@@ -512,15 +512,15 @@ pnpm prebuild && pnpm build:curriculum && pnpm build:server
|
||||
pnpm start:server && pnpm pm2 logs
|
||||
```
|
||||
|
||||
#### 2. Rolling updates - Used for logical changes to code.
|
||||
#### 2. Atualizações contínuas - Usadas para mudanças lógicas no código.
|
||||
|
||||
```console
|
||||
pnpm reload:server && pnpm pm2 logs
|
||||
```
|
||||
|
||||
> [!NOTE] We are handling rolling updates to code and logic via pipelines. Você não deve executar estes comandos. Eles estão aqui para a documentação.
|
||||
> [!NOTE] Estamos lidando com atualizações contínuas no código e com a lógica por meio de pipelines. Você não deve executar estes comandos. Eles estão aqui para a documentação.
|
||||
|
||||
#### 3. Updating Node
|
||||
#### 3. Atualizando o Node
|
||||
|
||||
1. Instale a nova versão do Node
|
||||
|
||||
@@ -530,7 +530,7 @@ pnpm reload:server && pnpm pm2 logs
|
||||
pnpm pm2 update
|
||||
```
|
||||
|
||||
## Work on Client Instances
|
||||
## Trabalhe em instâncias de client
|
||||
|
||||
1. Instale ferramentas de compilação para os binários do node (`node-gyp` e outros).
|
||||
|
||||
@@ -616,13 +616,13 @@ pm2 reload all --update-env && pm2 logs
|
||||
|
||||
> [!NOTE] Nós estamos lidando com atualizações contínuas no código, lógico, via pipelines. Você não deve ter a necessidade de executar esses comandos. Eles estão aqui para documentação.
|
||||
|
||||
## Work on Chat Servers
|
||||
## Trabalhando nos servidores do chat
|
||||
|
||||
Nossos servidores de chat estão disponíveis com uma configuração HA [recomendada na documentação Rocket.Chat](https://docs.rocket.chat/installation/docker-containers/high-availability-install). O arquivo `docker-compose` para isso está [disponível aqui](https://github.com/freeCodeCamp/chat-config).
|
||||
|
||||
Fornecemos instâncias NGINX redundantes com balanceamento de carga (Azure Load Balancer) na frente do cluster Rocket.Chat. O arquivo de configuração NGINX está [disponível aqui](https://github.com/freeCodeCamp/chat-nginx-config).
|
||||
|
||||
### First Install
|
||||
### Primeira instalação
|
||||
|
||||
Provisionando MVs com código
|
||||
|
||||
@@ -669,7 +669,7 @@ Provisionando MVs com código
|
||||
|
||||
Adicione/atualize os endereços IP do aplicativo fonte/origem.
|
||||
|
||||
3. Set up networking and firewalls.
|
||||
3. Configure a rede e os firewalls.
|
||||
|
||||
Configure os firewalls da Azure e `ufw` conforme necessário para entrar os endereços de origem.
|
||||
|
||||
@@ -695,7 +695,7 @@ Provisionando MVs com código
|
||||
docker-compose up -d
|
||||
```
|
||||
|
||||
### Logging and Monitoring
|
||||
### Registro e monitoramento
|
||||
|
||||
1. Verifique o estado do serviço NGINX usando o comando abaixo:
|
||||
|
||||
@@ -709,7 +709,7 @@ Provisionando MVs com código
|
||||
docker ps
|
||||
```
|
||||
|
||||
### Updating Instances (Maintenance)
|
||||
### Atualizando instâncias (Manutenção)
|
||||
|
||||
**Cluster do NGINX:**
|
||||
|
||||
@@ -790,9 +790,9 @@ As alterações na configuração das nossas instâncias NGINX são mantidas no
|
||||
|
||||
Selecione yes (y) para remover tudo que não está sendo usado. Isso vai remover todos os contêineres parados, todas as redes e volumes não usados por pelo menos um contêiner e imagens pendentes e caches de compilação.
|
||||
|
||||
## Work on Contributor Tools
|
||||
## Trabalho com as ferramentas do colaborador
|
||||
|
||||
### Deploy Updates
|
||||
### Implantar atualizações
|
||||
|
||||
ssh na VM (hospedada na Digital Ocean).
|
||||
|
||||
@@ -804,7 +804,7 @@ pnpm run build
|
||||
pm2 restart contribute-app
|
||||
```
|
||||
|
||||
## Updating Node.js Versions on VMs
|
||||
## Atualize as versões do Node.js nas MVs
|
||||
|
||||
Liste as versões do node e do npm instaladas
|
||||
|
||||
@@ -828,7 +828,7 @@ Verifique os pacotes instalados
|
||||
npm ls -g --depth=0
|
||||
```
|
||||
|
||||
Alias the `default` Node.js version to the current LTS (pinned to the latest major version)
|
||||
Coloque um alias na versão `default` do Node.js para que seja a LTS atual (marcada como a versão major mais recente)
|
||||
|
||||
```console
|
||||
nvm alias default 16
|
||||
@@ -840,7 +840,7 @@ nvm alias default 16
|
||||
nvm uninstall <versão>
|
||||
```
|
||||
|
||||
> [!ATTENTION] Para aplicações de client, o shell script não pode ser revivido entre versões do Node.js com `pm2 resurrect`. Implante processos de zero ao invés disso. This should become nicer when we move to a docker-based setup.
|
||||
> [!ATTENTION] Para aplicações de client, o shell script não pode ser revivido entre versões do Node.js com `pm2 resurrect`. Implante processos de zero ao invés disso. Isso deve melhorar quando mudarmos para uma configuração baseada em docker.
|
||||
>
|
||||
> Se estiver usando PM2 para os processos você também vai precisar executar as aplicações e salvar a lista de processos para restaurações automáticas quando reiniciar.
|
||||
|
||||
@@ -874,19 +874,19 @@ pm2 save
|
||||
pm2 logs
|
||||
```
|
||||
|
||||
## Installing and Updating Azure Pipeline Agents
|
||||
## Instalando e atualizando agentes do Azure Pipeline
|
||||
|
||||
See: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-linux?view=azure-devops and follow the instructions to stop, remove, and reinstall agents. Em resumo, você pode seguir as etapas listadas aqui.
|
||||
Veja: https://docs.microsoft.com/en-us/azure/devops/pipelines/agents/v2-linux?view=azure-devops e siga as instruções para parar, remover e reinstalar os agentes. Em resumo, você pode seguir as etapas listadas aqui.
|
||||
|
||||
Você vai precisar de um PAT, que você pode pegar nesse link: https://dev.azure.com/freeCodeCamp-org/_usersSettings/tokens
|
||||
|
||||
### Installing Agents on Deployment targets
|
||||
### Instalando agentes em alvos de implantação
|
||||
|
||||
Vá para [Azure Devops](https://dev.azure.com/freeCodeCamp-org) e registre o agente do zero nos [grupos de implantação](https://dev.azure.com/freeCodeCamp-org/freeCodeCamp/_machinegroup) necessários.
|
||||
|
||||
> [!NOTE] Você deve executar os scripts no diretório raiz e certificar-se de que nenhum outro diretório `azagent` existe.
|
||||
|
||||
### Updating Agents
|
||||
### Atualizando agentes
|
||||
|
||||
Atualmente, atualizar os agentes requer que sejam removidos e reconfigurados. Isso é necessário para que eles tenham os valores do `PATH` e de outras variáveis de ambiente corretos. Precisamos fazer isso, por exemplo, para atualizar Node.js em nossas MVs de implantação.
|
||||
|
||||
@@ -924,7 +924,7 @@ Atualmente, atualizar os agentes requer que sejam removidos e reconfigurados. Is
|
||||
|
||||
Quando você completar as etapas acima, você pode repetir as mesmas etapas na instalação do agente.
|
||||
|
||||
## Flight Manual - Email Blast
|
||||
## Manual de Vôo - Disparo de e-mail
|
||||
|
||||
Nós usamos [uma ferramenta de linha de comando](https://github.com/freecodecamp/sendgrid-email-blast) para enviar a newsletter semanal. Para começar o processo:
|
||||
|
||||
@@ -955,9 +955,9 @@ Nós usamos [uma ferramenta de linha de comando](https://github.com/freecodecamp
|
||||
|
||||
7. Quando o disparo de email estiver completo, verifique se nenhum e-mail falhou antes de destruir os droplets.
|
||||
|
||||
## Flight Manual - Adding news instances for new languages
|
||||
## Manual de Voo - adicionando instâncias de notícias aos novos idiomas
|
||||
|
||||
### Theme Changes
|
||||
### Alterações nos temas
|
||||
|
||||
Usamos um [tema personalizado](https://github.com/freeCodeCamp/news-theme) para nossa publicação de notícias. Adicionar as seguintes alterações ao tema permite a inserção de novos idiomas.
|
||||
|
||||
@@ -968,6 +968,6 @@ Usamos um [tema personalizado](https://github.com/freeCodeCamp/news-theme) para
|
||||
5. Em [`partials/i18n.hbs`](https://github.com/freeCodeCamp/news-theme/blob/main/partials/i18n.hbs), adicione scripts para arquivos de configuração recém-criados.
|
||||
6. Adicione o script `day.js` do idioma relacionado [cdnjs](https://cdnjs.com/libraries/dayjs/1.10.4) ao [CDN do freeCodeCamp](https://github.com/freeCodeCamp/cdn/tree/main/build/news-assets/dayjs/1.10.4/locale)
|
||||
|
||||
### Ghost Dashboard Changes
|
||||
### Alterações do painel do Ghost
|
||||
|
||||
Atualize os itens de publicação indo no painel do Ghost > Settings > General e atualizando o [ícone](https://github.com/freeCodeCamp/design-style-guide/blob/master/assets/fcc-puck-500-favicon.png), [logotipo](https://github.com/freeCodeCamp/design-style-guide/blob/master/downloads/fcc_primary_large.png) e a [capa](https://github.com/freeCodeCamp/design-style-guide/blob/master/assets/fcc_ghost_publication_cover.png).
|
||||
|
||||
@@ -4,23 +4,23 @@ Quando estiver realizando alterações em JavaScript, CSS ou HTML que podem muda
|
||||
|
||||
Para aprender como escrever testes Cypress ou 'specs', por favor confira a [documentação](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html) oficial do Cypress.
|
||||
|
||||
## Where to Add a Test
|
||||
## Onde adicionar um teste
|
||||
|
||||
- Testes Cypress estão no diretório `./cypress`.
|
||||
|
||||
- Testes do Cypress para um módulo do currículo estão no diretório do currículo correspondente, ou seja, `cypress/integration/learn/responsive-web-design/basic-css/index.js`.
|
||||
|
||||
## How to Run Tests
|
||||
## Como executar testes
|
||||
|
||||
> [!NOTE] Se estiver usando GitPod, por favor veja essa [configuração sobre Cypress-GitPod](how-to-add-cypress-tests.md#cypress-gitpod-setup)
|
||||
|
||||
### 1. Ensure that MongoDB and Client Applications are Running
|
||||
### 1. Veja se as aplicações de cliente e MongoDB estão executando
|
||||
|
||||
- [Inicie o MongoDB e crie o banco de dados](how-to-setup-freecodecamp-locally.md#step-3-start-mongodb-and-seed-the-database)
|
||||
|
||||
- [Inicie também a aplicação de cliente freeCodeCamp e o servidor API](how-to-setup-freecodecamp-locally.md#step-4-start-the-freecodecamp-client-application-and-api-server)
|
||||
|
||||
### 2. Run the Cypress Tests
|
||||
### 2. Execute os testes do Cypress
|
||||
|
||||
Para executar testes usando compilações de produção, substitua `dev` por `prd` abaixo.
|
||||
|
||||
|
||||
@@ -177,7 +177,7 @@ A ordem dos superblocos neste objeto é como eles aparecem na página inicial e
|
||||
O array `CurriculumMaps.Landing` deve conter exatamente um superbloco para todas as nossas certificações atuais. O objeto `CurriculumMaps.Learn` deve ter em si todos os superblocos existentes. Os superblocos traduzidos vão em `TranslationStates.Audited` e os superblocos não traduzidos vão em `TranslationStates.NotAudited`. Esses dois objetos têm, cada um, quatro estados diferentes nos quais um superbloco pode estar.
|
||||
|
||||
- `SuperBlockStates.Current`: representa que o superbloco pertence ao currículo atual, como `(New) Responsive Web Design`, por exemplo.
|
||||
- `SuperBlockStates.New`: esses aparecem apenas quando `SHOW_NEW_CURRICULUM` estiver definido como `true` no arquivo `.env`. Ele serve para exibir novos superblocos em uma build específica. For example, when we released the new RWD, we only showed it on English to start.
|
||||
- `SuperBlockStates.New`: esses aparecem apenas quando `SHOW_NEW_CURRICULUM` estiver definido como `true` no arquivo `.env`. Ele serve para exibir novos superblocos em uma build específica. Por exemplo, quando lançamos a nova certificação de Design responsivo para a web, nós a mostramos apenas em inglês para começar.
|
||||
- `SuperBlockStates.Upcoming`: esses aparecem apenas quando `SHOW_UPCOMING_CHANGES` estiver definido como `true` no arquivo `.env`. Eles servem para mostrar os superblocos em nível local enquanto eles estão em desenvolvimento. Como alternativa, podem ser usados quando precisamos ocultar um superbloco do mapa por alguma outra razão.
|
||||
- `SuperBlockStates.Legacy`: um superbloco é movido para cá quando uma nova versão daquele superbloco já está totalmente traduzida e pronta para substituí-lo.
|
||||
|
||||
@@ -218,7 +218,7 @@ const algoliaIndices = {
|
||||
|
||||
## Ativando vídeos localizados
|
||||
|
||||
Para os desafios em vídeo, você precisa fazer algumas alterações. First, add the new locale to the GraphQL query in the `client/src/templates/Challenges/video/Show.tsx` file. Por exemplo, para adicionar Dothraki à consulta:
|
||||
Para os desafios em vídeo, você precisa fazer algumas alterações. Primeiro, adicione o novo idioma (locale) à consulta do GraphQL no arquivo `client/src/templates/Challenges/video/Show.tsx`. Por exemplo, para adicionar Dothraki à consulta:
|
||||
|
||||
```tsx
|
||||
query VideoChallenge($slug: String!) {
|
||||
@@ -256,7 +256,7 @@ export interface VideoLocaleIds {
|
||||
}
|
||||
```
|
||||
|
||||
And finally, update the challenge schema in `curriculum/schema/challengeSchema.js`.
|
||||
Por fim, atualize o schema de desafios em `curriculum/schema/challengeSchema.js`.
|
||||
|
||||
```js
|
||||
videoLocaleIds: Joi.when('challengeType', {
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# How to Help with Video Challenges
|
||||
# Como ajudar com os desafios em vídeo
|
||||
|
||||
Os desafios em vídeo são um novo tipo de desafio no currículo freeCodeCamp.
|
||||
|
||||
@@ -54,18 +54,18 @@ Mais respostas
|
||||
O número da resposta correta fica aqui.
|
||||
````
|
||||
|
||||
## Creating Questions for Video Challenges
|
||||
## Criando perguntas para desafios em video
|
||||
|
||||
### Access the Video Challenge Markdown Files
|
||||
### Acessar os arquivos markdown do desafio em vídeo
|
||||
|
||||
You can find the markdown files for video challenges at the following locations in the curriculum:
|
||||
Os arquivos markdown dos desafios estão localizadas no currículo em:
|
||||
|
||||
- [Data Analysis with Python Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course)
|
||||
- [TensorFlow 2.0 Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/11-machine-learning-with-python/tensorflow)
|
||||
- [Numpy Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/08-data-analysis-with-python/numpy)
|
||||
- [How Neural Networks Work Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/11-machine-learning-with-python/how-neural-networks-work)
|
||||
|
||||
Pick a challenge markdown file from the options above.
|
||||
Escolha um arquivo dentre as opções acima.
|
||||
|
||||
### Explore o vídeo associado ao desafio e crie uma questão de múltipla escolha
|
||||
|
||||
@@ -87,9 +87,9 @@ No exemplo acima, a URL seria https://www.youtube.com/watch?v=nVAaxZ34khk
|
||||
|
||||
Assista ao vídeo no YouTube daquele `videoId` e pense em uma questão de múltipla escolha baseada em seu conteúdo.
|
||||
|
||||
### Add the Question to the Markdown File
|
||||
### Adicione a pergunta ao arquivo markdown
|
||||
|
||||
You can add the question locally or using the GitHub interface. Para adicionar a pergunta localmente, você precisa [configurar o freeCodeCamp localmente](how-to-setup-freecodecamp-locally.md). Você também pode encontrar o arquivo no GitHub e clicar no botão editar para adicionar a pergunta diretamente em seu navegador.
|
||||
Você pode adicionar a pergunta localmente ou utilizando a interface do Github. Para adicionar a pergunta localmente, você precisa [configurar o freeCodeCamp localmente](how-to-setup-freecodecamp-locally.md). Você também pode encontrar o arquivo no GitHub e clicar no botão editar para adicionar a pergunta diretamente em seu navegador.
|
||||
|
||||
Se uma pergunta não tiver sido adicionada a um desafio de vídeo ainda, ela terá a seguinte forma padrão:
|
||||
|
||||
@@ -198,6 +198,6 @@ print(height/3)
|
||||
|
||||
Para mais exemplos, você pode ver os arquivos markdown para o seguinte curso em vídeo. Todos os desafios já possuem perguntas: [Python for Everybody Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody)
|
||||
|
||||
## Open a Pull Request
|
||||
## Abrir um pull request
|
||||
|
||||
Depois de criar uma ou mais perguntas, você pode confirmar as mudanças em uma nova branch e [abrir um pull request](how-to-open-a-pull-request.md).
|
||||
|
||||
@@ -17,7 +17,7 @@ Alguns exemplos disso são:
|
||||
|
||||
> [!NOTE] Seu PR deve se destinar apenas a alterações no currículo em inglês. Veja [este guia](index.md#translations) para contribuir com traduções.
|
||||
|
||||
## Prepare a Good PR Title
|
||||
## Prepare um bom título para o PR
|
||||
|
||||
Recomendamos usar [título e mensagens convencionais](https://www.conventionalcommits.org/) para commits e pull request. A convenção tem o seguinte formato:
|
||||
|
||||
@@ -93,7 +93,7 @@ Alguns exemplos de bons títulos de PRs seriam:
|
||||
|
||||
- Se seu PR afeta o comportamento de uma página ele deve estar acompanhado pelo correspondente [teste de integração Cypress](how-to-add-cypress-tests.md).
|
||||
|
||||
## Feedback on Pull Requests
|
||||
## Comentários nos pull requests
|
||||
|
||||
> :tada: Parabéns por fazer um PR e muito obrigado(a) por contribuir.
|
||||
|
||||
@@ -103,13 +103,13 @@ E como sempre, fique à vontade em perguntar na [categoria 'Contributors' (colab
|
||||
|
||||
> [!TIP] Se você vai contribuir com mais pull requests, recomendamos ler as diretrizes sobre [fazer mudanças e sincronizá-las](how-to-setup-freecodecamp-locally.md#making-changes-locally) para evitar o apagamento de seu fork.
|
||||
|
||||
## Conflicts on a Pull Request
|
||||
## Conflitos em um pull request
|
||||
|
||||
Conflitos podem surgir porque muitos colaboradores trabalham no repositório, e as alterações podem afetar o seu PR, que está aguardando uma revisão e mesclagem.
|
||||
|
||||
Na maioria das vezes, você pode não precisar de um rebase, porque nós comprimimos todos os commits. No entanto, se for solicitada uma rebase, é isso que você deve fazer.
|
||||
|
||||
### For Usual Bug Fixes and Features
|
||||
### Para funcionalidades e correções de erros comuns
|
||||
|
||||
Quando se está trabalhando em erros normais e funcionalidades no seu branch `main` de desenvolvimento, você pode fazer um simples ajuste:
|
||||
|
||||
@@ -138,7 +138,7 @@ Quando se está trabalhando em erros normais e funcionalidades no seu branch `ma
|
||||
git push --force origin <pr-branch>
|
||||
```
|
||||
|
||||
### For Upcoming Curriculum and Features
|
||||
### Para o próximo currículo e próximas funcionalidades
|
||||
|
||||
Quando você estiver trabalhando em funcionalidades para nossos próximos branches `next-*` de currículo, você tem que fazer um cherry pick:
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ Nenhuma ação adicional é necessária quando o arquivo terminou de ser revisad
|
||||
|
||||
> [!NOTE] A aprovação de uma string na visualização de revisão a marcará como completa e será baixada em nosso próximo pull da Crowdin para o GitHub.
|
||||
|
||||
## Becoming a Proofreader
|
||||
## Tornando-se um revisor
|
||||
|
||||
Se você tiver qualquer dúvida, ou estiver interessado em se tornar um revisor, sinta-se a vontade em nos enviar uma mensagem no nosso [ chat de contribuidores](https://discord.gg/PRyKn3Vbay). Vamos te dar acesso se você já estiver contribuindo para freeCodeCamp por um tempo.
|
||||
|
||||
@@ -47,7 +47,7 @@ Nosso time de desenvolvedores e times de moderadores da comunidade está sempre
|
||||
|
||||
> [!NOTE] O Crowdin permitirá que você aprove suas traduções. Em geral, é melhor permitir que outro revisor reveja suas traduções propostas como segurança extra para garantir que não haja erros.
|
||||
|
||||
## Creating a Channel on Chat for a World Language
|
||||
## Criando um canal no chat para um idioma
|
||||
|
||||
Para a maior parte das mensagens, encorajamos você a usar o [chat de contribuidores](https://discord.gg/PRyKn3Vbay) para todas as interações. Entretanto, se o time de voluntários crescer para um idioma específico, nós consideramos criar um canal adicional para o idioma.
|
||||
|
||||
|
||||
@@ -272,23 +272,23 @@ pnpm run develop
|
||||
|
||||
Este único comando vai disparar todos os serviços, incluindo o servidor API e os aplicativos do cliente disponíveis para você trabalhar.
|
||||
|
||||
Once ready, open a web browser and visit <http://localhost:8000>. Se o aplicativo carregar, faça o login. Parabéns – está tudo pronto! Agora você tem uma cópia da plataforma do freeCodeCamp de aprendizagem inteira rodando em sua máquina local.
|
||||
Uma vez pronto, abra um navegador e acesse <http://localhost:8000>. Se o aplicativo carregar, faça o login. Parabéns – está tudo pronto! Agora você tem uma cópia da plataforma do freeCodeCamp de aprendizagem inteira rodando em sua máquina local.
|
||||
|
||||
The API server serves endpoints at `http://localhost:3000`. The Gatsby app serves the client application at `http://localhost:8000`.
|
||||
O servidor de API serve os endpoints em `http://localhost:3000`. O aplicativo Gatsby atende o aplicativo cliente em `http://localhost:8000`.
|
||||
|
||||
Quando estiver conectado, se você visitar <http://localhost:3000/explorer> poderá ver as APIs disponíveis.
|
||||
|
||||
> [!WARNING] Limpar seus cookies ou executar `pnpm run seed:certified-user` desconectará você e será preciso fazer o login novamente.
|
||||
|
||||
If you have issues while installing it, check out the [troubleshooting section](troubleshooting-development-issues.md).
|
||||
Se você tiver problemas durante a instalação, confira a [seção de solução de problemas](troubleshooting-development-issues.md).
|
||||
|
||||
## Referência de comandos rápidos
|
||||
|
||||
Uma rápida referência aos comandos que você precisará ao trabalhar localmente.
|
||||
|
||||
| comando | descrição |
|
||||
| ------------------ | ------------------------------------------------------------------------------ |
|
||||
| `pnpm install` | Installs / re-installs all dependencies and bootstraps the different services. |
|
||||
| `pnpm run seed` | Creates authorized test users and inserts them into MongoDB. |
|
||||
| `pnpm run develop` | Inicia o servidor de API freeCodeCamp e aplicativos Cliente. |
|
||||
| `pnpm run clean` | Desinstala todas as dependências e limpa os caches. |
|
||||
| comando | descrição |
|
||||
| ------------------ | ---------------------------------------------------------------------------- |
|
||||
| `pnpm install` | Instala/reinstala todas as dependências e inicializa os diferentes serviços. |
|
||||
| `pnpm run seed` | Cria usuários de testes autorizados e os insere no MongoDB. |
|
||||
| `pnpm run develop` | Inicia o servidor de API freeCodeCamp e aplicativos Cliente. |
|
||||
| `pnpm run clean` | Desinstala todas as dependências e limpa os caches. |
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
Siga este guia para configurar a aplicação para dispositivos móveis do freeCodeCamp localmente no seu sistema. Isso é altamente recomendado se você quer contribuir regularmente.
|
||||
|
||||
Some of the contribution workflows – like fixing bugs in the codebase – need you to run the freeCodeCamp app locally.
|
||||
Alguns dos fluxos de trabalho de contribuição — como a correção de erros na base de código — necessitam que você execute a aplicação do freeCodeCamp localmente.
|
||||
|
||||
### How to Prepare your Local Machine
|
||||
### Como preparar sua máquina local
|
||||
|
||||
Comece instalando o software pré-requisito para seu sistema operacional.
|
||||
|
||||
#### Prerequisites
|
||||
#### Pré-requisitos
|
||||
|
||||
| Pré-requisito | Versão | Observações |
|
||||
| ------------------------------- | ------ | -------------------------------------------- |
|
||||
@@ -30,9 +30,9 @@ Depois de ter os pré-requisitos instalados, você precisa preparar seu ambiente
|
||||
|
||||
1. Instale o [Git](https://git-scm.com/) ou seu cliente Git favorito, se você ainda não fez isso. Atualize para a versão mais recente. A versão que veio com seu SO pode estar desatualizada.
|
||||
|
||||
2. Set up [Android Studio](https://developer.android.com/studio) and [Android Emulators](https://developer.android.com/studio/run/managing-avds) with the latest released Android version. Recomendamos usar a Pixel 3a XL e a Nexus One (para emulação de telas menores).
|
||||
2. Configure o [Android Studio](https://developer.android.com/studio) e os [emuladores do Android](https://developer.android.com/studio/run/managing-avds) com a versão mais recente do Android. Recomendamos usar a Pixel 3a XL e a Nexus One (para emulação de telas menores).
|
||||
|
||||
3. (Optional for MacOS) Set up Xcode and iOS Simulator with the latest released iOS version.
|
||||
3. (Opcional para MacOS) Configuração do Xcode e do iOS Simulator com a versão mais recente do iOS lançada.
|
||||
|
||||
4. (Opcional, mas recomendado) [Configure uma chave SSH](https://help.github.com/articles/generating-an-ssh-key/) para o GitHub.
|
||||
|
||||
@@ -40,7 +40,7 @@ Depois de ter os pré-requisitos instalados, você precisa preparar seu ambiente
|
||||
|
||||
Nós recomendamos muito usar o [Visual Studio Code](https://code.visualstudio.com/) ou o Android Studio. Também recomendamos instalar as [extensões](https://docs.flutter.dev/get-started/editor?tab=vscode) oficiais.
|
||||
|
||||
## Fork the Repository on GitHub
|
||||
## Faça o fork do repositório no GitHub
|
||||
|
||||
[Forking](https://help.github.com/articles/about-forks/) é uma etapa onde você obtém sua própria cópia do repositório (vulgo _repo_) no GitHub.
|
||||
|
||||
@@ -58,9 +58,9 @@ Isso é essencial, pois permite que você trabalhe em sua própria cópia da apl
|
||||
|
||||
3. Depois que o repositório recebeu um fork, você será redirecionado para a cópia do repositório em `https://github.com/YOUR_USER_NAME/mobile` (`YOUR_USER_NAME` será substituído pelo seu nome de usuário do GitHub).
|
||||
|
||||
## Clone your Fork from GitHub
|
||||
## Clonar o seu fork no GitHub
|
||||
|
||||
[Clonar](https://help.github.com/articles/cloning-a-repository/) é onde ** você faz o download de uma cópia** de um repositório de um local `remoto` que pertence a você ou a outra pessoa. In your case, this remote location is your `fork` of freeCodeCamp's repository which should be available at `https://github.com/YOUR_USER_NAME/mobile`. (`YOUR_USER_NAME` será substituído pelo seu nome de usuário do GitHub.)
|
||||
[Clonar](https://help.github.com/articles/cloning-a-repository/) é onde ** você faz o download de uma cópia** de um repositório de um local `remoto` que pertence a você ou a outra pessoa. No seu caso, este local remoto é o seu `fork` do repositório freeCodeCamp que deve estar disponível em `https://github.com/YOUR_USER_NAME/mobile`. (`YOUR_USER_NAME` será substituído pelo seu nome de usuário do GitHub.)
|
||||
|
||||
Execute esses comandos em sua máquina local:
|
||||
|
||||
@@ -78,11 +78,11 @@ Isto vai baixar todo o repositório da aplicação do freeCodeCamp para disposit
|
||||
|
||||
Nota: `--depth=1` cria um clone raso do seu fork, com apenas o histórico mais recente.
|
||||
|
||||
## Set up Syncing from Parent
|
||||
## Configurar sincronização a partir do pai
|
||||
|
||||
Agora que você baixou uma cópia do seu fork, será necessário configurar um remote `upstream` para o repositório pai.
|
||||
|
||||
[As mentioned earlier](#fork-the-repository-on-github), the main repository is referred to as the `upstream` repository. Your fork is referred to as the `origin` repository.
|
||||
[Como mencionado anteriormente](#fork-the-repository-on-github), o repositório principal é referenciado como repositório `upstream`. Seu fork é referenciado como repositório `origin`.
|
||||
|
||||
É necessária uma referência do seu clone local para o repositório `upstream` além do repositório `origin`. Isso é para que você possa sincronizar alterações do repositório principal sem a exigência de fazer fork e clone várias vezes.
|
||||
|
||||
@@ -113,7 +113,7 @@ Agora que você baixou uma cópia do seu fork, será necessário configurar um r
|
||||
upstream https://github.com/freeCodeCamp/mobile.git (push)
|
||||
```
|
||||
|
||||
## Running freeCodeCamp Mobile App Locally
|
||||
## Executar a aplicação do freeCodeCamp para dispositivos móveis localmente
|
||||
|
||||
Agora que você tem uma cópia local da aplicação do freeCodeCamp para dispositivos móveis, você pode seguir estas instruções para executá-la localmente.
|
||||
|
||||
@@ -123,11 +123,11 @@ E como sempre, fique à vontade em perguntar na [categoria 'Contributors' (colab
|
||||
|
||||
> [!NOTE] O diretório `mobile` contém duas pastas, `mobile-api` e `mobile-app`. `mobile-api` contém o código da API usada para servir os podcasts. `mobile-app` contém a aplicação em Flutter, que é onde você deve estar quando seguir os passos abaixo.
|
||||
|
||||
### Configuring Dependencies
|
||||
### Configurar dependências
|
||||
|
||||
#### Step 1: Set Up the Environment Variable File
|
||||
#### Passo 1: Configure o arquivo de variável de ambiente
|
||||
|
||||
As chaves de API padrão e variáveis de ambiente são armazenadas no arquivo `sample.env`. This file needs to be copied to a new file named `.env` which is accessed dynamically during the installation step. Lembre-se de mudar o diretório para `mobile-app` antes de executar os comandos a seguir.
|
||||
As chaves de API padrão e variáveis de ambiente são armazenadas no arquivo `sample.env`. Esse arquivo precisa ser copiado para um novo arquivo chamado `.env` que é acessado dinamicamente durante a etapa de instalação. Lembre-se de mudar o diretório para `mobile-app` antes de executar os comandos a seguir.
|
||||
|
||||
```console
|
||||
# Crie uma cópia da "sample.env" e a nomeie como ".env".
|
||||
@@ -172,9 +172,9 @@ flutter run
|
||||
|
||||
> [!TIP] Se estiver usando o VSCode ou o Android Studio, poderá iniciar a aplicação facilmente sem ter de executar os comandos no terminal. Mais informações [aqui](https://docs.flutter.dev/get-started/test-drive).
|
||||
|
||||
## Making Changes Locally
|
||||
## Fazer alterações localmente
|
||||
|
||||
You can now make changes to files and commit your changes to the local clone of your fork.
|
||||
Agora você pode fazer alterações nos arquivos e fazer commit das suas alterações no clone local do seu fork.
|
||||
|
||||
Siga estes passos:
|
||||
|
||||
@@ -225,7 +225,7 @@ Siga estes passos:
|
||||
git push origin main --force
|
||||
```
|
||||
|
||||
You can validate that your current main matches the upstream/main by performing a diff:
|
||||
Você pode validar se sua main atual combina com upstream/main fazendo um diff:
|
||||
|
||||
```console
|
||||
git diff upstream/main
|
||||
@@ -243,7 +243,7 @@ Siga estes passos:
|
||||
git checkout -b fix/update-guide-for-xyz
|
||||
```
|
||||
|
||||
Seu nome de branch deve começar com `fix/`, `feat/`, `docs/`, etc. Evite usar números de issues em branches. Keep them short, meaningful, and unique.
|
||||
Seu nome de branch deve começar com `fix/`, `feat/`, `docs/`, etc. Evite usar números de issues em branches. Mantenha-os curtos, significativos e únicos.
|
||||
|
||||
Alguns exemplos de bons nomes para branches são:
|
||||
|
||||
@@ -392,11 +392,11 @@ Se você enfrenta problemas com a interface do usuário ou erros de build, uma l
|
||||
flutter clean
|
||||
```
|
||||
|
||||
### Issues Installing Dependencies
|
||||
### Problemas ao instalar dependências
|
||||
|
||||
Se você receber erros durante a instalação das dependências, certifique-se de que você não está em uma rede restrita ou suas configurações de firewall não impedem você de acessar os recursos.
|
||||
|
||||
Be patient as the first-time setup can take a while depending on your network bandwidth.
|
||||
Seja paciente, pois a primeira configuração pode demorar um pouco, dependendo da largura de banda da sua rede.
|
||||
|
||||
## Obter ajuda
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Como traduzir arquivos do freeCodeCamp
|
||||
|
||||
## Prepare yourself for Contributions
|
||||
## Prepare-se para as contribuições
|
||||
|
||||
> O roadmap de localização do freeCodeCamp - não há limites de velocidade
|
||||
|
||||
@@ -44,7 +44,7 @@ Pedimos apenas que entenda os seguintes pontos:
|
||||
|
||||
## Visão geral do Crowdin
|
||||
|
||||
É nosso sonho fornecer recursos para você aprender, não importando qual idioma fala. To help us with this massive effort, we have integrated our open-source codebase & curriculum with [Crowdin](https://crowdin.com/) - A tool to help us localize our code-base.
|
||||
É nosso sonho fornecer recursos para você aprender, não importando qual idioma fala. Para nos ajudar com isso, integramos nossa base de código open-source e nosso currículo com o [Crowdin](https://crowdin.com/), uma ferramenta que nos ajuda a traduzir nosso código.
|
||||
|
||||
> [!NOTE] Usamos uma ferramenta e um fluxo de trabalho diferentes para traduzir os [artigos do editorial](https://www.freecodecamp.org/news). Se você estiver interessado em traduzir artigos, leia [este anúncio](https://www.freecodecamp.org/portuguese/news/como-ajudar-a-traduzir-o-freecodecamp-para-seu-idioma/) e entre em contato com o líder das traduções para o seu idioma.
|
||||
|
||||
@@ -60,7 +60,7 @@ O fluxo de tradução é dividido em duas atividades principais:
|
||||
|
||||
> [!WARNING] Não usamos mais o GitHub para traduzir arquivos diretamente. Se você está voltando a contribuir, vá para nossa [plataforma de tradução](https://translate.freecodecamp.org/).
|
||||
|
||||
## Getting Started
|
||||
## Primeiros passos
|
||||
|
||||
Primeiro, não se esqueça de vir dar um "Oi" no nosso [servidor do Discord](https://discord.gg/PRyKn3Vbay). Nós postamos atualizações regulares sobre recursos de tradução e respondemos a muitas de suas dúvidas lá.
|
||||
|
||||
@@ -145,7 +145,7 @@ Traduzir nossa documentação de contribuição é similar a traduzir nossos arq
|
||||
|
||||
> [!NOTE] Nossa documentação de contribuição utiliza`docsify`, e nós temos uma análise especial para caixas de mensagem como essa. Caso veja strings iniciadas com `[!NOTE]`, `[!WARNING]`, ou `[!TIP]`, essas palavras NÃO devem ser traduzidas.
|
||||
|
||||
### How to Translate Documentation with Internal Links
|
||||
### Como traduzir a documentação com links internos
|
||||
|
||||
Quando você trabalha na tradução da documentação de contribuição, fique atento aos links internos direcionados a uma seção diferente da documentação.
|
||||
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# How to Work on Localized Client Webapp
|
||||
# Como trabalhar em um client webapp traduzido
|
||||
|
||||
The React-based client web app that powers our learning platform is built using Gatsby. Ele é traduzido em vários idiomas do mundo todo usando [react-i18next](https://react.i18next.com/) e [i18next](https://www.i18next.com/).
|
||||
O nosso cliente web app com base em React que alimenta nossa plataforma de aprendizado foi criado usando o Gatsby. Ele é traduzido em vários idiomas do mundo todo usando [react-i18next](https://react.i18next.com/) e [i18next](https://www.i18next.com/).
|
||||
|
||||
Você pode aprender mais sobre configurar o cliente localmente para desenvolvimento seguindo [nosso guia de configuração aqui](how-to-setup-freecodecamp-locally.md). By default, the application is available only in English.
|
||||
Você pode aprender mais sobre configurar o cliente localmente para desenvolvimento seguindo [nosso guia de configuração aqui](how-to-setup-freecodecamp-locally.md). Por padrão, a aplicação está disponível somente em inglês.
|
||||
|
||||
Once you have set up the project locally you should be able to follow this documentation to run the client in the language of your choice from the list of available languages.
|
||||
Assim que você tiver o projeto configurado localmente, você poderá seguir essa documentação para rodar o cliente no idioma de sua escolha a partir de uma lista de idiomas disponíveis.
|
||||
|
||||
Isso pode ser de grande ajuda quando você estiver trabalhando em uma nova feature que envolva tradução, em especial, e que necessite que você valide, por exemplo, uma label de botão em um idioma diferente.
|
||||
|
||||
@@ -14,7 +14,7 @@ Vamos entender como o framework i18n e suas ferramentas funcionam.
|
||||
|
||||
## Estrutura de arquivos
|
||||
|
||||
Most of the files for translating the platform are located in the [`client/i18n`](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/client/i18n) folder. Cada idioma tem uma pasta contendo arquivos JSON com as traduções.
|
||||
A maioria dos arquivos para tradução da plataforma ficam localizados na pasta [`client/i18n`](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/client/i18n). Cada idioma tem uma pasta contendo arquivos JSON com as traduções.
|
||||
|
||||
```console
|
||||
config
|
||||
@@ -55,11 +55,11 @@ Most of the files for translating the platform are located in the [`client/i18n`
|
||||
└── validate-keys.ts
|
||||
```
|
||||
|
||||
Some of these files are translated on our translation platform (Crowdin) and some are translated or created via PR's on GitHub.
|
||||
Alguns desses arquivos estão traduzidos na nossa plataforma de tradução (Crowdin), outros são traduzidos ou criados por meio de PRs no GitHub.
|
||||
|
||||
**Arquivos traduzidos na nossa plataforma de tradução:**
|
||||
|
||||
- O arquivo `translations.json` contém a maioria do texto que aparece nos elementos de interface de usuário. As chaves são usadas na base de código para obter o texto correto para qualquer idioma definido. This file needs to have the same keys in all languages.
|
||||
- O arquivo `translations.json` contém a maioria do texto que aparece nos elementos de interface de usuário. As chaves são usadas na base de código para obter o texto correto para qualquer idioma definido. Este arquivo precisa ter as mesmas chaves em todos os idiomas.
|
||||
|
||||
- O arquivo `intro.json` contém os pares chave-valor para o texto de introdução nas páginas de certificação.
|
||||
|
||||
@@ -73,7 +73,7 @@ Some of these files are translated on our translation platform (Crowdin) and som
|
||||
|
||||
Mudanças nesses arquivos são tipicamente feitos pelo time da staff. Se você vir algo fora do ordinário, nós recomendamos que você nos contate na [sala de chat dos contribuidores](https://discord.gg/PRyKn3Vbay).
|
||||
|
||||
## Testing the Client App in a World Language
|
||||
## Testando o cliente web em um idioma mundial
|
||||
|
||||
Você pode testar o client app em qualquer linguagem disponível na [lista de idiomas disponíveis, `availableLangs`, aqui](https://github.com/freeCodeCamp/freeCodeCamp/blob/main/config/i18n.ts).
|
||||
|
||||
@@ -198,7 +198,7 @@ import { Trans } from 'react-i18next'
|
||||
<p>Welcome to <strong>freeCodeCamp</strong></p>
|
||||
```
|
||||
|
||||
You can place the key inside the component tags like in the above example if the text contains "simple" tags with no attributes. `br`, `strong`, `i` e `p` são padrões, mas essa lista pode ser expandida na configuração do i18n.
|
||||
Você pode colocar a chave dentro das tags do componente como no exemplo acima se o texto contém tags "simples" sem atributos. `br`, `strong`, `i` e `p` são padrões, mas essa lista pode ser expandida na configuração do i18n.
|
||||
|
||||
### Elementos complexos aninhados
|
||||
|
||||
@@ -264,7 +264,7 @@ O arquivo em inglês é a "fonte da verdade" para todos os arquivos `.json` que
|
||||
|
||||
Seria bom manter as chaves na mesma ordem entre todos os arquivos também. Além disso, tente colocar toda a pontuação, espaçamento, citações e tudo mais nos arquivos JSON, não nos componentes ou arquivos de servidor.
|
||||
|
||||
> [!NOTE] The underscore (`_`) is a reserved character for keys in the client-side files. Veja [a documentação](https://www.i18next.com/translation-function/plurals) para saber como são usados.
|
||||
> [!NOTE] O underscore (`_`) é um caractere reservado para chaves dos arquivos que ficam do lado do client. Veja [a documentação](https://www.i18next.com/translation-function/plurals) para saber como são usados.
|
||||
|
||||
## Documentação útil
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@ Essas instruções informarão como usar a nossa ferramenta de edição de desaf
|
||||
|
||||
### Iniciando o editor
|
||||
|
||||
To start the editor, make sure you are in the root freeCodeCamp directory. Em seguida, execute `pnpm run challenge-editor` para iniciar tanto o client quanto a API que alimenta o editor.
|
||||
Para iniciar o editor, certifique-se de estar no diretório raiz do freecodecamp. Em seguida, execute `pnpm run challenge-editor` para iniciar tanto o client quanto a API que alimenta o editor.
|
||||
|
||||
O client será executado na porta `3300`, então você pode acessá-la em `http://localhost:3300`. A API é executada na porta `3200`, para evitar conflitos com o client de aprendizagem e com o servidor. Isso permitirá que você execute o aplicativo do freeCodeCamp ao mesmo tempo que o editor, para poder testar as alterações localmente.
|
||||
|
||||
@@ -58,9 +58,9 @@ Se quiser trabalhar nos passos manualmente, em seu IDE local, você pode executa
|
||||
|
||||
A pasta `tools/challenge-helper-scripts` contém ferramentas para ajudar a facilitar a criação e a manutenção dos projetos baseados no currículo do freeCodeCamp.
|
||||
|
||||
### Create a New Project
|
||||
### Criando um projeto
|
||||
|
||||
Change directory to `tools/challenge-helper-scripts` and run `pnpm run create-project`. This opens up a command line UI that guides you through the process. Uma vez que tiver terminado, deverá aparecer um novo desafio no currículo em inglês que você pode usar para começar o projeto. Por exemplo, se você tiver criado um projeto chamado `test-project` na certificação de Design responsivo para a web, ele estará em `curriculum/challenges/english/01-responsive-web-design/test-project`.
|
||||
Mude o diretório para `tools/challenge-helper-scripts` e execute `pnpm run create-project`. Esse comando abrirá uma interface de linha de comando que vai guiar você através do processo. Uma vez que tiver terminado, deverá aparecer um novo desafio no currículo em inglês que você pode usar para começar o projeto. Por exemplo, se você tiver criado um projeto chamado `test-project` na certificação de Design responsivo para a web, ele estará em `curriculum/challenges/english/01-responsive-web-design/test-project`.
|
||||
|
||||
Se você quer criar outros passos, as ferramentas a seguir vão simplificar o processo.
|
||||
|
||||
@@ -68,7 +68,7 @@ Se você quer criar outros passos, as ferramentas a seguir vão simplificar o pr
|
||||
|
||||
Um script único que adicionará automaticamente o próximo passo com base no último passo do projeto. O código seed do desafio usará o código do desafio do passo anterior.
|
||||
|
||||
#### How to Run the Script
|
||||
#### Como executar o script
|
||||
|
||||
1. Mude para o diretório do projeto.
|
||||
2. Execute o comando a seguir:
|
||||
@@ -83,7 +83,7 @@ Um script único que adiciona automaticamente um número específico de passos.
|
||||
|
||||
**Observação:** esse script também executa [update-step-titles](#update-step-titles).
|
||||
|
||||
#### How to Run the Script
|
||||
#### Como executar o script
|
||||
|
||||
1. Mude para o diretório do projeto.
|
||||
2. Execute o comando a seguir:
|
||||
@@ -98,7 +98,7 @@ Um script único que adiciona automaticamente um novo passo em uma posição esp
|
||||
|
||||
**Observação:** esse script também executa [update-step-titles](#update-step-titles).
|
||||
|
||||
#### How to Run the Script
|
||||
#### Como executar o script
|
||||
|
||||
1. Mude para o diretório do projeto.
|
||||
2. Execute o comando a seguir:
|
||||
@@ -113,7 +113,7 @@ Um script único que exclui um passo existente e decrementa todos os passos post
|
||||
|
||||
**Observação:** esse script também executa [update-step-titles](#update-step-titles).
|
||||
|
||||
#### How to Run the Script
|
||||
#### Como executar o script
|
||||
|
||||
1. Mude para o diretório do projeto.
|
||||
2. Execute o comando a seguir:
|
||||
@@ -126,7 +126,7 @@ pnpm run delete-step X #, onde X é o número do passo a ser excluído.
|
||||
|
||||
Um script único que atualiza automaticamente a frontmatter nos arquivos markdown de um projeto para que eles sejam consistentes com o meta.json do projeto. Garante que o título de cada passo (e seu dashedName) correspondam ao challengeOrder do arquivo meta.
|
||||
|
||||
#### How to Run the Script
|
||||
#### Como executar o script
|
||||
|
||||
1. Mude para o diretório do projeto.
|
||||
2. Execute o comando a seguir:
|
||||
|
||||
@@ -13,7 +13,7 @@ São recomendados os seguintes passos ao trabalhar em um novo componente:
|
||||
- Exibir os casos de uso no Storybook
|
||||
- Escrever testes unitários
|
||||
|
||||
## Researching and Planning
|
||||
## Pesquisar e planejar
|
||||
|
||||
Antes de construir um componente, você precisa pesquisar e documentar como a versão existente se comporta e qual é sua aparência, para garantir que o novo tenha estilos correspondentes e suporte todos os usos atuais. Para atender aos requisitos de acessibilidade da web, você também deve prestar atenção ao aspecto de acessibilidade do componente, ver quais elementos HTML e atributos ARIA são usados por baixo dos panos.
|
||||
|
||||
@@ -23,7 +23,7 @@ Preferimos pull requests menores do que grandes, porque eles aceleram o tempo de
|
||||
|
||||
Recomendamos abrir uma issue separada no GitHub para cada componente e incluir todas as observações na descrição da issue. Ela pode ser usada como um lugar para hospedar todas as suas notas de trabalho, assim como uma maneira de comunicar a abordagem aos revisores. Utilizaremos o tópico da issue para continuar a discussão, se necessário. [A issue sobre o componente Button](https://github.com/freeCodeCamp/freeCodeCamp/issues/45357) pode ser usada como uma referência.
|
||||
|
||||
## Implementing the Component
|
||||
## Implementar o componente
|
||||
|
||||
Um novo componente pode ser criado usando o seguinte comando a partir do diretório raiz:
|
||||
|
||||
@@ -43,25 +43,25 @@ O comando gerará uma nova pasta dentro do diretório `ui-components`, com os se
|
||||
| `my-component.tsx` | É onde implementamos o componente. |
|
||||
| `types.ts` | É onde localizamos a interface e os tipos do componente. |
|
||||
|
||||
Each component is different, but in general, a component should:
|
||||
Cada componente é diferente, mas, em geral, os componentes devem:
|
||||
|
||||
- Dar suporte à ref de encaminhamento
|
||||
- Ser estilizados para temas claros e escuros
|
||||
- Ser estilizados internamente com base em suas propriedades (os consumidores não devem precisar reestilizar o componente com a propriedade `className`)
|
||||
- Usar o sistema de estilo integrado do Tailwind ao invés de ter estilos personalizados
|
||||
|
||||
### Using Colors
|
||||
### Uso de cores
|
||||
|
||||
Existem duas "camadas" de cores na biblioteca de componentes:
|
||||
|
||||
- A camada de base, onde os nomes das cores descrevem o que são as cores, por exemplo, `gray00`, `blue50`
|
||||
- A camada semântica, onde os nomes das cores descrevem para que servem as cores, por exemplo, `foreground-primary`, `background-danger`
|
||||
|
||||
Generally, when using colors in a component, you should choose semantic variables over the base ones. No entanto, há exceções, especificamente quando você está estilizando os estados do componente como hover, active, disabled etc. In these cases, we recommend using the base variables directly instead of creating new semantic variables, since each component can have different styles for its states.
|
||||
Geralmente, ao usar cores em um componente, você deve preferir as variáveis semânticas às de base. No entanto, há exceções, especificamente quando você está estilizando os estados do componente como hover, active, disabled etc. Nestes casos, recomendamos o uso das variáveis de base diretamente em vez de criar variáveis semânticas, já que cada componente pode ter estilos diferentes para seus estados.
|
||||
|
||||
> [!NOTE] A definição de cor pode ser encontrada no arquivo [`colors.css`](https://github.com/freeCodeCamp/freeCodeCamp/blob/main/tools/ui-components/src/colors.css). Uma cor só estará disponível para uso se for adicionada ao arquivo [`tailwind.config.js`](https://github.com/freeCodeCamp/freeCodeCamp/blob/main/tools/ui-components/tailwind.config.js) abaixo da propriedade `colors`.
|
||||
|
||||
### Useful Links
|
||||
### Links úteis
|
||||
|
||||
- [Configuração do Tailwind CSS](https://tailwindcss.com/docs/configuration)
|
||||
- [Documentação do React Bootstrap v0.33](https://react-bootstrap-v3.netlify.app)
|
||||
@@ -69,7 +69,7 @@ Generally, when using colors in a component, you should choose semantic variable
|
||||
- [Implementação atual do React Bootstrap](https://github.com/react-bootstrap/react-bootstrap/tree/master/src)
|
||||
- [Testes atuais do React Bootstrap](https://github.com/react-bootstrap/react-bootstrap/tree/master/test)
|
||||
|
||||
## Displaying the Use Cases on Storybook
|
||||
## Exibir os casos de uso no Storybook
|
||||
|
||||
Os casos de uso do componente devem ser adicionados ao arquivo Storybook (`.stories.tsx`).
|
||||
|
||||
@@ -81,7 +81,7 @@ pnpm run storybook
|
||||
|
||||
A página do Storybook está disponível em [http://localhost:6006](http://localhost:6006).
|
||||
|
||||
## Writing Unit Tests
|
||||
## Escrever testes unitários
|
||||
|
||||
Usamos a [React Testing Library](https://testing-library.com/docs/react-testing-library/intro/) (biblioteca de testes do React) para escrever testes unitários. Os testes devem investigar se os componentes se comportam como esperados e se estão acessíveis.
|
||||
|
||||
@@ -91,7 +91,7 @@ Para executar testes contra a biblioteca de componentes, execute o seguinte coma
|
||||
pnpm run test-ui-components
|
||||
```
|
||||
|
||||
## Adding Packages to the UI-Component Library
|
||||
## Adicionar pacotes à biblioteca de componentes da UI
|
||||
|
||||
Restringimos a adição de novos pacotes aos componentes da UI para ajudar com a manutenção do projeto. Na hipótese de você achar que uma dependência é necessária, consulte os gestores primeiro e use o seguinte comando para adicionar um pacote:
|
||||
|
||||
@@ -100,7 +100,7 @@ cd tools/ui-components
|
||||
pnpm add package_name
|
||||
```
|
||||
|
||||
### Useful Links
|
||||
### Links úteis
|
||||
|
||||
- [Testes de acessibilidade](https://testing-library.com/docs/dom-testing-library/api-accessibility)
|
||||
- [Ordem de prioridade das consultas da biblioteca de testes do React](https://testing-library.com/docs/queries/about/#priority)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
Esta página descreve como contribuir para os tutoriais e projetos do freeCodeCamp que são concluídos usando a extensão CodeRoad do VS Code.
|
||||
|
||||
## How the Tutorials Work
|
||||
## Como funcionam os tutoriais
|
||||
|
||||
Each of the freeCodeCamp tutorials that use CodeRoad has its own repo under the freeCodeCamp GitHub organization. Todos eles começam com `learn-`. Por exemplo, `https://github.com/freeCodeCamp/learn-bash-by-building-a-boilerplate/`.
|
||||
Cada um dos tutoriais do freeCodeCamp que usa o CodeRoad tem seu próprio repositório na organização do GitHub do freeCodeCamp. Todos eles começam com `learn-`. Por exemplo, `https://github.com/freeCodeCamp/learn-bash-by-building-a-boilerplate/`.
|
||||
|
||||
Cada repositório de tutorial tem um branch `main` e um branch de "versão", como `v1.0.0`, por exemplo.
|
||||
|
||||
@@ -18,7 +18,7 @@ Para fazer mudanças nos commits de um branch de versão, você precisa fazer o
|
||||
>
|
||||
> Nunca faça ou envie mudanças para um branch de versão que estiver em um dos repositórios do freeCodeCamp. Sempre crie um novo.
|
||||
|
||||
## How to Contribute
|
||||
## Como contribuir
|
||||
|
||||
### Pré-requisitos
|
||||
|
||||
@@ -49,7 +49,7 @@ Siga essas instruções para fazer um PR, tendo em conta que as instruções ger
|
||||
- Faça o commit das mudanças, com `update json` como mensagem.
|
||||
- Faça um pull request.
|
||||
|
||||
### Testing Changes on `main`
|
||||
### Testando as mudanças na branch `main`
|
||||
|
||||
Se você quer testar suas alterações na `main` depois de usar as instruções acima, siga essas:
|
||||
|
||||
@@ -64,7 +64,7 @@ O arquivo `tutorial.json` não deverá conter alterações para fazer o commit d
|
||||
|
||||
Também tenha em mente que instruções geralmente usam as lições ao seu redor para contextualizar, então garanta que elas façam sentido.
|
||||
|
||||
### Working on Version Branch
|
||||
### Trabalhando na branch de versão
|
||||
|
||||
> [!WARNING]
|
||||
>
|
||||
@@ -91,12 +91,12 @@ Siga as próximas instruções para criar uma nova versão:
|
||||
- Faça um PR para a `main` usando seu novo branch `feat/version-X.X.Y`. Dê o título de `version X.X.Y ready for review`. Não acontecerá o merge disso, é apenas para quem for revisar saiba que existe uma nova versão pronta
|
||||
- Após isso, suas mudanças serão revisadas
|
||||
|
||||
### Testing Changes to a Version Branch
|
||||
### Testando alterações em uma branch de versão
|
||||
|
||||
- Siga as instruções no [repositório rdb-alpha](https://github.com/freeCodeCamp/rdb-alpha) para rodar um contêiner
|
||||
- Comece o tutorial usando o arquivo `tutorial.json` em qualquer fork onde as alterações estejam presentes. Tenha certeza de usar o arquivo no `feat: version-X.X.Y` branch e não no `main` branch
|
||||
|
||||
### Pushing a New Version
|
||||
### Enviando uma nova versão
|
||||
|
||||
Antes de enviar uma nova versão, veja o novo branch `feat/version-vX.X.Y` (acontecerá o merge para a `main`) no fork do usuário. Tenha certeza que há adições no arquivo `CHANGELOG.md` que incluem as novas alterações, e a versão em dois lugares do arquivo `coderoad.yaml` correspondem com o novo branch de versão.
|
||||
|
||||
@@ -121,7 +121,7 @@ Se você tiver acesso de escrita no repositório do freeCodeCamp, verificou os a
|
||||
- Depois que for dado o merge do PR, abra o tutorial seguindo as instruções no [repositório rdb-alpha](https://github.com/freeCodeCamp/rdb-alpha) para ter certeza que está carregando corretamente e que você pode passar por alguns passos
|
||||
- Por fim, se existem PRs para esta versão, feche-os
|
||||
|
||||
### How to Revert to a Previous Version
|
||||
### Como reverter para a versão anterior
|
||||
|
||||
- Crie um novo branch fora do último `main` com `git checkout -b revert/to-version-X.X.X`
|
||||
- Reverta todos os commits desse branch a partir do commit da versão depois da que você quer reverter. Por exemplo, você deve ter commits que parecem com isso:
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
|
||||
Este manual o ajudará a configurar e utilizar as ferramentas para seus esforços de localização.
|
||||
|
||||
## How to Invite New Contributors to Ghost
|
||||
## Como convidar novos colaboradores para o Ghost
|
||||
|
||||
Ghost allows you to set contributors with different levels of authorization.
|
||||
O Ghost permite que você defina colaboradores com diferentes níveis de autorização.
|
||||
|
||||
A maioria de seus convites será para o nível "Contributor" (Colaborador). Esse nível permite que o usuário crie rascunhos. Selecione esta função ao convidar um novo tradutor.
|
||||
|
||||
@@ -14,7 +14,7 @@ O nível "Editor" permite ao usuário acessar todos os rascunhos e publicá-los.
|
||||
|
||||
O nível "Administrator" (Administrador) é reservado para funcionários e líderes de idiomas do freeCodeCamp.
|
||||
|
||||
### How are the Articles Built
|
||||
### Como são feitos os artigos
|
||||
|
||||
Usamos uma abordagem baseada em [JAMStack](https://www.google.com/search?q=what+is+jamstack) para criar e implementar os artigos. Esta estratégia faz com que um site estático seja armazenado em cache e servido a partir de uma CDN rapidamente.
|
||||
|
||||
@@ -24,9 +24,9 @@ Esse processo é automatizado e executado periodicamente. Se você publicar algo
|
||||
|
||||
Você pode encontrar as agendas de compilação e o status atualizado aqui: https://github.com/freeCodeCamp/news#build
|
||||
|
||||
## How to Mention the Original Author of a Translated Article
|
||||
## Como mencionar o autor original de um artigo traduzido
|
||||
|
||||
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.
|
||||
O autor original e o artigo original são vinculados automaticamente, adicionando este código à seção de cabeçalho Code Injection -> em Draft Setiings (Configurações de rascunho) no Ghost.
|
||||
|
||||
```html
|
||||
<script>
|
||||
@@ -36,24 +36,24 @@ The original author and the original article are linked automatically adding thi
|
||||
|
||||
Sendo `link` o link do artigo original.
|
||||
|
||||
## How to Update Trending Articles
|
||||
## Como atualizar os artigos em destaque
|
||||
|
||||
> [!TIP] Changing the articles in the footer at least once a month means giving a boost to the linked articles on Google results.
|
||||
> [!TIP] Alterar os artigos no rodapé pelo menos uma vez por mês significa dar um impulso aos artigos vinculados nos resultados do Google.
|
||||
|
||||
Mudamos os artigos em destaque em dois lugares diferentes.
|
||||
|
||||
- [O repositório do currículo](https://github.com/freeCodeCamp/freeCodeCamp/)
|
||||
- [O repositório do CDN](https://github.com/freeCodeCamp/cdn)
|
||||
|
||||
For each article, you will need to create a shorter title to use in the footer.
|
||||
Para cada artigo, você precisará criar um título menor para usar no rodapé.
|
||||
|
||||
### Change Trending Articles in the Curriculum
|
||||
### Alterar artigos em destaque no currículo
|
||||
|
||||
Os artigos em destaque no rodapé do currículo podem ser alterados, editando o arquivo em `client/i18n/locales/<language>/trending.json`.
|
||||
|
||||
Esse é um arquivo `*.json`, que tem a forma de um objeto com chaves de propriedade na forma `article0title` e `article0link`.
|
||||
|
||||
Each number represents one of the 30 articles in the footer. Veriifique se a correspondência entre o título e o link está correta.
|
||||
Cada número representa um dos 30 artigos do rodapé. Veriifique se a correspondência entre o título e o link está correta.
|
||||
|
||||
Este é um exemplo de como deve ser a aparência de parte do arquivo `trending.json`.
|
||||
|
||||
@@ -77,11 +77,11 @@ Este é um exemplo de como deve ser a aparência de parte do arquivo `trending.j
|
||||
|
||||
Você vai querer [fazer a build do client traduzido localmente](how-to-enable-new-languages.md) para ver se os títulos têm o comprimento correto. Cada título deve permanecer em uma única linha e não deve ir para uma nova linha.
|
||||
|
||||
### How to Update the Trending Articles in the CDN
|
||||
### Como atualizar os artigos em destaque no CDN
|
||||
|
||||
The file in the CDN repository is the file `universal/trending/<language>.yaml`.
|
||||
O arquivo no repositório CDN é o arquivo `universal/trending/<language>.yaml`.
|
||||
|
||||
This file is shaped differently. For example, here is the file content for the first 6 articles:
|
||||
Este arquivo está em formato diferente. Por exemplo, aqui está o conteúdo do arquivo para os primeiros 6 artigos:
|
||||
|
||||
```yaml
|
||||
article0title: 'Nova aba em HTML'
|
||||
@@ -102,9 +102,9 @@ Você pode converter de um formato para o outro cuidadosamente, alterando-o manu
|
||||
|
||||
> [!TIP] Um novo fluxo de trabalho está sendo trabalhado. Será preciso alterar em apenas um lugar no futuro.
|
||||
|
||||
## How to Translate Articles in the Footer Links
|
||||
## Como traduzir os artigos dos links de rodapé
|
||||
|
||||
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.
|
||||
Existem alguns links listados no final do rodapé (Sobre, Rede de ex-alunos, Código aberto etc.) e alguns deles podem ser traduzidos para seu idioma do mesmo modo que os outros artigos.
|
||||
|
||||
Artigos que podem ser traduzidos:
|
||||
|
||||
@@ -126,7 +126,7 @@ Os links a seguir estão apontando para sites externos e não podem ser traduzid
|
||||
- Rede de ex-alunos
|
||||
- Código aberto
|
||||
|
||||
### Change the Footer Links in the News
|
||||
### Alterações nos links de rodapé do editorial
|
||||
|
||||
Depois de ter traduzido e publicado os artigos listados como "podem ser traduzidos" acima, você poderá atualizar os links no rodapé de `/news` editando o arquivo `news/config/i18n/locales/<your language>/links.json` no repositório [freeCodeCamp/news](https://github.com/freeCodeCamp/news).
|
||||
|
||||
@@ -146,7 +146,7 @@ Atualize a seguinte parte do arquivo:
|
||||
}
|
||||
```
|
||||
|
||||
### Change the Footer Links in the Curriculum
|
||||
### Alterações nos links de rodapé do curr[iculo
|
||||
|
||||
Depois de ter traduzido e publicado os artigos listados como "podem ser traduzidos" acima e quando o curr[iculo em seu idioma estiver pronto para o lançamento, você poderá atualizar os links no rodapé de `/learn` editando o arquivo `news/config/i18n/locales/<your language>/links.json` no repositório [freeCodeCamp/freeCodeCamp](https://github.com/freeCodeCamp/freeCodeCamp).
|
||||
|
||||
@@ -172,7 +172,7 @@ Atualize a seguinte parte do arquivo:
|
||||
}
|
||||
```
|
||||
|
||||
## How to Translate the Info Boxes Headers in the Documentation
|
||||
## Como traduzir os cabeçalhos das caixas informativas na documentação
|
||||
|
||||
Você pode encontrar essas caixas por toda a documentação:
|
||||
|
||||
@@ -248,7 +248,7 @@ flexibleAlerts: {
|
||||
}
|
||||
```
|
||||
|
||||
## How to Translate the Motivational Quotes
|
||||
## Como traduzir as citações motivacionais
|
||||
|
||||
As citações motivacionais podem ser encontradas no [repositório de currículos](https://github.com/freeCodeCamp/freeCodeCamp/), no arquivo `/client/i18n/locales/<language>/motivation.json`.
|
||||
|
||||
@@ -265,7 +265,7 @@ Os elogios são as frases curtas que aparecem na conclusão de um desafio.
|
||||
|
||||
Você não precisa traduzir diretamente as frases usadas em inglês. Você pode escrever um conjunto de frases curtas que sejam apropriadas para mostrar na conclusão de um desafio.
|
||||
|
||||
The `compliments` array is an array of strings. So, for example, you would write:
|
||||
O array `compliments` é um array de strings. Então, por exemplo, você escreveria:
|
||||
|
||||
```json
|
||||
{
|
||||
@@ -295,9 +295,9 @@ O array `motivationalQuotes` é um array de objetos. Esses objetos devem incluir
|
||||
}
|
||||
```
|
||||
|
||||
> [!TIP] Você deve começar com pelo menos uma dúzia de citações para ter alguma variedade. A new quote is shown every time the user reloads the page.
|
||||
> [!TIP] Você deve começar com pelo menos uma dúzia de citações para ter alguma variedade. Uma nova citação é mostrada toda vez que o usuário recarrega a página.
|
||||
|
||||
## How to Update the Common Links
|
||||
## Como atualizar os links comuns
|
||||
|
||||
Mantemos um arquivo de links comuns usados por todo o nosso [site do currículo](https://github.com/freecodecamp/freecodecamp) no arquivo `/client/i18n/locales/<language>/links.json`.
|
||||
|
||||
@@ -305,7 +305,7 @@ Alguns desses links não mudarão - mas você deve atualizar os links dos artigo
|
||||
|
||||
Você também deve atualizar as categorias de `help` para que apontem para o sub-fórum do seu idioma (geralmente `language/category`, como, por exemplo, `portuguese/HTML-CSS`). Isto permitirá que os campers criem "posts de ajuda" no local correto do fórum.
|
||||
|
||||
## How to Update the Site Meta-Data
|
||||
## Como atualizar os metadados do site
|
||||
|
||||
Os metadados do site estão no arquivo `/client/i18n/locales/<language>/meta-tags.json`. Este arquivo tem cinco chaves: `title`, `description`, `social-description`, `keywords` e `youre-unsubscribed`.
|
||||
|
||||
@@ -329,7 +329,7 @@ Você pode escolher "From Machine Translation" (da tradução de máquina) ou "F
|
||||
|
||||
Depois, há três etapas a concluir:
|
||||
|
||||
1. Arquivos. Choose which files to translate, you can do all the projects, or specific folders or files.
|
||||
1. Arquivos. Escolha quais arquivos traduzir. Você pode fazer todos os projetos ou pastas e arquivos específicos.
|
||||
2. Idiomas. Defina o seu idioma aqui.
|
||||
3. Traduções existentes. A melhor combinação aqui é "100% match" (100% correspondente) e "Apply to untranslated strings only" (aplicar apenas a frases não traduzidas). Não aprove automaticamente, já que é sempre melhor que um olho humano revise tudo.
|
||||
|
||||
@@ -337,35 +337,35 @@ Depois, há três etapas a concluir:
|
||||
|
||||
Quando você tiver terminado de fazer essa configuração, pressione o botão Pre-Translate e aguarde. Ele alertará você quando terminar. O tempo que leva depende de quantas frases não traduzidas existem nos arquivos escolhidos.
|
||||
|
||||
## How to Update Crowdin Glossary
|
||||
## Como atualizar o glossário do Crowdin
|
||||
|
||||
> [!TIP] An updated glossary helps in having a homogeneous translation of technical terms.
|
||||
> [!TIP] Um glossário atualizado ajuda a ter uma tradução dos termos técnicos mais homogênea.
|
||||
|
||||
O glossário do Crowdin é mantido no repositório [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.
|
||||
Na pasta `glossaries` há vários arquivos `*.csv` (valores separados por vírgulas, um para cada um dos projetos no Crowdin que têm um glossário que pode ser atualizado a partir deste fluxo de trabalho.
|
||||
|
||||
O arquivo `client.csv` é para o projeto "Learn User Interface" (Interface de aprendizagem do usuário), `curriculum.csv` é para o projeto "Coding Curriculum" (Currículo de programação) e o arquivo `docs.csv` é para o projeto "Contributing Documentation" (Documentação colaborativa).
|
||||
|
||||
To update the Crowdin Glossaries, you need to clone this repo locally. Open the `.csv` file with an appropriate program, for example, Microsoft Excel.
|
||||
Para atualizar os glossários do Crowdin você precisa clonar este repositório localmente. Abra o arquivo `.csv` com um programa apropriado - por exemplo, o Microsoft Excel.
|
||||
|
||||
No arquivo `.csv`, que você verá que a língua inglesa ocupa as primeiras três colunas, `Term:English` é a coluna para o termo em inglês, `Description:English` é a coluna para a descrição em inglês e `Part:English` é para a classe gramatical (por exemplo, substantivo, verbo etc.) do termo.
|
||||
|
||||
Depois delas, cada idioma-alvo tem duas colunas. Se você traduzir para o Dothraki, estará interessado nas colunas `Term:Dothraki` e `Description:Dothraki`. A coluna `Term:Dothraki` é para a tradução do termo em Dothraki, enquanto a coluna `Description:Dothraki` é para uma descrição do termo em 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] Em programas como o Microsoft Excel, você pode ocultar as colunas dos outros idiomas para liberar espaço em tela e ver as colunas em inglês e as colunas do idioma de destino ao lado umas das outras.
|
||||
|
||||
Após ter feito as alterações e salvo o arquivo, você precisará fazer um PR com as alterações propostas. Depois de o PR ter sido aceito, você precisará executar o fluxo de trabalho do GitHub Action para atualizar o glossário do Crowdin. Suas alterações no glossário não terão efeitos imediatos, mas aparecerão em breve.
|
||||
|
||||
## Como promover um colaborador a revisor
|
||||
|
||||
If you consider that a contributor could become a Crowdin Proofreader, you can give the proofreader role to them this way:
|
||||
Se você considerar que um colaborador pode se tornar um revisor de Crowdin, você pode dar a ele a função de revisor deste modo:
|
||||
|
||||
In Crowdin, individuate the `User management` on the left-hand side menu.
|
||||
No Crowdin, você individualiza `User management` (gerenciamento do usuário) no menu do lado esquerdo.
|
||||
|
||||
Isto abrirá as ferramentas de gerenciamento de usuário, você será capaz de ver a lista de todos os usuários.
|
||||
|
||||
Search for the user that will become a proofreader. Use o menu de três pontos na linha do usuário para abrir um menu e selecione "Add to team" (Adicionar à equipe). As equipes de revisão têm o nome padrão de `Proof Readers (<language>)`. Você pode pesquisar a equipe usando o nome do idioma. Depois de selecionar a equipe, use o botão "ADD" na parte inferior da página para finalizar.
|
||||
Procure pelo usuário que se tornará um revisor. Use o menu de três pontos na linha do usuário para abrir um menu e selecione "Add to team" (Adicionar à equipe). As equipes de revisão têm o nome padrão de `Proof Readers (<language>)`. Você pode pesquisar a equipe usando o nome do idioma. Depois de selecionar a equipe, use o botão "ADD" na parte inferior da página para finalizar.
|
||||
|
||||
O usuário agora é um revisor.
|
||||
|
||||
|
||||
@@ -20,7 +20,7 @@ Depois de confirmar as diretrizes acima, fique à vontade para enviar um e-mail
|
||||
|
||||
Ao reportar uma vulnerabilidade, vamos analisá-la e garantir que ela não é um falso positivo. Se precisarmos esclarecer alguns pormenores, entraremos em contato com você. Você pode enviar relatórios separados para cada issue que encontrar. Lembre-se de que não poderemos responder a issues que entendermos que se encontram fora das diretrizes.
|
||||
|
||||
## Platforms and Codebases
|
||||
## Plataformas e bases de código
|
||||
|
||||
Aqui está uma lista das plataformas e bases de código para as quais estamos aceitando relatórios:
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
If you are facing an issue, there is a high chance that the resolution is in this documentation.
|
||||
Se estiver com problemas, há grandes probabilidades de a resolução constar desta documentação.
|
||||
|
||||
## Issues with Installing the Recommended Prerequisites
|
||||
## Problemas com a instalação dos pré-requisitos recomendados
|
||||
|
||||
Desenvolvemos regularmente nos sistemas mais recentes e populares, como o macOS 10.15, o Ubuntu 18.04 e o Windows 10 (com WSL2).
|
||||
|
||||
@@ -12,9 +12,9 @@ Se você está em um sistema operacional diferente ou se ainda está encontrando
|
||||
>
|
||||
> Evite criar issues no GitHub para problemas com as tecnologias que são requisitadas de antemão. Estão fora do escopo deste projeto.
|
||||
|
||||
## Issues with Missing UI, Fonts, Language Strings, or Build Errors
|
||||
## Problemas de ausência da interface do usuário, fontes, strings de idioma ou erro de build
|
||||
|
||||
When you build the client, Gatsby will cache the Fonts, language strings, and UI. Se um deles não estiver em cache, execute o seguinte:
|
||||
Quando você fizer a build no client, o Gatsby armazenará em cache as fontes, as strings de idioma e a interface do usuário. Se um deles não estiver em cache, execute o seguinte:
|
||||
|
||||
```console
|
||||
pnpm run clean
|
||||
@@ -48,7 +48,7 @@ git clean -ifdX
|
||||
<img src="https://user-images.githubusercontent.com/1884376/94270515-ca579400-ff5d-11ea-8ff1-152cade31654.gif" alt="Como limpar arquivos git não rastreados" />
|
||||
</details>
|
||||
|
||||
## Issues with API, login, Challenge Submissions, etc.
|
||||
## Problemas com API, login, envio de desafios, etc.
|
||||
|
||||
Se você não conseguir fazer o login e se vir um banner com uma mensagem de erro dizendo que isso será reportado ao freeCodeCamp, verifique novamente se a porta local `3000` não está em uso por um programa diferente.
|
||||
|
||||
@@ -74,19 +74,19 @@ TCP 0.0.0.0:3000 DESKTOP LISTENING
|
||||
|
||||
---
|
||||
|
||||
## Issues Signing Out while Navigating
|
||||
## Problemas de logout ao navegar
|
||||
|
||||
Enquanto estiver em desenvolvimento, sua sessão é armazenada como cookies. Limpar os cookies os retirará de sua conta de desenvolvimento.
|
||||
|
||||
Executar `pnpm run seed:certified-user` também deslogará você. Isso sobrescreverá o usuário de desenvolvimento em seu banco de dados local.
|
||||
|
||||
## Issue Getting 404 when Navigating Profile Page
|
||||
## Problema de obter 404 ao navegar na página de perfil
|
||||
|
||||
Ao tentar navegar para http://localhost:8000/developmentuser para ver a página de perfil, o Gatsby assume o controle do serviço das páginas do lado do client e, portanto, você obterá uma página 404 para o perfil do usuário quando estiver trabalhando.
|
||||
|
||||
Há um botão de "Pré-visualização personalizada da página de 404". Clique nele para ver o perfil.
|
||||
|
||||
## Issues Installing Dependencies
|
||||
## Problemas ao instalar dependências
|
||||
|
||||
Se você receber erros durante a instalação das dependências, certifique-se de que você não está em uma rede restrita ou suas configurações de firewall não impedem você de acessar os recursos.
|
||||
|
||||
@@ -94,7 +94,7 @@ A primeira configuração pode demorar um pouco, dependendo da largura de banda
|
||||
|
||||
> [!NOTE] Se estiver usando dispositivos da Apple com o chip M1 para executar a aplicação localmente, sugerimos usar o Node v14.7 ou uma versão mais recente. Do contrário, você poderá ter problemas com dependências como o Sharp.
|
||||
|
||||
## Getting Help
|
||||
## Obter ajuda
|
||||
|
||||
Se você está com dificuldades e precisa de ajuda, fique à vontade em perguntar na categoria ['Contributors' (colaboradores) em nosso fórum](https://forum.freecodecamp.org/c/contributors) ou [na sala de bate-papo dos colaboradores](https://discord.gg/PRyKn3Vbay).
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
Os tokens de usuário são usados para identificar os usuários para terceiros. Assim, os desafios concluídos usando esses serviços podem ser salvos na conta de um usuário.
|
||||
|
||||
## How they are Created
|
||||
## Como eles são criados
|
||||
|
||||
No momento, os tokens são usados apenas para enviar os desafios de Bancos de dados relacionais. Um token é criado quando um usuário conectado clica em "Clique aqui para iniciar o curso" ou "Clique aqui para iniciar o projeto" para iniciar um dos cursos ou projetos de Banco de dados relacionais.
|
||||
|
||||
## When they Get Deleted
|
||||
## Quando eles são excluídos
|
||||
|
||||
Um token de usuário será excluído quando um usuário sai do freeCodeCamp, redefine seu progresso, exclui a conta ou exclui manualmente o token usando o widget na página de configurações.
|
||||
|
||||
## How they Work
|
||||
## Como eles funcionam
|
||||
|
||||
Os tokens são armazenados em uma coleção chamada `UserToken` no banco de dados. Cada registro tem um `_id` único, que é o token, e um `user_id` que se vincula à conta do usuário da coleção `user`. O token é codificado utilizando JWT e enviado para o cliente quando ele é criado. Esse token codificado é então enviado aos serviços de terceiros que precisam dele e para a nossa API por eles quando um desafio é concluído. Quando nossa API o receber, ele é decodificado para que possamos identificar o usuário que está enviando um desafio e salvar o desafio completo em seus `completedChallenges`.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
### Я лише починаю ознайомлення з GitHub та відкритим вихідним кодом. З чого мені варто почати?
|
||||
|
||||
Прочитайте [«Як зробити внесок до відкритого вихідного коду»](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). Там є вичерпні вказівки для тих, хто вперше стикається з такими проєктами. And it includes a lot of open-source contribution tips.
|
||||
Прочитайте [«Як зробити внесок до відкритого вихідного коду»](https://github.com/freeCodeCamp/how-to-contribute-to-open-source). Там є вичерпні вказівки для тих, хто вперше стикається з такими проєктами. Там також є багато порад для роботи з відкритим вихідним кодом.
|
||||
|
||||
### Що мені потрібно знати, щоб зробити внесок до кодової бази?
|
||||
|
||||
|
||||
@@ -4,23 +4,23 @@
|
||||
|
||||
Щоб дізнатися, як писати тести Cypress, або «специфікації», будь ласка, зверніться до офіційної [документації Cypress](https://docs.cypress.io/guides/getting-started/writing-your-first-test.html).
|
||||
|
||||
## Where to Add a Test
|
||||
## Куди додати тест
|
||||
|
||||
- Тести Cypress знаходяться в каталозі `./cypress`.
|
||||
|
||||
- Тести Cypress для модуля навчальної програми знаходяться у відповідному каталозі навчальної програми, тобто `cypress/integration/learn/responsive-web-design/basic-css/index.js`.
|
||||
|
||||
## How to Run Tests
|
||||
## Як проводити тести
|
||||
|
||||
> [!NOTE] Якщо ви використовуєте GitPod, див. [налаштування Cypress-GitPod](how-to-add-cypress-tests.md#cypress-gitpod-setup)
|
||||
|
||||
### 1. Ensure that MongoDB and Client Applications are Running
|
||||
### 1. Переконайтеся, що MongoDB і клієнтські програми запущені
|
||||
|
||||
- [Запустіть MongoDB і заповнiть базу даних](how-to-setup-freecodecamp-locally.md#step-3-start-mongodb-and-seed-the-database)
|
||||
|
||||
- [Запустіть клієнтський додаток freeCodeCamp і сервер API](how-to-setup-freecodecamp-locally.md#step-4-start-the-freecodecamp-client-application-and-api-server)
|
||||
|
||||
### 2. Run the Cypress Tests
|
||||
### 2. Запустіть тести Cypress
|
||||
|
||||
Щоб запустити тести кінцевої збірки, замініть `dev` на `prd` нижче.
|
||||
|
||||
@@ -54,8 +54,8 @@
|
||||
|
||||
Якщо запуск середовища GitPod не розробив середовище автоматично:
|
||||
|
||||
- Follow the [MongoDB installation guide](https://www.mongodb.com/basics/get-started).
|
||||
- Create a config file.
|
||||
- Дотримуйтесь [посібнику з налаштування MongoDB](https://www.mongodb.com/basics/get-started).
|
||||
- Створіть конфігураційний файл.
|
||||
|
||||
```console
|
||||
pnpm run create:config
|
||||
|
||||
@@ -7,11 +7,11 @@
|
||||
|
||||
## Вступ
|
||||
|
||||
Some email workflows, like updating a user's email, require the back-end api-server to send outgoing emails. MailHog — це альтернатива провайдерам електронної пошти для надсилання листів. Це інструмент для тестування електронної пошти, на який приходитимуть усі листи, відправлені екземпляром freeCodeCamp.
|
||||
Деякі робочі процеси (наприклад, зміна електронної пошти користувача) вимагають сервер api, який надсилатиме вихідні листи. MailHog — це альтернатива провайдерам електронної пошти для надсилання листів. Це інструмент для тестування електронної пошти, на який приходитимуть усі листи, відправлені екземпляром freeCodeCamp.
|
||||
|
||||
## Встановлення MailHog
|
||||
|
||||
MailHog can be installed on macOS, Windows, and Linux or used via Docker
|
||||
MailHog можна встановити на macOS, Windows та Linux або використовувати через Docker
|
||||
|
||||
<details><summary>Встановлення MailHog за допомогою Docker</summary>
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# How to Help with Video Challenges
|
||||
# Як допомогти з відеозавданнями
|
||||
|
||||
Відеозавдання — це новий вид завдань у навчальній програмі freeCodeCamp.
|
||||
|
||||
@@ -54,18 +54,18 @@ forumTopicId: 12345
|
||||
Номер правильної відповіді повинен бути тут.
|
||||
````
|
||||
|
||||
## Creating Questions for Video Challenges
|
||||
## Створення запитань для відеозавдань
|
||||
|
||||
### Access the Video Challenge Markdown Files
|
||||
### Отримання доступу до markdown-файлів відеозавдань
|
||||
|
||||
You can find the markdown files for video challenges at the following locations in the curriculum:
|
||||
Markdow-файли до відеозавдань можна знайти у наступних локаціях навчальної програми:
|
||||
|
||||
- [Data Analysis with Python Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/08-data-analysis-with-python/data-analysis-with-python-course)
|
||||
- [TensorFlow 2.0 Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/11-machine-learning-with-python/tensorflow)
|
||||
- [Numpy Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/08-data-analysis-with-python/numpy)
|
||||
- [How Neural Networks Work Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/11-machine-learning-with-python/how-neural-networks-work)
|
||||
|
||||
Pick a challenge markdown file from the options above.
|
||||
Оберіть markdown-файл завдання із поданих нижче.
|
||||
|
||||
### Ознайомтеся із відео, пов’язаним із завданням, та створіть запитання із декількома варіантами відповіді
|
||||
|
||||
@@ -87,9 +87,9 @@ https://www.youtube.com/watch?v=[videoId] (замініть `videoId` у пос
|
||||
|
||||
Перегляньте відео із цим `videoId` та на його основі придумайте запитання із декількома варіантами відповіді.
|
||||
|
||||
### Add the Question to the Markdown File
|
||||
### Додайте запитання до markdown-файлу
|
||||
|
||||
You can add the question locally or using the GitHub interface. Щоб додати запитання локально, вам потрібно [налаштувати freeCodeCamp локально](how-to-setup-freecodecamp-locally.md). Ви також можете знайти файл на GitHub та клацнути кнопку редагування, щоб додати запитання прямо у своєму браузері.
|
||||
Ви можете додати запитання локально або скориставшись інтерфейсом GitHub. Щоб додати запитання локально, вам потрібно [налаштувати freeCodeCamp локально](how-to-setup-freecodecamp-locally.md). Ви також можете знайти файл на GitHub та клацнути кнопку редагування, щоб додати запитання прямо у своєму браузері.
|
||||
|
||||
Якщо запитання ще не додано до певного відеозавдання, воно матиме наступне запитання за замовчуванням:
|
||||
|
||||
@@ -198,6 +198,6 @@ print(height/3)
|
||||
|
||||
Більше прикладів ви можете побачити в markdown-файлах даного відеокурсу. Всі завдання вже мають запитання: [Python for Everybody Course](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/07-scientific-computing-with-python/python-for-everybody)
|
||||
|
||||
## Open a Pull Request
|
||||
## Відкрийте PR
|
||||
|
||||
Після створення одного чи більше запитань, ви можете зафіксувати зміни в новій гілці та [відкрити запит на злиття](how-to-open-a-pull-request.md).
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
|
||||
> [!NOTE] Ваш PR повинен націлюватись лише на зміни навчальної програми англійською мовою. Див. [цей довідник](index.md#translations), щоб зробити внесок до перекладу.
|
||||
|
||||
## Prepare a Good PR Title
|
||||
## Підготуйте хороший заголовок для PR
|
||||
|
||||
Ми рекомендуємо використовувати [ загальноприйняті заголовки та повідомлення](https://www.conventionalcommits.org/) для комітів і запитів на злиття. Конвенція вимагає наступного формату:
|
||||
|
||||
@@ -93,7 +93,7 @@
|
||||
|
||||
- Якщо ваш PR впливає на поведінку сторінки, він повинен супроводжуватися [інтеграційними тестами Cypress](how-to-add-cypress-tests.md).
|
||||
|
||||
## Feedback on Pull Requests
|
||||
## Зворотний зв’язок по PR
|
||||
|
||||
> :tada: Вітаємо зі створенням PR та дуже дякуємо, що знайшли час зробити свій внесок.
|
||||
|
||||
@@ -103,13 +103,13 @@
|
||||
|
||||
> [!TIP] Якщо ви хочете внести ще більше PR, ми рекомендуємо прочитати про [внесення змін та синхронізацію](how-to-setup-freecodecamp-locally.md#making-changes-locally), щоб уникнути видалення вашого форку.
|
||||
|
||||
## Conflicts on a Pull Request
|
||||
## Конфлікти PR
|
||||
|
||||
Конфлікти можуть виникнути, якщо над репозиторієм працює багато помічників. Зміни можуть вплинути на PR, який очікує на перегляд та злиття.
|
||||
|
||||
Зазвичай у перебазовуванні немає потреби, оскільки ми стискаємо всі коміти. Однак, якщо перебазовування потрібне, ось що потрібно робити.
|
||||
|
||||
### For Usual Bug Fixes and Features
|
||||
### Звичайні помилки та функціональності
|
||||
|
||||
Коли ви працюєте над звичайними помилками та функціональностями на нашій гілці розробки `main`, ви можете виконати просте перебазовування:
|
||||
|
||||
@@ -138,7 +138,7 @@
|
||||
git push --force origin <pr-branch>
|
||||
```
|
||||
|
||||
### For Upcoming Curriculum and Features
|
||||
### Майбутня навчальна програма та функціональності
|
||||
|
||||
Коли ви працюєте над функціональностями для майбутньої навчальної програми на гілках `next-*`, потрібно виконати команду cherry pick:
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@
|
||||
|
||||
> [!NOTE] Затвердження рядку в робочому типі позначить його як завершений та його буде завантажено в наступному пулі від Crowdin на GitHub.
|
||||
|
||||
## Becoming a Proofreader
|
||||
## Як стати редактором
|
||||
|
||||
Якщо у вас є запитання, або ви хочете стати редактором, напишіть у [чаті помічників](https://discord.gg/PRyKn3Vbay). Як правило, ми надамо вам доступ до редагування, якщо ви вже деякий час мали справу з freeCodeCamp.
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
> [!NOTE] Crowdin дозволить вам затверджувати свої переклади. Загалом, краще дозволити іншому редактору переглянути запропоновані вами переклади, щоб переконатися у відсутності помилок.
|
||||
|
||||
## Creating a Channel on Chat for a World Language
|
||||
## Створення в чаті каналу для світової мови
|
||||
|
||||
В основному, ми рекомендуємо використовувати [чат помічників](https://discord.gg/PRyKn3Vbay) для комунікації. Проте, якщо команда волонтерів-перекладачів для однієї мови зростатиме, ми можемо розглянути питання про створення окремого каналу.
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# Як перекладати ресурси freeCodeCamp
|
||||
|
||||
## Prepare yourself for Contributions
|
||||
## Приготуйтеся до своєї участі
|
||||
|
||||
> Детальний план локалізації freeCodeCamp: жодних обмежень швидкості
|
||||
|
||||
@@ -44,7 +44,7 @@
|
||||
|
||||
## Загальне про Crowdin
|
||||
|
||||
Наша мрія — це надати навчальні матеріали незалежно від того, якою мовою ви розмовляєте. To help us with this massive effort, we have integrated our open-source codebase & curriculum with [Crowdin](https://crowdin.com/) - A tool to help us localize our code-base.
|
||||
Наша мрія — це надати навчальні матеріали незалежно від того, якою мовою ви розмовляєте. Аби впоратися із цією непростою задачею, ми інтегрували нашу відкриту базу коду та навчальної програми на інструмент для локалізації [Crowdin](https://crowdin.com/).
|
||||
|
||||
> [!NOTE] У нас інший інструмент та робочий процес для перекладу [публікацій](https://www.freecodecamp.org/news). Якщо ви зацікавлені у перекладі публікацій, прочитайте [це оголошення](https://www.freecodecamp.org/news/help-translate-freecodecamp-language/) та зверніться до свого мовного керівника.
|
||||
|
||||
@@ -60,7 +60,7 @@
|
||||
|
||||
> [!WARNING] Ми більше не використовуємо GitHub для перекладу файлів. Якщо ви вже перекладали раніше, перейдіть на нашу [перекладацьку платформу](https://translate.freecodecamp.org/).
|
||||
|
||||
## Getting Started
|
||||
## Початок роботи
|
||||
|
||||
По-перше, привітайтесь у нашому [Discord](https://discord.gg/PRyKn3Vbay). Саме тут ми регулярно публікуємо оновлення щодо перекладу та відповідаємо на багато ваших запитань.
|
||||
|
||||
@@ -145,7 +145,7 @@ Crowdin розділяє документ на «рядки», зазвичай
|
||||
|
||||
> [!NOTE] Наша документація підтримує `docsify` та у нас є спеціальний аналіз для таких повідомлень. Якщо ви бачите рядки, які починаються з `[!NOTE]`, `[!WARNING]` або `[!TIP]` — ці слова НЕ перекладаються.
|
||||
|
||||
### How to Translate Documentation with Internal Links
|
||||
### Як перекладати документацію з внутрішніми посиланнями
|
||||
|
||||
Коли ви працюєте над документацією, стежте за внутрішніми посиланнями, які спрямовані на інший розділ документації.
|
||||
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
|
||||
### Запуск редактора
|
||||
|
||||
To start the editor, make sure you are in the root freeCodeCamp directory. Потім запустіть `pnpm run challenge-editor`, щоб запустити клієнта та API, який підтримує редактор.
|
||||
Щоб запустити редактор, переконайтесь, що знаходитесь у кореневому каталозі freeCodeCamp. Потім запустіть `pnpm run challenge-editor`, щоб запустити клієнта та API, який підтримує редактор.
|
||||
|
||||
Клієнт запуститься через порт `3300`, тому доступ можна отримати на `http://localhost:3300`. API запуститься через порт `3200`, щоб уникнути конфліктів з навчальним клієнтом та сервером. Це дозволить запустити програму freeCodeCamp одночасно з редактором, щоб ви могли перевірити свої зміни локально.
|
||||
|
||||
@@ -58,9 +58,9 @@ To start the editor, make sure you are in the root freeCodeCamp directory. По
|
||||
|
||||
Папка `tools/challenge-helper-scripts` містить інструменти, які допоможуть зі створенням та обслуговуванням проєктноорієнтованої навчальної програми freeCodeCamp.
|
||||
|
||||
### Create a New Project
|
||||
### Створіть новий проєкт
|
||||
|
||||
Change directory to `tools/challenge-helper-scripts` and run `pnpm run create-project`. This opens up a command line UI that guides you through the process. Після цього в англомовній навчальній програмі має з’явитися нове завдання, яке можна використовувати як перший крок проєкту. Наприклад, якщо ви створили проєкт під назвою `test-project` у сертифікації з адаптивного вебдизайну, завдання з’явиться у `curriculum/challenges/english/01-responsive-web-design/test-project`.
|
||||
Змініть каталог на `tools/challenge-helper-scripts` та запустіть `pnpm run create-project`. Ця команда відкриє інтерфейс командного рядка, який допомагатиме. Після цього в англомовній навчальній програмі має з’явитися нове завдання, яке можна використовувати як перший крок проєкту. Наприклад, якщо ви створили проєкт під назвою `test-project` у сертифікації з адаптивного вебдизайну, завдання з’явиться у `curriculum/challenges/english/01-responsive-web-design/test-project`.
|
||||
|
||||
Якщо ви хочете створити нові кроки, наступні інструменти допоможуть.
|
||||
|
||||
@@ -68,7 +68,7 @@ Change directory to `tools/challenge-helper-scripts` and run `pnpm run create-pr
|
||||
|
||||
Це разовий скрипт, який автоматично додасть наступний крок на основі останнього кроку проєкту. Початковий код завдання використовуватиме початковий код попереднього кроку.
|
||||
|
||||
#### How to Run the Script
|
||||
#### Як запустити скрипт
|
||||
|
||||
1. Перейдіть до каталогу проєкту.
|
||||
2. Виконайте наступну команду:
|
||||
@@ -83,7 +83,7 @@ pnpm run create-next-step
|
||||
|
||||
**Примітка:** цей скрипт також запускає [update-step-titles](#update-step-titles).
|
||||
|
||||
#### How to Run the Script
|
||||
#### Як запустити скрипт
|
||||
|
||||
1. Перейдіть до каталогу проєкту.
|
||||
2. Виконайте наступну команду:
|
||||
@@ -98,7 +98,7 @@ pnpm run create-empty-steps X # де X є кількістю кроків, як
|
||||
|
||||
**Примітка:** цей скрипт також запускає [update-step-titles](#update-step-titles).
|
||||
|
||||
#### How to Run the Script
|
||||
#### Як запустити скрипт
|
||||
|
||||
1. Перейдіть до каталогу проєкту.
|
||||
2. Виконайте наступну команду:
|
||||
@@ -113,7 +113,7 @@ pnpm run insert-step X # де X є місцем, куди потрібно вс
|
||||
|
||||
**Примітка:** цей скрипт також запускає [update-step-titles](#update-step-titles).
|
||||
|
||||
#### How to Run the Script
|
||||
#### Як запустити скрипт
|
||||
|
||||
1. Перейдіть до каталогу проєкту.
|
||||
2. Виконайте наступну команду:
|
||||
@@ -126,7 +126,7 @@ pnpm run delete-step X # де X є номером кроку, який потр
|
||||
|
||||
Це разовий скрипт, який автоматично оновлює початковий матеріал у файлах розмітки проєкту, щоб вони відповідали meta.json. Він гарантує, що заголовки кроків (та dashedName) відповідають challengeOrder.
|
||||
|
||||
#### How to Run the Script
|
||||
#### Як запустити скрипт
|
||||
|
||||
1. Перейдіть до каталогу проєкту.
|
||||
2. Виконайте наступну команду:
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
# How to Work on Documentation
|
||||
# Як працювати над документацією
|
||||
|
||||
## Work on the Content of the Docs
|
||||
## Робота над вмістом документації
|
||||
|
||||
Щоб працювати над рекомендаціями щодо внеску, ви можете редагувати або додавати файли в каталозі `docs`, [доступному тут](https://github.com/freeCodeCamp/freeCodeCamp/tree/main/docs). Коли ваші зміни об’єднані, вони будуть автоматично доступними на документаційному сайті.
|
||||
|
||||
Подумайте, чи потрібно додавати файл до бічної панелі навігації, коли додаєте новий файл до каталогу `docs`. Зазвичай ми створюємо посилання у файлі [`_sidebar.md`](_sidebar.md) для нових та незалежних посібників. Крім того, ви можете дотримуватись наведених нижче інструкцій для створення внутрішнього посилання для допоміжних посібників.
|
||||
|
||||
### How to Create an Internal Link
|
||||
### Як створити внутрішнє посилання
|
||||
|
||||
Якщо ви хочете створити внутрішнє посилання, націлене на інший розділ рекомендацій щодо внеску, використовуйте цей формат:
|
||||
|
||||
@@ -25,13 +25,13 @@
|
||||
|
||||
Коли ви працюєте над перекладом документації на Crowdin, не забудьте змінити `#target-section-heading-id` на ідентифікацію в перекладеному документі. [Дізнатись більше про переклад документації](how-to-translate-files.md#translate-documentation).
|
||||
|
||||
## Work on the Docs Theme
|
||||
## Робота над темою документації
|
||||
|
||||
> [!NOTE] Коротке нагадування, що вам не потрібно нічого налаштовувати для роботи над вмістом документації.
|
||||
>
|
||||
> Щоб працювати над рекомендаціями щодо внеску, див. [робота над вмістом документації](#work-on-the-docs-content).
|
||||
|
||||
### Structure of the Docs Website
|
||||
### Структура вебсайту документації
|
||||
|
||||
Сайт створений з використанням [`docsify`](https://docsify.js.org) та обслуговується завдяки GitHub Pages.
|
||||
|
||||
@@ -43,11 +43,11 @@
|
||||
- Домашня сторінка генерується з [`_coverpage.md`](_coverpage.md).
|
||||
- Бічна панель навігації генерується з [`_sidebar.md`](_sidebar.md).
|
||||
|
||||
### Serving the Documentation Site Locally
|
||||
### Обслуговування документаційного сайту локально
|
||||
|
||||
Install freeCodeCamp locally ([see the local setup guide](how-to-setup-freecodecamp-locally)), we bundled the CLI with the development tools so you can run the command below as needed from the root of the repo:
|
||||
Налаштуйте freeCodeCamp локально ([див. посібник з локального налаштування](how-to-setup-freecodecamp-locally)). Ми зібрали CLI з інструментами веброзробки, щоб ви могли запустити будь-яку з наведених нижче команд з кореня репозиторію:
|
||||
|
||||
#### Serve and Launch the Documentation Site
|
||||
#### Обслужити та запустити лише документаційний сайт
|
||||
|
||||
```console
|
||||
pnpm run docs:serve
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
|
||||
Як тільки ви повідомите про вразливість, ми розглянемо та впевнимось, що вона не хибно позитивна. Якщо нам необхідно прояснити будь-яку інформацію, то ми зв’яжемося з вами. Ви можете надіслати окремі звіти для кожної знайденої вами проблеми. Зверніть увагу, що ми не можемо відповісти на проблеми, які, на нашу думку, не входять до настанов.
|
||||
|
||||
## Platforms and Codebases
|
||||
## Платформи та кодові бази
|
||||
|
||||
Ось перелік платформ та кодових баз, на які ми приймаємо звіти:
|
||||
|
||||
|
||||
@@ -2,14 +2,14 @@
|
||||
|
||||
Токени користувачів використовуються для ідентифікації користувачів сторонніми сервісами, щоб завдання, виконані з їх використанням, були збережені в обліковому записі користувача.
|
||||
|
||||
## How they are Created
|
||||
## Як їх створюють
|
||||
|
||||
Зараз токени використовуються лише для надсилання завдань над реляційною базою даних. Токен створюється, коли зареєстрований користувач натискає «Натисніть тут, щоб розпочати курс» або «Натисніть тут, щоб розпочати проєкт», щоб розпочати один із курсів чи проєктів реляційної бази даних.
|
||||
|
||||
## When they Get Deleted
|
||||
## Коли їх видаляють
|
||||
|
||||
Токен користувача видаляється, якщо користувач вийде із freeCodeCamp, скине свій прогрес, видалить свій обліковий запис або самостійно видалить токен за допомогою віджета у налаштуваннях.
|
||||
|
||||
## How they Work
|
||||
## Як вони працюють
|
||||
|
||||
Токени зберігаються у колекції `UserToken` у базі даних. Кожен запис має унікальний `_id`, який є токеном та `user_id`, який посилає на обліковий запис користувача із колекції `user`. Токен закодовано за допомогою JWT та відправлено клієнту під час його створення. Потім цей закодований токен надають стороннім сервісам, які потребують його, а коли завдання виконане — відправляють його на наш API. Коли наш API отримує токен, він буде розкодованим, щоб ми могли ідентифікувати користувача та зберегти виконане завдання до його `completedChallenges`.
|
||||
|
||||
Reference in New Issue
Block a user