@scopeact/autoi18n 1.0.3 → 1.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -0
- package/package.json +5 -1
package/README.md
ADDED
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
# @scopeact/autoi18n
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/@scopeact/autoi18n)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
5
|
+
|
|
6
|
+
**Pare de criar chaves de tradução manualmente. Deixe a IA fazer o trabalho pesado.**
|
|
7
|
+
|
|
8
|
+
O `@scopeact/autoi18n` é uma CLI poderosa que automatiza todo o fluxo de internacionalização (i18n) do seu projeto React/TypeScript. Ele usa Inteligência Artificial para escanear seu código, extrair textos, gerar chaves semânticas e traduzir tudo automaticamente.
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## ✨ Funcionalidades
|
|
13
|
+
|
|
14
|
+
- **Extração via AST:** Usa `ts-morph` para analisar seu código de forma segura (não usa Regex instável).
|
|
15
|
+
- **Chaves Inteligentes:** Em vez de `text_1`, a IA gera chaves como `button_save_changes` baseadas no contexto.
|
|
16
|
+
- **Substituição Automática:** Troca `<div>Olá</div>` por `<div>{t('greeting_hello')}</div>` no seu arquivo original.
|
|
17
|
+
- **Multi-Provider:** Suporte para OpenAI (GPT-4o), Google Gemini, DeepSeek, OpenRouter e Ollama (local).
|
|
18
|
+
- **Tradução em Lote:** Gera arquivos JSON para múltiplos idiomas de uma só vez.
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## 🚀 Início Rápido
|
|
23
|
+
|
|
24
|
+
### 1. Inicialize o projeto
|
|
25
|
+
Na raiz do seu projeto (onde está o `package.json`), execute:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
npx @scopeact/autoi18n init
|
|
29
|
+
```
|
|
30
|
+
Isso criará um arquivo `autoi18n.config.json` com as configurações padrão.
|
|
31
|
+
|
|
32
|
+
### 2. Configure suas chaves de API
|
|
33
|
+
Crie ou edite seu arquivo `.env` e adicione a chave do provedor que deseja usar:
|
|
34
|
+
|
|
35
|
+
```env
|
|
36
|
+
OPENAI_API_KEY=sua_chave_aqui
|
|
37
|
+
# OU
|
|
38
|
+
GOOGLE_API_KEY=sua_chave_aqui
|
|
39
|
+
# OU
|
|
40
|
+
DEEPSEEK_API_KEY=sua_chave_aqui
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 3. Execute a automação
|
|
44
|
+
Agora, basta rodar o comando para processar seus arquivos:
|
|
45
|
+
|
|
46
|
+
```bash
|
|
47
|
+
npx @scopeact/autoi18n run
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
## ⚙️ Configuração (`autoi18n.config.json`)
|
|
53
|
+
|
|
54
|
+
```json
|
|
55
|
+
{
|
|
56
|
+
"sourceLang": "pt",
|
|
57
|
+
"targetLangs": ["en", "es"],
|
|
58
|
+
"provider": "openai",
|
|
59
|
+
"model": "gpt-4o",
|
|
60
|
+
"localesDir": "./src/locales",
|
|
61
|
+
"files": ["src/**/*.tsx", "src/**/*.ts"]
|
|
62
|
+
}
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
- **`sourceLang`**: Idioma original do seu código.
|
|
66
|
+
- **`targetLangs`**: Lista de idiomas para os quais você deseja traduzir.
|
|
67
|
+
- **`localesDir`**: Onde os arquivos `.json` de tradução serão salvos.
|
|
68
|
+
- **`provider`**: `openai`, `google`, `deepseek`, `openrouter` ou `ollama`.
|
|
69
|
+
- **`files`**: Glob pattern dos arquivos que devem ser escaneados.
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
## 💡 Exemplo de Uso
|
|
74
|
+
|
|
75
|
+
**Antes:**
|
|
76
|
+
```tsx
|
|
77
|
+
export const Welcome = () => {
|
|
78
|
+
return <div>Bem-vindo ao nosso sistema!</div>;
|
|
79
|
+
};
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
**Depois de rodar o `autoi18n run`:**
|
|
83
|
+
```tsx
|
|
84
|
+
export const Welcome = () => {
|
|
85
|
+
return <div>{t('welcome_message')}</div>;
|
|
86
|
+
};
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
**Arquivo `locales/en.json` gerado:**
|
|
90
|
+
```json
|
|
91
|
+
{
|
|
92
|
+
"welcome_message": "Welcome to our system!"
|
|
93
|
+
}
|
|
94
|
+
```
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 🛠️ Requisitos
|
|
99
|
+
|
|
100
|
+
- **Node.js**: v18 ou superior.
|
|
101
|
+
- **i18next**: O projeto assume que você já tem o `i18next` configurado e o hook `t` disponível no escopo do arquivo.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## 🤝 Contribuição
|
|
106
|
+
|
|
107
|
+
Este projeto é mantido pela **Scopeact**. Se você encontrar bugs ou tiver sugestões de melhorias, sinta-se à vontade para abrir uma *Issue* ou enviar um *Pull Request*.
|
|
108
|
+
|
|
109
|
+
---
|
|
110
|
+
|
|
111
|
+
## 📄 Licença
|
|
112
|
+
|
|
113
|
+
Distribuído sob a licença MIT. Veja `LICENSE` para mais detalhes.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
Desenvolvido com ❤️ por [Felipe Vetter](https://github.com/felipevetter)
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@scopeact/autoi18n",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"bin": {
|
|
6
6
|
"@scopeact/autoi18n": "./dist/index.js"
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
"scripts": {
|
|
12
12
|
"build": "tsc"
|
|
13
13
|
},
|
|
14
|
+
"repository": {
|
|
15
|
+
"type": "git",
|
|
16
|
+
"url": "https://github.com/felipevetter/auto-i18n.git"
|
|
17
|
+
},
|
|
14
18
|
"dependencies": {
|
|
15
19
|
"@scopeact/autoi18n-core": "*",
|
|
16
20
|
"commander": "^14.0.2",
|