OmegaTの現在の訳文分節中の英数字・記号を、全角から半角、
および半角から全角に変換するgroovyスクリプトを書いてみた。
筆者のJava/Groovyに関する知識は皆無に等しいので、
他の方が書いたスクリプトを適当に組み合わせた。
特に参考にしたのはKos Ivantsovさんのブログだ。
とりあえず動いているが、改良すべき点があればご教示
いただけるとありがたい。
------------------------
// Convert from Zenkaku to Hankaku in current target
// 訳文分節の英数字・記号を全角から半角に変換
// 英数字・記号は文字コード順に「!」から「~」まで
//
// Script name: Convert_Zenkaku_to_Hankaku.groovy
// Author Kasuya
// Date 2020-08-21
// Version 0.1
import static javax.swing.JOptionPane.*
import static org.omegat.util.Platform.*
// Abort if no project is opened
def prop = project.projectProperties
if (!prop) {
final def title = 'Convert from Zenkaku to Hankaku'
final def msg = 'Try again after opening a project.'
showMessageDialog null, msg, title, INFORMATION_MESSAGE
return
}
target = editor.getCurrentTranslation()
if (target != null) {
target = target.replaceAll(/[\uff01-\uff5e]/){new String((char)(((int)it)-65248))}
}
editor.replaceEditText(target)
------------------------
// Convert from Hankaku to Zenkaku in current target
// 訳文分節の英数字・記号を半角から全角に変換
// 英数字・記号は文字コード順に「!」から「~」まで
//
// Script name: Convert_Hakaku_to_Zennkaku.groovy
// Author Kasuya
// Date 2020-08-21
// Version 0.1
import static javax.swing.JOptionPane.*
import static org.omegat.util.Platform.*
// Abort if no project is opened
def prop = project.projectProperties
if (!prop) {
final def title = 'Convert from Hankaku to Zenkaku'
final def msg = 'Try again after opening a project.'
showMessageDialog null, msg, title, INFORMATION_MESSAGE
return
}
target = editor.getCurrentTranslation()
if (target != null) {
target = target.replaceAll(/[\u0021-\u007e]/){new String((char)(((int)it)+65248))}
}
editor.replaceEditText(target)
------------------------
最近のコメント