TempoLife › Features › Help translate TempoLife › fi
Finnish — Suomi
5 320 of 5 321 TempoLife strings are translated into Finnish (100.0%). Browse the string list, see the English source next to the current text, and suggest a better one.
Shipping. The health and food vocabulary is where most of the remaining awkwardness is.
The string list
Every row is one string in the app. The English column is the source; the Finnish column is what ships today, or missing when nothing does. Open a row to see it in the other languages and to suggest a change.
All strings Missing only
| Key | English | Finnish |
|---|---|---|
nutr.error | Error | Virhe |
nutr.fat | Fat | Rasva |
nutr.fat_short | F | R |
nutr.fats | fat | rasva |
nutr.food_added | {name} added ({cal} kcal) | {name} lisätty ({cal} kcal) |
nutr.food_added_db | "{name}" added to database | "{name}" lisätty tietokantaan |
nutr.food_items | food items | ruokaa |
nutr.frequent | Frequent | Usein käytetyt |
nutr.ghost_day | Usual picks for an empty day | Tavalliset valinnat tyhjälle päivälle |
nutr.halve | Halve | Puolita |
nutr.in_meal | logged in this meal | kirjattu tähän ateriaan |
nutr.insights_days_logged | {n} days analysed | {n} päivää analysoitu |
nutr.insights_late | {pct}% of calories after 20:00 on {days} logged days | {pct}% kaloreista klo 20 jälkeen ({days} kirjattuna päivänä) |
nutr.insights_meal_variance | {meal} is your most regular meal (median {time}, spread ±{min} min) | {meal} on säännöllisin ateriasi (mediaani {time}, hajonta ±{min} min) |
nutr.insights_missed | {meal} skipped {n}× | {meal} väliin {n}× |
nutr.insights_title | Eating regularity | Syömisen säännöllisyys |
nutr.insights_weekend_earlier | Weekend eating shifts {min} min earlier | Viikonloppuisin syöminen siirtyy {min} min aiemmaksi |
nutr.insights_weekend_later | Weekend eating shifts {min} min later | Viikonloppuisin syöminen siirtyy {min} min myöhemmäksi |
nutr.invalid_weight | Enter a valid weight (20–500 kg) | Syötä kelvollinen paino (20–500 kg) |
nutr.invalid_weight_imp | Enter a valid weight (44–1100 lb) | Syötä kelvollinen paino (44–1100 lb) |
nutr.kcal_100g | kcal/100g | kcal/100 g |
nutr.kcal_eaten | kcal eaten | kcal syöty |
nutr.kcal_left | {kcal} kcal left | {kcal} kcal jäljellä |
nutr.kcal_target | kcal target | kcal tavoite |
nutr.lunch | Lunch | Lounas |
nutr.lunch_short | ☀️ Lunch | ☀️ Lounas |
nutr.meal_times | 🕐 Meal times | 🕐 Ruoka-ajat |
nutr.meal_times_hint | Set when you usually eat. Photos and quick logs file into the nearest meal, and your fast… | Aseta, milloin yleensä syöt. Valokuvat ja pikakirjaukset kirjautuvat lähimpään ateriaan,… |
nutr.micro_all_covered | All key micronutrients covered this week | Kaikki tärkeät hivenaineet katettu tällä viikolla |
nutr.micro_b12 | Vitamin B12 | B12-vitamiini |
nutr.micro_calcium | Calcium | Kalsium |
nutr.micro_cov | {pct}% covered | {pct}% katettu |
nutr.micro_iron | Iron | Rauta |
nutr.micro_magnesium | Magnesium | Magnesium |
nutr.micro_omega3 | Omega-3 | Omega-3 |
nutr.micro_title | Micronutrient gaps this week | Viikon hivenaineiden puutteet |
nutr.micro_vitamin_d | Vitamin D | D-vitamiini |
nutr.no_frequent | No frequent foods yet | Ei vielä usein käytettyjä ruokia |
nutr.now_meal | Next up: {meal} | Seuraavaksi: {meal} |
nutr.over_target | {kcal} kcal over target ({target}) | {kcal} kcal yli tavoitteen ({target}) |
nutr.per_100g | /100g | /100 g |
nutr.plan_ad_body | AI builds today’s meals and shows you how to cook them. | Tekoäly laatii päivän ateriat ja kertoo, miten ne valmistetaan. |
nutr.plan_ad_title | AI meal plan + recipes | AI ateriasuunnitelma + ohjeet |
nutr.plan_ai | AI meal plan | AI ateriasuunnitelma |
nutr.plan_ate | Ate & log | Söin ja kirjaa |
nutr.plan_ate_this | I ate this — log it | Söin tämän — kirjaa se |
nutr.plan_gen | Generate | Luo |
nutr.plan_title | Meal plan | Ateriasuunnitelma |
nutr.plan_vs_actual | plan {plan} · ate {actual} | suunnitelma {plan} · syöty {actual} |
nutr.proj_after | {kcal} kcal projected ({target} target) | {kcal} kcal ennuste ({target} tavoite) |
nutr.prompt_calories | Calories per 100g: | Kaloreita 100 g:ssa: |
nutr.prompt_carbs | Carbs per 100g (g): | Hiilihydraatteja 100 g:ssa (g): |
nutr.prompt_fat | Fat per 100g (g): | Rasvaa 100 g:ssa (g): |
nutr.prompt_food_name | Food name: | Ruoan nimi: |
nutr.prompt_protein | Protein per 100g (g): | Proteiinia 100 g:ssa (g): |
nutr.protein | Protein | Proteiini |
nutr.protein_pace | {eaten}/{target} g protein | {eaten}/{target} g proteiinia |
nutr.protein_short | P | P |
nutr.proteins | protein | proteiini |
nutr.qty | Quantity | Määrä |
← Previous Page 63 of 89 Next →
What makes a good Finnish string here
Keep the placeholders. Anything in curly braces is replaced with a real value before the string is shown. Drop {n} and the sentence loses its number; rename it and the replacement silently fails. They can move within the sentence, but they must all still be there and spelled exactly as in the English.
Watch the length. Most of these strings live in a fixed space: a tab label, a button, a stat tile under a big number. A translation half again as long as the English will be clipped or will push a layout apart on a small phone. When the natural translation is much longer, a shorter and slightly blunter phrasing is the right answer.
Use the app's own vocabulary consistently. The same concept should read the same way everywhere — one word for a logged meal, one for a fast, one for a streak. Consistency matters more than variety; a synonym used once reads as a different feature.
Do not translate health claims into advice. Several strings deliberately describe a number without telling anyone what to do about it. A translation that turns "your resting rate is above your baseline" into "see a doctor" changes what the app claims, which is not a translation decision.
How this list is built
The list is parsed from the app's own translation files at the moment you load the page, so it cannot drift from what ships. Strings the parser could not read in a single pass are left out entirely — 37 lines in the Finnish files fell into that category — rather than being shown with a guessed value.
Source: TempoLife app translation files (assets/js/i18n*.js), parsed at page render · checked 2026-09-02