Skip to content

Latest commit

 

History

History
102 lines (74 loc) · 5.56 KB

README-es.md

File metadata and controls

102 lines (74 loc) · 5.56 KB

attranslate: Traductor de texto semiautomático para sitios web y aplicaciones

attranslate - Semi-automated Text Translator for Websites and Apps

macOS/Ubuntu/Windows: Actions Status

attranslate es una herramienta para sincronizar archivos de traducción, incluyendo JSON/YAML/XML y otros formatos. A diferencia de los servicios de pago, cualquier desarrollador puede integrar attranslate en cuestión de minutos. attranslate dejará las traducciones existentes sin cambios y solo sincronizará las nuevas traducciones.

Opcionalmente attranslate trabaja con servicios de traducción automática. Por ejemplo, supongamos que un servicio de traducción logra un 80% de traducciones correctas. Con attranslate, una solución rápida del 20% restante puede ser más rápida que hacer todo a mano. Aparte de eso, attranslate admite traducciones puramente manuales o incluso conversiones de formato de archivo sin cambiar el idioma.

Funciones

Conservar traducciones manuales

attranslate reconoce que las traducciones automáticas no son perfectas. Por lo tanto, siempre que no esté satisfecho con los resultados producidos, attranslate le permite simplemente sobrescribir textos en sus archivos de destino. attranslate nunca sobrescribirá una corrección manual en ejecuciones posteriores.

Servicios disponibles

attranslate admite los siguientes servicios de traducción; Muchos de ellos son gratis:

  • openai: Utiliza un modelo como ChatGPT; gratis hasta un límite
  • google-translate: Necesita una cuenta de GCloud; gratis hasta un límite
  • azure: Necesita una cuenta de Microsoft; cuesta dinero
  • sync-without-translate: No cambia el idioma. Esto puede ser útil para convertir entre formatos de archivo o para mantener diferencias específicas de la región.
  • manual: Traducir textos manualmente

Ejemplos de uso

Traducir un solo archivo es tan simple como la siguiente línea:

attranslate --srcFile=json-simple/en.json --srcLng=English --srcFormat=nested-json --targetFile=json-simple/de.json --targetLng=German --targetFormat=nested-json --service=openai

Si tiene varios idiomas de destino, necesitará varias llamadas a attranslate. Puede escribir algo como el siguiente script:

# Este ejemplo traduce un archivo JSON en inglés a español y alemán.
BASE_DIR="json-advanced"
SERVICE_ACCOUNT_KEY="gcloud/gcloud_service_account.json"
COMMON_ARGS=( "--srcLng=en" "--srcFormat=nested-json" "--targetFormat=nested-json" "--service=google-translate" "--serviceConfig=$SERVICE_ACCOUNT_KEY" )

# instalar attranslate si aún no está instalado
attranslate --version || npm install --global attranslate

attranslate --srcFile=$BASE_DIR/en/fruits.json --targetFile=$BASE_DIR/es/fruits.json --targetLng=es "${COMMON_ARGS[@]}"
attranslate --srcFile=$BASE_DIR/en/fruits.json --targetFile=$BASE_DIR/de/fruits.json --targetLng=de "${COMMON_ARGS[@]}"

Del mismo modo, puede utilizar attranslate para convertir entre formatos de archivo. Ver scripts de ejemplo para más ejemplos.

Guía de integración

En primer lugar, asegúrese de que nodejs está instalado en el equipo. Una vez que tengas nodejs, puede instalar attranslate Vía:

npm install --global attranslate

Alternativamente, si usted es un desarrollador de JavaScript, entonces debe instalar attranslate Vía:

npm install --save-dev attranslate

A continuación, debe escribir un script específico del proyecto que invoque attranslate para sus archivos específicos. Ver scripts de ejemplo para obtener orientación sobre cómo traducir los archivos específicos del proyecto.

Opciones de uso

Correr attranslate --help para ver una lista de opciones disponibles:

    Usage: attranslate [options]

    Options:
      --srcFile <sourceFile>              The source file to be translated
      --srcLng <sourceLanguage>           A language code for the source language
      --srcFormat <sourceFileFormat>      One of "flat-json", "nested-json",
                                          "yaml", "po", "xml", "ios-strings",
                                          "arb", "csv"
      --targetFile <targetFile>           The target file for the translations
      --targetLng <targetLanguage>        A language code for the target language
      --targetFormat <targetFileFormat>   One of "flat-json", "nested-json",
                                          "yaml", "po", "xml", "ios-strings",
                                          "arb", "csv"
      --service <translationService>      One of "openai", "manual",
                                          "sync-without-translate",
                                          "google-translate", "azure"
      --serviceConfig <serviceKey>        supply configuration for a translation
                                          service (either a path to a key-file or
                                          an API-key)
      --matcher <matcher>                 An optional feature for string replacements. One of "none", "icu", "i18next",
                                          "sprintf" (default: "none")
      -v, --version                       output the version number