# Working in other languages

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:

    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"
        )
      )
    )

    PlumeFr$new(encyclopedists_fr)
    #> # A tibble: 4 × 11
    #>      id prénom  nom   nom_complet initiales courriel téléphone orcid role  note
    #>   <int> <chr>   <chr> <chr>       <chr>     <chr>    <chr>     <chr> <chr> <chr>
    #> 1     1 Denis   Dide… Denis Dide… DD        diderot… +1234     0000… Supe… né e…
    #> 2     2 Jean-J… Rous… Jean-Jacqu… J-JR      roussea… <NA>      0000… <NA>  <NA>
    #> 3     3 Franço… Arou… François-M… F-MA      arouet@… <NA>      <NA>  <NA>  dit …
    #> 4     4 Jean    Le R… Jean Le Ro… JLRd'A    alember… <NA>      0000… Supe… né e…
    #> # ℹ 1 more variable: affiliation <list>

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()`:

    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
      )
    })

    aut <- PlumeFr$new(
      encyclopedists_fr,
      roles = c(supervision = "Supervision", rédaction = "Rédaction")
    )
    aut$get_contributions()
    #> Supervision : D.D. et J.L.R.d'A.
    #> Rédaction : D.D., J.-J.R., F.-M.A. et J.L.R.d'A.