devise-i18n 0.12.1 → 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/LICENSE.txt +1 -1
- data/README.md +31 -3
- data/VERSION +1 -1
- data/app/views/devise/confirmations/new.html.erb +12 -0
- data/app/views/devise/mailer/confirmation_instructions.html.erb +6 -0
- data/app/views/devise/mailer/password_change.html.erb +4 -0
- data/app/views/devise/mailer/reset_password_instructions.html.erb +9 -0
- data/app/views/devise/mailer/unlock_instructions.html.erb +8 -0
- data/app/views/devise/passwords/edit.html.erb +16 -0
- data/app/views/devise/passwords/new.html.erb +12 -0
- data/app/views/devise/registrations/edit.html.erb +31 -0
- data/app/views/devise/registrations/new.html.erb +18 -0
- data/app/views/devise/sessions/new.html.erb +17 -0
- data/app/views/devise/shared/_links.html.erb +25 -0
- data/app/views/devise/unlocks/new.html.erb +12 -0
- data/lib/devise-i18n.rb +1 -6
- data/lib/devise-i18n/railtie.rb +29 -0
- data/lib/generators/devise/views/i18n_templates/i18n_templates_generator.rb +10 -0
- data/lib/generators/devise/views/locale/locale_generator.rb +10 -0
- data/{config → rails}/locales/ar.yml +62 -2
- data/{config → rails}/locales/az.yml +60 -0
- data/{config → rails}/locales/bg.yml +60 -0
- data/rails/locales/bn.yml +118 -0
- data/{config → rails}/locales/bs.yml +60 -0
- data/{config → rails}/locales/ca.yml +60 -0
- data/rails/locales/cs.yml +119 -0
- data/{config → rails}/locales/da.yml +60 -0
- data/rails/locales/de-CH.yml +120 -0
- data/{config → rails}/locales/de.yml +67 -7
- data/{config → rails}/locales/el.yml +60 -0
- data/{config → rails}/locales/en-GB.yml +63 -3
- data/{config → rails}/locales/en.yml +60 -0
- data/rails/locales/es-MX.yml +118 -0
- data/{config → rails}/locales/es.yml +60 -0
- data/{config → rails}/locales/et.yml +61 -1
- data/{config → rails}/locales/fa.yml +61 -1
- data/{config → rails}/locales/fi.yml +60 -0
- data/{config/locales/fr.yml → rails/locales/fr-CA.yml} +65 -5
- data/rails/locales/fr.yml +118 -0
- data/{config → rails}/locales/he.yml +61 -1
- data/{config → rails}/locales/hr.yml +60 -0
- data/{config → rails}/locales/hu.yml +60 -0
- data/{config → rails}/locales/id.yml +60 -0
- data/{config → rails}/locales/is.yml +60 -0
- data/{config → rails}/locales/it.yml +60 -0
- data/{config → rails}/locales/ja.yml +60 -0
- data/{config → rails}/locales/ko.yml +60 -0
- data/{config → rails}/locales/lt.yml +60 -0
- data/{config → rails}/locales/lv.yml +61 -1
- data/{config → rails}/locales/my.yml +60 -0
- data/{config → rails}/locales/nb.yml +60 -0
- data/rails/locales/nl.yml +118 -0
- data/{config → rails}/locales/no.yml +60 -0
- data/{config → rails}/locales/pl.yml +60 -0
- data/{config → rails}/locales/pt-BR.yml +60 -0
- data/{config → rails}/locales/pt.yml +60 -0
- data/{config → rails}/locales/ro.yml +65 -5
- data/{config → rails}/locales/ru.yml +60 -0
- data/{config → rails}/locales/sk.yml +60 -0
- data/{config → rails}/locales/sl.yml +60 -0
- data/{config → rails}/locales/sr-RS.yml +60 -0
- data/{config → rails}/locales/sr.yml +60 -0
- data/{config → rails}/locales/sv.yml +60 -0
- data/{config → rails}/locales/th.yml +60 -0
- data/{config → rails}/locales/tr.yml +61 -1
- data/{config → rails}/locales/uk.yml +60 -0
- data/{config → rails}/locales/vi.yml +61 -1
- data/{config → rails}/locales/zh-CN.yml +60 -0
- data/{config → rails}/locales/zh-HK.yml +60 -0
- data/{config → rails}/locales/zh-TW.yml +60 -0
- metadata +84 -59
- data/.document +0 -5
- data/.rspec +0 -1
- data/.travis.yml +0 -3
- data/Gemfile +0 -9
- data/Gemfile.lock +0 -84
- data/Rakefile +0 -53
- data/config/locales/cs.yml +0 -59
- data/config/locales/es-MX.yml +0 -58
- data/config/locales/nl.yml +0 -58
- data/devise-i18n.gemspec +0 -113
- data/spec/devise-i18n_spec.rb +0 -8
- data/spec/spec_helper.rb +0 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0849eb4c43330288419f3d5fb91987876f4f8fa2
|
4
|
+
data.tar.gz: 62b614f5da90d442b97190acfa1c74a7316952a7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cfd8393826cd1115b39a9f9c0394c83a68b67d05828c63a9b441d2d7d12fd68673726ff1ef1e5cba9bd6891a18feba591a3e343967f83f66d36a12dd2e072a4
|
7
|
+
data.tar.gz: 512800d9dd4b3c8cb9874286910e4d9a0ee71ed04ce99a49baff8eff84288a5615ab9aea660d9a989f38502ecc08a4787cbd01e03b637be51a79347db2150043
|
data/LICENSE.txt
CHANGED
data/README.md
CHANGED
@@ -2,16 +2,44 @@
|
|
2
2
|
|
3
3
|
[![Build Status](https://secure.travis-ci.org/tigrish/devise-i18n.png)](http://travis-ci.org/tigrish/devise-i18n)
|
4
4
|
|
5
|
+
[Devise](https://github.com/plataformatec/devise) "is a flexible authentication solution for Rails based on Warden". Internationalization (aka i18n) is a "means of adapting computer software to different languages, regional differences and technical requirements of a target market".
|
6
|
+
|
7
|
+
Devise supports i18n in controllers, models, and in other areas, but it does not have support for internationalized views. devise-i18n adds this support. Devise also does not include the actual translations. devise-i18n does this too.
|
8
|
+
|
9
|
+
devise-18n is for devise v2 and later. For devise v1.5, use the **[devise-1.5 branch](https://github.com/tigrish/devise-i18n/tree/devise-1.5)**.
|
10
|
+
|
11
|
+
|
12
|
+
## Installation
|
13
|
+
|
5
14
|
Add to your Gemfile:
|
6
15
|
```ruby
|
7
16
|
gem 'devise-i18n'
|
8
17
|
```
|
9
18
|
|
10
|
-
|
19
|
+
Assuming you have _not_ previously generated Devise's views into your project, that's all you need to do. If you _have_ previously done this, you will need to regenerate your views (see the next section) and then reapply whatever customizations that made you do this in the first place.
|
20
|
+
|
21
|
+
|
22
|
+
## Customizing views
|
23
|
+
|
24
|
+
The `devise:views:i18n_templates` generator will copy all devise-i18n's views to your application so that you can modify the files as you wish.
|
25
|
+
|
26
|
+
``` sh
|
27
|
+
rails g devise:views:i18n_templates
|
28
|
+
```
|
29
|
+
You should only do this if you really need to, though, because doing this will make it so that you won't get the updated views should they change in a future version of devise-i18n. To "uncustomize" the views, just delete them, and your app will go back to grabbing devise-i18n's default views.
|
30
|
+
|
31
|
+
|
32
|
+
## Customizing translations
|
33
|
+
|
34
|
+
If, for whatever reason, you want to change devise-i18n's translations, you can generate the locale file into your project with
|
35
|
+
``` sh
|
36
|
+
rails g devise:views:locale it
|
37
|
+
```
|
38
|
+
|
39
|
+
which will generate `config/locales/devise.it.yml`. If you're doing this to add a missing translation or to improve an existing one, it'd be nice if you could share your suggestions with us!
|
11
40
|
|
12
|
-
See the **[devise-1.5 branch](https://github.com/tigrish/devise-i18n/tree/devise-1.5)** for older translations.
|
13
41
|
|
14
|
-
## Contributing to devise-i18n
|
42
|
+
## Contributing translations to devise-i18n
|
15
43
|
|
16
44
|
- Edit the translations directly on the [devise-i18n](http://www.localeapp.com/projects/377) project on Locale.
|
17
45
|
- **That's it!**
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
1.0.0
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<h2><%= t('.resend_confirmation_instructions', :default => 'Resend confirmation instructions') %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => confirmation_path(resource_name), :html => { :method => :post }) do |f| %>
|
4
|
+
<%= devise_error_messages! %>
|
5
|
+
|
6
|
+
<div><%= f.label :email %><br />
|
7
|
+
<%= f.email_field :email %></div>
|
8
|
+
|
9
|
+
<div><%= f.submit t('.resend_confirmation_instructions', :default => 'Resend confirmation instructions') %></div>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<%= render "devise/shared/links" %>
|
@@ -0,0 +1,6 @@
|
|
1
|
+
<% require 'devise/version' %>
|
2
|
+
<p><%= t('.greeting', :recipient => @resource.email, :default => "Welcome #{@resource.email}!") %></p>
|
3
|
+
|
4
|
+
<p><%= t('.instruction', :default => "You can confirm your account email through the link below:") %></p>
|
5
|
+
<p><%= link_to t('.action', :default => "Confirm my account"),
|
6
|
+
confirmation_url(@resource, :confirmation_token => (Devise::VERSION.start_with?('3.') ? @token : @resource.confirmation_token)) %></p>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<% require 'devise/version' %>
|
2
|
+
<p><%= t('.greeting', :recipient => @resource.email, :default => "Hello #{@resource.email}!") %></p>
|
3
|
+
|
4
|
+
<p><%= t('.instruction', :default => "Someone has requested a link to change your password, and you can do this through the link below.") %></p>
|
5
|
+
|
6
|
+
<p><%= link_to t('.action', :default => "Change my password"), edit_password_url(@resource, :reset_password_token => (Devise::VERSION.start_with?('3.') ? @token : @resource.reset_password_token)) %></p>
|
7
|
+
|
8
|
+
<p><%= t('.instruction_2', :default => "If you didn't request this, please ignore this email.") %></p>
|
9
|
+
<p><%= t('.instruction_3', :default => "Your password won't change until you access the link above and create a new one.") %></p>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<% require 'devise/version' %>
|
2
|
+
<p><%= t('.greeting', :recipient => @resource.email, :default => "Hello #{@resource.email}!") %></p>
|
3
|
+
|
4
|
+
<p><%= t('.message', :default => "Your account has been locked due to an excessive amount of unsuccessful sign in attempts.") %></p>
|
5
|
+
|
6
|
+
<p><%= t('.instruction', :default => "Click the link below to unlock your account:") %></p>
|
7
|
+
|
8
|
+
<p><%= link_to t('.action', :default => "Unlock my account"), unlock_url(@resource, :unlock_token => (Devise::VERSION.start_with?('3.') ? @token :@resource.unlock_token)) %></p>
|
@@ -0,0 +1,16 @@
|
|
1
|
+
<h2><%= t('.change_your_password', :default => 'Change your password') %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :put }) do |f| %>
|
4
|
+
<%= devise_error_messages! %>
|
5
|
+
<%= f.hidden_field :reset_password_token %>
|
6
|
+
|
7
|
+
<div><%= f.label :password, t('.new_password', :default => 'New password') %><br />
|
8
|
+
<%= f.password_field :password %></div>
|
9
|
+
|
10
|
+
<div><%= f.label :password_confirmation, t('.confirm_new_password', :default => 'Confirm new password') %><br />
|
11
|
+
<%= f.password_field :password_confirmation %></div>
|
12
|
+
|
13
|
+
<div><%= f.submit t('.change_my_password', :default => 'Change my password') %></div>
|
14
|
+
<% end %>
|
15
|
+
|
16
|
+
<%= render "devise/shared/links" %>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<h2><%= t('.forgot_your_password', :default => 'Forgot your password?') %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => password_path(resource_name), :html => { :method => :post }) do |f| %>
|
4
|
+
<%= devise_error_messages! %>
|
5
|
+
|
6
|
+
<div><%= f.label :email %><br />
|
7
|
+
<%= f.email_field :email %></div>
|
8
|
+
|
9
|
+
<div><%= f.submit t('.send_me_reset_password_instructions', :default => "Send me reset password instructions") %></div>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<%= render "devise/shared/links" %>
|
@@ -0,0 +1,31 @@
|
|
1
|
+
<h2><%= t('.title', :resource => resource_class.model_name.human , :default => "Edit #{resource_name.to_s.humanize}") %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
|
4
|
+
<%= devise_error_messages! %>
|
5
|
+
|
6
|
+
<div><%= f.label :email %><br />
|
7
|
+
<%= f.email_field :email %></div>
|
8
|
+
|
9
|
+
<%- if devise_mapping.confirmable? && resource.pending_reconfirmation? -%>
|
10
|
+
<p>
|
11
|
+
<%= t('.currently_waiting_confirmation_for_email', :email => resource.unconfirmed_email, :default => "Currently waiting confirmation for: %{email}") %>
|
12
|
+
</p>
|
13
|
+
<%- end -%>
|
14
|
+
|
15
|
+
<div><%= f.label :password %> <i>(<%= t('.leave_blank_if_you_don_t_want_to_change_it', :default => "leave blank if you don't want to change it") %>)</i><br />
|
16
|
+
<%= f.password_field :password, :autocomplete => "off" %></div>
|
17
|
+
|
18
|
+
<div><%= f.label :password_confirmation %><br />
|
19
|
+
<%= f.password_field :password_confirmation %></div>
|
20
|
+
|
21
|
+
<div><%= f.label :current_password %> <i>(<%= t('.we_need_your_current_password_to_confirm_your_changes', :default => 'we need your current password to confirm your changes') %>)</i><br />
|
22
|
+
<%= f.password_field :current_password %></div>
|
23
|
+
|
24
|
+
<div><%= f.submit t('.update', :default => "Update") %></div>
|
25
|
+
<% end %>
|
26
|
+
|
27
|
+
<h3><%= t('.cancel_my_account', :default => 'Cancel my account') %></h3>
|
28
|
+
|
29
|
+
<p><%= t('.unhappy', :default => 'Unhappy') %>? <%= link_to t('.cancel_my_account', :default => "Cancel my account"), registration_path(resource_name), :data => { :confirm => t('.are_you_sure', :default => "Are you sure?") }, :method => :delete %>.</p>
|
30
|
+
|
31
|
+
<%= link_to t('devise.shared.links.back', :default => "Back"), :back %>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
<h2><%= t('.sign_up', :default => "Sign up") %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %>
|
4
|
+
<%= devise_error_messages! %>
|
5
|
+
|
6
|
+
<div><%= f.label :email %><br />
|
7
|
+
<%= f.email_field :email %></div>
|
8
|
+
|
9
|
+
<div><%= f.label :password %><br />
|
10
|
+
<%= f.password_field :password %></div>
|
11
|
+
|
12
|
+
<div><%= f.label :password_confirmation %><br />
|
13
|
+
<%= f.password_field :password_confirmation %></div>
|
14
|
+
|
15
|
+
<div><%= f.submit t('.sign_up', :default => "Sign up") %></div>
|
16
|
+
<% end %>
|
17
|
+
|
18
|
+
<%= render "devise/shared/links" %>
|
@@ -0,0 +1,17 @@
|
|
1
|
+
<h2><%= t('.sign_in', :default => "Sign in") %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => session_path(resource_name)) do |f| %>
|
4
|
+
<div><%= f.label :email %><br />
|
5
|
+
<%= f.email_field :email %></div>
|
6
|
+
|
7
|
+
<div><%= f.label :password %><br />
|
8
|
+
<%= f.password_field :password %></div>
|
9
|
+
|
10
|
+
<% if devise_mapping.rememberable? -%>
|
11
|
+
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
|
12
|
+
<% end -%>
|
13
|
+
|
14
|
+
<div><%= f.submit t('.sign_in', :default => "Sign in") %></div>
|
15
|
+
<% end %>
|
16
|
+
|
17
|
+
<%= render "devise/shared/links" %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
<%- if controller_name != 'sessions' %>
|
2
|
+
<%= link_to t(".sign_in", :default => "Sign in"), new_session_path(resource_name) %><br />
|
3
|
+
<% end -%>
|
4
|
+
|
5
|
+
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
6
|
+
<%= link_to t(".sign_up", :default => "Sign up"), new_registration_path(resource_name) %><br />
|
7
|
+
<% end -%>
|
8
|
+
|
9
|
+
<%- if devise_mapping.recoverable? && controller_name != 'passwords' %>
|
10
|
+
<%= link_to t(".forgot_your_password", :default => "Forgot your password?"), new_password_path(resource_name) %><br />
|
11
|
+
<% end -%>
|
12
|
+
|
13
|
+
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
14
|
+
<%= link_to t('.didn_t_receive_confirmation_instructions', :default => "Didn't receive confirmation instructions?"), new_confirmation_path(resource_name) %><br />
|
15
|
+
<% end -%>
|
16
|
+
|
17
|
+
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
18
|
+
<%= link_to t('.didn_t_receive_unlock_instructions', :default => "Didn't receive unlock instructions?"), new_unlock_path(resource_name) %><br />
|
19
|
+
<% end -%>
|
20
|
+
|
21
|
+
<%- if devise_mapping.omniauthable? %>
|
22
|
+
<%- resource_class.omniauth_providers.each do |provider| %>
|
23
|
+
<%= link_to t('.sign_in_with_provider', :provider => provider.to_s.titleize, :default => "Sign in with #{provider.to_s.titleize}"), omniauth_authorize_path(resource_name, provider) %><br />
|
24
|
+
<% end -%>
|
25
|
+
<% end -%>
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<h2><%= t('.resend_unlock_instructions', :default => "Resend unlock instructions") %></h2>
|
2
|
+
|
3
|
+
<%= form_for(resource, :as => resource_name, :url => unlock_path(resource_name), :html => { :method => :post }) do |f| %>
|
4
|
+
<%= devise_error_messages! %>
|
5
|
+
|
6
|
+
<div><%= f.label :email %><br />
|
7
|
+
<%= f.email_field :email %></div>
|
8
|
+
|
9
|
+
<div><%= f.submit t('.resend_unlock_instructions', :default => "Resend unlock instructions") %></div>
|
10
|
+
<% end %>
|
11
|
+
|
12
|
+
<%= render "devise/shared/links" %>
|
data/lib/devise-i18n.rb
CHANGED
@@ -0,0 +1,29 @@
|
|
1
|
+
require 'rails'
|
2
|
+
|
3
|
+
module DeviseI18n
|
4
|
+
# This adds the views to view path
|
5
|
+
class Engine < ::Rails::Engine
|
6
|
+
end
|
7
|
+
|
8
|
+
class Railtie < ::Rails::Railtie #:nodoc:
|
9
|
+
initializer 'devise-i18n' do |app|
|
10
|
+
DeviseI18n::Railtie.instance_eval do
|
11
|
+
pattern = pattern_from app.config.i18n.available_locales
|
12
|
+
|
13
|
+
add("rails/locales/#{pattern}.yml")
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
protected
|
18
|
+
|
19
|
+
def self.add(pattern)
|
20
|
+
files = Dir[File.join(File.dirname(__FILE__), '../..', pattern)]
|
21
|
+
I18n.load_path.concat(files)
|
22
|
+
end
|
23
|
+
|
24
|
+
def self.pattern_from(args)
|
25
|
+
array = Array(args || [])
|
26
|
+
array.blank? ? '*' : "{#{array.join ','}}"
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Devise
|
2
|
+
module Views
|
3
|
+
class I18nTemplatesGenerator < Rails::Generators::Base
|
4
|
+
source_root File.expand_path('../../../../../../app/views', __FILE__)
|
5
|
+
def copy_views
|
6
|
+
directory("devise", Rails.root.join("app", "views", "devise"))
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -0,0 +1,10 @@
|
|
1
|
+
module Devise
|
2
|
+
module Views
|
3
|
+
class LocaleGenerator < Rails::Generators::NamedBase
|
4
|
+
source_root File.expand_path('../../../../../../rails/locales', __FILE__)
|
5
|
+
def copy_locale
|
6
|
+
copy_file("#{name}.yml", Rails.root.join("config", "locales", "devise.views.#{name}.yml"))
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
end
|
@@ -1,7 +1,19 @@
|
|
1
1
|
ar:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
user:
|
5
|
+
current_password: "كلمة المرور الحالية"
|
6
|
+
email: "البريد الإلكتروني"
|
7
|
+
password: "كلمة المرود"
|
8
|
+
password_confirmation: "تأكيد كلمة المرور"
|
9
|
+
remember_me: "تذكرني"
|
10
|
+
models:
|
11
|
+
user: "المستخدم"
|
2
12
|
devise:
|
3
13
|
confirmations:
|
4
14
|
confirmed: "تمّ تأكيد الحساب بنجاح، وتمّ تسجيل الدّخول."
|
15
|
+
new:
|
16
|
+
resend_confirmation_instructions: "أعدْ إرسال تعليمات التأكيد"
|
5
17
|
send_instructions: "ستصل خلال دقائق رسالة على البريد الإلكتروني تتضمّن الخطوات اللازمة لتأكيد الحساب."
|
6
18
|
send_paranoid_instructions: "إذا كان البريد الإلكتروني مسجّلاً، فستصل خلال دقائق رسالة تتضمّن الخطوات اللازمة لتأكيد الحساب."
|
7
19
|
failure:
|
@@ -16,15 +28,39 @@ ar:
|
|
16
28
|
unconfirmed: "يجب تأكيد الحساب حتّى تتمكّن من المُتابعة."
|
17
29
|
mailer:
|
18
30
|
confirmation_instructions:
|
31
|
+
action: "أكّد حسابي"
|
32
|
+
greeting: "مرحبا %{recipient}"
|
33
|
+
instruction: "يمكن تأكيد حساب بريدك الإلكتروني من خلال الرابط التّالي:"
|
19
34
|
subject: "تعليمات تأكيد الحساب"
|
35
|
+
password_change:
|
36
|
+
greeting:
|
37
|
+
message:
|
38
|
+
subject:
|
20
39
|
reset_password_instructions:
|
40
|
+
action: "غيّر كلمة السر"
|
41
|
+
greeting: "مرحبا %{recipient}"
|
42
|
+
instruction: "طلب أحدهم رابطًا لتغيير كلمة السر الخاصة بك، ويُمكن عمل ذلك من خلال الرابط التالي."
|
43
|
+
instruction_2: "إن لم تكن أنت من طلب هذا، من فضلك تجاهل هذه الرسالة."
|
44
|
+
instruction_3: "لن تتغيّر كلمة السر الخاصة بك حتى تتبع الرابط السابق وتُنشئ كلمة سر جديدة."
|
21
45
|
subject: "تعليمات إعادة تعيين كلمة المرور"
|
22
46
|
unlock_instructions:
|
47
|
+
action: "أزلْ الحظر عن حسابي"
|
48
|
+
greeting: "مرحبًا %{recipient}"
|
49
|
+
instruction: "انقرْ الرابط على الرابط التالي لفك الحظر عن حسابك:"
|
50
|
+
message: "قُفل حسابك بسبب المحاولات الفاشلة في تسجيل الدخول."
|
23
51
|
subject: "تعليمات إعادة تفعيل الحساب"
|
24
52
|
omniauth_callbacks:
|
25
53
|
failure: "فشلت عمليّة التحقق عبر %{kind} للسبب التّالي: %{reason}"
|
26
54
|
success: "تمّ التحقّق من الحساب بنجاح بإستخدام %{kind}"
|
27
55
|
passwords:
|
56
|
+
edit:
|
57
|
+
change_my_password: "غيّر كلمة المرور خاصتي"
|
58
|
+
change_your_password: "غيّر كلمة المرور الخاصة بك"
|
59
|
+
confirm_new_password: "أكّد كلمة السر الجديدة"
|
60
|
+
new_password: "كلمة سر جديدة"
|
61
|
+
new:
|
62
|
+
forgot_your_password: "هل نسيت كلمة المرور؟"
|
63
|
+
send_me_reset_password_instructions: "أرسلْ لي تعليمات تصفير كلمة المرور"
|
28
64
|
no_token: "لا يُمكن الدّخول إلى هذه الصفحة إلّا بإستخدام رسالة إعادة ضبط كلمة المرور. إن كان الوصول لهذه الصفحة عبر تلك الرسالة فالرجاء التأكد من فتح كامل الرابط بشكل صحيح."
|
29
65
|
send_instructions: "ستصل خلال دقائق رسالة بريد إلكتروني تحوي التعليمات اللازمة لإعادة ضبط كلمة السر."
|
30
66
|
send_paranoid_instructions: "إذا كان بريدك الإلكتروني مسجلاً عندنا فستصل إليه خلال دقائق رسالة تتضمّن رابطاً لاستعادة كلمة المرور."
|
@@ -32,6 +68,17 @@ ar:
|
|
32
68
|
updated_not_active: "تمّ تعديل كلمة المرور بنجاح."
|
33
69
|
registrations:
|
34
70
|
destroyed: "لقد تمّت إزالة الحساب، نأمل في نتقابل مجدداً في وقت قريب، إلى اللقاء! "
|
71
|
+
edit:
|
72
|
+
are_you_sure: "هل أنت متأكّد؟"
|
73
|
+
cancel_my_account: "ألغِ حسابي"
|
74
|
+
currently_waiting_confirmation_for_email: "في انتظار تفعيل البريد الإلكتروني %{email}"
|
75
|
+
leave_blank_if_you_don_t_want_to_change_it: "أبقه فارغًا إن كنت لا ترغب في تغييره"
|
76
|
+
title: "تعديل %{resource}"
|
77
|
+
unhappy: "غير راضٍ؟"
|
78
|
+
update: "تحديث"
|
79
|
+
we_need_your_current_password_to_confirm_your_changes: "نحتاج كلمة المرور الحالية خاصتك لتأكيد تغيراتك"
|
80
|
+
new:
|
81
|
+
sign_up: "سجّلْ"
|
35
82
|
signed_up: "تمّ التسجيل في الموقع بنجاح، أهلاً وسهلاً!"
|
36
83
|
signed_up_but_inactive: "تمّ التسجيل في الموقع بنجاح، ولكن لا يُمكن تسجيل الدخول قبل تفعيل الحساب."
|
37
84
|
signed_up_but_locked: "تمّ التسجيل في الموقع بنجاح، ولكن لا يمكن تسجيل الدخول ﻷن الحساب مُعلّق."
|
@@ -40,9 +87,22 @@ ar:
|
|
40
87
|
updated: "تمّ تعديل الحساب بنجاح."
|
41
88
|
sessions:
|
42
89
|
already_signed_out:
|
90
|
+
new:
|
91
|
+
sign_in: "سجّلْ الدخول"
|
43
92
|
signed_in: "تمّ تسجيل الدخول."
|
44
93
|
signed_out: "تمّ تسجيل الخروج."
|
94
|
+
shared:
|
95
|
+
links:
|
96
|
+
back: "عودة"
|
97
|
+
didn_t_receive_confirmation_instructions: "ألم تستلم تعليمات التأكيد؟"
|
98
|
+
didn_t_receive_unlock_instructions: "ألم تستلم تعليمات فك الحظر؟"
|
99
|
+
forgot_your_password: "هل نسيت كلمة المرور؟"
|
100
|
+
sign_in: "سجّلْ الدخول"
|
101
|
+
sign_in_with_provider: "سجّلْ الدخول عن طريق %{provider}"
|
102
|
+
sign_up: "سجّلْ"
|
45
103
|
unlocks:
|
104
|
+
new:
|
105
|
+
resend_unlock_instructions: "أعدْ إرسال تعليمات فك الحظر"
|
46
106
|
send_instructions: "خلال بضعة دقائق، سوف تصل رسالة بالتعليمات اللازمة لإعادة تفعيل الحساب."
|
47
107
|
send_paranoid_instructions: "إذا كان الحساب موجوداً، ستصل رسالة خلال دقائق تتضمّن الارشادات عن كيفيّة التفعيل. "
|
48
108
|
unlocked: "لقد تمّ فتح الحساب بنجاح. الرجاء الدخول للاستمرار."
|
@@ -56,7 +116,7 @@ ar:
|
|
56
116
|
not_saved:
|
57
117
|
few: "%{count} مشكلة منعت %{resource} من التخزين بنجاح."
|
58
118
|
many: "%{count} مشاكل منعت %{resource} من التخزين بنجاح."
|
59
|
-
one: "مشكلة واحدة منعت {resource}
|
119
|
+
one: "مشكلة واحدة منعت %{resource} من التخزين بنجاح."
|
60
120
|
other: "%{count} مشكلة منعت %{resource} من التخزين بنجاح."
|
61
|
-
two: "مشكلتين منعتا {resource}
|
121
|
+
two: "مشكلتين منعتا %{resource} من التخزين بنجاح."
|
62
122
|
zero:
|
@@ -1,7 +1,19 @@
|
|
1
1
|
az:
|
2
|
+
activerecord:
|
3
|
+
attributes:
|
4
|
+
user:
|
5
|
+
current_password:
|
6
|
+
email:
|
7
|
+
password:
|
8
|
+
password_confirmation:
|
9
|
+
remember_me:
|
10
|
+
models:
|
11
|
+
user:
|
2
12
|
devise:
|
3
13
|
confirmations:
|
4
14
|
confirmed: Hesabınız uğurla təstiqləndi. Hazırda siz hesabınıza daxil olmuşsunuz.
|
15
|
+
new:
|
16
|
+
resend_confirmation_instructions:
|
5
17
|
send_instructions: Bir neçə dəqiqə ərzində hesabınızı təstiqləmək üçün sizə email göndəriləcəkdir.
|
6
18
|
send_paranoid_instructions: "Əgər sizin email ünvanı bazada varsa, bir neçə dəqiqə ərzində hesabınızı təstiqləmək üçün email sizə göndəriləcəkdir."
|
7
19
|
failure:
|
@@ -16,15 +28,39 @@ az:
|
|
16
28
|
unconfirmed: Davam etmək üçün hesabınızı təstiqləməlisiniz.
|
17
29
|
mailer:
|
18
30
|
confirmation_instructions:
|
31
|
+
action:
|
32
|
+
greeting:
|
33
|
+
instruction:
|
19
34
|
subject: Hesabın təstiqlənməsi
|
35
|
+
password_change:
|
36
|
+
greeting:
|
37
|
+
message:
|
38
|
+
subject:
|
20
39
|
reset_password_instructions:
|
40
|
+
action:
|
41
|
+
greeting:
|
42
|
+
instruction:
|
43
|
+
instruction_2:
|
44
|
+
instruction_3:
|
21
45
|
subject: "Şifrənin yenilənməsi"
|
22
46
|
unlock_instructions:
|
47
|
+
action:
|
48
|
+
greeting:
|
49
|
+
instruction:
|
50
|
+
message:
|
23
51
|
subject: Hesabın blokdan çıxardılması
|
24
52
|
omniauth_callbacks:
|
25
53
|
failure: '"%{reason}" səbəbindən sizi %{kind} autentikasiya etmək mümkün olmadı.'
|
26
54
|
success: "%{kind} hesabıyla uğurla daxil oldunuz."
|
27
55
|
passwords:
|
56
|
+
edit:
|
57
|
+
change_my_password:
|
58
|
+
change_your_password:
|
59
|
+
confirm_new_password:
|
60
|
+
new_password:
|
61
|
+
new:
|
62
|
+
forgot_your_password:
|
63
|
+
send_me_reset_password_instructions:
|
28
64
|
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.
|
29
65
|
send_instructions: Siz bir neçə dəqiqə ərazində, şifrənizi necə dəyişmək haqqında email qəbul edəcəksiniz.
|
30
66
|
send_paranoid_instructions: "Əgər sizin email ünvanı bazada varsa, bir neçə dəqiqə ərazində, şifrənizi necə dəyişmək haqqında email qəbul edəcəksiniz."
|
@@ -32,6 +68,17 @@ az:
|
|
32
68
|
updated_not_active: "Şifrəniz uğurla dəyişdirildi."
|
33
69
|
registrations:
|
34
70
|
destroyed: Hesabınız sistemimizdən uğurla çıxarıldı.
|
71
|
+
edit:
|
72
|
+
are_you_sure:
|
73
|
+
cancel_my_account:
|
74
|
+
currently_waiting_confirmation_for_email:
|
75
|
+
leave_blank_if_you_don_t_want_to_change_it:
|
76
|
+
title:
|
77
|
+
unhappy:
|
78
|
+
update:
|
79
|
+
we_need_your_current_password_to_confirm_your_changes:
|
80
|
+
new:
|
81
|
+
sign_up:
|
35
82
|
signed_up: Təbriklər! Siz uğurla qeydiyyatdan keçdiniz.
|
36
83
|
signed_up_but_inactive: Siz uğurla qeydiyyatdan keçdiniz. Halbuki, sistemə yalnız hesabınızı aktiv etdikdən sonra daxil ola bilərsiniz.
|
37
84
|
signed_up_but_locked: Siz uğurla qeydiyyatdan keçdiniz. Ancaq hesabınız blokda olduğu üçün biz sizi sistemə daxil edə bilmirik.
|
@@ -40,9 +87,22 @@ az:
|
|
40
87
|
updated: Hesabınızı uğurla yenilədiniz.
|
41
88
|
sessions:
|
42
89
|
already_signed_out: Ugurlu cıxış.
|
90
|
+
new:
|
91
|
+
sign_in:
|
43
92
|
signed_in: Sistemə uğurla daxil oldunuz.
|
44
93
|
signed_out: Sistemdən uğurla çıxdınız.
|
94
|
+
shared:
|
95
|
+
links:
|
96
|
+
back:
|
97
|
+
didn_t_receive_confirmation_instructions:
|
98
|
+
didn_t_receive_unlock_instructions:
|
99
|
+
forgot_your_password:
|
100
|
+
sign_in:
|
101
|
+
sign_in_with_provider:
|
102
|
+
sign_up:
|
45
103
|
unlocks:
|
104
|
+
new:
|
105
|
+
resend_unlock_instructions:
|
46
106
|
send_instructions: Bir neçə dəqiqə ərzində hesabınızı blokdan çıxarmaq üçün sizə email göndəriləcəkdir.
|
47
107
|
send_paranoid_instructions: "Əgər bazada belə hesab varsa, bir neçə dəqiqə ərzində hesabınızı blokdan çıxarmaq üçün sizə email göndəriləcəkdir."
|
48
108
|
unlocked: Hesabınız uğurlar blokdan çıxarıldı, davam etmək üçün zəhmət olmasa daxil olun
|