Check an AI translation of a work document for numbers, units, names, and meaning
Review an AI-translated work document systematically instead of checking only whether it sounds natural. Use a small synthetic example to compare numbers, units, names, negations, and selected back-translations against the source.
Content checked 2026.09.21Example code included
Show contents
Who this is forPeople who use an AI chat assistant to translate work documents and need a repeatable way to verify important details before sharing them.
What you need
Python 3.12
The source text and AI translation saved as plain-text files
01Why a fluent translation can still be wrong
An AI translation can read smoothly while changing an important fact. A decimal point may move, a unit may disappear, a product name may be translated unnecessarily, or a negative instruction may become positive. These errors are especially risky in technical, purchasing, scheduling, compliance, and operational documents because a small wording change can alter what someone is expected to do.
The example below is synthetic. The goal is not to judge literary quality. It is to verify whether information that must remain stable across languages has actually remained stable.
02Start with a small synthetic work note
Assume the English source contains a short instruction for a fictional test team. The target language is not important for this exercise; the verification process is the same.
Source item
Source text
Quantity
Prepare 12 samples.
Torque
Tighten Bolt A to 35 N·m.
Temperature
Do not exceed 80 °C.
Date
Send the report by October 14, 2026.
Name
Send the final file to Mina Park.
Product name
Use the Alpha-X bracket.
The critical values are therefore 12, 35 N·m, 80 °C, October 14, 2026, Mina Park, and Alpha-X. The phrase 'Do not exceed' is also critical because reversing or weakening the negation changes the operating instruction.
03Ask the AI to preserve protected details
When requesting the translation, specify which items must remain unchanged or must not be interpreted creatively.
Even with a careful prompt, verification is still required. The prompt reduces risk; it does not prove that every critical detail survived the translation.
04Check numbers, units, names, and negations one by one
Numbers: compare every quantity, decimal, percentage, date component, model number, and revision number with the source.
Units: confirm that 35 N·m remains 35 N·m and 80 °C remains 80 °C unless conversion was explicitly requested.
Names: verify personal names, company names, project names, and product names against the source spelling.
Negations: search for source expressions such as not, never, do not, cannot, except, and without, then confirm that the translated sentence preserves the same restriction.
Obligation strength: distinguish must, should, may, and can. These words are not interchangeable in instructions.
Dates: check both the numeric date and its role. A deadline must not become a meeting date or estimated date.
Translation issue
Result
35 N·m translated as 35 Nm
Meaning may still be understandable, but verify whether the document requires exact unit notation.
80 °C translated as 80 °F
Incorrect unless an explicit unit conversion was requested and checked.
Mina Park translated or respelled
Check against the authoritative spelling.
Do not exceed 80 °C translated as Maintain 80 °C
Incorrect because the prohibition and meaning changed.
Alpha-X translated into a descriptive phrase
Incorrect if Alpha-X is the official product name.
05Use back-translation as a spot check, not as proof
A useful second check is to take selected translated sentences and ask the AI to translate them back into the source language without seeing the original. This is especially useful for negative instructions, commitments, deadlines, and sentences where the wording feels unusually different.
Suppose the back-translation returns 'Keep the temperature at 80 °C' instead of 'Do not exceed 80 °C.' That difference is a warning that the translated instruction should be rechecked. However, a matching back-translation still does not prove correctness because the same AI may reproduce its earlier interpretation.
06Use Python to compare protected tokens
A small script can help detect obvious changes to protected details. The following standard-library example reads source.txt and translation.txt, extracts numbers and selected protected strings, and writes a report to outputs/translation_check_report.txt. It does not modify either original file and stops if the outputs folder already exists.
python
from pathlib import Path
import re
import sys
SOURCE_PATH = Path("source.txt")
TRANSLATION_PATH = Path("translation.txt")
OUTPUT_DIR = Path("outputs")
REPORT_PATH = OUTPUT_DIR / "translation_check_report.txt"
if not SOURCE_PATH.is_file():
sys.exit("Missing input file: source.txt")
if not TRANSLATION_PATH.is_file():
sys.exit("Missing input file: translation.txt")
if OUTPUT_DIR.exists():
sys.exit("Stop: outputs folder already exists. Remove or rename it manually first.")
source = SOURCE_PATH.read_text(encoding="utf-8")
translation = TRANSLATION_PATH.read_text(encoding="utf-8")
number_pattern = re.compile(r"(?<!\d)\d+(?:\.\d+)?(?!\d)")
source_numbers = number_pattern.findall(source)
translation_numbers = number_pattern.findall(translation)
protected_strings = [
"N·m",
"°C",
"Mina Park",
"Alpha-X",
]
lines = []
lines.append("AI TRANSLATION CHECK")
lines.append("====================")
lines.append("")
lines.append(f"Source numbers: {source_numbers}")
lines.append(f"Translation numbers: {translation_numbers}")
if source_numbers == translation_numbers:
lines.append("PASS: number sequence matches")
else:
lines.append("CHECK: number sequence differs")
lines.append("")
lines.append("Protected strings:")
for item in protected_strings:
in_source = item in source
in_translation = item in translation
if in_source and in_translation:
lines.append(f"PASS: {item}")
elif in_source:
lines.append(f"CHECK: missing or changed in translation -> {item}")
lines.append("")
lines.append("Manual checks still required:")
lines.append("- Verify negations and obligation strength sentence by sentence.")
lines.append("- Confirm that each number still refers to the same item.")
lines.append("- Check dates, names, units, and product names in context.")
lines.append("- Spot-check high-risk sentences with back-translation.")
OUTPUT_DIR.mkdir()
REPORT_PATH.write_text("\n".join(lines) + "\n", encoding="utf-8")
print(f"Created: {REPORT_PATH}")
Run the script with python translation_check.py after saving the two texts. Matching number lists are useful but not sufficient. The translation could contain the same numbers in the wrong sentences, so every flagged or critical item still needs contextual review.
07Common mistakes when reviewing AI translations
Checking only whether the translated text sounds natural.
Missing a decimal, minus sign, percentage symbol, or unit change.
Allowing a product or project name to be translated as ordinary vocabulary.
Failing to notice that not, never, except, or without disappeared.
Treating must, should, may, and can as equivalent.
Trusting back-translation as definitive proof because it resembles the source.
Comparing only token presence without checking whether each token remains attached to the correct statement.
Automated checks are strongest at finding visible mismatches. They are much weaker at verifying whether a sentence preserves intent, scope, exceptions, responsibility, or legal effect. Those require contextual reading and, for high-stakes documents, appropriate subject-matter review.
08Use a final translation review checklist
Compare every number, date, percentage, model number, and revision number.
Confirm every unit and ensure no unrequested conversion occurred.
Check personal, company, project, and product names against authoritative spelling.
Review every negation and exception directly against the source sentence.
Check obligation words such as must, should, may, and can.
Back-translate a few high-risk sentences without showing the original.
Read the final translation in context rather than relying only on automated token checks.
The practical rule is to treat an AI translation as a draft whose critical facts must be verified independently. For contracts, safety instructions, regulatory documents, medical content, or other high-consequence material, use the organization's required professional review process rather than relying on a lightweight AI and script check.
Execution and verification record
ChatGPT Python tool · Python 3.x · standard library pathlib, re, sys
The original script executed successfully and created outputs/translation_check_report.txt.
With a valid Korean translation, the original regex extracted source numbers ['12', '35', '80', '14', '2026'] but translation numbers ['35', '80', '14'], demonstrating a false mismatch caused by Unicode word-boundary behavior.
All four protected strings N·m, °C, Mina Park, and Alpha-X passed.
After replacing the regex with (?<!\d)\d+(?:\.\d+)?(?!\d), both files produced ['12', '35', '80', '14', '2026'] and the report returned PASS: number sequence matches.
source.txt and translation.txt remained byte-for-byte unchanged.
A second run stopped because outputs already existed, so the prior report was not overwritten.
Local recheck on 2026-09-21 with Python 3.12.14: the corrected example passed; source preservation and overwrite protection also passed.
Verification limits
The article does not provide one exact complete target-language translation.txt example, so a faithful Korean translation preserving the specified protected details was used for execution.
The corrected regex still does not recognize every localized numeric notation, signed number, thousands separator, or locale-specific decimal format.
The script cannot verify semantic fidelity, negation, obligation strength, or whether a preserved number remains attached to the correct statement.
The Python environment emitted an unrelated spreadsheet-runtime warmup warning on stderr; it did not affect the article script or verified results.
References
The explanations and examples were written for this site. See the official sources below for the related behavior and concepts.
Turn “automate this” into an executable task description. Attach a synthetic sample with no sensitive data and a hand-checked expected result to complete a request for a script that totals work logs by team.
Check an aggregation function with four rows you can calculate by hand and 12 unit tests. Verify not only normal values but also empty input, zero, decimals, and invalid input.
Check an AI report against its source data, recalculate totals and rates, and use a copyable review prompt to flag unsupported claims and overstated causes before submission.
Treat an AI-generated regex as a draft, not a finished rule. Build a small synthetic test table, compare expected and actual matches, revise the pattern, and save a review report before using it on real data.