diff --git a/.gitignore b/.gitignore index 49d69e0f1..e9c6977ad 100644 --- a/.gitignore +++ b/.gitignore @@ -34,3 +34,4 @@ lib/tasks/windows/*.msi vendor/bundle Gemfile.lock *.deb +*.xls diff --git a/Gemfile b/Gemfile index ca72d3585..942b7f004 100644 --- a/Gemfile +++ b/Gemfile @@ -1,5 +1,8 @@ source 'https://rubygems.org' +gem 'rapidftr_addon', :git => 'git://github.com/farismosman/rapidftr-addon.git' +gem 'rapidftr_addon_cpims', :git => 'git://github.com/farismosman/rapidftr-addon-cpims.git' + gem 'couchrest', '0.34' gem 'fastercsv', '1.5.3' gem 'json', '1.4.6' @@ -49,6 +52,10 @@ end gem 'rufus-scheduler', '~> 2.0.18', :require => false gem 'daemons', '~> 1.1.9', :require => false +group :development do + gem 'active_reload' +end + group :development, :assets do gem 'rubyzip', '~> 0.9.9' gem 'sass', '~> 3.2.7' diff --git a/Gemfile.lock b/Gemfile.lock index 02799715a..6f09594bd 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -1,3 +1,20 @@ +GIT + remote: git://github.com/farismosman/rapidftr-addon-cpims.git + revision: 7d4cf4dd9ee13c401b945cdad00314ed0bd5b725 + specs: + rapidftr_addon_cpims (0.0.2) + activesupport + i18n + writeexcel + +GIT + remote: git://github.com/farismosman/rapidftr-addon.git + revision: 30b6442b9ce69902c1b9b9b631061d54764f78bb + specs: + rapidftr_addon (0.0.2) + activesupport + i18n + GEM remote: https://rubygems.org/ specs: @@ -16,6 +33,7 @@ GEM rack-mount (~> 0.6.14) rack-test (~> 0.5.7) tzinfo (~> 0.3.23) + active_reload (0.6.1) activemodel (3.0.19) activesupport (= 3.0.19) builder (~> 2.1.2) @@ -222,6 +240,7 @@ GEM validatable (1.6.7) websocket (1.0.7) will_paginate (3.0.4) + writeexcel (1.0.0) xpath (0.1.4) nokogiri (~> 1.3) zipruby (0.3.6) @@ -230,6 +249,7 @@ PLATFORMS ruby DEPENDENCIES + active_reload cancan (~> 1.6.9) capistrano (~> 2.14.2) capybara (~> 1.0.1) @@ -260,6 +280,8 @@ DEPENDENCIES pry rails (= 3.0.19) rake (= 0.8.7) + rapidftr_addon! + rapidftr_addon_cpims! rest-client (= 1.3.0) rspec (~> 2.11.0) rspec-instafail (~> 0.2.4) diff --git a/app/controllers/advanced_search_controller.rb b/app/controllers/advanced_search_controller.rb index 2bbc0028f..2bed4675a 100644 --- a/app/controllers/advanced_search_controller.rb +++ b/app/controllers/advanced_search_controller.rb @@ -25,48 +25,20 @@ def index def export_data authorize! :export, Child - selected_records = Hash[params["selections"].to_a.sort_by { |k,v| k}].values.reverse || {} if params["all"] != "Select all records" - selected_records = params["full_results"].split(/,/) if params["all"] == "Select all records" - if selected_records.empty? + record_ids = Hash[params["selections"].to_a.sort_by { |k,v| k}].values.reverse || {} if params["all"] != "Select all records" + record_ids = params["full_results"].split(/,/) if params["all"] == "Select all records" + if record_ids.empty? raise ErrorResponse.bad_request('You must select at least one record to be exported') end - children = [] - selected_records.each do |child_id| children.push(Child.get(child_id)) end - if params[:commit] == t("child.actions.export_to_photo_wall") - export_photos_to_pdf(children, "#{file_basename}.pdf") - elsif params[:commit] == t("child.actions.export_to_pdf") - pdf_data = ExportGenerator.new(children).to_full_pdf - send_pdf(pdf_data, "#{file_basename}.pdf") - elsif params[:commit] == t("child.actions.export_to_csv") - render_as_csv(children, "#{file_basename}.csv") - end - end - - def export_photos_to_pdf children, filename - authorize! :export, Child - - pdf_data = ExportGenerator.new(children).to_photowall_pdf - send_pdf(pdf_data, filename) - end + children = record_ids.map { |child_id| Child.get child_id } - def file_basename(child = nil) - prefix = child.nil? ? current_user_name : child.short_id - user = User.find_by_user_name(current_user_name) - "#{prefix}-#{Clock.now.in_time_zone(user.time_zone).strftime('%Y%m%d-%H%M')}" - end - - def render_as_csv results, filename - results = results || [] # previous version handled nils - needed? - - results.each do |child| - child['photo_url'] = child_photo_url(child, child.primary_photo_id) unless (child.primary_photo_id.nil? || child.primary_photo_id == "") - child['audio_url'] = child_audio_url(child) + RapidftrAddon::ExportTask.active.each do |addon| + if params[:commit] == t("addons.export_task.#{addon.id}.selected") + results = addon.new.export(children) + encrypt_exported_files results, export_filename(children, addon) + end end - - export_generator = ExportGenerator.new results - csv_data = export_generator.to_csv - send_csv(csv_data.data, csv_data.options) end def child_fields_selected? criteria_list @@ -140,4 +112,8 @@ def prepare_params_for_limited_access_user user params[:disable_create] = "true" end + def export_filename(children, export_task) + (children.length == 1 ? children.first.short_id : current_user_name) + '_' + export_task.id.to_s + '.zip' + end + end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 93ad72751..02d564a83 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -55,14 +55,6 @@ def render_error_response(ex) end end - def send_pdf(data, filename) - send_encrypted_file data, :filename => filename, :type => "application/pdf" - end - - def send_csv(csv, opts = {}) - send_encrypted_file csv, opts - end - def name self.class.to_s.gsub("Controller", "") end @@ -78,13 +70,14 @@ def clean_params(param) param.reject{|value| value.blank?} end - def send_encrypted_file(data, opts = {}) + def encrypt_exported_files(results, zip_filename) if params[:password].present? - zip_filename = File.basename(opts[:filename], ".*") + ".zip" - enc_filename = "#{generate_encrypted_filename}.zip" + enc_filename = CleansingTmpDir.temp_file_name Zip::Archive.open(enc_filename, Zip::CREATE) do |ar| - ar.add_or_replace_buffer opts[:filename], data + results.each do |result| + ar.add_or_replace_buffer File.basename(result.filename), result.data + end ar.encrypt params[:password] end @@ -92,13 +85,8 @@ def send_encrypted_file(data, opts = {}) end end - def generate_encrypted_filename - dir = CleanupEncryptedFiles.dir_name - FileUtils.mkdir_p dir - File.join dir, UUIDTools::UUID.random_create.to_s - end - ActionView::Base.field_error_proc = Proc.new do |html_tag, instance| %() + html_tag + %() end + end diff --git a/app/controllers/children_controller.rb b/app/controllers/children_controller.rb index b9c2900c7..44af3f594 100644 --- a/app/controllers/children_controller.rb +++ b/app/controllers/children_controller.rb @@ -2,7 +2,7 @@ class ChildrenController < ApplicationController skip_before_filter :verify_authenticity_token skip_before_filter :check_authentication, :only => [:reindex] - before_filter :load_child_or_redirect, :only => [:show, :edit, :destroy, :edit_photo, :update_photo, :export_photo_to_pdf] + before_filter :load_child_or_redirect, :only => [ :show, :edit, :destroy, :edit_photo, :update_photo ] before_filter :current_user, :except => [:reindex] before_filter :sanitize_params, :only => [:update, :sync_unverified] @@ -27,15 +27,8 @@ def index respond_to do |format| format.html format.xml { render :xml => @children } - format.csv do - authorize! :export, Child - render_as_csv @children - end - format.pdf do - authorize! :export, Child - pdf_data = ExportGenerator.new(@children).to_full_pdf - send_pdf(pdf_data, "#{file_basename}.pdf") - end + + respond_to_export format, @children end end @@ -51,19 +44,9 @@ def show respond_to do |format| format.html format.xml { render :xml => @child } + format.json { render :json => @child.compact.to_json } - format.json { - render :json => @child.compact.to_json - } - format.csv do - authorize! :export, Child - render_as_csv([@child]) - end - format.pdf do - authorize! :export, Child - pdf_data = ExportGenerator.new(@child).to_full_pdf - send_pdf(pdf_data, "#{file_basename(@child)}.pdf") - end + respond_to_export format, [ @child ] end end @@ -233,19 +216,6 @@ def search default_search_respond_to end - def export_photos_to_pdf children, filename - authorize! :export, Child - - pdf_data = ExportGenerator.new(children).to_photowall_pdf - send_pdf(pdf_data, filename) - end - - def export_photo_to_pdf - authorize! :export, Child - pdf_data = ExportGenerator.new(@child).to_photowall_pdf - send_pdf(pdf_data, "#{file_basename(@child)}.pdf") - end - private def child_short_id child_params @@ -261,27 +231,11 @@ def create_or_update_child(child_params) end end - def file_basename(child = nil) - prefix = child.nil? ? current_user_name : child.short_id - user = User.find_by_user_name(current_user_name) - "#{prefix}-#{Clock.now.in_time_zone(user.time_zone).strftime('%Y%m%d-%H%M')}" - end - def sanitize_params child_params = params['child'] child_params['histories'] = JSON.parse(child_params['histories']) if child_params and child_params['histories'].is_a?(String) #histories might come as string from the mobile client. end - def file_name_datetime_string - user = User.find_by_user_name(current_user_name) - Clock.now.in_time_zone(user.time_zone).strftime('%Y%m%d-%H%M') - end - - def file_name_date_string - user = User.find_by_user_name(current_user_name) - Clock.now.in_time_zone(user.time_zone).strftime("%Y%m%d") - end - def get_form_sections FormSection.enabled_by_order end @@ -293,23 +247,9 @@ def default_search_respond_to redirect_to child_path(@results.first) end end - format.csv do - render_as_csv(@results) if @results - end - end - end - - def render_as_csv results - results = results || [] # previous version handled nils - needed? - results.each do |child| - child['photo_url'] = child_photo_url(child, child.primary_photo_id) unless (child.primary_photo_id.nil? || child.primary_photo_id == "") - child['audio_url'] = child_audio_url(child) + respond_to_export format, @results end - - export_generator = ExportGenerator.new results - csv_data = export_generator.to_csv - send_csv(csv_data.data, csv_data.options) end def load_child_or_redirect @@ -376,4 +316,18 @@ def update_child_with_attachments(child, params) child end + def respond_to_export(format, children) + RapidftrAddon::ExportTask.active.each do |export_task| + format.any(export_task.id) do + authorize! :export, Child + results = export_task.new.export(children) + encrypt_exported_files results, export_filename(children, export_task) + end + end + end + + def export_filename(children, export_task) + (children.length == 1 ? children.first.short_id : current_user_name) + '_' + export_task.id.to_s + '.zip' + end + end diff --git a/app/models/child.rb b/app/models/child.rb index cc70d7b43..bd01debac 100644 --- a/app/models/child.rb +++ b/app/models/child.rb @@ -17,6 +17,7 @@ class Child < CouchRestRails::Document property :nickname property :unique_identifier property :short_id + property :created_by property :created_organisation property :flag, :cast_as => :boolean property :reunited, :cast_as => :boolean diff --git a/app/models/migration.rb b/app/models/migration.rb index e95d2061c..8f5000734 100644 --- a/app/models/migration.rb +++ b/app/models/migration.rb @@ -19,7 +19,7 @@ def self.migrate end def self.all_migrations - Dir[migration_dir.join "*.rb"].sort + Dir[migration_dir.join "*.rb"].map{ |path| File.basename path }.sort end def self.applied_migrations diff --git a/app/views/children/_header.html.erb b/app/views/children/_header.html.erb index 6cfce505f..c1bb123c6 100644 --- a/app/views/children/_header.html.erb +++ b/app/views/children/_header.html.erb @@ -8,9 +8,9 @@ <%= t("children.export") %> diff --git a/app/views/children/_search_results.html.erb b/app/views/children/_search_results.html.erb index ca9dcaf04..cceebe54d 100644 --- a/app/views/children/_search_results.html.erb +++ b/app/views/children/_search_results.html.erb @@ -43,15 +43,15 @@
<% if !@results.nil? && @results.size > 0 %> - <%= hidden_field_tag 'password', nil, :id => 'hidden-password-field' %> - <%= check_box_tag 'allbottom', 'Select all records' %> - <%= label_tag 'allbottom', t("select_all") %> - <% end %> - <% if can? :export, Child %> - <%= submit_tag t("child.actions.export_to_photo_wall"), :class => "password-prompt" if has_results %> - <%= submit_tag t("child.actions.export_to_pdf"), :class => "password-prompt" if has_results %> - <%= submit_tag t("child.actions.export_to_csv"), :class => "password-prompt" if has_results %> + <%= hidden_field_tag 'password', nil, :id => 'hidden-password-field' %> + <%= check_box_tag 'allbottom', 'Select all records' %> + <%= label_tag 'allbottom', t("select_all") %> + + <% if can? :export, Child %> + <% RapidftrAddon::ExportTask.active.each do |addon| %> + <%= submit_tag t("addons.export_task.#{addon.id}.selected"), :class => "password-prompt", :name => "commit" %> + <% end %> + <% end %> <% end %>
<%end%> - diff --git a/app/views/children/_show_child_toolbar.erb b/app/views/children/_show_child_toolbar.erb index f2da104d7..02a1744c2 100644 --- a/app/views/children/_show_child_toolbar.erb +++ b/app/views/children/_show_child_toolbar.erb @@ -4,9 +4,9 @@ <%= t("children.export") %> <% end %> diff --git a/capybara_features/csv_export.feature b/capybara_features/csv_export.feature index 40c4796f7..ed6df71a4 100644 --- a/capybara_features/csv_export.feature +++ b/capybara_features/csv_export.feature @@ -17,7 +17,7 @@ Feature: When I search using a name of "D" And I wait until "full_results" is visible And I select search result #1 - And I press "Export to CSV" + And I press "Export Selected to CSV" Then password prompt should be enabled Scenario: When there are no search results, there is no csv export link @@ -30,11 +30,10 @@ Feature: Given I am logged in as an admin And the date/time is "Oct 23 2010" When I am on the children listing page - And I follow "Export" for child records - And I follow "Export Some Records to CSV" for child records + And I follow "Advanced Search" And I search using a name of "D" And I select search result #1 - And I press "Export to CSV" + And I press "Export Selected to CSV" Then password prompt should be enabled @javascript @@ -44,11 +43,3 @@ Feature: And I follow "Export" When I follow "Export to CSV" Then password prompt should be enabled - - @javascript - Scenario: User is redirected to Advanced Search Page when he exports some records to CSV - Given I am logged in as an admin - And I am on the children listing page - When I follow "Export" for child records - And I follow "Export Some Records to CSV" for child records - Then I should be redirected to "Advanced Search" Page \ No newline at end of file diff --git a/capybara_features/pdf_export.feature b/capybara_features/pdf_export.feature index e377bfdaf..dedd62634 100644 --- a/capybara_features/pdf_export.feature +++ b/capybara_features/pdf_export.feature @@ -16,7 +16,7 @@ Feature: So that hard copy printout of missing child photos are available When I fill in "Wil" for "query" And I press "Go" And I select search result #1 - And I press "Export to PDF" + And I press "Export Selected to PDF" Then password prompt should be enabled @javascript @@ -26,7 +26,7 @@ Feature: So that hard copy printout of missing child photos are available And I press "Go" And I select search result #1 And I select search result #3 - And I press "Export to Photo Wall" + And I press "Export Selected to Photo Wall" Then password prompt should be enabled @allow-rescue @@ -35,7 +35,7 @@ Feature: So that hard copy printout of missing child photos are available Given I am on the child search page When I fill in "Wil" for "query" And I press "Go" - And I press "Export to PDF" + And I press "Export Selected to PDF" When I fill in "abcd" for "password-prompt-field" And I click the "OK" button Then I should see "You must select at least one record to be exported" @@ -45,7 +45,7 @@ Feature: So that hard copy printout of missing child photos are available Scenario: Exporting full PDF from the child page Given I am on the children listing page And I follow "Export" for child records - And I follow "Export to PDF" for child records + And I follow "Export All to PDF" for child records Then password prompt should be enabled @javascript @@ -81,7 +81,7 @@ Feature: So that hard copy printout of missing child photos are available Given I am on the child search page When I fill in "Wil" for "query" And I press "Go" - And I press "Export to PDF" + And I press "Export Selected to PDF" Then password prompt should be enabled When I fill in "" for "password-prompt-field" And I click the "OK" button diff --git a/config/application.rb b/config/application.rb index 232081749..31d58d65b 100644 --- a/config/application.rb +++ b/config/application.rb @@ -19,6 +19,7 @@ class Application < Rails::Application # Custom directories with classes and modules you want to be autoloadable. config.autoload_paths += %W( #{config.root}/lib + #{config.root}/lib/addons #{config.root}/lib/rapid_ftr #{config.root}/lib/extensions #{config.root}/app/presenters diff --git a/config/initializers/addons.rb b/config/initializers/addons.rb new file mode 100644 index 000000000..42d481e37 --- /dev/null +++ b/config/initializers/addons.rb @@ -0,0 +1,12 @@ +# Enable necessary addons + +RapidftrAddon::ExportTask.options = { :tmp_dir => CleansingTmpDir.dir } + +Addons::PhotowallExportTask.enable +Addons::PdfExportTask.enable +Addons::CsvExportTask.enable +RapidftrAddonCpims::ExportTask.enable + +RapidftrAddon::ExportTask.active.each do |impl| + Mime::Type.register 'application/zip', impl.id +end diff --git a/config/locales/en.yml b/config/locales/en.yml index bd5dc8b8d..c66d9b290 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -88,9 +88,6 @@ en: label: "Children" register_new_child: "Register New Child" export: "Export" - export_all_child_records_to_csv: "Export All Child Records to CSV" - export_all_child_records_to_pdf: "Export All Child Records to PDF" - export_some_records_to_csv: "Export Some Records to CSV" filter_by: label: "Filter by" all: "All" @@ -587,3 +584,18 @@ en: reunited: child_status_changed: "Child status changed to active by" with_details: "with these details:" + + addons: + export_task: + pdf: + all: Export All to PDF + one: Export to PDF + selected: Export Selected to PDF + photowall: + all: Export All to Photo Wall + one: Export to Photo Wall + selected: Export Selected to Photo Wall + csv: + all: Export All to CSV + one: Export to CSV + selected: Export Selected to CSV diff --git a/config/routes.rb b/config/routes.rb index b8b9e53bb..0599f98fd 100644 --- a/config/routes.rb +++ b/config/routes.rb @@ -44,13 +44,7 @@ post :sync_unverified post :reindex get :advanced_search - post :export_csv get :search - post :export_photos_to_pdf - end - - member do - get :export_photo_to_pdf end resources :attachments, :only => :show diff --git a/lib/addons/csv_export_task.rb b/lib/addons/csv_export_task.rb new file mode 100644 index 000000000..78f978d95 --- /dev/null +++ b/lib/addons/csv_export_task.rb @@ -0,0 +1,21 @@ +module Addons + class CsvExportTask < RapidftrAddon::ExportTask + + def self.id + :csv + end + + def export(children) + [ Result.new(generate_filename(children), generate_data(children)) ] + end + + def generate_data(children) + ExportGenerator.new(children).to_csv.data + end + + def generate_filename(children) + ((children && children.length == 1) ? (children[0]['unique_identifier']) : 'full_data') + '.csv' + end + + end +end diff --git a/lib/addons/pdf_export_task.rb b/lib/addons/pdf_export_task.rb new file mode 100644 index 000000000..bcde91ba2 --- /dev/null +++ b/lib/addons/pdf_export_task.rb @@ -0,0 +1,21 @@ +module Addons + class PdfExportTask < RapidftrAddon::ExportTask + + def self.id + :pdf + end + + def export(children) + [ Result.new(generate_filename(children), generate_data(children)) ] + end + + def generate_data(children) + ExportGenerator.new(children).to_full_pdf + end + + def generate_filename(children) + ((children && children.length == 1) ? (children[0]['unique_identifier']) : 'full_data') + '.pdf' + end + + end +end diff --git a/lib/addons/photowall_export_task.rb b/lib/addons/photowall_export_task.rb new file mode 100644 index 000000000..3f5da7102 --- /dev/null +++ b/lib/addons/photowall_export_task.rb @@ -0,0 +1,21 @@ +module Addons + class PhotowallExportTask < RapidftrAddon::ExportTask + + def self.id + :photowall + end + + def export(children) + [ Result.new(generate_filename(children), generate_data(children)) ] + end + + def generate_data(children) + ExportGenerator.new(children).to_photowall_pdf + end + + def generate_filename(children) + ((children && children.length == 1) ? (children[0]['unique_identifier']) : 'photowall') + '.pdf' + end + + end +end diff --git a/lib/export_generator.rb b/lib/export_generator.rb index 009233844..7e7558dd9 100644 --- a/lib/export_generator.rb +++ b/lib/export_generator.rb @@ -81,6 +81,10 @@ def format_field_for_export field, value, child=nil return "" if value.blank? return value.join(", ") if field.type == Field::CHECK_BOXES if child + # TODO: + # child['photo_url'] = child_photo_url(child, child.primary_photo_id) unless (child.primary_photo_id.nil? || child.primary_photo_id == "") + # child['audio_url'] = child_audio_url(child) + return child['photo_url'] if field.name.include?('photo') return child['audio_url'] if field.name.include?('audio') end diff --git a/lib/rapid_ftr/cleansing_tmp_dir.rb b/lib/rapid_ftr/cleansing_tmp_dir.rb new file mode 100644 index 000000000..e4a901c9b --- /dev/null +++ b/lib/rapid_ftr/cleansing_tmp_dir.rb @@ -0,0 +1,42 @@ +module CleansingTmpDir + + CLEANUP_TIME = 10.minutes + + class << self + + def dir_name + File.join Rails.root, 'tmp', 'cleanup' + end + + def dir + FileUtils.mkdir_p dir_name + dir_name + end + + def temp_file_name + filename = File.join dir, UUIDTools::UUID.timestamp_create.to_s + end + + def schedule(scheduler) + scheduler.every("30m") do + begin + Rails.logger.info "Cleaning up temporary encrypted files..." + cleanup! + rescue => e + Rails.logger.error "Error cleaning up temporary encrypted files" + e.backtrace.each { |line| Rails.logger.error line } + end + end + end + + def cleanup! + Dir.glob(File.join(dir, "*")) do |zip_file| + if File.mtime(zip_file) < CLEANUP_TIME.ago + File.delete zip_file + end + end + end + + end + +end diff --git a/lib/rapid_ftr/cleanup_encrypted_files.rb b/lib/rapid_ftr/cleanup_encrypted_files.rb deleted file mode 100644 index a0804f162..000000000 --- a/lib/rapid_ftr/cleanup_encrypted_files.rb +++ /dev/null @@ -1,29 +0,0 @@ -module CleanupEncryptedFiles - - CLEANUP_TIME = 10.minutes - - def self.dir_name - File.join Rails.root, 'tmp', 'encrypted_data' - end - - def self.schedule(scheduler) - scheduler.every("30m") do - begin - Rails.logger.info "Cleaning up temporary encrypted files..." - cleanup! - rescue => e - Rails.logger.error "Error cleaning up temporary encrypted files" - e.backtrace.each { |line| Rails.logger.error line } - end - end - end - - def self.cleanup! - Dir.glob(File.join(self.dir_name, "*.zip")) do |zip_file| - if File.mtime(zip_file) < CLEANUP_TIME.ago - File.delete zip_file - end - end - end - -end diff --git a/lib/rapid_ftr/form_section_setup.rb b/lib/rapid_ftr/form_section_setup.rb index 326d0bde1..08b8776ef 100644 --- a/lib/rapid_ftr/form_section_setup.rb +++ b/lib/rapid_ftr/form_section_setup.rb @@ -13,7 +13,7 @@ def self.reset_definitions }), Field.new({"name" => "protection_status", "type" => "select_box", - "option_strings_text_en" => "Unaccompanied\nSeparated", + "option_strings_text_all" => "Unaccompanied\nSeparated", "highlight_information" => HighlightInformation.new("highlighted" => true,"order"=>3), "display_name_all" => "Protection Status", "help_text_all" => "A separated child is any person under the age of 18, separated from both parents or from his/her previous legal or customary primary care giver, but not necessarily from other relatives. An unaccompanied child is any person who meets those criteria but is ALSO separated from his/her relatives.", @@ -43,7 +43,7 @@ def self.reset_definitions }), Field.new({"name" => "gender", "type" => "select_box", - "option_strings_text_en" => "Male\nFemale", + "option_strings_text_all" => "Male\nFemale", "display_name_all" => "Sex" }), Field.new({"name" => "nick_name", @@ -52,7 +52,7 @@ def self.reset_definitions }), Field.new({"name" => "names_origin", "type" => "select_box", - "option_strings_text_en" => "Yes\nNo", + "option_strings_text_all" => "Yes\nNo", "display_name_all" => "Name(s) given to child after separation?" }), Field.new({"name" => "dob_or_age", @@ -279,7 +279,7 @@ def self.reset_definitions }), Field.new({"name" => "care_arrangements_convoy_no", "type" => "text_field", - "display_name_all" => "Convoy #" + "display_name_all" => "Convoy No" }) ] FormSection.create!({"visible"=>true, @@ -290,32 +290,32 @@ def self.reset_definitions separation_history_fields = [ Field.new("name" => "separation_date", - "display_name_en" => "Date of Separation", + "display_name_all" => "Date of Separation", "type" => "text_field"), Field.new("name" => "separation_place", - "display_name_en" => "Place of Separation.", + "display_name_all" => "Place of Separation.", "type" => "text_field"), Field.new("name" => "separation_details", - "display_name_en" => "Circumstances of Separation (please provide details)", + "display_name_all" => "Circumstances of Separation (please provide details)", "type" => "textarea"), Field.new("name" => "evacuation_status", - "display_name_en" => "Has child been evacuated?", + "display_name_all" => "Has child been evacuated?", "type" => "select_box", - "option_strings_text_en" => "Yes\nNo"), + "option_strings_text_all" => "Yes\nNo"), Field.new("name" => "evacuation_agent", - "display_name_en" => "If yes, through which organization?", + "display_name_all" => "If yes, through which organization?", "type" => "text_field"), Field.new("name" => "evacuation_from", - "display_name_en" => "Evacuated From", + "display_name_all" => "Evacuated From", "type" => "text_field"), Field.new("name" => "evacuation_to", - "display_name_en" => "Evacuated To", + "display_name_all" => "Evacuated To", "type" => "text_field"), Field.new("name" => "evacuation_date", - "display_name_en" => "Evacuation Date", + "display_name_all" => "Evacuation Date", "type" => "text_field"), Field.new("name" => "care_arrangements_arrival_date", - "display_name_en" => "Arrival Date", + "display_name_all" => "Arrival Date", "type" => "text_field"), ] FormSection.create!({"visible"=>true, diff --git a/lib/rapid_ftr/model.rb b/lib/rapid_ftr/model.rb index 93a3bfce6..fe6d1758a 100644 --- a/lib/rapid_ftr/model.rb +++ b/lib/rapid_ftr/model.rb @@ -12,6 +12,14 @@ def persisted? !new_record? end + def _id=(new_id) + self["_id"] = new_id + end + + def _id + self["_id"] + end + def errors ErrorsAdapter.new super end diff --git a/lib/tasks/scheduler.rake b/lib/tasks/scheduler.rake index 5a9eb5857..5b31da354 100644 --- a/lib/tasks/scheduler.rake +++ b/lib/tasks/scheduler.rake @@ -51,6 +51,7 @@ namespace :scheduler do Replication.schedule scheduler WeeklyReport.schedule scheduler + CleansingTmpDir.schedule scheduler logger.info 'Rufus scheduler initialized' scheduler.join diff --git a/public/javascripts/translations.js b/public/javascripts/translations.js index 0d3986a4c..ab2641a48 100644 --- a/public/javascripts/translations.js +++ b/public/javascripts/translations.js @@ -1,2 +1,2 @@ var I18n = I18n || {}; -I18n.translations = {"fr":{"home":{"fr":"Fran\u00e7ais","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","en":"English","es":"Espa\u00f1ol","zh":"\u4e2d\u6587","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"}},"ru":{"home":{"fr":"Fran\u00e7ais","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","en":"English","es":"Espa\u00f1ol","zh":"\u4e2d\u6587","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"}},"en":{"datetime":{"distance_in_words":{"about_x_months":{"other":"about %{count} months","one":"about 1 month"},"less_than_x_seconds":{"other":"less than %{count} seconds","one":"less than 1 second"},"x_days":{"other":"%{count} days","one":"1 day"},"x_minutes":{"other":"%{count} minutes","one":"1 minute"},"half_a_minute":"half a minute","about_x_years":{"other":"about %{count} years","one":"about 1 year"},"x_seconds":{"other":"%{count} seconds","one":"1 second"},"x_months":{"other":"%{count} months","one":"1 month"},"over_x_years":{"other":"over %{count} years","one":"over 1 year"},"almost_x_years":{"other":"almost %{count} years","one":"almost 1 year"},"about_x_hours":{"other":"about %{count} hours","one":"about 1 hour"},"less_than_x_minutes":{"other":"less than %{count} minutes","one":"less than a minute"}},"prompts":{"month":"Month","year":"Year","day":"Day","minute":"Minute","second":"Seconds","hour":"Hour"}},"email":"Email","hello":"Hello","account":"Account","number":{"format":{"strip_insignificant_zeros":false,"separator":".","precision":3,"significant":false,"delimiter":","},"human":{"format":{"strip_insignificant_zeros":true,"significant":true,"precision":3,"delimiter":""},"decimal_units":{"format":"%n %u","units":{"million":"Million","unit":"","thousand":"Thousand","trillion":"Trillion","billion":"Billion","quadrillion":"Quadrillion"}},"storage_units":{"format":"%n %u","units":{"mb":"MB","gb":"GB","byte":{"other":"Bytes","one":"Byte"},"tb":"TB","kb":"KB"}}},"precision":{"format":{"delimiter":""}},"currency":{"format":{"unit":"$","format":"%u%n","strip_insignificant_zeros":false,"significant":false,"precision":2,"separator":".","delimiter":","}},"percentage":{"format":{"delimiter":""}}},"time":{"pm":"pm","formats":{"short":"%d %b %H:%M","default":"%a, %d %b %Y %H:%M:%S %z","long":"%B %d, %Y %H:%M"},"am":"am"},"true":"true","imei":"IMEI","description":"Description","search":"Search","moved_from":"%{field_name} moved from %{from_fs} to %{to_fs}","couchrest":{"validations":{"blank":"%s must not be blank"},"fields":{"Password":"Password","Name":"Name","Remote app url":"Remote app url","Username":"Username","Description":"Description"}},"position":"Position","session":{"about_to_expire":"Your session is about to expire!","has_expired":"Your session has expired. Please re-login.","no_token_provided":"no session token provided","invalid_credentials":"Invalid credentials. Please try again!","login_error":"There was a problem logging in. Please try again.","invalid_token":"invalid session token","no_token_in_header":"no session token in headers or cookies"},"permissions":{"group":{"Devices":"Devices","Children":"Children","Forms":"Forms","System":"System","Reports":"Reports","ALL":"All","Users":"Users","Roles":"Roles"},"permission":{"Users for synchronisation":"Manage Server Synchronisation Users","Delete Users":"Delete Users","Create and Edit Users":"Create and Edit Users","Edit Child":"Edit Child","Export to Photowall/CSV/PDF":"Export to Photowall/CSV/PDF","Disable Users":"Disable Users","View roles":"View roles","Manage Forms":"Manage Forms","Create and Edit Roles":"Create and Edit Roles","Register Child":"Register Child","Highlight Fields":"Highlight Fields","View Users":"View Users","View And Search Child":"View And Search Child","All":"All","View and Download Reports":"View and Download Reports","Manage Replications":"Manage Replications","System Settings":"System Settings","BlackList Devices":"BlackList Devices"},"label":"Permissions"},"location":"Location","provide_translation":"Provide translation for","false":"false","activerecord":{"errors":{"template":{"header":{"other":"%{count} errors prohibited this %{model} from being saved","one":"1 error prohibited this %{model} from being saved"},"body":"There were problems with the following fields:"},"models":{"replication":{"save_remote_couch_config":"The URL/Username/Password that you entered is incorrect","remote_app_url":"Please enter a proper URL, e.g. http://:"},"form_section":{"visible_method":"visible can't be false if perm_visible is true","presence_of_base_language_name":"The name of the base language '%{base_language}' can not be blank","perm_visible_method":"perm_visible can't be false if perm_enabled is true","delete_field":"Uneditable field cannot be deleted","fixed_order_method":"fixed_order can't be false if perm_enabled is true","add_field_to_form_section":"Form section not editable","unique_id":"The unique id '%{unique_id}' is already taken.","unique_name":"The name '%{name}' is already taken.","format_of_name":"Name must contain only alphanumeric characters and spaces","presence_of_name":"Name must not be blank"},"user":{"user_name_uniqueness":"User name has already been taken! Please select a new User name","full_name":"Please enter full name of the user","password_confirmation":"Please enter password confirmation","user_name":"Please enter a valid user name","organisation":"Please enter the user's organisation name","authenticate":"Can't authenticate a un-saved user","email":"Please enter a valid email address","role_ids":"Please select at least one role"},"role":{"unique_name":"A role with that name already exists, please enter a different name","permission_presence":"Please select at least one permission"},"system_users":{"username_unique":"User name has already been taken! Please select a new User name"},"field":{"display_name_format":"Display name must contain at least one alphabetic characters","has_2_options":"Field must have at least 2 options","display_name_presence":"Display name must not be blank","default_value":"Cannot find default value for type ","unique_name_other":"Field already exists on form '%{form_name}'","has_1_option":"Checkbox must have at least 1 option","unique_name_this":"Field already exists on this form"},"child":{"primary_photo_id":"Failed trying to set '%{photo_id}' to primary photo: no such photo key","at_least_one_field":"Please fill in at least one field or upload a file","age":"Age must be between 1 and 99","photo_format":"Please upload a valid photo file (jpg or png) for this child record","photo_size":"File is too large","validate_duplicate":"A valid duplicate ID must be provided"}}}},"enabled":"Enabled","yes_label":"Yes","cancel":"Cancel","replication":{"error":"Failed","configure_a_server":"Configure a Server","description":"Description","status":"Status","confirm_delete":"Are you sure you want to delete this replication?","index":"Manage Replications","delete":"Delete","stop":"Stop Synchronization","completed":"Successful","timestamp":"Timestamp","start":"Start Synchronization","actions":"Actions","label":"Replication","remote_app_url":"RapidFTR URL","edit":"Edit Configuration","create":"Configure a Server","triggered":"In Progress"},"name":"Name","advanced_search":{"created_by_org":"Created By (Organisation) :","date_updated":"Date Updated :","date_created":"Date Created :","before":"Before :","updated_by":"Updated by (User) :","records_found":{"other":"%{count} records found","one":"1 record found"},"instruction":"Separate words by OR to search for more than one option eg. Tim OR Rahul","created_by":"Created by (User) :","select_a_criteria":"Select A Criteria","after":"After :","date_instruction":"Enter a date (yyyy-mm-dd) in the first box to search records created or updated after that date. Enter a date (yyyy-mm-dd) in the second box to see records created or updated before that date. Enter dates in both boxes to see records created between the dates."},"contact":{"info_label":"Contact Information","message":"If you experience any problems with RapidFTR, or believe your password has been exposed, please contact the system administrator immediately.","updated":"Contact information was successfully updated.","edit_info":"Edit Contact Information","field":{"name":"Name","organization":"Organization","other_information":"Other information","phone":"Phone","position":"Position","location":"Location","email":"Email"},"not_found":"Cannot find ContactInformation with id %{id}"},"report":{"types":{"weekly_report":"Weekly Report"},"download":"Download","type":"Type","as_of_date":"As of Date","heading":"RapidFTR Reports"},"will_paginate":{"next_label":"Next →","page_gap":"…","page_entries_info":{"single_page":{"other":"Displaying all %{count} %{model}","zero":"No %{model} found","one":"Displaying 1 %{model}"},"multi_page":"Displaying %{model} %{from} - %{to} of %{count} in total","single_page_html":{"other":"Displaying all %{count} %{model}","zero":"No %{model} found","one":"Displaying 1 %{model}"},"multi_page_html":"Displaying %{model} %{from} - %{to} of %{count} in total"},"models":{"report":{"other":"reports","one":"report"},"child":{"other":"children","one":"child"}},"previous_label":"← Previous"},"new":"New","form_section":{"back":"Back To Forms Page","show":"Show","hide":"Hide","manage":"Manage Form Sections","details":"Form details","ordering":"Ordering","visibility":"Visibility","messages":{"correct_errors":"Please correct the following errors and resubmit:","hide_confirmation":"Are you sure you want to hide fields?","cannot_create":"Form section could not be created","updated":"Form section successfully added","order_saved":"Order is successfully saved.","drag_drop_help_text":"You can click on the fields to drag & drop on the required order.","show_confirmation":"Are you sure you want to show fields?"},"actions":{"add_custom_field":"Add Custom Field","save_order":"Save Order"},"label":"Form Section","edit":"Edit Form Sections","create":"Create New Form Section","buttons":{"add":"Add"},"options":"Options"},"children":{"export_all_child_records_to_pdf":"Export All Child Records to PDF","export_some_records_to_csv":"Export Some Records to CSV","filter_by":{"reunited":"Reunited","all":"All","created":"Created","active":"Active","label":"Filter by","flag":"Flagged"},"label":"Children","order_by":{"most_recently":"Most recently","name":"Name","label":"Order by"},"filer_by":{"reunited":"Reunited","all":"All","active":"Active","flagged":"Flagged"},"register_new_child":"Register New Child","flag_summary":"Flag summary","export_all_child_records_to_csv":"Export All Child Records to CSV","export":"Export"},"histories":{"added_by":"added by","because":"because:","reunited":{"child_status_changed":"Child status changed to active by","with_details":"with these details:"},"investigated":{"mark_as_not_investigated_by":"Record was marked as Not Investigated by","mark_as_investigated_by":"Record was marked as Investigated by"},"deleted_by":"deleted by","by":"by","to":"to","audio":{"audio":"Audio","audio_change":"Audio changed from"},"belong_to":"belonging to","duplicate":{"no_longer_active":"Current record is no longer active or editable","mark_as_duplicate":"marked this record as a duplicate of"},"flag":{"record_unflagged_by":"Record was unflagged by","record_flagged_by":"Record was flagged by"}},"support":{"array":{"words_connector":", ","last_word_connector":", and ","two_words_connector":" and "}},"encrypt":{"password_title":"Password","password_label":"Enter password to encrypt file","password_mandatory":"Enter a valid password"},"child":{"flag_error_message":"Please explain why you are flagging this record.","unflag_error_message":"Please explain why you are unflagging this record.","duplicate_header":"Marking %{child_name} as Duplicate","unflag_label":"Unflag","id_of_record_this_duplicate_of":"Enter the ID of the record this is a duplicate of:","posted_from_mobile":"Posted from the mobile client at:","flagged_by":"Flagged By","another_duplicate_after_link":" to see the duplicate record.","change_log":"Change Log","flagged_as_suspected":"Flagged as suspect record by","investigation_details":"Investigation Details:","edit_photo":"Edit photo","history_of":"History of %{short_id}","registered_by":"Registered by","flag_label":"Flag","unflag_reason":"Unflag Reason","view":"View Child %{short_id}","messages":{"see_full_size":"Click on the Image to see full size","investigation_error_message":"Please confirm the flagged record should be marked as investigated, and enter any details you have.","update_success":"Child was successfully updated.","undo_reunite_error_message":"Please confirm child should be marked as Not Reunited, and enter any details you have.","undo_investigation_error_message":"Undo Investigation Details:","confirm_duplicate":"Are you sure you want to continue? If so, click OK. If not, click Cancel.","creation_success":"Child record successfully created.","not_found":"Child with the given id is not found","reunite_error_message":"Please confirm this child has been reunited with family or caregivers, and enter any details you have."},"last_updated":"Last updated","flag_record":"Flag record","actions":{"reunited_details":"Reunite Details:","cancel":"Cancel","undo_investigated":"Undo Investigated","mark_as_not_investigated":"Mark as Not Investigated","change_log":"Change Log","view_full_size_photo":"View full size photo","rotate_anti_clockwise":"Rotate Anti-Clockwise","undo_reunited_details":"Undo reunite Reason:","reunite":"Reunite","reunited":"Mark as Reunited","export_to_pdf":"Export to PDF","mark_as_investigated":"Mark as Investigated","investigation_details":"Investigation Details","delete_photo":"Delete photo?","not_reunited":"Mark as Not Reunited","choose_as_primary_photo":"Choose as primary photo","mark_as_reunited":"Mark as Reunited","undo_investigation_details":"Undo Investigation Details","restore_image":"Restore Original Image","export_to_csv":"Export to CSV","export_to_photo_wall":"Export to Photo Wall","rotate_clockwise":"Rotate Clockwise","undo_reunite":"Undo Reunite"},"another_duplicate_before_link":"Another record has been marked as a duplicate of this one. Click","mark_child_as_duplicate":"Mark %{short_id} as Duplicate","flag_reason":"Flag Reason","manage_photos":"Manage photos","unflag_record":"Unflag record","edit":"Edit Child","mark_as_duplicate":"Mark as Duplicate","reunite_details":"Reunite Details:"},"errors":{"dynamic_format":"%{message}","format":"%{attribute} %{message}","messages":{"exclusion":"is reserved","not_an_integer":"must be an integer","too_short":"is too short (minimum is %{count} characters)","wrong_length":"is the wrong length (should be %{count} characters)","invalid":"is invalid","greater_than_or_equal_to":"must be greater than or equal to %{count}","less_than":"must be less than %{count}","not_a_number":"is not a number","inclusion":"is not included in the list","empty":"can't be empty","equal_to":"must be equal to %{count}","blank":"can't be blank","even":"must be even","accepted":"must be accepted","too_long":"is too long (maximum is %{count} characters)","confirmation":"doesn't match confirmation","odd":"must be odd","less_than_or_equal_to":"must be less than or equal to %{count}","greater_than":"must be greater than %{count}"}},"roles":{"name":"Role Name","sort_by":{"ascending":"Ascending","label":"Sort by","descending":"Descending"},"view":"View Role","list":"List of Roles","actions":{"show":"Show","update":"Update","show_all":"Showing all","create":"Create","edit":"Edit"},"label":"Roles"},"home":{"fr":"Fran\u00e7ais","manage_system_users":"Manage Server Synchronisation Users","welcome":"Welcome to RapidFTR","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","en":"English","records_need_attention":"Records need Attention","es":"Espa\u00f1ol","language":"Language","zh":"\u4e2d\u6587","label":"Home","current_time_zone":"Current time zone","view_records":"View Records","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"},"role":{"name":"Name","successfully_updated":"Role details are successfully updated.","error_in_updating":"Error in updating the Role details.","edit":"Edit Role","create":"Create Role"},"blacklisted":"Blacklisted?","form":"Form","devices":"Devices","forms":{"cannot_be_edited":"Fields on this form cannot be edited.","messages":{"use_existing":"We encourage you to use the existing forms as this makes data sharing and data merging between institutions easier."},"save":"Save Form","initial_language":"Initial Language","save_details":"Save Details","label":"Forms"},"messages":{"logoff_warning_prefix":"You will be logged off in","hide_forms":"Are you sure you want to hide these form(s)?","logoff":"No, Logoff","move_item":"You are about to move this field to another form section ({{selection_key}}). Is this OK?","cancel_confirmation":"Are you sure you want to cancel?","warning":"Warning: If you continue, any data associated with this field will be lost.\nIf you're uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","enter_valid_field_value":"Please enter a valid field value.","select_photo":"Please select a photo.","this_user":" this user?","keep_working":"Yes, Keep Working","enter_each_in_one_line":"Enter each option on a new line","confirmation_message":"Clicking OK Will Discard Any Unsaved Changes. Click Cancel To Return To The Child Record Instead.","primary_photo_changed":"Primary photo changed.","logoff_confirmation":"Do you want to continue your session?","valid_search_criteria":"Please enter at least one search criteria","show_forms":"Are you sure you want to make these form(s) visible?","record_count":"Showing %{start} to %{end} of %{total} records","are_you_sure":"Are you sure you want to ","delete_item":"Warning: If you continue, any data associated with this field will be lost.\nIf you\\'re uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","enter_valid_date":"Please enter a valid 'After' and/or 'Before' Date Created (format yyyy-mm-dd).","show_hide_forms":"Please select form(s) you want to show/hide.","logoff_warning_suffix":"seconds."},"date":{"month_names":[null,"January","February","March","April","May","June","July","August","September","October","November","December"],"day_names":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"abbr_day_names":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"order":["year","month","day"],"formats":{"short":"%b %d","default":"%Y-%m-%d","long":"%B %d, %Y"},"abbr_month_names":[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]},"select_all":"Select all records","user":{"new_password":"New Password","old_password":"Old Password","full_name":"Full Name","no_activity":"has no activity","disabled":"Disabled","update":"Update","new":"New User","no_blank":"user name should not contain blanks","manage_password":"Change Password","history_of":"History of %{user_name}","user_action_history":"User action history","messages":{"updated":"User was successfully updated.","created":"User was successfully created.","password_changed_successfully":"Password changed successfully","passwords_do_not_match":"does not match current password","confirmation":"Are you sure you want to delete this user? Deletion can not be undone. Click OK To Delete User.","not_found":"User with the given id is not found","time_zone_updated":"The change was successfully updated."},"actions":{"delete":"Delete"},"label":"user","create":"Create","verify":"Verify","new_password_confirmation":"Confirm New Password"},"belonging_to":"belonging to","device":{"blacklist":"Blacklist Device","information":"Device Information","timestamp":"Timestamp","messages":{"blacklist":"Do you want to add this device to blacklist?","disable":"Are you sure you want to disable this device?","remove_blacklist":"Do you want to remove this device from blacklist?"},"mobile_number":"Mobile Number"},"buttons":{"back":"Back","reunite":"Reunite","delete":"Delete","save":"Save","change_password":"Change Password","edit":"Edit","disable_photo_wall":"Disable photo wall","login":"Log in","enable_photo_wall":"Enable photo wall"},"login":{"password":{"success_notice":"Thank you. A RapidFTR administrator will contact you shortly. If possible, contact the admin directly.","successfully_hidden":"Password request notification was successfully hidden.","re_enter":"Re-enter password","label":"Password","reset":"Request Password Reset"},"details":"Login details","label":"Login","username":"User Name"},"clear":"Clear","navigation":{"advanced_search":"Advanced Search","users":"USERS","children":"CHILDREN","go":"Go","forms":"FORMS","devices":"DEVICES","search":"Search","reports":"REPORTS"},"organisation":"Organisation","help_text":"Help text","status":"Status","record":"record","header":{"my_account":"My Account","welcome":"Welcome","system_settings":"System settings","logout":"Logout","contact":"Contact & Help"},"no_results_found":"No results found","details":"Details","saved":"Saved","fields":{"select_box":"Select drop down","numeric_field":"Numeric Field","date_field":"Date Field","action":"Action","text_field":"Text Field","radio_button":"Radio button","option_strings_text":"Options","move_to":"Move to","add":"Add Field","updated":"Field updated","text_area":"Text Area","successfully_added":"Field successfully added","type":"Field type","form_name":"Form Name","field_name":"Field Name","label":"Fields","deleted":"Field %{display_name} has been deleted.","check_box":"Check boxes","remove":"remove","display_name":"Display Name"},"phone":"Phone","users":{"select_role":"Please select a role before verifying the user","sort_by":{"full_name":"Full Name","label":"Sort by"},"manage":"Manage Users","messages":{"disable":"Are you sure you want to disable this user?"},"actions":{"show":"Show","show_all":"Showing all"},"label":"Users","unverified":"Unverified Users","create":"Create User"},"date_format":"yy-mm-dd","add":"add","visible":"Visible","actions":"actions","select_all_results":"Select all results","data_base":{"operation_not_allowed":"Operation not allowed in %{rails_env} environment","delete_all_documents":"Deleted all child documents"},"discard":"Discard","admin":{"manage_system_users":"Manage Server Synchronisation Users","highlight_fields":"Highlight Fields","contact_info":"Admin Contact Information","create_system_user":"Create a System User"},"administration":"Administration","hidden":"Hidden","preposition":{"at_label":"at","because":"Because","on_label":"on"},"mandatory_field":"marked fields are mandatory","helpers":{"submit":{"update":"Update %{model}","create":"Create %{model}","submit":"Save %{model}"},"select":{"prompt":"Please select"}}},"es":{"home":{"fr":"Fran\u00e7ais","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","en":"English","es":"Espa\u00f1ol","zh":"\u4e2d\u6587","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"}},"zh":{"email":"\u90ae\u7bb1","hello":"\u4f60\u597d","account":"\u5e10\u53f7","true":"true\u771f","imei":"IMEI","description":"\u63cf\u8ff0","search":"\u641c\u7d22","moved_from":"%{field_name}\u4ece%{from_fs}\u79fb\u5230%{to_fs}","couchrest":{"validations":{"blank":"%s \u4e0d\u80fd\u4e3a\u7a7a"},"fields":{"Password":"\u5bc6\u7801","Name":"\u59d3\u540d","Remote app url":"\u8fdc\u7a0b\u5e94\u7528url","Username":"\u7528\u6237\u540d","Description":"\u63cf\u8ff0"}},"position":"\u804c\u4f4d","session":{"about_to_expire":"\u4f60\u7684\u4f1a\u8bdd\u5373\u5c06\u5230\u671f!","has_expired":"\u4f60\u7684\u5bf9\u8bdd\u5df2\u5230\u671f\u3002\u8bf7\u91cd\u65b0\u767b\u9646","no_token_provided":"\u6ca1\u6709\u4f1a\u8bdd\u4ee4\u724c","invalid_credentials":"\u65e0\u6548\u7684\u9a8c\u8bc1\uff0c\u8bf7\u91cd\u8bd5!","login_error":"\u767b\u9646\u65f6\u51fa\u73b0\u9519\u8bef\uff0c\u8bf7\u91cd\u8bd5","invalid_token":"\u4e0d\u6b63\u786e\u7684\u4f1a\u8bdd\u4ee4\u724c","no_token_in_header":"\u7f13\u5b58\u91cc\u9762\u6ca1\u6709\u4f1a\u8bdd\u4ee4\u724c"},"permissions":{"group":{"Devices":"\u8bbe\u5907","Children":"\u513f\u7ae5","Forms":"\u8868\u5355","System":"\u7cfb\u7edf","Reports":"\u62a5\u544a","ALL":"\u6240\u6709","Users":"\u7528\u6237","Roles":"\u89d2\u8272"},"permission":{"Users for synchronisation":"\u7ba1\u7406\u670d\u52a1\u5668\u540c\u6b65\u7528\u6237","Delete Users":"\u5220\u9664\u7528\u6237","Create and Edit Users":"\u521b\u5efa\u548c\u7f16\u8f91\u7528\u6237","Edit Child":"\u7f16\u8f91\u513f\u7ae5","Export to Photowall/CSV/PDF":"\u5bfc\u51fa\u6210\u7167\u7247\u5899/CSV/PDF","Disable Users":"\u7981\u7528\u7528\u6237","View roles":"\u67e5\u770b\u89d2\u8272","Manage Forms":"\u7ba1\u7406\u8868\u5355","Create and Edit Roles":"\u521b\u5efa\u548c\u7f16\u8f91\u89d2\u8272","Register Child":"\u767b\u8bb0\u513f\u7ae5","Highlight Fields":"\u9ad8\u4eae\u5b57\u6bb5","View Users":"\u67e5\u770b\u7528\u6237","View And Search Child":"\u67e5\u770b\u548c\u641c\u7d22\u513f\u7ae5","All":"\u6240\u6709","View and Download Reports":"\u67e5\u770b\u548c\u4e0b\u8f7d\u62a5\u544a","Manage Replications":"\u7ba1\u7406\u526f\u672c","System Settings":"\u7cfb\u7edf\u8bbe\u7f6e","BlackList Devices":"\u9ed1\u540d\u5355\u8bbe\u5907"},"label":"\u5141\u8bb8"},"location":"\u4f4d\u7f6e","provide_translation":"\u63d0\u4f9b\u7ffb\u8bd1","false":"false\u5047","activerecord":{"errors":{"template":{"header":{"other":"%{count}\u4e2a\u9519\u8bef\u5bfc\u81f4%{model}\u4e0d\u80fd\u88ab\u4fdd\u5b58","one":"1\u4e2a\u9519\u8bef\u5bfc\u81f4%{model}\u4e0d\u80fd\u88ab\u4fdd\u5b58"},"body":"\u4ee5\u4e0b\u5b57\u6bb5\u6709\u9519\u8bef:"},"models":{"replication":{"save_remote_couch_config":"The URL/Username/Password\u8f93\u5165\u4e0d\u6b63\u786e","remote_app_url":"\u8bf7\u8f93\u5165\u5408\u9002\u7684 URL, e.g. http://:"},"form_section":{"visible_method":"\u5982\u679c\u5141\u8bb8\u67e5\u770b\u53ef\u89c1\u6027\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u5047","presence_of_base_language_name":"\u57fa\u59cb\u8bed\u8a00'%{base_language}'\u5bf9\u5e94\u7684\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a","perm_visible_method":"perm_visible\u4e0d\u80fd\u4e3a\u5047if perm_enabled\u4e3a\u771f","delete_field":"\u4e0d\u80fd\u7f16\u8f91\u7684\u5b57\u6bb5\u4e0d\u80fd\u88ab\u5220\u9664","fixed_order_method":"fixed_order\u4e0d\u80fd\u4e3a\u5047\u5982\u679cperm_enabled\u662f\u771f","add_field_to_form_section":"\u8868\u5355\u9879\u4e0d\u80fd\u7f16\u8f91","unique_id":"'%{unique_id}'\u5df2\u5b58\u5728.","unique_name":"'%{name}'\u8fd9\u4e2a\u540d\u5b57\u5df2\u5b58\u5728.","format_of_name":"\u540d\u5b57\u53ea\u80fd\u5305\u542b\u5b57\u6bcd\u6570\u5b57\u548c\u7a7a\u683c","presence_of_name":"\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a"},"user":{"user_name_uniqueness":"\u7528\u6237\u540d\u5df2\u5b58\u5728! \u8bf7\u9009\u62e9\u4e00\u4e2a\u65b0\u7684\u7528\u6237\u540d","full_name":"\u8bf7\u8f93\u5165\u7528\u6237\u7684\u5168\u540d","password_confirmation":"\u8bf7\u8f93\u5165\u5bc6\u7801\u786e\u8ba4","user_name":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u7528\u6237\u540d","organisation":"\u8bf7\u8f93\u5165\u7528\u6237\u7684\u7ec4\u7ec7\u540d","authenticate":"\u4e0d\u80fd\u8ba4\u8bc1\u4e00\u4e2a\u6ca1\u6709\u4fdd\u5b58\u7684\u7528\u6237","email":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740","role_ids":"\u8bf7\u9009\u62e9\u81f3\u5c11\u4e00\u4e2a\u89d2\u8272"},"role":{"unique_name":"\u89d2\u8272\u540d\u5df2\u5b58\u5728, \u8bf7\u8f93\u5165\u4e00\u4e2a\u4e0d\u540c\u7684\u540d\u5b57","permission_presence":"\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u9879\u6743\u9650"},"system_users":{"username_unique":"\u7528\u6237\u540d\u5df2\u5b58\u5728!\u8bf7\u9009\u62e9\u4e00\u4e2a\u65b0\u7684\u7528\u6237\u540d"},"field":{"display_name_format":"\u540d\u5b57\u5e94\u81f3\u5c11\u5305\u542b\u4e00\u4e2a\u5b57\u6bcd\u6570\u5b57","has_2_options":"\u5b57\u6bb5\u81f3\u5c11\u9700\u8981\u4e24\u4e2a\u9009\u62e9\u9879","display_name_presence":"\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a","default_value":"\u627e\u4e0d\u5230\u7c7b\u578b\u7684\u9ed8\u8ba4\u503c ","unique_name_other":"\u8868\u5355\u5df2\u7ecf\u5b58\u5728'%{form_name}'\u5b57\u6bb5","has_1_option":"\u68c0\u67e5\u6846\u81f3\u5c11\u9700\u8981\u4e00\u4e2a\u9009\u62e9\u9879","unique_name_this":"\u8868\u5355\u5df2\u7ecf\u5b58\u5728\u8be5\u5b57\u6bb5"},"child":{"primary_photo_id":"\u628a'%{photo_id}'\u505a\u4e3a\u4e3b\u56fe\u7247\u5931\u8d25:\u6ca1\u6709\u8fd9\u4e2a\u56fe\u7247","at_least_one_field":"\u8bf7\u81f3\u5c11\u586b\u4e00\u4e2a\u5b57\u6bb5\u6216\u8005\u4e0a\u4f20\u6587\u4ef6","age":"\u5e74\u9f84\u5fc5\u987b\u57281\u572899\u5c81\u4e4b\u95f4","photo_format":"\u8bf7\u7ed9\u8fd9\u4e2a\u513f\u7ae5\u8bb0\u5f55\u4e0a\u4f20\u5408\u9002\u7684(jpg or png)\u56fe\u7247","photo_size":"\u6587\u4ef6\u592a\u5927","validate_duplicate":"\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a\u6709\u6548\u7684\u526f\u672cID"}}}},"enabled":"\u7981\u7528","yes_label":"\u662f","cancel":"\u53d6\u6d88","replication":{"error":"\u5931\u8d25","configure_a_server":"\u914d\u7f6e\u670d\u52a1\u5668","description":"\u63cf\u8ff0","status":"\u72b6\u6001","confirm_delete":"\u4f60\u786e\u5b9a\u8981\u5220\u9664\u8fd9\u4e2a\u526f\u672c?","index":"\u7ba1\u7406\u526f\u672c","delete":"\u5220\u9664","stop":"\u505c\u6b62\u540c\u6b65","completed":"\u6210\u529f","timestamp":"\u65f6\u95f4\u6233","start":"\u5f00\u59cb\u540c\u6b65","actions":"\u52a8\u4f5c","label":"\u526f\u672c","remote_app_url":"RapidFTR URL","edit":"\u7f16\u8f91\u914d\u7f6e","create":"\u914d\u7f6e\u670d\u52a1\u5668","triggered":"\u5904\u7406\u4e2d"},"name":"\u540d\u5b57","advanced_search":{"created_by_org":"\u521b\u5efa (\u7ec4\u7ec7) :","date_updated":"\u66f4\u65b0\u65e5\u671f :","date_created":"\u521b\u5efa\u65e5\u671f :","before":"\u4e4b\u524d :","updated_by":"\u66f4\u65b0 (\u7528\u6237) :","records_found":{"other":"\u627e\u5230%{count}\u7eaa\u5f55","one":"\u627e\u5230\u4e00\u4e2a\u7eaa\u5f55"},"instruction":"\u901a\u8fc7OR\u6765\u5206\u9694\u591a\u4e2a\u641c\u7d22\u9009\u9879\u3002\u5982\uff1aTim OR Rahul","created_by":"\u521b\u5efa (\u7528\u6237) :","select_a_criteria":"\u9009\u62e9\u4e00\u4e2a\u6807\u51c6","after":"\u4e4b\u540e :","date_instruction":"\u5728\u7b2c\u4e00\u680f\u91cc\u8f93\u5165\u65e5\u671f(yyyy-mm-dd)\u6765\u641c\u7d22\u4e4b\u540e\u521b\u5efa\u6216\u8005\u66f4\u65b0\u7684\u8bb0\u5f55\u3002\u5728\u7b2c\u4e8c\u680f\u91cc\u8f93\u5165\u65e5\u671f(yyyy-mm-dd)\u6765\u641c\u7d22\u4e4b\u524d\u521b\u5efa\u6216\u8005\u66f4\u65b0\u7684\u8bb0\u5f55\u3002\u5728\u4e24\u680f\u90fd\u8f93\u5165\u65e5\u671f\u6765\u67e5\u770b\u671f\u95f4\u521b\u5efa\u6216\u66f4\u65b0\u7684\u8bb0\u5f55\u3002"},"contact":{"info_label":"\u8054\u7cfb\u4fe1\u606f","message":"\u5982\u679c\u4f60\u53d1\u73b0RapidFTR\u5b58\u5728\u95ee\u9898, \u6216\u8005\u89c9\u5f97\u4f60\u7684\u5bc6\u7801\u88ab\u76d7, \u8bf7\u7acb\u5373\u548c\u7ba1\u7406\u5458\u8054\u7cfb","updated":"\u8054\u7cfb\u4fe1\u606f\u6210\u529f\u66f4\u65b0","edit_info":"\u66f4\u6539\u8054\u7cfb\u4fe1\u606f","field":{"name":"\u59d3\u540d","organization":"\u7ec4\u7ec7","other_information":"\u5176\u5b83\u4fe1\u606f","phone":"\u7535\u8bdd\u53f7\u7801","position":"\u804c\u4f4d","location":"\u4f4d\u7f6e","email":"\u90ae\u4ef6"},"not_found":"\u627e\u4e0d\u5230%{id}\u7684\u8054\u7cfb\u4fe1\u606f"},"report":{"types":{"weekly_report":"\u5468\u62a5\u544a"},"download":"\u4e0b\u8f7d","type":"\u7c7b\u578b","as_of_date":"\u65e5\u671f","heading":"RapidFTR\u62a5\u544a"},"will_paginate":{"next_label":"Next →","page_gap":"…","page_entries_info":{"single_page_html":{"other":"\u663e\u793a \u6240\u6709 %{count} %{model}","zero":"\u6ca1\u627e\u5230%{model}","one":"\u663e\u793a 1 %{model}"},"multi_page_html":"\u663e\u793a %{model} %{from} - %{to} \u603b\u5171 %{count} "},"models":{"report":{"other":"\u62a5\u544a","one":"\u62a5\u544a"},"child":{"other":"\u513f\u7ae5","one":"\u513f\u7ae5"}},"previous_label":"← Previous"},"new":"\u521b\u5efa","form_section":{"back":"\u8fd4\u56de\u5230\u8868\u5355\u9875","show":"\u5c55\u793a","hide":"\u9690\u85cf","manage":"\u7ba1\u7406\u8868\u5355","details":"\u8868\u5355\u8be6\u7ec6\u4fe1\u606f","ordering":"\u6392\u5e8fOrdering","visibility":"\u53ef\u89c1Visibility","messages":{"correct_errors":"\u8bf7\u6539\u6b63\u4e0b\u9762\u7684\u9519\u8bef\u5e76\u91cd\u65b0\u63d0\u4ea4:","hide_confirmation":"\u4f60\u786e\u5b9a\u9690\u85cf\u5b57\u6bb5?","cannot_create":"\u8868\u5355\u9879\u4e0d\u80fd\u88ab\u521b\u5efa","updated":"\u8868\u5355\u9879\u88ab\u6210\u529f\u6dfb\u52a0","order_saved":"\u987a\u5e8f\u88ab\u6210\u529f\u4fdd\u5b58.","drag_drop_help_text":"\u60a8\u53ef\u4ee5\u70b9\u51fb\u5b57\u6bb5\u62d6\u653e\uff0c\u653e\u5927\uff0c\u6309\u987a\u5e8f\u4e0b\u79fb\u3002","show_confirmation":"\u4f60\u786e\u5b9a\u663e\u793a\u5b57\u6bb5?"},"actions":{"add_custom_field":"\u6dfb\u52a0\u987e\u5ba2\u5b57\u6bb5","save_order":"\u4fdd\u5b58\u987a\u5e8f"},"label":"\u8868\u5355\u9879","edit":"\u7f16\u8f91\u8868\u5355","create":"\u521b\u5efa\u65b0\u7684\u8868\u5355","buttons":{"add":"\u6dfb\u52a0"},"options":"\u9009\u9879"},"children":{"export_all_child_records_to_pdf":"\u6240\u6709\u513f\u7ae5\u4fe1\u606f\u4ee5 Records PDF\u683c\u5f0f\u5bfc\u51fa","export_some_records_to_csv":"\u67d0\u4e9b\u7eaa\u5f55\u4ee5CSV\u683c\u5f0f\u5bfc\u51fa","filter_by":{"reunited":"\u91cd\u805a","all":"\u6240\u6709","created":"\u521b\u5efa","active":"\u6d3b\u52a8\u7684","label":"\u8fc7\u6ee4","flag":"\u6807\u8bb0\u7684"},"label":"\u513f\u7ae5","order_by":{"most_recently":"\u6700\u8fd1","name":"\u59d3\u540d","label":"\u6392\u5e8f"},"filer_by":{"reunited":"\u91cd\u805a","all":"\u6240\u6709\u7684","active":"\u6d3b\u52a8\u7684","flagged":"\u6807\u8bb0\u7684"},"register_new_child":"\u767b\u8bb0\u65b0\u7684\u513f\u7ae5","flag_summary":"\u6807\u8bb0\u603b\u7ed3","export_all_child_records_to_csv":"\u6240\u6709\u513f\u7ae5\u4fe1\u606f\u4ee5 Records CSV\u683c\u5f0f\u5bfc\u51fa","export":"\u5bfc\u51fa"},"histories":{"added_by":"\u6dfb\u52a0","because":"\u56e0\u4e3a:","reunited":{"child_status_changed":"\u513f\u7ae5\u72b6\u6001\u88ab\u6539\u4e3a\u6d3b\u52a8","with_details":"\u7ec6\u8282:"},"investigated":{"mark_as_not_investigated_by":"\u8bb0\u5f55\u88ab\u6807\u8bb0\u4e3a\u672a\u8c03\u67e5","mark_as_investigated_by":"\u7eaa\u5f55\u88ab\u6807\u8bb0\u4e3a\u5df2\u8c03\u67e5"},"deleted_by":"\u5220\u9664","by":"\u901a\u8fc7","to":"\u5230","audio":{"audio":"\u97f3\u9891","audio_change":"\u97f3\u9891\u6539\u53d8"},"belong_to":"\u5c5e\u4e8e","duplicate":{"no_longer_active":"\u5f53\u524d\u8bb0\u5f55\u4e0d\u53ef\u4fee\u6539\u6216\u8005\u65e0\u6548","mark_as_duplicate":"\u628a\u8fd9\u4e2a\u8bb0\u5f55\u6807\u8bb0\u4e3a\u526f\u672c"},"flag":{"record_unflagged_by":"\u8bb0\u5f55\u88ab\u53d6\u6d88\u6807\u8bb0","record_flagged_by":"\u8bb0\u5f55\u88ab\u6807\u8bb0"}},"encrypt":{"password_title":"\u5bc6\u7801","password_label":"\u8f93\u5165\u5bc6\u7801\u6765\u52a0\u5bc6\u6587\u4ef6","password_mandatory":"\u8f93\u5165\u5bc6\u7801"},"child":{"flag_error_message":"\u8bf7\u89e3\u91ca\u4e3a\u4ec0\u4e48\u6807\u8bb0\u8fd9\u4e2a\u8bb0\u5f55.","unflag_error_message":"\u8bf7\u89e3\u91ca\u4e3a\u4ec0\u4e48\u53d6\u6d88\u4e86\u8fd9\u4e2a\u8bb0\u5f55\u7684\u6807\u8bb0.","duplicate_header":"\u6807\u8bb0 %{child_name}\u4f5c\u4e3a\u526f\u672c","unflag_label":"\u53d6\u6d88\u6807\u8bb0","id_of_record_this_duplicate_of":"\u8f93\u5165\u8fd9\u4e2a\u8bb0\u5f55\u7684\u526f\u672cID","posted_from_mobile":"\u4ece\u79fb\u52a8\u5ba2\u6237\u7aef\u53d1\u5e03:","flagged_by":"\u6807\u8bb0\u4e3a","another_duplicate_after_link":" \u67e5\u770b\u526f\u672c\u8bb0\u5f55","change_log":"\u53d8\u66f4\u65e5\u5fd7","flagged_as_suspected":"\u6807\u8bb0\u4e3a\u53ef\u7591\u8bb0\u5f55","investigation_details":"\u8c03\u67e5\u8be6\u60c5:","edit_photo":"\u7f16\u8f91\u7167\u7247","history_of":"%{short_id}\u7684\u5386\u53f2","registered_by":"\u6ce8\u518c","flag_label":"\u6807\u8bb0","unflag_reason":"\u53d6\u6d88\u6807\u8bb0\u539f\u56e0","view":"\u67e5\u770b\u513f\u7ae5 %{short_id}","messages":{"see_full_size":"\u70b9\u51fb\u56fe\u7247\u67e5\u770b\u5927\u56fe","investigation_error_message":"\u8bf7\u786e\u8ba4\u6807\u8bb0\u7684\u8bb0\u5f55\u5e94\u6807\u4e3a\u5df2\u8c03\u67e5\uff0c\u5e76\u4e14\u8f93\u5165\u4f60\u6709\u7684\u4fe1\u606f.","update_success":"\u513f\u7ae5\u4fe1\u606f\u6210\u529f\u66f4\u65b0","undo_reunite_error_message":"\u8bf7\u786e\u8ba4\u8fd9\u4e2a\u5b69\u5b50\u5e94\u8be5\u88ab\u6807\u8bb0\u4e3a\u672a\u56e2\u805a, \u5e76\u4e14\u8f93\u5165\u4f60\u6709\u7684\u4fe1\u606f.","undo_investigation_error_message":"\u91cd\u5199\u8c03\u67e5\u8be6\u7ec6\u4fe1\u606f:","confirm_duplicate":"\u4f60\u786e\u5b9a\u8981\u7ee7\u7eed? \u5982\u679c\u662f, \u70b9\u51fbOK\u3002\u5982\u679c\u4e0d\u662f, \u70b9\u51fb\u53d6\u6d88\u3002","creation_success":"\u513f\u7ae5\u7eaa\u5f55\u6210\u529f\u521b\u5efa","not_found":"\u672a\u627e\u5230id\u5bf9\u5e94\u7684\u513f\u7ae5","reunite_error_message":"\u8bf7\u786e\u8ba4\u8fd9\u4e2a\u5b69\u5b50\u5df2\u7ecf\u8ddf\u4ed6\u7684\u5bb6\u4eba\u56e2\u805a, \u5e76\u4e14\u8f93\u5165\u4f60\u6709\u7684\u4fe1\u606f."},"last_updated":"\u6700\u8fd1\u66f4\u65b0","flag_record":"\u6807\u8bb0\u8bb0\u5f55","actions":{"reunited_details":"\u56e2\u805a\u8be6\u7ec6\u4fe1\u606f:","cancel":"\u53d6\u6d88","undo_investigated":"\u64a4\u9500\u8c03\u67e5","mark_as_not_investigated":"\u6807\u8bb0\u4e3a\u672a\u8c03\u67e5","change_log":"\u53d8\u66f4\u65e5\u5fd7","view_full_size_photo":"\u67e5\u770b\u5927\u56fe","rotate_anti_clockwise":"\u9006\u65f6\u9488\u65cb\u8f6c","undo_reunited_details":"\u91cd\u5199\u56e2\u805a\u539f\u56e0:","reunite":"\u56e2\u805a","reunited":"\u6807\u8bb0\u4e3a\u56e2\u805a","export_to_pdf":"\u5bfc\u51fa\u6210PDF","mark_as_investigated":"\u6807\u8bb0\u4e3a\u5df2\u8c03\u67e5","investigation_details":"\u8c03\u67e5\u8be6\u60c5","delete_photo":"\u5220\u9664\u7167\u7247?","not_reunited":"\u6807\u8bb0\u4e3a\u672a\u56e2\u805a","choose_as_primary_photo":"\u9009\u62e9\u4e00\u4e2a\u4e3b\u7167\u7247","mark_as_reunited":"\u6807\u8bb0\u4e3a\u56e2\u805a","undo_investigation_details":"\u64a4\u9500\u8c03\u67e5\u8be6\u60c5","restore_image":"\u8fd8\u539f\u539f\u59cb\u56fe\u7247","export_to_csv":"\u5bfc\u51fa\u6210CSV","export_to_photo_wall":"\u5bfc\u51fa\u6210\u7167\u7247\u5899","rotate_clockwise":"\u987a\u65f6\u9488\u65cb\u8f6c","undo_reunite":"\u64a4\u9500\u56e2\u805a"},"another_duplicate_before_link":"\u53e6\u4e00\u4e2a\u8bb0\u5f55\u88ab\u6807\u8bb0\u4e3a\u8fd9\u4e2a\u8bb0\u5f55\u7684\u526f\u672c\uff0c\u70b9\u51fb","mark_child_as_duplicate":"\u6807\u8bb0%{short_id}\u4e3a\u526f\u672c","flag_reason":"\u6807\u8bb0\u539f\u56e0","manage_photos":"\u7ba1\u7406\u7167\u7247","unflag_record":"\u53d6\u6d88\u6807\u8bb0","edit":"\u7f16\u8f91\u513f\u7ae5","mark_as_duplicate":"\u6807\u8bb0\u4e3a\u526f\u672c","reunite_details":"\u91cd\u805a\u8be6\u60c5:"},"roles":{"name":"\u89d2\u8272\u540d","sort_by":{"ascending":"\u5347\u5e8f","label":"\u6392\u5e8f","descending":"\u964d\u5e8f"},"view":"\u67e5\u770b\u89d2\u8272","list":"\u89d2\u8272\u5217\u8868","actions":{"show":"\u663e\u793a","update":"\u66f4\u65b0","show_all":"\u663e\u793a\u6240\u6709","create":"\u521b\u5efa","edit":"\u7f16\u8f91"},"label":"\u89d2\u8272"},"home":{"fr":"Fran\u00e7ais","manage_system_users":"\u7ba1\u7406\u670d\u52a1\u5668\u540c\u6b65\u7528\u6237","welcome":"\u6b22\u8fceRapidFTR","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","en":"English","records_need_attention":"\u4e2a\u9700\u8981\u6ce8\u610f\u7684\u8bb0\u5f55","es":"Espa\u00f1ol","language":"\u8bed\u8a00","zh":"\u4e2d\u6587","label":"\u9996\u9875","current_time_zone":"\u65f6\u533a","view_records":"\u67e5\u770b\u8bb0\u5f55","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"},"role":{"name":"\u59d3\u540d","successfully_updated":"\u89d2\u8272\u7684\u8be6\u7ec6\u4fe1\u606f\u6210\u529f\u66f4\u65b0.","error_in_updating":"\u89d2\u8272\u8be6\u7ec6\u4fe1\u606f\u66f4\u65b0\u5931\u8d25.","edit":"\u7f16\u8f91\u89d2\u8272","create":"\u521b\u5efa\u89d2\u8272"},"form":"\u8868\u5355","blacklisted":"\u9ed1\u540d\u5355?","devices":"\u8bbe\u5907","forms":{"cannot_be_edited":"\u8868\u5355\u4e0a\u4e0d\u80fd\u88ab\u7f16\u8f91\u7684\u5b57\u6bb5.","messages":{"use_existing":"\u6211\u4eec\u5efa\u8bae\u4f60\u4f7f\u7528\u5df2\u5b58\u5728\u7684\u8868\u5355\uff0c\u65b9\u4fbf\u7ec4\u7ec7\u95f4\u4fe1\u606f\u7684\u5206\u4eab\u548c\u878d\u5408\u3002"},"save":"\u4fdd\u5b58\u8868\u5355","initial_language":"\u521d\u59cb\u8bed\u8a00","save_details":"\u4fdd\u5b58\u8be6\u7ec6\u4fe1\u606f","label":"\u8868\u5355"},"messages":{"logoff_warning_prefix":"\u767b\u51fa","hide_forms":"\u4f60\u786e\u5b9a\u8981\u9690\u85cf\u8fd9\u4e9b\u8868\u5355?","logoff":"\u4e0d, \u9000\u51fa","move_item":"\u4f60\u8981\u628a\u8fd9\u4e2a\u5b57\u6bb5\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8868\u5355\u533a\u6bb5({{selection_key}})\u3002\u662f\u8fd9\u6837\u7684\u5417?","cancel_confirmation":"\u4f60\u786e\u5b9a\u8981\u53d6\u6d88?","warning":"\u8b66\u544a:\u5982\u679c\u7ee7\u7eed,\u548c\u5b57\u6bb5\u76f8\u5173\u7684\u6570\u636e\u5c06\u4f1a\u4e22\u5931\u3002\n\u5982\u679c\u4e0d\u786e\u5b9a,\u7981\u7528\u8fd9\u4e2a\u5b57\u6bb5.\n\u70b9\u51fb\u53d6\u6d88\u8fd4\u56de\uff0c\u70b9\u51fbOK\u5220\u9664\u8fd9\u4e2a\u5b57\u6bb5.","enter_valid_field_value":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u5b57\u6bb5\u503c.","select_photo":"\u8bf7\u9009\u62e9\u4e00\u5f20\u7167\u7247\u3002","this_user":" \u8fd9\u4e2a\u7528\u6237?","keep_working":"\u662f\u7684\uff0c\u7ee7\u7eed\u5de5\u4f5c","enter_each_in_one_line":"\u5728\u65b0\u7684\u4e00\u884c\u8f93\u5165\u9009\u9879","confirmation_message":"\u70b9\u51fbok\u5c06\u4f1a\u4e22\u5931\u6240\u6709\u672a\u4fdd\u5b58\u7684\u4fe1\u606f\u3002\u70b9\u51fbCancel\u8fd4\u56de\u5230\u513f\u7ae5\u7eaa\u5f55","primary_photo_changed":"\u4e3b\u7167\u7247\u6539\u53d8\u4e86.","logoff_confirmation":"\u662f\u5426\u8981\u7ee7\u7eed\u4f1a\u8bdd?","valid_search_criteria":"\u8bf7\u8f93\u5165\u81f3\u5c11\u4e00\u4e2a\u641c\u7d22\u6807\u51c6","show_forms":"\u4f60\u786e\u5b9a\u8981\u8ba9\u8fd9\u4e9b\u8868\u5355\u53ef\u89c1?","record_count":"\u663e\u793a %{start} \u5230 %{end} %{total}\u8bb0\u5f55","are_you_sure":"\u4f60\u786e\u5b9a\u8981 ","delete_item":"\u8b66\u544a:\u5982\u679c\u7ee7\u7eed,\u76f8\u5173\u7684\u6570\u636e\u5c06\u4f1a\u4e22\u5931\u3002\n\u5982\u679c\u4e0d\u786e\u5b9a,\u7981\u7528\u8fd9\u4e2a\u5b57\u6bb5\u3002\n\u70b9\u51fb\u53d6\u6d88\u8fd4\u56de\uff0c\u70b9\u51fbOK\u5220\u9664\u8fd9\u4e2a\u5b57\u6bb5\u3002","enter_valid_date":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u521b\u5efa\u65e5\u671f'\u4e4b\u540e' \u548c/\u6216\u8005 '\u4e4b\u524d'\u65e5\u671f(\u683c\u5f0f yyyy-mm-dd).","show_hide_forms":"\u8bf7\u9009\u62e9\u4f60\u60f3\u663e\u793a/\u9690\u85cf\u7684\u8868\u5355\u3002","logoff_warning_suffix":"\u79d2"},"select_all":"\u9009\u62e9\u6240\u6709\u7684\u7eaa\u5f55","user":{"new_password":"\u65b0\u5bc6\u7801","old_password":"\u65e7\u5bc6\u7801","full_name":"\u5168\u540d","no_activity":"\u6ca1\u6709\u6d3b\u52a8","disabled":"\u7981\u7528","update":"\u66f4\u65b0","new":"\u65b0\u7528\u6237","no_blank":"\u7528\u6237\u540d\u4e0d\u80fd\u5305\u542b\u7a7a\u683c","manage_password":"\u66f4\u6539\u79d8\u5bc6","history_of":"%{user_name}\u5386\u53f2","user_action_history":"\u7528\u6237\u6d3b\u52a8\u5386\u53f2","messages":{"updated":"\u7528\u6237\u6210\u529f\u88ab\u66f4\u65b0","created":"\u7528\u6237\u6210\u529f\u88ab\u521b\u5efa","password_changed_successfully":"\u5bc6\u7801\u91cd\u7f6e\u6210\u529f","passwords_do_not_match":"\u5bc6\u7801\u4e0d\u5339\u914d","confirmation":"\u4f60\u786e\u5b9a\u8981\u5220\u9664\u8fd9\u4e2a\u7528\u6237? \u5220\u9664\u7684\u7528\u6237\u4e0d\u53ef\u4ee5\u6062\u590d\u3002\u70b9\u51fbOK\u6765\u5220\u9664\u7528\u6237","not_found":"\u6ca1\u6709\u4e0eid\u5339\u914d\u7684\u7528\u6237","time_zone_updated":"\u8bbe\u7f6e\u6210\u529f"},"actions":{"delete":"\u5220\u9664"},"label":"\u7528\u6237","create":"\u6dfb\u52a0","verify":"\u9a8c\u8bc1","new_password_confirmation":"\u91cd\u65b0\u8f93\u5165\u65b0\u5bc6\u7801"},"belonging_to":"\u5c5e\u4e8e","device":{"blacklist":"\u9ed1\u540d\u5355\u8bbe\u5907","information":"\u8bbe\u5907\u4fe1\u606f","timestamp":"\u65f6\u95f4\u6233","messages":{"blacklist":"\u4f60\u8981\u628a\u8fd9\u4e2a\u8bbe\u5907\u52a0\u5165\u9ed1\u540d\u5355?","disable":"\u4f60\u786e\u5b9a\u8981\u7981\u7528\u8fd9\u4e2a\u8bbe\u5907?","remove_blacklist":"\u4f60\u8981\u628a\u8fd9\u4e2a\u8bbe\u5907\u4ece\u9ed1\u540d\u5355\u79fb\u9664?"},"mobile_number":"\u624b\u673a\u53f7"},"buttons":{"back":"\u540e\u9000","reunite":"\u91cd\u805a","delete":"\u5220\u9664","save":"\u4fdd\u5b58","change_password":"\u4fee\u6539\u5bc6\u7801","edit":"\u7f16\u8f91","disable_photo_wall":"\u7981\u7528\u7167\u7247\u5899","login":"\u767b\u9646","enable_photo_wall":"\u4f7f\u7528\u7167\u7247\u5899"},"login":{"password":{"success_notice":"\u8c22\u8c22\u3002RapidFTR\u7ba1\u7406\u5458\u5c06\u5728\u7a0d\u540e\u8054\u7cfb\u4f60\u3002\u5982\u679c\u53ef\u4ee5\u7684\u8bdd\uff0c\u8bf7\u76f4\u63a5\u8054\u7cfb\u7ba1\u7406\u5458\u3002","successfully_hidden":"\u5bc6\u7801\u53d8\u66f4\u901a\u77e5\u5df2\u6210\u529f\u9690\u85cf","re_enter":"\u91cd\u65b0\u8f93\u5165\u5bc6\u7801","label":"\u5bc6\u7801","reset":"\u5bc6\u7801\u91cd\u7f6e"},"details":"\u767b\u9646","label":"\u767b\u9646","username":"\u7528\u6237\u540d"},"clear":"\u6e05\u9664","navigation":{"advanced_search":"\u9ad8\u7ea7\u641c\u7d22","users":"\u7528\u6237","children":"\u513f\u7ae5","go":"\u641c\u7d22","forms":"\u8868\u5355","devices":"\u8bbe\u5907","search":"\u641c\u7d22","reports":"\u62a5\u544a"},"organisation":"\u7ec4\u7ec7","help_text":"\u5e2e\u52a9","status":"\u72b6\u6001","record":"\u7eaa\u5f55","header":{"my_account":"\u6211\u7684\u5e10\u6237","welcome":"\u6b22\u8fce","system_settings":"\u7cfb\u7edf\u8bbe\u7f6e","logout":"\u9000\u51fa","contact":"\u5e2e\u52a9"},"no_results_found":"\u7eaa\u5f55\u672a\u627e\u5230","details":"\u8be6\u7ec6\u4fe1\u606f","saved":"\u4fdd\u5b58","fields":{"select_box":"\u9009\u62e9\u4e0b\u62c9","numeric_field":"\u6570\u5b57\u5b57\u6bb5","date_field":"\u65e5\u671f\u5b57\u6bb5","action":"\u52a8\u4f5c","text_field":"\u6587\u672c\u5b57\u6bb5","radio_button":"\u5355\u9009\u6309\u94ae","option_strings_text":"\u9009\u9879","move_to":"\u79fb\u52a8\u5230","add":"\u6dfb\u52a0\u5b57\u6bb5","updated":"\u5b57\u6bb5\u88ab\u6210\u529f\u66f4\u65b0","text_area":"\u6587\u672c\u533a\u57df","successfully_added":"\u5b57\u6bb5\u88ab\u6210\u529f\u6dfb\u52a0","type":"\u5b57\u6bb5\u7c7b\u578b","form_name":"\u8868\u5355\u540d","field_name":"\u5b57\u6bb5\u540d","label":"\u5b57\u6bb5","deleted":"%{display_name}\u5b57\u6bb5\u88ab\u5220\u9664.","check_box":"\u68c0\u67e5\u6846","remove":"\u79fb\u9664","display_name":"\u663e\u793a\u5b57\u6bb5\u540d"},"phone":"\u7535\u8bdd","users":{"select_role":"\u8bf7\u5728\u9a8c\u8bc1\u7528\u6237\u4e4b\u524d\u9009\u62e9\u4e00\u4e2a\u89d2\u8272","sort_by":{"full_name":"\u5168\u540d","label":"\u6392\u5e8f"},"manage":"\u7ba1\u7406\u7528\u6237","messages":{"disable":"\u4f60\u786e\u5b9a\u8981\u7981\u6b62\u8fd9\u4e2a\u7528\u6237?"},"actions":{"show":"\u663e\u793a","show_all":"\u663e\u793a\u6240\u6709"},"label":"\u7528\u6237","unverified":"\u672a\u8ba4\u8bc1\u7684\u7528\u6237","create":"\u521b\u5efa\u7528\u6237"},"add":"\u6dfb\u52a0","visible":"\u53ef\u89c1","date_format":"yy-mm-dd","select_all_results":"\u9009\u62e9\u6240\u6709\u7684\u7ed3\u679c","data_base":{"operation_not_allowed":"\u5728 %{rails_env} \u73af\u5883\u4e0b \u64cd\u4f5c\u4e0d\u5141\u8bb8","delete_all_documents":"\u5220\u9664\u6240\u6709\u7684\u513f\u7ae5\u6587\u6863"},"actions":"\u6d3b\u52a8","discard":"\u4e22\u5f03","administration":"\u7ba1\u7406\u5458","admin":{"manage_system_users":"\u7ba1\u7406\u670d\u52a1\u5668\u540c\u6b65\u7528\u6237","highlight_fields":"\u9ad8\u4eae\u5b57\u6bb5","contact_info":"\u7ba1\u7406\u5458\u8054\u7cfb\u4fe1\u606f","create_system_user":"\u521b\u5efa\u7cfb\u7edf\u7528\u6237"},"hidden":"\u9690\u85cf","preposition":{"at_label":"at\u5728","because":"\u56e0\u4e3a","on_label":""},"mandatory_field":"\u6807\u8bb0\u5b57\u6bb5\u4e3a\u5fc5\u987b"},"ar":{"email":"\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a","hello":"\u0645\u0631\u062d\u0628\u0627","account":"\u062d\u0633\u0627\u0628","true":"\u0635\u062d\u064a\u062d","imei":"IMEI","description":"\u0627\u0644\u0648\u0635\u0641","search":"\u0628\u062d\u062b","couchrest":{"validations":{"blank":"%s \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u062e\u0627\u0644\u064a"},"fields":{"Password":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","Name":"\u0627\u0644\u0625\u0633\u0645","Remote app url":"\u0631\u0627\u0628\u0637 \u0627\u0644\u062a\u0637\u0628\u064a\u0642","Username":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","Description":"\u0627\u0644\u0648\u0635\u0641"}},"position":"\u0627\u0644\u0645\u0646\u0635\u0628","session":{"about_to_expire":"\u0647\u0630\u0627 \u0627\u0644\u0641\u0635\u0644 \u0639\u0644\u064a \u0648\u0634\u0643 \u0627\u0644\u0625\u0646\u062a\u0647\u0627\u0621!","has_expired":"\u0647\u0630\u0627 \u0627\u0644\u0641\u0635\u0644 \u0642\u062f \u0625\u0646\u062a\u0647\u0649. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0627\u062f\u0647 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","no_token_provided":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0641\u0635\u0644 \u0644\u0645 \u062a\u0632\u0648\u062f","invalid_credentials":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0625\u0639\u062a\u0645\u0627\u062f \u063a\u064a\u0631 \u0635\u0627\u0644\u062d\u0629. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629!","login_error":"\u0647\u0646\u0627\u0644\u0643 \u0645\u0634\u0643\u0644\u0629 \u0641\u064a \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629!","invalid_token":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0641\u0635\u0644 \u063a\u064a\u0631 \u0635\u0627\u0644\u062d\u0629","no_token_in_header":"\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u064a \u0639\u0644\u0627\u0645\u0629 \u0641\u0635\u0644 \u0641\u064a \u0627\u0644\u0645\u0642\u062f\u0645\u0627\u062a"},"permissions":{"group":{"Devices":"\u0627\u0644\u0623\u062c\u0647\u0632\u0629","Children":"\u0627\u0644\u0623\u0637\u0641\u0627\u0644","Forms":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","System":"\u0627\u0644\u0646\u0638\u0627\u0645","Reports":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631","ALL":"\u0627\u0644\u0643\u0644","Users":"\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","Roles":"\u0627\u0644\u0623\u062f\u0648\u0627\u0631"},"permission":{"Users for synchronisation":"\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0644\u0644\u062a\u0632\u0627\u0645\u0646","Delete Users":"\u062d\u0630\u0641 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","Create and Edit Users":"\u062a\u0643\u0648\u064a\u0646 \u0648 \u062a\u0639\u062f\u064a\u0644 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","Edit Child":"\u062a\u0639\u062f\u064a\u0644 \u0637\u0641\u0644","Export to Photowall/CSV/PDF":"\u0625\u0635\u062f\u0631 \u0644\u0635\u0648\u0631\u0629 \u062d\u0627\u0626\u0637/CSV/PDF","Disable Users":"\u062a\u0639\u0637\u064a\u0644 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","View roles":"\u0639\u0631\u0636 \u0623\u062f\u0648\u0627\u0631","Manage Forms":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0625\u0633\u062a\u0645\u0627\u0631\u0629","Create and Edit Roles":"\u062a\u0643\u0648\u064a\u0646 \u0648 \u062a\u0639\u062f\u064a\u0644 \u0623\u062f\u0648\u0627\u0631","Register Child":"\u062a\u0633\u062c\u064a\u0644 \u0637\u0641\u0644","Highlight Fields":"\u062a\u0633\u0644\u064a\u0637 \u0627\u0644\u0636\u0648\u0621 \u0639\u0644\u0649 \u062d\u0642\u0648\u0644","View Users":"\u0639\u0631\u0636 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","View And Search Child":"\u0639\u0631\u0636 \u0648 \u0628\u062d\u062b \u0637\u0641\u0644","All":"\u0627\u0644\u0643\u0644","View and Download Reports":"View and Download Reports","Manage Replications":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644\u0629","System Settings":"\u0636\u0628\u0637 \u0627\u0644\u0646\u0638\u0627\u0645","BlackList Devices":"\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621"},"label":"\u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a"},"location":"\u0627\u0644\u0645\u0648\u0642\u0639","provide_translation":"\u062a\u0648\u0641\u064a\u0631 \u062a\u0631\u062c\u0645\u0629 \u0644","false":"\u062e\u0637\u0623","activerecord":{"errors":{"template":{"header":{"other":"%{count} \u0623\u062e\u0637\u0627\u0621 \u0645\u0646\u0639\u062a \u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u062d\u0641\u0638","one":"\u062e\u0637\u0623 \u0648\u0627\u062d\u062f \u0645\u0646\u0639 \u0647\u0630\u0627 %{model} \u0645\u0646 \u0623\u0646 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647"},"body":"\u0647\u0646\u0627\u0644\u0643 \u0645\u0634\u0627\u0643\u0644 \u0641\u064a \u0627\u0644\u062d\u0642\u0648\u0644 \u0627\u0644\u062a\u0627\u0644\u064a\u0629:"},"models":{"replication":{"save_remote_couch_config":"\u0627\u0644\u0631\u0627\u0628\u0637 \u0623\u0648 \u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0623\u0648 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062a\u064a \u062a\u0645 \u0625\u062f\u062e\u0627\u0644\u0647\u0627 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d","remote_app_url":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0631\u0627\u0628\u0637 \u0635\u062d\u064a\u062d. \u0645\u062b\u0627\u0644: http://:"},"form_section":{"visible_method":"\u0645\u0631\u064a\u0621 \u0644\u0627\u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 perm_visible \u0635\u0648\u0627\u0628","perm_visible_method":"\u0644\u0627 \u064a\u0645\u0643\u0646 perm_visible \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 perm_enabled \u0635\u0648\u0627\u0628","delete_field":"\u0627\u0644\u062d\u0642\u0644 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0639\u062f\u064a\u0644 \u0644\u0627 \u064a\u0645\u0643\u0646 \u062d\u0630\u0641\u0647","fixed_order_method":"\u0644\u0627 \u064a\u0645\u0643\u0646 fixed_order \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 perm_enabled \u0635\u0648\u0627\u0628","add_field_to_form_section":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u063a\u064a\u0631 \u0645\u0641\u0639\u0644\u0629","unique_id":"\u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0645\u062a\u0641\u0631\u062f\u0629 '%{unique_id}' \u0645\u0648\u062c\u0648\u062f\u0647","unique_name":"\u0627\u0644\u0625\u0633\u0645 '%{name}' \u0645\u0648\u062c\u0648\u062f","format_of_name":"\u0627\u0644\u0625\u0633\u0645 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062d\u0631\u0648\u0641 \u0647\u062c\u0627\u0621\u060c \u0623\u0631\u0642\u0627\u0645 \u0648 \u0645\u0633\u0627\u062d\u0627\u062a \u062e\u0627\u0644\u064a\u0629 \u0641\u0642\u0637","presence_of_name":"\u0627\u0644\u0625\u0633\u0645 \u064a\u062c\u0628 \u0623\u0646 \u0644\u0627 \u064a\u0643\u0648\u0646 \u062e\u0627\u0644\u064a"},"user":{"user_name_uniqueness":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0642\u062f \u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631\u0647 \u0645\u0646 \u0642\u0628\u0644! \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u0645 \u0622\u062e\u0631","full_name":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0627\u0644\u0643\u0627\u0645\u0644","password_confirmation":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","user_name":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u063a\u064a\u0631 \u0635\u0627\u0644\u062d","organisation":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0625\u0633\u0645 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u062a\u064a \u064a\u0646\u062a\u0645\u064a \u0644\u0647\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","authenticate":"\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0635\u0631\u064a\u062d \u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647","email":"\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u063a\u064a\u0631 \u0635\u0627\u0644\u062d","role_ids":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u062f\u0648\u0631 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644"},"role":{"unique_name":"\u0647\u0646\u0627\u0644\u0643 \u062f\u0648\u0631 \u0628\u0647\u0630\u0627 \u0627\u0644\u0625\u0633\u0645. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u0645 \u0645\u062e\u062a\u0644\u0641","permission_presence":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u062f\u0648\u0631 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644"},"system_users":{"username_unique":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0645\u0648\u062c\u0648\u062f! \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u0645 \u0645\u0633\u062a\u062e\u062f\u0645 \u0622\u062e\u0631"},"field":{"display_name_format":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062d\u0631\u0641 \u0647\u062c\u0627\u0626\u064a \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","has_2_options":"\u0627\u0644\u062d\u0642\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062e\u064a\u0627\u0631\u064a\u0646 \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","display_name_presence":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636 \u064a\u062c\u0628 \u0623\u0646 \u0644\u0627 \u064a\u0643\u0648\u0646 \u062e\u0627\u0644\u064a\u0627\u064b","default_value":" \u0644\u0627 \u062a\u0648\u062c\u062f \u0642\u064a\u0645\u0629 \u0623\u0633\u0627\u0633\u064a\u0629 \u0644\u0644\u0646\u0648\u0639 ","unique_name_other":"\u0627\u0644\u062d\u0642\u0644 \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629 '%{form_name}'","has_1_option":"\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0625\u062e\u062a\u064a\u0627\u0631 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062e\u064a\u0627\u0631 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","unique_name_this":"\u0627\u0644\u062d\u0642\u0644 \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629"},"child":{"primary_photo_id":"\u0641\u0634\u0644 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 \u0641\u064a \u0636\u0628\u0637 %{photo_id} \u0643\u0635\u0648\u0631\u0629 \u0623\u0633\u0627\u0633\u064a\u0629. \u0627\u0644\u0635\u0648\u0631\u0629 \u0644\u0627 \u062a\u0648\u062c\u062f","at_least_one_field":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0645\u0644\u0621 \u062d\u0642\u0644 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644 \u0623\u0648 \u062a\u062d\u0645\u064a\u0644 \u0645\u0644\u0641","age":"\u0627\u0644\u0639\u0645\u0631 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0628\u064a\u0646 \u0661 \u0648 \u0669\u0669","photo_format":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u062d\u0645\u064a\u0644 \u0635\u0648\u0631\u0629 \u0635\u0627\u0644\u062d\u0629 (jpg \u0623\u0648 png) \u0644\u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644","photo_size":"\u0647\u0630\u0627 \u0627\u0644\u0645\u0644\u0641 \u0643\u0628\u064a\u0631","validate_duplicate":"\u064a\u062c\u0628 \u062a\u0632\u0648\u064a\u062f \u0647\u0648\u064a\u0629 \u0645\u0637\u0627\u0628\u0642 \u0635\u0627\u0644\u062d\u0629"}}}},"enabled":"\u0645\u0641\u0639\u0644","yes_label":"\u0646\u0639\u0645","cancel":"\u0625\u0644\u063a\u0627\u0621","replication":{"error":"\u0641\u0634\u0644","configure_a_server":"\u0625\u0636\u0628\u0637 \u0627\u0644\u0645\u062e\u062f\u0645","description":"\u0648\u0635\u0641","status":"\u0627\u0644\u062d\u0627\u0644\u0629","confirm_delete":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644\u0629","index":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644\u0629","delete":"\u062d\u0630\u0641","stop":"\u0623\u0648\u0642\u0641 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644","completed":"\u0646\u062c\u0627\u062d","timestamp":"\u062e\u062a\u0645 \u0632\u0645\u0646\u064a","start":"\u0625\u0628\u062f\u0623 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644","actions":"\u0627\u0644\u0623\u0641\u0639\u0627\u0644","label":"\u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644","remote_app_url":"RapidFTR \u0631\u0627\u0628\u0637","edit":"\u062a\u0639\u062f\u064a\u0644 \u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644\u0629","create":"\u0643\u0648\u0646 \u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644\u0629","triggered":"\u062c\u0627\u0631\u064a"},"name":"\u0627\u0644\u0625\u0633\u0645","advanced_search":{"created_by_org":"\u062a\u0645 \u0627\u0644\u062a\u0643\u0648\u064a\u0646 \u0628\u0648\u0627\u0633\u0637\u0629 (\u0645\u0646\u0638\u0645\u0629) :","date_updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062a\u0627\u0631\u064a\u062e :","date_created":"\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0627\u0644\u062a\u0627\u0631\u064a\u062e :","before":"\u0642\u0628\u0644 :","updated_by":"\u062a\u0645 \u0627\u0644\u062a\u062d\u062f\u064a\u062b \u062d\u0633\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 :","records_found":{"other":"\u0648\u062c\u062f %{count} \u0633\u062c\u0644","one":"\u0648\u062c\u062f \u0633\u062c\u0644 \u0648\u0627\u062d\u062f"},"instruction":"\u0625\u0641\u0635\u0644 \u0627\u0644\u0643\u0644\u0645\u0627\u062a \u0628\u0625\u0633\u062a\u062e\u062f\u0627\u0645 OR \u0644\u0644\u0628\u062d\u062b \u0639\u0646 \u0627\u0643\u062b\u0631 \u0645\u0646 \u062e\u064a\u0627\u0631.","created_by":"\u062a\u0645 \u0627\u0644\u062a\u0643\u0648\u064a\u0646 \u0628\u0648\u0627\u0633\u0637\u0629 (\u0645\u0633\u062a\u062e\u062f\u0645) :","select_a_criteria":"\u0625\u062e\u062a\u0631 \u0645\u0639\u064a\u0627\u0631","after":"\u0628\u0639\u062f :","date_instruction":"\u0625\u062f\u062e\u0644 \u062a\u0627\u0631\u064a\u062e \u0641\u064a \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0623\u0648\u0644 \u0644\u0628\u062d\u062b \u0633\u062c\u0644\u0627\u062a \u0643\u0648\u0646\u062a \u0623\u0648 \u062d\u062f\u062b\u062a \u0628\u0639\u062f \u0630\u0644\u0643 \u0627\u0644\u062a\u0627\u0631\u064a\u062e. \u0625\u062f\u062e\u0644 \u062a\u0627\u0631\u064a\u062e \u0641\u064a \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u062b\u0627\u0646\u064a \u0644\u0628\u062d\u062b \u0633\u062c\u0644\u0627\u062a \u0643\u0648\u0646\u062a \u0623\u0648 \u062d\u062f\u062b\u062a \u0642\u0628\u0644 \u0630\u0644\u0643 \u0627\u0644\u062a\u0627\u0631\u064a\u062e. \u0625\u062f\u062e\u0644 \u062a\u0648\u0627\u0631\u064a\u062e \u0641\u064a \u0643\u0644\u0627 \u0627\u0644\u0635\u0646\u062f\u0648\u0642\u064a\u0646 \u0644\u0628\u062d\u062b \u0633\u062c\u0644\u0627\u062a \u0643\u0648\u0646\u062a \u0628\u064a\u0646 \u0627\u0644\u062a\u0627\u0631\u064a\u062e\u064a\u0646"},"contact":{"info_label":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644","message":"\u0625\u0630\u0627 \u0648\u0627\u062c\u0647\u062a\u0643 \u0623\u064a \u0645\u0634\u0627\u0643\u0644 \u0645\u0639 \u0627\u0644\u0646\u0638\u0627\u0645\u060c \u0623\u0648 \u062a\u0639\u062a\u0642\u062f \u0623\u0646 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0642\u062f \u062a\u0645 \u0643\u0634\u0641\u0647\u0627\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0645\u0634\u0631\u0641 \u0627\u0644\u0646\u0638\u0627\u0645 \u062d\u0627\u0644\u0627\u064b","updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0646\u062c\u0627\u062d","edit_info":"\u062a\u0639\u062f\u064a\u0644 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644","field":{"name":"\u0627\u0644\u0625\u0633\u0645","organization":"\u0627\u0644\u0645\u0646\u0638\u0645\u0629","other_information":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0623\u062e\u0631\u0649","phone":"\u0627\u0644\u0647\u0627\u062a\u0641","position":"\u0627\u0644\u0645\u0646\u0635\u0628","location":"\u0627\u0644\u0645\u0648\u0642\u0639","email":"\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a"},"not_found":"\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0647\u0648\u064a\u0647 %{id}"},"will_paginate":{"next_label":"\u0627\u0644\u062a\u0627\u0644\u064a →","page_gap":"…","previous_label":"← \u0627\u0644\u0633\u0627\u0628\u0642"},"new":"\u062c\u062f\u064a\u062f","form_section":{"back":"\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0635\u0641\u062d\u0629 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","show":"\u0639\u0631\u0636","hide":"\u0625\u062e\u0641\u0627\u0621","manage":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","ordering":"\u0627\u0644\u062a\u0631\u062a\u064a\u0628","visibility":"\u0627\u0644\u0631\u0624\u064a\u0629","messages":{"correct_errors":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0648\u0627\u0631\u062f\u0647 \u0648 \u0623\u0639\u062f \u0627\u0644\u062a\u0633\u0644\u064a\u0645:","hide_confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0648\u062f \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u062d\u0642\u0648\u0644\u061f","cannot_create":"\u0644\u0645 \u064a\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0642\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","updated":"\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0642\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0647 \u0628\u0646\u062c\u0627\u062d","order_saved":"\u062a\u0645 \u062d\u0641\u0638 \u0627\u0644\u0637\u0644\u0628 \u0628\u0646\u062c\u0627\u062d.","drag_drop_help_text":"\u064a\u0645\u0643\u0646 \u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u062d\u0642\u0644 \u0644\u0644\u0633\u062d\u0628 \u0648 \u0627\u0644\u0631\u0645\u064a \u0645\u0646 \u0623\u062c\u0644 \u0627\u0644\u062a\u0631\u062a\u064a\u0628","show_confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u062d\u0642\u0648\u0644\u061f"},"actions":{"add_custom_field":"\u0623\u0636\u0641 \u062d\u0642\u0644 \u0639\u0631\u0641\u064a","save_order":"\u062d\u0641\u0638 \u0627\u0644\u0637\u0644\u0628"},"label":"\u0642\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","edit":"\u062a\u0639\u062f\u064a\u0644 \u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0644\u0631\u0629","create":"\u062a\u0643\u0648\u064a\u0646 \u0642\u0633\u0645 \u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u062c\u062f\u064a\u062f","buttons":{"add":"\u0623\u0636\u0641"}},"children":{"export_all_child_records_to_pdf":"\u0625\u0635\u062f\u0627\u0631 \u0643\u0644 \u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0623\u0637\u0641\u0627\u0644 \u0644 PDF","export_some_records_to_csv":"\u0625\u0635\u062f\u0627\u0631 \u0628\u0639\u0636 \u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0644 CSV","filter_by":{"reunited":"\u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","all":"\u0627\u0644\u0643\u0644","created":"\u062a\u0645 \u0627\u0644\u062a\u0643\u0648\u064a\u0646","active":"\u0646\u0634\u0637","label":"\u062a\u0635\u0641\u064a\u0647 \u062d\u0633\u0628","flagged":"\u0639\u0644\u064a\u0647 \u0631\u0627\u064a\u0629 \u0645\u0631\u0641\u0648\u0639"},"label":"\u0627\u0644\u0623\u0637\u0641\u0627\u0644","order_by":{"most_recently":"\u0645\u0624\u062e\u0631\u0627\u064b","name":"\u0627\u0644\u0625\u0633\u0645","label":"\u062a\u0631\u062a\u064a\u0628 \u062d\u0633\u0628"},"filer_by":{"reunited":"\u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","all":"\u0627\u0644\u0643\u0644","active":"\u0646\u0634\u0637","flagged":"\u0639\u0644\u064a\u0647 \u0631\u0627\u064a\u0629"},"register_new_child":"\u062a\u0633\u062c\u064a\u0644 \u0637\u0641\u0644 \u062c\u062f\u064a\u062f","flag_summary":"\u0645\u0644\u062e\u0635 \u0627\u0644\u0631\u0627\u064a\u0629","export_all_child_records_to_csv":"\u0625\u0635\u062f\u0627\u0631 \u0643\u0644 \u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0623\u0637\u0641\u0627\u0644 \u0644 CSV","export":"\u0625\u0635\u062f\u0627\u0631"},"histories":{"added_by":"\u0623\u0636\u064a\u0641 \u0628\u0648\u0627\u0633\u0637\u0629","because":"\u0628\u0633\u0628\u0628:","reunited":{"child_status_changed":"\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627 \u0625\u0644\u0649 \u0645\u0641\u0639\u0644 \u0628\u0648\u0627\u0633\u0637\u0629","with_details":"\u0628\u0647\u0630\u0647 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644:"},"investigated":{"mark_as_not_investigated_by":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0628\u0648\u0627\u0633\u0637\u0629","mark_as_investigated_by":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0642\u062f \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0628\u0648\u0627\u0633\u0637\u0629"},"deleted_by":"\u062d\u0630\u0641 \u0628\u0648\u0627\u0633\u0637\u0629","by":"\u0628\u0648\u0627\u0633\u0637\u0629","to":"\u0625\u0644\u0649","audio":{"audio":"\u0627\u0644\u0635\u0648\u062a","audio_change":"\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0635\u0648\u062a\u064a \u062a\u063a\u064a\u0631 \u0645\u0646"},"belong_to":"\u064a\u0646\u062a\u0645\u064a \u0625\u0644\u0649","duplicate":{"no_longer_active":"\u0627\u0644\u0633\u062c\u0644 \u0627\u0644\u062d\u0627\u0644\u0649 \u063a\u064a\u0631 \u0645\u0641\u0639\u0644 \u0648\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0639\u062f\u064a\u0644\u0647","mark_as_duplicate":"\u062d\u062f\u062f \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0645\u0637\u0627\u0628\u0642 \u0644"},"flag":{"record_unflagged_by":"\u062a\u0645 \u0625\u0644\u063a\u0627\u0621 \u062a\u0639\u0644\u064a\u0645 \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0628\u0648\u0627\u0633\u0637\u0629","record_flagged_by":"\u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u062a\u0645 \u062a\u0639\u0644\u064a\u0645\u0647 \u0628\u0648\u0627\u0633\u0637\u0629"}},"child":{"flag_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0648\u0636\u064a\u062d \u0627\u0644\u0633\u0628\u0628 \u0644\u0631\u0641\u0639\u0643 \u0627\u0644\u0631\u0627\u064a\u0629 \u0639\u0644\u064a \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644","unflag_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0648\u0636\u064a\u062d \u0627\u0644\u0633\u0628\u0628 \u0644\u062a\u0646\u0632\u064a\u0644\u0643 \u0627\u0644\u0631\u0627\u064a\u0629 \u0645\u0646 \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644","duplicate_header":"\u062d\u062f\u062f %{child_name} \u0639\u0644\u0649 \u0623\u0646\u0647 \u0645\u0637\u0627\u0628\u0642","unflag_label":"\u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","id_of_record_this_duplicate_of":"\u0623\u062f\u062e\u0644 \u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u062c\u0644 \u0627\u0644\u0630\u064a \u064a\u0637\u0627\u0628\u0642 \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644: ","posted_from_mobile":"\u0623\u0631\u0633\u0644 \u0645\u0646 \u0647\u0627\u062a\u0641 \u062c\u0648\u0627\u0644 \u0639\u0646\u062f: ","flagged_by":"\u062a\u0645 \u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629 \u0628\u0648\u0627\u0633\u0637\u0629 ","another_duplicate_after_link":" \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0645\u062a\u0637\u0627\u0628\u0642\u0629. ","change_log":"\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631","flagged_as_suspected":"\u062a\u0645 \u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0633\u062c\u0644 \u0645\u0634\u0643\u0648\u0643 \u0641\u064a\u0647 \u0628\u0648\u0627\u0633\u0637\u0629 ","investigation_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642:","mark_as_duplicate_with_param":"\u062d\u062f\u062f %{child_name} \u0643\u0645\u0637\u0627\u0628\u0642","edit_photo":"\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0635\u0648\u0631\u0629","registered_by":"\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0628\u0648\u0627\u0633\u0637\u0629 ","flag_label":"\u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629","unflag_reason":"\u0627\u0644\u0633\u0628\u0628 \u0644\u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","view":"\u0639\u0631\u0636 \u0627\u0644\u0623\u0637\u0641\u0627\u0644","messages":{"see_full_size":"\u0625\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u0635\u0648\u0631\u0647 \u0644\u0631\u0624\u064a\u0647 \u0627\u0644\u062d\u062c\u0645 \u0627\u0644\u0643\u0627\u0645\u0644.","investigation_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0623\u0643\u0651\u062f \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u0633\u062c\u0644 \u0630\u0648 \u0627\u0644\u0631\u0627\u064a\u0629 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u0642\u062f \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642\u060c \u0648 \u0623\u062f\u062e\u0644 \u0623\u064a \u062a\u0641\u0627\u0635\u064a\u0644 ","update_success":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0633\u062c\u0644 \u0627\u0644\u0637\u0641\u0644 \u0628\u0646\u062c\u0627\u062d.","undo_reunite_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0623\u0643\u0651\u062f \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u0637\u0641\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0644\u0645 \u0634\u0645\u0644\u0647\u060c \u0648 \u0623\u062f\u062e\u0644 \u0623\u064a \u062a\u0641\u0627\u0635\u064a\u0644 \u062a\u0645\u062a\u0644\u0643\u0647\u0627","undo_investigation_error_message":"\u0625\u0644\u063a\u0627\u0621 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642:","confirm_duplicate":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0627\u0644\u0645\u0648\u0627\u0635\u0644\u0629\u061f \u0625\u0630\u0627 \u0623\u0631\u062f\u062a \u0630\u0644\u0643 \u0625\u0636\u063a\u0637 \u0645\u0648\u0627\u0641\u0642 \u0644\u0644\u0645\u0648\u0627\u0635\u0644\u0647 \u0623\u0648 \u0644\u0627 \u0644\u0644\u0625\u0644\u063a\u0627\u0621","creation_success":"\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0633\u062c\u0644 \u0644\u0644\u0637\u0641\u0644 \u0628\u0646\u062c\u0627\u062d","not_found":"\u0644\u0627 \u064a\u0648\u062c\u062f \u0633\u062c\u0644 \u0644\u0644\u0637\u0641\u0644 \u0628\u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0645\u0639\u0637\u0627\u0629","reunite_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0623\u0643\u0651\u062f \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u0637\u0641\u0644 \u0642\u062f \u062a\u0645 \u0644\u0645 \u0634\u0645\u0644\u0647 \u0628\u0623\u0633\u0631\u062a\u0647 \u0623\u0648 \u0628\u0631\u0627\u0639\u064a\u060c \u0648 \u0623\u062f\u062e\u0644 \u0623\u064a \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u062a\u0645\u062a\u0644\u0643\u0647\u0627"},"last_updated":"\u0622\u062e\u0631 \u062a\u062d\u062f\u064a\u062b ","flag_record":"\u0633\u062c\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","actions":{"reunited_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644: ","cancel":"\u0625\u0644\u063a\u0627\u0621","undo_investigated":"\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062a\u062d\u0642\u064a\u0642","mark_as_not_investigated":"\u062d\u062f\u062f \u0639\u0644\u064a \u0625\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642","change_log":"\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0633\u062c\u0644","view_full_size_photo":"\u0639\u0631\u0636 \u0627\u0644\u0635\u0648\u0631\u0629 \u0628\u0627\u0644\u062d\u062c\u0645 \u0627\u0644\u0643\u0644\u064a","rotate_anti_clockwise":"\u062a\u062f\u0648\u064a\u0631 \u0639\u0643\u0633 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629","undo_reunited_details":"\u0625\u0644\u063a\u0627\u0621 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642:","reunite":"\u0644\u0645 \u0627\u0644\u0634\u0645\u0644","reunited":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","export_to_pdf":"\u0625\u0635\u062f\u0631 \u0644 PDF","mark_as_investigated":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642","investigation_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642","delete_photo":"\u062d\u0630\u0641 \u0627\u0644\u0635\u0648\u0631\u0629\u061f","not_reunited":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","choose_as_primary_photo":"\u0625\u062e\u062a\u0631 \u0643\u0635\u0648\u0631\u0629 \u0623\u0633\u0627\u0633\u064a\u0629","mark_as_reunited":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","undo_investigation_details":"\u0625\u0644\u063a\u0627\u0621 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642","restore_image":"\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0623\u0635\u0644\u064a\u0629","export_to_csv":"\u0625\u0635\u062f\u0631 \u0644 CSV","export_to_photo_wall":"\u0623\u0635\u062f\u0631 \u0643\u0635\u0648\u0631\u0647 \u062d\u0627\u0626\u0637.","rotate_clockwise":"\u062a\u062f\u0648\u064a\u0631 \u0641\u064a \u0625\u062a\u062c\u0627\u0647 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629","undo_reunite":"\u0625\u0644\u063a\u0627\u0621 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644"},"another_duplicate_before_link":"\u0647\u0646\u0627\u0644\u0643 \u062a\u0642\u0631\u064a\u0631 \u0622\u062e\u0631 \u062a\u0645 \u062a\u062d\u062f\u064a\u062f\u0647 \u0643\u0645\u0637\u0627\u0628\u0642 \u0644\u0647\u0630\u0627 \u0627\u0644\u062a\u0642\u0631\u064a\u0631. \u0625\u0636\u063a\u0637","flag_reason":"\u0627\u0644\u0633\u0628\u0628 \u0644\u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629","manage_photos":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0635\u0648\u0631","unflag_record":"\u0633\u062c\u0644 \u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","edit":"\u062a\u0639\u062f\u064a\u0644 \u0637\u0641\u0644","mark_as_duplicate":"\u062d\u062f\u062f \u0643\u0645\u0637\u0627\u0628\u0642","reunite_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644: "},"roles":{"name":"\u0625\u0633\u0645 \u0627\u0644\u062f\u0648\u0631","sort_by":{"ascending":"\u062a\u0635\u0627\u0639\u062f\u064a","label":"\u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u062d\u0633\u0628","descending":"\u062a\u0646\u0627\u0632\u0644\u064a"},"view":"\u0639\u0631\u0636 \u062f\u0648\u0631 ","list":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u062f\u0648\u0627\u0631","actions":{"show":"\u0639\u0631\u0636","update":"\u062a\u062d\u062f\u064a\u062b","show_all":"\u0639\u0631\u0636 \u0627\u0644\u0643\u0644","create":"\u062a\u0643\u0648\u064a\u0646","edit":"\u062a\u0639\u062f\u064a\u0644"},"label":"\u0627\u0644\u0623\u062f\u0648\u0627\u0631"},"home":{"fr":"Fran\u00e7ais","manage_system_users":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u064a \u0627\u0644\u0646\u0638\u0627\u0645","welcome":"\u0645\u0631\u062d\u0628\u0627 RapidFTR","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","en":"English","records_need_attention":"\u0633\u062c\u0644\u0627\u062a \u062a\u062d\u062a\u0627\u062c \u0627\u0644\u0645\u0634\u0627\u0647\u062f\u0629","es":"Espa\u00f1ol","language":"\u0627\u0644\u0644\u063a\u0629","zh":"\u4e2d\u6587","label":"\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629","current_time_zone":"\u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0632\u0645\u0646\u064a \u0627\u0644\u062d\u0627\u0644\u064a","view_records":"\u0639\u0631\u0636 \u0627\u0644\u0633\u062c\u0644\u0627\u062a","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629"},"role":{"name":"\u0627\u0644\u0625\u0633\u0645","successfully_updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062f\u0648\u0631 \u0628\u0646\u062c\u0627\u062d","error_in_updating":"\u062e\u0637\u0623 \u0641\u064a \u062a\u062d\u062f\u064a\u062b \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062f\u0648\u0631","edit":"\u062a\u0639\u062f\u064a\u0644 \u062f\u0648\u0631","create":"\u062a\u0643\u0648\u064a\u0646 \u062f\u0648\u0631"},"form":"\u0625\u0633\u062a\u0645\u0627\u0631\u0629","blacklisted":"\u064a\u0646\u062a\u0645\u064a \u0625\u0644\u0649 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621\u061f","devices":"\u0627\u0644\u0623\u062c\u0647\u0632\u0629","forms":{"cannot_be_edited":"\u0627\u0644\u062d\u0642\u0648\u0644 \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0639\u062f\u064a\u0644\u0647\u0627.","messages":{"use_existing":"\u0645\u0646 \u0627\u0644\u0645\u062d\u0628\u0630 \u0625\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0647 \u0645\u0645\u0627 \u064a\u062c\u0639\u0644 \u0645\u0634\u0627\u0631\u0643\u0629 \u0648 \u062f\u0645\u062c \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0623\u0633\u0647\u0644"},"save":"\u062d\u0641\u0638 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","initial_language":"\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629","save_details":"\u062d\u0641\u0638 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644","label":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a"},"messages":{"logoff_warning_prefix":"\u0633\u0648\u0641 \u064a\u062a\u0645 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c \u0641\u064a ","hide_forms":"\u0647\u0644 \u0623\u0627\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a\u061f","logoff":"\u0644\u0627\u060c \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c","move_item":"\u0623\u0646\u062a \u0639\u0644\u0649 \u0648\u0634\u0643 \u0646\u0642\u0644 \u0647\u0630\u0627 \u0627\u0644\u062d\u0642\u0644 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u0622\u062e\u0631 ({{selection_key}}). \u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f\u061f","cancel_confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u063a\u0627\u0621\u061f","warning":"Warning: If you continue, any data associated with this field will be lost.\nIf you're uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","enter_valid_field_value":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0642\u064a\u0645\u0647 \u0635\u0627\u0644\u062d\u0647 \u0641\u064a \u0627\u0644\u062d\u0642\u0644","select_photo":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0635\u0648\u0631\u0647.","this_user":"\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u061f","keep_working":"\u0646\u0639\u0645\u060c \u0648\u0627\u0635\u0644 \u0627\u0644\u0639\u0645\u0644","enter_each_in_one_line":"\u0625\u062f\u062e\u0644 \u0643\u0644 \u062e\u064a\u0627\u0631 \u0641\u064a \u0633\u0637\u0631 \u062c\u062f\u064a\u062f","confirmation_message":"\u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0646\u0639\u0645 \u0633\u064a\u0644\u063a\u064a \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0637\u0647\u0627. \u0625\u0636\u063a\u0637 \u0639\u0644\u0649 \u0625\u0644\u063a\u0627\u0621 \u0644\u064a\u062a\u0645 \u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0633\u062c\u0644 \u0627\u0644\u0637\u0641\u0644","primary_photo_changed":"\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0635\u0648\u0631\u0647 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0647.","logoff_confirmation":"\u0647\u0644 \u062a\u0631\u063a\u0628 \u0641\u064a \u0645\u0648\u0627\u0635\u0644\u0629 \u0647\u0630\u0627 \u0627\u0644\u0641\u0635\u0644\u061f","valid_search_criteria":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0645\u0639\u064a\u0627\u0631 \u0628\u062d\u062b\u064a \u0648\u0627\u062d\u062f \u0639\u0644\u064a \u0627\u0644\u0623\u0642\u0644","show_forms":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062c\u0639\u0644 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0647 \u0645\u062e\u0641\u064a\u0647\u061f","are_you_sure":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0623\u0646 ","delete_item":"Warning: If you continue, any data associated with this field will be lost.\nIf you\\'re uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","enter_valid_date":"Please enter a valid 'After' and/or 'Before' Date Created (format yyyy-mm-dd).","show_hide_forms":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u062a\u0645\u0627\u0631\u0647 \u0644\u064a\u062a\u0645 \u0625\u0638\u0647\u0627\u0631\u0647\u0627/\u0625\u062e\u0641\u0627\u0626\u0647\u0627","logoff_warning_suffix":"\u062b\u0648\u0627\u0646\u064a."},"select_all":"\u0625\u062e\u062a\u0631 \u0643\u0644 \u0627\u0644\u0633\u062c\u0644\u0627\u062a","user":{"new_password":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062c\u062f\u064a\u062f\u0629","old_password":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629","full_name":"\u0627\u0644\u0625\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644","no_activity":"\u0644\u0627 \u0646\u0634\u0627\u0637 \u0644\u0647","disabled":"\u063a\u064a\u0631 \u0645\u0641\u0639\u0644","update":"\u062a\u062d\u062f\u064a\u062b","new":"\u0645\u0633\u062a\u062e\u062f\u0645 \u062c\u062f\u064a\u062f","no_blank":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u064a\u062c\u0628 \u0623\u0644\u0627 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0641\u0631\u0627\u063a\u0627\u062a","manage_password":"\u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","user_action_history":"\u062a\u0627\u0631\u064a\u062e \u0646\u0634\u0627\u0637 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","messages":{"updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0646\u062c\u0627\u062d","created":"\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0646\u062c\u0627\u062d","password_changed_successfully":"\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0628\u0646\u062c\u0627\u062d","passwords_do_not_match":"\u0644\u0627 \u062a\u0637\u0627\u0628\u0642 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629","confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u061f \u0644\u0627 \u064a\u0645\u0643\u0646 \u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062d\u0630\u0641. \u0625\u0636\u0639\u0637 \u0646\u0639\u0645 \u0644\u064a\u062a\u0645 \u062d\u0630\u0641 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","not_found":"\u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0627\u0644\u0647\u0648\u064a\u0647 \u0627\u0644\u0645\u0639\u0637\u0627\u0647","time_zone_updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0628\u0646\u062c\u0627\u062d"},"actions":{"delete":"\u062d\u0630\u0641"},"label":"\u0645\u0633\u062a\u062e\u062f\u0645","create":"\u062a\u0643\u0648\u064a\u0646","verify":"\u062a\u062d\u0642\u0642","new_password_confirmation":"\u0623\u0643\u062f \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631"},"belonging_to":"\u064a\u0646\u062a\u0645\u064a \u0625\u0644\u0649","device":{"blacklist":"\u0623\u0636\u0641 \u0627\u0644\u062c\u0647\u0627\u0632 \u0644\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621","information":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062c\u0647\u0627\u0632","timestamp":"\u0627\u0644\u062e\u062a\u0645 \u0627\u0644\u0632\u0645\u0646\u064a","messages":{"blacklist":"\u0647\u0644 \u062a\u0631\u064a\u062f \u0625\u0636\u0627\u0641\u0629 \u0647\u0630\u0627 \u0627\u0644\u062c\u0647\u0627\u0632 \u0625\u0644\u0649 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621\u061f","disable":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u062c\u0647\u0627\u0632\u061f","remove_blacklist":"\u0647\u0644 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u062c\u0647\u0627\u0632 \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621\u061f"},"mobile_number":"\u0631\u0642\u0645 \u0627\u0644\u0647\u0627\u062a\u0641 \u0627\u0644\u062c\u0648\u0627\u0644"},"buttons":{"back":"\u0631\u062c\u0648\u0639","reunite":"\u0644\u0645 \u0627\u0644\u0634\u0645\u0644","delete":"\u062d\u0630\u0641","save":"\u062d\u0641\u0638","change_password":"\u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","edit":"\u062a\u0639\u062f\u064a\u0644","disable_photo_wall":"\u062a\u0639\u0637\u064a\u0644 \u0635\u0648\u0631\u0629 \u0627\u0644\u062d\u0627\u0626\u0637","login":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","enable_photo_wall":"\u062a\u0645\u0643\u064a\u0646 \u0635\u0648\u0631\u0629 \u0627\u0644\u062d\u0627\u0626\u0637"},"login":{"password":{"success_notice":"\u0634\u0643\u0631\u0627\u064e. \u0623\u062d\u062f \u0627\u0644\u0645\u0634\u0631\u0641\u064a\u0646 \u0633\u064a\u062a\u0635\u0644 \u0628\u0643 \u0642\u0631\u064a\u0628\u0627\u064b. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0645\u0634\u0631\u0641 \u0645\u0628\u0627\u0634\u0631\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0628\u0627\u0644\u0625\u0645\u0643\u0627\u0646.","successfully_hidden":"\u062a\u0645 \u0625\u062e\u0641\u0627\u0621 \u0625\u0634\u0639\u0627\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0628\u0646\u062c\u0627\u062d","re_enter":"\u0625\u0639\u0627\u062f\u0629 \u0625\u062f\u062e\u0627\u0644 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","label":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","reset":"\u0637\u0644\u0628 \u0625\u0639\u0627\u062f\u0647 \u0636\u0628\u0637 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631"},"details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","label":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","username":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645"},"clear":"Clear","navigation":{"advanced_search":"\u0628\u062d\u062b \u0645\u062a\u0642\u062f\u0645","users":"\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","children":"\u0627\u0644\u0623\u0637\u0641\u0627\u0644","go":"\u0625\u0630\u0647\u0628","forms":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","devices":"\u0627\u0644\u0623\u062c\u0647\u0632\u0629","search":"\u0628\u062d\u062b","reports":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631"},"organisation":"\u0627\u0644\u0645\u0646\u0638\u0645\u0629","help_text":"\u0646\u0635 \u0644\u0644\u0645\u0633\u0627\u0639\u062f\u0629","status":"\u0627\u0644\u062d\u0627\u0644\u0629","record":"\u0633\u062c\u0644","header":{"my_account":"\u062d\u0633\u0627\u0628\u064a","welcome":"\u0645\u0631\u062d\u0628\u0627","system_settings":"\u0636\u0628\u0637 \u0627\u0644\u0646\u0638\u0627\u0645","logout":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c","contact":"\u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0648 \u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0647"},"no_results_found":"\u0644\u0645 \u062a\u0648\u062c\u062f \u0623\u064a \u0646\u062a\u0627\u0626\u062c","details":"\u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644","message":null,"saved":"\u062a\u0645 \u0627\u0644\u062d\u0641\u0638","fields":{"select_box":"\u0625\u062e\u062a\u0631 \u0642\u0627\u0626\u0645\u0629","numeric_field":"\u062d\u0642\u0644 \u0631\u0642\u0645\u064a","date_field":"\u062d\u0642\u0644 \u0627\u0644\u062a\u0627\u0631\u064a\u062e","action":"\u0641\u0639\u0644","text_field":"\u062d\u0642\u0644 \u0646\u0635\u064a","radio_button":"\u0632\u0631 \u0627\u0644\u0631\u0627\u062f\u064a\u0648","option_strings_text":"\u062e\u064a\u0627\u0631\u0627\u062a","move_to":"\u0625\u0646\u0642\u0644 \u0625\u0644\u0649","updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062d\u0642\u0644","add":"\u0623\u0636\u0641 \u062d\u0642\u0644","text_area":"\u0645\u0646\u0637\u0642\u0629 \u0646\u0635\u064a\u0629","successfully_added":"\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u062d\u0642\u0644 \u0628\u0646\u062c\u0627\u062d","type":"\u0646\u0648\u0639 \u0627\u0644\u062d\u0642\u0644","form_name":"\u0625\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","field_name":"\u0625\u0633\u0645 \u0627\u0644\u062d\u0642\u0644","label":"\u062d\u0642\u0648\u0644","deleted":"\u0627\u0644\u062d\u0642\u0644 %{display_name} \u062a\u0645 \u062d\u0630\u0641\u0647","check_box":"\u0635\u0646\u0627\u062f\u064a\u0642 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a","remove":"\u062d\u0630\u0641","display_name":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636"},"phone":"\u0627\u0644\u0647\u0627\u062a\u0641","users":{"select_role":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u062f\u0648\u0631 \u0642\u0628\u0644 \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","sort_by":{"full_name":"\u0627\u0644\u0625\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644","label":"\u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u062d\u0633\u0628"},"manage":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","messages":{"disable":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u061f"},"actions":{"show":"\u0639\u0631\u0636","show_all":"\u0639\u0631\u0636 \u0643\u0644"},"label":"\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","unverified":"\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0639\u0646\u0647\u0645","create":"\u062a\u0643\u0648\u064a\u0646 \u0645\u0633\u062a\u062e\u062f\u0645"},"add":"\u0623\u0636\u0641","visible":"\u0645\u0631\u0626\u064a","date_format":"yy-mm-dd","data_base":{"operation_not_allowed":"\u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u063a\u064a\u0631 \u0645\u0635\u0631\u062d \u0628\u0647\u0627 \u0641\u064a \u0628\u064a\u0626\u0629 %{rails_env}","delete_all_documents":"\u062a\u0645 \u062d\u0630\u0641 \u0643\u0644 \u0648\u062b\u0627\u0626\u0642 \u0627\u0644\u0623\u0637\u0641\u0627\u0644"},"actions":"\u0646\u0634\u0627\u0637","administration":"\u0627\u0644\u0625\u062f\u0627\u0631\u0629","display_name":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636","admin":{"manage_system_users":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u064a \u0627\u0644\u0646\u0638\u0627\u0645","highlight_fields":"\u062a\u0633\u0644\u064a\u0637 \u0627\u0644\u0636\u0648\u0621 \u0639\u0644\u0649 \u062d\u0642\u0648\u0644","contact_info":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0645\u0634\u0631\u0641","create_system_user":"\u062a\u0643\u0648\u064a\u0646 \u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0644\u0646\u0638\u0627\u0645"},"history_of":"\u0627\u0644\u062a\u0627\u0631\u064a\u062e","discard":"\u0625\u0644\u063a\u0627\u0621","hidden":"\u0645\u062e\u0641\u064a","preposition":{"because":"\u0628\u0633\u0628\u0628","on_label":"\u0639\u0644\u0649"},"mandatory_field":"\u062d\u0642\u0648\u0644 \u0625\u0644\u0632\u0627\u0645\u064a\u0629"}}; \ No newline at end of file +I18n.translations = {"ar":{"details":"\u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644","new":"\u062c\u062f\u064a\u062f","data_base":{"operation_not_allowed":"\u0627\u0644\u0639\u0645\u0644\u064a\u0629 \u063a\u064a\u0631 \u0645\u0635\u0631\u062d \u0628\u0647\u0627 \u0641\u064a \u0628\u064a\u0626\u0629 %{rails_env}","delete_all_documents":"\u062a\u0645 \u062d\u0630\u0641 \u0643\u0644 \u0648\u062b\u0627\u0626\u0642 \u0627\u0644\u0623\u0637\u0641\u0627\u0644"},"actions":"\u0646\u0634\u0627\u0637","position":"\u0627\u0644\u0645\u0646\u0635\u0628","no_results_found":"\u0644\u0645 \u062a\u0648\u062c\u062f \u0623\u064a \u0646\u062a\u0627\u0626\u062c","devices":"\u0627\u0644\u0623\u062c\u0647\u0632\u0629","add":"\u0623\u0636\u0641","email":"\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a","session":{"no_token_in_header":"\u0644\u0627 \u062a\u0648\u062c\u062f \u0623\u064a \u0639\u0644\u0627\u0645\u0629 \u0641\u0635\u0644 \u0641\u064a \u0627\u0644\u0645\u0642\u062f\u0645\u0627\u062a","about_to_expire":"\u0647\u0630\u0627 \u0627\u0644\u0641\u0635\u0644 \u0639\u0644\u064a \u0648\u0634\u0643 \u0627\u0644\u0625\u0646\u062a\u0647\u0627\u0621!","no_token_provided":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0641\u0635\u0644 \u0644\u0645 \u062a\u0632\u0648\u062f","invalid_token":"\u0639\u0644\u0627\u0645\u0629 \u0627\u0644\u0641\u0635\u0644 \u063a\u064a\u0631 \u0635\u0627\u0644\u062d\u0629","login_error":"\u0647\u0646\u0627\u0644\u0643 \u0645\u0634\u0643\u0644\u0629 \u0641\u064a \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629!","has_expired":"\u0647\u0630\u0627 \u0627\u0644\u0641\u0635\u0644 \u0642\u062f \u0625\u0646\u062a\u0647\u0649. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0627\u062f\u0647 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","invalid_credentials":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0625\u0639\u062a\u0645\u0627\u062f \u063a\u064a\u0631 \u0635\u0627\u0644\u062d\u0629. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629!"},"yes_label":"\u0646\u0639\u0645","false":"\u062e\u0637\u0623","organisation":"\u0627\u0644\u0645\u0646\u0638\u0645\u0629","permissions":{"label":"\u0627\u0644\u0623\u0630\u0648\u0646\u0627\u062a","group":{"Reports":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631","Devices":"\u0627\u0644\u0623\u062c\u0647\u0632\u0629","Roles":"\u0627\u0644\u0623\u062f\u0648\u0627\u0631","Forms":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","Users":"\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","System":"\u0627\u0644\u0646\u0638\u0627\u0645","Children":"\u0627\u0644\u0623\u0637\u0641\u0627\u0644","ALL":"\u0627\u0644\u0643\u0644"},"permission":{"View And Search Child":"\u0639\u0631\u0636 \u0648 \u0628\u062d\u062b \u0637\u0641\u0644","Users for synchronisation":"\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0644\u0644\u062a\u0632\u0627\u0645\u0646","Manage Replications":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644\u0629","All":"\u0627\u0644\u0643\u0644","Highlight Fields":"\u062a\u0633\u0644\u064a\u0637 \u0627\u0644\u0636\u0648\u0621 \u0639\u0644\u0649 \u062d\u0642\u0648\u0644","Delete Users":"\u062d\u0630\u0641 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","Create and Edit Users":"\u062a\u0643\u0648\u064a\u0646 \u0648 \u062a\u0639\u062f\u064a\u0644 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","Create and Edit Roles":"\u062a\u0643\u0648\u064a\u0646 \u0648 \u062a\u0639\u062f\u064a\u0644 \u0623\u062f\u0648\u0627\u0631","Disable Users":"\u062a\u0639\u0637\u064a\u0644 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","View and Download Reports":"View and Download Reports","View roles":"\u0639\u0631\u0636 \u0623\u062f\u0648\u0627\u0631","BlackList Devices":"\u0623\u062c\u0647\u0632\u0629 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621","Edit Child":"\u062a\u0639\u062f\u064a\u0644 \u0637\u0641\u0644","Export to Photowall/CSV/PDF":"\u0625\u0635\u062f\u0631 \u0644\u0635\u0648\u0631\u0629 \u062d\u0627\u0626\u0637/CSV/PDF","System Settings":"\u0636\u0628\u0637 \u0627\u0644\u0646\u0638\u0627\u0645","View Users":"\u0639\u0631\u0636 \u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","Manage Forms":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0625\u0633\u062a\u0645\u0627\u0631\u0629","Register Child":"\u062a\u0633\u062c\u064a\u0644 \u0637\u0641\u0644"}},"imei":"IMEI","visible":"\u0645\u0631\u0626\u064a","location":"\u0627\u0644\u0645\u0648\u0642\u0639","true":"\u0635\u062d\u064a\u062d","hidden":"\u0645\u062e\u0641\u064a","record":"\u0633\u062c\u0644","replication":{"stop":"\u0623\u0648\u0642\u0641 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644","error":"\u0641\u0634\u0644","timestamp":"\u062e\u062a\u0645 \u0632\u0645\u0646\u064a","start":"\u0625\u0628\u062f\u0623 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644","label":"\u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644","completed":"\u0646\u062c\u0627\u062d","configure_a_server":"\u0625\u0636\u0628\u0637 \u0627\u0644\u0645\u062e\u062f\u0645","edit":"\u062a\u0639\u062f\u064a\u0644 \u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644\u0629","triggered":"\u062c\u0627\u0631\u064a","delete":"\u062d\u0630\u0641","status":"\u0627\u0644\u062d\u0627\u0644\u0629","confirm_delete":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0627\u0644\u0646\u0633\u062e\u0629 \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644\u0629","index":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0646\u0633\u062e \u0627\u0644\u0645\u062a\u0645\u0627\u062b\u0644\u0629","actions":"\u0627\u0644\u0623\u0641\u0639\u0627\u0644","description":"\u0648\u0635\u0641","remote_app_url":"RapidFTR \u0631\u0627\u0628\u0637","create":"\u0643\u0648\u0646 \u0646\u0633\u062e \u0645\u062a\u0645\u0627\u062b\u0644\u0629"},"roles":{"name":"\u0625\u0633\u0645 \u0627\u0644\u062f\u0648\u0631","view":"\u0639\u0631\u0636 \u062f\u0648\u0631 ","label":"\u0627\u0644\u0623\u062f\u0648\u0627\u0631","list":"\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0623\u062f\u0648\u0627\u0631","sort_by":{"label":"\u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u062d\u0633\u0628","descending":"\u062a\u0646\u0627\u0632\u0644\u064a","ascending":"\u062a\u0635\u0627\u0639\u062f\u064a"},"actions":{"edit":"\u062a\u0639\u062f\u064a\u0644","show_all":"\u0639\u0631\u0636 \u0627\u0644\u0643\u0644","show":"\u0639\u0631\u0636","create":"\u062a\u0643\u0648\u064a\u0646","update":"\u062a\u062d\u062f\u064a\u062b"}},"provide_translation":"\u062a\u0648\u0641\u064a\u0631 \u062a\u0631\u062c\u0645\u0629 \u0644","login":{"password":{"label":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","re_enter":"\u0625\u0639\u0627\u062f\u0629 \u0625\u062f\u062e\u0627\u0644 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","success_notice":"\u0634\u0643\u0631\u0627\u064e. \u0623\u062d\u062f \u0627\u0644\u0645\u0634\u0631\u0641\u064a\u0646 \u0633\u064a\u062a\u0635\u0644 \u0628\u0643 \u0642\u0631\u064a\u0628\u0627\u064b. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0645\u0634\u0631\u0641 \u0645\u0628\u0627\u0634\u0631\u0629 \u0625\u0630\u0627 \u0643\u0627\u0646 \u0628\u0627\u0644\u0625\u0645\u0643\u0627\u0646.","reset":"\u0637\u0644\u0628 \u0625\u0639\u0627\u062f\u0647 \u0636\u0628\u0637 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","successfully_hidden":"\u062a\u0645 \u0625\u062e\u0641\u0627\u0621 \u0625\u0634\u0639\u0627\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0628\u0646\u062c\u0627\u062d"},"label":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","username":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644"},"contact":{"updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0646\u062c\u0627\u062d","message":"\u0625\u0630\u0627 \u0648\u0627\u062c\u0647\u062a\u0643 \u0623\u064a \u0645\u0634\u0627\u0643\u0644 \u0645\u0639 \u0627\u0644\u0646\u0638\u0627\u0645\u060c \u0623\u0648 \u062a\u0639\u062a\u0642\u062f \u0623\u0646 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0642\u062f \u062a\u0645 \u0643\u0634\u0641\u0647\u0627\u060c \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0645\u0634\u0631\u0641 \u0627\u0644\u0646\u0638\u0627\u0645 \u062d\u0627\u0644\u0627\u064b","edit_info":"\u062a\u0639\u062f\u064a\u0644 \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644","not_found":"\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0647\u0648\u064a\u0647 %{id}","info_label":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644","field":{"organization":"\u0627\u0644\u0645\u0646\u0638\u0645\u0629","name":"\u0627\u0644\u0625\u0633\u0645","phone":"\u0627\u0644\u0647\u0627\u062a\u0641","other_information":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0623\u062e\u0631\u0649","position":"\u0627\u0644\u0645\u0646\u0635\u0628","location":"\u0627\u0644\u0645\u0648\u0642\u0639","email":"\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a"}},"child":{"last_updated":"\u0622\u062e\u0631 \u062a\u062d\u062f\u064a\u062b ","unflag_record":"\u0633\u062c\u0644 \u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","reunite_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644: ","view":"\u0639\u0631\u0636 \u0627\u0644\u0623\u0637\u0641\u0627\u0644","unflag_reason":"\u0627\u0644\u0633\u0628\u0628 \u0644\u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","flag_record":"\u0633\u062c\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","messages":{"update_success":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0633\u062c\u0644 \u0627\u0644\u0637\u0641\u0644 \u0628\u0646\u062c\u0627\u062d.","creation_success":"\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0633\u062c\u0644 \u0644\u0644\u0637\u0641\u0644 \u0628\u0646\u062c\u0627\u062d","undo_investigation_error_message":"\u0625\u0644\u063a\u0627\u0621 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642:","undo_reunite_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0623\u0643\u0651\u062f \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u0637\u0641\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0644\u0645 \u0634\u0645\u0644\u0647\u060c \u0648 \u0623\u062f\u062e\u0644 \u0623\u064a \u062a\u0641\u0627\u0635\u064a\u0644 \u062a\u0645\u062a\u0644\u0643\u0647\u0627","not_found":"\u0644\u0627 \u064a\u0648\u062c\u062f \u0633\u062c\u0644 \u0644\u0644\u0637\u0641\u0644 \u0628\u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0645\u0639\u0637\u0627\u0629","reunite_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0623\u0643\u0651\u062f \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u0637\u0641\u0644 \u0642\u062f \u062a\u0645 \u0644\u0645 \u0634\u0645\u0644\u0647 \u0628\u0623\u0633\u0631\u062a\u0647 \u0623\u0648 \u0628\u0631\u0627\u0639\u064a\u060c \u0648 \u0623\u062f\u062e\u0644 \u0623\u064a \u0645\u0639\u0644\u0648\u0645\u0627\u062a \u062a\u0645\u062a\u0644\u0643\u0647\u0627","investigation_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0623\u0643\u0651\u062f \u0639\u0644\u0649 \u0623\u0646 \u0627\u0644\u0633\u062c\u0644 \u0630\u0648 \u0627\u0644\u0631\u0627\u064a\u0629 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u0642\u062f \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642\u060c \u0648 \u0623\u062f\u062e\u0644 \u0623\u064a \u062a\u0641\u0627\u0635\u064a\u0644 ","confirm_duplicate":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0627\u0644\u0645\u0648\u0627\u0635\u0644\u0629\u061f \u0625\u0630\u0627 \u0623\u0631\u062f\u062a \u0630\u0644\u0643 \u0625\u0636\u063a\u0637 \u0645\u0648\u0627\u0641\u0642 \u0644\u0644\u0645\u0648\u0627\u0635\u0644\u0647 \u0623\u0648 \u0644\u0627 \u0644\u0644\u0625\u0644\u063a\u0627\u0621","see_full_size":"\u0625\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u0635\u0648\u0631\u0647 \u0644\u0631\u0624\u064a\u0647 \u0627\u0644\u062d\u062c\u0645 \u0627\u0644\u0643\u0627\u0645\u0644."},"edit_photo":"\u062a\u0639\u062f\u064a\u0644 \u0627\u0644\u0635\u0648\u0631\u0629","duplicate_header":"\u062d\u062f\u062f %{child_name} \u0639\u0644\u0649 \u0623\u0646\u0647 \u0645\u0637\u0627\u0628\u0642","edit":"\u062a\u0639\u062f\u064a\u0644 \u0637\u0641\u0644","flagged_as_suspected":"\u062a\u0645 \u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0633\u062c\u0644 \u0645\u0634\u0643\u0648\u0643 \u0641\u064a\u0647 \u0628\u0648\u0627\u0633\u0637\u0629 ","manage_photos":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0635\u0648\u0631","id_of_record_this_duplicate_of":"\u0623\u062f\u062e\u0644 \u0647\u0648\u064a\u0629 \u0627\u0644\u0633\u062c\u0644 \u0627\u0644\u0630\u064a \u064a\u0637\u0627\u0628\u0642 \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644: ","another_duplicate_after_link":" \u0644\u0631\u0624\u064a\u0629 \u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0645\u062a\u0637\u0627\u0628\u0642\u0629. ","mark_as_duplicate":"\u062d\u062f\u062f \u0643\u0645\u0637\u0627\u0628\u0642","unflag_label":"\u062a\u0646\u0632\u064a\u0644 \u0627\u0644\u0631\u0627\u064a\u0629","another_duplicate_before_link":"\u0647\u0646\u0627\u0644\u0643 \u062a\u0642\u0631\u064a\u0631 \u0622\u062e\u0631 \u062a\u0645 \u062a\u062d\u062f\u064a\u062f\u0647 \u0643\u0645\u0637\u0627\u0628\u0642 \u0644\u0647\u0630\u0627 \u0627\u0644\u062a\u0642\u0631\u064a\u0631. \u0625\u0636\u063a\u0637","unflag_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0648\u0636\u064a\u062d \u0627\u0644\u0633\u0628\u0628 \u0644\u062a\u0646\u0632\u064a\u0644\u0643 \u0627\u0644\u0631\u0627\u064a\u0629 \u0645\u0646 \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644","flag_label":"\u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629","investigation_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642:","actions":{"rotate_anti_clockwise":"\u062a\u062f\u0648\u064a\u0631 \u0639\u0643\u0633 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629","export_to_pdf":"\u0625\u0635\u062f\u0631 \u0644 PDF","reunite":"\u0644\u0645 \u0627\u0644\u0634\u0645\u0644","mark_as_reunited":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","restore_image":"\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0623\u0635\u0644\u064a\u0629","delete_photo":"\u062d\u0630\u0641 \u0627\u0644\u0635\u0648\u0631\u0629\u061f","cancel":"\u0625\u0644\u063a\u0627\u0621","undo_reunite":"\u0625\u0644\u063a\u0627\u0621 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","undo_investigation_details":"\u0625\u0644\u063a\u0627\u0621 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642","export_to_csv":"\u0625\u0635\u062f\u0631 \u0644 CSV","undo_reunited_details":"\u0625\u0644\u063a\u0627\u0621 \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642:","export_to_photo_wall":"\u0623\u0635\u062f\u0631 \u0643\u0635\u0648\u0631\u0647 \u062d\u0627\u0626\u0637.","mark_as_investigated":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642","reunited":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","mark_as_not_investigated":"\u062d\u062f\u062f \u0639\u0644\u064a \u0625\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642","rotate_clockwise":"\u062a\u062f\u0648\u064a\u0631 \u0641\u064a \u0625\u062a\u062c\u0627\u0647 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629","view_full_size_photo":"\u0639\u0631\u0636 \u0627\u0644\u0635\u0648\u0631\u0629 \u0628\u0627\u0644\u062d\u062c\u0645 \u0627\u0644\u0643\u0644\u064a","undo_investigated":"\u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062a\u062d\u0642\u064a\u0642","change_log":"\u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0633\u062c\u0644","investigation_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062a\u062d\u0642\u064a\u0642","choose_as_primary_photo":"\u0625\u062e\u062a\u0631 \u0643\u0635\u0648\u0631\u0629 \u0623\u0633\u0627\u0633\u064a\u0629","not_reunited":"\u062d\u062f\u062f \u0639\u0644\u0649 \u0623\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","reunited_details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644: "},"flag_reason":"\u0627\u0644\u0633\u0628\u0628 \u0644\u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629","flag_error_message":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0648\u0636\u064a\u062d \u0627\u0644\u0633\u0628\u0628 \u0644\u0631\u0641\u0639\u0643 \u0627\u0644\u0631\u0627\u064a\u0629 \u0639\u0644\u064a \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644","change_log":"\u0633\u062c\u0644 \u0627\u0644\u062a\u063a\u064a\u064a\u0631","mark_as_duplicate_with_param":"\u062d\u062f\u062f %{child_name} \u0643\u0645\u0637\u0627\u0628\u0642","registered_by":"\u062a\u0645 \u0627\u0644\u062a\u0633\u062c\u064a\u0644 \u0628\u0648\u0627\u0633\u0637\u0629 ","flagged_by":"\u062a\u0645 \u0631\u0641\u0639 \u0627\u0644\u0631\u0627\u064a\u0629 \u0628\u0648\u0627\u0633\u0637\u0629 ","posted_from_mobile":"\u0623\u0631\u0633\u0644 \u0645\u0646 \u0647\u0627\u062a\u0641 \u062c\u0648\u0627\u0644 \u0639\u0646\u062f: "},"user":{"new_password_confirmation":"\u0623\u0643\u062f \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","no_activity":"\u0644\u0627 \u0646\u0634\u0627\u0637 \u0644\u0647","no_blank":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u064a\u062c\u0628 \u0623\u0644\u0627 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u0641\u0631\u0627\u063a\u0627\u062a","manage_password":"\u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","label":"\u0645\u0633\u062a\u062e\u062f\u0645","messages":{"updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0646\u062c\u0627\u062d","password_changed_successfully":"\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0628\u0646\u062c\u0627\u062d","not_found":"\u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0627\u0644\u0647\u0648\u064a\u0647 \u0627\u0644\u0645\u0639\u0637\u0627\u0647","created":"\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0646\u062c\u0627\u062d","confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u061f \u0644\u0627 \u064a\u0645\u0643\u0646 \u0625\u0644\u063a\u0627\u0621 \u0627\u0644\u062d\u0630\u0641. \u0625\u0636\u0639\u0637 \u0646\u0639\u0645 \u0644\u064a\u062a\u0645 \u062d\u0630\u0641 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","time_zone_updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062a\u063a\u064a\u064a\u0631 \u0628\u0646\u062c\u0627\u062d","passwords_do_not_match":"\u0644\u0627 \u062a\u0637\u0627\u0628\u0642 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629"},"full_name":"\u0627\u0644\u0625\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644","new_password":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062c\u062f\u064a\u062f\u0629","new":"\u0645\u0633\u062a\u062e\u062f\u0645 \u062c\u062f\u064a\u062f","disabled":"\u063a\u064a\u0631 \u0645\u0641\u0639\u0644","actions":{"delete":"\u062d\u0630\u0641"},"old_password":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062d\u0627\u0644\u064a\u0629","user_action_history":"\u062a\u0627\u0631\u064a\u062e \u0646\u0634\u0627\u0637 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","create":"\u062a\u0643\u0648\u064a\u0646","verify":"\u062a\u062d\u0642\u0642","update":"\u062a\u062d\u062f\u064a\u062b"},"belonging_to":"\u064a\u0646\u062a\u0645\u064a \u0625\u0644\u0649","search":"\u0628\u062d\u062b","fields":{"updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062d\u0642\u0644","text_field":"\u062d\u0642\u0644 \u0646\u0635\u064a","type":"\u0646\u0648\u0639 \u0627\u0644\u062d\u0642\u0644","label":"\u062d\u0642\u0648\u0644","option_strings_text":"\u062e\u064a\u0627\u0631\u0627\u062a","text_area":"\u0645\u0646\u0637\u0642\u0629 \u0646\u0635\u064a\u0629","numeric_field":"\u062d\u0642\u0644 \u0631\u0642\u0645\u064a","action":"\u0641\u0639\u0644","deleted":"\u0627\u0644\u062d\u0642\u0644 %{display_name} \u062a\u0645 \u062d\u0630\u0641\u0647","select_box":"\u0625\u062e\u062a\u0631 \u0642\u0627\u0626\u0645\u0629","radio_button":"\u0632\u0631 \u0627\u0644\u0631\u0627\u062f\u064a\u0648","date_field":"\u062d\u0642\u0644 \u0627\u0644\u062a\u0627\u0631\u064a\u062e","check_box":"\u0635\u0646\u0627\u062f\u064a\u0642 \u0627\u0644\u0639\u0644\u0627\u0645\u0627\u062a","display_name":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636","add":"\u0623\u0636\u0641 \u062d\u0642\u0644","move_to":"\u0625\u0646\u0642\u0644 \u0625\u0644\u0649","remove":"\u062d\u0630\u0641","field_name":"\u0625\u0633\u0645 \u0627\u0644\u062d\u0642\u0644","form_name":"\u0625\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","successfully_added":"\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0627\u0644\u062d\u0642\u0644 \u0628\u0646\u062c\u0627\u062d"},"account":"\u062d\u0633\u0627\u0628","history_of":"\u0627\u0644\u062a\u0627\u0631\u064a\u062e","activerecord":{"errors":{"template":{"body":"\u0647\u0646\u0627\u0644\u0643 \u0645\u0634\u0627\u0643\u0644 \u0641\u064a \u0627\u0644\u062d\u0642\u0648\u0644 \u0627\u0644\u062a\u0627\u0644\u064a\u0629:","header":{"other":"%{count} \u0623\u062e\u0637\u0627\u0621 \u0645\u0646\u0639\u062a \u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u062d\u0641\u0638","one":"\u062e\u0637\u0623 \u0648\u0627\u062d\u062f \u0645\u0646\u0639 \u0647\u0630\u0627 %{model} \u0645\u0646 \u0623\u0646 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647"}},"models":{"user":{"role_ids":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u062f\u0648\u0631 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","user_name":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u063a\u064a\u0631 \u0635\u0627\u0644\u062d","organisation":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0625\u0633\u0645 \u0627\u0644\u0645\u0646\u0638\u0645\u0629 \u0627\u0644\u062a\u064a \u064a\u0646\u062a\u0645\u064a \u0644\u0647\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","password_confirmation":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0623\u0643\u064a\u062f \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","full_name":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0628\u0627\u0644\u0643\u0627\u0645\u0644","authenticate":"\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0635\u0631\u064a\u062d \u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647","email":"\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a \u063a\u064a\u0631 \u0635\u0627\u0644\u062d","user_name_uniqueness":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0642\u062f \u062a\u0645 \u0625\u062e\u062a\u064a\u0627\u0631\u0647 \u0645\u0646 \u0642\u0628\u0644! \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u0645 \u0622\u062e\u0631"},"form_section":{"format_of_name":"\u0627\u0644\u0625\u0633\u0645 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062d\u0631\u0648\u0641 \u0647\u062c\u0627\u0621\u060c \u0623\u0631\u0642\u0627\u0645 \u0648 \u0645\u0633\u0627\u062d\u0627\u062a \u062e\u0627\u0644\u064a\u0629 \u0641\u0642\u0637","fixed_order_method":"\u0644\u0627 \u064a\u0645\u0643\u0646 fixed_order \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 perm_enabled \u0635\u0648\u0627\u0628","presence_of_name":"\u0627\u0644\u0625\u0633\u0645 \u064a\u062c\u0628 \u0623\u0646 \u0644\u0627 \u064a\u0643\u0648\u0646 \u062e\u0627\u0644\u064a","unique_id":"\u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0645\u062a\u0641\u0631\u062f\u0629 '%{unique_id}' \u0645\u0648\u062c\u0648\u062f\u0647","add_field_to_form_section":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u063a\u064a\u0631 \u0645\u0641\u0639\u0644\u0629","perm_visible_method":"\u0644\u0627 \u064a\u0645\u0643\u0646 perm_visible \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 perm_enabled \u0635\u0648\u0627\u0628","visible_method":"\u0645\u0631\u064a\u0621 \u0644\u0627\u064a\u0645\u0643\u0646 \u0623\u0646 \u062a\u0643\u0648\u0646 \u062e\u0637\u0623 \u0625\u0630\u0627 \u0643\u0627\u0646 perm_visible \u0635\u0648\u0627\u0628","unique_name":"\u0627\u0644\u0625\u0633\u0645 '%{name}' \u0645\u0648\u062c\u0648\u062f","delete_field":"\u0627\u0644\u062d\u0642\u0644 \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0639\u062f\u064a\u0644 \u0644\u0627 \u064a\u0645\u0643\u0646 \u062d\u0630\u0641\u0647"},"child":{"photo_format":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u062d\u0645\u064a\u0644 \u0635\u0648\u0631\u0629 \u0635\u0627\u0644\u062d\u0629 (jpg \u0623\u0648 png) \u0644\u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644","age":"\u0627\u0644\u0639\u0645\u0631 \u064a\u062c\u0628 \u0623\u0646 \u064a\u0643\u0648\u0646 \u0628\u064a\u0646 \u0661 \u0648 \u0669\u0669","primary_photo_id":"\u0641\u0634\u0644 \u0627\u0644\u0645\u062d\u0627\u0648\u0644\u0629 \u0641\u064a \u0636\u0628\u0637 %{photo_id} \u0643\u0635\u0648\u0631\u0629 \u0623\u0633\u0627\u0633\u064a\u0629. \u0627\u0644\u0635\u0648\u0631\u0629 \u0644\u0627 \u062a\u0648\u062c\u062f","at_least_one_field":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0645\u0644\u0621 \u062d\u0642\u0644 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644 \u0623\u0648 \u062a\u062d\u0645\u064a\u0644 \u0645\u0644\u0641","validate_duplicate":"\u064a\u062c\u0628 \u062a\u0632\u0648\u064a\u062f \u0647\u0648\u064a\u0629 \u0645\u0637\u0627\u0628\u0642 \u0635\u0627\u0644\u062d\u0629","photo_size":"\u0647\u0630\u0627 \u0627\u0644\u0645\u0644\u0641 \u0643\u0628\u064a\u0631"},"replication":{"save_remote_couch_config":"\u0627\u0644\u0631\u0627\u0628\u0637 \u0623\u0648 \u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0623\u0648 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631 \u0627\u0644\u062a\u064a \u062a\u0645 \u0625\u062f\u062e\u0627\u0644\u0647\u0627 \u063a\u064a\u0631 \u0635\u062d\u064a\u062d","remote_app_url":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0631\u0627\u0628\u0637 \u0635\u062d\u064a\u062d. \u0645\u062b\u0627\u0644: http://:"},"system_users":{"username_unique":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0645\u0648\u062c\u0648\u062f! \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u0645 \u0645\u0633\u062a\u062e\u062f\u0645 \u0622\u062e\u0631"},"field":{"default_value":" \u0644\u0627 \u062a\u0648\u062c\u062f \u0642\u064a\u0645\u0629 \u0623\u0633\u0627\u0633\u064a\u0629 \u0644\u0644\u0646\u0648\u0639 ","unique_name_this":"\u0627\u0644\u062d\u0642\u0644 \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","display_name_presence":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636 \u064a\u062c\u0628 \u0623\u0646 \u0644\u0627 \u064a\u0643\u0648\u0646 \u062e\u0627\u0644\u064a\u0627\u064b","has_1_option":"\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0625\u062e\u062a\u064a\u0627\u0631 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062e\u064a\u0627\u0631 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","unique_name_other":"\u0627\u0644\u062d\u0642\u0644 \u0645\u0648\u062c\u0648\u062f \u0641\u064a \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629 '%{form_name}'","display_name_format":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062d\u0631\u0641 \u0647\u062c\u0627\u0626\u064a \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","has_2_options":"\u0627\u0644\u062d\u0642\u0644 \u064a\u062c\u0628 \u0623\u0646 \u064a\u062d\u062a\u0648\u064a \u0639\u0644\u0649 \u062e\u064a\u0627\u0631\u064a\u0646 \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644"},"role":{"permission_presence":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u062f\u0648\u0631 \u0648\u0627\u062d\u062f \u0639\u0644\u0649 \u0627\u0644\u0623\u0642\u0644","unique_name":"\u0647\u0646\u0627\u0644\u0643 \u062f\u0648\u0631 \u0628\u0647\u0630\u0627 \u0627\u0644\u0625\u0633\u0645. \u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u0645 \u0645\u062e\u062a\u0644\u0641"}}}},"children":{"order_by":{"name":"\u0627\u0644\u0625\u0633\u0645","label":"\u062a\u0631\u062a\u064a\u0628 \u062d\u0633\u0628","most_recently":"\u0645\u0624\u062e\u0631\u0627\u064b"},"export_some_records_to_csv":"\u0625\u0635\u062f\u0627\u0631 \u0628\u0639\u0636 \u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631 \u0644 CSV","label":"\u0627\u0644\u0623\u0637\u0641\u0627\u0644","export_all_child_records_to_pdf":"\u0625\u0635\u062f\u0627\u0631 \u0643\u0644 \u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0623\u0637\u0641\u0627\u0644 \u0644 PDF","filter_by":{"label":"\u062a\u0635\u0641\u064a\u0647 \u062d\u0633\u0628","created":"\u062a\u0645 \u0627\u0644\u062a\u0643\u0648\u064a\u0646","reunited":"\u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","active":"\u0646\u0634\u0637","all":"\u0627\u0644\u0643\u0644","flagged":"\u0639\u0644\u064a\u0647 \u0631\u0627\u064a\u0629 \u0645\u0631\u0641\u0648\u0639"},"export":"\u0625\u0635\u062f\u0627\u0631","filer_by":{"reunited":"\u062a\u0645 \u0644\u0645 \u0627\u0644\u0634\u0645\u0644","active":"\u0646\u0634\u0637","all":"\u0627\u0644\u0643\u0644","flagged":"\u0639\u0644\u064a\u0647 \u0631\u0627\u064a\u0629"},"register_new_child":"\u062a\u0633\u062c\u064a\u0644 \u0637\u0641\u0644 \u062c\u062f\u064a\u062f","flag_summary":"\u0645\u0644\u062e\u0635 \u0627\u0644\u0631\u0627\u064a\u0629","export_all_child_records_to_csv":"\u0625\u0635\u062f\u0627\u0631 \u0643\u0644 \u062a\u0642\u0627\u0631\u064a\u0631 \u0627\u0644\u0623\u0637\u0641\u0627\u0644 \u0644 CSV"},"select_all":"\u0625\u062e\u062a\u0631 \u0643\u0644 \u0627\u0644\u0633\u062c\u0644\u0627\u062a","navigation":{"reports":"\u0627\u0644\u062a\u0642\u0627\u0631\u064a\u0631","children":"\u0627\u0644\u0623\u0637\u0641\u0627\u0644","advanced_search":"\u0628\u062d\u062b \u0645\u062a\u0642\u062f\u0645","go":"\u0625\u0630\u0647\u0628","users":"\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","search":"\u0628\u062d\u062b","forms":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","devices":"\u0627\u0644\u0623\u062c\u0647\u0632\u0629"},"couchrest":{"fields":{"Name":"\u0627\u0644\u0625\u0633\u0645","Password":"\u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","Username":"\u0625\u0633\u0645 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","Description":"\u0627\u0644\u0648\u0635\u0641","Remote app url":"\u0631\u0627\u0628\u0637 \u0627\u0644\u062a\u0637\u0628\u064a\u0642"},"validations":{"blank":"%s \u0644\u0627 \u064a\u0645\u0643\u0646 \u0623\u0646 \u064a\u0643\u0648\u0646 \u062e\u0627\u0644\u064a"}},"preposition":{"because":"\u0628\u0633\u0628\u0628","on_label":"\u0639\u0644\u0649"},"clear":"Clear","forms":{"initial_language":"\u0627\u0644\u0644\u063a\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629","label":"\u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","cannot_be_edited":"\u0627\u0644\u062d\u0642\u0648\u0644 \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0639\u062f\u064a\u0644\u0647\u0627.","messages":{"use_existing":"\u0645\u0646 \u0627\u0644\u0645\u062d\u0628\u0630 \u0625\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a \u0627\u0644\u0645\u0648\u062c\u0648\u062f\u0647 \u0645\u0645\u0627 \u064a\u062c\u0639\u0644 \u0645\u0634\u0627\u0631\u0643\u0629 \u0648 \u062f\u0645\u062c \u0627\u0644\u0628\u064a\u0627\u0646\u0627\u062a \u0628\u064a\u0646 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0623\u0633\u0647\u0644"},"save_details":"\u062d\u0641\u0638 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644","save":"\u062d\u0641\u0638 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629"},"status":"\u0627\u0644\u062d\u0627\u0644\u0629","histories":{"added_by":"\u0623\u0636\u064a\u0641 \u0628\u0648\u0627\u0633\u0637\u0629","investigated":{"mark_as_not_investigated_by":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0628\u0648\u0627\u0633\u0637\u0629","mark_as_investigated_by":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062f \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0642\u062f \u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0628\u0648\u0627\u0633\u0637\u0629"},"because":"\u0628\u0633\u0628\u0628:","to":"\u0625\u0644\u0649","belong_to":"\u064a\u0646\u062a\u0645\u064a \u0625\u0644\u0649","duplicate":{"mark_as_duplicate":"\u062d\u062f\u062f \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0639\u0644\u0649 \u0623\u0646\u0647 \u0645\u0637\u0627\u0628\u0642 \u0644","no_longer_active":"\u0627\u0644\u0633\u062c\u0644 \u0627\u0644\u062d\u0627\u0644\u0649 \u063a\u064a\u0631 \u0645\u0641\u0639\u0644 \u0648\u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u0639\u062f\u064a\u0644\u0647"},"reunited":{"child_status_changed":"\u062d\u0627\u0644\u0629 \u0627\u0644\u0637\u0641\u0644 \u062a\u0645 \u062a\u063a\u064a\u064a\u0631\u0647\u0627 \u0625\u0644\u0649 \u0645\u0641\u0639\u0644 \u0628\u0648\u0627\u0633\u0637\u0629","with_details":"\u0628\u0647\u0630\u0647 \u0627\u0644\u062a\u0641\u0627\u0635\u064a\u0644:"},"flag":{"record_flagged_by":"\u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u062a\u0645 \u062a\u0639\u0644\u064a\u0645\u0647 \u0628\u0648\u0627\u0633\u0637\u0629","record_unflagged_by":"\u062a\u0645 \u0625\u0644\u063a\u0627\u0621 \u062a\u0639\u0644\u064a\u0645 \u0647\u0630\u0627 \u0627\u0644\u0633\u062c\u0644 \u0628\u0648\u0627\u0633\u0637\u0629"},"deleted_by":"\u062d\u0630\u0641 \u0628\u0648\u0627\u0633\u0637\u0629","audio":{"audio_change":"\u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u0635\u0648\u062a\u064a \u062a\u063a\u064a\u0631 \u0645\u0646","audio":"\u0627\u0644\u0635\u0648\u062a"},"by":"\u0628\u0648\u0627\u0633\u0637\u0629"},"name":"\u0627\u0644\u0625\u0633\u0645","mandatory_field":"\u062d\u0642\u0648\u0644 \u0625\u0644\u0632\u0627\u0645\u064a\u0629","discard":"\u0625\u0644\u063a\u0627\u0621","enabled":"\u0645\u0641\u0639\u0644","administration":"\u0627\u0644\u0625\u062f\u0627\u0631\u0629","date_format":"yy-mm-dd","help_text":"\u0646\u0635 \u0644\u0644\u0645\u0633\u0627\u0639\u062f\u0629","hello":"\u0645\u0631\u062d\u0628\u0627","blacklisted":"\u064a\u0646\u062a\u0645\u064a \u0625\u0644\u0649 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621\u061f","users":{"unverified":"\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646 \u0644\u0645 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0639\u0646\u0647\u0645","label":"\u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","manage":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u064a\u0646","messages":{"disable":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u061f"},"select_role":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u062f\u0648\u0631 \u0642\u0628\u0644 \u062a\u062b\u0628\u064a\u062a \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645","sort_by":{"label":"\u0627\u0644\u062a\u0635\u0646\u064a\u0641 \u062d\u0633\u0628","full_name":"\u0627\u0644\u0625\u0633\u0645 \u0627\u0644\u0643\u0627\u0645\u0644"},"actions":{"show_all":"\u0639\u0631\u0636 \u0643\u0644","show":"\u0639\u0631\u0636"},"create":"\u062a\u0643\u0648\u064a\u0646 \u0645\u0633\u062a\u062e\u062f\u0645"},"saved":"\u062a\u0645 \u0627\u0644\u062d\u0641\u0638","messages":{"confirmation_message":"\u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0646\u0639\u0645 \u0633\u064a\u0644\u063a\u064a \u0623\u064a \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0637\u0647\u0627. \u0625\u0636\u063a\u0637 \u0639\u0644\u0649 \u0625\u0644\u063a\u0627\u0621 \u0644\u064a\u062a\u0645 \u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0633\u062c\u0644 \u0627\u0644\u0637\u0641\u0644","select_photo":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0635\u0648\u0631\u0647.","logoff":"\u0644\u0627\u060c \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c","enter_valid_date":"Please enter a valid 'After' and/or 'Before' Date Created (format yyyy-mm-dd).","primary_photo_changed":"\u062a\u0645 \u062a\u063a\u064a\u064a\u0631 \u0627\u0644\u0635\u0648\u0631\u0647 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0647.","are_you_sure":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0623\u0646 ","warning":"Warning: If you continue, any data associated with this field will be lost.\nIf you're uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","cancel_confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u063a\u0627\u0621\u061f","logoff_warning_prefix":"\u0633\u0648\u0641 \u064a\u062a\u0645 \u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c \u0641\u064a ","logoff_confirmation":"\u0647\u0644 \u062a\u0631\u063a\u0628 \u0641\u064a \u0645\u0648\u0627\u0635\u0644\u0629 \u0647\u0630\u0627 \u0627\u0644\u0641\u0635\u0644\u061f","enter_valid_field_value":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0642\u064a\u0645\u0647 \u0635\u0627\u0644\u062d\u0647 \u0641\u064a \u0627\u0644\u062d\u0642\u0644","enter_each_in_one_line":"\u0625\u062f\u062e\u0644 \u0643\u0644 \u062e\u064a\u0627\u0631 \u0641\u064a \u0633\u0637\u0631 \u062c\u062f\u064a\u062f","delete_item":"Warning: If you continue, any data associated with this field will be lost.\nIf you\\'re uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","valid_search_criteria":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062f\u062e\u0627\u0644 \u0645\u0639\u064a\u0627\u0631 \u0628\u062d\u062b\u064a \u0648\u0627\u062d\u062f \u0639\u0644\u064a \u0627\u0644\u0623\u0642\u0644","show_forms":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062c\u0639\u0644 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0647 \u0645\u062e\u0641\u064a\u0647\u061f","logoff_warning_suffix":"\u062b\u0648\u0627\u0646\u064a.","this_user":"\u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u061f","keep_working":"\u0646\u0639\u0645\u060c \u0648\u0627\u0635\u0644 \u0627\u0644\u0639\u0645\u0644","move_item":"\u0623\u0646\u062a \u0639\u0644\u0649 \u0648\u0634\u0643 \u0646\u0642\u0644 \u0647\u0630\u0627 \u0627\u0644\u062d\u0642\u0644 \u0625\u0644\u0649 \u0642\u0633\u0645 \u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u0622\u062e\u0631 ({{selection_key}}). \u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f\u061f","show_hide_forms":"\u0627\u0644\u0631\u062c\u0627\u0621 \u0625\u062e\u062a\u064a\u0627\u0631 \u0625\u0633\u062a\u0645\u0627\u0631\u0647 \u0644\u064a\u062a\u0645 \u0625\u0638\u0647\u0627\u0631\u0647\u0627/\u0625\u062e\u0641\u0627\u0626\u0647\u0627","hide_forms":"\u0647\u0644 \u0623\u0627\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a\u061f"},"message":null,"will_paginate":{"previous_label":"← \u0627\u0644\u0633\u0627\u0628\u0642","next_label":"\u0627\u0644\u062a\u0627\u0644\u064a →","page_gap":"…"},"phone":"\u0627\u0644\u0647\u0627\u062a\u0641","display_name":"\u0625\u0633\u0645 \u0627\u0644\u0639\u0631\u0636","admin":{"contact_info":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0628\u0627\u0644\u0645\u0634\u0631\u0641","manage_system_users":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u064a \u0627\u0644\u0646\u0638\u0627\u0645","highlight_fields":"\u062a\u0633\u0644\u064a\u0637 \u0627\u0644\u0636\u0648\u0621 \u0639\u0644\u0649 \u062d\u0642\u0648\u0644","create_system_user":"\u062a\u0643\u0648\u064a\u0646 \u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0644\u0646\u0638\u0627\u0645"},"form_section":{"label":"\u0642\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","back":"\u0627\u0644\u0631\u062c\u0648\u0639 \u0625\u0644\u0649 \u0635\u0641\u062d\u0629 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0627\u062a","manage":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","messages":{"updated":"\u062a\u0645 \u0625\u0636\u0627\u0641\u0629 \u0642\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0647 \u0628\u0646\u062c\u0627\u062d","drag_drop_help_text":"\u064a\u0645\u0643\u0646 \u0627\u0644\u0636\u063a\u0637 \u0639\u0644\u0649 \u0627\u0644\u062d\u0642\u0644 \u0644\u0644\u0633\u062d\u0628 \u0648 \u0627\u0644\u0631\u0645\u064a \u0645\u0646 \u0623\u062c\u0644 \u0627\u0644\u062a\u0631\u062a\u064a\u0628","hide_confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0648\u062f \u0625\u062e\u0641\u0627\u0621 \u0627\u0644\u062d\u0642\u0648\u0644\u061f","cannot_create":"\u0644\u0645 \u064a\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0642\u0633\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","order_saved":"\u062a\u0645 \u062d\u0641\u0638 \u0627\u0644\u0637\u0644\u0628 \u0628\u0646\u062c\u0627\u062d.","show_confirmation":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u0625\u0638\u0647\u0627\u0631 \u0627\u0644\u062d\u0642\u0648\u0644\u061f","correct_errors":"\u0627\u0644\u0631\u062c\u0627\u0621 \u062a\u0635\u062d\u064a\u062d \u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0648\u0627\u0631\u062f\u0647 \u0648 \u0623\u0639\u062f \u0627\u0644\u062a\u0633\u0644\u064a\u0645:"},"edit":"\u062a\u0639\u062f\u064a\u0644 \u0623\u0642\u0633\u0627\u0645 \u0627\u0644\u0625\u0633\u062a\u0645\u0644\u0631\u0629","ordering":"\u0627\u0644\u062a\u0631\u062a\u064a\u0628","buttons":{"add":"\u0623\u0636\u0641"},"actions":{"save_order":"\u062d\u0641\u0638 \u0627\u0644\u0637\u0644\u0628","add_custom_field":"\u0623\u0636\u0641 \u062d\u0642\u0644 \u0639\u0631\u0641\u064a"},"show":"\u0639\u0631\u0636","details":"\u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u0625\u0633\u062a\u0645\u0627\u0631\u0629","create":"\u062a\u0643\u0648\u064a\u0646 \u0642\u0633\u0645 \u0625\u0633\u062a\u0645\u0627\u0631\u0629 \u062c\u062f\u064a\u062f","visibility":"\u0627\u0644\u0631\u0624\u064a\u0629","hide":"\u0625\u062e\u0641\u0627\u0621"},"advanced_search":{"updated_by":"\u062a\u0645 \u0627\u0644\u062a\u062d\u062f\u064a\u062b \u062d\u0633\u0628 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 :","created_by_org":"\u062a\u0645 \u0627\u0644\u062a\u0643\u0648\u064a\u0646 \u0628\u0648\u0627\u0633\u0637\u0629 (\u0645\u0646\u0638\u0645\u0629) :","before":"\u0642\u0628\u0644 :","after":"\u0628\u0639\u062f :","date_created":"\u062a\u0645 \u062a\u0643\u0648\u064a\u0646 \u0627\u0644\u062a\u0627\u0631\u064a\u062e :","date_updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u0627\u0644\u062a\u0627\u0631\u064a\u062e :","records_found":{"other":"\u0648\u062c\u062f %{count} \u0633\u062c\u0644","one":"\u0648\u062c\u062f \u0633\u062c\u0644 \u0648\u0627\u062d\u062f"},"instruction":"\u0625\u0641\u0635\u0644 \u0627\u0644\u0643\u0644\u0645\u0627\u062a \u0628\u0625\u0633\u062a\u062e\u062f\u0627\u0645 OR \u0644\u0644\u0628\u062d\u062b \u0639\u0646 \u0627\u0643\u062b\u0631 \u0645\u0646 \u062e\u064a\u0627\u0631.","date_instruction":"\u0625\u062f\u062e\u0644 \u062a\u0627\u0631\u064a\u062e \u0641\u064a \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u0623\u0648\u0644 \u0644\u0628\u062d\u062b \u0633\u062c\u0644\u0627\u062a \u0643\u0648\u0646\u062a \u0623\u0648 \u062d\u062f\u062b\u062a \u0628\u0639\u062f \u0630\u0644\u0643 \u0627\u0644\u062a\u0627\u0631\u064a\u062e. \u0625\u062f\u062e\u0644 \u062a\u0627\u0631\u064a\u062e \u0641\u064a \u0627\u0644\u0635\u0646\u062f\u0648\u0642 \u0627\u0644\u062b\u0627\u0646\u064a \u0644\u0628\u062d\u062b \u0633\u062c\u0644\u0627\u062a \u0643\u0648\u0646\u062a \u0623\u0648 \u062d\u062f\u062b\u062a \u0642\u0628\u0644 \u0630\u0644\u0643 \u0627\u0644\u062a\u0627\u0631\u064a\u062e. \u0625\u062f\u062e\u0644 \u062a\u0648\u0627\u0631\u064a\u062e \u0641\u064a \u0643\u0644\u0627 \u0627\u0644\u0635\u0646\u062f\u0648\u0642\u064a\u0646 \u0644\u0628\u062d\u062b \u0633\u062c\u0644\u0627\u062a \u0643\u0648\u0646\u062a \u0628\u064a\u0646 \u0627\u0644\u062a\u0627\u0631\u064a\u062e\u064a\u0646","created_by":"\u062a\u0645 \u0627\u0644\u062a\u0643\u0648\u064a\u0646 \u0628\u0648\u0627\u0633\u0637\u0629 (\u0645\u0633\u062a\u062e\u062f\u0645) :","select_a_criteria":"\u0625\u062e\u062a\u0631 \u0645\u0639\u064a\u0627\u0631"},"header":{"contact":"\u0627\u0644\u0625\u062a\u0635\u0627\u0644 \u0648 \u0627\u0644\u0645\u0633\u0627\u0639\u062f\u0647","system_settings":"\u0636\u0628\u0637 \u0627\u0644\u0646\u0638\u0627\u0645","welcome":"\u0645\u0631\u062d\u0628\u0627","logout":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062e\u0631\u0648\u062c","my_account":"\u062d\u0633\u0627\u0628\u064a"},"role":{"name":"\u0627\u0644\u0625\u0633\u0645","edit":"\u062a\u0639\u062f\u064a\u0644 \u062f\u0648\u0631","error_in_updating":"\u062e\u0637\u0623 \u0641\u064a \u062a\u062d\u062f\u064a\u062b \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062f\u0648\u0631","create":"\u062a\u0643\u0648\u064a\u0646 \u062f\u0648\u0631","successfully_updated":"\u062a\u0645 \u062a\u062d\u062f\u064a\u062b \u062a\u0641\u0627\u0635\u064a\u0644 \u0627\u0644\u062f\u0648\u0631 \u0628\u0646\u062c\u0627\u062d"},"cancel":"\u0625\u0644\u063a\u0627\u0621","device":{"timestamp":"\u0627\u0644\u062e\u062a\u0645 \u0627\u0644\u0632\u0645\u0646\u064a","messages":{"disable":"\u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646\u0643 \u062a\u0631\u064a\u062f \u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u062c\u0647\u0627\u0632\u061f","blacklist":"\u0647\u0644 \u062a\u0631\u064a\u062f \u0625\u0636\u0627\u0641\u0629 \u0647\u0630\u0627 \u0627\u0644\u062c\u0647\u0627\u0632 \u0625\u0644\u0649 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621\u061f","remove_blacklist":"\u0647\u0644 \u062a\u0631\u064a\u062f \u062d\u0630\u0641 \u0647\u0630\u0627 \u0627\u0644\u062c\u0647\u0627\u0632 \u0645\u0646 \u0627\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621\u061f"},"mobile_number":"\u0631\u0642\u0645 \u0627\u0644\u0647\u0627\u062a\u0641 \u0627\u0644\u062c\u0648\u0627\u0644","blacklist":"\u0623\u0636\u0641 \u0627\u0644\u062c\u0647\u0627\u0632 \u0644\u0644\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u0633\u0648\u062f\u0627\u0621","information":"\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062c\u0647\u0627\u0632"},"home":{"records_need_attention":"\u0633\u062c\u0644\u0627\u062a \u062a\u062d\u062a\u0627\u062c \u0627\u0644\u0645\u0634\u0627\u0647\u062f\u0629","label":"\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629","view_records":"\u0639\u0631\u0636 \u0627\u0644\u0633\u062c\u0644\u0627\u062a","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","zh":"\u4e2d\u6587","fr":"Fran\u00e7ais","current_time_zone":"\u0627\u0644\u0646\u0637\u0627\u0642 \u0627\u0644\u0632\u0645\u0646\u064a \u0627\u0644\u062d\u0627\u0644\u064a","language":"\u0627\u0644\u0644\u063a\u0629","manage_system_users":"\u0645\u0639\u0627\u0644\u062c\u0629 \u0645\u0633\u062a\u062e\u062f\u0645\u064a \u0627\u0644\u0646\u0638\u0627\u0645","welcome":"\u0645\u0631\u062d\u0628\u0627 RapidFTR","es":"Espa\u00f1ol","en":"English"},"buttons":{"back":"\u0631\u062c\u0648\u0639","reunite":"\u0644\u0645 \u0627\u0644\u0634\u0645\u0644","change_password":"\u062a\u063a\u064a\u064a\u0631 \u0643\u0644\u0645\u0629 \u0627\u0644\u0633\u0631","edit":"\u062a\u0639\u062f\u064a\u0644","delete":"\u062d\u0630\u0641","login":"\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644","save":"\u062d\u0641\u0638","enable_photo_wall":"\u062a\u0645\u0643\u064a\u0646 \u0635\u0648\u0631\u0629 \u0627\u0644\u062d\u0627\u0626\u0637","disable_photo_wall":"\u062a\u0639\u0637\u064a\u0644 \u0635\u0648\u0631\u0629 \u0627\u0644\u062d\u0627\u0626\u0637"},"description":"\u0627\u0644\u0648\u0635\u0641","form":"\u0625\u0633\u062a\u0645\u0627\u0631\u0629"},"ru":{"home":{"ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","zh":"\u4e2d\u6587","fr":"Fran\u00e7ais","es":"Espa\u00f1ol","en":"English"}},"zh":{"details":"\u8be6\u7ec6\u4fe1\u606f","new":"\u521b\u5efa","data_base":{"operation_not_allowed":"\u5728 %{rails_env} \u73af\u5883\u4e0b \u64cd\u4f5c\u4e0d\u5141\u8bb8","delete_all_documents":"\u5220\u9664\u6240\u6709\u7684\u513f\u7ae5\u6587\u6863"},"actions":"\u6d3b\u52a8","position":"\u804c\u4f4d","select_all_results":"\u9009\u62e9\u6240\u6709\u7684\u7ed3\u679c","no_results_found":"\u7eaa\u5f55\u672a\u627e\u5230","moved_from":"%{field_name}\u4ece%{from_fs}\u79fb\u5230%{to_fs}","devices":"\u8bbe\u5907","add":"\u6dfb\u52a0","email":"\u90ae\u7bb1","session":{"no_token_in_header":"\u7f13\u5b58\u91cc\u9762\u6ca1\u6709\u4f1a\u8bdd\u4ee4\u724c","about_to_expire":"\u4f60\u7684\u4f1a\u8bdd\u5373\u5c06\u5230\u671f!","no_token_provided":"\u6ca1\u6709\u4f1a\u8bdd\u4ee4\u724c","invalid_token":"\u4e0d\u6b63\u786e\u7684\u4f1a\u8bdd\u4ee4\u724c","login_error":"\u767b\u9646\u65f6\u51fa\u73b0\u9519\u8bef\uff0c\u8bf7\u91cd\u8bd5","has_expired":"\u4f60\u7684\u5bf9\u8bdd\u5df2\u5230\u671f\u3002\u8bf7\u91cd\u65b0\u767b\u9646","invalid_credentials":"\u65e0\u6548\u7684\u9a8c\u8bc1\uff0c\u8bf7\u91cd\u8bd5!"},"yes_label":"\u662f","false":"false\u5047","organisation":"\u7ec4\u7ec7","permissions":{"label":"\u5141\u8bb8","group":{"Reports":"\u62a5\u544a","Devices":"\u8bbe\u5907","Roles":"\u89d2\u8272","Forms":"\u8868\u5355","Users":"\u7528\u6237","System":"\u7cfb\u7edf","Children":"\u513f\u7ae5","ALL":"\u6240\u6709"},"permission":{"View And Search Child":"\u67e5\u770b\u548c\u641c\u7d22\u513f\u7ae5","Users for synchronisation":"\u7ba1\u7406\u670d\u52a1\u5668\u540c\u6b65\u7528\u6237","Manage Replications":"\u7ba1\u7406\u526f\u672c","All":"\u6240\u6709","Highlight Fields":"\u9ad8\u4eae\u5b57\u6bb5","Delete Users":"\u5220\u9664\u7528\u6237","Create and Edit Users":"\u521b\u5efa\u548c\u7f16\u8f91\u7528\u6237","Create and Edit Roles":"\u521b\u5efa\u548c\u7f16\u8f91\u89d2\u8272","Disable Users":"\u7981\u7528\u7528\u6237","View and Download Reports":"\u67e5\u770b\u548c\u4e0b\u8f7d\u62a5\u544a","View roles":"\u67e5\u770b\u89d2\u8272","BlackList Devices":"\u9ed1\u540d\u5355\u8bbe\u5907","Edit Child":"\u7f16\u8f91\u513f\u7ae5","Export to Photowall/CSV/PDF":"\u5bfc\u51fa\u6210\u7167\u7247\u5899/CSV/PDF","System Settings":"\u7cfb\u7edf\u8bbe\u7f6e","View Users":"\u67e5\u770b\u7528\u6237","Manage Forms":"\u7ba1\u7406\u8868\u5355","Register Child":"\u767b\u8bb0\u513f\u7ae5"}},"imei":"IMEI","visible":"\u53ef\u89c1","location":"\u4f4d\u7f6e","true":"true\u771f","hidden":"\u9690\u85cf","record":"\u7eaa\u5f55","encrypt":{"password_mandatory":"\u8f93\u5165\u5bc6\u7801","password_title":"\u5bc6\u7801","password_label":"\u8f93\u5165\u5bc6\u7801\u6765\u52a0\u5bc6\u6587\u4ef6"},"replication":{"stop":"\u505c\u6b62\u540c\u6b65","error":"\u5931\u8d25","timestamp":"\u65f6\u95f4\u6233","start":"\u5f00\u59cb\u540c\u6b65","label":"\u526f\u672c","completed":"\u6210\u529f","configure_a_server":"\u914d\u7f6e\u670d\u52a1\u5668","edit":"\u7f16\u8f91\u914d\u7f6e","triggered":"\u5904\u7406\u4e2d","delete":"\u5220\u9664","status":"\u72b6\u6001","confirm_delete":"\u4f60\u786e\u5b9a\u8981\u5220\u9664\u8fd9\u4e2a\u526f\u672c?","index":"\u7ba1\u7406\u526f\u672c","actions":"\u52a8\u4f5c","description":"\u63cf\u8ff0","remote_app_url":"RapidFTR URL","create":"\u914d\u7f6e\u670d\u52a1\u5668"},"roles":{"name":"\u89d2\u8272\u540d","view":"\u67e5\u770b\u89d2\u8272","label":"\u89d2\u8272","list":"\u89d2\u8272\u5217\u8868","sort_by":{"label":"\u6392\u5e8f","descending":"\u964d\u5e8f","ascending":"\u5347\u5e8f"},"actions":{"edit":"\u7f16\u8f91","show_all":"\u663e\u793a\u6240\u6709","show":"\u663e\u793a","create":"\u521b\u5efa","update":"\u66f4\u65b0"}},"provide_translation":"\u63d0\u4f9b\u7ffb\u8bd1","login":{"password":{"label":"\u5bc6\u7801","re_enter":"\u91cd\u65b0\u8f93\u5165\u5bc6\u7801","success_notice":"\u8c22\u8c22\u3002RapidFTR\u7ba1\u7406\u5458\u5c06\u5728\u7a0d\u540e\u8054\u7cfb\u4f60\u3002\u5982\u679c\u53ef\u4ee5\u7684\u8bdd\uff0c\u8bf7\u76f4\u63a5\u8054\u7cfb\u7ba1\u7406\u5458\u3002","reset":"\u5bc6\u7801\u91cd\u7f6e","successfully_hidden":"\u5bc6\u7801\u53d8\u66f4\u901a\u77e5\u5df2\u6210\u529f\u9690\u85cf"},"label":"\u767b\u9646","username":"\u7528\u6237\u540d","details":"\u767b\u9646"},"contact":{"updated":"\u8054\u7cfb\u4fe1\u606f\u6210\u529f\u66f4\u65b0","message":"\u5982\u679c\u4f60\u53d1\u73b0RapidFTR\u5b58\u5728\u95ee\u9898, \u6216\u8005\u89c9\u5f97\u4f60\u7684\u5bc6\u7801\u88ab\u76d7, \u8bf7\u7acb\u5373\u548c\u7ba1\u7406\u5458\u8054\u7cfb","edit_info":"\u66f4\u6539\u8054\u7cfb\u4fe1\u606f","not_found":"\u627e\u4e0d\u5230%{id}\u7684\u8054\u7cfb\u4fe1\u606f","info_label":"\u8054\u7cfb\u4fe1\u606f","field":{"organization":"\u7ec4\u7ec7","name":"\u59d3\u540d","phone":"\u7535\u8bdd\u53f7\u7801","other_information":"\u5176\u5b83\u4fe1\u606f","position":"\u804c\u4f4d","location":"\u4f4d\u7f6e","email":"\u90ae\u4ef6"}},"child":{"last_updated":"\u6700\u8fd1\u66f4\u65b0","unflag_record":"\u53d6\u6d88\u6807\u8bb0","reunite_details":"\u91cd\u805a\u8be6\u60c5:","view":"\u67e5\u770b\u513f\u7ae5 %{short_id}","unflag_reason":"\u53d6\u6d88\u6807\u8bb0\u539f\u56e0","mark_child_as_duplicate":"\u6807\u8bb0%{short_id}\u4e3a\u526f\u672c","flag_record":"\u6807\u8bb0\u8bb0\u5f55","messages":{"update_success":"\u513f\u7ae5\u4fe1\u606f\u6210\u529f\u66f4\u65b0","creation_success":"\u513f\u7ae5\u7eaa\u5f55\u6210\u529f\u521b\u5efa","undo_investigation_error_message":"\u91cd\u5199\u8c03\u67e5\u8be6\u7ec6\u4fe1\u606f:","undo_reunite_error_message":"\u8bf7\u786e\u8ba4\u8fd9\u4e2a\u5b69\u5b50\u5e94\u8be5\u88ab\u6807\u8bb0\u4e3a\u672a\u56e2\u805a, \u5e76\u4e14\u8f93\u5165\u4f60\u6709\u7684\u4fe1\u606f.","not_found":"\u672a\u627e\u5230id\u5bf9\u5e94\u7684\u513f\u7ae5","reunite_error_message":"\u8bf7\u786e\u8ba4\u8fd9\u4e2a\u5b69\u5b50\u5df2\u7ecf\u8ddf\u4ed6\u7684\u5bb6\u4eba\u56e2\u805a, \u5e76\u4e14\u8f93\u5165\u4f60\u6709\u7684\u4fe1\u606f.","investigation_error_message":"\u8bf7\u786e\u8ba4\u6807\u8bb0\u7684\u8bb0\u5f55\u5e94\u6807\u4e3a\u5df2\u8c03\u67e5\uff0c\u5e76\u4e14\u8f93\u5165\u4f60\u6709\u7684\u4fe1\u606f.","confirm_duplicate":"\u4f60\u786e\u5b9a\u8981\u7ee7\u7eed? \u5982\u679c\u662f, \u70b9\u51fbOK\u3002\u5982\u679c\u4e0d\u662f, \u70b9\u51fb\u53d6\u6d88\u3002","see_full_size":"\u70b9\u51fb\u56fe\u7247\u67e5\u770b\u5927\u56fe"},"edit_photo":"\u7f16\u8f91\u7167\u7247","duplicate_header":"\u6807\u8bb0 %{child_name}\u4f5c\u4e3a\u526f\u672c","edit":"\u7f16\u8f91\u513f\u7ae5","flagged_as_suspected":"\u6807\u8bb0\u4e3a\u53ef\u7591\u8bb0\u5f55","history_of":"%{short_id}\u7684\u5386\u53f2","manage_photos":"\u7ba1\u7406\u7167\u7247","id_of_record_this_duplicate_of":"\u8f93\u5165\u8fd9\u4e2a\u8bb0\u5f55\u7684\u526f\u672cID","another_duplicate_after_link":" \u67e5\u770b\u526f\u672c\u8bb0\u5f55","mark_as_duplicate":"\u6807\u8bb0\u4e3a\u526f\u672c","unflag_label":"\u53d6\u6d88\u6807\u8bb0","another_duplicate_before_link":"\u53e6\u4e00\u4e2a\u8bb0\u5f55\u88ab\u6807\u8bb0\u4e3a\u8fd9\u4e2a\u8bb0\u5f55\u7684\u526f\u672c\uff0c\u70b9\u51fb","unflag_error_message":"\u8bf7\u89e3\u91ca\u4e3a\u4ec0\u4e48\u53d6\u6d88\u4e86\u8fd9\u4e2a\u8bb0\u5f55\u7684\u6807\u8bb0.","flag_label":"\u6807\u8bb0","investigation_details":"\u8c03\u67e5\u8be6\u60c5:","actions":{"rotate_anti_clockwise":"\u9006\u65f6\u9488\u65cb\u8f6c","export_to_pdf":"\u5bfc\u51fa\u6210PDF","reunite":"\u56e2\u805a","mark_as_reunited":"\u6807\u8bb0\u4e3a\u56e2\u805a","restore_image":"\u8fd8\u539f\u539f\u59cb\u56fe\u7247","delete_photo":"\u5220\u9664\u7167\u7247?","cancel":"\u53d6\u6d88","undo_reunite":"\u64a4\u9500\u56e2\u805a","undo_investigation_details":"\u64a4\u9500\u8c03\u67e5\u8be6\u60c5","export_to_csv":"\u5bfc\u51fa\u6210CSV","undo_reunited_details":"\u91cd\u5199\u56e2\u805a\u539f\u56e0:","export_to_photo_wall":"\u5bfc\u51fa\u6210\u7167\u7247\u5899","mark_as_investigated":"\u6807\u8bb0\u4e3a\u5df2\u8c03\u67e5","reunited":"\u6807\u8bb0\u4e3a\u56e2\u805a","mark_as_not_investigated":"\u6807\u8bb0\u4e3a\u672a\u8c03\u67e5","rotate_clockwise":"\u987a\u65f6\u9488\u65cb\u8f6c","view_full_size_photo":"\u67e5\u770b\u5927\u56fe","undo_investigated":"\u64a4\u9500\u8c03\u67e5","change_log":"\u53d8\u66f4\u65e5\u5fd7","investigation_details":"\u8c03\u67e5\u8be6\u60c5","choose_as_primary_photo":"\u9009\u62e9\u4e00\u4e2a\u4e3b\u7167\u7247","not_reunited":"\u6807\u8bb0\u4e3a\u672a\u56e2\u805a","reunited_details":"\u56e2\u805a\u8be6\u7ec6\u4fe1\u606f:"},"flag_reason":"\u6807\u8bb0\u539f\u56e0","flag_error_message":"\u8bf7\u89e3\u91ca\u4e3a\u4ec0\u4e48\u6807\u8bb0\u8fd9\u4e2a\u8bb0\u5f55.","change_log":"\u53d8\u66f4\u65e5\u5fd7","registered_by":"\u6ce8\u518c","flagged_by":"\u6807\u8bb0\u4e3a","posted_from_mobile":"\u4ece\u79fb\u52a8\u5ba2\u6237\u7aef\u53d1\u5e03:"},"user":{"new_password_confirmation":"\u91cd\u65b0\u8f93\u5165\u65b0\u5bc6\u7801","no_activity":"\u6ca1\u6709\u6d3b\u52a8","no_blank":"\u7528\u6237\u540d\u4e0d\u80fd\u5305\u542b\u7a7a\u683c","manage_password":"\u66f4\u6539\u79d8\u5bc6","label":"\u7528\u6237","messages":{"updated":"\u7528\u6237\u6210\u529f\u88ab\u66f4\u65b0","password_changed_successfully":"\u5bc6\u7801\u91cd\u7f6e\u6210\u529f","not_found":"\u6ca1\u6709\u4e0eid\u5339\u914d\u7684\u7528\u6237","created":"\u7528\u6237\u6210\u529f\u88ab\u521b\u5efa","confirmation":"\u4f60\u786e\u5b9a\u8981\u5220\u9664\u8fd9\u4e2a\u7528\u6237? \u5220\u9664\u7684\u7528\u6237\u4e0d\u53ef\u4ee5\u6062\u590d\u3002\u70b9\u51fbOK\u6765\u5220\u9664\u7528\u6237","time_zone_updated":"\u8bbe\u7f6e\u6210\u529f","passwords_do_not_match":"\u5bc6\u7801\u4e0d\u5339\u914d"},"full_name":"\u5168\u540d","history_of":"%{user_name}\u5386\u53f2","new_password":"\u65b0\u5bc6\u7801","new":"\u65b0\u7528\u6237","disabled":"\u7981\u7528","actions":{"delete":"\u5220\u9664"},"old_password":"\u65e7\u5bc6\u7801","user_action_history":"\u7528\u6237\u6d3b\u52a8\u5386\u53f2","create":"\u6dfb\u52a0","verify":"\u9a8c\u8bc1","update":"\u66f4\u65b0"},"belonging_to":"\u5c5e\u4e8e","search":"\u641c\u7d22","fields":{"updated":"\u5b57\u6bb5\u88ab\u6210\u529f\u66f4\u65b0","text_field":"\u6587\u672c\u5b57\u6bb5","type":"\u5b57\u6bb5\u7c7b\u578b","label":"\u5b57\u6bb5","option_strings_text":"\u9009\u9879","text_area":"\u6587\u672c\u533a\u57df","numeric_field":"\u6570\u5b57\u5b57\u6bb5","action":"\u52a8\u4f5c","deleted":"%{display_name}\u5b57\u6bb5\u88ab\u5220\u9664.","select_box":"\u9009\u62e9\u4e0b\u62c9","radio_button":"\u5355\u9009\u6309\u94ae","date_field":"\u65e5\u671f\u5b57\u6bb5","check_box":"\u68c0\u67e5\u6846","display_name":"\u663e\u793a\u5b57\u6bb5\u540d","add":"\u6dfb\u52a0\u5b57\u6bb5","move_to":"\u79fb\u52a8\u5230","remove":"\u79fb\u9664","field_name":"\u5b57\u6bb5\u540d","form_name":"\u8868\u5355\u540d","successfully_added":"\u5b57\u6bb5\u88ab\u6210\u529f\u6dfb\u52a0"},"account":"\u5e10\u53f7","activerecord":{"errors":{"template":{"body":"\u4ee5\u4e0b\u5b57\u6bb5\u6709\u9519\u8bef:","header":{"other":"%{count}\u4e2a\u9519\u8bef\u5bfc\u81f4%{model}\u4e0d\u80fd\u88ab\u4fdd\u5b58","one":"1\u4e2a\u9519\u8bef\u5bfc\u81f4%{model}\u4e0d\u80fd\u88ab\u4fdd\u5b58"}},"models":{"user":{"role_ids":"\u8bf7\u9009\u62e9\u81f3\u5c11\u4e00\u4e2a\u89d2\u8272","user_name":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u7528\u6237\u540d","organisation":"\u8bf7\u8f93\u5165\u7528\u6237\u7684\u7ec4\u7ec7\u540d","password_confirmation":"\u8bf7\u8f93\u5165\u5bc6\u7801\u786e\u8ba4","full_name":"\u8bf7\u8f93\u5165\u7528\u6237\u7684\u5168\u540d","authenticate":"\u4e0d\u80fd\u8ba4\u8bc1\u4e00\u4e2a\u6ca1\u6709\u4fdd\u5b58\u7684\u7528\u6237","email":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740","user_name_uniqueness":"\u7528\u6237\u540d\u5df2\u5b58\u5728! \u8bf7\u9009\u62e9\u4e00\u4e2a\u65b0\u7684\u7528\u6237\u540d"},"form_section":{"format_of_name":"\u540d\u5b57\u53ea\u80fd\u5305\u542b\u5b57\u6bcd\u6570\u5b57\u548c\u7a7a\u683c","fixed_order_method":"fixed_order\u4e0d\u80fd\u4e3a\u5047\u5982\u679cperm_enabled\u662f\u771f","presence_of_name":"\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a","unique_id":"'%{unique_id}'\u5df2\u5b58\u5728.","presence_of_base_language_name":"\u57fa\u59cb\u8bed\u8a00'%{base_language}'\u5bf9\u5e94\u7684\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a","add_field_to_form_section":"\u8868\u5355\u9879\u4e0d\u80fd\u7f16\u8f91","perm_visible_method":"perm_visible\u4e0d\u80fd\u4e3a\u5047if perm_enabled\u4e3a\u771f","visible_method":"\u5982\u679c\u5141\u8bb8\u67e5\u770b\u53ef\u89c1\u6027\u5b57\u6bb5\u4e0d\u80fd\u4e3a\u5047","unique_name":"'%{name}'\u8fd9\u4e2a\u540d\u5b57\u5df2\u5b58\u5728.","delete_field":"\u4e0d\u80fd\u7f16\u8f91\u7684\u5b57\u6bb5\u4e0d\u80fd\u88ab\u5220\u9664"},"child":{"photo_format":"\u8bf7\u7ed9\u8fd9\u4e2a\u513f\u7ae5\u8bb0\u5f55\u4e0a\u4f20\u5408\u9002\u7684(jpg or png)\u56fe\u7247","age":"\u5e74\u9f84\u5fc5\u987b\u57281\u572899\u5c81\u4e4b\u95f4","primary_photo_id":"\u628a'%{photo_id}'\u505a\u4e3a\u4e3b\u56fe\u7247\u5931\u8d25:\u6ca1\u6709\u8fd9\u4e2a\u56fe\u7247","at_least_one_field":"\u8bf7\u81f3\u5c11\u586b\u4e00\u4e2a\u5b57\u6bb5\u6216\u8005\u4e0a\u4f20\u6587\u4ef6","validate_duplicate":"\u5fc5\u987b\u63d0\u4f9b\u4e00\u4e2a\u6709\u6548\u7684\u526f\u672cID","photo_size":"\u6587\u4ef6\u592a\u5927"},"replication":{"save_remote_couch_config":"The URL/Username/Password\u8f93\u5165\u4e0d\u6b63\u786e","remote_app_url":"\u8bf7\u8f93\u5165\u5408\u9002\u7684 URL, e.g. http://:"},"system_users":{"username_unique":"\u7528\u6237\u540d\u5df2\u5b58\u5728!\u8bf7\u9009\u62e9\u4e00\u4e2a\u65b0\u7684\u7528\u6237\u540d"},"field":{"default_value":"\u627e\u4e0d\u5230\u7c7b\u578b\u7684\u9ed8\u8ba4\u503c ","unique_name_this":"\u8868\u5355\u5df2\u7ecf\u5b58\u5728\u8be5\u5b57\u6bb5","display_name_presence":"\u540d\u5b57\u4e0d\u80fd\u4e3a\u7a7a","has_1_option":"\u68c0\u67e5\u6846\u81f3\u5c11\u9700\u8981\u4e00\u4e2a\u9009\u62e9\u9879","unique_name_other":"\u8868\u5355\u5df2\u7ecf\u5b58\u5728'%{form_name}'\u5b57\u6bb5","display_name_format":"\u540d\u5b57\u5e94\u81f3\u5c11\u5305\u542b\u4e00\u4e2a\u5b57\u6bcd\u6570\u5b57","has_2_options":"\u5b57\u6bb5\u81f3\u5c11\u9700\u8981\u4e24\u4e2a\u9009\u62e9\u9879"},"role":{"permission_presence":"\u8bf7\u81f3\u5c11\u9009\u62e9\u4e00\u9879\u6743\u9650","unique_name":"\u89d2\u8272\u540d\u5df2\u5b58\u5728, \u8bf7\u8f93\u5165\u4e00\u4e2a\u4e0d\u540c\u7684\u540d\u5b57"}}}},"children":{"order_by":{"name":"\u59d3\u540d","label":"\u6392\u5e8f","most_recently":"\u6700\u8fd1"},"export_some_records_to_csv":"\u67d0\u4e9b\u7eaa\u5f55\u4ee5CSV\u683c\u5f0f\u5bfc\u51fa","label":"\u513f\u7ae5","export_all_child_records_to_pdf":"\u6240\u6709\u513f\u7ae5\u4fe1\u606f\u4ee5 Records PDF\u683c\u5f0f\u5bfc\u51fa","filter_by":{"label":"\u8fc7\u6ee4","created":"\u521b\u5efa","reunited":"\u91cd\u805a","flag":"\u6807\u8bb0\u7684","active":"\u6d3b\u52a8\u7684","all":"\u6240\u6709"},"export":"\u5bfc\u51fa","filer_by":{"reunited":"\u91cd\u805a","active":"\u6d3b\u52a8\u7684","all":"\u6240\u6709\u7684","flagged":"\u6807\u8bb0\u7684"},"register_new_child":"\u767b\u8bb0\u65b0\u7684\u513f\u7ae5","flag_summary":"\u6807\u8bb0\u603b\u7ed3","export_all_child_records_to_csv":"\u6240\u6709\u513f\u7ae5\u4fe1\u606f\u4ee5 Records CSV\u683c\u5f0f\u5bfc\u51fa"},"select_all":"\u9009\u62e9\u6240\u6709\u7684\u7eaa\u5f55","navigation":{"reports":"\u62a5\u544a","children":"\u513f\u7ae5","advanced_search":"\u9ad8\u7ea7\u641c\u7d22","go":"\u641c\u7d22","users":"\u7528\u6237","search":"\u641c\u7d22","forms":"\u8868\u5355","devices":"\u8bbe\u5907"},"couchrest":{"fields":{"Name":"\u59d3\u540d","Password":"\u5bc6\u7801","Username":"\u7528\u6237\u540d","Description":"\u63cf\u8ff0","Remote app url":"\u8fdc\u7a0b\u5e94\u7528url"},"validations":{"blank":"%s \u4e0d\u80fd\u4e3a\u7a7a"}},"preposition":{"because":"\u56e0\u4e3a","on_label":"","at_label":"at\u5728"},"clear":"\u6e05\u9664","forms":{"initial_language":"\u521d\u59cb\u8bed\u8a00","label":"\u8868\u5355","cannot_be_edited":"\u8868\u5355\u4e0a\u4e0d\u80fd\u88ab\u7f16\u8f91\u7684\u5b57\u6bb5.","messages":{"use_existing":"\u6211\u4eec\u5efa\u8bae\u4f60\u4f7f\u7528\u5df2\u5b58\u5728\u7684\u8868\u5355\uff0c\u65b9\u4fbf\u7ec4\u7ec7\u95f4\u4fe1\u606f\u7684\u5206\u4eab\u548c\u878d\u5408\u3002"},"save_details":"\u4fdd\u5b58\u8be6\u7ec6\u4fe1\u606f","save":"\u4fdd\u5b58\u8868\u5355"},"status":"\u72b6\u6001","histories":{"added_by":"\u6dfb\u52a0","investigated":{"mark_as_not_investigated_by":"\u8bb0\u5f55\u88ab\u6807\u8bb0\u4e3a\u672a\u8c03\u67e5","mark_as_investigated_by":"\u7eaa\u5f55\u88ab\u6807\u8bb0\u4e3a\u5df2\u8c03\u67e5"},"because":"\u56e0\u4e3a:","to":"\u5230","belong_to":"\u5c5e\u4e8e","duplicate":{"mark_as_duplicate":"\u628a\u8fd9\u4e2a\u8bb0\u5f55\u6807\u8bb0\u4e3a\u526f\u672c","no_longer_active":"\u5f53\u524d\u8bb0\u5f55\u4e0d\u53ef\u4fee\u6539\u6216\u8005\u65e0\u6548"},"reunited":{"child_status_changed":"\u513f\u7ae5\u72b6\u6001\u88ab\u6539\u4e3a\u6d3b\u52a8","with_details":"\u7ec6\u8282:"},"flag":{"record_flagged_by":"\u8bb0\u5f55\u88ab\u6807\u8bb0","record_unflagged_by":"\u8bb0\u5f55\u88ab\u53d6\u6d88\u6807\u8bb0"},"deleted_by":"\u5220\u9664","audio":{"audio_change":"\u97f3\u9891\u6539\u53d8","audio":"\u97f3\u9891"},"by":"\u901a\u8fc7"},"name":"\u540d\u5b57","mandatory_field":"\u6807\u8bb0\u5b57\u6bb5\u4e3a\u5fc5\u987b","discard":"\u4e22\u5f03","enabled":"\u7981\u7528","administration":"\u7ba1\u7406\u5458","date_format":"yy-mm-dd","help_text":"\u5e2e\u52a9","hello":"\u4f60\u597d","blacklisted":"\u9ed1\u540d\u5355?","users":{"unverified":"\u672a\u8ba4\u8bc1\u7684\u7528\u6237","label":"\u7528\u6237","manage":"\u7ba1\u7406\u7528\u6237","messages":{"disable":"\u4f60\u786e\u5b9a\u8981\u7981\u6b62\u8fd9\u4e2a\u7528\u6237?"},"select_role":"\u8bf7\u5728\u9a8c\u8bc1\u7528\u6237\u4e4b\u524d\u9009\u62e9\u4e00\u4e2a\u89d2\u8272","sort_by":{"label":"\u6392\u5e8f","full_name":"\u5168\u540d"},"actions":{"show_all":"\u663e\u793a\u6240\u6709","show":"\u663e\u793a"},"create":"\u521b\u5efa\u7528\u6237"},"saved":"\u4fdd\u5b58","messages":{"confirmation_message":"\u70b9\u51fbok\u5c06\u4f1a\u4e22\u5931\u6240\u6709\u672a\u4fdd\u5b58\u7684\u4fe1\u606f\u3002\u70b9\u51fbCancel\u8fd4\u56de\u5230\u513f\u7ae5\u7eaa\u5f55","select_photo":"\u8bf7\u9009\u62e9\u4e00\u5f20\u7167\u7247\u3002","record_count":"\u663e\u793a %{start} \u5230 %{end} %{total}\u8bb0\u5f55","logoff":"\u4e0d, \u9000\u51fa","enter_valid_date":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u521b\u5efa\u65e5\u671f'\u4e4b\u540e' \u548c/\u6216\u8005 '\u4e4b\u524d'\u65e5\u671f(\u683c\u5f0f yyyy-mm-dd).","primary_photo_changed":"\u4e3b\u7167\u7247\u6539\u53d8\u4e86.","are_you_sure":"\u4f60\u786e\u5b9a\u8981 ","warning":"\u8b66\u544a:\u5982\u679c\u7ee7\u7eed,\u548c\u5b57\u6bb5\u76f8\u5173\u7684\u6570\u636e\u5c06\u4f1a\u4e22\u5931\u3002\n\u5982\u679c\u4e0d\u786e\u5b9a,\u7981\u7528\u8fd9\u4e2a\u5b57\u6bb5.\n\u70b9\u51fb\u53d6\u6d88\u8fd4\u56de\uff0c\u70b9\u51fbOK\u5220\u9664\u8fd9\u4e2a\u5b57\u6bb5.","cancel_confirmation":"\u4f60\u786e\u5b9a\u8981\u53d6\u6d88?","logoff_warning_prefix":"\u767b\u51fa","logoff_confirmation":"\u662f\u5426\u8981\u7ee7\u7eed\u4f1a\u8bdd?","enter_valid_field_value":"\u8bf7\u8f93\u5165\u4e00\u4e2a\u6709\u6548\u7684\u5b57\u6bb5\u503c.","enter_each_in_one_line":"\u5728\u65b0\u7684\u4e00\u884c\u8f93\u5165\u9009\u9879","delete_item":"\u8b66\u544a:\u5982\u679c\u7ee7\u7eed,\u76f8\u5173\u7684\u6570\u636e\u5c06\u4f1a\u4e22\u5931\u3002\n\u5982\u679c\u4e0d\u786e\u5b9a,\u7981\u7528\u8fd9\u4e2a\u5b57\u6bb5\u3002\n\u70b9\u51fb\u53d6\u6d88\u8fd4\u56de\uff0c\u70b9\u51fbOK\u5220\u9664\u8fd9\u4e2a\u5b57\u6bb5\u3002","valid_search_criteria":"\u8bf7\u8f93\u5165\u81f3\u5c11\u4e00\u4e2a\u641c\u7d22\u6807\u51c6","show_forms":"\u4f60\u786e\u5b9a\u8981\u8ba9\u8fd9\u4e9b\u8868\u5355\u53ef\u89c1?","logoff_warning_suffix":"\u79d2","this_user":" \u8fd9\u4e2a\u7528\u6237?","keep_working":"\u662f\u7684\uff0c\u7ee7\u7eed\u5de5\u4f5c","move_item":"\u4f60\u8981\u628a\u8fd9\u4e2a\u5b57\u6bb5\u79fb\u52a8\u5230\u53e6\u4e00\u4e2a\u8868\u5355\u533a\u6bb5({{selection_key}})\u3002\u662f\u8fd9\u6837\u7684\u5417?","show_hide_forms":"\u8bf7\u9009\u62e9\u4f60\u60f3\u663e\u793a/\u9690\u85cf\u7684\u8868\u5355\u3002","hide_forms":"\u4f60\u786e\u5b9a\u8981\u9690\u85cf\u8fd9\u4e9b\u8868\u5355?"},"will_paginate":{"previous_label":"← Previous","page_entries_info":{"multi_page_html":"\u663e\u793a %{model} %{from} - %{to} \u603b\u5171 %{count} ","single_page_html":{"other":"\u663e\u793a \u6240\u6709 %{count} %{model}","one":"\u663e\u793a 1 %{model}","zero":"\u6ca1\u627e\u5230%{model}"}},"next_label":"Next →","page_gap":"…","models":{"child":{"other":"\u513f\u7ae5","one":"\u513f\u7ae5"},"report":{"other":"\u62a5\u544a","one":"\u62a5\u544a"}}},"phone":"\u7535\u8bdd","report":{"type":"\u7c7b\u578b","heading":"RapidFTR\u62a5\u544a","types":{"weekly_report":"\u5468\u62a5\u544a"},"as_of_date":"\u65e5\u671f","download":"\u4e0b\u8f7d"},"admin":{"contact_info":"\u7ba1\u7406\u5458\u8054\u7cfb\u4fe1\u606f","manage_system_users":"\u7ba1\u7406\u670d\u52a1\u5668\u540c\u6b65\u7528\u6237","highlight_fields":"\u9ad8\u4eae\u5b57\u6bb5","create_system_user":"\u521b\u5efa\u7cfb\u7edf\u7528\u6237"},"form_section":{"label":"\u8868\u5355\u9879","back":"\u8fd4\u56de\u5230\u8868\u5355\u9875","manage":"\u7ba1\u7406\u8868\u5355","messages":{"updated":"\u8868\u5355\u9879\u88ab\u6210\u529f\u6dfb\u52a0","drag_drop_help_text":"\u60a8\u53ef\u4ee5\u70b9\u51fb\u5b57\u6bb5\u62d6\u653e\uff0c\u653e\u5927\uff0c\u6309\u987a\u5e8f\u4e0b\u79fb\u3002","hide_confirmation":"\u4f60\u786e\u5b9a\u9690\u85cf\u5b57\u6bb5?","cannot_create":"\u8868\u5355\u9879\u4e0d\u80fd\u88ab\u521b\u5efa","order_saved":"\u987a\u5e8f\u88ab\u6210\u529f\u4fdd\u5b58.","show_confirmation":"\u4f60\u786e\u5b9a\u663e\u793a\u5b57\u6bb5?","correct_errors":"\u8bf7\u6539\u6b63\u4e0b\u9762\u7684\u9519\u8bef\u5e76\u91cd\u65b0\u63d0\u4ea4:"},"edit":"\u7f16\u8f91\u8868\u5355","ordering":"\u6392\u5e8fOrdering","options":"\u9009\u9879","buttons":{"add":"\u6dfb\u52a0"},"actions":{"save_order":"\u4fdd\u5b58\u987a\u5e8f","add_custom_field":"\u6dfb\u52a0\u987e\u5ba2\u5b57\u6bb5"},"show":"\u5c55\u793a","details":"\u8868\u5355\u8be6\u7ec6\u4fe1\u606f","create":"\u521b\u5efa\u65b0\u7684\u8868\u5355","visibility":"\u53ef\u89c1Visibility","hide":"\u9690\u85cf"},"advanced_search":{"updated_by":"\u66f4\u65b0 (\u7528\u6237) :","created_by_org":"\u521b\u5efa (\u7ec4\u7ec7) :","before":"\u4e4b\u524d :","after":"\u4e4b\u540e :","date_created":"\u521b\u5efa\u65e5\u671f :","date_updated":"\u66f4\u65b0\u65e5\u671f :","records_found":{"other":"\u627e\u5230%{count}\u7eaa\u5f55","one":"\u627e\u5230\u4e00\u4e2a\u7eaa\u5f55"},"instruction":"\u901a\u8fc7OR\u6765\u5206\u9694\u591a\u4e2a\u641c\u7d22\u9009\u9879\u3002\u5982\uff1aTim OR Rahul","date_instruction":"\u5728\u7b2c\u4e00\u680f\u91cc\u8f93\u5165\u65e5\u671f(yyyy-mm-dd)\u6765\u641c\u7d22\u4e4b\u540e\u521b\u5efa\u6216\u8005\u66f4\u65b0\u7684\u8bb0\u5f55\u3002\u5728\u7b2c\u4e8c\u680f\u91cc\u8f93\u5165\u65e5\u671f(yyyy-mm-dd)\u6765\u641c\u7d22\u4e4b\u524d\u521b\u5efa\u6216\u8005\u66f4\u65b0\u7684\u8bb0\u5f55\u3002\u5728\u4e24\u680f\u90fd\u8f93\u5165\u65e5\u671f\u6765\u67e5\u770b\u671f\u95f4\u521b\u5efa\u6216\u66f4\u65b0\u7684\u8bb0\u5f55\u3002","created_by":"\u521b\u5efa (\u7528\u6237) :","select_a_criteria":"\u9009\u62e9\u4e00\u4e2a\u6807\u51c6"},"header":{"contact":"\u5e2e\u52a9","system_settings":"\u7cfb\u7edf\u8bbe\u7f6e","welcome":"\u6b22\u8fce","logout":"\u9000\u51fa","my_account":"\u6211\u7684\u5e10\u6237"},"role":{"name":"\u59d3\u540d","edit":"\u7f16\u8f91\u89d2\u8272","error_in_updating":"\u89d2\u8272\u8be6\u7ec6\u4fe1\u606f\u66f4\u65b0\u5931\u8d25.","create":"\u521b\u5efa\u89d2\u8272","successfully_updated":"\u89d2\u8272\u7684\u8be6\u7ec6\u4fe1\u606f\u6210\u529f\u66f4\u65b0."},"cancel":"\u53d6\u6d88","device":{"timestamp":"\u65f6\u95f4\u6233","messages":{"disable":"\u4f60\u786e\u5b9a\u8981\u7981\u7528\u8fd9\u4e2a\u8bbe\u5907?","blacklist":"\u4f60\u8981\u628a\u8fd9\u4e2a\u8bbe\u5907\u52a0\u5165\u9ed1\u540d\u5355?","remove_blacklist":"\u4f60\u8981\u628a\u8fd9\u4e2a\u8bbe\u5907\u4ece\u9ed1\u540d\u5355\u79fb\u9664?"},"mobile_number":"\u624b\u673a\u53f7","blacklist":"\u9ed1\u540d\u5355\u8bbe\u5907","information":"\u8bbe\u5907\u4fe1\u606f"},"home":{"records_need_attention":"\u4e2a\u9700\u8981\u6ce8\u610f\u7684\u8bb0\u5f55","label":"\u9996\u9875","view_records":"\u67e5\u770b\u8bb0\u5f55","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","zh":"\u4e2d\u6587","fr":"Fran\u00e7ais","current_time_zone":"\u65f6\u533a","language":"\u8bed\u8a00","manage_system_users":"\u7ba1\u7406\u670d\u52a1\u5668\u540c\u6b65\u7528\u6237","welcome":"\u6b22\u8fceRapidFTR","es":"Espa\u00f1ol","en":"English"},"buttons":{"back":"\u540e\u9000","reunite":"\u91cd\u805a","change_password":"\u4fee\u6539\u5bc6\u7801","edit":"\u7f16\u8f91","delete":"\u5220\u9664","login":"\u767b\u9646","save":"\u4fdd\u5b58","enable_photo_wall":"\u4f7f\u7528\u7167\u7247\u5899","disable_photo_wall":"\u7981\u7528\u7167\u7247\u5899"},"description":"\u63cf\u8ff0","form":"\u8868\u5355"},"fr":{"home":{"ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","zh":"\u4e2d\u6587","fr":"Fran\u00e7ais","es":"Espa\u00f1ol","en":"English"}},"en":{"details":"Details","new":"New","data_base":{"operation_not_allowed":"Operation not allowed in %{rails_env} environment","delete_all_documents":"Deleted all child documents"},"actions":"actions","position":"Position","helpers":{"select":{"prompt":"Please select"},"submit":{"create":"Create %{model}","submit":"Save %{model}","update":"Update %{model}"}},"select_all_results":"Select all results","no_results_found":"No results found","moved_from":"%{field_name} moved from %{from_fs} to %{to_fs}","devices":"Devices","add":"add","email":"Email","session":{"no_token_in_header":"no session token in headers or cookies","about_to_expire":"Your session is about to expire!","no_token_provided":"no session token provided","invalid_token":"invalid session token","login_error":"There was a problem logging in. Please try again.","has_expired":"Your session has expired. Please re-login.","invalid_credentials":"Invalid credentials. Please try again!"},"yes_label":"Yes","false":"false","organisation":"Organisation","permissions":{"label":"Permissions","group":{"Reports":"Reports","Devices":"Devices","Roles":"Roles","Forms":"Forms","Users":"Users","System":"System","Children":"Children","ALL":"All"},"permission":{"View And Search Child":"View And Search Child","Users for synchronisation":"Manage Server Synchronisation Users","Manage Replications":"Manage Replications","All":"All","Highlight Fields":"Highlight Fields","Delete Users":"Delete Users","Create and Edit Users":"Create and Edit Users","Create and Edit Roles":"Create and Edit Roles","Disable Users":"Disable Users","View and Download Reports":"View and Download Reports","View roles":"View roles","BlackList Devices":"BlackList Devices","Edit Child":"Edit Child","Export to Photowall/CSV/PDF":"Export to Photowall/CSV/PDF","System Settings":"System Settings","View Users":"View Users","Manage Forms":"Manage Forms","Register Child":"Register Child"}},"imei":"IMEI","visible":"Visible","location":"Location","true":"true","hidden":"Hidden","record":"record","encrypt":{"password_mandatory":"Enter a valid password","password_title":"Password","password_label":"Enter password to encrypt file"},"replication":{"stop":"Stop Synchronization","error":"Failed","timestamp":"Timestamp","start":"Start Synchronization","label":"Replication","completed":"Successful","configure_a_server":"Configure a Server","edit":"Edit Configuration","triggered":"In Progress","delete":"Delete","status":"Status","confirm_delete":"Are you sure you want to delete this replication?","index":"Manage Replications","actions":"Actions","description":"Description","remote_app_url":"RapidFTR URL","create":"Configure a Server"},"roles":{"name":"Role Name","view":"View Role","label":"Roles","list":"List of Roles","sort_by":{"label":"Sort by","descending":"Descending","ascending":"Ascending"},"actions":{"edit":"Edit","show_all":"Showing all","show":"Show","create":"Create","update":"Update"}},"provide_translation":"Provide translation for","login":{"password":{"label":"Password","re_enter":"Re-enter password","success_notice":"Thank you. A RapidFTR administrator will contact you shortly. If possible, contact the admin directly.","reset":"Request Password Reset","successfully_hidden":"Password request notification was successfully hidden."},"label":"Login","username":"User Name","details":"Login details"},"contact":{"updated":"Contact information was successfully updated.","message":"If you experience any problems with RapidFTR, or believe your password has been exposed, please contact the system administrator immediately.","edit_info":"Edit Contact Information","not_found":"Cannot find ContactInformation with id %{id}","info_label":"Contact Information","field":{"organization":"Organization","name":"Name","phone":"Phone","other_information":"Other information","position":"Position","location":"Location","email":"Email"}},"child":{"last_updated":"Last updated","unflag_record":"Unflag record","reunite_details":"Reunite Details:","view":"View Child %{short_id}","unflag_reason":"Unflag Reason","mark_child_as_duplicate":"Mark %{short_id} as Duplicate","flag_record":"Flag record","messages":{"update_success":"Child was successfully updated.","creation_success":"Child record successfully created.","undo_investigation_error_message":"Undo Investigation Details:","undo_reunite_error_message":"Please confirm child should be marked as Not Reunited, and enter any details you have.","not_found":"Child with the given id is not found","reunite_error_message":"Please confirm this child has been reunited with family or caregivers, and enter any details you have.","investigation_error_message":"Please confirm the flagged record should be marked as investigated, and enter any details you have.","confirm_duplicate":"Are you sure you want to continue? If so, click OK. If not, click Cancel.","see_full_size":"Click on the Image to see full size"},"edit_photo":"Edit photo","duplicate_header":"Marking %{child_name} as Duplicate","edit":"Edit Child","flagged_as_suspected":"Flagged as suspect record by","history_of":"History of %{short_id}","manage_photos":"Manage photos","id_of_record_this_duplicate_of":"Enter the ID of the record this is a duplicate of:","another_duplicate_after_link":" to see the duplicate record.","mark_as_duplicate":"Mark as Duplicate","unflag_label":"Unflag","another_duplicate_before_link":"Another record has been marked as a duplicate of this one. Click","unflag_error_message":"Please explain why you are unflagging this record.","flag_label":"Flag","investigation_details":"Investigation Details:","actions":{"rotate_anti_clockwise":"Rotate Anti-Clockwise","export_to_pdf":"Export to PDF","reunite":"Reunite","mark_as_reunited":"Mark as Reunited","restore_image":"Restore Original Image","delete_photo":"Delete photo?","cancel":"Cancel","undo_reunite":"Undo Reunite","undo_investigation_details":"Undo Investigation Details","export_to_csv":"Export to CSV","undo_reunited_details":"Undo reunite Reason:","export_to_photo_wall":"Export to Photo Wall","mark_as_investigated":"Mark as Investigated","reunited":"Mark as Reunited","mark_as_not_investigated":"Mark as Not Investigated","rotate_clockwise":"Rotate Clockwise","view_full_size_photo":"View full size photo","undo_investigated":"Undo Investigated","change_log":"Change Log","investigation_details":"Investigation Details","choose_as_primary_photo":"Choose as primary photo","not_reunited":"Mark as Not Reunited","reunited_details":"Reunite Details:"},"flag_reason":"Flag Reason","flag_error_message":"Please explain why you are flagging this record.","change_log":"Change Log","registered_by":"Registered by","flagged_by":"Flagged By","posted_from_mobile":"Posted from the mobile client at:"},"user":{"new_password_confirmation":"Confirm New Password","no_activity":"has no activity","no_blank":"user name should not contain blanks","manage_password":"Change Password","label":"user","messages":{"updated":"User was successfully updated.","password_changed_successfully":"Password changed successfully","not_found":"User with the given id is not found","created":"User was successfully created.","confirmation":"Are you sure you want to delete this user? Deletion can not be undone. Click OK To Delete User.","time_zone_updated":"The change was successfully updated.","passwords_do_not_match":"does not match current password"},"full_name":"Full Name","history_of":"History of %{user_name}","new_password":"New Password","new":"New User","disabled":"Disabled","actions":{"delete":"Delete"},"old_password":"Old Password","user_action_history":"User action history","create":"Create","verify":"Verify","update":"Update"},"addons":{"export_task":{"pdf":{"selected":"Export Selected to PDF","one":"Export to PDF","all":"Export All to PDF"},"photowall":{"selected":"Export Selected to Photo Wall","one":"Export to Photowall","all":"Export All to Photowall"},"csv":{"selected":"Export Selected to CSV","one":"Export to CSV","all":"Export All to CSV"},"cpims":{"name":"Export to CPIMS Addon","selected":"Export Selected to CPIMS","one":"Export to CPIMS","all":"Export All to CPIMS"}}},"belonging_to":"belonging to","search":"Search","fields":{"updated":"Field updated","text_field":"Text Field","type":"Field type","label":"Fields","option_strings_text":"Options","text_area":"Text Area","numeric_field":"Numeric Field","action":"Action","deleted":"Field %{display_name} has been deleted.","select_box":"Select drop down","radio_button":"Radio button","date_field":"Date Field","check_box":"Check boxes","display_name":"Display Name","add":"Add Field","move_to":"Move to","remove":"remove","field_name":"Field Name","form_name":"Form Name","successfully_added":"Field successfully added"},"account":"Account","activerecord":{"errors":{"template":{"body":"There were problems with the following fields:","header":{"other":"%{count} errors prohibited this %{model} from being saved","one":"1 error prohibited this %{model} from being saved"}},"models":{"user":{"role_ids":"Please select at least one role","user_name":"Please enter a valid user name","organisation":"Please enter the user's organisation name","password_confirmation":"Please enter password confirmation","full_name":"Please enter full name of the user","authenticate":"Can't authenticate a un-saved user","email":"Please enter a valid email address","user_name_uniqueness":"User name has already been taken! Please select a new User name"},"form_section":{"format_of_name":"Name must contain only alphanumeric characters and spaces","fixed_order_method":"fixed_order can't be false if perm_enabled is true","presence_of_name":"Name must not be blank","unique_id":"The unique id '%{unique_id}' is already taken.","presence_of_base_language_name":"The name of the base language '%{base_language}' can not be blank","add_field_to_form_section":"Form section not editable","perm_visible_method":"perm_visible can't be false if perm_enabled is true","visible_method":"visible can't be false if perm_visible is true","unique_name":"The name '%{name}' is already taken.","delete_field":"Uneditable field cannot be deleted"},"child":{"photo_format":"Please upload a valid photo file (jpg or png) for this child record","age":"Age must be between 1 and 99","primary_photo_id":"Failed trying to set '%{photo_id}' to primary photo: no such photo key","at_least_one_field":"Please fill in at least one field or upload a file","validate_duplicate":"A valid duplicate ID must be provided","photo_size":"File is too large"},"replication":{"save_remote_couch_config":"The URL/Username/Password that you entered is incorrect","remote_app_url":"Please enter a proper URL, e.g. http://:"},"system_users":{"username_unique":"User name has already been taken! Please select a new User name"},"field":{"default_value":"Cannot find default value for type ","unique_name_this":"Field already exists on this form","display_name_presence":"Display name must not be blank","has_1_option":"Checkbox must have at least 1 option","unique_name_other":"Field already exists on form '%{form_name}'","display_name_format":"Display name must contain at least one alphabetic characters","has_2_options":"Field must have at least 2 options"},"role":{"permission_presence":"Please select at least one permission","unique_name":"A role with that name already exists, please enter a different name"}}}},"children":{"order_by":{"name":"Name","label":"Order by","most_recently":"Most recently"},"label":"Children","filter_by":{"label":"Filter by","created":"Created","reunited":"Reunited","flag":"Flagged","active":"Active","all":"All"},"export":"Export","filer_by":{"reunited":"Reunited","active":"Active","all":"All","flagged":"Flagged"},"register_new_child":"Register New Child","flag_summary":"Flag summary"},"select_all":"Select all records","navigation":{"reports":"REPORTS","children":"CHILDREN","advanced_search":"Advanced Search","go":"Go","users":"USERS","search":"Search","forms":"FORMS","devices":"DEVICES"},"couchrest":{"fields":{"Name":"Name","Password":"Password","Username":"Username","Description":"Description","Remote app url":"Remote app url"},"validations":{"blank":"%s must not be blank"}},"time":{"pm":"pm","am":"am","formats":{"short":"%d %b %H:%M","long":"%B %d, %Y %H:%M","default":"%a, %d %b %Y %H:%M:%S %z"}},"datetime":{"prompts":{"year":"Year","hour":"Hour","day":"Day","month":"Month","minute":"Minute","second":"Seconds"},"distance_in_words":{"less_than_x_minutes":{"other":"less than %{count} minutes","one":"less than a minute"},"over_x_years":{"other":"over %{count} years","one":"over 1 year"},"less_than_x_seconds":{"other":"less than %{count} seconds","one":"less than 1 second"},"almost_x_years":{"other":"almost %{count} years","one":"almost 1 year"},"about_x_years":{"other":"about %{count} years","one":"about 1 year"},"half_a_minute":"half a minute","x_days":{"other":"%{count} days","one":"1 day"},"about_x_months":{"other":"about %{count} months","one":"about 1 month"},"x_seconds":{"other":"%{count} seconds","one":"1 second"},"x_minutes":{"other":"%{count} minutes","one":"1 minute"},"x_months":{"other":"%{count} months","one":"1 month"},"about_x_hours":{"other":"about %{count} hours","one":"about 1 hour"}}},"preposition":{"because":"Because","on_label":"on","at_label":"at"},"errors":{"messages":{"empty":"can't be empty","odd":"must be odd","not_an_integer":"must be an integer","even":"must be even","wrong_length":"is the wrong length (should be %{count} characters)","inclusion":"is not included in the list","too_long":"is too long (maximum is %{count} characters)","blank":"can't be blank","confirmation":"doesn't match confirmation","too_short":"is too short (minimum is %{count} characters)","equal_to":"must be equal to %{count}","less_than":"must be less than %{count}","invalid":"is invalid","greater_than_or_equal_to":"must be greater than or equal to %{count}","accepted":"must be accepted","greater_than":"must be greater than %{count}","exclusion":"is reserved","not_a_number":"is not a number","less_than_or_equal_to":"must be less than or equal to %{count}"},"dynamic_format":"%{message}","format":"%{attribute} %{message}"},"clear":"Clear","forms":{"initial_language":"Initial Language","label":"Forms","cannot_be_edited":"Fields on this form cannot be edited.","messages":{"use_existing":"We encourage you to use the existing forms as this makes data sharing and data merging between institutions easier."},"save_details":"Save Details","save":"Save Form"},"status":"Status","histories":{"added_by":"added by","investigated":{"mark_as_not_investigated_by":"Record was marked as Not Investigated by","mark_as_investigated_by":"Record was marked as Investigated by"},"because":"because:","to":"to","belong_to":"belonging to","duplicate":{"mark_as_duplicate":"marked this record as a duplicate of","no_longer_active":"Current record is no longer active or editable"},"reunited":{"child_status_changed":"Child status changed to active by","with_details":"with these details:"},"flag":{"record_flagged_by":"Record was flagged by","record_unflagged_by":"Record was unflagged by"},"deleted_by":"deleted by","audio":{"audio_change":"Audio changed from","audio":"Audio"},"by":"by"},"name":"Name","mandatory_field":"marked fields are mandatory","discard":"Discard","enabled":"Enabled","administration":"Administration","date_format":"yy-mm-dd","help_text":"Help text","hello":"Hello","support":{"array":{"words_connector":", ","last_word_connector":", and ","two_words_connector":" and "}},"blacklisted":"Blacklisted?","users":{"unverified":"Unverified Users","label":"Users","manage":"Manage Users","messages":{"disable":"Are you sure you want to disable this user?"},"select_role":"Please select a role before verifying the user","sort_by":{"label":"Sort by","full_name":"Full Name"},"actions":{"show_all":"Showing all","show":"Show"},"create":"Create User"},"number":{"currency":{"format":{"separator":".","strip_insignificant_zeros":false,"significant":false,"precision":2,"unit":"$","delimiter":",","format":"%u%n"}},"human":{"decimal_units":{"units":{"thousand":"Thousand","trillion":"Trillion","million":"Million","unit":"","quadrillion":"Quadrillion","billion":"Billion"},"format":"%n %u"},"storage_units":{"units":{"gb":"GB","byte":{"other":"Bytes","one":"Byte"},"tb":"TB","kb":"KB","mb":"MB"},"format":"%n %u"},"format":{"strip_insignificant_zeros":true,"significant":true,"precision":3,"delimiter":""}},"percentage":{"format":{"delimiter":""}},"precision":{"format":{"delimiter":""}},"format":{"separator":".","strip_insignificant_zeros":false,"significant":false,"precision":3,"delimiter":","}},"saved":"Saved","messages":{"confirmation_message":"Clicking OK Will Discard Any Unsaved Changes. Click Cancel To Return To The Child Record Instead.","select_photo":"Please select a photo.","record_count":"Showing %{start} to %{end} of %{total} records","logoff":"No, Logoff","enter_valid_date":"Please enter a valid 'After' and/or 'Before' Date Created (format yyyy-mm-dd).","primary_photo_changed":"Primary photo changed.","are_you_sure":"Are you sure you want to ","warning":"Warning: If you continue, any data associated with this field will be lost.\nIf you're uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","cancel_confirmation":"Are you sure you want to cancel?","logoff_warning_prefix":"You will be logged off in","logoff_confirmation":"Do you want to continue your session?","enter_valid_field_value":"Please enter a valid field value.","enter_each_in_one_line":"Enter each option on a new line","delete_item":"Warning: If you continue, any data associated with this field will be lost.\nIf you\\'re uncertain, disable the field instead.\nClick Cancel to go back. Click OK to Delete the field.","valid_search_criteria":"Please enter at least one search criteria","show_forms":"Are you sure you want to make these form(s) visible?","logoff_warning_suffix":"seconds.","this_user":" this user?","keep_working":"Yes, Keep Working","move_item":"You are about to move this field to another form section ({{selection_key}}). Is this OK?","show_hide_forms":"Please select form(s) you want to show/hide.","hide_forms":"Are you sure you want to hide these form(s)?"},"will_paginate":{"previous_label":"← Previous","page_entries_info":{"multi_page_html":"Displaying %{model} %{from} - %{to} of %{count} in total","multi_page":"Displaying %{model} %{from} - %{to} of %{count} in total","single_page":{"other":"Displaying all %{count} %{model}","one":"Displaying 1 %{model}","zero":"No %{model} found"},"single_page_html":{"other":"Displaying all %{count} %{model}","one":"Displaying 1 %{model}","zero":"No %{model} found"}},"next_label":"Next →","page_gap":"…","models":{"child":{"other":"children","one":"child"},"report":{"other":"reports","one":"report"}}},"phone":"Phone","date":{"month_names":[null,"January","February","March","April","May","June","July","August","September","October","November","December"],"abbr_day_names":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"abbr_month_names":[null,"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"formats":{"short":"%b %d","long":"%B %d, %Y","default":"%Y-%m-%d"},"order":["year","month","day"],"day_names":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"]},"advanced_search":{"updated_by":"Updated by (User) :","created_by_org":"Created By (Organisation) :","before":"Before :","after":"After :","date_created":"Date Created :","date_updated":"Date Updated :","records_found":{"other":"%{count} records found","one":"1 record found"},"instruction":"Separate words by OR to search for more than one option eg. Tim OR Rahul","date_instruction":"Enter a date (yyyy-mm-dd) in the first box to search records created or updated after that date. Enter a date (yyyy-mm-dd) in the second box to see records created or updated before that date. Enter dates in both boxes to see records created between the dates.","created_by":"Created by (User) :","select_a_criteria":"Select A Criteria"},"form_section":{"label":"Form Section","back":"Back To Forms Page","manage":"Manage Form Sections","messages":{"updated":"Form section successfully added","drag_drop_help_text":"You can click on the fields to drag & drop on the required order.","hide_confirmation":"Are you sure you want to hide fields?","cannot_create":"Form section could not be created","order_saved":"Order is successfully saved.","show_confirmation":"Are you sure you want to show fields?","correct_errors":"Please correct the following errors and resubmit:"},"edit":"Edit Form Sections","ordering":"Ordering","options":"Options","buttons":{"add":"Add"},"actions":{"save_order":"Save Order","add_custom_field":"Add Custom Field"},"show":"Show","details":"Form details","create":"Create New Form Section","visibility":"Visibility","hide":"Hide"},"admin":{"contact_info":"Admin Contact Information","manage_system_users":"Manage Server Synchronisation Users","highlight_fields":"Highlight Fields","create_system_user":"Create a System User"},"report":{"type":"Type","heading":"RapidFTR Reports","types":{"weekly_report":"Weekly Report"},"as_of_date":"As of Date","download":"Download"},"device":{"timestamp":"Timestamp","messages":{"disable":"Are you sure you want to disable this device?","blacklist":"Do you want to add this device to blacklist?","remove_blacklist":"Do you want to remove this device from blacklist?"},"mobile_number":"Mobile Number","blacklist":"Blacklist Device","information":"Device Information"},"cancel":"Cancel","role":{"name":"Name","edit":"Edit Role","error_in_updating":"Error in updating the Role details.","create":"Create Role","successfully_updated":"Role details are successfully updated."},"header":{"contact":"Contact & Help","system_settings":"System settings","welcome":"Welcome","logout":"Logout","my_account":"My Account"},"home":{"records_need_attention":"Records need Attention","label":"Home","view_records":"View Records","ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","zh":"\u4e2d\u6587","fr":"Fran\u00e7ais","current_time_zone":"Current time zone","language":"Language","manage_system_users":"Manage Server Synchronisation Users","welcome":"Welcome to RapidFTR","es":"Espa\u00f1ol","en":"English"},"buttons":{"back":"Back","reunite":"Reunite","change_password":"Change Password","edit":"Edit","delete":"Delete","login":"Log in","save":"Save","enable_photo_wall":"Enable photo wall","disable_photo_wall":"Disable photo wall"},"description":"Description","form":"Form"},"es":{"home":{"ar":"\u0627\u0644\u0639\u0631\u0628\u064a\u0629","ru":"\u0420\u0443\u0441\u0441\u043a\u0438\u0439","zh":"\u4e2d\u6587","fr":"Fran\u00e7ais","es":"Espa\u00f1ol","en":"English"}}}; \ No newline at end of file diff --git a/spec/controllers/advanced_search_controller_spec.rb b/spec/controllers/advanced_search_controller_spec.rb index 57c08d30d..b1efe9e8a 100644 --- a/spec/controllers/advanced_search_controller_spec.rb +++ b/spec/controllers/advanced_search_controller_spec.rb @@ -141,7 +141,6 @@ def stub_out_export_generator child_data = [] end context 'constructor' do - let(:controller) { AdvancedSearchController.new } it "should say child fields have been selected" do @@ -151,67 +150,54 @@ def stub_out_export_generator child_data = [] it "should say child fields have NOT been selected" do controller.child_fields_selected?({"0" => {"field" => "", "value" => "", "index" => "0"}}).should == false end - end describe "export data" do - it "asks the pdf generator to render each child as a PDF" do - Clock.stub!(:now).and_return(Time.parse("Jan 01 2000 20:15").utc) - controller.stub :authorize! - controller.stub! :render - children = [:fake_child_one, :fake_child_two] - Child.stub(:get).and_return(:fake_child_one, :fake_child_two) - - inject_export_generator( mock_export_generator = mock(ExportGenerator), children ) - mock_export_generator.should_receive(:to_full_pdf).and_return('') - - post :export_data,{:selections =>{'0' => 'child_1','1' => 'child_2'},:commit => "Export to PDF"} + before :each do + @child1 = build :child + @child2 = build :child + controller.stub! :authorize! => true, :render => true end - it "asks the pdf generator to render each child as a Photo Wall" do - Clock.stub!(:now).and_return(Time.parse("Jan 01 2000 20:15").utc) - controller.stub :authorize! - controller.stub! :render - children = [:fake_one, :fake_two] - inject_export_generator( mock_export_generator = mock(ExportGenerator), children ) - Child.stub(:get).and_return(*children ) - - mock_export_generator.should_receive(:to_photowall_pdf).and_return('') - - post :export_data,{:selections =>{'0' => 'child_1','1' => 'child_2'},:commit => "Export to Photo Wall"} + it "should handle full PDF" do + Addons::PdfExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + post :export_data, { :selections => { '0' => @child1.id, '1' => @child2.id }, :commit => "Export Selected to PDF" } end - end - - describe "GET photo_pdf" do - it 'extracts multiple selected ids from post params in correct order' do - stub_export_generator = stub_out_export_generator [nil, nil, nil] - controller.stub(:authorize!) - Child.should_receive(:get).with('child_zero').ordered - Child.should_receive(:get).with('child_one').ordered - Child.should_receive(:get).with('child_two').ordered - stub_export_generator.stub!(:to_photowall_pdf).and_return(:fake_pdf_data) - - controller.stub!(:render) #to avoid looking for a template + it "should handle Photowall PDF" do + Addons::PhotowallExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + post :export_data, { :selections => { '0' => @child1.id, '1' => @child2.id }, :commit => "Export Selected to Photo Wall" } + end - post :export_data, :selections =>{'2' => 'child_two','0' => 'child_zero','1' => 'child_one'}, :commit => "Export to Photo Wall" + it "should handle CSV" do + Addons::CsvExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + post :export_data, { :selections => { '0' => @child1.id, '1' => @child2.id }, :commit => "Export Selected to CSV" } end - it "sends a response containing the pdf data, the correct content_type and file name, etc" do - fake_admin_login + it "should handle custom export addon" do + mock_addon = double() + mock_addon_class = double(:new => mock_addon, :id => "mock") + RapidftrAddon::ExportTask.stub! :active => [ mock_addon_class ] + controller.stub(:t).with("addons.export_task.mock.selected").and_return("Export Selected to Mock") + mock_addon.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + post :export_data, { :selections => { '0' => @child1.id, '1' => @child2.id }, :commit => "Export Selected to Mock" } + end - Clock.stub!(:now).and_return(Time.utc(2000, 1, 1, 20, 15)) - stubbed_child = stub_out_child_get - stub_export_generator = stub_out_export_generator [stubbed_child] #this is getting a bit farcical now - stub_export_generator.stub!(:to_photowall_pdf).and_return(:fake_pdf_data) + it "should encrypt result" do + Addons::CsvExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + controller.should_receive(:export_filename).with([ @child1, @child2 ], Addons::CsvExportTask).and_return("test_filename") + controller.should_receive(:encrypt_exported_files).with('data', 'test_filename').and_return(true) + post :export_data, { :selections => { '0' => @child1.id, '1' => @child2.id }, :commit => "Export Selected to CSV" } + end - controller.stub! :render - controller.should_receive(:send_pdf).with( :fake_pdf_data, "fakeadmin-20000101-2015.pdf").and_return(true) + it "should generate filename based on child ID and addon ID when there is only one child" do + @child1.stub! :short_id => 'test_short_id' + controller.send(:export_filename, [ @child1 ], Addons::PhotowallExportTask).should == "test_short_id_photowall.zip" + end - post( :export_data, :selections => {'0' => 'ignored'}, :commit => "Export to Photo Wall" ) + it "should generate filename based on username and addon ID when there are multiple children" do + controller.stub! :current_user_name => 'test_user' + controller.send(:export_filename, [ @child1, @child2 ], Addons::PdfExportTask).should == "test_user_pdf.zip" end end - - - -end \ No newline at end of file +end diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index fc3f72559..8723a5fc2 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -52,45 +52,52 @@ end end - describe '#send_encrypted_file' do - it 'should send encrypted zip with password' do - filename = "test_file.pdf" - content = "TEST CONTENT" - password = "test_password" + describe '#encrypt_exported_files' do + before :each do + controller.params[:password] = 'test_password' + end + + it 'should send encrypted zip with one file' do + files = [ RapidftrAddon::ExportTask::Result.new("/1/2/3/file_1.pdf", "content 1") ] controller.should_receive(:send_file) do |file, opts| Zip::Archive.open(file) do |ar| - ar.decrypt password - ar.fopen(filename) do |f| - f.read.should == content + ar.num_files.should == 1 + ar.decrypt 'test_password' + ar.fopen("file_1.pdf") do |f| + f.read.should == "content 1" end end end - UUIDTools::UUID.stub! :random_create => "encrypt_spec" - controller.params[:password] = password - controller.send(:send_encrypted_file, content, :filename => filename) + controller.send(:encrypt_exported_files, files, nil) end - it 'should save data to tmp folder' do - CleanupEncryptedFiles.stub! :dir_name => 'test_dir_name' - FileUtils.should_receive(:mkdir_p).with('test_dir_name').and_return(true) - filename = controller.send :generate_encrypted_filename - filename.should start_with 'test_dir_name' - end + it 'should send encrypted zip with multiple files' do + files = [ RapidftrAddon::ExportTask::Result.new("/1/2/3/file_1.pdf", "content 1"), RapidftrAddon::ExportTask::Result.new("file_2.xls", "content 2") ] - it '#send_csv should use #send_encrypted_file' do - data = double() - args = double() - controller.should_receive(:send_encrypted_file).with(data, args).and_return(true) - controller.send :send_csv, data, args + controller.should_receive(:send_file) do |file, opts| + Zip::Archive.open(file) do |ar| + ar.num_files.should == 2 + ar.decrypt 'test_password' + ar.fopen("file_1.pdf") do |f| + f.read.should == "content 1" + end + ar.fopen("file_2.xls") do |f| + f.read.should == "content 2" + end + end + end + + controller.send(:encrypt_exported_files, files, nil) end - it '#send_pdf should use #send_encrypted_file' do - data = double() - filename = "test_file" - controller.should_receive(:send_encrypted_file).with(data, hash_including({:filename => filename})).and_return(true) - controller.send :send_pdf, data, filename + it 'should send proper filename to the browser' do + CleansingTmpDir.stub! :temp_file_name => 'encrypted_file' + Zip::Archive.stub! :open => true + + controller.should_receive(:send_file).with('encrypted_file', hash_including(:filename => 'test_filename.zip', :type => 'application/zip', :disposition => "inline")) + controller.encrypt_exported_files [], 'test_filename.zip' end end diff --git a/spec/controllers/children_controller_spec.rb b/spec/controllers/children_controller_spec.rb index 08d514b4e..e087fde5e 100644 --- a/spec/controllers/children_controller_spec.rb +++ b/spec/controllers/children_controller_spec.rb @@ -96,18 +96,13 @@ def mock_child(stubs={}) response.should render_template("#{Rails.root}/public/403.html") end - it "GET export_photo_to_pdf" do - @controller.current_ability.should_receive(:can?).with(:export, Child).and_return(false); - get :export_photo_to_pdf, :id => @child.id - response.should render_template("#{Rails.root}/public/403.html") - end - it "DELETE destroy" do @controller.current_ability.should_receive(:can?).with(:destroy, @child_arg).and_return(false); delete :destroy, :id => @child.id response.should render_template("#{Rails.root}/public/403.html") end end + end describe "GET index" do @@ -482,7 +477,6 @@ def mock_child(stubs={}) end describe "GET search" do - it "should not render error by default" do get(:search, :format => 'html') assigns[:search].should be_nil @@ -510,7 +504,6 @@ def mock_child(stubs={}) assigns[:results].should == fake_results end - describe "with no results" do before do Summary.stub!(:basic_search).and_return([]) @@ -526,23 +519,8 @@ def mock_child(stubs={}) end end - - it 'sends csv data with the correct attributes' do - Child.stub!(:search).and_return([[]]) - controller.stub(:authorize!) - export_generator = stub(ExportGenerator) - inject_export_generator(export_generator, []) - - export_generator.should_receive(:to_csv).and_return(ExportGenerator::Export.new(:csv_data, {:foo=>:bar})) - @controller.stub!(:render) #to avoid looking for a template - @controller. - should_receive(:send_csv). - with( :csv_data, {:foo=>:bar} ). - and_return{controller.render :nothing => true} - - get(:search, :format => 'csv', :query => 'blah') - end end + describe "searching as field worker" do before :each do @session = fake_field_worker_login @@ -560,29 +538,78 @@ def mock_child(stubs={}) end end + it 'should export children using #respond_to_export' do + child1 = build :child + child2 = build :child + controller.stub! :paginated_collection => [ child1, child2 ], :render => true + controller.should_receive(:YAY).and_return(true) + + controller.should_receive(:respond_to_export) { |format, children| + format.mock { controller.send :YAY } + children.should == [ child1, child2 ] + } + + get :index, :format => :mock + end + + it 'should export child using #respond_to_export' do + child = build :child + controller.stub! :render => true + controller.should_receive(:YAY).and_return(true) - describe "GET export_photo_to_pdf" do + controller.should_receive(:respond_to_export) { |format, children| + format.mock { controller.send :YAY } + children.should == [ child ] + } - before do - user = User.new(:user_name => "some-name") - user.stub!(:time_zone).and_return TZInfo::Timezone.get("US/Samoa") - user.stub!(:roles).and_return([Role.new(:permissions => [Permission::CHILDREN[:view_and_search], Permission::CHILDREN[:export]])]) - fake_login user - Clock.stub!(:now).and_return(Time.utc(2000, 1, 1, 20, 15)) + get :show, :id => child.id, :format => :mock + end + + describe '#respond_to_export' do + before :each do + @child1 = build :child + @child2 = build :child + controller.stub! :paginated_collection => [ @child1, @child2 ], :render => true + end + + it "should handle full PDF" do + Addons::PdfExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + get :index, :format => :pdf end - it "should return the photo wall pdf for selected child" do - Child.should_receive(:get).with('1').and_return(stub_child = stub('child', :short_id => '1', :class => Child)) + it "should handle Photowall PDF" do + Addons::PhotowallExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + get :index, :format => :photowall + end - ExportGenerator.should_receive(:new).and_return(export_generator = mock('export_generator')) - export_generator.should_receive(:to_photowall_pdf).and_return(:fake_pdf_data) + it "should handle CSV" do + Addons::CsvExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + get :index, :format => :csv + end - @controller. - should_receive(:send_pdf). - with(:fake_pdf_data, '1-20000101-0915.pdf'). - and_return{controller.render :nothing => true} + it "should handle custom export addon" do + mock_addon = double() + mock_addon_class = double(:new => mock_addon, :id => "mock") + RapidftrAddon::ExportTask.stub! :active => [ mock_addon_class ] + mock_addon.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + get :index, :format => :mock + end - get :export_photo_to_pdf, :id => '1' + it "should encrypt result" do + Addons::CsvExportTask.any_instance.should_receive(:export).with([ @child1, @child2 ]).and_return('data') + controller.should_receive(:export_filename).with([ @child1, @child2 ], Addons::CsvExportTask).and_return("test_filename") + controller.should_receive(:encrypt_exported_files).with('data', 'test_filename').and_return(true) + get :index, :format => :csv + end + + it "should generate filename based on child ID and addon ID when there is only one child" do + @child1.stub! :short_id => 'test_short_id' + controller.send(:export_filename, [ @child1 ], Addons::PhotowallExportTask).should == "test_short_id_photowall.zip" + end + + it "should generate filename based on username and addon ID when there are multiple children" do + controller.stub! :current_user_name => 'test_user' + controller.send(:export_filename, [ @child1, @child2 ], Addons::PdfExportTask).should == "test_user_pdf.zip" end end @@ -680,5 +707,4 @@ def mock_child(stubs={}) end end - end - end +end diff --git a/spec/factories.rb b/spec/factories.rb index f8e998789..271c515d1 100644 --- a/spec/factories.rb +++ b/spec/factories.rb @@ -1,21 +1,25 @@ require 'factory_girl' FactoryGirl.define do - factory :child do + trait :model do ignore do sequence(:counter, 1000000) end + _id { "id-#{counter}" } + end + + factory :child, :traits => [ :model ] do unique_identifier { counter.to_s } name { "Test Child #{counter}" } + created_by { "test_user" } after_build do |child, factory| - child["_id"] ||= UUIDTools::UUID.random_create.to_s Child.stub(:get).with(child.id).and_return(child) end end - factory :replication do + factory :replication, :traits => [ :model ] do description 'Sample Replication' remote_app_url 'app:1234' username 'test_user' @@ -41,8 +45,8 @@ new_password_confirmation "confirm_new_password" end - factory :user do - user_name { "user_name_#{rand(10000)}" } + factory :user, :traits => [ :model ] do + user_name { "user_name_#{counter}" } full_name 'full name' password 'password' password_confirmation 'password' @@ -53,13 +57,13 @@ role_ids ['random_role_id'] end - factory :role do - name { "test_role_#{rand(10000)}" } + factory :role, :traits => [ :model ] do + name { "test_role_#{counter}" } description "test description" permissions { Permission.all_permissions } end - factory :report do + factory :report, :traits => [ :model ] do ignore do filename "test_report.csv" content_type "text/csv" diff --git a/spec/lib/addons/csv_export_task_spec.rb b/spec/lib/addons/csv_export_task_spec.rb new file mode 100644 index 000000000..701b062b6 --- /dev/null +++ b/spec/lib/addons/csv_export_task_spec.rb @@ -0,0 +1,37 @@ +require 'spec_helper' + +module Addons + describe CsvExportTask do + before :each do + CsvExportTask.stub! :enabled? => true + @task = CsvExportTask.new + end + + it 'should be an ExportTask addon' do + RapidftrAddon::ExportTask.active.should include CsvExportTask + end + + it 'should have proper id' do + RapidftrAddon::ExportTask.find_by_id(:csv).should == CsvExportTask + end + + it 'should delegate to ExportGenerator' do + children, generator, result = double, double, double + ExportGenerator.should_receive(:new).with(children).and_return(generator) + generator.should_receive(:to_csv).and_return(result) + result.should_receive(:data).and_return('dummy data') + + @task.generate_data(children).should == 'dummy data' + end + + it 'should generate filename for one child' do + child = build :child, :unique_identifier => "test-id" + @task.generate_filename([ child ]).should == 'test-id.csv' + end + + it 'should generate filename for multiple children' do + child = build :child, :unique_identifier => "test-id" + @task.generate_filename([child, child]).should == 'full_data.csv' + end + end +end diff --git a/spec/lib/addons/pdf_export_task_spec.rb b/spec/lib/addons/pdf_export_task_spec.rb new file mode 100644 index 000000000..0b849f974 --- /dev/null +++ b/spec/lib/addons/pdf_export_task_spec.rb @@ -0,0 +1,36 @@ +require 'spec_helper' + +module Addons + describe PdfExportTask do + before :each do + PdfExportTask.stub! :enabled? => true + @task = PdfExportTask.new + end + + it 'should be an ExportTask addon' do + RapidftrAddon::ExportTask.active.should include PdfExportTask + end + + it 'should have proper id' do + RapidftrAddon::ExportTask.find_by_id(:pdf).should == PdfExportTask + end + + it 'should delegate to ExportGenerator' do + children, generator = double, double + ExportGenerator.should_receive(:new).with(children).and_return(generator) + generator.should_receive(:to_full_pdf).and_return('dummy data') + + @task.generate_data(children).should == 'dummy data' + end + + it 'should generate filename for one child' do + child = build :child, :unique_identifier => "test-id" + @task.generate_filename([ child ]).should == 'test-id.pdf' + end + + it 'should generate filename for multiple children' do + child = build :child, :unique_identifier => "test-id" + @task.generate_filename([child, child]).should == 'full_data.pdf' + end + end +end diff --git a/spec/lib/addons/photowall_export_task_spec.rb b/spec/lib/addons/photowall_export_task_spec.rb new file mode 100644 index 000000000..34dc70569 --- /dev/null +++ b/spec/lib/addons/photowall_export_task_spec.rb @@ -0,0 +1,36 @@ +require 'spec_helper' + +module Addons + describe PhotowallExportTask do + before :each do + PhotowallExportTask.stub! :enabled? => true + @task = PhotowallExportTask.new + end + + it 'should be an ExportTask addon' do + RapidftrAddon::ExportTask.active.should include PhotowallExportTask + end + + it 'should have proper id' do + RapidftrAddon::ExportTask.find_by_id(:photowall).should == PhotowallExportTask + end + + it 'should delegate to ExportGenerator' do + children, generator = double, double + ExportGenerator.should_receive(:new).with(children).and_return(generator) + generator.should_receive(:to_photowall_pdf).and_return('dummy data') + + @task.generate_data(children).should == 'dummy data' + end + + it 'should generate filename for one child' do + child = build :child, :unique_identifier => "test-id" + @task.generate_filename([ child ]).should == 'test-id.pdf' + end + + it 'should generate filename for multiple children' do + child = build :child, :unique_identifier => "test-id" + @task.generate_filename([child, child]).should == 'photowall.pdf' + end + end +end diff --git a/spec/lib/cleansing_tmp_dir_spec.rb b/spec/lib/cleansing_tmp_dir_spec.rb new file mode 100644 index 000000000..8e2d732a0 --- /dev/null +++ b/spec/lib/cleansing_tmp_dir_spec.rb @@ -0,0 +1,32 @@ +require 'spec_helper' + +describe CleansingTmpDir do + it 'should cleanup every 30 minutes' do + scheduler = double() + scheduler.should_receive(:every).with("30m").and_yield() + + CleansingTmpDir.should_receive(:cleanup!).and_return(true) + CleansingTmpDir.schedule scheduler + end + + it 'should cleanup files older than 10 minutes' do + CleansingTmpDir.stub! :dir_name => 'test_dir' + Dir.should_receive(:glob).with('test_dir/*').and_yield("test_file_1.zip").and_yield("test_file_2.xls") + File.should_receive(:mtime).with('test_file_1.zip').and_return(9.minutes.ago) + File.should_receive(:mtime).with('test_file_2.xls').and_return(11.minutes.ago) + File.should_receive(:delete).with('test_file_2.xls') + CleansingTmpDir.cleanup! + end + + it 'should try to create directory' do + CleansingTmpDir.stub! :dir_name => 'test_dir' + FileUtils.should_receive(:mkdir_p).with('test_dir').and_return(true) + CleansingTmpDir.dir.should == 'test_dir' + end + + it 'should generate temporary file name' do + CleansingTmpDir.stub! :dir => 'test_dir' + UUIDTools::UUID.stub! :timestamp_create => 'test_filename' + CleansingTmpDir.temp_file_name.should == 'test_dir/test_filename' + end +end \ No newline at end of file diff --git a/spec/lib/cleanup_encrypted_files_spec.rb b/spec/lib/cleanup_encrypted_files_spec.rb deleted file mode 100644 index 0821aa3f2..000000000 --- a/spec/lib/cleanup_encrypted_files_spec.rb +++ /dev/null @@ -1,20 +0,0 @@ -require 'spec_helper' - -describe CleanupEncryptedFiles do - it 'should cleanup every 30 minutes' do - scheduler = double() - scheduler.should_receive(:every).with("30m").and_yield() - - CleanupEncryptedFiles.should_receive(:cleanup!).and_return(true) - CleanupEncryptedFiles.schedule scheduler - end - - it 'should cleanup files older than 10 minutes' do - CleanupEncryptedFiles.stub! :dir_name => 'test_dir' - Dir.should_receive(:glob).with('test_dir/*.zip').and_yield("test_file_1.zip").and_yield("test_file_2.zip") - File.should_receive(:mtime).with('test_file_1.zip').and_return(9.minutes.ago) - File.should_receive(:mtime).with('test_file_2.zip').and_return(11.minutes.ago) - File.should_receive(:delete).with('test_file_2.zip') - CleanupEncryptedFiles.cleanup! - end -end diff --git a/spec/models/migration_spec.rb b/spec/models/migration_spec.rb index 1009472c9..9152f8479 100644 --- a/spec/models/migration_spec.rb +++ b/spec/models/migration_spec.rb @@ -6,7 +6,7 @@ end it 'should list all migrations' do - Dir.should_receive(:[]).with(Migration.migration_dir.join "*.rb").and_return([ "04_migration.rb", "02_migration.rb" ]) + Dir.should_receive(:[]).with(Migration.migration_dir.join "*.rb").and_return([ "/1/2/04_migration.rb", "/1/2/02_migration.rb" ]) Migration.all_migrations.should == [ "02_migration.rb", "04_migration.rb" ] end @@ -22,7 +22,7 @@ end it 'should apply only pending migrations' do - Migration.stub! :applied_migrations => [], :pending_migrations => [1, 2, 3] + Migration.stub! :applied_migrations => [], :pending_migrations => [1, 2, 3], :puts => true Migration.should_receive(:apply_migration).with(1).ordered Migration.should_receive(:apply_migration).with(2).ordered Migration.should_receive(:apply_migration).with(3).ordered @@ -34,4 +34,4 @@ Migration.database.should_receive(:save_doc).with(:name => "one") Migration.apply_migration("one") end -end \ No newline at end of file +end diff --git a/spec/models/role_spec.rb b/spec/models/role_spec.rb index 1ceb23267..a0dcb7c07 100644 --- a/spec/models/role_spec.rb +++ b/spec/models/role_spec.rb @@ -44,7 +44,7 @@ end it "should generate id" do - role = create :role, :name => 'test role 123' + role = create :role, :name => 'test role 123', :_id => nil role.id.should == "role-test-role-123" end end diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index 474ce406d..59c4215ff 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -62,7 +62,7 @@ def build_and_save_user(options = {}) end it "should generate id" do - user = create :user, :user_name => 'test_user_123' + user = create :user, :user_name => 'test_user_123', :_id => nil user.id.should == "user-test-user-123" end end diff --git a/spec/routing/children_routing_spec.rb b/spec/routing/children_routing_spec.rb index fd24fe36d..5de14fcf8 100644 --- a/spec/routing/children_routing_spec.rb +++ b/spec/routing/children_routing_spec.rb @@ -34,16 +34,8 @@ { :get => '/children/search' }.should route_to(:controller => 'children', :action => 'search') end - it 'handles a multi-child photo pdf request' do - { :post => 'children/export_photos_to_pdf' }.should route_to( :controller => 'children', :action => 'export_photos_to_pdf' ) - end - it 'handles a multi-child export request' do { :post => 'advanced_search/export_data' }.should route_to( :controller => 'advanced_search', :action => 'export_data' ) end - - it 'recognizes and generates export_photo_to_pdf for child' do - {:get => 'children/1/export_photo_to_pdf'}.should route_to(:controller => 'children', :action => 'export_photo_to_pdf', :id => '1') - end end end diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb index 669f3d72f..9f7e78209 100644 --- a/spec/spec_helper.rb +++ b/spec/spec_helper.rb @@ -11,6 +11,7 @@ # This clears couchdb between tests. CouchRestRails::Tests.setup FactoryGirl.find_definitions +Mime::Type.register 'application/zip', :mock RSpec.configure do |config| diff --git a/spec/views/child/_header.html.erb_spec.rb b/spec/views/child/_header.html.erb_spec.rb index 7f750c5ea..905bfcfa9 100644 --- a/spec/views/child/_header.html.erb_spec.rb +++ b/spec/views/child/_header.html.erb_spec.rb @@ -39,15 +39,6 @@ end end - describe "export some records to CSV" do - before :each do - @url = new_advanced_search_path - end - - it_should_behave_like "not show links", [] - it_should_behave_like "show links", [Permission::CHILDREN[:export]] - end - describe "export all records to CSV" do before :each do @url = children_path(:format => :csv) diff --git a/spec/views/child/search.html.erb_spec.rb b/spec/views/child/search.html.erb_spec.rb index 73aa3296e..223f0faff 100644 --- a/spec/views/child/search.html.erb_spec.rb +++ b/spec/views/child/search.html.erb_spec.rb @@ -89,14 +89,14 @@ it "should have a button to export to pdf" do render - export_to_photo_wall = Hpricot(rendered).submit_for("Export to PDF") + export_to_photo_wall = Hpricot(rendered).submit_for("Export Selected to PDF") export_to_photo_wall.size.should_not == 0 end it "should have a button to export to photo wall" do render - export_to_photo_wall = Hpricot(rendered).submit_for("Export to Photo Wall") + export_to_photo_wall = Hpricot(rendered).submit_for("Export Selected to Photo Wall") export_to_photo_wall.size.should_not == 0 end diff --git a/spec/views/child/show.html.erb_spec.rb b/spec/views/child/show.html.erb_spec.rb index 93bea5861..b2c2278b3 100644 --- a/spec/views/child/show.html.erb_spec.rb +++ b/spec/views/child/show.html.erb_spec.rb @@ -124,15 +124,17 @@ class Schema; end it "should not show links to export when user doesn't have appropriate permissions" do - @user.stub!(:has_permission?).with(:export, Child).and_return(false) + link = child_path @child, :format => :csv + @user.stub!(:has_permission?).with(Permission::CHILDREN[:export]).and_return(false) render - rendered.should have_tag("a[href='#{child_path(@child,:format => :csv)}']") + rendered.should_not have_link "Export to CSV", link end it "should show links to export when user has appropriate permissions" do - @user.stub!(:has_permission?).with(:export, Child).and_return(true) + link = child_path @child, :format => :csv, :per_page => :all + @user.stub!(:has_permission?).with(Permission::CHILDREN[:export]).and_return(true) render - rendered.should have_tag("a[href='#{child_path(@child,:format => :csv)}']") + rendered.should have_link "Export to CSV", link end end