# Translating Finnish noun cases?

**URL:** <https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104>\
**Category:** Rails I18n\
**Created:** [June 10, 2011, 11:28am UTC](https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104 "2011-06-10T11:28:33Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![luislavena](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/l/0ea827/32.png) [@luislavena](https://www.ruby-forum.com/u/luislavena)\
**Post date:** [June 10, 2011, 11:28am UTC](https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104/1 "2011-06-10T11:28:33Z")

</div>

We have some translation strings like

“Search in %{category\_name}”

or

“Delivery to our showrooms in %{list\_of\_locations}”

In Swedish and English, it works fine to just pass in @category.name  
or @locations.to\_sentence. But in Finnish, instead of “in Foo” you  
might say “Foossa”, using a suffix instead of a preposition (inessive  
case). And similarly, you might say “Fooan ja Baran” for “to Foo and  
Bar” (illative case).

And as I understand it, these suffixes are irregular - you can’t just  
do @locations.map { |x| “#{x}ssa” }.

I’m very interested to hear how others handle this. Are there i18n  
conventions?

The best solutions I can think of is to have e.g. a  
category.name\_inessive\_fi column (and not have columns for Swedish and  
English, or leave them empty and fall back), and to do similarly for  
the locations or to have translation keys for e.g. stockholm\_illative.

---

<div class="post-metadata">

**Author:** ![malesca](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@malesca](https://www.ruby-forum.com/u/malesca)\
**Post date:** [June 10, 2011, 3:10pm UTC](https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104/2 "2011-06-10T15:10:26Z")

</div>

Henrik  
I think this is a general problem also for other languages as e.g.  
Swedish  
For example, “New %{attribute\_name}” where attribute\_name is name,  
decription, time etc should in Swedish be translated as “Nytt namn”,  
Ny “beskrivning” etc  
As i understand it the only way to solve this problem is to have  
specific translations for each case of “New #{attribute\_name}” , as  
otherwise you end up with writing some kind of grammar  
,e.g rules for when to use Ny and Nytt.  
However, when it comes to langauge , there are allways exceptions  
that you are not aware of, according to my experience. There are no  
simple rules!

* * *

Hans M.  
St: Larsgatan 50, 58224 Linkping, Sweden  
Phone: +46708371202

10 jun 2011 kl. 11.26 skrev Henrik N.:

---

<div class="post-metadata">

**Author:** ![malesca](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@malesca](https://www.ruby-forum.com/u/malesca)\
**Post date:** [June 10, 2011, 3:23pm UTC](https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104/3 "2011-06-10T15:23:25Z")

</div>

That’s a good point. In this case, the categories and locations are  
dynamic (in the DB), and are part of complex phrases with a  
combinatorial explosion of different variations, so translating them  
in full wouldn’t work well.

---

<div class="post-metadata">

**Author:** ![malesca](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@malesca](https://www.ruby-forum.com/u/malesca)\
**Post date:** [June 10, 2011, 5:01pm UTC](https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104/4 "2011-06-10T17:01:07Z")

</div>

We’ve had this kind of problem with locations and categories too. It is  
a hard problem, especially when you have the combinatorial explosion.  
One way we’ve worked round it is by not having sentences, so something  
like %{attribute\_name}: New. Probably won’t help in this case but it’s  
something to consider doing.

There was a gem that had an interesting approach,  
[GitHub - redox/genderize: Provide a gender-based distinction for I18n.translate](https://github.com/redox/genderize), maybe something worth considering  
too.

Chris

---

<div class="post-metadata">

**Author:** ![malesca](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/c89c15/32.png) [@malesca](https://www.ruby-forum.com/u/malesca)\
**Post date:** [June 10, 2011, 7:04pm UTC](https://www.ruby-forum.com/t/translating-finnish-noun-cases/208104/5 "2011-06-10T19:04:05Z")

</div>

Thanks. That’s a decent workaround, and the plugin does have an  
interesting take.
