Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate lang links #6618

Merged
merged 7 commits into from
Mar 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
23 changes: 23 additions & 0 deletions vignettes/_translation_links.R
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# build a link list of alternative languages (may be character(0))
# idea is to look like 'Other languages: en | fr | de'
.write.translation.links <- function(fmt) {
url = "https://rdatatable.gitlab.io/data.table/articles"
path = dirname(knitr::current_input(TRUE))
if (basename(path) == "vignettes") {
lang = "en"
} else {
lang = basename(path)
path = dirname(path)
}
translation = dir(path,
recursive = TRUE,
pattern = glob2rx(knitr::current_input(FALSE))
)
transl_lang = ifelse(dirname(translation) == ".", "en", dirname(translation))
block = if (!all(transl_lang == lang)) {
linked_transl = sprintf("[%s](%s)", transl_lang, file.path(url, sub("(?i)\\.Rmd$", ".html", translation)))
linked_transl[transl_lang == lang] = lang
sprintf(fmt, paste(linked_transl, collapse = " | "))
} else ""
knitr::asis_output(block)
}
6 changes: 3 additions & 3 deletions vignettes/datatable-benchmarking.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ h2 {
}
</style>

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-benchmarking.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

This document is meant to guide on measuring performance of `data.table`. Single place to document best practices and traps to avoid.

Expand Down
6 changes: 3 additions & 3 deletions vignettes/datatable-faq.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ h2 {
}
</style>

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-faq.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
Expand Down
7 changes: 3 additions & 4 deletions vignettes/datatable-importing.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ h2 {
}
</style>

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-importing.html)
* [Russian](https://rdatatable.gitlab.io/data.table/articles/ru/datatable-importing.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

This document is focused on using `data.table` as a dependency in other R packages. If you are interested in using `data.table` C code from a non-R application, or in calling its C functions directly, jump to the [last section](#non-r-api) of this vignette.

Expand Down
7 changes: 3 additions & 4 deletions vignettes/datatable-intro.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ vignette: >
\usepackage[utf8]{inputenc}
---

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-intro.html)
* [Russian](https://rdatatable.gitlab.io/data.table/articles/ru/datatable-intro.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
4 changes: 4 additions & 0 deletions vignettes/datatable-joins.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ knitr::opts_chunk$set(
)
```

```{r, echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

In this vignette you will learn how to perform any join operation using resources available in the `data.table` syntax.

It assumes familiarity with the `data.table` syntax. If that is not the case, please read the following vignettes:
Expand Down
6 changes: 3 additions & 3 deletions vignettes/datatable-keys-fast-subset.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vignette: >
\usepackage[utf8]{inputenc}
---

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-keys-fast-subset.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
7 changes: 3 additions & 4 deletions vignettes/datatable-programming.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vignette: >
\usepackage[utf8]{inputenc}
---

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-programming.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r init, include = FALSE}
require(data.table)
Expand All @@ -24,7 +24,6 @@ knitr::opts_chunk$set(
)
```


## Introduction

`data.table`, from its very first releases, enabled the usage of `subset` and `with` (or `within`) functions by defining the `[.data.table` method. `subset` and `with` are base R functions that are useful for reducing repetition in code, enhancing readability, and reducing number the total characters the user has to type. This functionality is possible in R because of a quite unique feature called *lazy evaluation*. This feature allows a function to catch its arguments, before they are evaluated, and to evaluate them in a different scope than the one in which they were called. Let's recap usage of the `subset` function.
Expand Down
7 changes: 4 additions & 3 deletions vignettes/datatable-reference-semantics.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vignette: >
\usepackage[utf8]{inputenc}
---

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-reference-semantics.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand All @@ -23,6 +23,7 @@ knitr::opts_chunk$set(
collapse = TRUE)
.old.th = setDTthreads(1)
```

This vignette discusses *data.table*'s reference semantics which allows to *add/update/delete* columns of a *data.table by reference*, and also combine them with `i` and `by`. It is aimed at those who are already familiar with *data.table* syntax, its general form, how to subset rows in `i`, select and compute on columns, and perform aggregations by group. If you're not familiar with these concepts, please read the [`vignette("datatable-intro", package="data.table")`](datatable-intro.html) vignette first.

***
Expand Down
7 changes: 3 additions & 4 deletions vignettes/datatable-reshape.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@ vignette: >
\usepackage[utf8]{inputenc}
---

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-reshape.html)
* [Russian](https://rdatatable.gitlab.io/data.table/articles/ru/datatable-reshape.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
6 changes: 3 additions & 3 deletions vignettes/datatable-sd-usage.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,9 @@ vignette: >
}
</style>

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-sd-usage.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
6 changes: 3 additions & 3 deletions vignettes/datatable-secondary-indices-and-auto-indexing.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ vignette: >
\usepackage[utf8]{inputenc}
---

Translations of this document are available in

* [French](https://rdatatable.gitlab.io/data.table/articles/fr/datatable-secondary-indices-and-auto-indexing.html)
```{r echo=FALSE, file='_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-benchmarking.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,10 @@ h2 {
}
</style>

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

Ce document a pour but de guider la mesure de la performance de `data.table`. Il centralise la documentation des meilleures pratiques et des pièges à éviter.

# fread : effacer les caches
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-faq.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,10 @@ h2 {
#TOC { width: 100%; }
</style>

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
library(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-importing.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ h2 {
}
</style>

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

Ce document se concentre sur l'utilisation de `data.table` comme dépendance dans d'autres packages R. Si vous souhaitez utiliser le code C de `data.table` à partir d'une application non-R, ou appeler directement ses fonctions C, passez à la [dernière section](#non-r-API) de cette vignette.

Importer `data.table` n'est pas différent qu'importer d'autres packages R. Cette vignette a pour but de répondre aux questions les plus courantes à ce sujet; les indications présentées ici peuvent être appliquées à d'autres packages R.
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-intro.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-keys-fast-subset.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-programming.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r init, include = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-reference-semantics.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-reshape.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/fr/datatable-sd-usage.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Translations of this document are available in: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/ru/datatable-importing.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,10 @@ h2 {
}
</style>

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Данное руководство также доступно на следующих языках: %s")`

Этот документ рассказывает об использовании `data.table` в качестве
зависимости в других R-пакетах. Если вас интересует использование C-кода
`data.table` в приложениях, не связанных с R, или прямой вызов его
Expand Down
4 changes: 4 additions & 0 deletions vignettes/ru/datatable-intro.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,10 @@ vignette: >
\usepackage[utf8]{inputenc}
---

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Данное руководство также доступно на следующих языках: %s")`

```{r, echo = FALSE, message = FALSE}
require(data.table)
knitr::opts_chunk$set(
Expand Down
4 changes: 4 additions & 0 deletions vignettes/ru/datatable-reshape.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,10 @@ knitr::opts_chunk$set(
.old.th = setDTthreads(1)
```

```{r echo=FALSE, file='../_translation_links.R'}
```
`r .write.translation.links("Данное руководство также доступно на следующих языках: %s")`

В этом руководстве рассматривается стандартное использование функций
изменения формы данных `melt` (из широкой в длинную) и `dcast` (из длинной в
широкую) для класса *data.table*, а также **новые расширенные возможности**
Expand Down
Loading