Substituir palavras no corpus de acordo com o quadro de dados do dicionário

Estou interessado em substituir todas as palavras em umtm Objeto do corpus de acordo com um dicionário feito de um quadro de dados de duas colunas, em que a primeira coluna é a palavra a ser correspondida e a segunda coluna é a palavra de substituição.

Eu estou preso com otranslate função. eu viesta resposta mas não posso transformá-lo em uma função a ser passada paratm_map.

Por favor, considere o seguinte 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