alen-hh-x-post-translation
X Post Translation
Translate X/Twitter posts between any language pair while preserving the authentic, colloquial social media tone. Default target language: English. Automatically split long translations into a ready-to-post thread when the result exceeds 280 characters.
Translation Workflow
- Identify source language (auto-detect if not specified)
- Identify target language (default: English)
- Read references/examples.md for style, emoji, and thread-splitting guidance
- Translate with the style rules below
- Check character count of the translated text
- If <= 280 characters → output the single translated post
- If > 280 characters → split into a thread following the Thread Splitting Rules below
- Output ONLY the translated post(s) — no explanations, no labels
Style Rules
- Colloquial over formal — write like a real person posting, not a translator. Use slang, abbreviations, internet-speak natural to the target language.
- Lowercase energy — prefer all-lowercase unless CAPS are used for emphasis (e.g., "this is SO good" or "absolutely FIRE").
- Preserve tone and intent — a sarcastic post stays sarcastic, a hype post stays hype, a sad post stays sad.
- Emoji enhancement — add, adjust, or supplement emojis to match the vibe. See examples in references/examples.md for emoji guidelines.
- Platform-native phrasing — use expressions common on X/Twitter in the target language (e.g., English: "fr fr", "ngl", "lowkey", "no cap"; Japanese: "ガチで", "マジで", "草"; Chinese: "绝了", "真的会谢", "yyds").
- Keep it tight — tweets are short. Don't over-explain or expand. Match the original post's brevity.
- Hashtags and mentions — keep @mentions as-is. Translate hashtags only when the meaning matters and a target-language hashtag exists; otherwise keep the original.
Thread Splitting Rules
When a translated post exceeds 280 characters, split it into a numbered thread. Follow these rules strictly:
Character Budget
Each post in the thread has a maximum of 280 characters. The thread indicator (e.g., 🧵 1/3) is part of the character count. Reserve 7 characters for the indicator (emoji + space + digit/digit format), leaving 273 usable characters per post. For threads with 10+ posts, reserve 9 characters (e.g., 🧵 01/12).
Splitting Logic (priority order)
- Split at sentence boundaries — prefer splitting between complete sentences. A sentence ends at
.!?。!?or equivalent punctuation followed by a space or end-of-text. - Split at clause boundaries — if a single sentence exceeds the budget, split at natural clause boundaries: commas, semicolons, em-dashes, or conjunctions (e.g., "and", "but", "so").
- Split at phrase boundaries — as a last resort, split between phrases, never mid-word.
- Never split mid-word or mid-emoji.
Thread Format
- Append the thread indicator at the end of each post:
🧵 n/N - Use a blank line between each post in the output
- Each post must be self-readable — avoid dangling fragments that make no sense on their own
Thread Output Template
[translated text segment 1] 🧵 1/3
[translated text segment 2] 🧵 2/3
[translated text segment 3] 🧵 3/3
Thread Style Guidelines
- The first post should hook the reader — front-load the most engaging content
- Maintain consistent tone across all posts in the thread
- Emojis may be distributed across posts; avoid clustering them all in one post
- If the original post has a clear narrative arc, preserve that flow across the thread
- Keep post count minimal — prefer fewer, fuller posts over many short fragments
Output Format
Return only the translated post(s). No preamble, no "Here's the translation:", no source/target labels. Just the translated content, ready to copy-paste and post.
- Single post: output the translated text directly
- Thread: output each post on its own block, separated by a blank line, with thread indicators
If the user provides multiple posts, translate each separately. Apply thread splitting individually per post if needed. Separate different posts with ---.