Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <pre><code>function translateWord( textarea, oldText, newText ) { var ctpos = getCaretPosition( textarea ); var textStr = textarea.value; var oldTextLen = oldText.split("").length; var newTextLen = newText.split("").length; var txtDiffLen = ( newTextLen - oldTextLen ); var escText = oldText.replace( /([()\[\]\\\/+*?.-])/g, "\\$1" ); var regExpr = new RegExp( "\\b"+escText+"\\b", 'gi' ); var diffStr = textStr.match( regExpr ); diffStr = ( diffStr ) ? diffStr.length : 1; var newStr = textStr.replace( regExpr, newText ); ctpos = ( ctpos + ( txtDiffLen * diffStr ) ); textarea.value = newStr; setCaretPosition( textarea, ctpos ); } function getCaretPosition( textarea ) { if ( textarea.selectionStart ) { return textarea.selectionStart; } else if ( !document.selection ) { return 0; } var c = "\001", sel = document.selection.createRange(), dul = sel.duplicate(), len = 0; dul.moveToElementText( textarea ); sel.text = c; len = dul.text.indexOf( c ); sel.moveStart( 'character', -1 ); sel.text = ""; return len; } function setCaretPosition( textarea, pos ) { if ( textarea.setSelectionRange ) { textarea.focus(); textarea.setSelectionRange( pos, pos ); } else if ( textarea.createTextRange ) { var range = textarea.createTextRange(); range.collapse( true ); range.moveEnd( 'character', pos ); range.moveStart( 'character', pos ); range.select(); } } translateWord( document.getElementById('text-input'), 'wakarimasu', 'わかります' ); </code></pre> <p><strong>I know it's an old question, but this code will help some noobs like me :) Mixed functions from some other answers :)</strong></p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload