Hey Sven,

thanks a lot :D

I had just another problem.
How to act with partials in translations?

especially with the submit button:


here my problem:


# _form.html.erb

<%= form_for(@customer) do |f| %>
   #some code
   <%= f.submit t("new.submit")  %>
<% end %>


#locales/views/customers/de.yml

de:
  new:
    headline: "Kunden anlegen"
    submit: "Kunden anlegen"

  edit:
    headline: "Kunden bearbeiten"
    submit: "Kunden speichern"

How to set the buttons text depents on edit an new

<%= f.submit t("submit")  %>

thanks to you!

Philip

2010/11/26 Sven Fuchs <[email protected]>

> Hey Philip,
>
> tl;dr: you probably don't wanna do it.
>
> DRY is a principle that applies to code but not translations. When we
> abstract our code then we are the ones who are in control of applying
> general rules to it. But when it comes to translations we must leave your
> translators in control and therefor don't want to abstract translations.
>
> The reason for that is that
>
> 1. there aren't that many general rules that apply to language, all of the
> time, spoken languages have tons of exceptions for probably any rule you'd
> name
> 2. even if there are such rules we as developers don't know them - that's
> why there are translators
>
> Therefor one should allow translators to translate every single string the
> way they want - even if there's tons of duplication then.
>
> One practical example where what you're trying to do could potentially
> crash on the floor is when your :namespace translation needs to be inflected
> when it's interpolated (inserted) into this particular translation for
> :submit in *this particular* context on your page.
>
> That said, there are some situations where even Rails does something
> similar.
>
> You can do it like this:
>
> de:
>  new:
>    submit: "%{namespace} anlegen"
>
> and then
>
> I18n.t(:'new.submit', :namespace => I18n.t(:namespace))
>
>
> On Nov 26, 2010, at 9:48 AM, Philip K. wrote:
>
> > Hello,
> >
> > i need some help I want to use a translation variable in neu
> > translation.
> > something like this code:
> >
> > de:
> >  namespace: "Kunde"
> >  new:
> >    headline: "Kunden anlegen"
> >    submit: "t(namespace) anlegen"
> >
> >
> > please help me :D
> >
> > --
> > You received this message because you are subscribed to the Google Groups
> "rails-i18n" group.
> > To post to this group, send email to [email protected].
> > To unsubscribe from this group, send email to
> [email protected]<rails-i18n%[email protected]>
> .
> > For more options, visit this group at
> http://groups.google.com/group/rails-i18n?hl=en.
> >
>
> --
> You received this message because you are subscribed to the Google Groups
> "rails-i18n" group.
> To post to this group, send email to [email protected].
> To unsubscribe from this group, send email to
> [email protected]<rails-i18n%[email protected]>
> .
> For more options, visit this group at
> http://groups.google.com/group/rails-i18n?hl=en.
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"rails-i18n" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rails-i18n?hl=en.

Reply via email to