--- title: "Working in other languages" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Working in other languages} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) library(plume) ``` If you work in a language other than English, you can extend plume classes with default names in your desired language. plume provides `set_default_names()` to help you set new default names. E.g. to extend `Plume` with default names in French: ```{r} PlumeFr <- R6::R6Class( classname = "PlumeFr", inherit = Plume, private = list( plume_names = set_default_names( initials = "initiales", literal_name = "nom_complet", corresponding = "correspondant", given_name = "prénom", family_name = "nom", email = "courriel", phone = "téléphone" ) ) ) ``` ```{r} PlumeFr$new(encyclopedists_fr) ``` You can also overwrite the default arguments of some methods to match your language. I recommend doing it in the `public` argument of the class definition. For the purpose of this example, I'll use the `set()` method instead. For example, to change `divider` and `sep_last` to ` : ` and ` et ` in `get_contributions()`: ```{r} PlumeFr$set("public", "get_contributions", function( roles_first = TRUE, by_author = FALSE, alphabetical_order = FALSE, dotted_initials = TRUE, literal_names = FALSE, divider = " : ", sep = ", ", sep_last = " et " ) { super$get_contributions( roles_first, by_author, alphabetical_order, dotted_initials, literal_names, divider, sep, sep_last ) }) ``` ```{r} aut <- PlumeFr$new( encyclopedists_fr, roles = c(supervision = "Supervision", rédaction = "Rédaction") ) aut$get_contributions() ```