{"id":2312,"date":"2026-05-29T09:00:00","date_gmt":"2026-05-29T09:00:00","guid":{"rendered":"https:\/\/wiro.ai\/blog\/?p=2312"},"modified":"2026-09-27T20:29:39","modified_gmt":"2026-09-27T20:29:39","slug":"translategemma-4b-8-translation-prompts-for-real-apps","status":"publish","type":"post","link":"https:\/\/wiro.ai\/blog\/translategemma-4b-8-translation-prompts-for-real-apps\/","title":{"rendered":"TranslateGemma 4B: 8 Translation Prompts for Real Apps"},"content":{"rendered":"<p><strong>TranslateGemma 4B<\/strong> was tested as a translation component for product UI, support, travel, policy, and ecommerce copy. The point was not to judge prose style in the abstract. The test checked the details that break real apps: times, placeholders, units, levels of formality, short fragments, and text that changes direction in Arabic or uses a different decimal convention.<\/p>\n<h2>What was tested<\/h2>\n<p>The model on <a href=\"https:\/\/wiro.ai\/models\/google\/translate-gemma-4b-it\">Wiro<\/a> exposes three relevant controls: <code>prompt<\/code>, <code>sourceLng<\/code>, and <code>targetLng<\/code>. Every run used the language selectors rather than asking for a language pair inside the text. <code>maxNewTokens<\/code> was set to 200. That ceiling is generous for these short strings without inviting a long answer around the translation.<\/p>\n<p>TranslateGemma 4B is a Google model built on Gemma 3. Its <a href=\"https:\/\/huggingface.co\/google\/translategemma-4b-it\" target=\"_blank\" rel=\"noopener\">model card<\/a> describes text translation and image text extraction plus translation, with a 2K-token input context. The associated <a href=\"https:\/\/arxiv.org\/abs\/2601.09012\" target=\"_blank\" rel=\"noopener\">technical report<\/a> evaluates the family across 55 language pairs. This post only tests short text prompts, so it does not claim an OCR result or a benchmark score from these examples.<\/p>\n<h2>Test setup and Wiro run details<\/h2>\n<table>\n<thead>\n<tr>\n<th>Setting<\/th>\n<th>Value<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Model<\/td>\n<td>google\/translate-gemma-4b-it<\/td>\n<\/tr>\n<tr>\n<td>Original prompt cases<\/td>\n<td>8<\/td>\n<\/tr>\n<tr>\n<td>Additional Wiro runs<\/td>\n<td>2, uploaded below as raw model-output files<\/td>\n<\/tr>\n<tr>\n<td>Language control<\/td>\n<td>sourceLng and targetLng<\/td>\n<\/tr>\n<tr>\n<td>Maximum new tokens<\/td>\n<td>200<\/td>\n<\/tr>\n<tr>\n<td>Run time and cost<\/td>\n<td>Not shown in the Wiro model documentation or the completed-run output available for these tests<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>That last line matters. No per-output price or execution duration is stated here because neither value appeared in the docs nor the completed output returned for these runs. The model output itself is useful evidence; invented billing or timing figures are not.<\/p>\n<h2>Existing translation-themed media<\/h2>\n<p>This existing blog-hosted image remains in the post.<\/p>\n<figure>\n<img loading=\"lazy\" decoding=\"async\" width=\"2528\" height=\"1696\" class=\"wp-image-2310\" src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base.jpg\" alt=\"TranslateGemma 4B translation test with passport and smartphone\" srcset=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base.jpg 2528w, https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base-510x342.jpg 510w, https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base-900x604.jpg 900w, https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base-768x515.jpg 768w, https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base-1536x1030.jpg 1536w, https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/04\/translategemma-base-2048x1374.jpg 2048w\" sizes=\"auto, (max-width: 2528px) 100vw, 2528px\" \/><figcaption>Existing post media: passport and smartphone translation theme image.<\/figcaption><\/figure>\n<h2>Eight prompts and what the outputs show<\/h2>\n<h3>1. Delivery window: English to Turkish<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Your package will arrive between 14:00 and 16:30. Leave it at the front desk if no one answers.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>Sipari\u015finiz 14:00 ile 16:30 saatleri aras\u0131nda teslim edilecektir. E\u011fer kimse cevap vermiyorsa, l\u00fctfen resepsiyona b\u0131rak\u0131n.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The two times survive unchanged. &#8220;Front desk&#8221; becomes &#8220;resepsiyon&#8221;, a sensible hotel-facing choice. The register is formal, which fits a delivery notice.<\/p>\n<h3>2. Casual reassurance: Turkish to English<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Kafaya takma, yar\u0131n hallederiz. \u015eimdi kahve i\u00e7elim.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>Don&#8217;t worry about it, we can handle it tomorrow. Let&#8217;s have some coffee now.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The output does not translate the Turkish idiom word for word. It keeps the relaxed reassurance and ends with natural spoken English. That is the right trade for a chat message.<\/p>\n<h3>3. Delete warning: English to Japanese<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Delete {count} files? This can&#8217;t be undone.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>{count}\u500b\u306e\u30d5\u30a1\u30a4\u30eb\u3092\u524a\u9664\u3057\u307e\u3059\u304b\uff1f \u3053\u306e\u64cd\u4f5c\u306f\u5143\u306b\u623b\u305b\u307e\u305b\u3093\u3002<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The important result is structural: <code>{count}<\/code> remains untouched. The second sentence reads like a conventional irreversible-action warning rather than a literal sentence from English.<\/p>\n<h3>4. Account policy: English to French<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Please read the Privacy Policy before creating an account. By continuing, you agree to the Terms of Service.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>Veuillez lire la politique de confidentialit\u00e9 avant de cr\u00e9er un compte. En continuant, vous acceptez les conditions d&#8217;utilisation.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The formal &#8220;Veuillez&#8221; suits consent copy. The output keeps both actions separate: read first, then agree by continuing. Legal review is still required for a production policy, but the result is appropriate starting text.<\/p>\n<h3>5. Airport short form: Spanish to English<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>El vuelo sale a las 6:05. Puerta B12. No olvides tu pasaporte.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>The flight departs at 6:05 AM. Gate B12. Don&#8217;t forget your passport.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The short fragments remain short. &#8220;Puerta B12&#8221; stays as &#8220;Gate B12&#8221;, and the model adds AM for English clarity. That addition helps a traveller, but it is still a semantic addition worth checking in a strict data-preservation workflow.<\/p>\n<h3>6. Promotion: English to Arabic<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Limited-time offer: free shipping on orders over $50. Ends Sunday.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>\u0639\u0631\u0636 \u0644\u0641\u062a\u0631\u0629 \u0645\u062d\u062f\u0648\u062f\u0629: \u0634\u062d\u0646 \u0645\u062c\u0627\u0646\u064a \u0644\u0644\u0637\u0644\u0628\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0632\u064a\u062f \u0639\u0646 50 \u062f\u0648\u0644\u0627\u0631\u064b\u0627. \u064a\u0646\u062a\u0647\u064a \u064a\u0648\u0645 \u0627\u0644\u0623\u062d\u062f.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The offer amount remains legible and the sentences read as normal Arabic promotional copy. This is a good example for checking layout separately: right-to-left text may be correct while a storefront still mishandles mixed currency and number rendering.<\/p>\n<h3>7. Measurements: English to German<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Mix 250 ml water with 1.5 g salt and stir for 30 seconds.<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>Mischen Sie 250 ml Wasser mit 1,5 g Salz und r\u00fchren Sie es f\u00fcr 30 Sekunden um.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The quantity and unit survive. The decimal changes from 1.5 to 1,5, matching German notation. This is desirable in reader-facing instructions, but an app should avoid using translated text as a machine-readable measurement field.<\/p>\n<h3>8. Directions: Vietnamese to English<\/h3>\n<table>\n<tbody>\n<tr>\n<td>Input<\/td>\n<td>Xin l\u1ed7i, t\u00f4i b\u1ecb l\u1ea1c \u0111\u01b0\u1eddng. B\u1ea1n c\u00f3 th\u1ec3 ch\u1ec9 t\u00f4i ga t\u00e0u kh\u00f4ng?<\/td>\n<\/tr>\n<tr>\n<td>Output<\/td>\n<td>Excuse me, I seem to be lost. Could you please direct me to the train station?<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>The result keeps the apology and polite request. &#8220;I seem to be lost&#8221; is a slightly softened English rendering, but it keeps the practical intent clear for a travel assistant.<\/p>\n<h2>Two additional Wiro outputs<\/h2>\n<p>These files are the raw outputs of two fresh TranslateGemma 4B runs and are hosted in this blog&#8217;s media library, not on a temporary Wiro file host.<\/p>\n<figure>\n<iframe src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/09\/translategemma-turkish-ui-output.txt\" title=\"TranslateGemma Turkish UI output\" loading=\"lazy\"><\/iframe><figcaption>English to Turkish, sourceLng=English, targetLng=Turkish, maxNewTokens=200. Output: {count} dosya silinsin mi? Bu i\u015flemi geri al\u0131namaz.<\/figcaption><\/figure>\n<figure>\n<iframe src=\"https:\/\/wiro.ai\/blog\/wp-content\/uploads\/2026\/09\/translategemma-japanese-delivery-output.txt\" title=\"TranslateGemma Japanese delivery output\" loading=\"lazy\"><\/iframe><figcaption>English to Japanese, sourceLng=English, targetLng=Japanese, maxNewTokens=200. The output keeps the delivery interval and renders a polite delivery instruction.<\/figcaption><\/figure>\n<h2>When TranslateGemma 4B fits<\/h2>\n<p>Pick TranslateGemma 4B when the task is bounded translation and the product can supply a source and target language explicitly. It is a strong fit for interface strings, support replies, short notices, travel flows, and drafts for localized marketing copy. It also makes sense when a smaller model matters more than general chat ability.<\/p>\n<p>Do not treat it as a final legal translator, a locale-formatting engine, or a substitute for a native-language reviewer. Keep placeholders under test, keep source numbers in structured fields, and validate right-to-left rendering in the actual UI. For image-heavy documents, test the documented image extraction workflow rather than assuming a text-only prompt proves it.<\/p>\n<h2>Related reading<\/h2>\n<ul>\n<li><a href=\"https:\/\/wiro.ai\/blog\/translate-gemma-image-ocr-translation-in-6-screenshot-tests\/\">Translate Gemma Image: OCR Translation in 6 Screenshot Tests<\/a><\/li>\n<li><a href=\"https:\/\/wiro.ai\/blog\/glm-4-7-flash-6-quick-tests-json-code-translation\/\">GLM-4.7-Flash: 6 Quick Tests (JSON, Code, Translation)<\/a><\/li>\n<li><a href=\"https:\/\/wiro.ai\/blog\/translategemma-4b-vs-12b-vs-27b-6-prompt-translation-test\/\">Translate Gemma 4B vs 12B vs 27B: 6 Prompt Translation Test<\/a><\/li>\n<\/ul>\n<h2>Try TranslateGemma 4B<\/h2>\n<p>Run <a href=\"https:\/\/wiro.ai\/models\/google\/translate-gemma-4b-it\">TranslateGemma 4B on Wiro<\/a> with explicit language settings, then check every placeholder, number, unit, and UI layout before shipping the translation.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>TranslateGemma 4B was tested as a translation component for product UI, support, travel, policy, and ecommerce copy. The point was not to&hellip;<\/p>\n","protected":false},"author":4,"featured_media":2311,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[55],"tags":[91,198,102],"class_list":["post-2312","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-prompt-guides","tag-google","tag-translate","tag-translation"],"_links":{"self":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts\/2312","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/comments?post=2312"}],"version-history":[{"count":2,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts\/2312\/revisions"}],"predecessor-version":[{"id":4263,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/posts\/2312\/revisions\/4263"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/media\/2311"}],"wp:attachment":[{"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/media?parent=2312"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/categories?post=2312"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wiro.ai\/blog\/wp-json\/wp\/v2\/tags?post=2312"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}