Added grammatical inflection support using I18n Inflector with Rails plug-in
This commit is contained in:
parent
641b805da2
commit
ee59f36b77
6 changed files with 138 additions and 0 deletions
3
Gemfile
3
Gemfile
|
|
@ -25,6 +25,9 @@ gem 'bson', '1.1'
|
||||||
gem 'haml'
|
gem 'haml'
|
||||||
gem 'will_paginate', '3.0.pre2'
|
gem 'will_paginate', '3.0.pre2'
|
||||||
|
|
||||||
|
#Inflected translations
|
||||||
|
gem 'i18n-inflector-rails', '0.1.0'
|
||||||
|
|
||||||
#Uncatagorized
|
#Uncatagorized
|
||||||
gem 'roxml', :git => 'git://github.com/Empact/roxml.git'
|
gem 'roxml', :git => 'git://github.com/Empact/roxml.git'
|
||||||
gem 'addressable', :require => 'addressable/uri'
|
gem 'addressable', :require => 'addressable/uri'
|
||||||
|
|
|
||||||
|
|
@ -11,6 +11,9 @@ class ApplicationController < ActionController::Base
|
||||||
before_filter :count_requests
|
before_filter :count_requests
|
||||||
before_filter :set_invites
|
before_filter :set_invites
|
||||||
before_filter :set_locale
|
before_filter :set_locale
|
||||||
|
before_filter :set_grammatical_gender
|
||||||
|
|
||||||
|
inflection_method :grammatical_gender => :gender
|
||||||
|
|
||||||
def set_contacts_notifications_and_status
|
def set_contacts_notifications_and_status
|
||||||
if user_signed_in?
|
if user_signed_in?
|
||||||
|
|
@ -50,6 +53,28 @@ class ApplicationController < ActionController::Base
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def set_grammatical_gender
|
||||||
|
if (user_signed_in? && I18n.inflector.inflected_locale?)
|
||||||
|
gender = current_user.profile.gender.to_s.tr('!()[]"\'`*=|/\#.,-:', '').downcase
|
||||||
|
unless gender.empty?
|
||||||
|
i_langs = I18n.inflector.inflected_locales(:gender)
|
||||||
|
i_langs.delete I18n.locale
|
||||||
|
i_langs.unshift I18n.locale
|
||||||
|
i_langs.each do |lang|
|
||||||
|
token = I18n.inflector.true_token(gender, :gender, lang)
|
||||||
|
unless token.nil?
|
||||||
|
@grammatical_gender = token
|
||||||
|
break
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
def grammatical_gender
|
||||||
|
@grammatical_gender || nil
|
||||||
|
end
|
||||||
|
|
||||||
def similar_people contact, opts={}
|
def similar_people contact, opts={}
|
||||||
opts[:limit] ||= 5
|
opts[:limit] ||= 5
|
||||||
aspect_ids = contact.aspect_ids
|
aspect_ids = contact.aspect_ids
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ class PostsController < ApplicationController
|
||||||
skip_before_filter :count_requests
|
skip_before_filter :count_requests
|
||||||
skip_before_filter :set_invites
|
skip_before_filter :set_invites
|
||||||
skip_before_filter :set_locale
|
skip_before_filter :set_locale
|
||||||
|
skip_before_filter :set_grammatical_gender
|
||||||
|
|
||||||
def show
|
def show
|
||||||
@post = Post.first(:id => params[:id], :public => true)
|
@post = Post.first(:id => params[:id], :public => true)
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ class PublicsController < ApplicationController
|
||||||
skip_before_filter :count_requests
|
skip_before_filter :count_requests
|
||||||
skip_before_filter :set_invites
|
skip_before_filter :set_invites
|
||||||
skip_before_filter :set_locale
|
skip_before_filter :set_locale
|
||||||
|
skip_before_filter :set_grammatical_gender
|
||||||
|
|
||||||
layout false
|
layout false
|
||||||
caches_page :host_meta
|
caches_page :host_meta
|
||||||
|
|
|
||||||
44
config/locales/inflections/all.yml
Normal file
44
config/locales/inflections/all.yml
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
|
||||||
|
all:
|
||||||
|
i18n:
|
||||||
|
inflections:
|
||||||
|
gender:
|
||||||
|
f: "female"
|
||||||
|
m: "male"
|
||||||
|
n: "neuter"
|
||||||
|
masculine: @m
|
||||||
|
male: @m
|
||||||
|
man: @m
|
||||||
|
boy: @m
|
||||||
|
b: @m
|
||||||
|
he: @m
|
||||||
|
sir: @m
|
||||||
|
mr: @m
|
||||||
|
mister: @m
|
||||||
|
guy: @m
|
||||||
|
dude: @m
|
||||||
|
gentleman: @m
|
||||||
|
mal: @m
|
||||||
|
female: @f
|
||||||
|
feminine: @f
|
||||||
|
girl: @f
|
||||||
|
g: @f
|
||||||
|
lady: @f
|
||||||
|
she: @f
|
||||||
|
miss: @f
|
||||||
|
missus: @f
|
||||||
|
mrs: @f
|
||||||
|
missis: @f
|
||||||
|
mistress: @f
|
||||||
|
ms: @f
|
||||||
|
neuter: @n
|
||||||
|
neutral: @n
|
||||||
|
it: @n
|
||||||
|
they: @n
|
||||||
|
impersonal: @n
|
||||||
|
default: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
64
config/locales/inflections/pl.yml
Normal file
64
config/locales/inflections/pl.yml
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
|
||||||
|
pl:
|
||||||
|
i18n:
|
||||||
|
inflections:
|
||||||
|
gender:
|
||||||
|
f: "rodzaj żeński"
|
||||||
|
m: "rodzaj męski"
|
||||||
|
n: "rodzaj nijaki"
|
||||||
|
masculine: @m
|
||||||
|
facet: @m
|
||||||
|
chłop: @m
|
||||||
|
chłopak: @m
|
||||||
|
chłopek: @m
|
||||||
|
chłopiec: @m
|
||||||
|
chłopaczek: @m
|
||||||
|
mąż: @m
|
||||||
|
prawiczek: @m
|
||||||
|
prawik: @m
|
||||||
|
boj: @m
|
||||||
|
woj: @m
|
||||||
|
gość: @m
|
||||||
|
gostek: @m
|
||||||
|
gościu: @m
|
||||||
|
samiec: @m
|
||||||
|
samczyk: @m
|
||||||
|
kawaler: @m
|
||||||
|
mężczyzna: @m
|
||||||
|
męski: @m
|
||||||
|
pani: @f
|
||||||
|
kobieta: @f
|
||||||
|
k: @f
|
||||||
|
kobietka: @f
|
||||||
|
dziewczyna: @f
|
||||||
|
dziewczę: @f
|
||||||
|
baba: @f
|
||||||
|
babka: @f
|
||||||
|
facetka: @f
|
||||||
|
dziewczynka: @f
|
||||||
|
dziewica: @f
|
||||||
|
niewiasta: @f
|
||||||
|
samica: @f
|
||||||
|
samiczka: @f
|
||||||
|
ona: @f
|
||||||
|
panna: @f
|
||||||
|
pannica: @f
|
||||||
|
panienka: @f
|
||||||
|
żeński: @f
|
||||||
|
laska: @f
|
||||||
|
lasencja: @f
|
||||||
|
żona: @f
|
||||||
|
dziewoja: @f
|
||||||
|
neuter: @n
|
||||||
|
to: @n
|
||||||
|
ono: @n
|
||||||
|
dziecko: @n
|
||||||
|
ktoś: @n
|
||||||
|
coś: @n
|
||||||
|
impersonal: @n
|
||||||
|
nijaki: @n
|
||||||
|
default: n
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in a new issue