We need to translate visible text, preserving HTML tags exactly. Must output only translation, nothing else. We need to translate all text inside tags, including attributes? Only visible text content. Keep tags unchanged. We must be careful with HTML entities like ’ etc. Those are visible characters (apostrophe). Should keep them as they are? The visible text includes the apostrophe character. In HTML source it's ’ which will render as ’. Should we keep the entity as is? Probably keep the same entity but translation may need to use appropriate apostrophe? The instruction: preserve all HTML tags exactly — only translate the visible text content. So we should not alter tags or attributes, but we can modify text nodes. Entities are part of text nodes. They represent characters; we could replace with Japanese characters but keep entity? The visible text is ’. In Japanese translation, we might not need apostrophe. But we can use same entity for apostrophe if needed. Simpler: keep the entity unchanged if appears in text. For example "David Bowie's death" => "David Bowie の死". The apostrophe may be omitted. But the entity is part of original text; we can replace with Japanese punctuation. It's okay. We must