Buscar pacotes, repositórios e categorias de apps

Detalhes do pacotev1.0.3

getx_translator

Para gerar arquivos de strings de idioma para o Flutter. Tradução fácil com planilha do Google.

AndroidiOSmacOSWindowsLinux
Downloads em 30 dias
35
Curtidas
21
Pontos Pub
140

Instalar pacote

flutter pub add getx_translator

Visão geral do pacote

Orientação gerada a partir de informações públicas. Apenas para referência.

GetX Translator é um pacote Flutter projetado para simplificar a localização gerando arquivos de strings de idioma diretamente a partir do Google Sheets. Ele otimiza o fluxo de trabalho de tradução sincronizando as traduções em tempo real, reduzindo esforços manuais e minimizando erros. Os desenvolvedores podem gerenciar conteúdo multilíngue de forma eficiente sem sair do ambiente de desenvolvimento. A ferramenta se integra perfeitamente ao sistema de internacionalização do GetX, tornando-se ideal para equipes colaborando na tradução de aplicativos. Suporta múltiplas plataformas, incluindo Android, iOS, macOS, Windows e Linux.

Casos de uso

  • Gerenciando conteúdo de aplicativo multilíngue
  • Fluxos de trabalho colaborativos de tradução
  • Automatizando a geração de arquivos de string
  • Sincronizando traduções com o Google Sheets
  • Reduzindo a configuração manual de i18n

Principais recursos

  • Integração com o Google Sheets
  • Geração automática de arquivo de string
  • Sincronização em tempo real com traduções
  • Suporte para GetX i18n
  • Compatibilidade multiplataforma

Indicado para

  • Equipes usando o Google Sheets para traduções
  • Aplicativos Flutter que exigem atualizações frequentes de localização
  • Desenvolvedores procurando fluxos de trabalho automatizados de i18n
  • Projetos com tradutores não técnicos
  • Aplicativos direcionados a públicos globais

Considerações

  • Requer acesso ao Google Sheets e configuração da API
  • Depende do GetX para funcionalidade completa
  • Conexão com a internet necessária para sincronização
  • Limitado a planilhas do Google como fonte
  • Pode ser necessário configurar permissões para pipelines de CI/CD

README original

Snapshot do README original do repositório-fonte vinculado. Consulte o repositório para o conteúdo mais recente.

Getx Translator

2022 © Bikramaditya Meher

Pub License: MIT

A command-line application for generating language strings file for Getx Flutter. Easy translation with google sheet for Getx.

you need to make your sheet look like this getx_translator_sheet your strings should start from 3rd row.

Go to google sheets and make an Apps script file past this code with replacing you sheet id and sheet name, you can get sheet id from sheet url.

function doPost(request) {
  var error = false;
  var result;
  if (request.parameter.spreadsheetId == null) {
    error = true;
    result = { "status": "FAILED", "message": "Invalid Sheet Id" };
  }
  if (request.parameter.sheetName == null) {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Sheet Name" };
  }
  if (request.parameter.values == null) {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Values" };
  }

  var sheetId = request.parameter.spreadsheetId;
  var sheetName = request.parameter.sheetName;
  if (sheetId != '16gg_KvyPgXYrKzt12JtIZm4DVgNkxarzVlRHfXMyy5Y') {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Correct Sheet Id" };
  }
  if (sheetName != 'Sheet1') {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Correct Sheet Name" };
  }
  if (error) {
    return ContentService
      .createTextOutput(JSON.stringify(result))
      .setMimeType(ContentService.MimeType.JSON);
  }
  // Open Google Sheet using ID
  var sheet = SpreadsheetApp.openById(sheetId).getSheetByName(sheetName);
  result = { "status": "SUCCESS" };
  if (request.parameter.deleteRow != null) {
    //will delete numbers of rows coming from values..
    try {
      var deletingRow = JSON.parse(request.parameter.values);
      for (var i = 0; i < deletingRow.length; i++) {
        sheet.deleteRow((deletingRow[i] - i));
      }
    } catch (exc) {
      result = { "status": "FAILED", "message": exc.toString() };
    }
  } else {
    try {
      var values = JSON.parse(request.parameter.values);
      sheet.getRange(sheet.getLastRow() + 1, 1, values.length, 1).setValues(values);
    } catch (exc) {
      result = { "status": "FAILED", "message": exc.toString() };
    }

  }


  // Return result
  return ContentService
    .createTextOutput(JSON.stringify(result))
    .setMimeType(ContentService.MimeType.JSON);
}


function doGet(request) {

  // Open Google Sheet using ID
  var error = false;
  var result;
  if (request.parameter.spreadsheetId == null) {
    error = true;
    result = { "status": "FAILED", "message": "Invalid Sheet Id" };
  }
  if (request.parameter.sheetName == null) {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Sheet Name" };
  }

  var sheetId = request.parameter.spreadsheetId;
  var sheetName = request.parameter.sheetName;
  if (sheetId != '16gg_KvyPgXYrKzt12JtIZm4DVgNkxarzVlRHfXMyy5Y') {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Correct Sheet Id" };
  }
  if (sheetName != 'Sheet1') {
    error = true;
    result = { "status": "FAILED", "message": "Please Provide Correct Sheet Name" };
  }
  if (error) {
    return ContentService
      .createTextOutput(JSON.stringify(result))
      .setMimeType(ContentService.MimeType.JSON);
  }
  var column = request.parameter.column;
  var row = request.parameter.row;
  var all = request.parameter.all ?? 'false';

  var sheet = SpreadsheetApp.openById(sheetId).getSheetByName(sheetName);
  var rowNumbers = request.parameter.rowNumbers ?? sheet.getLastRow();
  var columnNumbers = request.parameter.columnNumbers ?? 1;

  var result = { "status": "SUCCESS" };
  var values;
  if (all == 'false') {
    values = sheet.getRange(row, column, rowNumbers, columnNumbers).getValues();
  } else {
    values = sheet.getDataRange().getValues();
  }
  result['data'] = values;
  // Return result
  return ContentService
    .createTextOutput(JSON.stringify(result))
    .setMimeType(ContentService.MimeType.JSON);
}

Add this to your pubspec.yaml file and replace your sheet id, sheet name and url from Apps script.

getx_translator:
  path: "lib"
  output_path: "assets/language"
  sheet_url: "https://script.google.com/macros/s/AKfycbwSnBW7NeRWV3vy9i7U8sX8RPyPkC2S8UGYbnehlOKMT5ueJNfwelsJogWTEitnqg8X7g/exec"
  sheet_name: "Sheet1"
  sheet_id: "16gg_KvyPgXYrKzt12JtIZm4DVgNkxarzVlRHfXMyy5Y"

Run this code for :: Scanning ... Generating.. Uploading... and removing old Strings.

flutter pub run getx_translator:main

Run this code after you generate translation and update language files.

flutter pub run getx_translator:update

Run this code for remove unused strings.

flutter pub run getx_translator:remove

for more information and please checkout example folder.

Categorias

Dependências

Lista de dependências 4 itens

Repositório-fonte

Projetos que usam este pacote

Ainda não há dados.