Skip to content
Snippets Groups Projects
Commit ee59f36b authored by Paweł Wilk's avatar Paweł Wilk
Browse files

Added grammatical inflection support using I18n Inflector with Rails plug-in

parent 641b805d
No related branches found
No related tags found
No related merge requests found
......@@ -25,6 +25,9 @@ gem 'bson', '1.1'
gem 'haml'
gem 'will_paginate', '3.0.pre2'
#Inflected translations
gem 'i18n-inflector-rails', '0.1.0'
#Uncatagorized
gem 'roxml', :git => 'git://github.com/Empact/roxml.git'
gem 'addressable', :require => 'addressable/uri'
......
......@@ -11,6 +11,9 @@ class ApplicationController < ActionController::Base
before_filter :count_requests
before_filter :set_invites
before_filter :set_locale
before_filter :set_grammatical_gender
inflection_method :grammatical_gender => :gender
def set_contacts_notifications_and_status
if user_signed_in?
......@@ -50,6 +53,28 @@ class ApplicationController < ActionController::Base
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={}
opts[:limit] ||= 5
aspect_ids = contact.aspect_ids
......
......@@ -7,6 +7,7 @@ class PostsController < ApplicationController
skip_before_filter :count_requests
skip_before_filter :set_invites
skip_before_filter :set_locale
skip_before_filter :set_grammatical_gender
def show
@post = Post.first(:id => params[:id], :public => true)
......
......@@ -10,6 +10,7 @@ class PublicsController < ApplicationController
skip_before_filter :count_requests
skip_before_filter :set_invites
skip_before_filter :set_locale
skip_before_filter :set_grammatical_gender
layout false
caches_page :host_meta
......
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
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
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment