Deploy website

Deploy website version based on a78f703366
This commit is contained in:
Website Deployment Script 2020-07-24 11:07:34 +00:00
parent e2ecb6de98
commit 18f1f10c1d
238 changed files with 1820 additions and 1646 deletions

View file

@ -1,4 +1,4 @@
<!DOCTYPE html><html lang="pt-BR"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Translations &amp; Localization · Docusaurus</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="O Docusaurus permite que seu site possa ser facilmente traduzido usando o [Crowdin](https://crowdin.com/). Os arquivos de documentação escritos em inglês são enviados ao Crowdin para serem traduzidos por usuários dentro de uma comunidade. Páginas de nível superior escritas em inglês podem ser traduzidas apenas colocando as strings que você quer traduzidas dentro de tags `&lt;translate&gt;`. Outros títulos e rótulos também serão encontrados e traduzidos adequadamente."/><meta name="docsearch:version" content="1.14.4"/><meta name="docsearch:language" content="pt-BR"/><meta property="og:title" content="Translations &amp; Localization · Docusaurus"/><meta property="og:type" content="website"/><meta property="og:url" content="https://docusaurus.io/"/><meta property="og:description" content="O Docusaurus permite que seu site possa ser facilmente traduzido usando o [Crowdin](https://crowdin.com/). Os arquivos de documentação escritos em inglês são enviados ao Crowdin para serem traduzidos por usuários dentro de uma comunidade. Páginas de nível superior escritas em inglês podem ser traduzidas apenas colocando as strings que você quer traduzidas dentro de tags `&lt;translate&gt;`. Outros títulos e rótulos também serão encontrados e traduzidos adequadamente."/><meta property="og:image" content="https://docusaurus.io/img/docusaurus.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://docusaurus.io/img/docusaurus.png"/><link rel="shortcut icon" href="/img/docusaurus.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://docusaurus.io/blog/atom.xml" title="Docusaurus Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://docusaurus.io/blog/feed.xml" title="Docusaurus Blog RSS Feed"/><script>
<!DOCTYPE html><html lang="pt-BR"><head><meta charSet="utf-8"/><meta http-equiv="X-UA-Compatible" content="IE=edge"/><title>Translations &amp; Localization · Docusaurus</title><meta name="viewport" content="width=device-width"/><meta name="generator" content="Docusaurus"/><meta name="description" content="Docusaurus allows for useful translation functionality using [Crowdin](https://crowdin.com/). Os arquivos de documentação escritos em inglês são enviados ao Crowdin para serem traduzidos por usuários dentro de uma comunidade. Páginas de nível superior escritas em inglês podem ser traduzidas apenas colocando as strings que você quer traduzidas dentro de tags `&lt;translate&gt;`. Outros títulos e rótulos também serão encontrados e traduzidos adequadamente."/><meta name="docsearch:version" content="1.14.4"/><meta name="docsearch:language" content="pt-BR"/><meta property="og:title" content="Translations &amp; Localization · Docusaurus"/><meta property="og:type" content="website"/><meta property="og:url" content="https://docusaurus.io/"/><meta property="og:description" content="Docusaurus allows for useful translation functionality using [Crowdin](https://crowdin.com/). Os arquivos de documentação escritos em inglês são enviados ao Crowdin para serem traduzidos por usuários dentro de uma comunidade. Páginas de nível superior escritas em inglês podem ser traduzidas apenas colocando as strings que você quer traduzidas dentro de tags `&lt;translate&gt;`. Outros títulos e rótulos também serão encontrados e traduzidos adequadamente."/><meta property="og:image" content="https://docusaurus.io/img/docusaurus.png"/><meta name="twitter:card" content="summary"/><meta name="twitter:image" content="https://docusaurus.io/img/docusaurus.png"/><link rel="shortcut icon" href="/img/docusaurus.ico"/><link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/1/docsearch.min.css"/><link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.12.0/styles/atom-one-dark.min.css"/><link rel="alternate" type="application/atom+xml" href="https://docusaurus.io/blog/atom.xml" title="Docusaurus Blog ATOM Feed"/><link rel="alternate" type="application/rss+xml" href="https://docusaurus.io/blog/feed.xml" title="Docusaurus Blog RSS Feed"/><script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
@ -80,7 +80,7 @@
};
}
});
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/docusaurus/pt-BR" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Translations &amp; Localization</h1></header><article><div><span><p>O Docusaurus permite que seu site possa ser facilmente traduzido usando o <a href="https://crowdin.com/">Crowdin</a>. Os arquivos de documentação escritos em inglês são enviados ao Crowdin para serem traduzidos por usuários dentro de uma comunidade. Páginas de nível superior escritas em inglês podem ser traduzidas apenas colocando as strings que você quer traduzidas dentro de tags <code>&lt;translate&gt;</code>. Outros títulos e rótulos também serão encontrados e traduzidos adequadamente.</p>
</script></nav></div><div class="container mainContainer docsContainer"><div class="wrapper"><div class="post"><header class="postHeader"><a class="edit-page-link button" href="https://crowdin.com/project/docusaurus/pt-BR" target="_blank" rel="noreferrer noopener">Translate</a><h1 id="__docusaurus" class="postHeaderTitle">Translations &amp; Localization</h1></header><article><div><span><p>Docusaurus allows for useful translation functionality using <a href="https://crowdin.com/">Crowdin</a>. Os arquivos de documentação escritos em inglês são enviados ao Crowdin para serem traduzidos por usuários dentro de uma comunidade. Páginas de nível superior escritas em inglês podem ser traduzidas apenas colocando as strings que você quer traduzidas dentro de tags <code>&lt;translate&gt;</code>. Outros títulos e rótulos também serão encontrados e traduzidos adequadamente.</p>
<h2><a class="anchor" aria-hidden="true" id="configurações-de-tradução-do-docusaurus"></a><a href="#configurações-de-tradução-do-docusaurus" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Configurações de tradução do Docusaurus</h2>
<p>Para gerar arquivos de exemplo de traduções do Docusaurus, execute o script <code>examples</code> na linha de comando, juntamente com o argumento <code>translations</code>:</p>
<pre><code class="hljs css language-bash">npm run examples translations
@ -113,13 +113,13 @@ languages.js
<span class="token keyword">const</span> translate <span class="token operator">=</span> <span class="token function">require</span><span class="token punctuation">(</span><span class="token string">'../../server/translate.js'</span><span class="token punctuation">)</span><span class="token punctuation">.</span>translate<span class="token punctuation">;</span>
<span class="token operator">...</span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h2</span><span class="token punctuation">></span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>translate</span><span class="token punctuation">></span></span><span class="token plain-text">Esse título será traduzido</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>translate</span><span class="token punctuation">></span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>translate</span><span class="token punctuation">></span></span><span class="token plain-text">This header will be translated</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>translate</span><span class="token punctuation">></span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h2</span><span class="token punctuation">></span></span>
<span class="token operator">...</span>
</code></pre>
<p>Você também pode adicionar uma descrição opcional que dê mais contexto aos tradutores sobre como traduzir a string:</p>
<pre><code class="hljs css language-jsx"><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">></span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>translate</span> <span class="token attr-name">desc</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>a peça de roupa, não o verbo<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token plain-text">Saia</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>translate</span><span class="token punctuation">></span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>translate</span> <span class="token attr-name">desc</span><span class="token attr-value"><span class="token punctuation">=</span><span class="token punctuation">"</span>flower, not verb<span class="token punctuation">"</span></span><span class="token punctuation">></span></span><span class="token plain-text">Rose</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>translate</span><span class="token punctuation">></span></span><span class="token plain-text">
</span><span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>p</span><span class="token punctuation">></span></span><span class="token plain-text">
</span></code></pre>
<blockquote>
@ -189,10 +189,10 @@ languages.js
<h3><a class="anchor" aria-hidden="true" id="arquivos-markdown"></a><a href="#arquivos-markdown" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Arquivos Markdown</h3>
<p>No caso dos próprios arquivos da documentação, as versões traduzidas desses arquivos serão baixadas e então renderizadas usando o modelo de layout adequado.</p>
<h3><a class="anchor" aria-hidden="true" id="outras-páginas"></a><a href="#outras-páginas" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Outras páginas</h3>
<p>Para outras páginas, o Docusaurus vai automaticamente transformar todas as tags <code>&lt;translate&gt;</code> que ele encontrar em chamadas de função que vão retornar as strings traduzidas presentes no arquivo traduzido <em><code>locale.json</code></em> correspondente.</p>
<p>For other pages, Docusaurus will automatically transform all <code>&lt;translate&gt;</code> tags it finds into function calls that return the translated strings from the corresponding localized file <em><code>locale.json</code></em>.</p>
<h2><a class="anchor" aria-hidden="true" id="crowdin"></a><a href="#crowdin" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Crowdin</h2>
<p>Crowdin é uma empresa que fornece serviços de tradução. O Crowdin disponibiliza seus serviços gratuitamente para projetos de código aberto.</p>
<p>Crie seu projeto de tradução no <a href="https://crowdin.com/">Crowdin</a>. Você pode seguir os <a href="https://support.crowdin.com/translation-process-overview/">guias do Crowdin</a> para saber mais sobre como funciona o processo de tradução. <em>Sugerimos que você desmarque e não inclua &quot;English&quot; como um idioma traduzível para evitar a criação de arquivos de tradução <code>en-US</code>, já que isso pode levar a confusão.</em></p>
<p>Crie seu projeto de tradução no <a href="https://crowdin.com/">Crowdin</a>. Você pode seguir os <a href="https://support.crowdin.com/translation-process-overview/">guias do Crowdin</a> para saber mais sobre como funciona o processo de tradução. <em>We suggest that you deselect and do not include &quot;English&quot; as a translatable language to prevent the creation of <code>en-US</code> localization files as this can lead to confusion.</em></p>
<blockquote>
<p>Garanta que nas suas configurações do Crowdin, na seção Translations, que a opção &quot;Duplicate Strings&quot; esteja configurada como <a href="https://support.crowdin.com/api/create-project/">&quot;Hide - all duplicates will share the same translation&quot;</a>. Essa configuração irá garantir que strings idênticas entre versões compartilhem uma única tradução.</p>
</blockquote>
@ -208,7 +208,6 @@ languages.js
<span class="hljs-attr">preserve_hierarchy:</span> <span class="hljs-literal">true</span>
<span class="hljs-attr">files:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">source:</span> <span class="hljs-string">'/docs/**/*.md'</span>
<span class="hljs-attr">translation:</span> <span class="hljs-string">'/website/translated_docs/%locale%/**/%original_file_name%'</span>
<span class="hljs-attr">languages_mapping:</span> <span class="hljs-meta">&amp;anchor</span>
@ -239,16 +238,21 @@ CROWDIN_DOCUSAURUS_PROJECT_ID=SEU_ID_DE_PROJETO_CROWDIN CROWDIN_DOCUSAURUS_API_K
</code></pre>
<blockquote>
<p><code>SEU_ID_DE_PROJETO_CROWDIN</code> é o nome do seu projeto no Crowdin. P. ex., no caso de <a href="https://crowdin.com/project/docusaurus/">https://crowdin.com/project/docusaurus/</a>, essa variável teria o valor <code>docusaurus</code>. <code>SUA_CHAVE_DE_API_CROWDIN</code> é uma chave única e exclusiva, semelhante a uma senha. Você pode encontrá-la na aba <code>API</code> da página <code>Settings</code> do seu projeto do Crowdin.</p>
</blockquote>
<blockquote>
<p>Esses comandos exigem que se definam variáveis de ambiente para seu ID de projeto do Crowdin e sua chave de API (<code>CROWDIN_PROJECT_ID</code>, <code>CROWDIN_API_KEY</code>). Você pode defini-las inline, como feito acima, ou adicionar elas permanentemente ao seu <code>.bashrc</code> ou <code>.bash_profile</code>.</p>
</blockquote>
<blockquote>
<p>Caso você gerencie mais de um projeto do Docusaurus com traduções no seu computador, recomendamos mudar o nome das variáveis de ambiente para algo mais único (<code>ID_CROWDIN_NOMEPROJETO</code>, <code>CHAVE_API_CROWDIN_NOMEPROJETO</code>).</p>
</blockquote>
<blockquote>
<p>Já que os arquivos são gerados, não é necessário manter nenhum dos arquivos nos seus diretórios <code>website/i18n</code> ou <code>website/translated_docs</code> como parte do seu repositório. Logo, você pode adicionar <code>website/i18n/*</code> e <code>website/translated_docs</code> ao seu arquivo <code>.gitignore</code>.</p>
</blockquote>
<h3><a class="anchor" aria-hidden="true" id="sincronização-automatizada-usando-o-circleci"></a><a href="#sincronização-automatizada-usando-o-circleci" aria-hidden="true" class="hash-link"><svg class="hash-link-icon" aria-hidden="true" height="16" version="1.1" viewBox="0 0 16 16" width="16"><path fill-rule="evenodd" d="M4 9h1v1H4c-1.5 0-3-1.69-3-3.5S2.55 3 4 3h4c1.45 0 3 1.69 3 3.5 0 1.41-.91 2.72-2 3.25V8.59c.58-.45 1-1.27 1-2.09C10 5.22 8.98 4 8 4H4c-.98 0-2 1.22-2 2.5S3 9 4 9zm9-3h-1v1h1c1 0 2 1.22 2 2.5S13.98 12 13 12H9c-.98 0-2-1.22-2-2.5 0-.83.42-1.64 1-2.09V6.25c-1.09.53-2 1.84-2 3.25C6 11.31 7.55 13 9 13h4c1.45 0 3-1.69 3-3.5S14.5 6 13 6z"></path></svg></a>Sincronização automatizada usando o CircleCI</h3>
<p>Você pode automatizar o download e upload de arquivos e traduções usando o serviço de integração contínua <a href="https://circleci.com">CircleCI</a>.</p>
<p>Primeiro de tudo, atualize o arquivo <code>.circleci/config.yml</code> no diretório do seu projeto para incluir as etapas de upload dos arquivos no idioma original a serem traduzidos e de download dos arquivos traduzidos usando a CLI do Crowdin. Aqui está um arquivo <code>.circleci/config.yml</code> de exemplo:</p>
<pre><code class="hljs css language-yaml"><span class="hljs-comment"># Se você quiser que o Circle entre em ação apenas em commits diretos à master,</span>
<span class="hljs-comment"># você pode descomentar as linhas seguintes e também o filtro `*filter-only-master`</span>
<span class="hljs-comment"># lá embaixo</span>
<pre><code class="hljs css language-yaml"><span class="hljs-comment"># If you only want circle to run on direct commits to master, you can uncomment this out</span>
<span class="hljs-comment"># and uncomment the filters: *filter-only-master down below too</span>
<span class="hljs-comment">#</span>
<span class="hljs-comment"># aliases:</span>
<span class="hljs-comment"># - &amp;filter-only-master</span>
@ -260,37 +264,33 @@ CROWDIN_DOCUSAURUS_PROJECT_ID=SEU_ID_DE_PROJETO_CROWDIN CROWDIN_DOCUSAURUS_API_K
<span class="hljs-attr">jobs:</span>
<span class="hljs-attr">deploy-website:</span>
<span class="hljs-attr">docker:</span>
<span class="hljs-comment"># Especifique aqui a versão desejada</span>
<span class="hljs-comment"># specify the version you desire here</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">image:</span> <span class="hljs-string">circleci/node:8.11.1</span>
<span class="hljs-attr">steps:</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">checkout</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">run:</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">Fazendo</span> <span class="hljs-string">deploy</span> <span class="hljs-literal">no</span> <span class="hljs-string">GitHub</span> <span class="hljs-string">Pages</span>
<span class="hljs-attr">name:</span> <span class="hljs-string">Deploying</span> <span class="hljs-string">to</span> <span class="hljs-string">GitHub</span> <span class="hljs-string">Pages</span>
<span class="hljs-attr">command:</span> <span class="hljs-string">|
git config --global user.email
</span><span class="hljs-string">"&lt;GITHUB_USERNAME&gt;@users.noreply.github.com"</span>
<span class="hljs-string">git</span> <span class="hljs-string">config</span> <span class="hljs-string">--global</span> <span class="hljs-string">user.name</span> <span class="hljs-string">"&lt;YOUR_NAME&gt;"</span>
<span class="hljs-string">echo</span> <span class="hljs-string">"machine github.com login &lt;GITHUB_USERNAME&gt; password $GITHUB_TOKEN"</span> <span class="hljs-string">&gt;</span> <span class="hljs-string">~/.netrc</span>
<span class="hljs-comment"># Instala o Docusaurus e gera o arquivo das strings em inglês</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">cd</span> <span class="hljs-string">website</span> <span class="hljs-string">&amp;&amp;</span> <span class="hljs-string">yarn</span> <span class="hljs-string">install</span> <span class="hljs-string">&amp;&amp;</span> <span class="hljs-string">yarn</span> <span class="hljs-string">run</span> <span class="hljs-string">write-translations</span> <span class="hljs-string">&amp;&amp;</span> <span class="hljs-string">cd</span> <span class="hljs-string">..</span>
<span class="hljs-comment"># Instala o Crowdin</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">sudo</span> <span class="hljs-string">apt-get</span> <span class="hljs-string">install</span> <span class="hljs-string">default-jre</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">wget</span> <span class="hljs-string">https://artifacts.crowdin.com/repo/deb/crowdin.deb</span> <span class="hljs-string">-O</span> <span class="hljs-string">crowdin.deb</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">sudo</span> <span class="hljs-string">dpkg</span> <span class="hljs-string">-i</span> <span class="hljs-string">crowdin.deb</span>
<span class="hljs-comment"># Faz o upload/download das traduções</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">crowdin</span> <span class="hljs-string">--config</span> <span class="hljs-string">crowdin.yaml</span> <span class="hljs-string">upload</span> <span class="hljs-string">sources</span> <span class="hljs-string">--auto-update</span> <span class="hljs-string">-b</span> <span class="hljs-string">master</span>
<span class="hljs-bullet">-</span> <span class="hljs-string">crowdin</span> <span class="hljs-string">--config</span> <span class="hljs-string">crowdin.yaml</span> <span class="hljs-string">download</span> <span class="hljs-string">-b</span> <span class="hljs-string">master</span>
<span class="hljs-comment"># build and publish website</span>
<span class="hljs-string">cd</span> <span class="hljs-string">website</span> <span class="hljs-string">&amp;&amp;</span> <span class="hljs-string">GIT_USER=&lt;GIT_USER&gt;</span> <span class="hljs-string">yarn</span> <span class="hljs-string">run</span> <span class="hljs-string">publish-gh-pages</span>
git config --global user.email "&lt;GITHUB_USERNAME&gt;@users.noreply.github.com"
git config --global user.name "&lt;YOUR_NAME&gt;"
echo "machine github.com login &lt;GITHUB_USERNAME&gt; password $GITHUB_TOKEN" &gt; ~/.netrc
# install Docusaurus and generate file of English strings
- cd website &amp;&amp; yarn install &amp;&amp; yarn run write-translations &amp;&amp; cd ..
# crowdin install
- sudo apt-get install default-jre
- wget https://artifacts.crowdin.com/repo/deb/crowdin.deb -O crowdin.deb
- sudo dpkg -i crowdin.deb
# translations upload/download
- crowdin --config crowdin.yaml upload sources --auto-update -b master
- crowdin --config crowdin.yaml download -b master
# build and publish website
cd website &amp;&amp; GIT_USER=&lt;GIT_USER&gt; yarn run publish-gh-pages
</span>
<span class="hljs-attr">workflows:</span>
<span class="hljs-attr">version:</span> <span class="hljs-number">2</span>
<span class="hljs-attr">build_and_deploy:</span>
<span class="hljs-attr">jobs:</span>
<span class="hljs-bullet">-</span> <span class="hljs-attr">deploy-website:</span>
<span class="hljs-comment"># filters: *filter-only-master</span>
</code></pre>