Title: A 'ggplot2' Extension for Translating Plot Text
Version: 0.1.0
Maintainer: Mathias Leroy <mathias.leroy.rpkg@gmail.com>
Description: Provides a simple way to translate text elements in 'ggplot2' plots using a dictionary-based approach.
Encoding: UTF-8
RoxygenNote: 7.3.1
URL: https://github.com/mathiasleroy/ggtranslate
BugReports: https://github.com/mathiasleroy/ggtranslate/issues
Imports: ggplot2, rlang
Suggests: testthat (≥ 3.0.0)
License: MIT + file LICENSE
NeedsCompilation: no
Packaged: 2025-07-07 11:40:16 UTC; mleroy
Author: Mathias Leroy [aut, cre]
Repository: CRAN
Date/Publication: 2025-07-10 15:00:02 UTC

Translate all text elements in a ggplot2 object

Description

This function takes a ggplot2 object and a named list to translate all user-facing text elements within the plot. This includes main plot labels (title, subtitle, captions, axis titles, legend titles), discrete axis tick labels, discrete legend keys, facet labels, and text from 'geom_text'/'geom_label'.

Usage

ggtranslate(plot, dictionary_list)

Arguments

plot

A ggplot object whose text elements are to be translated.

dictionary_list

A named list where the names are the original text and the values are the translated text.

Value

A modified ggplot object with all translatable text elements replaced according to the provided dictionary list.

Examples

library(ggplot2)

df <- data.frame(
  day = factor(c("Monday", "Tuesday"), levels = c("Monday", "Tuesday")),
  value = c(10, 12)
)
translation_fr <- list(
  "Monday" = "Lundi",
  "Tuesday" = "Mardi",
  "Weekly Report" = "Rapport Hebdomadaire"
)
p_en <- ggplot(df, aes(x = day, y = value)) +
  geom_col() +
  labs(title = "Weekly Report")
p_fr <- ggtranslate(p_en, translation_fr)