# Tradução do Sistema para Português Brasil (PT-BR)

Este plano detalha o refatoramento completo do sistema **LojaMarqs** para que todos os nomes de tabelas, bancos, modelos, controladores, funções, arquivos e variáveis passem a ser escritos em **Português do Brasil (PT-BR)**, em conformidade com as diretrizes do projeto.

## User Review Required

> [!IMPORTANT]
> Esta alteração é estrutural e afetará todo o código da aplicação (Backend e Frontend), bem como a estrutura do banco de dados remoto MySQL. Após aprovação, executaremos a recriação do banco de dados (`migrate:fresh`).

## Mapeamento de Tradução

### 1. Banco de Dados e Modelos (Eloquent)

| Nome em Inglês | Nome em Português | Tipo | Observação |
| :--- | :--- | :--- | :--- |
| `companies` / `Company` | `empresas` / `Empresa` | Tabela / Modelo | |
| `themes` / `Theme` | `temas` / `Tema` | Tabela / Modelo | |
| `catalogs` / `Catalog` | `catalogos` / `Catalogo` | Tabela / Modelo | |
| `products` / `Product` | `produtos` / `Produto` | Tabela / Modelo | |
| `users` / `User` | `usuarios` / `Usuario` | Tabela / Modelo | Ajustado no `config/auth.php` |
| `sessions` | `sessoes` | Tabela | Utilizado para sessões de login no banco |
| `jobs` | `tarefas` | Tabela | Utilizado para processamento em fila |

#### Campos das Tabelas:
*   **`empresas`**: `id`, `nome`, `slug`, `status`, `chave_tema` (antigo `theme_key`), `configuracoes` (antigo `settings`), `created_at` -> `criado_em`, `updated_at` -> `atualizado_em` (ou manter timestamps do Laravel padrão, mas renomeados se preferir - manteremos o padrão de timestamps do Laravel para evitar quebras no Eloquent, mapeando opcionalmente se necessário).
*   **`temas`**: `id`, `chave` (antigo `key`), `nome`, `descricao`, `configuracao` (antigo `config`), `ativo` (antigo `is_active`).
*   **`catalogos`**: `id`, `empresa_id`, `nome`, `slug`, `chave_tema`, `publico` (antigo `is_public`), `ativo` (antigo `is_active`), `metadados` (antigo `meta`).
*   **`produtos`**: `id`, `catalogo_id`, `sku`, `nome`, `categoria`, `preco` (antigo `price`), `estoque` (antigo `stock`), `imagens` (antigo `images`), `especificacoes` (antigo `specs`), `pagamentos` (antigo `payments`), `metodos_personalizacao`, `ordem` (antigo `sort_order`), `ativo` (antigo `is_active`).
*   **`usuarios`**: `id`, `empresa_id`, `nome`, `email`, `senha` (antigo `password`), `lembrar_token` (antigo `remember_token`).

---

### 2. Controladores, Recursos e Middlewares (Backend)

| Arquivo Original | Novo Arquivo (PT-BR) |
| :--- | :--- |
| [ResolveCompany.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Http/Middleware/ResolveCompany.php) | `app/Http/Middleware/ResolverEmpresa.php` |
| [CatalogController.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Http/Controllers/Api/V1/CatalogController.php) | `app/Http/Controllers/Api/V1/CatalogoController.php` |
| [CompanyCatalogController.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Http/Controllers/Api/V1/CompanyCatalogController.php) | `app/Http/Controllers/Api/V1/EmpresaCatalogoController.php` |
| [ThemeController.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Http/Controllers/Api/V1/ThemeController.php) | `app/Http/Controllers/Api/V1/TemaController.php` |
| [CatalogResource.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Http/Resources/CatalogResource.php) | `app/Http/Resources/CatalogoResource.php` |
| [ThemeResource.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Http/Resources/ThemeResource.php) | `app/Http/Resources/TemaResource.php` |

---

### 3. Frontend (JS, Temas, Serviços)

#### Estrutura de Arquivos:
*   `resources/js/services/CatalogService.js` -> `resources/js/services/ServicoCatalogo.js`
*   `resources/js/services/CartService.js` -> `resources/js/services/ServicoCarrinho.js`
*   `resources/js/services/OrderService.js` -> `resources/js/services/ServicoPedido.js`
*   `resources/js/services/AnalyticsService.js` -> `resources/js/services/ServicoMetricas.js`
*   `resources/js/renderers/productRenderer.js` -> `resources/js/renderers/renderizadorProduto.js`
*   `resources/js/theme/themeManager.js` -> `resources/js/theme/gerenciadorTema.js`
*   `resources/js/utils/formatters.js` -> `resources/js/utils/formatadores.js`

#### Funções e Variáveis no Frontend:
*   `loadCatalog` -> `carregarCatalogo`
*   `getCatalog` -> `obterCatalogo`
*   `getProductById` -> `obterProdutoPorId`
*   `filterByCategory` -> `filtrarPorCategoria`
*   `getInstallmentRows` -> `obterLinhasParcelamento`
*   `openInstallmentModal` -> `abrirModalParcelamento`
*   `closeInstallmentModal` -> `fecharModalParcelamento`
*   `renderProducts` -> `renderizarProdutos`
*   `bindProductCardEvents` -> `vincularEventosCardProduto`
*   `openProductModal` -> `abrirModalProduto`
*   `bindProductModalEvents` -> `vincularEventosModalProduto`
*   `renderCartItems` -> `renderizarItensCarrinho`
*   `updateCartBadge` -> `atualizarContadorCarrinho`
*   `openCart` -> `abrirCarrinho`
*   `updateCartQty` -> `atualizarQtdCarrinho`
*   `getLeadData` -> `obterDadosContato`
*   `validateLeadForm` -> `validarFormularioContato`
*   `setActiveImage` -> `definirImagemAtiva`
*   `window.__INITIAL_CATALOG__` -> `window.__CATALOGO_INICIAL__`
*   `window.__CURRENT_COMPANY__` -> `window.__EMPRESA_ATUAL__`

---

## Plano de Execução

### Fase 1: Backend & Banco de Dados
1.  **Excluir migrações antigas** e criar novas migrações em PT-BR para:
    *   `sessoes` (sessions)
    *   `tarefas` (jobs)
    *   `empresas`
    *   `temas`
    *   `catalogos`
    *   `produtos`
    *   `usuarios`
2.  **Configurações do Laravel**:
    *   Renomear modelos em `app/Models/` e atualizar seu conteúdo.
    *   Ajustar a classe [Usuario](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/app/Models/Usuario.php) para usar `senha` no Laravel Auth através da função `getAuthPasswordName()`.
    *   Ajustar `config/auth.php` para apontar o provider `users` para o modelo `Usuario`.
3.  **Controllers, Middleware e Resources**:
    *   Criar e renomear os controladores e middleware em PT-BR.
    *   Configurar [routes/web.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/routes/web.php) e [routes/api.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/routes/api.php) com as novas rotas e nomes de parâmetros.
4.  **Seeders**:
    *   Atualizar o seeder principal e o bootstrap para ler os produtos de `catalog.json` e inseri-los no banco MySQL remoto em português (populando os 8 produtos reais).

### Fase 2: Frontend & Views
1.  **Renomear e traduzir arquivos JavaScript**:
    *   Traduzir todas as variáveis, classes e funções dentro de `resources/js/` de inglês para português.
2.  **Views Blade**:
    *   Atualizar os templates Blade ([catalog.blade.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/resources/views/catalog.blade.php), [auth/login.blade.php](file:///c:/Users/CRM-PENDRIVE/Documents/GitHub/LojaMarqs/resources/views/auth/login.blade.php), etc.) para refletir as novas variáveis, propriedades e chaves traduzidas dos modelos.

### Fase 3: Validação
1.  Executar `php artisan migrate:fresh --seed` para recriar e popular o banco de dados remoto MySQL com toda a estrutura em português.
2.  Executar `npm run build` para garantir que o empacotamento do Vite funcione sem erros.

---

## Plano de Verificação

### Testes Manuais
- Acessar `/login` e efetuar o login usando as credenciais de teste `admin@g75solucoes.com.br` / `123456`.
- Verificar se todos os 8 produtos são carregados e exibidos na tela vindos do banco de dados remoto MySQL.
- Testar troca de temas, adição ao carrinho e simulação de fechamento do pedido.
