Open the appIndex Tagger

Have you ever tagged every personal and place name in a translation manuscript?
Find 慶州, change it to <place>慶州</place>, find the next 慶州, change it again.
Using “Replace All” in a word processor sounds fine until you have a hundred index terms — that’s a hundred rounds.
And sometimes you replace a spot that was already tagged, ending up with <place><place>慶州</place></place>.

So I made this.
Write the list of replacements once as a table, and it sweeps through the whole manuscript and tags everything at once.
Put translated words instead of index terms and you can use it as a simple machine translator.

How to Use

Basic Steps

  1. Paste your manuscript into the Source Text box.
  2. Write your replacement list in the Index Conversion Table.
  3. Click [Tag Index Terms].

That’s it. The result appears in the box below, with colors showing what changed.

Writing the Conversion Table

Separate the original and the replacement with a single tab character.

original[tab]replacement

Like this.

慶州	<place>慶州</place>
李舜臣	<person>李舜臣</person>

It must be a tab, not spaces.
Copying two columns from a spreadsheet inserts tabs automatically, so managing your list in Excel or Google Sheets and pasting it over is the easiest route.

Adding Comments

When the list gets long, even you won’t remember what’s what.
Leave notes with # or //.

# place names
慶州	<place>慶州</place>

// personal names
李舜臣	<person>李舜臣</person>

慶州郡	<place>慶州郡</place>	# inline comments work too

Start of the line or the middle, either way.
The :// in http:// or https:// is not treated as a comment, so URLs are safe.

Excluding Parts of the Source

The same rule applies to the source text. Anything after # or // is left alone.

General Yi Sun-sin visited 慶州.  # this part is not converted

Handy when you keep editorial notes inside the manuscript while you work.

Options

  • Exclude single-character terms : One-character terms catch everything. Register and it hits 國家, 中國, and 國民 too. Turn this on in that case. (default: off)
  • Trim whitespace : Copying from a table often drags along leading and trailing spaces. This strips them automatically. (default: on)

Checking the Result

When the conversion finishes, three numbers appear at the bottom.

ItemMeaning
Index termsHow many terms were actually registered
Single-character termsHow many of those are one character
ReplacementsHow many times something actually changed

If you registered 100 terms but only 3 replacements happened, your table doesn’t match the manuscript.
The numbers alone tell you something is wrong.

Results are painted in a different color per tag.
The color wheel is divided evenly by the number of tag types, so no matter how many types you have, each gets a distinguishable color.
Just skimming the page lets you spot where a person and a place got swapped.

Good to Know

How Double Tagging Is Prevented

Suppose you registered both 慶州 and 慶州郡.
Process the shorter one first and 慶州郡 becomes the nonsense <place>慶州</place>郡.

So longer terms are processed first.
Once 慶州郡 is wrapped in a tag, that span is marked as done and 慶州 cannot touch it again.
Just keeping the length order eliminates most accidents.

Errors Caught in Advance

The table is checked before conversion runs. If any of these appear, you get the line number and it stops.

ErrorWhen it happens
No tabUsually you separated with spaces
Two or more tabsA tab slipped into the replacement value
Empty originalNothing before the tab
Empty replacementNothing after the tab
Conflicting valuesThe same original given two different replacements
Circular referenceThe result could get replaced again

Conflicting values looks like this.

慶州	<place>慶州</place>
慶州	<person>慶州</person>   # error: same original, different value

Circular reference looks like this.

慶州	경주
경주	慶州   # error: they replace each other endlessly

When the list runs to hundreds of lines these mistakes hide well.
So they are caught before conversion, and the offending line can be copied with one click.

Hanja Is Matched for You

Sometimes the same Hanja exists under different codes.
You wrote in the table but the manuscript has a different code for — they look identical to you, but the computer sees two different characters.

The tagger normalizes multi-code Hanja automatically so they match, so you don’t have to worry about it.
Duplicate terms in the list are consolidated too.

Upload

Click the Upload button in each app to load text files.

Supported formats: .txt, .md, .html, .xml, .tsv, .csv

Save

Download the converted result with the Save button.

Copy

Copy the result to your clipboard with the Copy button.

Open the appIndex Tagger