From db3be7adc3f5207346709feff02265f331aad886 Mon Sep 17 00:00:00 2001 From: "Node.js Crowdin Bot" <148437438+nodejs-crowdin@users.noreply.github.com> Date: Mon, 17 Jun 2024 13:14:33 +0200 Subject: [PATCH] [automated]: crowdin sync - enables Portuguese (#6839) * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: synced translations from crowdin [skip ci] * chore: automated format of translated files Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> * enables portuguese --------- Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: nodejs-crowdin Co-authored-by: Brian Muenzenmeyer --- i18n/config.json | 2 +- i18n/locales/pt.json | 300 +++++++++++++++++++++++++++++++++++++++++++ pages/uk/index.mdx | 137 ++++++++++++++++++++ 3 files changed, 438 insertions(+), 1 deletion(-) create mode 100644 i18n/locales/pt.json create mode 100644 pages/uk/index.mdx diff --git a/i18n/config.json b/i18n/config.json index 2833b633fd924..05083760063b8 100644 --- a/i18n/config.json +++ b/i18n/config.json @@ -206,7 +206,7 @@ "langDir": "ltr", "dateFormat": "MM.DD.YYYY", "hrefLang": "pt", - "enabled": false, + "enabled": true, "default": false }, { diff --git a/i18n/locales/pt.json b/i18n/locales/pt.json new file mode 100644 index 0000000000000..270dc3d320d60 --- /dev/null +++ b/i18n/locales/pt.json @@ -0,0 +1,300 @@ +{ + "components": { + "containers": { + "footer": { + "links": { + "trademarkPolicy": "Política da Marca Comercial", + "privacyPolicy": "Política de Privacidade", + "codeOfConduct": "Código de Conduta", + "security": "Política de Segurança", + "openJS": "Fundação OpenJS" + } + }, + "navBar": { + "links": { + "about": "Sobre", + "download": "Descarregar", + "docs": "Documentação", + "guides": "Guias", + "learn": "Aprender", + "security": "Segurança", + "certification": "Certificação", + "blog": "Blogue" + } + } + }, + "navigation": { + "learn": { + "gettingStarted": { + "links": { + "gettingStarted": "Começar", + "introductionToNodejs": "Introdução ao Node.js", + "howToInstallNodejs": "Como instalar o Node.js", + "howMuchJavascriptDoYouNeedToKnowToUseNodejs": "Quanto JavaScript precisas de saber para usar o Node.js?", + "differencesBetweenNodejsAndTheBrowser": "Diferenças entre o Node.js e o Navegador", + "theV8JavascriptEngine": "O Motor de JavaScript V8", + "anIntroductionToTheNpmPackageManager": "Introdução ao gestor de pacotes npm", + "ecmascript2015Es6AndBeyond": "ECMAScript 2015 (ES6) e além", + "nodejsTheDifferenceBetweenDevelopmentAndProduction": "Node.js, a diferença entre o desenvolvimento e a produção", + "nodejsWithTypescript": "Node.js com TypeScript", + "nodejsWithWebassembly": "Node.js com WebAssembly", + "debugging": "Depuração da Node.js", + "profiling": "Definição de Perfis de Aplicações de Node.js", + "securityBestPractices": "Boas Práticas de Segurança" + } + }, + "asynchronousWork": { + "links": { + "asynchronousWork": "Trabalho Assíncrono", + "asynchronousFlowControl": "Controlo do Fluxo Assíncrono", + "overviewOfBlockingVsNonBlocking": "Visão Geral de Bloqueante vs Não Bloqueante", + "javascriptAsynchronousProgrammingAndCallbacks": "Programação Assíncrona de JavaScript e Funções de Resposta", + "discoverJavascriptTimers": "Descobrir os Temporizadores da JavaScript", + "eventLoopTimersAndNexttick": "O Ciclo de Evento da Node.js", + "theNodejsEventEmitter": "O Emissor de Evento da Node.js", + "understandingProcessnexttick": "Entendendo o process.nextTick()", + "understandingSetimmediate": "Entendendo o setImmediate()", + "dontBlockTheEventLoop": "Não Bloqueie o Ciclo de Eventos" + } + }, + "manipulatingFiles": { + "links": { + "manipulatingFiles": "Manipulando Ficheiros", + "nodejsFileStats": "Estatísticas de Ficheiro da Node.js", + "nodejsFilePaths": "Caminhos de Ficheiros no Node.js", + "workingWithFileDescriptorsInNodejs": "Trabalhar com os Descritores de Ficheiro na Node.js", + "readingFilesWithNodejs": "Ler Ficheiros com a Node.js", + "writingFilesWithNodejs": "Escrever Ficheiros com a Node.js", + "workingWithFoldersInNodejs": "Trabalhando com pastas no Node.js", + "workingWithDifferentFilesystems": "Como trabalhar com diferentes Sistemas de Ficheiros" + } + }, + "commandLine": { + "links": { + "commandLine": "Linha de Comando", + "runNodejsScriptsFromTheCommandLine": "Execute scripts de Node.js através da linha de comandos", + "howToReadEnvironmentVariablesFromNodejs": "Como Ler Variáveis de Ambiente no Node.js", + "howToUseTheNodejsRepl": "Como Usar o REPL do Node.js", + "outputToTheCommandLineUsingNodejs": "Saída para a linha de comando usando o Node.js", + "acceptInputFromTheCommandLineInNodejs": "Aceitar entrada na linha de comando no Node.js" + } + }, + "modules": { + "links": { + "modules": "Módulos", + "publishingNodeApiModules": "Como publicar um pacote da Node-API", + "anatomyOfAnHttpTransaction": "Anatomia de uma Transação do Protocolo de Hipertexto", + "abiStability": "Estabilidade da Interface Binária da Aplicação", + "backpressuringInStreams": "Contrapressão nas Correntes de Dados" + } + }, + "diagnostics": { + "links": { + "diagnostics": "Diagnósticos", + "userJourney": "Jornada do Utilizador", + "memory": "Memória", + "liveDebugging": "Depuração em Direto", + "poorPerformance": "Desempenho Deficiente", + "flameGraphs": "Gráficos de Chamas" + } + }, + "testRunner": { + "links": { + "testRunner": "Executor de Teste", + "introduction": "Descobrir o executor de teste da Node.js", + "usingTestRunner": "Usar o executor de teste da Node.js" + } + } + }, + "about": { + "links": { + "about": "Sobre a Node.js", + "aboutSide": "Sobre a Node.js®", + "branding": "Marca da Node.js", + "governance": "Gestão do Projeto", + "releases": "Lançamentos da Node.js", + "security": "Relatórios de Segurança" + } + }, + "getInvolved": { + "links": { + "getInvolved": "Participar", + "collabSummit": "Cimeira de Colaboração", + "upcomingEvents": "Próximos Eventos", + "contribute": "Colaborar com a Node.js", + "codeOfConduct": "Código de Conduta" + } + } + }, + "downloadList": { + "links": { + "previousReleases": "Lançamentos da Node.js", + "packageManager": "Instalar a Node.js através do gestor de pacote", + "shaSums": { + "title": "SHASUMS assinados para ficheiros de lançamento", + "howToVerify": " (Como verificar)" + }, + "allDownloads": "Todas as opções de descarga", + "nightlyReleases": "Compilações noturnas", + "unofficialBuilds": "Compilações não oficiais", + "buildingFromSource": "Compilar a Node.js a partir do código fonte nas plataformas suportadas", + "installingOnLinux": "Instalar a Node.js através do arquivo binário", + "installingOnWsl": "Instalar no Subsistema de Windows para Linux (WSL)" + } + }, + "downloadReleasesTable": { + "changelog": "Registo de Alterações", + "releases": "Lançamentos", + "docs": "Documentação" + }, + "pagination": { + "next": "Próxima", + "previous": "Anterior" + }, + "common": { + "breadcrumbs": { + "navigateToHome": "Navegar para a Página Inicial" + }, + "crossLink": { + "previous": "Anterior", + "next": "Próximo" + }, + "codebox": { + "copy": "Copiar para a área de transferência", + "copied": "Copiado para a área de transferência!" + }, + "pagination": { + "prev": "Anterior", + "prevAriaLabel": "Página anterior", + "next": "Próximo", + "nextAriaLabel": "Próxima página", + "defaultLabel": "Paginação", + "pageLabel": "Ir para a página {pageNumber}" + }, + "sidebar": { + "title": "Mudar de página" + }, + "languageDropdown": { + "label": "Selecionar o idioma" + }, + "themeToggle": { + "label": "Alternar Modo Escuro" + } + }, + "mdx": { + "upcomingEvents": { + "defaultTitle": "Nenhum Evento Próximo" + } + }, + "metabar": { + "lastUpdated": "Última Atualização", + "readingTime": "Duração da Leitura", + "addedIn": "Adicionado Em", + "author": "Autor(a)", + "authors": "Autores", + "contribute": "Colaborar", + "contributeText": "Editar esta página", + "viewAs": "Ver como", + "tableOfContents": "Índice" + }, + "downloads": { + "changelogModal": { + "startContributing": "Começar a Colaborar" + } + }, + "search": { + "searchBox": { + "placeholder": "Começar a digitar..." + }, + "seeAll": { + "text": "Ver todos os {count} resultados" + }, + "searchError": { + "text": "Ocorreu um erro durante a pesquisa. Por favor, tente novamente mais tarde." + }, + "poweredBy": { + "text": "Com o apoio de" + }, + "noResults": { + "text": "Não foram encontrados resultados para \"{query}\"." + }, + "emptyState": { + "text": "Procure algo..." + }, + "searchPage": { + "title": "Estás a pesquisar: {query}" + } + }, + "blog": { + "blogHeader": { + "subtitle": "As últimas notícias, estudos de caso, tutoriais e recursos da Node.js.", + "rssLink": "RSS feed" + } + } + }, + "layouts": { + "blogPost": { + "author": { + "byLine": "{author, select, null {} other {Por {author}, }}" + } + }, + "blogIndex": { + "categoryName": "{category, select, all {Blog} other {Publicações do Blogue {category}}}" + }, + "blog": { + "title": "Blogue", + "selectCategory": "Categorias", + "categories": { + "all": "Tudo", + "announcements": "Anúncios", + "release": "Lançamentos", + "vulnerability": "Vulnerabilidades", + "advisory-board": "Conselho Consultivo", + "community": "Comunidade", + "feature": "Funcionalidade", + "module": "Módulo", + "npm": "npm", + "uncategorized": "Sem categoria", + "video": "Vídeo", + "weekly": "Atualizações Semanais", + "wg": "Grupos de Trabalho", + "events": "Eventos" + } + }, + "error": { + "notFound": { + "title": "Não foi possível encontrar a página", + "description": "Lamentamos, mas não conseguimos encontrar a página que procuravas! Tente começar de novo a partir da página inicial." + }, + "internalServerError": { + "title": "Erro Interno do Servidor", + "description": "Esta página registou um erro irrecuperável." + }, + "backToHome": "Voltar à Página Inicial" + }, + "download": { + "selectCategory": "Categorias", + "categories": { + "prebuilt-installer": "Instalador do Pré-compilado", + "prebuilt-binaries": "Binários Pré-compilados", + "package-manager": "Gestor de Pacote", + "source-code": "Código Fonte" + }, + "buttons": { + "prebuilt": "Descarregue o Node.js {version}", + "source": "Descarregue o código fonte do Node.js {version}" + }, + "dropdown": { + "bitness": "Quantidade dos Bits", + "os": "Sistema Operativo", + "version": "Versão", + "platform": "Plataforma" + }, + "codeBox": { + "systemManagerWarning": "não é um gestor de pacote da Node.js. Devemos certificar-nos de que já temos {packageManager} instalado.", + "communityWarning": "Os gestores de pacotes e os seus programas de instalação não são mantidos pelo projeto Node.js.", + "communityWarningReport": "Se encontrarmos problemas, devemos dirigir-nos aos responsáveis do gestor de pacote." + } + } + } +} diff --git a/pages/uk/index.mdx b/pages/uk/index.mdx new file mode 100644 index 0000000000000..54ed7fa6bfc26 --- /dev/null +++ b/pages/uk/index.mdx @@ -0,0 +1,137 @@ +--- +title: Запускайте JavaScript будь-де +layout: home +--- + +
+ + +
+

Запускайте JavaScript будь-де

+ +Node.js® — це безплатне, кросплатформне середовище виконання JavaScript із відкритим кодом, яке дозволяє розробникам створювати сервери, вебзастосунки, інструменти командного рядка та скрипти. + +
+ +
+ + {({ release }) => ( + <> + Завантажити Node.js (LTS) + + Завантажує Node.js {release.versionWithPrefix} + 1 із довгостроковою підтримкою. + Також, Node.js можна встановити за допомогоюменеджерів пакетів. + + + )} + + + + {({ release }) => ( + + Хочете отримати нові функції швидше? + Завантажте Node.js {release.versionWithPrefix} + 1. + + )} + +
+
+ +
+
+ ```js displayName="Create an HTTP Server" + // server.mjs + import { createServer } from 'node:http'; + +const server = createServer((req, res) => { +res.writeHead(200, { 'Content-Type': 'text/plain' }); +res.end('Hello World!\n'); +}); + +// starts a simple http server locally on port 3000 +server.listen(3000, '127.0.0.1', () => { +console.log('Listening on 127.0.0.1:3000'); +}); + +// run with `node server.mjs` + +```` + +```js displayName="Write Tests" +// tests.mjs +import assert from 'node:assert'; +import test from 'node:test'; + +test('that 1 is equal 1', () => { + assert.strictEqual(1, 1); +}); + +test('that throws as 1 is not equal 2', () => { + // throws an exception because 1 != 2 + assert.strictEqual(1, 2); +}); + +// run with `node tests.mjs` +```` + +```js displayName="Read and Hash a File" +// crypto.mjs +import { createHash } from 'node:crypto'; +import { readFile } from 'node:fs/promises'; + +const hasher = createHash('sha1'); + +hasher.setEncoding('hex'); +// ensure you have a `package.json` file for this test! +hasher.write(await readFile('package.json')); +hasher.end(); + +const fileHash = hasher.read(); + +// run with `node crypto.mjs` +``` + +```js displayName="Streams Pipeline" +// streams.mjs +import { pipeline } from 'node:stream/promises'; +import { createReadStream, createWriteStream } from 'node:fs'; +import { createGzip } from 'node:zlib'; + +// ensure you have a `package.json` file for this test! +await pipeline( + createReadStream('package.json'), + createGzip(), + createWriteStream('package.json.gz') +); + +// run with `node streams.mjs` +``` + +```js displayName="Work with Threads" +// threads.mjs +import { + Worker, + isMainThread, + workerData, + parentPort, +} from 'node:worker_threads'; + +if (isMainThread) { + const data = 'some data'; + const worker = new Worker(import.meta.filename, { workerData: data }); + worker.on('message', msg => console.log('Reply from Thread:', msg)); +} else { + const source = workerData; + parentPort.postMessage(btoa(source.toUpperCase())); +} + +// run with `node threads.mjs` +``` + +
+ +Дізнайтеся більше про можливості Node.js [із нашими навчальними матеріалами](/learn). + +