Home

読み込み中...

ひらがなだけの文章を漢字混じりの読みやすい文章にするサービス

2010/02/01

このエントリーをはてなブックマークに追加

H2K – ひらがなだけの文章を漢字混じりの文書にするサービス
たまに平仮名だけで構成された文章に出会うことがあるのですが、そのままでは非常に読みづらいです。なので、その辛さを解消してくれる、その名も「ひらがなだけの文章を漢字混じりの読みやすい文章にするサービス」です。

開発余談

これまた、Google Closure Library, Compilerなどを使って作りました。

以下、JSのソースです。Closure LibraryのXhrIoの参考にもなるかと思います。
ただ、例によってエラー処理は皆無ですw

goog.require('goog.events');
goog.require('goog.dom');
goog.require('goog.string');
goog.require('goog.net.XhrIo');
goog.require("goog.Uri.QueryData");

var TranslationPanel = function() {
  this.init();
};

TranslationPanel.prototype = {

  SOURCE_TEXTAREA_ID : 'source-textarea',
  TARGET_TEXTAREA_ID : 'target-textarea',
  TRANSLATION_BUTTON_ID : 'translation-button',

  REQUEST_URL : './request.php',

  request : null,

  init : function() {
    this.request = new goog.net.XhrIo();
    this.initEventListeners();
  },

  initEventListeners : function() {
    goog.events.listen(goog.dom.$(this.TRANSLATION_BUTTON_ID), goog.events.EventType.CLICK
                       , goog.bind(this.translationButtonClicked, this));
    goog.events.listen(this.request, goog.net.EventType.COMPLETE
                       , goog.bind(this.translationCompleted, this));
  },

  translationButtonClicked : function(event) {
    if (goog.dom.$(this.SOURCE_TEXTAREA_ID).value == '') {
      return;
    }
    goog.dom.$(this.TARGET_TEXTAREA_ID).value = '';
    this.translate();
  },

  translationCompleted : function(event) {
    var response = event.target.getResponseJson();
    goog.dom.$(this.TARGET_TEXTAREA_ID).value = response.contents.target;
  },

  translate : function() {
    var requestData = goog.Uri.QueryData.createFromKeysValues(
     ['source'], [goog.dom.$(this.SOURCE_TEXTAREA_ID).value]
    );
    this.request.send(this.REQUEST_URL, 'POST', requestData.toString());
  }
};

goog.events.listen(window, goog.events.EventType.LOAD, function() {
  var translationPanel = new TranslationPanel();
});

Leave a comment