inst/doc/apertium-intro.R

## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  eval = FALSE
)

## ----setup--------------------------------------------------------------------
#  library(polyglotr)

## ----basic-usage--------------------------------------------------------------
#  # Basic translation from English to Spanish
#  result <- apertium_translate(
#    text = "Hello, world!",
#    target_language = "es",
#    source_language = "en"
#  )
#  print(result)
#  
#  # Translation from Spanish to English
#  result <- apertium_translate(
#    text = "Hola, mundo!",
#    target_language = "en",
#    source_language = "es"
#  )
#  print(result)

## ----list-pairs, eval=FALSE---------------------------------------------------
#  # Get available language pairs
#  pairs <- apertium_get_language_pairs()
#  
#  # The response contains an array of objects like:
#  # {"sourceLanguage":"en","targetLanguage":"es"}
#  head(pairs, 10)
#  

## ----multiple-texts-----------------------------------------------------------
#  # Vector of texts to translate
#  texts <- c(
#    "Good morning",
#    "How are you?",
#    "Thank you very much",
#    "See you later"
#  )
#  
#  # Translate each text
#  translations <- sapply(texts, function(text) {
#    apertium_translate(
#      text = text,
#      target_language = "es",
#      source_language = "en"
#    )
#  })
#  
#  # Display results
#  data.frame(
#    English = texts,
#    Spanish = translations,
#    stringsAsFactors = FALSE
#  )

## ----custom-host--------------------------------------------------------------
#  # Using default host (https://apertium.org/apy)
#  apertium_translate("Hello", "es", "en")
#  

## ----error-handling-----------------------------------------------------------
#  # Example of handling potential errors
#  tryCatch({
#    result <- apertium_translate("Hello", "invalid-lang", "en")
#    print(result)
#  }, error = function(e) {
#    cat("Translation error:", e$message, "\n")
#  })

## ----comparison---------------------------------------------------------------
#  # Compare translations across services
#  text <- "The weather is beautiful today"
#  
#  # Apertium translation
#  apertium_result <- apertium_translate(text, "es", "en")
#  
#  # MyMemory translation (also free, but different approach)
#  mymemory_result <- mymemory_translate(text, "es", "en")
#  
#  data.frame(
#    Service = c("Apertium", "MyMemory"),
#    Translation = c(apertium_result, mymemory_result),
#    stringsAsFactors = FALSE
#  )

## ----best-practices-----------------------------------------------------------
#  # Example of robust translation function
#  safe_apertium_translate <- function(text, target_lang, source_lang, max_retries = 3) {
#    for (attempt in 1:max_retries) {
#      tryCatch({
#        result <- apertium_translate(text, target_lang, source_lang)
#        return(result)
#      }, error = function(e) {
#        if (attempt == max_retries) {
#          stop("Translation failed after ", max_retries, " attempts: ", e$message)
#        }
#        Sys.sleep(1)  # Wait before retry
#      })
#    }
#  }
#  
#  # Usage
#  result <- safe_apertium_translate("Hello world", "es", "en")
#  print(result)

Try the polyglotr package in your browser

Any scripts or data that you put into this service are public.

polyglotr documentation built on Aug. 8, 2025, 7:14 p.m.