Skip to contents

The px file format supports having multiple langauges in one file. Let’s start by creating a minimal example of a px object, based on the built in data set population_gl.

library(pxmake)

x <- px(population_gl)

Currently, x has neither a main language nor any additional languages.

px_language(x)  # Main language
#> NULL
px_languages(x) # All languages
#> NULL

To set the main language, use px_language(), and add the ISO 639 language code.

x1 <- px_language(x, "kl")

This adds the keyword ‘LANGUAGE=kl’ if the px file is saved, but otherwise there are no changes.

To set multiple languages, use px_languages() with a list of language codes.

x2 <- px_languages(x1, c("da", "kl"))

This doubles the number of values for all language dependent keywords. For example CONTACT, can be set simultaneously for both languages:

x3 <- px_contact(x2, "Johan Ejstrud")

or it can be set with distinct values for the two languages:

x4 <- px_contact(x3, dplyr::tribble(~language, ~value,
                                    "kl", "Lars Pedersen",
                                    "da", "Johan Ejstrud"
                                    )
                 )

In general, changing a keyword for multiple languages, requires a data frame where the column ‘language’ has been added. See the help pages for each functions to see the exact details on which columns are needed in the data frame.