学校のプリントってさ、全然外国人の子どもにやさしくないよね
てなわけで、昨年に引き続きPTAで「こんなんできるから外国人家庭向けに外国語翻訳したプリント配ろうよ」って提案したけど誰も反応しなかったのでここで成仏させよう・・。
function onOpen() {
const ui = SlidesApp.getUi();
ui.createMenu('マルチ翻訳')
.addItem('日本語→英語', 'jaToEn')
.addItem('英語→日本語', 'enToJa')
.addItem('日本語→ドイツ語', 'jaToDe')
.addItem('ドイツ語→日本語', 'deToJa')
.addItem('日本語→スペイン語', 'jaToEs')
.addItem('スペイン語→日本語', 'esToJa')
.addToUi();
}
function jaToEn(){
multitranslate("ja","en")
}
function enToJa(){
multitranslate("en","ja")
}
function jaToDe(){
multitranslate("ja","de")
}
function deToJa(){
multitranslate("de","ja")
}
function jaToEs(){
multitranslate("ja","es")
}
function esToJa(){
multitranslate("es","ja")
}
function multitranslate(ori,tar){
const slide = SlidesApp.getActivePresentation();
const kekka = slide.getSlides().map(x => x.getShapes().map(y => translate(y.getText().asString(),ori,tar)))
slide.getSlides().map(x => x.getShapes().map(y => translate(y.getText().asString(),ori,tar)))
for(let i=0;i<kekka.length;i++){
for(let j=0;j<kekka[i].length;j++){
slide.getSlides()[i].getShapes()[j].getText().setText(kekka[i][j])
}}}
function translate(txt,source,target){
return LanguageApp.translate(txt,source,target)}
あんまり大量にやると呼び出し上限食らうからほどほどに。
Google翻訳の対象言語は全部カバーしています。
でわ!