Aqui está um exemplo de README.md claro e organizado baseado na sua classe Dart:


📚 SystemLanguage

A classe SystemLanguage é responsável por gerenciar múltiplos conjuntos de textos (livros) para diferentes idiomas, permitindo acesso, customização e adição dinâmica de conteúdos.

🚀 Objetivo

Fornecer uma estrutura simples para:

  • Gerenciar idiomas
  • Recuperar textos por índice
  • Inserir novos textos
  • Trabalhar com textos dinâmicos (com parâmetros)

🧱 Estrutura da Classe

class SystemLanguage

Propriedades

Nome Tipo Descrição
basic String Define o idioma padrão (ex: pt_br)
books Map<String, dynamic> Mapa de livros por idioma

🔧 Construtores

1. Construtor padrão

SystemLanguage(String basic, book)

Inicializa o sistema com:

  • Um idioma padrão
  • Um único livro associado a esse idioma

Exemplo:

var system = SystemLanguage('pt_br', bookInstance);

2. Construtor nomeado

SystemLanguage.books(Map<String, dynamic> books, String indexBasic)

Permite iniciar com múltiplos livros e definir o idioma padrão.

Exemplo:

var system = SystemLanguage.books({
  'pt_br': bookPt,
  'en_us': bookEn
}, 'pt_br');

📖 Métodos

🔍 out

String out(String index)

Retorna um texto com base no índice no idioma atual.

Exemplo:

system.out('welcome_message');

🧩 molded

String molded(String index, Map<String,String> paramns)

Retorna um texto formatado com parâmetros dinâmicos.

Exemplo:

system.molded('greeting', {'name': 'João'});

add

bool add({ required String index, required String text })

Adiciona um novo texto ao livro do idioma atual.

Exemplo:

system.add(index: 'bye', text: 'Tchau!');

📚 addBook

bool addBook(String index, Book book)

Adiciona um novo livro ao sistema para um idioma específico.

Exemplo:

system.addBook('en_us', bookEn);

⚙️ Getters e Setters

Idioma padrão

String get myBasic
set myBasic(String basic)

Livros

Map<String, dynamic> get myBooks
set myBooks(Map<String, dynamic> newBook)

🧠 Conceito Geral

A classe funciona como um gerenciador de internacionalização simplificado, onde:

  • Cada idioma possui um "Book"
  • O sistema usa um idioma padrão (basic)
  • Todas as operações são feitas com base nesse idioma ativo

📌 Dependência

import 'package:application_language/books/book.dart';

A classe depende de um objeto Book, que deve implementar métodos como:

  • out
  • molded
  • add

✅ Possíveis Melhorias

  • Tipar books como Map<String, Book>
  • Validação de existência do idioma antes de acessar
  • Tratamento de erros
  • Suporte a fallback de idioma