Files
sigrhapf/Documents/sigfip/sigefp/sigefp-frontend/LOCALIZACAO_GUINE_BISSAU.md
2026-05-19 11:41:28 +00:00

4.3 KiB

🇬🇼 Localização para Guiné-Bissau

Configuração Completa

O frontend está totalmente configurado para Guiné-Bissau, compatível com o backend.

💰 Moeda: XOF (Franco CFA)

Configuração

  • Código ISO: XOF
  • Símbolo: FCFA
  • Locale: pt-GW
  • Formato: 1 000 FCFA ou 1,0K FCFA (compacto)

Função de Formatação

import { formatCurrency } from '@/utils/locale';

// Formato padrão
formatCurrency(1000000); // "1 000 000 FCFA"

// Formato compacto
formatCurrency(1000000, { compact: true }); // "1,0M FCFA"

// Com decimais
formatCurrency(1000.50, { decimals: 2 }); // "1 000,50 FCFA"

Locais Corrigidos

Dashboard.tsx

  • Antes: currency: 'AOA' (Angola)
  • Agora: Usa formatCurrency() com XOF

AgentsPage.tsx

  • Usa formatNumber() para estatísticas
  • Usa formatCurrency() para valores monetários

Todos os componentes

  • Usam funções de @/utils/locale

📅 Datas: DD/MM/YYYY

Configuração

  • Formato: DD/MM/YYYY
  • Timezone: Africa/Bissau
  • Locale: pt-GW

Funções

import { formatDate, formatDateTime, formatLocalDate } from '@/utils/locale';

// Formata Date object
formatDate(new Date()); // "28/12/2024"

// Formata data e hora
formatDateTime(new Date()); // "28/12/2024 14:30"

// Converte LocalDate do backend (YYYY-MM-DD) para exibição
formatLocalDate('2024-12-28'); // "28/12/2024"

📞 Telefone: +245

Formato

  • Código do país: +245
  • Formato: +245 XXX XXX XXX

Função

import { formatPhone } from '@/utils/locale';

formatPhone('955123456'); // "+245 955 123 456"
formatPhone('245955123456'); // "+245 955 123 456"

🔢 Números

Formatação

  • Separador de milhares: Espaço (ex: 1 000)
  • Separador decimal: Vírgula (ex: 1 000,50)
  • Locale: pt-GW

Função

import { formatNumber } from '@/utils/locale';

formatNumber(1000); // "1 000"
formatNumber(1000.50, 2); // "1 000,50"

🏦 Bancos (Mocks Atualizados)

Os mocks foram atualizados com bancos da Guiné-Bissau:

  • Banco Central da Guiné-Bissau (BCGB)
  • Banco da África Ocidental (BAO)
  • Ecobank Guiné-Bissau
  • Banco Atlântico Guiné-Bissau
  • Banco Internacional da Guiné-Bissau

📋 Checklist de Compatibilidade

  • Moeda: XOF (Franco CFA) em todo o sistema
  • Datas: DD/MM/YYYY (formato Guiné-Bissau)
  • Timezone: Africa/Bissau
  • Locale: pt-GW
  • Telefone: +245
  • Números: Formato pt-GW (espaço para milhares, vírgula para decimais)
  • Dashboard: Usa formatCurrency() com XOF
  • AgentsPage: Usa formatNumber() e formatCurrency()
  • Mocks: Bancos da Guiné-Bissau
  • Backend: Compatível (application.yml configurado)

🔧 Arquivos Modificados

  1. src/utils/locale.ts

    • Funções de formatação para Guiné-Bissau
    • formatCurrency() com suporte a XOF
    • formatNumber() com locale pt-GW
    • formatDate() e formatDateTime()
    • formatPhone() com código +245
  2. src/pages/Dashboard.tsx

    • Removido formatação hardcoded (pt-AO, AOA)
    • Usa formatCurrency() e formatNumber() de locale.ts
  3. src/modules/rh/pages/AgentsPage.tsx

    • Usa formatNumber() para estatísticas
    • Usa formatCurrency() para valores monetários
  4. src/mocks/data.ts

    • Bancos atualizados para Guiné-Bissau

🎯 Uso Recomendado

SEMPRE use as funções de @/utils/locale:

import { 
  formatCurrency, 
  formatNumber, 
  formatDate, 
  formatDateTime,
  formatLocalDate,
  formatPhone 
} from '@/utils/locale';

// ✅ CORRETO
const price = formatCurrency(1000); // "1 000 FCFA"
const date = formatLocalDate('2024-12-28'); // "28/12/2024"

// ❌ ERRADO - Não use
const price = new Intl.NumberFormat('pt-AO', { currency: 'AOA' }); // Angola!
const price = value.toLocaleString(); // Locale padrão do navegador

📝 Notas Importantes

  1. XOF não tem subunidades: O Franco CFA não tem centavos, então decimals: 0 é o padrão
  2. Formato de número: pt-GW usa espaço para milhares e vírgula para decimais
  3. Timezone: Sempre use Africa/Bissau para datas
  4. Backend: Envia datas como YYYY-MM-DD (LocalDate), frontend exibe como DD/MM/YYYY

Status: 100% Configurado para Guiné-Bissau
Moeda: XOF (Franco CFA)
Última atualização: Dezembro 2024