Skip to content

Translate

An internal translation tool I designed for my company that supports text, voice, and image translation.

Role
UI/UX Designer
Type
Internal work project
Timeframe
2 weeks
Screens
27 screens
Core Flow

Text translation, start to finish

The core flow handles the most common case: pick source and target language, type or paste text, translate. The Malaysia and Laos teams needed this to be fast enough to use mid-conversation, so language selection surfaces recently-used pairs first and the result is immediately actionable (copy, share, audio playback).

Core translation flow screens
Translate Home → Change Language (Source / Output) → Translate → Error → Home (with input options)
Beyond Text

Voice & image translation

The team also needed to translate physical documents and have quick spoken exchanges as typing wasn't always practical. The design challenge was making document, image, and voice translation feel like one product rather than three separate tools.

Image translation screens
Translate Image → Image Translated (collapsed) → Image Translated (with input options)
Voice translation screens
Voice Translate → Recording → Result → Error (no speech detected)
Settings

History and Settings

Translation history needed to work across all input modes without getting confusing. I kept the entry format consistent so the same gestures worked regardless of translation type. For model selection, I kept the options simple with just enough context for someone to make a choice without needing to know what a model actually is.

History and settings screens
History (empty, populated, swipe-to-delete, detail view) → Settings → Model selection → Delete account confirmation
Edge Cases

The states people forget

Designing the core flows was the obvious part. These are the states that needed more thought.

Empty History

First-time users landing here have no history yet. The empty state gives them context on what the screen does and a direct path into their first translation.

Swipe to Delete

Translation history builds up fast. Swipe to delete lets users clear entries quickly without needing a separate management screen.

Token Limit Error

Running out of tokens mid-use is a frustrating moment. The error tells users exactly what happened and gives them a direct path to get more.

Account Deletion

Deleting an account can't be undone. The confirmation screen makes the consequences clear before anything is removed.