Zastąp słowa w korpusie zgodnie ze słownikową ramką danych

Jestem zainteresowany zastąpieniem wszystkich słów wtm Obiekt korpusu według słownika złożonego z dwóch kolumn ramki danych, gdzie pierwsza kolumna jest słowem do dopasowania, a druga kolumną jest słowem zastępczym.

Utknąłem ztranslate funkcjonować. widziałemta odpowiedź ale nie mogę go przekształcić w funkcję, która ma zostać przekazanatm_map.

Proszę wziąć pod uwagę następujące MWE

library(tm)

docs <- c("first text", "second text")
corp <- Corpus(VectorSource(docs))

dictionary <- data.frame(word = c('first', 'second', 'text'),
                      translation = c('primo', 'secondo', 'testo'))

translate <- function(text, dictionary) {
  # Would like to replace each word of text with corresponding word in dictionary
}

corp_translated <- tm_map (corp, translate)

inspect(corp_translated)

# Expected result

# A corpus with 2 text documents
#
# The metadata consists of 2 tag-value pairs and a data frame
# Available tags are:
#   create_date creator 
# Available variables in the data frame are:
#   MetaID 

# [[1]]
# primo testo

# [[2]]
# secondo testo

questionAnswers(2)

yourAnswerToTheQuestion