recruiter 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/Rakefile +2 -0
  4. data/app/assets/images/ruby.png +0 -0
  5. data/app/assets/images/ruby_72x72.png +0 -0
  6. data/app/assets/images/ruby_rotated.png +0 -0
  7. data/app/assets/images/ruby_worker.png +0 -0
  8. data/app/assets/javascripts/recruiter/application.js +3 -0
  9. data/app/assets/javascripts/recruiter/filters.js +35 -0
  10. data/app/assets/javascripts/recruiter/site.js +3 -0
  11. data/app/assets/stylesheets/recruiter/application.css.scss +7 -0
  12. data/app/assets/stylesheets/recruiter/foundation_and_overrides.scss +1251 -0
  13. data/app/assets/stylesheets/recruiter/gh-fork-ribbon.css +140 -0
  14. data/app/assets/stylesheets/recruiter/site.css.sass +116 -0
  15. data/app/assets/stylesheets/recruiter/variables.css.sass +6 -0
  16. data/app/controllers/recruiter/filters_controller.rb +14 -0
  17. data/app/controllers/recruiter/jobs_controller.rb +18 -0
  18. data/app/controllers/recruiter/omniauth_callbacks_controller.rb +45 -0
  19. data/app/controllers/recruiter/users/jobs_controller.rb +59 -0
  20. data/app/controllers/recruiter/users/user_controller.rb +8 -0
  21. data/app/controllers/recruiter_controller.rb +13 -0
  22. data/app/decorators/recruiter/job_decorator.rb +49 -0
  23. data/app/decorators/recruiter/user_decorator.rb +22 -0
  24. data/app/helpers/recruiter/crud_flash_messager_helper.rb +21 -0
  25. data/app/helpers/recruiter/form_helper.rb +29 -0
  26. data/app/helpers/recruiter/header_helper.rb +13 -0
  27. data/app/helpers/recruiter/icons_helper.rb +29 -0
  28. data/app/helpers/recruiter/links_helper.rb +59 -0
  29. data/app/helpers/recruiter/markdown_helper.rb +12 -0
  30. data/app/helpers/recruiter/oauth_providers_helper.rb +23 -0
  31. data/app/helpers/recruiter/show_helper.rb +29 -0
  32. data/app/models/recruiter/city.rb +9 -0
  33. data/app/models/recruiter/custom_devise_failure.rb +7 -0
  34. data/app/models/recruiter/filters.rb +44 -0
  35. data/app/models/recruiter/filters/city_filter.rb +21 -0
  36. data/app/models/recruiter/filters/job_filter.rb +21 -0
  37. data/app/models/recruiter/filters/state_filter.rb +17 -0
  38. data/app/models/recruiter/job.rb +34 -0
  39. data/app/{helpers/recruiter/application_helper.rb → models/recruiter/oauth.rb} +1 -1
  40. data/app/models/recruiter/oauth/base.rb +24 -0
  41. data/app/models/recruiter/oauth/facebook.rb +6 -0
  42. data/app/models/recruiter/oauth/github.rb +6 -0
  43. data/app/models/recruiter/oauth/google.rb +9 -0
  44. data/app/models/recruiter/state.rb +9 -0
  45. data/app/models/recruiter/tag.rb +6 -0
  46. data/app/models/recruiter/user.rb +11 -0
  47. data/app/views/devise/sessions/new.html.erb +8 -0
  48. data/app/views/kaminari/_first_page.html.erb +11 -0
  49. data/app/views/kaminari/_gap.html.erb +8 -0
  50. data/app/views/kaminari/_last_page.html.erb +11 -0
  51. data/app/views/kaminari/_next_page.html.erb +11 -0
  52. data/app/views/kaminari/_page.html.erb +12 -0
  53. data/app/views/kaminari/_paginator.html.erb +23 -0
  54. data/app/views/kaminari/_prev_page.html.erb +11 -0
  55. data/app/views/layouts/recruiter/application.html.erb +28 -10
  56. data/app/views/recruiter/_analytics.html.erb +10 -0
  57. data/app/views/recruiter/_filters.html.erb +17 -0
  58. data/app/views/recruiter/_flashes.html.erb +14 -0
  59. data/app/views/recruiter/_footer.html.erb +7 -0
  60. data/app/views/recruiter/_form_actions.html.erb +4 -0
  61. data/app/views/recruiter/_javascript.html.erb +10 -0
  62. data/app/views/recruiter/_login_button.html.erb +15 -0
  63. data/app/views/recruiter/_login_links.html.erb +7 -0
  64. data/app/views/recruiter/_login_status.html.erb +8 -0
  65. data/app/views/recruiter/_show_actions.html.erb +6 -0
  66. data/app/views/recruiter/_show_item.html.erb +8 -0
  67. data/app/views/recruiter/_tags.html.erb +6 -0
  68. data/app/views/recruiter/_top_menu.html.erb +28 -0
  69. data/app/views/recruiter/jobs/_job.html.erb +14 -0
  70. data/app/views/recruiter/jobs/index.html.erb +14 -0
  71. data/app/views/recruiter/jobs/show.html.erb +1 -0
  72. data/app/views/recruiter/users/jobs/_form.html.erb +30 -0
  73. data/app/views/recruiter/users/jobs/_job.html.erb +35 -0
  74. data/app/views/recruiter/users/jobs/edit.html.erb +3 -0
  75. data/app/views/recruiter/users/jobs/index.html.erb +24 -0
  76. data/app/views/recruiter/users/jobs/new.html.erb +3 -0
  77. data/app/views/recruiter/users/jobs/show.html.erb +4 -0
  78. data/config/initializers/devise.rb +272 -0
  79. data/config/initializers/simple_form.rb +145 -0
  80. data/config/routes.rb +19 -0
  81. data/config/spring.rb +1 -0
  82. data/db/migrate/20140617180316_create_recruiter_states.rb +12 -0
  83. data/db/migrate/20140617180934_create_recruiter_cities.rb +14 -0
  84. data/db/migrate/20140618164609_create_recruiter_users.rb +51 -0
  85. data/db/migrate/20140618165301_add_name_to_users.rb +5 -0
  86. data/db/migrate/20140618165802_create_recruiter_jobs.rb +14 -0
  87. data/db/migrate/20140618170815_create_recruiter_tags.rb +13 -0
  88. data/db/migrate/20140618170904_create_recruiter_jobs_tags.rb +10 -0
  89. data/lib/generators/templates/locales/devise.en.yml +59 -0
  90. data/lib/generators/templates/locales/devise.pt-BR.yml +60 -0
  91. data/lib/generators/templates/locales/en.yml +11 -0
  92. data/lib/generators/templates/locales/pt-BR.yml +237 -0
  93. data/lib/generators/templates/locales/recruiter.pt-BR.yml +78 -0
  94. data/lib/generators/templates/locales/simple_form.en.yml +26 -0
  95. data/lib/recruiter.rb +12 -0
  96. data/lib/recruiter/engine.rb +31 -0
  97. data/lib/recruiter/version.rb +1 -1
  98. metadata +362 -11
  99. data/app/assets/stylesheets/recruiter/application.css +0 -15
  100. data/app/controllers/recruiter/application_controller.rb +0 -4
data/config/routes.rb CHANGED
@@ -1,2 +1,21 @@
1
1
  Recruiter::Engine.routes.draw do
2
+ root to: 'jobs#index'
3
+
4
+ resources :jobs, only: [:show], as: :offer
5
+
6
+ devise_for :users,
7
+ class_name: 'Recruiter::User',
8
+ # module: 'devise',
9
+ controllers: { omniauth_callbacks: "recruiter/omniauth_callbacks" }
10
+
11
+ devise_scope :user do
12
+ get 'sign_in', to: '/devise/sessions#new', as: :new_user_session
13
+ get 'sign_out', to: '/devise/sessions#destroy', as: :destroy_user_session
14
+ end
15
+
16
+ scope :profile, module: :users do
17
+ resources :jobs
18
+ end
19
+
20
+ get 'filters' => 'filters#index', as: :filters
2
21
  end
data/config/spring.rb ADDED
@@ -0,0 +1 @@
1
+ Spring.application_root = "./spec/dummy"
@@ -0,0 +1,12 @@
1
+ class CreateRecruiterStates < ActiveRecord::Migration
2
+ def change
3
+ create_table :recruiter_states do |t|
4
+ t.string :name
5
+ t.string :short
6
+
7
+ t.timestamps
8
+ end
9
+
10
+ add_index :recruiter_states, :name, unique: true
11
+ end
12
+ end
@@ -0,0 +1,14 @@
1
+ class CreateRecruiterCities < ActiveRecord::Migration
2
+ def change
3
+ create_table :recruiter_cities do |t|
4
+ t.string :name
5
+ t.string :short
6
+ t.references :state
7
+
8
+ t.timestamps
9
+ t.timestamps
10
+ end
11
+
12
+ add_index :recruiter_cities, :state_id
13
+ end
14
+ end
@@ -0,0 +1,51 @@
1
+ class CreateRecruiterUsers < ActiveRecord::Migration
2
+ def change
3
+ create_table :recruiter_users do |t|
4
+ ## Database authenticatable
5
+ # t.string :email, :null => false, :default => ""
6
+ t.string :email, :null => true, :default => nil
7
+ # t.string :encrypted_password, :null => false, :default => ""
8
+
9
+ ## Recoverable
10
+ # t.string :reset_password_token
11
+ # t.datetime :reset_password_sent_at
12
+
13
+ ## Rememberable
14
+ t.datetime :remember_created_at
15
+
16
+ ## Trackable
17
+ t.integer :sign_in_count, :default => 0, :null => false
18
+ t.datetime :current_sign_in_at
19
+ t.datetime :last_sign_in_at
20
+ t.string :current_sign_in_ip
21
+ t.string :last_sign_in_ip
22
+
23
+ ## Confirmable
24
+ # t.string :confirmation_token
25
+ # t.datetime :confirmed_at
26
+ # t.datetime :confirmation_sent_at
27
+ # t.string :unconfirmed_email # Only if using reconfirmable
28
+
29
+ ## Lockable
30
+ # t.integer :failed_attempts, :default => 0, :null => false # Only if lock strategy is :failed_attempts
31
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
32
+ # t.datetime :locked_at
33
+
34
+
35
+ t.timestamps
36
+
37
+ ## omniauthable
38
+ t.string :provider
39
+ t.string :uid
40
+ t.text :provider_data
41
+
42
+ t.timestamps
43
+ end
44
+
45
+ # add_index :recruiter_users, :email, :unique => true
46
+ # add_index :recruiter_users, :reset_password_token, :unique => true
47
+ # add_index :recruiter_users, :confirmation_token, :unique => true
48
+ # add_index :recruiter_users, :unlock_token, :unique => true
49
+ add_index :recruiter_users, [:provider, :uid], unique: true
50
+ end
51
+ end
@@ -0,0 +1,5 @@
1
+ class AddNameToUsers < ActiveRecord::Migration
2
+ def change
3
+ add_column :recruiter_users, :name, :string
4
+ end
5
+ end
@@ -0,0 +1,14 @@
1
+ class CreateRecruiterJobs < ActiveRecord::Migration
2
+ def change
3
+ create_table :recruiter_jobs do |t|
4
+ t.string :title
5
+ t.text :description
6
+ t.text :how_to_apply
7
+ t.references :user, index: true
8
+ t.references :city, index: true
9
+ t.boolean :open, default: true
10
+
11
+ t.timestamps
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,13 @@
1
+ class CreateRecruiterTags < ActiveRecord::Migration
2
+ def change
3
+ create_table :recruiter_tags do |t|
4
+ t.string :name
5
+ t.text :description
6
+ t.integer :sequence, default: 10, null: false
7
+
8
+ t.timestamps
9
+ end
10
+
11
+ add_index :recruiter_tags, :name, unique: true
12
+ end
13
+ end
@@ -0,0 +1,10 @@
1
+ class CreateRecruiterJobsTags < ActiveRecord::Migration
2
+ def change
3
+ create_table :recruiter_jobs_tags do |t|
4
+ t.references :job, index: true
5
+ t.references :tag, index: true
6
+ end
7
+
8
+ add_index :recruiter_jobs_tags, [:job_id, :tag_id], unique: true
9
+ end
10
+ end
@@ -0,0 +1,59 @@
1
+ # Additional translations at https://github.com/plataformatec/devise/wiki/I18n
2
+
3
+ en:
4
+ devise:
5
+ confirmations:
6
+ confirmed: "Your account was successfully confirmed."
7
+ send_instructions: "You will receive an email with instructions about how to confirm your account in a few minutes."
8
+ send_paranoid_instructions: "If your email address exists in our database, you will receive an email with instructions about how to confirm your account in a few minutes."
9
+ failure:
10
+ already_authenticated: "You are already signed in."
11
+ inactive: "Your account is not activated yet."
12
+ invalid: "Invalid email or password."
13
+ locked: "Your account is locked."
14
+ last_attempt: "You have one more attempt before your account will be locked."
15
+ not_found_in_database: "Invalid email or password."
16
+ timeout: "Your session expired. Please sign in again to continue."
17
+ unauthenticated: "You need to sign in or sign up before continuing."
18
+ unconfirmed: "You have to confirm your account before continuing."
19
+ mailer:
20
+ confirmation_instructions:
21
+ subject: "Confirmation instructions"
22
+ reset_password_instructions:
23
+ subject: "Reset password instructions"
24
+ unlock_instructions:
25
+ subject: "Unlock Instructions"
26
+ omniauth_callbacks:
27
+ failure: "Could not authenticate you from %{kind} because \"%{reason}\"."
28
+ success: "Successfully authenticated from %{kind} account."
29
+ passwords:
30
+ no_token: "You can't access this page without coming from a password reset email. If you do come from a password reset email, please make sure you used the full URL provided."
31
+ send_instructions: "You will receive an email with instructions about how to reset your password in a few minutes."
32
+ send_paranoid_instructions: "If your email address exists in our database, you will receive a password recovery link at your email address in a few minutes."
33
+ updated: "Your password was changed successfully. You are now signed in."
34
+ updated_not_active: "Your password was changed successfully."
35
+ registrations:
36
+ destroyed: "Bye! Your account was successfully cancelled. We hope to see you again soon."
37
+ signed_up: "Welcome! You have signed up successfully."
38
+ signed_up_but_inactive: "You have signed up successfully. However, we could not sign you in because your account is not yet activated."
39
+ signed_up_but_locked: "You have signed up successfully. However, we could not sign you in because your account is locked."
40
+ signed_up_but_unconfirmed: "A message with a confirmation link has been sent to your email address. Please open the link to activate your account."
41
+ update_needs_confirmation: "You updated your account successfully, but we need to verify your new email address. Please check your email and click on the confirm link to finalize confirming your new email address."
42
+ updated: "You updated your account successfully."
43
+ sessions:
44
+ signed_in: "Signed in successfully."
45
+ signed_out: "Signed out successfully."
46
+ unlocks:
47
+ send_instructions: "You will receive an email with instructions about how to unlock your account in a few minutes."
48
+ send_paranoid_instructions: "If your account exists, you will receive an email with instructions about how to unlock it in a few minutes."
49
+ unlocked: "Your account has been unlocked successfully. Please sign in to continue."
50
+ errors:
51
+ messages:
52
+ already_confirmed: "was already confirmed, please try signing in"
53
+ confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
54
+ expired: "has expired, please request a new one"
55
+ not_found: "not found"
56
+ not_locked: "was not locked"
57
+ not_saved:
58
+ one: "1 error prohibited this %{resource} from being saved:"
59
+ other: "%{count} errors prohibited this %{resource} from being saved:"
@@ -0,0 +1,60 @@
1
+ # encoding: UTF-8
2
+ # pt-BR translations for Devise
3
+ pt-BR:
4
+ devise:
5
+ confirmations:
6
+ confirmed: 'Sua conta foi confirmada com sucesso. Você está logado.'
7
+ send_instructions: 'Dentro de minutos, você receberá um e-mail com instruções para a confirmação da sua conta.'
8
+ send_paranoid_instructions: 'Se o seu endereço de e-mail estiver cadastrado, você receberá uma mensagem com instruções para confirmação da sua conta.'
9
+ failure:
10
+ already_authenticated: 'Você já está logado.'
11
+ inactive: 'Sua conta ainda não foi ativada.'
12
+ invalid: 'E-mail ou senha inválidos.'
13
+ invalid_token: 'O token de autenticação não é válido.'
14
+ locked: 'Sua conta está bloqueada.'
15
+ not_found_in_database: 'E-mail ou senha inválidos.'
16
+ timeout: 'Sua sessão expirou, por favor, efetue login novamente para continuar.'
17
+ unauthenticated: 'Para continuar, efetue login ou registre-se.'
18
+ unconfirmed: 'Antes de continuar, confirme a sua conta.'
19
+ mailer:
20
+ confirmation_instructions:
21
+ subject: 'Instruções de confirmação'
22
+ reset_password_instructions:
23
+ subject: 'Instruções de troca de senha'
24
+ unlock_instructions:
25
+ subject: 'Instruções de desbloqueio'
26
+ omniauth_callbacks:
27
+ failure: 'Não foi possível autenticá-lo como %{kind} porque "%{reason}".'
28
+ success: 'Autenticado com sucesso com uma conta de %{kind}.'
29
+ passwords:
30
+ no_token: "Você só pode acessar essa página através de um e-mail de troca de senha. Se já estiver acessando por um e-mail, verifique se a URL fornecida está completa."
31
+ send_instructions: 'Dentro de minutos, você receberá um e-mail com instruções para a troca da sua senha.'
32
+ send_paranoid_instructions: 'Se o seu endereço de e-mail estiver cadastrado, você receberá um link de recuperação da senha via e-mail.'
33
+ updated: 'Sua senha foi alterada com sucesso. Você está logado.'
34
+ updated_not_active: 'Sua senha foi alterada com sucesso.'
35
+ registrations:
36
+ destroyed: 'Tchau! Sua conta foi cancelada com sucesso. Esperamos vê-lo novamente em breve.'
37
+ signed_up: 'Login efetuado com sucesso. Se não foi autorizado, a confirmação será enviada por e-mail.'
38
+ signed_up_but_inactive: 'Você foi cadastrado com sucesso. No entanto, não foi possível efetuar login, pois sua conta não foi ativada.'
39
+ signed_up_but_locked: 'Você foi cadastrado com sucesso. No entanto, não foi possível efetuar login, pois sua conta está bloqueada.'
40
+ signed_up_but_unconfirmed: 'Uma mensagem com um link de confirmação foi enviada para o seu endereço de e-mail. Por favor, abra o link para confirmar a sua conta.'
41
+ update_needs_confirmation: 'Você atualizou a sua conta com sucesso, mas o seu novo endereço de e-mail precisa ser confirmado. Por favor, acesse-o e clique no link de confirmação que enviamos.'
42
+ updated: 'Sua conta foi atualizada com sucesso.'
43
+ sessions:
44
+ signed_in: 'Login efetuado com sucesso!'
45
+ signed_out: 'Saiu com sucesso.'
46
+ unlocks:
47
+ send_instructions: 'Dentro de minutos, você receberá um email com instruções para o desbloqueio da sua conta.'
48
+ send_paranoid_instructions: 'Se sua conta existir, você receberá um e-mail com instruções para desbloqueá-la em alguns minutos.'
49
+ unlocked: 'Sua conta foi desbloqueada com sucesso. Efetue login para continuar.'
50
+
51
+ errors:
52
+ messages:
53
+ already_confirmed: "já foi confirmado"
54
+ confirmation_period_expired: "precisa ser confirmada em até %{period}, por favor, solicite uma nova"
55
+ expired: "expirou, por favor, solicite uma nova"
56
+ not_found: "não encontrado"
57
+ not_locked: "não foi bloqueado"
58
+ not_saved:
59
+ one: "Não foi possível salvar %{resource}: 1 erro"
60
+ other: "Não foi possível salvar %{resource}: %{count} erros."
@@ -0,0 +1,11 @@
1
+ en:
2
+ date:
3
+ formats:
4
+ default: '%m/%d/%Y'
5
+ with_weekday: '%a %m/%d/%y'
6
+
7
+ time:
8
+ formats:
9
+ default: '%a, %b %-d, %Y at %r'
10
+ date: '%b %-d, %Y'
11
+ short: '%B %d'
@@ -0,0 +1,237 @@
1
+ pt-BR:
2
+ date:
3
+ abbr_day_names:
4
+ - Dom
5
+ - Seg
6
+ - Ter
7
+ - Qua
8
+ - Qui
9
+ - Sex
10
+ - Sáb
11
+ abbr_month_names:
12
+ -
13
+ - Jan
14
+ - Fev
15
+ - Mar
16
+ - Abr
17
+ - Mai
18
+ - Jun
19
+ - Jul
20
+ - Ago
21
+ - Set
22
+ - Out
23
+ - Nov
24
+ - Dez
25
+ day_names:
26
+ - Domingo
27
+ - Segunda
28
+ - Terça
29
+ - Quarta
30
+ - Quinta
31
+ - Sexta
32
+ - Sábado
33
+ formats:
34
+ default: ! '%d/%m/%Y'
35
+ long: ! '%d de %B de %Y'
36
+ short: ! '%d de %B'
37
+ month_names:
38
+ -
39
+ - Janeiro
40
+ - Fevereiro
41
+ - Março
42
+ - Abril
43
+ - Maio
44
+ - Junho
45
+ - Julho
46
+ - Agosto
47
+ - Setembro
48
+ - Outubro
49
+ - Novembro
50
+ - Dezembro
51
+ order:
52
+ - :day
53
+ - :month
54
+ - :year
55
+ datetime:
56
+ distance_in_words:
57
+ about_x_hours:
58
+ one: aproximadamente 1 hora
59
+ other: aproximadamente %{count} horas
60
+ about_x_months:
61
+ one: aproximadamente 1 mês
62
+ other: aproximadamente %{count} meses
63
+ about_x_years:
64
+ one: aproximadamente 1 ano
65
+ other: aproximadamente %{count} anos
66
+ almost_x_years:
67
+ one: quase 1 ano
68
+ other: quase %{count} anos
69
+ half_a_minute: meio minuto
70
+ less_than_x_minutes:
71
+ one: menos de um minuto
72
+ other: menos de %{count} minutos
73
+ less_than_x_seconds:
74
+ one: menos de 1 segundo
75
+ other: menos de %{count} segundos
76
+ over_x_years:
77
+ one: mais de 1 ano
78
+ other: mais de %{count} anos
79
+ x_days:
80
+ one: 1 dia
81
+ other: ! '%{count} dias'
82
+ x_minutes:
83
+ one: 1 minuto
84
+ other: ! '%{count} minutos'
85
+ x_months:
86
+ one: 1 mês
87
+ other: ! '%{count} meses'
88
+ x_seconds:
89
+ one: 1 segundo
90
+ other: ! '%{count} segundos'
91
+ prompts:
92
+ day: Dia
93
+ hour: Hora
94
+ minute: Minuto
95
+ month: Mês
96
+ second: Segundo
97
+ year: Ano
98
+ errors: &errors
99
+ format: ! '%{attribute} %{message}'
100
+ messages:
101
+ accepted: deve ser aceito
102
+ blank: não pode ficar em branco
103
+ present: deve ficar em branco
104
+ confirmation: não está de acordo com a confirmação
105
+ empty: não pode ficar vazio
106
+ equal_to: deve ser igual a %{count}
107
+ even: deve ser par
108
+ exclusion: não está disponível
109
+ greater_than: deve ser maior que %{count}
110
+ greater_than_or_equal_to: deve ser maior ou igual a %{count}
111
+ inclusion: não está incluído na lista
112
+ invalid: não é válido
113
+ less_than: deve ser menor que %{count}
114
+ less_than_or_equal_to: deve ser menor ou igual a %{count}
115
+ not_a_number: não é um número
116
+ not_an_integer: não é um número inteiro
117
+ odd: deve ser ímpar
118
+ record_invalid: ! 'A validação falhou: %{errors}'
119
+ restrict_dependent_destroy:
120
+ one: "Não é possível excluir o registro pois existe um %{record} dependente"
121
+ many: "Não é possível excluir o registro pois existem %{record} dependentes"
122
+ taken: já está em uso
123
+ too_long: ! 'é muito longo (máximo: %{count} caracteres)'
124
+ too_short: ! 'é muito curto (mínimo: %{count} caracteres)'
125
+ wrong_length: não possui o tamanho esperado (%{count} caracteres)
126
+ template:
127
+ body: ! 'Por favor, verifique o(s) seguinte(s) campo(s):'
128
+ header:
129
+ one: ! 'Não foi possível gravar %{model}: 1 erro'
130
+ other: ! 'Não foi possível gravar %{model}: %{count} erros.'
131
+ helpers:
132
+ select:
133
+ prompt: Por favor selecione
134
+ submit:
135
+ create: Criar %{model}
136
+ submit: Salvar %{model}
137
+ update: Atualizar %{model}
138
+ number:
139
+ currency:
140
+ format:
141
+ delimiter: .
142
+ format: ! '%u %n'
143
+ precision: 2
144
+ separator: ! ','
145
+ significant: false
146
+ strip_insignificant_zeros: false
147
+ unit: R$
148
+ format:
149
+ delimiter: .
150
+ precision: 3
151
+ separator: ! ','
152
+ significant: false
153
+ strip_insignificant_zeros: false
154
+ human:
155
+ decimal_units:
156
+ format: ! '%n %u'
157
+ units:
158
+ billion:
159
+ one: bilhão
160
+ other: bilhões
161
+ million:
162
+ one: milhão
163
+ other: milhões
164
+ quadrillion:
165
+ one: quatrilhão
166
+ other: quatrilhões
167
+ thousand: mil
168
+ trillion:
169
+ one: trilhão
170
+ other: trilhões
171
+ unit: ''
172
+ format:
173
+ delimiter: .
174
+ precision: 2
175
+ significant: true
176
+ strip_insignificant_zeros: true
177
+ storage_units:
178
+ format: ! '%n %u'
179
+ units:
180
+ byte:
181
+ one: Byte
182
+ other: Bytes
183
+ gb: GB
184
+ kb: KB
185
+ mb: MB
186
+ tb: TB
187
+ percentage:
188
+ format:
189
+ delimiter: .
190
+ precision:
191
+ format:
192
+ delimiter: .
193
+ support:
194
+ array:
195
+ last_word_connector: ! ' e '
196
+ two_words_connector: ! ' e '
197
+ words_connector: ! ', '
198
+ time:
199
+ am: ''
200
+ formats:
201
+ default: ! '%a, %d de %B de %Y, %H:%M:%S %z'
202
+ long: ! '%d de %B de %Y, %H:%M'
203
+ short: ! '%d de %B, %H:%M'
204
+ pm: ''
205
+ # remove these aliases after 'activemodel' and 'activerecord' namespaces are removed from Rails repository
206
+ activemodel:
207
+ errors:
208
+ <<: *errors
209
+ activerecord:
210
+ errors:
211
+ <<: *errors
212
+ models:
213
+ store:
214
+ attributes:
215
+ recruiter/user:
216
+ name: Nome
217
+ username: Nome
218
+ recruiter/job:
219
+ title: Título
220
+ published_at: Publicação
221
+ description: Descrição
222
+ how_to_apply: Como se candidatar
223
+ city: Cidade
224
+ state_id: Estado
225
+ views:
226
+ pagination:
227
+ first: "&laquo; Primeira"
228
+ last: "Última &raquo;"
229
+ previous: "&lsaquo; Anterior"
230
+ next: "Próxima &rsaquo;"
231
+ truncate: "&hellip;"
232
+
233
+ devise:
234
+ sessions:
235
+ new:
236
+ title: Autenticação necessária
237
+ message: Para continuar, por favor logue com uma de suas contas