devise-i18n 0.12.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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
|
[](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
|