radiant-reader-extension 3.0.0.rc4 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.md +105 -38
- data/Rakefile +4 -4
- data/app/controllers/accounts_controller.rb +24 -11
- data/app/controllers/admin/groups_controller.rb +15 -0
- data/app/controllers/admin/memberships_controller.rb +13 -7
- data/app/controllers/admin/messages_controller.rb +1 -0
- data/app/controllers/admin/permissions_controller.rb +15 -8
- data/app/controllers/groups_controller.rb +6 -4
- data/app/controllers/password_resets_controller.rb +1 -1
- data/app/controllers/reader_action_controller.rb +7 -51
- data/app/controllers/reader_sessions_controller.rb +9 -11
- data/app/helpers/reader_helper.rb +23 -3
- data/app/models/group.rb +45 -16
- data/app/models/message.rb +4 -11
- data/app/models/permission.rb +4 -0
- data/app/models/reader.rb +61 -26
- data/app/models/reader_notifier.rb +2 -2
- data/app/models/reader_page.rb +9 -5
- data/app/views/accounts/{_memberships.html.haml → _choose_memberships.html.haml} +0 -0
- data/app/views/accounts/_form.html.haml +9 -11
- data/app/views/accounts/_preamble.html.haml +14 -0
- data/app/views/accounts/_profile_form.html.haml +13 -29
- data/app/views/accounts/dashboard.html.haml +0 -1
- data/app/views/accounts/edit.html.haml +3 -3
- data/app/views/accounts/edit_profile.html.haml +10 -10
- data/app/views/admin/groups/_chooser.html.haml +8 -0
- data/app/views/admin/groups/_form.html.haml +7 -5
- data/app/views/admin/groups/_group.html.haml +29 -0
- data/app/views/admin/groups/index.html.haml +2 -28
- data/app/views/admin/groups/show.html.haml +3 -2
- data/app/views/admin/memberships/_reader.html.haml +2 -6
- data/app/views/admin/messages/_form.html.haml +10 -11
- data/app/views/admin/messages/_list_function.haml +2 -3
- data/app/views/admin/messages/{index.haml → index.html.haml} +21 -11
- data/app/views/admin/pages/_page_groups.html.haml +5 -11
- data/app/views/admin/permissions/_page.html.haml +6 -12
- data/app/views/admin/reader_configuration/edit.html.haml +2 -0
- data/app/views/admin/reader_configuration/show.html.haml +2 -0
- data/app/views/groups/_group.html.haml +12 -0
- data/app/views/groups/show.html.haml +10 -3
- data/app/views/readers/_description.html.haml +3 -0
- data/app/views/readers/_groups.html.haml +9 -0
- data/app/views/{accounts → readers}/_links.html.haml +2 -2
- data/app/views/readers/_list.html.haml +23 -0
- data/app/views/{accounts/_groups.html.haml → readers/_memberships.html.haml} +0 -1
- data/app/views/{accounts/_reader.html.haml → readers/_mugshot.html.haml} +1 -1
- data/app/views/readers/_people.html.haml +6 -0
- data/app/views/readers/_profile.html.haml +30 -0
- data/app/views/readers/_reader.html.haml +28 -0
- data/app/views/readers/index.html.haml +20 -0
- data/app/views/{accounts → readers}/show.html.haml +1 -2
- data/app/views/shared/_standard_reader_parts.html.haml +1 -1
- data/app/views/shared/not_allowed.html.haml +16 -0
- data/config/initializers/formats.rb +1 -2
- data/config/initializers/radiant_config.rb +5 -2
- data/config/locales/en.yml +181 -140
- data/config/routes.rb +25 -16
- data/db/migrate/001_create_readers.rb +0 -1
- data/db/migrate/20090921125653_reader_messages.rb +0 -1
- data/db/migrate/20090921125654_group_messages.rb +0 -1
- data/db/migrate/20110812111934_groups_nested_set.rb +19 -0
- data/db/migrate/20110814070858_message_has_many_groups.rb +14 -0
- data/db/migrate/20110905194602_group_ancestry.rb +23 -0
- data/lib/controller_extensions.rb +49 -0
- data/lib/grouped_model.rb +49 -8
- data/lib/grouped_page.rb +17 -5
- data/lib/message_tags.rb +21 -3
- data/lib/radiant-reader-extension.rb +1 -1
- data/lib/reader_admin_ui.rb +7 -8
- data/lib/reader_tags.rb +1 -1
- data/lib/site_controller_extensions.rb +7 -18
- data/public/images/furniture/csv.png +0 -0
- data/public/images/furniture/csv_tiny.png +0 -0
- data/public/images/furniture/vcard.png +0 -0
- data/public/images/furniture/vcard_tiny.png +0 -0
- data/public/javascripts/admin/reader.js +22 -1
- data/public/stylesheets/sass/admin/reader_group.sass +23 -22
- data/public/stylesheets/sass/reader.sass +81 -17
- data/radiant-reader-extension.gemspec +3 -1
- data/reader_extension.rb +7 -9
- data/spec/controllers/accounts_controller_spec.rb +8 -22
- data/spec/controllers/admin/messages_controller_spec.rb +0 -12
- data/spec/datasets/readers_dataset.rb +41 -38
- data/spec/lib/reader_tags_spec.rb +1 -1
- data/spec/models/group_spec.rb +89 -22
- data/spec/models/message_spec.rb +1 -1
- data/spec/models/reader_notifier_spec.rb +1 -1
- data/spec/models/reader_page_spec.rb +34 -18
- data/spec/models/reader_spec.rb +0 -1
- data/spec/spec.opts +4 -3
- metadata +51 -28
- data/app/views/accounts/_contributions.html.haml +0 -2
- data/app/views/accounts/_description.html.haml +0 -2
- data/app/views/accounts/_list.html.haml +0 -17
- data/app/views/accounts/_profile.html.haml +0 -29
- data/app/views/accounts/index.html.haml +0 -23
- data/app/views/groups/_all.html.haml +0 -10
- data/app/views/site/not_allowed.html.haml +0 -4
- data/db/migrate/20100922152338_lock_versions.rb +0 -9
- data/db/migrate/20101004074945_unlock_version.rb +0 -9
@@ -7,11 +7,21 @@
|
|
7
7
|
%tr
|
8
8
|
- render_region :thead do |thead|
|
9
9
|
- thead.subject_header do
|
10
|
-
%th.message
|
10
|
+
%th.message
|
11
|
+
= t('reader_extension.subject')
|
12
|
+
- thead.function_header do
|
13
|
+
%th.message_function
|
14
|
+
= t('reader_extension.function')
|
15
|
+
- thead.groups_header do
|
16
|
+
%th.message_groups
|
17
|
+
= t('reader_extension.groups')
|
11
18
|
- thead.sent_header do
|
12
|
-
%th.message_sent
|
19
|
+
%th.message_sent
|
20
|
+
= t('reader_extension.delivery_status')
|
13
21
|
- thead.modify_header do
|
14
|
-
%th.modify
|
22
|
+
%th.modify
|
23
|
+
= t('modify')
|
24
|
+
|
15
25
|
%tbody
|
16
26
|
- @messages.each do |message|
|
17
27
|
%tr
|
@@ -19,14 +29,14 @@
|
|
19
29
|
- tbody.subject_cell do
|
20
30
|
%td.name
|
21
31
|
= link_to message.subject, admin_message_url(message), :class => message.has_function? ? "functional" : "normal"
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
32
|
+
- tbody.function_cell do
|
33
|
+
%td.message_function
|
34
|
+
- if message.administrative?
|
35
|
+
= t("message_functions.#{message.function}")
|
36
|
+
- tbody.groups_cell do
|
37
|
+
%td.message_groups
|
38
|
+
- if message.groups.any?
|
39
|
+
= message.groups.map(&:name).to_sentence
|
30
40
|
|
31
41
|
- tbody.sent_cell do
|
32
42
|
%td.message_sent
|
@@ -1,13 +1,7 @@
|
|
1
1
|
- groups = Group.find(:all)
|
2
2
|
- if groups.any?
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
- if @page.group_is_inherited?(group)
|
9
|
-
%label.checkbox{:for => "page_group_#{group.id}", :class => 'disabled', :title => t('reader_extension.inherited_group')}
|
10
|
-
= group.name
|
11
|
-
- else
|
12
|
-
%label.checkbox{:for => "page_group_#{group.id}"}
|
13
|
-
= group.name
|
3
|
+
%p
|
4
|
+
= t('reader_extension.permitted_groups')
|
5
|
+
%br
|
6
|
+
- fields_for @page do |f|
|
7
|
+
= render :partial => 'admin/groups/chooser', :locals => {:f => f}
|
@@ -1,24 +1,18 @@
|
|
1
1
|
- page ||= @page
|
2
2
|
- group ||= @group
|
3
3
|
|
4
|
-
- liclass = 'loose'
|
5
|
-
- liclass = 'attached' if page.has_group?(group)
|
6
|
-
- liclass = 'inherited' if page.group_is_inherited?(group)
|
7
4
|
|
8
|
-
- if
|
9
|
-
%
|
10
|
-
= link_to_remote page.title, :url => admin_group_permission_url(group, permission), :method => 'delete', :loading => "$('page_#{page.id}').addClassName('waiting')", :update => "page_holder_#{page.id}"
|
11
|
-
|
12
|
-
- elsif page.has_inherited_group?(group)
|
13
|
-
%li{:class => "fake_checkbox inherited", :id => "page_#{page.id}"}
|
5
|
+
- if page.has_inherited_group?(group)
|
6
|
+
%span{:class => "fake_checkbox inherited"}
|
14
7
|
= page.title
|
15
8
|
|
16
9
|
- else
|
17
|
-
|
18
|
-
|
10
|
+
- cssclass = "fake_checkbox"
|
11
|
+
- cssclass << ' checked' if page.has_group?(group)
|
12
|
+
= link_to page.title, admin_toggle_group_permission_url(:group_id => group.id, :page_id => page.id), {:class => cssclass, :id => "toggle_page_#{page.id}"}
|
19
13
|
|
20
14
|
- if page.children.any?
|
21
15
|
%ul
|
22
16
|
- page.children.each do |child|
|
23
|
-
%
|
17
|
+
%li{:id => "page_holder_#{child.id}"}
|
24
18
|
= render :partial => 'admin/permissions/page', :object => child
|
@@ -0,0 +1,12 @@
|
|
1
|
+
.group
|
2
|
+
%h3
|
3
|
+
= link_to group.name, group_url(group)
|
4
|
+
|
5
|
+
%p.context
|
6
|
+
= t("reader_extension.member_count", :count => group.readers.count) + '.'
|
7
|
+
= link_to t('reader_extension.directory.vcard_link'), group_url(group, :format => :vcard), :class => 'vcard'
|
8
|
+
= link_to t('reader_extension.directory.csv_link'), group_url(group, :format => :csv), :class => 'csv'
|
9
|
+
|
10
|
+
- if group.description
|
11
|
+
%p
|
12
|
+
= group.description
|
@@ -1,6 +1,11 @@
|
|
1
1
|
- content_for :breadhead do
|
2
|
+
= link_to t('reader_extension.readers_title').titlecase, reader_index_url
|
3
|
+
= t('reader_extension.separator')
|
2
4
|
= link_to t('reader_extension.groups').titlecase, groups_url
|
3
5
|
= t('reader_extension.separator')
|
6
|
+
- if @group.parent
|
7
|
+
= link_to @group.parent.name, group_url(@group.parent)
|
8
|
+
= t('reader_extension.separator')
|
4
9
|
|
5
10
|
- content_for :title do
|
6
11
|
= @group.name
|
@@ -22,10 +27,12 @@
|
|
22
27
|
= t('or')
|
23
28
|
= link_to t("reader_extension.vcard_file"), group_url(@group, :format => :vcard), :class => 'vcard'
|
24
29
|
|
25
|
-
|
26
|
-
|
30
|
+
- if @group.children.any?
|
31
|
+
%h2
|
32
|
+
= t('reader_extension.subgroups', :name => @group.name)
|
33
|
+
= render :partial => 'groups/group', :collection => @group.children
|
27
34
|
|
28
|
-
= render :partial => '
|
35
|
+
= render :partial => 'readers/people', :readers => @readers
|
29
36
|
|
30
37
|
= yield :main
|
31
38
|
|
@@ -4,9 +4,9 @@
|
|
4
4
|
%li
|
5
5
|
= link_to t("reader_extension.directory.link"), readers_url
|
6
6
|
%li
|
7
|
-
= link_to t("reader_extension.directory.csv_link"), readers_url(:format => :csv)
|
7
|
+
= link_to t("reader_extension.directory.csv_link"), readers_url(:format => :csv), :class => 'csv'
|
8
8
|
%li
|
9
9
|
= link_to t("reader_extension.directory.vcard_link"), readers_url(:format => :vcard), :class => 'vcard'
|
10
10
|
- Group.visible_to(current_reader).each do |group|
|
11
11
|
%li
|
12
|
-
= link_to_group(group)
|
12
|
+
= link_to_group(group) + ' ' + t('group')
|
@@ -0,0 +1,23 @@
|
|
1
|
+
- readers ||= []
|
2
|
+
|
3
|
+
- if readers.any?
|
4
|
+
- if readers.respond_to?(:previous_page) && readers.previous_page
|
5
|
+
= pagination_and_summary_for(readers, t('reader_extension.person'))
|
6
|
+
|
7
|
+
- if @display == 'gallery'
|
8
|
+
- if readers.size > 1
|
9
|
+
- cols = 3
|
10
|
+
- columns = readers.in_groups_of((readers.size / cols), false)
|
11
|
+
- else
|
12
|
+
- columns = [readers]
|
13
|
+
- columns.each do |column|
|
14
|
+
%div.column
|
15
|
+
= render :partial => 'readers/mugshot', :collection => column
|
16
|
+
|
17
|
+
- else
|
18
|
+
%table.readers
|
19
|
+
%tbody
|
20
|
+
= render :partial => 'readers/reader', :collection => readers
|
21
|
+
|
22
|
+
- if readers.respond_to?(:next_page) && readers.next_page
|
23
|
+
= pagination_and_summary_for(readers, t('reader_extension.person'))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
.reader
|
2
2
|
%h2
|
3
|
-
= link_to
|
3
|
+
= link_to gravatar_for(reader, :size => 128), reader_url(reader), :title => reader.name
|
4
4
|
= link_to reader.name, reader_url(reader)
|
5
5
|
%span.headernote
|
6
6
|
= link_to ' ', reader_url(reader, :format => :vcard), :class => 'vcard'
|
@@ -0,0 +1,30 @@
|
|
1
|
+
- if Radiant.config['reader.share_details?']
|
2
|
+
- reader ||= @reader
|
3
|
+
|
4
|
+
- if reader.unshareable?
|
5
|
+
- if reader == current_reader
|
6
|
+
%p.warning
|
7
|
+
= t('reader_extension.you_are_not_shared')
|
8
|
+
- else
|
9
|
+
%div.contact
|
10
|
+
%h3
|
11
|
+
= link_to reader.name, reader_url(reader, :format => :vcard), :class => 'vcard', :title => t('reader_extension.directory.vcard_link')
|
12
|
+
%ul
|
13
|
+
- if email = reader.email
|
14
|
+
%li
|
15
|
+
= t("reader_extension.directory.email") + ': '
|
16
|
+
= email_link email
|
17
|
+
- %w{phone mobile}.each do |field|
|
18
|
+
- if value = reader.send(field.to_sym)
|
19
|
+
%li
|
20
|
+
= t("reader_extension.directory.#{field}") + ': '
|
21
|
+
= value
|
22
|
+
- if reader.postal_address?
|
23
|
+
%li
|
24
|
+
%span.indent
|
25
|
+
= t("reader_extension.directory.postal_address") + ': '
|
26
|
+
= reader.postal_address.to_html
|
27
|
+
- if reader == current_reader
|
28
|
+
%li
|
29
|
+
= link_to t("reader_extension.edit_profile"), reader_edit_profile_url, :class => 'edit'
|
30
|
+
|
@@ -0,0 +1,28 @@
|
|
1
|
+
%tr.reader
|
2
|
+
- if reader.unshareable?
|
3
|
+
%td{:colspan => 7}
|
4
|
+
= t("reader_extension.listing_denied")
|
5
|
+
- else
|
6
|
+
%td.gravatar
|
7
|
+
= link_to gravatar_for(reader, {:size => 18}, {:class => 'gravatar'}), reader_url(reader), :title => reader.name
|
8
|
+
%td.name
|
9
|
+
%h3
|
10
|
+
= link_to reader.name, reader_url(reader)
|
11
|
+
%td.email
|
12
|
+
%p
|
13
|
+
= mail_to reader.email, nil, :encode => 'hex', :replace_at => " #{t('reader_extension.at')} "
|
14
|
+
|
15
|
+
- [:phone, :mobile].each do |field|
|
16
|
+
- value = reader.send(field)
|
17
|
+
- unless value.blank?
|
18
|
+
%td{:class => field.to_s}
|
19
|
+
%p
|
20
|
+
= value
|
21
|
+
- else
|
22
|
+
%td.missing
|
23
|
+
%p
|
24
|
+
= t("reader_extension.no_#{field}")
|
25
|
+
|
26
|
+
%td.vcard
|
27
|
+
%p
|
28
|
+
= link_to t('reader_extension.vcard'), reader_url(reader, :format => :vcard), :class => 'vcard'
|
@@ -0,0 +1,20 @@
|
|
1
|
+
- content_for :introduction do
|
2
|
+
%p
|
3
|
+
= t("reader_extension.readers_introduction_#{Radiant.config['reader.directory_visibility']}")
|
4
|
+
- if current_reader && Radiant.config['reader.directory_visibility'] != 'none'
|
5
|
+
= t("reader_extension.readers_introduction_edit", :url => reader_edit_profile_url)
|
6
|
+
|
7
|
+
- content_for :breadcrumbs do
|
8
|
+
= link_to t('reader_extension.home').titlecase, '/'
|
9
|
+
= t('reader_extension.separator')
|
10
|
+
= t('reader_extension.people').titlecase
|
11
|
+
|
12
|
+
- content_for :title do
|
13
|
+
= t('reader_extension.readers_title').titlecase
|
14
|
+
|
15
|
+
= render :partial => 'shared/standard_reader_parts'
|
16
|
+
|
17
|
+
- content_for :main do
|
18
|
+
= render_region :main
|
19
|
+
|
20
|
+
= yield :main
|
@@ -1,5 +1,5 @@
|
|
1
1
|
- content_for :breadhead do
|
2
|
-
= link_to t('reader_extension.readers').titlecase,
|
2
|
+
= link_to t('reader_extension.readers').titlecase, reader_index_url
|
3
3
|
= t('reader_extension.separator')
|
4
4
|
|
5
5
|
- content_for :title do
|
@@ -18,6 +18,5 @@
|
|
18
18
|
- content_for :main do
|
19
19
|
- render_region :main
|
20
20
|
|
21
|
-
|
22
21
|
= yield :main
|
23
22
|
|
@@ -6,7 +6,7 @@
|
|
6
6
|
= link_to t('reader_extension.navigation.readers'), readers_url, :class => 'section'
|
7
7
|
- if current_reader
|
8
8
|
= link_to t('reader_extension.navigation.dashboard'), reader_dashboard_url
|
9
|
-
= link_to t('reader_extension.navigation.directory'),
|
9
|
+
= link_to t('reader_extension.navigation.directory'), reader_index_url
|
10
10
|
= link_to t('reader_extension.navigation.profile'), reader_profile_url
|
11
11
|
= link_to t('reader_extension.navigation.account'), reader_account_url
|
12
12
|
= link_to t('reader_extension.navigation.log_out'), reader_logout_url
|
@@ -0,0 +1,16 @@
|
|
1
|
+
- content_for :title do
|
2
|
+
= t('reader_extension.access_denied')
|
3
|
+
|
4
|
+
= render :partial => 'shared/standard_reader_parts'
|
5
|
+
|
6
|
+
- content_for :main do
|
7
|
+
%p
|
8
|
+
= t('reader_extension.explain_access_error')
|
9
|
+
|
10
|
+
%p.exception
|
11
|
+
= @message
|
12
|
+
|
13
|
+
%p
|
14
|
+
= t('reader_extension.mistaken_access_error')
|
15
|
+
|
16
|
+
= yield :main
|
@@ -1,2 +1 @@
|
|
1
|
-
Mime::Type.register "text/x-vcard", :vcard
|
2
|
-
Mime::Type.register "text/csv", :csv
|
1
|
+
Mime::Type.register "text/x-vcard", :vcard unless Mime::Type.lookup(:vcard)
|
@@ -5,12 +5,15 @@ Radiant.config do |config|
|
|
5
5
|
reader.define 'layout', :select_from => lambda { Layout.all.map(&:name) }, :allow_blank => false
|
6
6
|
reader.define 'get_profile?', :default => true
|
7
7
|
reader.define 'public?', :default => false
|
8
|
-
reader.define '
|
8
|
+
reader.define 'directory_visibility', :select_from => %w{public private grouped none}, :allow_blank => false, :default => 'private'
|
9
9
|
reader.define 'share_details?', :default => false
|
10
|
+
reader.define 'profiles_path', :default => ""
|
11
|
+
reader.define 'preferences_path', :default => ""
|
12
|
+
reader.define 'login_to', :default => "dashboard"
|
10
13
|
end
|
11
14
|
config.namespace('email') do |email|
|
12
15
|
email.define 'layout', :select_from => lambda { Layout.all.map(&:name) }, :allow_blank => true
|
13
16
|
email.define 'name', :allow_blank => false
|
14
|
-
email.define 'address', :allow_blank => false
|
17
|
+
email.define 'address', :allow_blank => false
|
15
18
|
end
|
16
19
|
end
|
data/config/locales/en.yml
CHANGED
@@ -1,38 +1,41 @@
|
|
1
1
|
en:
|
2
2
|
activerecord:
|
3
3
|
attributes:
|
4
|
+
group:
|
5
|
+
name: "Name"
|
6
|
+
description: "Description"
|
7
|
+
parent_id: "Subgroup of"
|
8
|
+
homepage_id: "Group home page"
|
4
9
|
reader:
|
5
|
-
description: "Biog"
|
10
|
+
description: "Biog or remarks"
|
6
11
|
email: "Email address"
|
7
|
-
phone: "Home phone"
|
8
|
-
mobile: "Mobile phone"
|
9
12
|
forename: "Forename"
|
10
13
|
honorific: "Title or rank"
|
11
14
|
login: "Login username"
|
15
|
+
mobile: "Mobile phone"
|
12
16
|
name: "Your name"
|
13
17
|
password: "Password"
|
14
18
|
password_confirmation: "Confirm password"
|
15
|
-
|
16
|
-
|
19
|
+
phone: "Home phone"
|
20
|
+
post_city: "City or town"
|
21
|
+
post_country: "Country"
|
17
22
|
post_line1: "Building name or number"
|
18
23
|
post_line2: "Street"
|
19
|
-
|
24
|
+
post_organisation: "Organisation"
|
20
25
|
post_province: "County"
|
21
|
-
|
26
|
+
postal_address: "Postal address"
|
22
27
|
postcode: "Postcode"
|
23
28
|
surname: "Surname"
|
24
29
|
unshareable: "Share none of this information"
|
25
30
|
message:
|
26
|
-
subject: "Message Subject"
|
27
|
-
filter_id: "Filter"
|
28
31
|
body: "Message body"
|
32
|
+
filter_id: "Filter"
|
33
|
+
subject: "Message Subject"
|
34
|
+
group_ids: "Groups"
|
29
35
|
errors:
|
30
36
|
models:
|
31
37
|
reader:
|
32
38
|
attributes:
|
33
|
-
name:
|
34
|
-
blank: "please enter a name"
|
35
|
-
too_long: "this is too long: 100 characters max"
|
36
39
|
email:
|
37
40
|
blank: "please enter your email address"
|
38
41
|
invalid: "this doesn't look like an email address"
|
@@ -40,54 +43,66 @@ en:
|
|
40
43
|
taken_by_author: "this address belongs to an author here. You don't need to register here: just log in to admin."
|
41
44
|
login:
|
42
45
|
taken: "this login is already in use here"
|
46
|
+
name:
|
47
|
+
blank: "please enter a name"
|
48
|
+
too_long: "this is too long: 100 characters max"
|
43
49
|
password:
|
44
50
|
too_short: "this must have at least six characters"
|
45
51
|
invalid: "this must include at least one non-letter"
|
46
52
|
config:
|
47
53
|
reader:
|
48
54
|
allow_registration?: "Allow registration"
|
49
|
-
|
50
|
-
use_honorifics?: "Use honorifics"
|
51
|
-
layout: "Layout for forms"
|
55
|
+
directory_visibility: "Access to directory"
|
52
56
|
get_profile?: "Ask for profile text"
|
57
|
+
layout: "Layout for forms"
|
53
58
|
public?: "Readers list public"
|
54
|
-
|
59
|
+
require_confirmation?: "Confirm email addresses"
|
60
|
+
use_honorifics?: "Use honorifics"
|
55
61
|
email:
|
56
|
-
name: "Message sender"
|
57
62
|
address: "Message reply-to"
|
58
|
-
prefix: "Subject prefix"
|
59
63
|
layout: "Email layout"
|
60
|
-
|
61
|
-
|
64
|
+
name: "Message sender"
|
65
|
+
prefix: "Subject prefix"
|
66
|
+
group: "group"
|
62
67
|
groups: "Groups"
|
63
|
-
|
64
|
-
settings: "Settings"
|
68
|
+
message: "message"
|
65
69
|
message_functions:
|
66
70
|
activation: "Activation instructions"
|
67
71
|
ad_hoc: "Ad hoc message"
|
68
|
-
invitation: "Invitation"
|
69
|
-
group_welcome: "Group welcome"
|
70
72
|
group_invitation: "Group invitation"
|
73
|
+
group_welcome: "Group welcome"
|
74
|
+
invitation: "Invitation"
|
71
75
|
password_reset: "Password instructions"
|
72
76
|
welcome: "Registration complete"
|
77
|
+
messages: "Messages"
|
78
|
+
reader: "reader"
|
73
79
|
reader_extension:
|
74
|
-
access_denied: "
|
80
|
+
access_denied: "Not allowed!"
|
75
81
|
account_settings: "Account settings"
|
76
82
|
account_updated: "Your account has been updated"
|
77
83
|
activate_account: "Activate your account"
|
78
84
|
activation_complete: "Thank you very much for persevering with the registration process. Your account is now active."
|
79
85
|
activation_message_sent: "Account activation instructions have been emailed to you."
|
80
86
|
activation_required: "Please check your email for an activation message"
|
81
|
-
activation_required_header: "Please check your email"
|
82
87
|
activation_required_explanation: "You should have received a confirmation message containing a link that will activate your account."
|
88
|
+
activation_required_header: "Please check your email"
|
83
89
|
activation_sent: "Activation message sent"
|
90
|
+
add_members: "add members"
|
91
|
+
add_subgroup: "add subgroup"
|
92
|
+
admin_messages: "Administrative messages"
|
84
93
|
affected_fields_highlighted: "The affected fields are highlighted below."
|
85
94
|
all: "All"
|
86
95
|
all_deliveries_failed: "All deliveries failed"
|
96
|
+
all_in_group: "Everyone in the group"
|
97
|
+
allowed_groups: "Allow access only to:"
|
87
98
|
already_active: "Your account is already active."
|
88
99
|
already_logged_in: "You're already logged in!"
|
89
100
|
already_registered: "If you've already registered, you should only need to"
|
90
101
|
and_try_again: "and try again."
|
102
|
+
any_option: "<any>"
|
103
|
+
at: "at"
|
104
|
+
belongs_to_group: 'This message belongs to the <a href="%{href}">%{name}</a> group.'
|
105
|
+
belongs_to_these_groups: "This message is sent to these groups:"
|
91
106
|
bold_required: "Fields with bold headings are required and will cause grumbling if left blank."
|
92
107
|
but_not_active: 'but your account is not yet activated. Please check your email for our activation message.'
|
93
108
|
cancel: "cancel"
|
@@ -96,8 +111,10 @@ en:
|
|
96
111
|
change_gravatar: "change gravatar image"
|
97
112
|
change_password: "Change your password"
|
98
113
|
check_email: "Please check your email for an activation message"
|
114
|
+
check_invitation_list: "Check the invitation list"
|
115
|
+
check_invitation_message: "Preview invitation message"
|
99
116
|
check_vcard: "Check your contact card"
|
100
|
-
checked_fields_public: "Uncheck any field (by clicking on the green tick) that you do not want to
|
117
|
+
checked_fields_public: "Uncheck any field (by clicking on the green tick) that you do not want to make visible to other members."
|
101
118
|
checked_fields_uncheck: "Click on the arrow to make that field private."
|
102
119
|
confirm_new_password: "Confirm new password"
|
103
120
|
confirm_password: "Confirm password"
|
@@ -108,69 +125,111 @@ en:
|
|
108
125
|
zero: "(nobody)"
|
109
126
|
one: "(one person)"
|
110
127
|
other: "(%{count} people)"
|
128
|
+
create_account: "Register"
|
129
|
+
create_group_invitation: "Create group invitation message"
|
130
|
+
create_group_welcome: "Create group welcome message"
|
131
|
+
create_invitation: "create invitation"
|
132
|
+
create_invitation_message: "create invitation message"
|
133
|
+
create_message: "Create new message"
|
111
134
|
create_message: "create message"
|
112
|
-
|
135
|
+
create_new_message: "Send a new message"
|
136
|
+
create_welcome: "create welcome"
|
137
|
+
csv_file: "CSV data"
|
113
138
|
dashboard:
|
139
|
+
account: "Account settings"
|
114
140
|
directory: "Directory"
|
115
141
|
edit_profile: "Edit profile"
|
116
|
-
profile: "Your page"
|
117
|
-
account: "Account settings"
|
118
|
-
listing: "Directory listing"
|
119
|
-
introduction: "Hello %{name}. Welcome back to %{site}. This page gathers together recent activity, useful links and bits of administration. You can always get back here by clicking on a 'dashboard' link."
|
120
|
-
welcome: "Hello %{name}. Welcome to %{site} and thank you for persevering with the registration process. Your account is now active and this is your (empty) dashboard page."
|
121
142
|
groups: "Your groups"
|
143
|
+
introduction: "Hello %{name}. Welcome back to %{site}. This page gathers together recent activity, useful links and bits of administration. You can always get back here by clicking on a 'dashboard' link."
|
144
|
+
listing: "Directory listing"
|
122
145
|
messages: "Messages for you"
|
146
|
+
profile: "Your page"
|
123
147
|
title: "Welcome"
|
148
|
+
welcome: "Hello %{name}. Welcome to %{site} and thank you for persevering with the registration process. Your account is now active and this is your (empty) dashboard page."
|
149
|
+
delete_group: "delete group"
|
150
|
+
delete_message: "Delete message"
|
151
|
+
delete_message: "delete message"
|
152
|
+
delete_reader: "delete reader"
|
153
|
+
delivery_status: "Delivery"
|
124
154
|
directory:
|
125
|
-
name: "Full name"
|
126
155
|
contact: "Contact"
|
127
|
-
|
156
|
+
csv_link: "Download CSV data"
|
128
157
|
email: "Email"
|
129
|
-
|
158
|
+
groups: "Groups"
|
159
|
+
link: "Browse members list"
|
130
160
|
mobile: "Mobile"
|
161
|
+
name: "Full name"
|
162
|
+
phone: "Telephone"
|
131
163
|
postal_address: "Address"
|
132
|
-
|
164
|
+
profile: "Profile"
|
133
165
|
title: "Directory"
|
134
|
-
|
135
|
-
vcard_link: "Download to your address book"
|
136
|
-
groups: "Groups"
|
166
|
+
vcard_link: "Download address book file"
|
137
167
|
dont_fill: "Don't fill this in!"
|
138
168
|
download_as: "Download as"
|
139
169
|
download_group_as: "Download the whole group as"
|
170
|
+
download_vcard: "Download vcard"
|
171
|
+
edit_group: "edit group"
|
172
|
+
edit_message: "Edit message"
|
140
173
|
edit_profile: "Edit your profile"
|
174
|
+
email: "email"
|
141
175
|
email_unknown: "Sorry. That email address is not known here."
|
142
176
|
enter_code: "Please enter confirmation code"
|
143
177
|
enter_email_for_reminder: "enter your email address and we will send the message again"
|
178
|
+
everyone: "Everyone"
|
144
179
|
everyone_in_group: "Everyone in the group"
|
180
|
+
everyone_inactive: "Anyone who has not activated their account"
|
181
|
+
everyone_unsent: "Anyone who has not received this message"
|
182
|
+
explain_access_error: "Sorry: you have run into a barrier and are not allowed to do whatever it was you just tried to do. The error message was:"
|
183
|
+
for: 'for'
|
184
|
+
for_group: "for the %{name} group"
|
185
|
+
for_the_groups:
|
186
|
+
zero: "without group links"
|
187
|
+
one: "for the %{names} group"
|
188
|
+
other: "for the %{names} groups"
|
145
189
|
forgotten_password: "Forgotten your password?"
|
146
190
|
form_notes:
|
147
191
|
account:
|
148
|
-
description: "
|
192
|
+
description: "This appears at the top of your profile page."
|
149
193
|
email: "we will send activation instructions to this address"
|
150
194
|
existing_password: "leave blank to keep present password. If changing, at least four characters."
|
195
|
+
honorific: "this is prepended to your name but only in a formal setting"
|
151
196
|
login: "you can always use your email address instead"
|
197
|
+
mobile: "without country code"
|
152
198
|
name: "this is how you will be referred to on the site"
|
153
199
|
new_password: "at least six characters, please, and with at least one non-letter character"
|
154
|
-
|
200
|
+
phone: "with area code but no country code"
|
155
201
|
post_country: "Please choose from the list"
|
156
202
|
post_organisation: "You can omit this unless it's part of your postal address"
|
157
|
-
unshareable: "
|
158
|
-
phone: "with area code but no country code"
|
159
|
-
mobile: "without country code"
|
203
|
+
unshareable: "To keep your contact information private and receive only administrative messages, check this box."
|
160
204
|
form_problem: "there was a problem with the form"
|
205
|
+
full_name: "full name"
|
206
|
+
function: "Function"
|
161
207
|
getting_gravatar: "If you would like a picture to appear next to your messages, give yourself a gravatar at"
|
162
|
-
|
208
|
+
group: "group"
|
163
209
|
group_filter: "Show only members of the group: "
|
210
|
+
group_invitation: "This is the invitation message"
|
164
211
|
group_members: "Group Members"
|
212
|
+
group_members: "Group members"
|
213
|
+
group_page: "group page"
|
214
|
+
group_welcome: "This is the welcome message"
|
215
|
+
groups: "Groups"
|
216
|
+
groups_introduction: ""
|
165
217
|
hello: "hello"
|
218
|
+
home: 'home'
|
166
219
|
honorific: "Title or rank"
|
167
|
-
invitation_message: "Invitation message"
|
168
|
-
invite_description: '<a href="%{url}">Edit your preferences to put some text about yourself here.'
|
169
220
|
if_cant_find: "If you can't find the message, we can"
|
170
221
|
if_mistake_see_admin: "If this is a mistake, please talk to the site administrator about your account."
|
171
222
|
if_not_you: "If that's not you, please"
|
223
|
+
inactive_in_group: "Group members who have not activated their account"
|
224
|
+
inherited_group: "group is attached higher in the page tree: can't be detached here"
|
225
|
+
invitation_instructions: "This is a quick way to bring a group of people into the system in one go. Enter a comma-separated list of names and email addresses (one person per line) and after a bit of checking and tweaking on the next page, each of those people will be invited into the system and issued an account with a vaguely adequate username and entirely random password. Anyone who is already here will just be added to the group."
|
226
|
+
invitation_message: "Invitation message"
|
227
|
+
invitation_preview_instructions: "Fields in red have validation problems. That usually means an email address or login needs checking. Hover your mouse pointer over the affected field to find out more. Fields in grey show that we already have that person here (based on their email address). You can still bring them into the group but you can't edit their details here."
|
228
|
+
invite_description: '<a href="%{url}">Edit your preferences to put some text about yourself here.'
|
229
|
+
invite_into_group: "Invite people into the %{name} group"
|
172
230
|
is_free_and_quick: " is free and only takes a moment"
|
173
231
|
joined_on: "Joined on"
|
232
|
+
last_sent: "last sent"
|
174
233
|
log_in: 'log in'
|
175
234
|
log_in_or_register: "Please log in here. If you haven't already, you will need to <a href='/register'>register</a> first."
|
176
235
|
log_out: "log out"
|
@@ -179,43 +238,64 @@ en:
|
|
179
238
|
login_unknown: "Sorry: we don't recognise that combination of username and password."
|
180
239
|
logout_message: "You are logged out. Bye!"
|
181
240
|
member: "member"
|
182
|
-
|
183
|
-
|
184
|
-
|
241
|
+
member_count:
|
242
|
+
zero: "No members."
|
243
|
+
one: "One member"
|
244
|
+
other: "%{count} members"
|
185
245
|
message_adhoc: "This is an ad-hoc message you can send at any time."
|
186
246
|
message_administrative: "This message is sent automatically"
|
187
|
-
|
188
|
-
message_group_administrative: "It is sent automatically"
|
247
|
+
message_delivered: "Message delivered"
|
189
248
|
message_function:
|
190
|
-
welcome: "when someone completes the registration and email-confirmation process."
|
191
|
-
password_reset: "when someone asks to reset their password."
|
192
249
|
activation: "when someone registers here."
|
193
|
-
invitation: "when someone is invited to visit the site."
|
194
|
-
group_welcome: "when someone is admitted to the group."
|
195
250
|
group_invitation: "when someone is invited into the group."
|
251
|
+
group_welcome: "when someone is admitted to the group."
|
252
|
+
invitation: "when someone is invited to visit the site."
|
253
|
+
password_reset: "when someone asks to reset their password."
|
254
|
+
welcome: "when someone completes the registration and email-confirmation process."
|
255
|
+
message_group_adhoc: 'It is restricted to members of the <a href="%{href}">%{name}</a> group.'
|
256
|
+
message_group_administrative: "It is sent automatically"
|
257
|
+
message_preview_introduction: "This is a snapshot of the message that was delivered to you %{date}. If it contains instructions they may now be out of date."
|
258
|
+
mistaken_access_error: "If you think that's a mistake, and that you should be allowed to do whatever it was you just tried to do, please contact your site administrator."
|
259
|
+
must_be_empty: "must be empty"
|
196
260
|
navigation:
|
197
|
-
account: "
|
261
|
+
account: "Preferences"
|
198
262
|
activate: "Activate account"
|
199
263
|
admin: "Admin"
|
200
264
|
dashboard: "Dashboard"
|
201
265
|
directory: "Directory"
|
202
266
|
greeting: "Hello %{name}"
|
203
267
|
help: "Help"
|
204
|
-
|
205
|
-
preferences: "Preferences"
|
206
|
-
profile: "Profile"
|
268
|
+
loading: "Loading..."
|
207
269
|
log_in: "Log in"
|
208
270
|
log_out: "Log out"
|
209
|
-
|
271
|
+
preferences: "Preferences"
|
272
|
+
profile: "Profile"
|
273
|
+
readers: "Members"
|
210
274
|
register: "Register"
|
211
275
|
your_account: "Preferences"
|
276
|
+
never_sent: 'never sent'
|
212
277
|
new_account: "Register here"
|
278
|
+
new_group: "new group"
|
213
279
|
new_password: "New password"
|
214
280
|
new_password_instructions: "Please enter and confirm the new password you would like to use. It should be at least six characters long, nothing obvious or typical and with at least one non-letter character."
|
215
281
|
'no': "no"
|
216
282
|
no_description: "No description available"
|
283
|
+
no_invitation_message: "This group has no invitation message. You will need to create one before you can invite people into it."
|
284
|
+
no_mobile: "no mobile"
|
285
|
+
none_option: "<none>"
|
286
|
+
no_phone: "no phone"
|
287
|
+
no_postal_address: "no address"
|
288
|
+
nobody_to_list: "There is nobody to display here."
|
289
|
+
none: "none"
|
217
290
|
notes: "notes"
|
291
|
+
optional_login: "[login]"
|
292
|
+
optional_phone: "[phone]"
|
293
|
+
or_edit_preferences: 'You can also <a href="%{url}">edit your account preferences</a>.'
|
294
|
+
or_edit_profile: 'You can also <a href="%{url}">edit your profile</a> to add more information about yourself.'
|
295
|
+
other_messages: "Ad-hoc messages"
|
296
|
+
page_not_public: "The page you have requested is not public. Please log in. If your account has the necessary permission you will be taken straight there."
|
218
297
|
page_permission_denied: "You don't have permission to see the page that you have requested."
|
298
|
+
page_private: "Sorry: you don't have permission to view that page."
|
219
299
|
password: "Password"
|
220
300
|
password_incorrect: "Sorry. Wrong password."
|
221
301
|
password_mismatch: "Passwords don't match! Please try again."
|
@@ -234,17 +314,31 @@ en:
|
|
234
314
|
please_read_our: "Please read our"
|
235
315
|
please_register: "Please take a moment to choose a login and password. We need your email address to confirm your identity and send administrative messages: any other information you can fill in later."
|
236
316
|
please_use_form: "Please use the registration form"
|
237
|
-
preferences_intro: "
|
238
|
-
|
317
|
+
preferences_intro: "Use this form to change your account preferences."
|
318
|
+
preview_and_send_message: "Preview and send message"
|
319
|
+
private_page_explanation: "The pages selected on the left are only visible to the people selected on the right (unless another group is also given permission to see that page)."
|
320
|
+
private_pages: "Private pages"
|
239
321
|
profile_intro_grouped: "The information that you put in here is made available to the other members of your groups both on the site and in their address books. It is not available to the public or to users of this site outside your groups."
|
322
|
+
profile_intro_private: "The information that you put in here is made available to other members both on the site and in their address books. It is not available to the public and nobody will see it who is not logged in to this site."
|
240
323
|
profile_intro_public: "The information that you put in here is made visible to the public. Email addresses are spam-protected but your contact information will be visible to everyone."
|
324
|
+
public_if_no_groups: "Leave all groups unchecked for public access"
|
325
|
+
reader: 'Reader'
|
241
326
|
reader_admin: "Reader administration"
|
327
|
+
reader_configuration_page: "reader settings"
|
242
328
|
reader_emails: "Administrative messages"
|
243
|
-
reader: 'Reader'
|
244
329
|
reader_logged_in_as: "You are logged in as %{name}."
|
330
|
+
reader_required: "Sorry: this part of the site requires an account."
|
245
331
|
reader_saved: "Reader saved"
|
246
332
|
readers: 'People'
|
247
|
-
|
333
|
+
readers_introduction_edit: 'You can update your listing by <a href="%{url}">editing your profile</a>.'
|
334
|
+
readers_introduction_grouped: "This is a private directory and will only show people who are in the same groups as you."
|
335
|
+
readers_introduction_none: "This site does not provide a directory of members."
|
336
|
+
readers_introduction_private: "This is a private directory visible only to logged-in users of the site."
|
337
|
+
readers_introduction_public: "Click on a person to see their profile, contact information and other details."
|
338
|
+
readers_title: "Directory"
|
339
|
+
really_delete_group: "Are you sure you want to completely remove the '%{name}' group? This cannot be undone."
|
340
|
+
really_delete_message: "Are you sure you want to delete the message '%{title}'? This cannot be undone."
|
341
|
+
really_delete_reader: "Are you sure you want to remove the reader %{name}? This cannot be undone."
|
248
342
|
register: "register"
|
249
343
|
registration: "registration"
|
250
344
|
registration_disallowed: "Sorry. This site does not allow visitors to register"
|
@@ -253,15 +347,21 @@ en:
|
|
253
347
|
reset_message_instructions: "Thank you. A message has been sent containing the instructions for setting a new password. Remember it hasn't changed yet and won't until you follow the instructions in the message. If you remember your old password, you can just carry on using it and ignore the reset message."
|
254
348
|
reset_message_sent: "Password-reset instructions have been emailed to you"
|
255
349
|
reset_not_found: "Password-reset code not found"
|
256
|
-
sorry_reset_not_found: "Sorry: the system can't find you. That link must have been garbled somewhere along the line. Please paste the 20-character confirmation code into the box below and we'll try again."
|
257
350
|
reset_password: "Reset your password"
|
258
351
|
restart_password_change: "Send another password-reset message"
|
259
352
|
return_to_page: "return to the page you were looking at before you started registering"
|
260
353
|
select_all: "Select all"
|
261
354
|
selected_people: "Selected people"
|
262
355
|
send_it_again: "send it again"
|
356
|
+
send_message: "Send message"
|
263
357
|
send_reset_button: "send me instructions"
|
358
|
+
send_to: "Send to"
|
264
359
|
sent_on: "sent %{date}"
|
360
|
+
sent_to_group: "sent automatically to the %{name} group"
|
361
|
+
sent_to_these_groups: "sent automatically to these groups"
|
362
|
+
separator: " » "
|
363
|
+
set_message_function: "Message function"
|
364
|
+
set_message_groups: "Message groups"
|
265
365
|
set_new_password: "set new password"
|
266
366
|
showing: "Showing"
|
267
367
|
showing_of_total:
|
@@ -271,92 +371,33 @@ en:
|
|
271
371
|
some_deliveries_failed: "Some deliveries failed"
|
272
372
|
sorry: "sorry"
|
273
373
|
sorry_access_denied: "Sorry: access denied"
|
374
|
+
sorry_reset_not_found: "Sorry: the system can't find you. That link must have been garbled somewhere along the line. Please paste the 20-character confirmation code into the box below and we'll try again."
|
274
375
|
spam_trap: "it's a spam trap and shouldn't be visible"
|
275
376
|
status_check: "Please wait: loading controls"
|
377
|
+
subgroups: "Groups within %{name}"
|
378
|
+
subject: "Subject"
|
379
|
+
subscriptions: "subscriptions"
|
276
380
|
terms_and_conditions: "terms and conditions"
|
277
381
|
thanks_activated: "Thank you! Your account has been activated."
|
278
382
|
thanks_and_activation_instructions: "Thank you for registering. Now please check your email. We have sent a message containing a link that will automatically activate your account and log you in."
|
279
383
|
this_is_your_page: "This is the page that other (logged-in) site visitors will see when they click on your name."
|
384
|
+
this_message_functional: "This is the %{function} message."
|
385
|
+
unsent_in_group: "Group members who have not received this message"
|
386
|
+
update_account: "Save changes"
|
280
387
|
username: "username"
|
388
|
+
vcard: "vcard"
|
389
|
+
vcard_file: "address book file"
|
281
390
|
welcome_back: "Welcome back"
|
282
391
|
welcome_message: "Welcome message"
|
392
|
+
welcome_please_log_in: '<span class="greeting">Welcome!</span> To take part, please <a href="%{login_url}">log in</a> or <a href="%{register_url}">register</a>.'
|
283
393
|
wrong_email: "you think you might have put the wrong email address in,"
|
284
394
|
'yes': "yes"
|
285
|
-
|
395
|
+
you_are_not_shared: "You have chosen not to share your contact information."
|
396
|
+
your_description: "Your profile text"
|
286
397
|
your_email: "Your email address"
|
287
398
|
your_name: "Your name"
|
288
|
-
|
289
|
-
|
290
|
-
welcome_please_log_in: '<span class="greeting">Welcome!</span> To take part, please <a href="%{login_url}">log in</a> or <a href="%{register_url}">register</a>.'
|
291
|
-
everyone_unsent: "Anyone who has not received this message"
|
292
|
-
everyone_inactive: "Anyone who has not activated their account"
|
293
|
-
everyone: "Everyone"
|
294
|
-
create_message: "Create new message"
|
295
|
-
send_message: "Send message"
|
296
|
-
edit_message: "Edit message"
|
297
|
-
delete_message: "Delete message"
|
298
|
-
this_message_functional: "This is the %{function} message."
|
299
|
-
preview_and_send_message: "Preview and send message"
|
300
|
-
really_delete_message: "Are you sure you want to delete the message '%{title}'? This cannot be undone."
|
301
|
-
delete_reader: "delete reader"
|
302
|
-
really_delete_reader: "Are you sure you want to remove the reader %{name}? This cannot be undone."
|
303
|
-
never_sent: 'never sent'
|
304
|
-
for: 'for'
|
305
|
-
home: 'home'
|
306
|
-
reader_required: "Sorry: this part of the site requires an account."
|
307
|
-
update_account: "Save changes"
|
308
|
-
create_account: "Register"
|
309
|
-
separator: " » "
|
310
|
-
vcard_file: "address book"
|
311
|
-
you_are_not_shared: "You have chosen not to share your contact information."
|
312
|
-
|
313
|
-
# group
|
314
|
-
group: "group"
|
315
|
-
subscriptions: "subscriptions"
|
316
|
-
inherited_group: "group is attached higher in the page tree: can't be detached here"
|
317
|
-
public_if_no_groups: "Leave all groups unchecked for public access"
|
318
|
-
allowed_groups: "Allow access only to:"
|
319
|
-
page_private: "Sorry: you don't have permission to view that page."
|
320
|
-
none: "none"
|
321
|
-
new_group: "new group"
|
322
|
-
group_members: "Group members"
|
323
|
-
private_pages: "Private pages"
|
324
|
-
admin_messages: "Administrative messages"
|
325
|
-
other_messages: "Ad-hoc messages"
|
326
|
-
create_new_message: "Send a new message"
|
327
|
-
delete_message: "delete message"
|
328
|
-
create_welcome: "create welcome"
|
329
|
-
create_invitation: "create invitation"
|
330
|
-
last_sent: "last sent"
|
331
|
-
private_page_explanation: "The pages selected on the left are only visible to the people selected on the right (unless another group is also given permission to see that page)."
|
332
|
-
sent_to_group: "sent automatically to the %{name} group"
|
333
|
-
sent_to_these_groups: "sent automatically to these groups"
|
334
|
-
group_welcome: "This is the welcome message"
|
335
|
-
group_invitation: "This is the invitation message"
|
336
|
-
all_in_group: "Everyone in the group"
|
337
|
-
inactive_in_group: "Group members who have not activated their account"
|
338
|
-
unsent_in_group: "Group members who have not received this message"
|
339
|
-
group_page: "group page"
|
340
|
-
for_group: "for the %{name} group"
|
341
|
-
add_members: "add members"
|
342
|
-
delete_group: "delete group"
|
343
|
-
really_delete_group: "Are you sure you want to completely remove the '%{name}' group? This cannot be undone."
|
344
|
-
edit_group: "edit group"
|
345
|
-
belongs_to_group: 'This message belongs to the <a href="%{href}">%{name}</a> group.'
|
346
|
-
belongs_to_these_groups: "This message is sent to these groups:"
|
347
|
-
invite_into_group: "Invite people into the %{name} group"
|
348
|
-
invitation_instructions: "This is a quick way to bring a group of people into the system in one go. Enter a comma-separated list of names and email addresses (one person per line) and after a bit of checking and tweaking on the next page, each of those people will be invited into the system and issued an account with a vaguely adequate username and entirely random password. Anyone who is already here will just be added to the group."
|
349
|
-
check_invitation_message: "Preview invitation message"
|
350
|
-
no_invitation_message: "This group has no invitation message. You will need to create one before you can invite people into it."
|
351
|
-
create_invitation_message: "create invitation message"
|
352
|
-
check_invitation_list: "Check the invitation list"
|
353
|
-
invitation_preview_instructions: "Fields in red have validation problems. That usually means an email address or login needs checking. Hover your mouse pointer over the affected field to find out more. Fields in grey show that we already have that person here (based on their email address). You can still bring them into the group but you can't edit their details here."
|
354
|
-
full_name: "full name"
|
355
|
-
email: "email"
|
356
|
-
optional_phone: "[phone]"
|
357
|
-
optional_login: "[login]"
|
358
|
-
page_not_public: "The page you have requested is not public. Please log in. If your account has the necessary permission you will be taken straight there."
|
359
|
-
|
399
|
+
readers: "Readers"
|
400
|
+
settings: "Settings"
|
360
401
|
time:
|
361
402
|
formats:
|
362
403
|
date: "%B %e, %Y"
|