library(dplyr)
library(tidyverse)
library(deeplr)
有料版を使う(何度も走らせられないので緊張する)。
データの読み込み
library(openxlsx)
eric.psyc.nodp <- read.xlsx("../Data/eric_psyc_nodp.xlsx")
Deepl APIの情報(非表示)
動作確認
# available_languages(auth_key = api)
言語の指定
source_lang <- "EN"
target_lang <- "JA"
関数
- https://note.com/text_tier2718/n/n3451567126a7
に載っている関数を使う
deepL <- function(Sentence, source_lang = "EN", target_lang = "JA", api_key = api_key) {
a <- system(
paste0(
'curl -s https://api.deepl.com/v2/translate -d "auth_key=',
api_key,
'" -d "text=',
str_replace_all(Sentence, pattern = '"', replacement = "'"), # 翻訳文中に""があるとpaste0と干渉してエラーを起こすので''に変換
'" -d source_lang="',
source_lang,
'" -d "target_lang=',
target_lang,
'"'
),
intern = T
)
b <- strsplit(
strsplit(
as.character(a),
'\"text\":\"'
)[[1]][2],
'\"}]}'
)[[1]][1]
Sys.sleep(1)
return(b)
}
翻訳
translation <- map(eric.psyc.nodp$abstract, function(x) {
deepL(
Sentence = x,
source_lang = source_lang,
target_lang = target_lang,
api_key = api
)
})
eric.psyc.ja <- mutate(eric.psyc.nodp, abstract_ja = translation)
library(openxlsx)
write.xlsx(eric.psyc.ja, "../Data/eric_psyc_ja.xlsx")
結果は別のページで(何かとお金がかかるので)