OmegaTで全角/半角変換するgroovyスクリプト2020年08月21日 10:28


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)

------------------------

最近のトラックバック

メッセージ

<< 2020/08 >>
01
02 03 04 05 06 07 08
09 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31

このブログについて

翻訳者が翻訳業務にまつわる備忘録を記すブログです。
Twitter(https://twitter.com/kasuya6

RSS