--- title: "Languages" output: rmarkdown::html_vignette vignette: > %\VignetteIndexEntry{Languages} %\VignetteEngine{knitr::rmarkdown} %\VignetteEncoding{UTF-8} --- ```{r, include = FALSE} knitr::opts_chunk$set( collapse = TRUE, comment = "#>" ) ``` 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`. ```{r setup} library(pxmake) x <- px(population_gl) ``` Currently, `x` has neither a main language nor any additional languages. ```{r} px_language(x) # Main language px_languages(x) # All languages ``` To set the main language, use `px_language()`, and add the [ISO 639](https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes) language code. ```{r} 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. ```{r} 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: ```{r} x3 <- px_contact(x2, "Johan Ejstrud") ``` or it can be set with distinct values for the two languages: ```{r} 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.