Skip to content
This repository was archived by the owner on Mar 24, 2026. It is now read-only.

Commit 76045eb

Browse files
committed
docs: standardize entire repository to universal English
- Translate README, CONTRIBUTING, CODE_OF_CONDUCT, SECURITY and CHANGELOG - Update docs/architecture.md and cspell.json - Translate CLI output strings in cmd/main.go
1 parent 9a015c4 commit 76045eb

8 files changed

Lines changed: 532 additions & 703 deletions

File tree

CHANGELOG.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,25 @@
11
# Changelog
22

3-
Todas as mudanças notáveis neste projeto serão documentadas neste arquivo.
3+
All notable changes to this project will be documented in this file.
44

5-
O formato é baseado em [Keep a Changelog](https://keepachangelog.com/pt-BR/1.1.0/),
6-
e este projeto segue [Versionamento Semântico](https://semver.org/lang/pt-BR/spec/v2.0.0.html).
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

88
## [1.0.0] - 2026-03-12
99

1010
### Added
11-
- Implementação inicial do `CSVToJSONProcessor` com Worker Pool.
12-
- Camada de Transformação (Middleware) com filtros de Email, Role e Masking.
13-
- Sistema de métricas atômicas para acompanhamento de progresso.
14-
- Suíte de Benchmarks comparando performance sequencial vs paralela.
15-
- Automação via `Makefile` (build, test, bench, generate-data).
16-
- Documentação profissional completa (Godoc, README, CONTRIBUTING, etc.).
11+
- Initial implementation of `CSVToJSONProcessor` with Worker Pool.
12+
- Transformation layer (Middleware) with Email, Role, and Masking filters.
13+
- Atomic metrics system for progress tracking.
14+
- Benchmark suite comparing sequential vs. parallel performance.
15+
- Automation via `Makefile` (build, test, bench, generate-data).
16+
- Full professional documentation (Godoc, README, CONTRIBUTING, etc.).
1717

1818
### Changed
19-
- Refatoração da lógica de processamento para maior resiliência a erros de linha.
19+
- Refactored processing logic for better resilience against line errors.
2020

2121
### Fixed
22-
- Avisos de linting e ortografia reportados pelo CSpell e gopls.
22+
- Linting and spelling warnings reported by CSpell and gopls.
2323

2424
---
2525
[1.0.0]: https://github.com/ESousa97/go-file-processor/releases/tag/v1.0.0

CODE_OF_CONDUCT.md

Lines changed: 27 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,47 @@
1-
# Contrato de Código de Conduta do Colaborador
1+
# Contributor Covenant Code of Conduct
22

3-
## Nosso Compromisso
3+
## Our Pledge
44

5-
No interesse de promover um ambiente aberto e acolhedor, nós, como colaboradores e mantenedores, nos comprometemos a tornar a participação em nosso projeto e em nossa comunidade uma experiência livre de assédio para todos, independentemente da aparência pessoal, ascendência, idade, cor, deficiência, etnia, características familiares, identidade e expressão de gênero, nível de experiência, nacionalidade, estado civil, orientação sexual, raça, religião ou qualquer outra característica protegida por lei.
5+
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
66

7-
## Nossos Padrões
7+
## Our Standards
88

9-
Exemplos de comportamento que contribuem para criar um ambiente positivo incluem:
9+
Examples of behavior that contributes to creating a positive environment include:
1010

11-
* Usar linguagem acolhedora e inclusiva
12-
* Respeitar pontos de vista e experiências diferentes
13-
* Aceitar críticas construtivas graciosamente
14-
* Focar no que é melhor para a comunidade
15-
* Mostrar empatia para com outros membros da comunidade
11+
* Using welcoming and inclusive language
12+
* Being respectful of differing viewpoints and experiences
13+
* Gracefully accepting constructive criticism
14+
* Focusing on what is best for the community
15+
* Showing empathy towards other community members
1616

17-
Exemplos de comportamento inaceitável pelos participantes incluem:
17+
Examples of unacceptable behavior by participants include:
1818

19-
* O uso de linguagem ou imagens sexuais e atenção sexual indesejada
20-
* Comentários insultuosos ou depreciativos (trolling) e ataques pessoais ou políticos
21-
* Assédio público ou privado
22-
* Publicar informações privadas de terceiros, como um endereço físico ou eletrônico, sem permissão explícita
23-
* Outra conduta que possa ser razoavelmente considerada inadequada em um ambiente profissional
19+
* The use of sexualized language or imagery and unwelcome sexual attention or advances
20+
* Trolling, insulting/derogatory comments, and personal or political attacks
21+
* Public or private harassment
22+
* Publishing others' private information, such as a physical or electronic address, without explicit permission
23+
* Other conduct which could reasonably be considered inappropriate in a professional setting
2424

25-
## Nossas Responsabilidades
25+
## Our Responsibilities
2626

27-
Os mantenedores do projeto são responsáveis por esclarecer os padrões de comportamento aceitável e devem tomar medidas corretivas apropriadas e justas em resposta a quaisquer instâncias de comportamento inaceitável.
27+
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
2828

29-
Os mantenedores do projeto têm o direito e a responsabilidade de remover, editar ou rejeitar comentários, commits, código, edições de wiki, issues e outras contribuições que não estejam alinhadas a este Código de Conduta, ou de banir temporária ou permanentemente qualquer colaborador por outros comportamentos que considerem inadequados, ameaçadores, ofensivos ou prejudiciais.
29+
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
3030

31-
## Escopo
31+
## Scope
3232

33-
Este Código de Conduta aplica-se tanto dentro dos espaços do projeto quanto em espaços públicos quando um indivíduo está representando o projeto ou sua comunidade. Exemplos de representação de um projeto ou comunidade incluem o uso de um endereço de e-mail oficial do projeto, postagem por meio de uma conta oficial de mídia social ou atuação como representante nomeado em um evento online ou offline. A representação de um projeto pode ser definida e esclarecida pelos mantenedores do projeto.
33+
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as a nominated representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
3434

35-
## Execução
35+
## Enforcement
3636

37-
Casos de comportamento abusivo, de assédio ou inaceitável podem ser relatados entrando em contato com a equipe do projeto em [enoquesousa@exemplo.com]. Todas as queixas serão revisadas e investigadas e resultarão em uma resposta que será considerada necessária e apropriada às circunstâncias. A equipe do projeto é obrigada a manter a confidencialidade em relação ao relator de um incidente. Mais detalhes sobre políticas de execução específicas podem ser postados separadamente.
37+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at [enoquesousa@example.com]. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
3838

39-
Os mantenedores do projeto que não seguirem ou não aplicarem o Código de Conduta de boa fé podem enfrentar repercussões temporárias ou permanentes, conforme determinado por outros membros da liderança do projeto.
39+
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
4040

41-
## Atribuição
41+
## Attribution
4242

43-
Este Código de Conduta é adaptado do [Contributor Covenant][homepage], versão 2.1, disponível em https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
43+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
4444

45-
Para respostas a perguntas comuns sobre este código de conduta, consulte https://www.contributor-covenant.org/faq.
45+
For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq.
4646

4747
[homepage]: https://www.contributor-covenant.org

CONTRIBUTING.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
1-
# Contribuindo para o Go File Processor
1+
# Contributing to Go File Processor
22

3-
Obrigado por seu interesse em contribuir! Este projeto segue padrões rigorosos de qualidade e concorrência em Go.
3+
Thank you for your interest in contributing! This project follows rigorous standards for quality and concurrency in Go.
44

5-
## Setup de Desenvolvimento
5+
## Development Setup
66

7-
1. **Requisitos**: Go 1.22+ e `make`.
7+
1. **Requirements**: Go 1.22+ and `make`.
88
2. **Clone**: `git clone https://github.com/ESousa97/go-file-processor.git`.
9-
3. **Testes**: Use `make test` para garantir que tudo está ok.
9+
3. **Tests**: Use `make test` to ensure everything is OK.
1010

11-
## Convenções de Código
11+
## Code Conventions
1212

13-
- Siga o [Effective Go](https://golang.org/doc/effective_go.html).
14-
- Rode `go fmt` antes de cada commit.
15-
- Todos os itens exportados devem ter Godoc comments profissional em Português.
16-
- Mantenha a modularização extrema: cada arquivo com uma responsabilidade única.
13+
- Follow [Effective Go](https://golang.org/doc/effective_go.html).
14+
- Run `go fmt` before each commit.
15+
- All exported items must have professional Godoc comments in English.
16+
- Maintain extreme modularization: each file with a single responsibility.
1717

18-
## Processo de Pull Request
18+
## Pull Request Process
1919

20-
1. Crie uma branch descritiva (`feature/`, `fix/`, `perf/`).
21-
2. Garanta que os benchmarks não regrediram via `make bench`.
22-
3. Atualize o `CHANGELOG.md` na seção `[Unreleased]`.
23-
4. Solicite revisão de código.
20+
1. Create a descriptive branch (`feature/`, `fix/`, `perf/`).
21+
2. Ensure benchmarks haven't regressed via `make bench`.
22+
3. Update `CHANGELOG.md` in the `[Unreleased]` section.
23+
4. Request a code review.
2424

25-
## Áreas de Contribuição
25+
## Areas for Contribution
2626

27-
- Suporte a novos formatos (XML, Avro).
28-
- Otimização do Consumer para reduzir ainda mais o overhead de serialização.
29-
- Melhorias na CLI (ex: progress bar mais detalhada).
27+
- Support for new formats (XML, Avro).
28+
- Consumer optimization to further reduce serialization overhead.
29+
- CLI improvements (e.g., more detailed progress bar).

README.md

Lines changed: 54 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div align="center">
22
<h1>Go File Processor</h1>
3-
<p>Processamento paralelo e resiliente de arquivos massivos com Worker Pool em Go.</p>
3+
<p>Parallel and resilient processing of massive files with Worker Pool in Go.</p>
44

55
<img src="assets/github-go.png" alt="Go File Processor Banner" width="600px">
66

@@ -18,28 +18,28 @@
1818

1919
---
2020

21-
O **Go File Processor** é uma ferramenta de linha de comando e biblioteca de alto desempenho projetada para converter arquivos CSV massivos (milhões de registros) em JSON estruturado de forma eficiente. Utilizando o padrão Worker Pool e processamento via canais (channels), garante o uso otimizado de CPU e memória constante, independentemente do tamanho do arquivo de entrada.
21+
**Go File Processor** is a high-performance command-line tool and library designed to efficiently convert massive CSV files (millions of records) into structured JSON. Using the Worker Pool pattern and channel-based processing, it ensures optimized CPU usage and constant memory consumption, regardless of the input file size.
2222

23-
## Demonstração
23+
## Demonstration
2424

25-
### Como Biblioteca
25+
### As a Library
2626

27-
Adicione transformadores e configure o pool de execução de forma fluida:
27+
Add transformers and configure the execution pool fluently:
2828

2929
```go
3030
proc := processor.NewCSVToJSONProcessor()
3131
config := processor.Config{WorkerCount: 8}
3232

33-
// Adicione transformadores (Chain of Responsibility)
33+
// Add transformers (Chain of Responsibility)
3434
config.AddTransformer(processor.EmailFilter(`@company.com$`))
3535
config.AddTransformer(processor.FieldMasker("email"))
3636

3737
metrics, err := proc.Process("input.csv", "output.json", config)
3838
```
3939

40-
### Como CLI
40+
### As a CLI
4141

42-
Execute processamentos massivos com métricas em tempo real:
42+
Run massive processing with real-time metrics:
4343

4444
```bash
4545
./fileproc -input data.csv -output data.json -workers 4
@@ -48,42 +48,42 @@ Execute processamentos massivos com métricas em tempo real:
4848
Output:
4949

5050
```text
51-
[INFO] Iniciando processamento...
52-
[INFO] Progresso: 100000 linhas processadas
53-
[RESUMO] EXECUÇÃO CONCLUÍDA EM 1.2s
54-
- Total de linhas lidas: 100000
55-
- Processadas com sucesso: 98500
56-
- Erros/Ignoradas: 1500
51+
[INFO] Starting processing...
52+
[INFO] Progress: 100000 rows processed
53+
[SUMMARY] EXECUTION COMPLETED IN 1.2s
54+
- Total lines read: 100000
55+
- Successfully processed: 98500
56+
- Errors/Ignored: 1500
5757
```
5858

59-
## Stack Tecnológico
59+
## Tech Stack
6060

61-
| Tecnologia | Papel |
61+
| Technology | Role |
6262
| ------------------- | ------------------------------------------------------------------- |
63-
| **Go 1.22+** | Linguagem principal com concorrência nativa de alta performance |
64-
| **Worker Pool** | Gerenciamento de paralelismo e controle de carga |
65-
| **slog** | Structured logging para observabilidade e rastreabilidade |
66-
| **Atomic Counters** | Coleta de métricas de alta performance sem contenção (lock-free) |
67-
| **Channels** | Comunicação segura e desacoplada entre Producer, Workers e Consumer |
63+
| **Go 1.22+** | Core language with high-performance native concurrency |
64+
| **Worker Pool** | Parallelism management and load control |
65+
| **slog** | Structured logging for observability and traceability |
66+
| **Atomic Counters** | High-performance metrics collection without contention (lock-free) |
67+
| **Channels** | Secure and decoupled communication between Producer, Workers, and Consumer |
6868

69-
## Pré-requisitos
69+
## Prerequisites
7070

7171
- **Go >= 1.22**
72-
- **Make** (para automação de build e benchmarks)
72+
- **Make** (for build automation and benchmarks)
7373

74-
## Instalação e Uso
74+
## Installation and Usage
7575

76-
### A partir do source
76+
### From Source
7777

7878
```bash
7979
git clone https://github.com/ESousa97/go-file-processor.git
8080
cd go-file-processor
8181
make build
8282
```
8383

84-
### Geração de Dados e Benchmark
84+
### Data Generation and Benchmark
8585

86-
Para validar a performance com arquivos de 100k+ linhas:
86+
To validate performance with 100k+ row files:
8787

8888
```bash
8989
make generate-data
@@ -92,17 +92,17 @@ make bench
9292

9393
## Makefile Targets
9494

95-
| Target | Descrição |
95+
| Target | Description |
9696
| -------------------- | --------------------------------------------------------- |
97-
| `make build` | Compila o binário `fileproc` na raiz do projeto |
98-
| `make test` | Executa a suíte de testes unitários |
99-
| `make bench` | Roda comparativos de performance (Sequencial vs Paralelo) |
100-
| `make generate-data` | Gera arquivo de teste massivo (100.000 registros) |
101-
| `make clean` | Remove binários e arquivos temporários |
97+
| `make build` | Compiles the `fileproc` binary at the project root |
98+
| `make test` | Runs the unit test suite |
99+
| `make bench` | Runs performance comparisons (Sequential vs Parallel) |
100+
| `make generate-data` | Generates a massive test file (100,000 records) |
101+
| `make clean` | Removes binaries and temporary files |
102102

103-
## Arquitetura
103+
## Architecture
104104

105-
O projeto utiliza um modelo de streaming baseado em canais para processar dados sem carregar o arquivo inteiro na memória.
105+
The project uses a channel-based streaming model to process data without loading the entire file into memory.
106106

107107
```mermaid
108108
graph LR
@@ -125,47 +125,47 @@ graph LR
125125

126126
## API Reference
127127

128-
Documentação técnica detalhada disponível em [pkg.go.dev/github.com/ESousa97/go-file-processor](https://pkg.go.dev/github.com/ESousa97/go-file-processor).
128+
Detailed technical documentation available at [pkg.go.dev/github.com/ESousa97/go-file-processor](https://pkg.go.dev/github.com/ESousa97/go-file-processor).
129129

130-
## Configuração (CLI Flags)
130+
## Configuration (CLI Flags)
131131

132-
| Flag | Descrição | Tipo | Padrão |
132+
| Flag | Description | Type | Default |
133133
| ---------- | --------------------------------- | -------- | ------------- |
134-
| `-input` | Caminho do arquivo CSV de entrada | `string` | `input.csv` |
135-
| `-output` | Caminho do arquivo JSON de saída | `string` | `output.json` |
136-
| `-workers` | Número de workers simultâneos | `int` | `4` |
134+
| `-input` | Input CSV file path | `string` | `input.csv` |
135+
| `-output` | Output JSON file path | `string` | `output.json` |
136+
| `-workers` | Number of concurrent workers | `int` | `4` |
137137

138138
## Roadmap
139139

140-
Acompanhe as etapas de evolução do projeto:
140+
Follow the project's evolution stages:
141141

142-
- [x] **Fase 1: Fundação**Implementação do Worker Pool e streaming core.
143-
- [x] **Fase 2: Transformação**Camada de Middleware (Chain of Responsibility).
144-
- [x] **Fase 3: Observabilidade**Métricas atômicas e logs estruturados (`slog`).
145-
- [x] **Fase 4: Governança** — CI/CD, Documentação profissional e Badges.
142+
- [x] **Phase 1: Foundation** — Worker Pool and streaming core implementation.
143+
- [x] **Phase 2: Transformation** — Middleware layer (Chain of Responsibility).
144+
- [x] **Phase 3: Observability**Atomic metrics and structured logs (`slog`).
145+
- [x] **Phase 4: Governance** — CI/CD, Professional documentation, and Badges.
146146

147-
## Contribuindo
147+
## Contributing
148148

149-
Interessado em colaborar? Veja nosso [CONTRIBUTING.md](CONTRIBUTING.md) para padrões de código e processo de PR.
149+
Interested in collaborating? Check our [CONTRIBUTING.md](CONTRIBUTING.md) for code standards and PR process.
150150

151-
## Licença
151+
## License
152152

153-
Este projeto está licenciado sob a **MIT License**veja o arquivo [LICENSE](LICENSE) para detalhes.
153+
This project is licensed under the **MIT License**see the [LICENSE](LICENSE) file for details.
154154

155155
<div align="center">
156156

157-
## Autor
157+
## Author
158158

159159
**Enoque Sousa**
160160

161161
[![LinkedIn](https://img.shields.io/badge/LinkedIn-0077B5?style=flat&logo=linkedin&logoColor=white)](https://www.linkedin.com/in/enoque-sousa-bb89aa168/)
162162
[![GitHub](https://img.shields.io/badge/GitHub-100000?style=flat&logo=github&logoColor=white)](https://github.com/ESousa97)
163163
[![Portfolio](https://img.shields.io/badge/Portfolio-FF5722?style=flat&logo=target&logoColor=white)](https://enoquesousa.vercel.app)
164164

165-
**[Voltar ao topo](#go-file-processor)**
165+
**[Back to top](#go-file-processor)**
166166

167-
Feito com ❤️ por [Enoque Sousa](https://github.com/ESousa97)
167+
Made with ❤️ by [Enoque Sousa](https://github.com/ESousa97)
168168

169-
**Status do Projeto:** AtivoEm constante atualização
169+
**Project Status:** ActiveConstantly updated
170170

171171
</div>

0 commit comments

Comments
 (0)