Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

I18N Scope #80

Open
marco-martins opened this issue Mar 3, 2012 · 7 comments
Open

I18N Scope #80

marco-martins opened this issue Mar 3, 2012 · 7 comments

Comments

@marco-martins
Copy link

It's really nice if can have i18N support, for now i try translate attributes in i18n file but it does not work.

@cgriego
Copy link
Owner

cgriego commented Mar 6, 2012

@skarface What are you using for keys? ActiveAttr doesn't do anything for i18n but it does pull in ActiveModel modules that should provide full support.

@marco-martins
Copy link
Author

I use normal way, in my translate file i put:
activerecord:
attributes:
user:
name: "Nome"

I try do same with ActiveAttr but translation won't work.

@cgriego
Copy link
Owner

cgriego commented Mar 6, 2012

Since ActiveAttr isn't doing anything for i18n, and only leaning on ActiveModel, you'll have to use "activemodel" as the key portion instead of "activerecord" or "activeattr".

I'll leave this issue open to consider whether we should declare our own i18n scope. It might be necessary when we create our own validators.

@marco-martins
Copy link
Author

Work right with ActiveModel, many thanks.

@phstc
Copy link

phstc commented May 23, 2012

Work right with ActiveModel, many thanks. (2)

@cgriego Would be great if you can add it in the README.

@phantomwhale
Copy link

Just encountered this - I see that ActiveRecord overrides the #i18n_scope method to :activerecord, but ActiveModel by default declares it as :activemodel

For now, we're going with a Monkey Patch to BasicModel of:

  def self.i18n_scope
    "activerecord"
  end

Not sure if there is a more elegant way of integrating this into the gem - I can imagine the 80%+ of users would be using this within a Rails stack, and therefore needing this patch. Might be a little beyond my modest skills now, but I'll keep a few brain cells working on it.

@borama
Copy link

borama commented Dec 7, 2012

Another workaround: if you don't want to monkey patch, you can simply use an alias in the translation file:

cs:
  activerecord: &model_i18n
    attributes:
      user:
        name: 'Jméno'

  activemodel: *model_i18n    

Works OK, though I guess this might double the i18n keys in memory...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants