diff --git a/app/controllers/contexts_controller.rb b/app/controllers/contexts_controller.rb
index cf46a942..7d8a14ea 100644
--- a/app/controllers/contexts_controller.rb
+++ b/app/controllers/contexts_controller.rb
@@ -11,7 +11,7 @@ class ContextsController < ApplicationController
def index
# #true is passed here to force an immediate load so that size and empty?
# checks later don't result in separate SQL queries
- @active_contexts = current_user.contexts.active(true)
+ @active_contexts = current_user.contexts.active(true)
@hidden_contexts = current_user.contexts.hidden(true)
@new_context = current_user.contexts.build
@@ -34,7 +34,7 @@ class ContextsController < ApplicationController
format.autocomplete { render :text => for_autocomplete(@active_contexts + @hidden_contexts, params[:term])}
end
end
-
+
def show
@contexts = current_user.contexts(true)
if @context.nil?
@@ -51,7 +51,7 @@ class ContextsController < ApplicationController
end
end
end
-
+
# Example XML usage: curl -H 'Accept: application/xml' -H 'Content-Type:
# application/xml'
# -u username:password
@@ -86,14 +86,14 @@ class ContextsController < ApplicationController
end
end
end
-
+
# Edit the details of the context
#
def update
params['context'] ||= {}
success_text = if params['field'] == 'name' && params['value']
- params['context']['id'] = params['id']
- params['context']['name'] = params['value']
+ params['context']['id'] = params['id']
+ params['context']['name'] = params['value']
end
@original_context_hidden = @context.hidden?
@@ -110,7 +110,7 @@ class ContextsController < ApplicationController
end
# TODO is this param ever used? is this dead code?
-
+
elsif boolean_param('update_context_name')
@contexts = current_user.projects
render :template => 'contexts/update_context_name.js.rjs'
@@ -120,10 +120,10 @@ class ContextsController < ApplicationController
end
else
respond_to do |format|
- format.js
+ format.js
format.xml {
if @saved
- render :xml => @context.to_xml( :except => :user_id )
+ render :xml => @context.to_xml( :except => :user_id )
else
render :text => "Error on update: #{@context.errors.full_messages.inject("") {|v, e| v + e + " " }}", :status => 409
end
@@ -145,7 +145,7 @@ class ContextsController < ApplicationController
def destroy
# make sure the deleted recurring patterns are removed from associated todos
@context.recurring_todos.each { |rt| rt.clear_todos_association } unless @context.recurring_todos.nil?
-
+
@context.destroy
respond_to do |format|
format.js do
@@ -166,26 +166,28 @@ class ContextsController < ApplicationController
notify :error, $!
redirect_to :action => 'index'
end
-
+
def done_todos
@source_view = 'context'
- @page_title = t('context.completed_tasks_title')
-
- completed_todos = current_user.contexts.find(params[:id]).todos.completed
+ @context = current_user.contexts.find(params[:id])
+ @page_title = t('contexts.completed_tasks_title', :context_name => @context.name)
+
+ completed_todos = @context.todos.completed
@done_today = get_done_today(completed_todos)
@done_this_week = get_done_this_week(completed_todos)
@done_this_month = get_done_this_month(completed_todos)
@count = @done_today.size + @done_this_week.size + @done_this_month.size
-
+
render :template => 'todos/done'
end
-
+
def all_done_todos
@source_view = 'context'
- @page_title = t('context.completed_tasks_title')
+ @context = current_user.contexts.find(params[:id])
+ @page_title = t('contexts.all_completed_tasks_title', :context_name => @context.name)
- @done = current_user.contexts.find(params[:id]).todos.completed.paginate :page => params[:page], :per_page => 20, :order => 'completed_at DESC', :include => Todo::DEFAULT_INCLUDES
+ @done = @context.todos.completed.paginate :page => params[:page], :per_page => 20, :order => 'completed_at DESC', :include => Todo::DEFAULT_INCLUDES
@count = @done.size
render :template => 'todos/all_done'
end
@@ -209,23 +211,23 @@ class ContextsController < ApplicationController
render
end
end
-
+
def render_contexts_mobile
lambda do
@page_title = "TRACKS::List Contexts"
@active_contexts = current_user.contexts.active
@hidden_contexts = current_user.contexts.hidden
- @down_count = @active_contexts.size + @hidden_contexts.size
+ @down_count = @active_contexts.size + @hidden_contexts.size
cookies[:mobile_url]= {:value => request.request_uri, :secure => SITE_CONFIG['secure_cookies']}
render :action => 'index_mobile'
end
end
-
+
def render_context_mobile
lambda do
@page_title = "TRACKS::List actions in "+@context.name
- @not_done = @not_done_todos.select {|t| t.context_id == @context.id }
- @down_count = @not_done.size
+ @not_done = @not_done_todos.select {|t| t.context_id == @context.id }
+ @down_count = @not_done.size
cookies[:mobile_url]= {:value => request.request_uri, :secure => SITE_CONFIG['secure_cookies']}
@mobile_from_context = @context.id
render :action => 'mobile_show_context'
@@ -246,7 +248,7 @@ class ContextsController < ApplicationController
:author => lambda { |c| nil } }
end
end
-
+
def feed_options
Context.feed_options(current_user)
end
@@ -256,7 +258,7 @@ class ContextsController < ApplicationController
rescue
@context = nil
end
-
+
def init
@source_view = params['_source_view'] || 'context'
init_data_for_sidebar
@@ -270,13 +272,13 @@ class ContextsController < ApplicationController
end
@max_completed = current_user.prefs.show_number_completed
-
+
# @not_done_todos = @context.not_done_todos TODO: Temporarily doing this
# search manually until I can work out a way to do the same thing using
# not_done_todos acts_as_todo_container method Hides actions in hidden
# projects from context.
@not_done_todos = @context.todos.active(
- :order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC",
+ :order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC",
:include => Todo::DEFAULT_INCLUDES)
@projects = current_user.projects
diff --git a/app/controllers/projects_controller.rb b/app/controllers/projects_controller.rb
index a81d72ad..5f681aa4 100644
--- a/app/controllers/projects_controller.rb
+++ b/app/controllers/projects_controller.rb
@@ -12,7 +12,7 @@ class ProjectsController < ApplicationController
@new_project = current_user.projects.build
if params[:projects_and_actions]
projects_and_actions
- else
+ else
@contexts = current_user.contexts.all
init_not_done_counts(['project'])
init_project_hidden_todo_counts(['project'])
@@ -32,18 +32,18 @@ class ProjectsController < ApplicationController
end
end
end
-
+
def done
@source_view = params['_source_view'] || 'project_list'
@page_title = t('projects.list_completed_projects')
-
+
page = params[:page] || 1
projects_per_page = 20
@projects = current_user.projects.completed.paginate :page => page, :per_page => projects_per_page
@count = @projects.count
@total = current_user.projects.completed.count
@no_projects = @projects.empty?
-
+
@range_low = (page.to_i-1) * projects_per_page + 1
@range_high = @range_low + @projects.size - 1
@@ -54,7 +54,7 @@ class ProjectsController < ApplicationController
def projects_and_actions
@projects = current_user.projects.active
respond_to do |format|
- format.text {
+ format.text {
render :action => 'index_text_projects_and_actions', :layout => false, :content_type => Mime::TEXT
}
end
@@ -64,7 +64,7 @@ class ProjectsController < ApplicationController
@max_completed = current_user.prefs.show_number_completed
init_data_for_sidebar unless mobile?
@page_title = t('projects.page_title', :project => @project.name)
-
+
@not_done = @project.todos.active_or_hidden(:include => Todo::DEFAULT_INCLUDES)
@deferred = @project.todos.deferred(:include => Todo::DEFAULT_INCLUDES)
@pending = @project.todos.pending(:include => Todo::DEFAULT_INCLUDES)
@@ -85,7 +85,7 @@ class ProjectsController < ApplicationController
format.xml { render :xml => @project.to_xml( :except => :user_id ) }
end
end
-
+
# Example XML usage: curl -H 'Accept: application/xml' -H 'Content-Type:
# application/xml'
# -u username:password
@@ -138,8 +138,8 @@ class ProjectsController < ApplicationController
params['project'].delete('state')
end
success_text = if params['field'] == 'name' && params['value']
- params['project']['id'] = params['id']
- params['project']['name'] = params['value']
+ params['project']['id'] = params['id']
+ params['project']['name'] = params['value']
end
@project.attributes = params['project']
@@ -165,7 +165,7 @@ class ProjectsController < ApplicationController
elsif boolean_param('update_status')
template = 'projects/update_status.js.rjs'
elsif boolean_param('update_default_context')
- @initial_context_name = @project.default_context.name
+ @initial_context_name = @project.default_context.name
template = 'projects/update_default_context.js.rjs'
elsif boolean_param('update_default_tags')
template = 'projects/update_default_tags.js.rjs'
@@ -184,23 +184,23 @@ class ProjectsController < ApplicationController
respond_to do |format|
format.js { render :template => template }
format.html { redirect_to :action => 'index'}
- format.xml {
+ format.xml {
if @saved
- render :xml => @project.to_xml( :except => :user_id )
+ render :xml => @project.to_xml( :except => :user_id )
else
render :text => "Error on update: #{@project.errors.full_messages.inject("") {|v, e| v + e + " " }}", :status => 409
end
}
end
-
+
end
-
+
def edit
respond_to do |format|
format.js
end
end
-
+
def destroy
@project.recurring_todos.each {|rt| rt.remove_from_project!}
@project.destroy
@@ -213,7 +213,7 @@ class ProjectsController < ApplicationController
format.xml { render :text => "Deleted project #{@project.name}" }
end
end
-
+
def order
project_ids = params["container_project"]
@projects = current_user.projects.update_positions( project_ids )
@@ -222,44 +222,46 @@ class ProjectsController < ApplicationController
notify :error, $!
redirect_to :action => 'index'
end
-
+
def alphabetize
@state = params['state']
@projects = current_user.projects.alphabetize(:state => @state) if @state
@contexts = current_user.contexts
init_not_done_counts(['project'])
end
-
+
def actionize
@state = params['state']
@projects = current_user.projects.actionize(:state => @state) if @state
@contexts = current_user.contexts
init_not_done_counts(['project'])
end
-
+
def done_todos
@source_view = 'project'
- @page_title = t('project.completed_tasks_title')
-
- completed_todos = current_user.projects.find(params[:id]).todos.completed
+ @project = current_user.projects.find(params[:id])
+ @page_title = t('projects.completed_tasks_title', :project_name => @project.name)
+
+ completed_todos = @project.todos.completed
@done_today = get_done_today(completed_todos)
@done_this_week = get_done_this_week(completed_todos)
@done_this_month = get_done_this_month(completed_todos)
@count = @done_today.size + @done_this_week.size + @done_this_month.size
-
+
render :template => 'todos/done'
end
-
+
def all_done_todos
@source_view = 'project'
- @page_title = t('project.completed_tasks_title')
+ @project = current_user.projects.find(params[:id])
+ @page_title = t('projects.all_completed_tasks_title', :project_name => @project.name)
- @done = current_user.projects.find(params[:id]).todos.completed.paginate :page => params[:page], :per_page => 20, :order => 'completed_at DESC', :include => Todo::DEFAULT_INCLUDES
+ @done = @project.todos.completed.paginate :page => params[:page], :per_page => 20, :order => 'completed_at DESC', :include => Todo::DEFAULT_INCLUDES
@count = @done.size
render :template => 'todos/all_done'
end
-
+
protected
def update_state_counts
@@ -291,12 +293,12 @@ class ProjectsController < ApplicationController
@active_projects = current_user.projects.active
@hidden_projects = current_user.projects.hidden
@completed_projects = current_user.projects.completed
- @down_count = @active_projects.size + @hidden_projects.size + @completed_projects.size
+ @down_count = @active_projects.size + @hidden_projects.size + @completed_projects.size
cookies[:mobile_url]= {:value => request.request_uri, :secure => SITE_CONFIG['secure_cookies']}
render :action => 'index_mobile'
end
end
-
+
def render_project_mobile
lambda do
if @project.default_context.nil?
@@ -326,7 +328,7 @@ class ProjectsController < ApplicationController
:author => lambda { |p| nil } }
end
end
-
+
def feed_options
Project.feed_options(current_user)
end
@@ -336,15 +338,15 @@ class ProjectsController < ApplicationController
render :action => 'index', :layout => false, :content_type => Mime::TEXT
end
end
-
+
def set_project_from_params
@project = current_user.projects.find_by_params(params)
end
-
+
def set_source_view
@source_view = params['_source_view'] || 'project'
end
-
+
def default_context_filter
p = params['project']
p = params['request']['project'] if p.nil? && params['request']
diff --git a/app/controllers/todos_controller.rb b/app/controllers/todos_controller.rb
index 72179169..97a15a49 100644
--- a/app/controllers/todos_controller.rb
+++ b/app/controllers/todos_controller.rb
@@ -22,7 +22,7 @@ class TodosController < ApplicationController
@contexts = current_user.contexts.find(:all)
@contexts_to_show = current_user.contexts.active
-
+
respond_to do |format|
format.html &render_todos_html
format.m &render_todos_mobile
@@ -33,7 +33,7 @@ class TodosController < ApplicationController
format.ics &render_ical_feed
end
end
-
+
def new
@projects = current_user.projects.active
@contexts = current_user.contexts.find(:all)
@@ -47,16 +47,16 @@ class TodosController < ApplicationController
# we have a project but not a context -> use the default context
@mobile_from_context = @mobile_from_project.default_context
end
- render :action => "new"
+ render :action => "new"
}
end
end
-
+
def create
@source_view = params['_source_view'] || 'todo'
@default_context = current_user.contexts.find_by_name(params['default_context_name'])
@default_project = current_user.projects.find_by_name(params['default_project_name']) unless params['default_project_name'].blank?
-
+
@tag_name = params['_tag_name']
is_multiple = params[:todo] && params[:todo][:multiple_todos] && !params[:todo][:multiple_todos].nil?
@@ -67,7 +67,7 @@ class TodosController < ApplicationController
p.parse_dates() unless mobile?
tag_list = p.tag_list
predecessor_list = p.predecessor_list
-
+
@todo = current_user.todos.build(p.attributes)
if p.project_specified_by_name?
@@ -75,7 +75,7 @@ class TodosController < ApplicationController
@new_project_created = project.new_record_before_save?
@todo.project_id = project.id
end
-
+
if p.context_specified_by_name?
context = current_user.contexts.find_or_create_by_name(p.context_name)
@new_context_created = context.new_record_before_save?
@@ -210,7 +210,7 @@ class TodosController < ApplicationController
end
end
end
-
+
def edit
@todo = current_user.todos.find(params['id'], :include => Todo::DEFAULT_INCLUDES)
@source_view = params['_source_view'] || 'todo'
@@ -219,7 +219,7 @@ class TodosController < ApplicationController
format.js
end
end
-
+
def show
@todo = current_user.todos.find(params['id'])
respond_to do |format|
@@ -233,7 +233,7 @@ class TodosController < ApplicationController
format.xml { render :xml => @todo.to_xml( :root => 'todo', :except => :user_id ) }
end
end
-
+
def add_predecessor
@source_view = params['_source_view'] || 'todo'
@predecessor = current_user.todos.find(params['predecessor'])
@@ -251,7 +251,7 @@ class TodosController < ApplicationController
@saved = false
end
respond_to do |format|
- format.js
+ format.js
end
end
@@ -278,18 +278,18 @@ class TodosController < ApplicationController
@original_item_context_id = @todo.context_id
@original_item_project_id = @todo.project_id
@saved = @todo.toggle_completion!
-
+
# check if this todo has a related recurring_todo. If so, create next todo
@new_recurring_todo = check_for_next_todo(@todo) if @saved
-
+
if @saved
if @todo.completed?
- @pending_to_activate = @todo.activate_pending_todos
+ @pending_to_activate = @todo.activate_pending_todos
else
@active_to_block = @todo.block_successors
end
end
-
+
respond_to do |format|
format.js do
if @saved
@@ -318,7 +318,7 @@ class TodosController < ApplicationController
end
end
end
-
+
def toggle_star
@todo = current_user.todos.find(params['id'])
@todo.toggle_star!
@@ -357,18 +357,18 @@ class TodosController < ApplicationController
cache_attributes_from_before_update
update_tags
- update_project
- update_context
+ update_project
+ update_context
update_due_and_show_from_dates
update_completed_state
update_dependencies
update_attributes_of_todo
-
+
@saved = @todo.save
# this is set after save and cleared after reload, so save it here
@removed_predecessors = @todo.removed_predecessors
-
+
@todo.reload # refresh context and project object too (not only their id's)
update_dependency_state
@@ -401,7 +401,7 @@ class TodosController < ApplicationController
end
end
end
-
+
def destroy
@source_view = params['_source_view'] || 'todo'
@todo = current_user.todos.find(params['id'])
@@ -428,9 +428,9 @@ class TodosController < ApplicationController
# check if this todo has a related recurring_todo. If so, create next todo
@new_recurring_todo = check_for_next_todo(@todo) if @saved
-
+
respond_to do |format|
-
+
format.html do
if @saved
message = t('todos.action_deleted_success')
@@ -444,7 +444,7 @@ class TodosController < ApplicationController
redirect_to :action => 'index'
end
end
-
+
format.js do
if @saved
determine_down_count
@@ -457,16 +457,16 @@ class TodosController < ApplicationController
end
render
end
-
+
format.xml { render :text => '200 OK. Action deleted.', :status => 200 }
-
+
end
end
def done
@source_view = 'done'
@page_title = t('todos.completed_tasks_title')
-
+
completed_todos = current_user.todos.completed
@done_today = get_done_today(completed_todos)
@@ -474,7 +474,7 @@ class TodosController < ApplicationController
@done_this_month = get_done_this_month(completed_todos)
@count = @done_today.size + @done_this_week.size + @done_this_month.size
end
-
+
def all_done
@source_view = 'done'
@page_title = t('todos.completed_tasks_title')
@@ -482,25 +482,25 @@ class TodosController < ApplicationController
@done = current_user.todos.completed.paginate :page => params[:page], :per_page => 20, :order => 'completed_at DESC', :include => Todo::DEFAULT_INCLUDES
@count = @done.size
end
-
+
def list_deferred
@source_view = 'deferred'
@page_title = t('todos.deferred_tasks_title')
-
+
@contexts_to_show = @contexts = current_user.contexts.find(:all)
-
+
includes = params[:format]=='xml' ? [:context, :project] : Todo::DEFAULT_INCLUDES
-
+
@not_done_todos = current_user.todos.deferred(:include => includes) + current_user.todos.pending(:include => includes)
@down_count = @count = @not_done_todos.size
-
+
respond_to do |format|
format.html
format.m { render :action => 'mobile_list_deferred' }
format.xml { render :xml => @not_done_todos.to_xml( :except => :user_id ) }
end
end
-
+
# Check for any due tickler items, activate them Called by
# periodically_call_remote
def check_deferred
@@ -510,46 +510,47 @@ class TodosController < ApplicationController
format.js
end
end
-
+
def filter_to_context
context = current_user.contexts.find(params['context']['id'])
redirect_to context_todos_path(context, :format => 'm')
end
-
+
def filter_to_project
project = current_user.projects.find(params['project']['id'])
redirect_to project_todos_path(project, :format => 'm')
end
-
+
# /todos/tag/[tag_name] shows all the actions tagged with tag_name
def tag
init_data_for_sidebar unless mobile?
@source_view = params['_source_view'] || 'tag'
@tag_name = sanitize(params[:name]) # sanitize to prevent XSS vunerability!
@page_title = t('todos.tagged_page_title', :tag_name => @tag_name)
-
+
# mobile tags are routed with :name ending on .m. So we need to chomp it
@tag_name = @tag_name.chomp('.m') if mobile?
-
+
@tag = Tag.find_by_name(@tag_name)
@tag = Tag.new(:name => @tag_name) if @tag.nil?
-
+
@not_done_todos = current_user.todos.with_tag(@tag).active.not_hidden.find(:all,
- :order => 'todos.due IS NULL, todos.due ASC, todos.created_at ASC', :include => [:context])
+ :order => 'todos.due IS NULL, todos.due ASC, todos.created_at ASC', :include => Todo::DEFAULT_INCLUDES)
@hidden_todos = current_user.todos.with_tag(@tag).hidden.find(:all,
- :include => [:taggings, :tags, :context],
+ :include => Todo::DEFAULT_INCLUDES,
:order => 'todos.completed_at DESC, todos.created_at DESC')
@deferred = current_user.todos.with_tag(@tag).deferred.find(:all,
- :order => 'show_from ASC, todos.created_at DESC', :include => [:context])
+ :order => 'show_from ASC, todos.created_at DESC', :include => Todo::DEFAULT_INCLUDES)
@pending = current_user.todos.with_tag(@tag).blocked.find(:all,
- :order => 'show_from ASC, todos.created_at DESC', :include => [:context])
-
+ :order => 'show_from ASC, todos.created_at DESC', :include => Todo::DEFAULT_INCLUDES)
+
# If you've set no_completed to zero, the completed items box isn't shown on
# the tag page
max_completed = current_user.prefs.show_number_completed
@done = current_user.todos.with_tag(@tag).completed.find(:all,
:limit => max_completed,
- :order => 'todos.completed_at DESC')
+ :order => 'todos.completed_at DESC',
+ :include => Todo::DEFAULT_INCLUDES)
@projects = current_user.projects
@contexts = current_user.contexts
@@ -560,7 +561,7 @@ class TodosController < ApplicationController
unless @not_done_todos.empty?
@context = current_user.contexts.find_by_id(@not_done_todos[0].context_id)
end
-
+
# Set count badge to number of items with this tag
@not_done_todos.empty? ? @count = 0 : @count = @not_done_todos.size
@down_count = @count
@@ -574,13 +575,42 @@ class TodosController < ApplicationController
end
end
+ def done_tag
+ @source_view = params['_source_view'] || 'tag'
+ @tag_name = sanitize(params[:name]) # sanitize to prevent XSS vunerability!
+ @page_title = t('todos.completed_tagged_page_title', :tag_name => @tag_name)
+ @tag = Tag.find_by_name(@tag_name)
+ @tag = Tag.new(:name => @tag_name) if @tag.nil?
+
+ completed_todos = current_user.todos.completed.with_tag(@tag)
+
+ @done_today = get_done_today(completed_todos)
+ @done_this_week = get_done_this_week(completed_todos)
+ @done_this_month = get_done_this_month(completed_todos)
+ @count = @done_today.size + @done_this_week.size + @done_this_month.size
+
+ render :template => 'todos/done'
+ end
+
+ def all_done_tag
+ @source_view = params['_source_view'] || 'tag'
+ @tag_name = sanitize(params[:name]) # sanitize to prevent XSS vunerability!
+ @page_title = t('todos.all_completed_tagged_page_title', :tag_name => @tag_name)
+ @tag = Tag.find_by_name(@tag_name)
+ @tag = Tag.new(:name => @tag_name) if @tag.nil?
+
+ @done = current_user.todos.completed.with_tag(@tag).paginate :page => params[:page], :per_page => 20, :order => 'completed_at DESC', :include => Todo::DEFAULT_INCLUDES
+ @count = @done.size
+ render :template => 'todos/all_done'
+ end
+
def tags
@tags = Tag.find(:all, :conditions =>['name like ?', '%'+params[:term]+'%'])
respond_to do |format|
format.autocomplete { render :text => for_autocomplete(@tags, params[:term]) }
end
end
-
+
def defer
@source_view = params['_source_view'] || 'todo'
numdays = params['days'].to_i
@@ -621,13 +651,13 @@ class TodosController < ApplicationController
@page_title = t('todos.calendar_page_title')
@projects = current_user.projects.find(:all)
-
+
due_today_date = Time.zone.now
due_this_week_date = Time.zone.now.end_of_week
due_next_week_date = due_this_week_date + 7.days
due_this_month_date = Time.zone.now.end_of_month
included_tables = Todo::DEFAULT_INCLUDES
-
+
@due_today = current_user.todos.not_completed.find(:all,
:include => included_tables,
:conditions => ['todos.due <= ?', due_today_date],
@@ -648,7 +678,7 @@ class TodosController < ApplicationController
:include => included_tables,
:conditions => ['todos.due > ?', due_this_month_date],
:order => "due")
-
+
@count = current_user.todos.not_completed.are_due.count
respond_to do |format|
@@ -659,7 +689,7 @@ class TodosController < ApplicationController
}
end
end
-
+
def auto_complete_for_predecessor
unless params['id'].nil?
get_todo_from_params
@@ -723,13 +753,13 @@ class TodosController < ApplicationController
end
private
-
+
def get_todo_from_params
# TODO: this was a :append_before but was removed to tune performance per
# method. Reconsider re-enabling it
@todo = current_user.todos.find(params['id'])
end
-
+
def find_and_activate_ready
current_user.deferred_todos.find_and_activate_ready
end
@@ -774,7 +804,7 @@ class TodosController < ApplicationController
@title << t('todos.next_actions_title_additions.completed')
@description << t('todos.next_actions_description_additions.completed', :count => done_in_last.to_s)
end
-
+
if params.key?('tag')
tag = Tag.find_by_name(params['tag'])
if tag.nil?
@@ -782,11 +812,11 @@ class TodosController < ApplicationController
end
condition_builder.add('taggings.tag_id = ?', tag.id)
end
-
+
Todo.send :with_scope, :find => {:conditions => condition_builder.to_conditions} do
yield
end
-
+
end
def with_parent_resource_scope(&block)
@@ -830,11 +860,11 @@ class TodosController < ApplicationController
with_feed_query_scope do
with_parent_resource_scope do # @context or @project may get defined here
with_limit_scope do
-
+
if mobile?
init_todos_for_mobile_view
else
-
+
# Note: these next two finds were previously using
# current_users.todos.find but that broke with_scope for :limit
@@ -852,18 +882,18 @@ class TodosController < ApplicationController
end
end
end
-
+
def init_todos_for_mobile_view
# Note: these next two finds were previously using current_users.todos.find
# but that broke with_scope for :limit
-
+
# Exclude hidden projects from the home page
@not_done_todos = current_user.todos.find(:all,
:conditions => ['todos.state = ? AND contexts.hide = ? AND (projects.state = ? OR todos.project_id IS NULL)', 'active', false, 'active'],
:order => "todos.due IS NULL, todos.due ASC, todos.created_at ASC",
:include => [ :project, :context, :tags ])
end
-
+
def determine_down_count
source_view do |from|
from.todo do
@@ -890,7 +920,7 @@ class TodosController < ApplicationController
end
end
end
-
+
def determine_remaining_in_context_count(context_id = @todo.context_id)
source_view do |from|
from.deferred {
@@ -931,7 +961,7 @@ class TodosController < ApplicationController
@remaining_in_context = current_user.contexts.find(context_id).todos(true).active.not_hidden.count if !@remaining_in_context
@target_context_count = current_user.contexts.find(@todo.context_id).todos(true).active.not_hidden.count if !@target_context_count
end
-
+
def determine_completed_count
source_view do |from|
from.todo do
@@ -972,7 +1002,7 @@ class TodosController < ApplicationController
# Set count badge to number of not-done, not hidden context items
@count = current_user.todos.active.not_hidden.count(:all)
-
+
render
end
end
@@ -983,11 +1013,11 @@ class TodosController < ApplicationController
@home = true
cookies[:mobile_url]= { :value => request.request_uri, :secure => SITE_CONFIG['secure_cookies']}
determine_down_count
-
+
render :action => 'index'
end
end
-
+
def render_rss_feed
lambda do
render_rss_feed_for @todos, :feed => todo_feed_options,
@@ -999,7 +1029,7 @@ class TodosController < ApplicationController
}
end
end
-
+
def todo_feed_options
options = Todo.feed_options(current_user)
options[:title] = @feed_title
@@ -1049,7 +1079,7 @@ class TodosController < ApplicationController
def self.is_feed_request(req)
['rss','atom','txt','ics'].include?(req.parameters[:format])
end
-
+
def check_for_next_todo(todo)
# check if this todo has a related recurring_todo. If so, create next todo
new_recurring_todo = nil
@@ -1060,15 +1090,15 @@ class TodosController < ApplicationController
# check if there are active todos belonging to this recurring todo. only
# add new one if all active todos are completed
if recurring_todo.todos.active.count == 0
-
+
# check for next todo either from the due date or the show_from date
date_to_check = todo.due.nil? ? todo.show_from : todo.due
-
+
# if both due and show_from are nil, check for a next todo from now
date_to_check = Time.zone.now if date_to_check.nil?
if recurring_todo.active? && recurring_todo.has_next_todo(date_to_check)
-
+
# shift the reference date to yesterday if date_to_check is furher in
# the past. This is to make sure we do not get older todos for overdue
# todos. I.e. checking a daily todo that is overdue with 5 days will
@@ -1084,7 +1114,7 @@ class TodosController < ApplicationController
end
return new_recurring_todo
end
-
+
def get_due_id_for_calendar(due)
return "" if due.nil?
due_today_date = Time.zone.now
@@ -1104,7 +1134,7 @@ class TodosController < ApplicationController
end
return new_due_id
end
-
+
def is_old_due_empty(id)
return 0 == count_old_due_empty(id)
end
@@ -1255,7 +1285,7 @@ class TodosController < ApplicationController
source_view do |page|
page.calendar do
@old_due_empty = is_old_due_empty(@original_item_due_id)
- @new_due_id = get_due_id_for_calendar(@todo.due)
+ @new_due_id = get_due_id_for_calendar(@todo.due)
end
page.tag do
@tag_name = params['_tag_name']
@@ -1276,14 +1306,14 @@ class TodosController < ApplicationController
return false if context_name.blank?
true
end
-
+
def determine_non_uniq_todo
# for calendar view. TODO: unused
all_list_uniq_ids = (@due_today.map(&:id) + @due_this_week.map(&:id) +
@due_next_week.map(&:id) + @due_this_month.map(&:id) + @due_after_this_month.map(&:id)).uniq
all_list_count = @due_today.count + @due_this_week.count +
@due_next_week.count + @due_this_month.count + @due_after_this_month.count
-
+
return !( all_list_uniq_ids.length == all_list_count )
end
@@ -1311,54 +1341,54 @@ class TodosController < ApplicationController
@prefs = prefs
@attributes = params['request'] && params['request']['todo'] || params['todo']
end
-
+
def attributes
@attributes
end
-
+
def show_from
@attributes['show_from']
end
-
+
def due
@attributes['due']
end
-
+
def project_name
@params['project_name'].strip unless @params['project_name'].nil?
end
-
+
def context_name
@params['context_name'].strip unless @params['context_name'].nil?
end
-
+
def tag_list
@params['tag_list']
end
-
+
def predecessor_list
@params['predecessor_list']
end
-
+
def parse_dates()
@attributes['show_from'] = @prefs.parse_date(show_from)
@attributes['due'] = @prefs.parse_date(due)
@attributes['due'] ||= ''
end
-
+
def project_specified_by_name?
return false unless @attributes['project_id'].blank?
return false if project_name.blank?
return false if project_name == 'None'
true
end
-
+
def context_specified_by_name?
return false unless @attributes['context_id'].blank?
return false if context_name.blank?
true
end
-
+
end
end
diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index f4854256..fbf0a0cf 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -282,6 +282,12 @@ module ApplicationHelper
done_todos_context_path(@context)
when "projects"
done_todos_project_path(@project)
+ when "todos"
+ if source_view_is(:tag)
+ done_tag_path(@tag_name)
+ else
+ done_todos_path
+ end
else
done_todos_path
end
@@ -293,6 +299,12 @@ module ApplicationHelper
all_done_todos_context_path(@context)
when "projects"
all_done_todos_project_path(@project)
+ when "todos"
+ if source_view_is(:tag)
+ all_done_tag_path(@tag_name)
+ else
+ all_done_todos_path
+ end
else
all_done_todos_path
end
diff --git a/app/views/todos/_todo.html.erb b/app/views/todos/_todo.html.erb
index 79094d9f..4ca9bc23 100644
--- a/app/views/todos/_todo.html.erb
+++ b/app/views/todos/_todo.html.erb
@@ -18,8 +18,8 @@ parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
<% unless todo.completed? || todo.deferred? -%>
<%= remote_defer_menu_item(1, todo) %>
<%= remote_defer_menu_item(7, todo) %>
+ <%= remote_promote_to_project_menu_item(todo) %>
<% end -%>
- <%= remote_promote_to_project_menu_item(todo) %>
diff --git a/config/locales/de.yml b/config/locales/de.yml
index 2788a0d4..5def709a 100644
--- a/config/locales/de.yml
+++ b/config/locales/de.yml
@@ -1,5 +1,49 @@
---
de:
+ layouts:
+ toggle_notes: Notizen umschalten
+ next_actions_rss_feed: RSS-Feed kommende Aufgaben
+ mobile_navigation:
+ logout: Abmelden
+ feeds: Feeds
+ new_action: 0-Neue Aufgabe
+ starred: 4-Markiert
+ projects: 3-Projekte
+ tickler: Notizbuch
+ contexts: 2-Kontexte
+ home: 1-Home
+ toggle_notes_title: Alle Notizen umschalten
+ navigation:
+ manage_users_title: "Benutzer hinzuf\xC3\xBCgen oder entfernen"
+ recurring_todos: Sich wiederholende To-Dos
+ api_docs: REST API Docs
+ feeds: Feeds
+ starred: Markiert
+ notes_title: Alle Notizen anzeigen
+ stats: Statistiken
+ tickler_title: Notizbuch
+ manage_users: Benutzer verwalten
+ export_title: Daten importieren und exportieren
+ integrations_: Tracks integrieren
+ preferences: Einstellungen
+ feeds_title: "Liste der verf\xC3\xBCgbaren Feeds anzeigen"
+ calendar_title: "Kalender mit \xC3\xBCberf\xC3\xA4lligen Aufgaben"
+ starred_title: Markierte Aufgaben betrachten
+ tickler: Notizbuch
+ recurring_todos_title: Sich wiederholende To-Dos verwalten
+ completed_tasks: Erledigt
+ stats_title: Statistiken anzeigen
+ home_title: Start
+ organize: Organisieren
+ view: Betrachten
+ completed_tasks_title: "Vollst\xC3\xA4ndig"
+ home: Start
+ export: Export
+ contexts_title: Kontexte
+ calendar: Kalender
+ projects_title: Projekte
+ search: "Alle Eintr\xC3\xA4ge durchsuchen"
+ preferences_title: Meine Einstellungen
number:
format:
separator: ","
@@ -34,107 +78,65 @@ de:
separator: .
precision:
delimiter: ","
- layouts:
- toggle_notes: Notizen umschalten
- next_actions_rss_feed: RSS-Feed kommende Aufgaben
- toggle_notes_title: Alle Notizen umschalten
- mobile_navigation:
- logout: Abmelden
- feeds: Feeds
- new_action: 0-Neue Aufgabe
- starred: 4-Markiert
- projects: 3-Projekte
- tickler: Notizbuch
- contexts: 2-Kontexte
- home: 1-Home
- navigation:
- manage_users_title: "Benutzer hinzuf\xC3\xBCgen oder entfernen"
- recurring_todos: Sich wiederholende To-Dos
- api_docs: REST API Docs
- feeds: Feeds
- stats: Statistiken
- starred: Markiert
- notes_title: Alle Notizen anzeigen
- tickler_title: Notizbuch
- manage_users: Benutzer verwalten
- export_title: Daten importieren und exportieren
- integrations_: Tracks integrieren
- preferences: Einstellungen
- feeds_title: "Liste der verf\xC3\xBCgbaren Feeds anzeigen"
- calendar_title: "Kalender mit \xC3\xBCberf\xC3\xA4lligen Aufgaben"
- recurring_todos_title: Sich wiederholende To-Dos verwalten
- completed_tasks: Erledigt
- stats_title: Statistiken anzeigen
- home_title: Start
- tickler: Notizbuch
- starred_title: Markierte Aufgaben betrachten
- organize: Organisieren
- view: Betrachten
- completed_tasks_title: "Vollst\xC3\xA4ndig"
- export: Export
- contexts_title: Kontexte
- home: Start
- projects_title: Projekte
- calendar: Kalender
- preferences_title: Meine Einstellungen
- search: "Alle Eintr\xC3\xA4ge durchsuchen"
- common:
- back: "Zur\xC3\xBCck"
- third: Dritte
- actions: Aktionen
- add: "Hinzuf\xC3\xBCgen"
- go_back: "Zur\xC3\xBCck"
- logout: Abmelden
- cancel: Abbrechen
- none: Keine
- second: Zweite
- optional: optional
- month: Monat
- forum: Forum
- notes: Notizen
- server_error: Auf dem Server ist ein Fehler aufgetreten.
- projects: Projekte
- last: Letzte
- action: Aktion
- project: Projekt
- contribute: Mitwirken
- ok: Ok
- first: Erste
- website: Website
- numbered_step: Schritt %{number}
- fourth: Vierte
- sort:
- by_task_count_title: Nach Anzahl der Aufgaben sortieren
- by_task_count_title_confirm: Sollen diese Projekte wirklich nach Anzahl der Aufgaben sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
- alphabetically: Alphabetisch
- sort: Sortieren
- alphabetically_confirm: Sollen diese Projekte wirklich alphabetisch sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
- alphabetically_title: Projekte alphabetisch sortieren
- by_task_count: Nach Anzahl der Aufgaben
- create: Erstellen
- drag_handle: Verschieben
- months: Monate
- errors_with_fields: "Mit folgenden Feldern sind Probleme aufgetreten:"
- context: Kontext
- description: Beschreibung
- contexts: Kontexte
- bugs: Bugs
- update: Aktualisieren
- weeks: Woche
- forth: Vierte
- wiki: Wiki
- ajaxError: Fehler beim Empfangen vom Server
- search: Suchen
- email: E-Mail
integrations:
opensearch_description: In Tracks suchen
applescript_next_action_prompt: "Beschreibung der n\xC3\xA4chsten Aufgabe:"
gmail_description: "Gadget, um Tracks als Gadget zu Googlemail hinzuzuf\xC3\xBCgen"
applescript_success_after_id: erstellt
applescript_success_before_id: "N\xC3\xA4chste neue Aufgabe mit ID"
- data:
- import_successful: Import war erfolgreich.
- import_errors: Beim Import sind Fehler aufgetreten.
+ common:
+ back: "Zur\xC3\xBCck"
+ third: Dritte
+ recurring_todos: Wiederholenden Aktionen
+ actions: Aktionen
+ add: "Hinzuf\xC3\xBCgen"
+ previous: Vorherige
+ logout: Abmelden
+ go_back: "Zur\xC3\xBCck"
+ week: Woche
+ cancel: Abbrechen
+ none: Keine
+ second: Zweite
+ month: Monat
+ optional: optional
+ notes: Notizen
+ forum: Forum
+ server_error: Auf dem Server ist ein Fehler aufgetreten.
+ last: Letzte
+ action: Aktion
+ projects: Projekte
+ project: Projekt
+ contribute: Mitwirken
+ ok: Ok
+ website: Website
+ first: Erste
+ numbered_step: Schritt %{number}
+ errors_with_fields: "Mit folgenden Feldern sind Probleme aufgetreten:"
+ sort:
+ by_task_count_title: Nach Anzahl der Aufgaben sortieren
+ by_task_count_title_confirm: Sollen diese Projekte wirklich nach Anzahl der Aufgaben sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
+ alphabetically: Alphabetisch
+ alphabetically_title: Projekte alphabetisch sortieren
+ sort: Sortieren
+ alphabetically_confirm: Sollen diese Projekte wirklich alphabetisch sortiert werden? Die bisherige Sortier-Reihenfolge wird damit überschrieben.
+ by_task_count: Nach Anzahl der Aufgaben
+ fourth: Vierte
+ create: Erstellen
+ months: Monate
+ todo: Aktione
+ contexts: Kontexte
+ context: Kontext
+ next: "N\xC3\xA4chste"
+ description: Beschreibung
+ drag_handle: Verschieben
+ update: Aktualisieren
+ weeks: Woche
+ bugs: Bugs
+ forth: Vierte
+ wiki: Wiki
+ ajaxError: Fehler beim Empfangen vom Server
+ search: Suchen
+ email: E-Mail
models:
project:
feed_title: Tracks-Projekte
@@ -167,8 +169,8 @@ de:
due: Fällig
preference:
show_hidden_projects_in_sidebar: Zeige Versteckte Projekte in der Sidebar
- date_format: Datum Format
show_hidden_contexts_in_sidebar: "Zeige Versteckte Zusammenh\xC3\xA4nge in der Sidebar"
+ date_format: Datum Format
staleness_starts: Anfang des Abgestandenheit
mobile_todos_per_page: Aufgaben pro Seite (Mobile Version)
verbose_action_descriptors: "Ausf\xC3\xBChrlich Aktion Deskriptoren"
@@ -177,8 +179,8 @@ de:
title_date_format: Titel Datumsformat
refresh: Aktualisierungsintverall (in Minuten)
week_starts: Woche startet am
- due_style: "F\xC3\xA4llig stijl"
time_zone: Zeit Zone
+ due_style: "F\xC3\xA4llig stijl"
locale: Zahle
show_project_on_todo_done: Zur Projektseite wechseln, wenn To-Do abgeschlossen
sms_email: Per E-Mail
@@ -222,18 +224,22 @@ de:
header:
one: "Konnte dieses %{model} Objekt nicht speichern: 1 Fehler."
other: "Konnte dieses %{model} Objekt nicht speichern: %{count} Fehler."
+ data:
+ import_successful: Import war erfolgreich.
+ import_errors: Beim Import sind Fehler aufgetreten.
stats:
tag_cloud_90days_title: Tag-Cloud-Aktionen in den letzten 90 Tagen
totals_active_project_count: Von diesen sind %{count} aktive Projekte
- actions: Aktionen
tag_cloud_title: Tag-Cloud aller Aktionen
+ actions: Aktionen
tag_cloud_description: Diese Tag-Cloud beinhaltet Tags aller Aktionen (abgeschlossen, nicht abgeschlossen, sichtbar und/oder unsichtbar)
+ actions_avg_completion_time: Durchschnittlich hast du %{count} Tage gebraucht, um eine Aktion abzuschliessen.
actions_last_year_legend:
number_of_actions: Anzahl Aktionen
months_ago: Monate zuvor
totals_first_action: Seit deiner ersten Aktion am %{date}
- actions_avg_completion_time: Durchschnittlich hast du %{count} Tage gebraucht, um eine Aktion abzuschliessen.
totals_action_count: hattest du insgesamt %{count} Aktionen
+ totals_deferred_actions: "von denen %{count} im Notizbuch zur\xC3\xBCckgestellt sind"
legend:
number_of_days: Anzahl vergangene Tage
actions: Aktionen
@@ -242,60 +248,61 @@ de:
percentage: Prozentsatz
running_time: Laufzeit einer Aktion (Wochen)
months_ago: Monate zuvor
+ top10_longrunning: "Top 10 der am l\xC3\xA4ngsten laufenden Projekte"
actions_dow_30days_title: Wochentag (letzte 30 Tage)
current_running_time_of_incomplete_visible_actions: "Aktuelle Laufzeit unvollst\xC3\xA4ndiger sichtbarer Aufgaben"
running_time_legend:
actions: Aufgaben
percentage: Prozentsatz
weeks: "Vergangene Zeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen."
- totals_deferred_actions: "von denen %{count} im Notizbuch zur\xC3\xBCckgestellt sind"
- top10_longrunning: "Top 10 der am l\xC3\xA4ngsten laufenden Projekte"
- actions_avg_completed_30days: und %{count} durchschnittlich davon erledigt.
top5_contexts: Top 5 aller Kontexte
actions_lastyear_title: Aktionen der letzten 12 Monate
totals_actions_completed: "%{count} davon sind abgeschlossen."
totals_incomplete_actions: "Du hast %{count} unvollst\xC3\xA4ndige Aktionen"
totals_unique_tags: Von diesen Tags sind %{count} einmalig..
+ actions_avg_completed_30days: und %{count} durchschnittlich davon erledigt.
totals_visible_context_count: Von diesen sind %{count} sichtbare Kontexte
totals_blocked_actions: "%{count} h\xC3\xA4ngen vom Abschluss anderer Aktionen ab."
- projects: Projekte
action_completion_time_title: Fertigstellungszeit (alle abgeschlossenen Aktionen)
actions_last_year: Aktionen im letzten Jahr
+ projects: Projekte
totals_context_count: Du hast %{count} Kontexte.
actions_day_of_week_title: Wochentag (alle Aktionen)
- tags: Tags
totals_project_count: Du hast %{count} Projekte.
actions_min_max_completion_days: "Das Minimum/Maximum an Tagen einer Vervollst\xC3\xA4ndigung ist %{min}/%{max}."
actions_min_completion_time: "Die minimale Zeit betr\xC3\xA4gt %{time}."
no_tags_available: "keine Tags verf\xC3\xBCgbar"
- running_time_all: "Aktuelle Laufzeit aller unvollst\xC3\xA4ndigen Aktionen."
- tod30: Tageszeit (letzte 30 Tage)
- top5_visible_contexts_with_incomplete_actions: "Top 5 der sichtbaren Kontexte mit unvollst\xC3\xA4ndigen Aktionen"
- actions_30days_title: _Aktionen der letzten 30 Tage
+ tags: Tags
tag_cloud_90days_description: Diese Tag-Cloud beinhaltet Tags der Aktionen, die in den letzten 90 Tagen erstellt oder abgeschlossen wurden.
actions_further: und danach
+ running_time_all: "Aktuelle Laufzeit aller unvollst\xC3\xA4ndigen Aktionen."
time_of_day: Tageszeit (alle Aktionen)
+ tod30: Tageszeit (letzte 30 Tage)
more_stats_will_appear: "Weitere Statistiken werden verf\xC3\xBCgbar, wenn einige Aufgaben hinzugef\xC3\xBCgt wurden."
+ top5_visible_contexts_with_incomplete_actions: "Top 5 der sichtbaren Kontexte mit unvollst\xC3\xA4ndigen Aktionen"
totals_tag_count: Du hast %{count} Tags in Aktionen.
+ actions_30days_title: _Aktionen der letzten 30 Tage
totals_hidden_project_count: "%{count} sind versteckt"
- top10_projects: Top 10 aller Projekte
- click_to_return: "Klick auf %{link} um zur Statistikseite zur\xC3\xBCckzukehren."
- spread_of_actions_for_all_context: Aufgabenverteilung aller Kontexte
totals_completed_project_count: und %{count} sind abgeschlossene Projekte.
+ top10_projects_30days: Top-10-Projekt der letzten 30 Tage
actions_selected_from_week: "Aktionen ausgew\xC3\xA4hlt ab Woche"
click_to_show_actions_from_week: Klick auf %{link} um die Aktionen von Woche %{week} und danach anzuzeigen.
+ top10_projects: Top 10 aller Projekte
actions_avg_created: In den letzten 12 Monaten hast du im Durchschnitt %{count} Aktionen erstellt
+ click_to_return: "Klick auf %{link} um zur Statistikseite zur\xC3\xBCckzukehren."
spread_of_running_actions_for_visible_contexts: Verteilung der laufenden Aufgaben aller sichtbaren Kontexte
+ spread_of_actions_for_all_context: Aufgabenverteilung aller Kontexte
other_actions_label: (andere)
- top10_projects_30days: Top-10-Projekt der letzten 30 Tage
+ actions_avg_completed: und %{count} durchschnittlich davon monatlich erledigt
+ totals: Ingesamt
time_of_day_legend:
number_of_actions: Anzahl Aufgaben
time_of_day: Tageszeit
+ contexts: Kontexte
click_to_return_link: hier
totals_hidden_context_count: und %{count} sind versteckte Kontexte.
- actions_avg_completed: und %{count} durchschnittlich davon monatlich erledigt
- totals: Ingesamt
- contexts: Kontexte
+ no_actions_selected: "Es sind keine Aufgaben ausgew\xC3\xA4hlt."
+ click_to_update_actions: Klicke auf eine Leiste in der Grafik um die Aktionen unten zu aktualisieren.
labels:
month_avg_completed: "%{months} Monat durchschnittlich fertig gestellt"
completed: Erledigt
@@ -303,28 +310,27 @@ de:
avg_created: Durchschnittlich erstellt
avg_completed: Durchschnittlich fertiggestellt
created: Erstellt
- no_actions_selected: "Es sind keine Aufgaben ausgew\xC3\xA4hlt."
- click_to_update_actions: Klicke auf eine Leiste in der Grafik um die Aktionen unten zu aktualisieren.
running_time_all_legend:
actions: Aktionen
percentage: Prozentsatz
running_time: "Laufzeit einer Aktion (Wochen). Klick auf eine Leiste f\xC3\xBCr mehr Informationen."
+ actions_actions_avg_created_30days: In den letzten 30 Tagen hast du im Durchschnitt %{count} Aktionen erstellt
tod30_legend:
number_of_actions: Anzahl Aufgaben
time_of_day: Tageszeit
action_selection_title: TRACKS::Aktionsauswahl
- actions_actions_avg_created_30days: In den letzten 30 Tagen hast du im Durchschnitt %{count} Aktionen erstellt
todos:
- error_starring_recurring: Konnte die Hervorhebung der wiederkehrenden Aufgabe \'%{description}\' nicht durchführen
show_from: Anzeigen ab dem
+ error_starring_recurring: Konnte die Hervorhebung der wiederkehrenden Aufgabe \'%{description}\' nicht durchführen
recurring_action_deleted: Die Aktion wurde gelöscht. Da dies eine wiederkehrende Aktion ist, wurde eine neue erstellt.
completed_actions: Erledigte Aufgaben
+ completed_rest_of_previous_month: Fertiggestellt den Rest des Vormonats
+ blocked_by: Blockiert durch %{predecessors}
completed_recurring: Abgeschlossene wiederkehrende To-Dos
added_new_next_action: Neue Aktion angelegt
- blocked_by: Blockiert durch %{predecessors}
+ defer_date_after_due_date: "Zur\xC3\xBCckstellungsdatum nach Ablaufdatum. Bitte passe das Ablaufdatum an, dass es vor dem Zur\xC3\xBCckstellungsdatum liegt."
star_action: Aktion markieren
completed_recurrence_completed: Es gibt keine weitere Aktion nach der soeben gelöschten. Die Wiederholung ist abgeschlossen.
- defer_date_after_due_date: "Zur\xC3\xBCckstellungsdatum nach Ablaufdatum. Bitte passe das Ablaufdatum an, dass es vor dem Zur\xC3\xBCckstellungsdatum liegt."
unable_to_add_dependency: Abhängigkeit nicht hinzufügbar
done: Erledigt?
star_action_with_description: Aktion '%{description}' markieren
@@ -332,27 +338,28 @@ de:
completed: Erledigt
no_deferred_actions_with: "Keine zur\xC3\xBCckgestellten Aktionen mit dem Tag '%{tag_name}'"
no_hidden_actions: Momentan sind keine versteckten Aufgaben vorhanden
- edit_action_with_description: Aktion '%{description}' bearbeiten
action_due_on: "(Aktion f\xC3\xA4llig am %{date})"
+ edit_action_with_description: Aktion '%{description}' bearbeiten
+ tags: Tags (Komma-separiert)
archived_tasks_title: TRACKS::Archivierte erledigte Aufgaben
remove_dependency: Abhängigkeit löschen (löscht nicht die Aufgabe)
list_incomplete_next_actions: Unerledigte Folge-Aufgaben anzeigen
action_deleted_success: Die nächste Aktion erfolgreich gelöscht
- tags: Tags (Komma-separiert)
- delete_recurring_action_title: "Wiederkehrende Aktion '%{description}' l\xC3\xB6schen"
- context_changed: Kontext zu %{name} gewechselt
- new_related_todo_created: "Eine neue To-Do wurde hinzugef\xC3\xBCgt, die zu dieser wiederkehrenden To-Do geh\xC3\xB6rt"
- mobile_todos_page_title: Alle Aufgaben
add_another_dependency: "F\xC3\xBCgen Sie eine andere Abh\xC3\xA4ngigkeit"
- removed_predecessor: "%{successor} entfernt als Abh\xC3\xA4ngigkeit von %{predecessor}."
+ new_related_todo_created: "Eine neue To-Do wurde hinzugef\xC3\xBCgt, die zu dieser wiederkehrenden To-Do geh\xC3\xB6rt"
+ context_changed: Kontext zu %{name} gewechselt
+ mobile_todos_page_title: Alle Aufgaben
+ delete_recurring_action_title: "Wiederkehrende Aktion '%{description}' l\xC3\xB6schen"
recurring_actions_title: TRACKS::Wiederkehrende Aktionen
+ removed_predecessor: "%{successor} entfernt als Abh\xC3\xA4ngigkeit von %{predecessor}."
next_action_needed: Es muss mindestens eine folgende Aktion angelegt werden
- action_saved: Aktion gespeichert
scheduled_overdue: "Planm\xC3\xA4\xC3\x9Fig angezeigt vor %{days} Tagen"
+ action_saved: Aktion gespeichert
action_deleted_error: Fehler beim Löschen der Aufgabe
edit_action: Aktion bearbeiten
added_new_context: "Neuer Kontext hinzugef\xC3\xBCgt"
next_actions_description: "Filter:"
+ older_completed_items: "Ältere erledigte Aufgaben"
list_incomplete_next_actions_with_limit: Zeige die letzten %{count} unerledigten Folge-Aufgaben
set_to_pending: "%{task} als ausstehend markiert"
added_new_project: "Neues Projekt hinzugef\xC3\xBCgt"
@@ -360,37 +367,39 @@ de:
completed: Aufgaben erledigt
due_today: heute fällig
due_within_a_week: diese Woche fällig
- older_completed_items: "Ältere erledigte Aufgaben"
+ task_list_title: TRACKS::Aufgaben anzeigen
append_in_this_project: in diesem Projekt
error_deleting_item: Beim Löschen von %{description} trat ein Fehler auf
- task_list_title: TRACKS::Aufgaben anzeigen
no_actions_due_this_week: Keine zu erledigenden Aufgaben für den Rest der Woche
- no_recurring_todos: Im Augenblick gibt es keine wiederkehrenden To-Dos
error_completing_todo: Beim Abschliessen/Aktivieren der wiederkehrenden To-Do %{description} ist ein Fehler aufgetreten
+ no_recurring_todos: Im Augenblick gibt es keine wiederkehrenden To-Dos
+ recurring_pattern_removed: Das Wiederauftreten Muster ist aus entfernt %{count}
convert_to_project: In Projekt umwandeln
no_deferred_pending_actions: Momentan sind keine aufgeschobenen oder ausstehenden Aufgaben vorhanden.
delete_recurring_action_confirm: Soll die wiederkehrende Aktion '%{description}' wirklich gelöscht werden?
completed_last_day: In den letzten 24 Stunden erledigt
- show_in_days: Anzeigen in %{days} Tagen
no_project: --Kein Projekt--
+ show_in_days: Anzeigen in %{days} Tagen
error_saving_recurring: Es gab einen Fehler beim Speichern der wiederkehrenden todo '%{description}'
completed_more_than_x_days_ago: Vor mehr als %{count} Tagen erledigt
new_related_todo_created_short: hat einen neuen todo
feed_title_in_context: im Kontext '%{context}'
+ all_completed: Alle abgeschlossenen Aktionen
older_than_days: "Älter als %{count} Tage"
+ completed_tagged_page_title: "TRACKS:: Erledigte Aufgaben mit Tag %{tag_name}"
edit: Bearbeiten
pending: Ausstehend
completed_actions_with: Abgeschlossene Aktionen mit dem Tag %{tag_name}
+ feed_title_in_project: im Projekt '%{project}'
deleted_success: "Die Aktion wurde erfolgreich gel\xC3\xB6scht."
completed_tasks_title: TRACKS::Erledigte Aufgaben
- feed_title_in_project: im Projekt '%{project}'
clear_due_date: Fälligkeitsdatum leeren
error_removing_dependency: "Beim Entfernen der Abh\xC3\xA4ngigkeit ist ein Fehler aufgetreten"
hidden_actions: Verstecke Aufgaben
+ deferred_actions_with: "Zur\xC3\xBCckgestellte Aktionen mit dem Tag '%{tag_name}'"
was_due_on_date: war am %{date} fällig
show_on_date: Anzeigen am %{date}
recurrence_period: Wiederholungszeitraum
- deferred_actions_with: "Zur\xC3\xBCckgestellte Aktionen mit dem Tag '%{tag_name}'"
confirm_delete: "Bist du sicher, dass du die Aktion '%{description}' l\xC3\xB6schen m\xC3\xB6chtest?"
recurring_deleted_success: "Die wiederkehrende Aktion wurde erfolgreich gel\xC3\xB6scht."
next_actions_title: TRACKS::Weitere Aufgaben
@@ -398,17 +407,17 @@ de:
deferred_tasks_title: TRACKS::Notizbuch
no_completed_actions_with: Keine abgeschlossenen Aktionen mit dem Tag '%{tag_name}'
clear_show_from_date: Datum leeren
- unresolved_dependency: "Der Wert, den Sie in die Abh\xC3\xA4ngigkeit Feld eingegeben nicht zu einer bestehenden Aktion zu l\xC3\xB6sen. Dieser Wert wird nicht mit dem Rest der Aktion gerettet werden. Weiter gehen?"
calendar_page_title: TRACKS::Kalender
in_hidden_state: als versteckt markiert
- show_today: Heute anzeigen
- no_actions_found_title: Keine Aktionen gefunden
+ unresolved_dependency: "Der Wert, den Sie in die Abh\xC3\xA4ngigkeit Feld eingegeben nicht zu einer bestehenden Aktion zu l\xC3\xB6sen. Dieser Wert wird nicht mit dem Rest der Aktion gerettet werden. Weiter gehen?"
next_actions_due_date:
overdue_by: "\xC3\x9Cberf\xC3\xA4llig mit %{days} Tag"
due_today: "Heute f\xC3\xA4llig"
due_in_x_days: "F\xC3\xA4llig in %{days} Tagen"
overdue_by_plural: "\xC3\x9Cberf\xC3\xA4llig mit %{days} Tagen"
due_tomorrow: "F\xC3\xA4llig morgen"
+ show_today: Heute anzeigen
+ no_actions_found_title: Keine Aktionen gefunden
completed_last_x_days: In den letzten %{count} Tagen erledigt
no_actions_with: "Im Augenblick gibt es keine unvollst\xC3\xA4ndigen Aktionen mit dem Tag '%{tag_name}'"
defer_x_days:
@@ -416,43 +425,44 @@ de:
other: "%{count} Tage zur\xC3\xBCckstellen"
added_new_next_action_singular: Neue weiterführende Aufgabe angelegt
no_completed_actions: Momentan sind keine erledigten Aufgaben vorhanden.
+ feeds:
+ completed: "Erledigt: %{date}"
+ due: "F&auuml;llig: %{date}"
deferred_pending_actions: Aufgeschobene/ausstehende Aufgaben
has_x_pending:
one: Hat eine ausstehende Aktion
other: Hat %{count} ausstehende Aktionen
- feeds:
- completed: "Erledigt: %{date}"
- due: "F&auuml;llig: %{date}"
+ recurring_todos: Wiederkehrende To-Dos
delete_action: "Aktion l\xC3\xB6schen"
error_deleting_recurring: "Beim L\xC3\xB6schen der wiederkehrenden To-Do %{description} ist ein Fehler aufgetreten"
- recurring_todos: Wiederkehrende To-Dos
delete: "L\xC3\xB6schen"
+ no_last_completed_actions: Keine abgeschlossene Aktionen gefunden
drag_action_title: "Auf andere Aktion ziehen, um sie als Abh\xC3\xA4ngigkeit zu definieren"
cannot_add_dependency_to_completed_todo: "Kann nicht hinzugef\xC3\xBCgt werden diese Aktion als eine Abh\xC3\xA4ngigkeit zu einer abgeschlossenen Aktion!"
+ action_marked_complete: Die Aktion '%{description}' wurde als %{completed} markiert.
+ depends_on: "H\xC3\xA4ngt ab von"
tickler_items_due:
one: Ein Notizbuch-Eintrag ist nun fällig - lade die Seite neu, um sie zu sehen.
other: "%{count} Notizbuch-Einträge sind nun fällig - lade die Seite neu, um sie zu sehen."
- depends_on: "H\xC3\xA4ngt ab von"
- action_marked_complete: Die Aktion '%{description}' wurde als %{completed} markiert.
- added_new_next_action_plural: Neue weiterführende Aufgaben angelegt
+ new_related_todo_not_created_short: nicht schaffen todo
completed_today:
one: Du hast heute bereits eine Aufgabe erledigt.
other: Du hast heute bereits %{count} Aufgaben erledigt.
- new_related_todo_not_created_short: nicht schaffen todo
+ added_new_next_action_plural: Neue weiterführende Aufgaben angelegt
+ completed_rest_of_week: Fertiggestellt den Rest dieser Woche
+ error_starring: Konnte die Hervorhebung von \'%{description}\' nicht durchführen
calendar:
get_in_ical_format: Diesen Kalender im iCal Format herunterladen
due_next_week: Nächste Woche fällig
- no_actions_due_next_week: Keine Aufgaben für die kommende Woche
due_this_week: Die restliche Woche zu erledigen
+ no_actions_due_next_week: Keine Aufgaben für die kommende Woche
due_today: Heute zu erledigen
no_actions_due_today: Heute sind keine Aufgaben fällig
due_next_month_and_later: Im %{month} und später fällig
no_actions_due_after_this_month: Nach diesem Monat sind keine Aufgaben fällig
due_this_month: Im %{month} fällig
no_actions_due_this_month: Keine Aktionen für den Rest des Monats
- error_starring: Konnte die Hervorhebung von \'%{description}\' nicht durchführen
show_tomorrow: Morgen anzeigen
- no_completed_recurring: Im Augenblick gibt es keine abgeschlossenen wiederkehrenden To-Dos
recurrence:
ends_on_date: Endet am %{date}
every_work_day: Jeden Arbeitstag
@@ -468,37 +478,13 @@ de:
show_option_always: immer
pattern:
third: Drittel
- every_n: jeden %{n}
- second: zweite
- on_day_n: am Tag %{n}
- every_xth_day_of_every_n_months: "jedes %{x} %{day} jedes %{n_months} \xE2\x80\x8B"
- weekly: "w\xC3\xB6chentlich"
- from: von
- last: zuletzt
- every_day: jeden Tag
- times: "f\xC3\xBCr %{number} Zeiten"
- the_xth_day_of_month: der %{x} %{day} von %{month}
- on_work_days: an Wochentagen
- first: erste
- show: Show
- every_year_on: jedes Jahr in %{date}
- fourth: vierte
- due: "F\xC3\xA4llig"
- until: bis
- every_month: jeden Monat
- day_names:
- - Sonntag
- - Montag
- - Dienstag
- - Mittwoch
- - Donnerstag
- - Freitag
- - Samstag
month_names:
-
- Januar
- Februar
- - März
+ - !binary |
+ TcOkcno=
+
- April
- Mai
- Juni
@@ -508,103 +494,92 @@ de:
- Oktober
- November
- Dezember
+ every_n: jeden %{n}
+ on_day_n: am Tag %{n}
+ second: zweite
+ every_xth_day_of_every_n_months: "jedes %{x} %{day} jedes %{n_months} \xE2\x80\x8B"
+ weekly: "w\xC3\xB6chentlich"
+ from: von
+ last: zuletzt
+ every_day: jeden Tag
+ the_xth_day_of_month: der %{x} %{day} von %{month}
+ times: "f\xC3\xBCr %{number} Zeiten"
+ every_year_on: jedes Jahr in %{date}
+ first: erste
+ show: Show
+ day_names:
+ - Sonntag
+ - Montag
+ - Dienstag
+ - Mittwoch
+ - Donnerstag
+ - Freitag
+ - Samstag
+ on_work_days: an Wochentagen
+ fourth: vierte
+ due: "F\xC3\xA4llig"
+ until: bis
+ every_month: jeden Monat
yearly_every_x_day: "Jeden %{day}. %{month} "
recurrence_on_options: Setze Wiederholung auf
daily_every_number_day: Alle %{number} Tage
show_options: To-Do anzeigen
ends_on: Endet am
weekly_every_number_week: Kehrt jede %{number}. Woche wieder am
- no_end_date: Kein Enddatum
- day_x_on_every_x_month: Tag %{day} in jedem %{month}. Monat
yearly_options: "Einstellungen f\xC3\xBCr sich j\xC3\xA4hrlich wiederholende Aktionen"
show_days_before: "%{days} Tage bevor die To-Do f\xC3\xA4llig ist"
- yearly_every_xth_day: Den %{day} %{day_of_week} des %{month}
from_tickler: the date todo comes from tickler (no due date set)
- monthly_every_xth_day: Der %{day} %{day_of_week} eines jeden %{month}. Monats
+ no_end_date: Kein Enddatum
+ yearly_every_xth_day: Den %{day} %{day_of_week} des %{month}
+ day_x_on_every_x_month: Tag %{day} in jedem %{month}. Monat
yearly: "J\xC3\xA4hrlich"
+ monthly_every_xth_day: Der %{day} %{day_of_week} eines jeden %{month}. Monats
tagged_page_title: TRACKS::Als '%{tag_name}' markiert
+ no_completed_recurring: Im Augenblick gibt es keine abgeschlossenen wiederkehrenden To-Dos
added_dependency: "%{dependency} als Abhängigkeit hinzugefügt."
+ all_completed_tagged_page_title: "TRACKS:: Alle erledigten Aufgaben mit Tag %{tag_name}"
no_deferred_actions: Zur Zeit sind keine zurückgestellten Aktionen vorhanden.
+ completed_rest_of_month: Fertiggestellt den Rest des Monats
recurrence_completed: Nach dieser wiederkehrenden Aktion, die du gerade abgeschlossen hast, folgt keine mehr. Die Wiederholung endet hiermit
no_actions_found: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen."
in_pending_state: und als ausstehend markiert
error_toggle_complete: "K\xC3\xB6nnte nicht diese Marke todo komplett"
due: Fällig
action_marked_complete_error: Die Aktion '%{description}' wurde aufgrund eines Fehlers NICHT als %{completed} markiert.
- action_saved_to_tickler: Aktion im Notizbuch gespeichert
- recurring_action_saved: Wiederkehrende Aktion gespeichert
- depends_on_separate_with_commas: Hängt ab von (Komma-separiert)
completed_in_archive:
one: Es befindet sich eine erledigte Aufgabe im Archiv.
other: Es befinden sich %{count} erledigte Aufgaben im Archiv.
+ no_incomplete_actions: Es gibt keine unerledigten Aufgaben
+ depends_on_separate_with_commas: Hängt ab von (Komma-separiert)
+ action_saved_to_tickler: Aktion im Notizbuch gespeichert
+ recurring_action_saved: Wiederkehrende Aktion gespeichert
to_tickler: ", im Notizbuch hinterlegt"
next_actions_description_additions:
completed: In den letzten %{count} Tagen
due_date: mit einem Datum %{due_date} oder früher
overdue: "Überfällig"
add_new_recurring: "F\xC3\xBCge eine neue wiederkehrende Aktion hinzu"
- no_incomplete_actions: Es gibt keine unerledigten Aufgaben
notes:
delete_item_title: Eintrag löschen
delete_note_title: Notiz '%{id}' löschen
delete_confirmation: "Bist du sicher, dass du die Notiz '%{id}' l\xC3\xB6schen m\xC3\xB6chtest?"
+ deleted_note: "Notiz '%{id}' l\xC3\xB6schen"
note_link_title: Notiz %{id} anzeigen
show_note_title: Notiz anzeigen
- deleted_note: "Notiz '%{id}' l\xC3\xB6schen"
note_location_link: "In:"
edit_item_title: Eintrag bearbeiten
- note_header: Notiz %{id}
no_notes_available: "Derzeit gibt es keine Notizen: f\xC3\xBCge Notizen von der jeweiligen Projektseite hinzu."
+ note_header: Notiz %{id}
delete_note_confirm: Soll die Notiz '%{id}' wirklich gelöscht werden?
- projects:
- deferred_actions: "Aufgeschobene Aufgaben f\xC3\xBCr dieses Projekt"
- was_marked_hidden: wurde als verborgen markiert
- edit_project_title: Projekt bearbeiten
- default_tags_removed_notice: Standard-Tags entfernt
- default_context_set: Standard-Kontext des Projekts auf %{default_context} gesetzt
- no_actions_in_project: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen in diesem Projekt"
- hide_form: Fomular verstecken
- page_title: "TRACKS::Projekt: %{project}"
- no_notes_attached: "Im Augenblick sind keine Notizen mit diesem Projekt verkn\xC3\xBCpft."
- deferred_actions_empty: "Es gibt keine aufgeschobenen Aufgaben f\xC3\xBCr dieses Projekt"
- this_project: Dieses Projekt
- project_state: Projekt ist %{state}
- show_form_title: Neues Projekt anlegen
- to_new_project_page: Zu neuem Projekt weiterleiten
- todos_append: an dieses Projekt
- notes: Notizen
- no_projects: Keine Projekte vorhanden
- hide_form_title: Formular verstecken
- notes_empty: "Es gibt keine Notizen f\xC3\xBCr dieses Projekt"
- with_no_default_context: hat keinen Standardwert Kontext
- delete_project: Projekt löschen
- completed_actions_empty: "Es gibt keine erledigten Aufgaben f\xC3\xBCr dieses Projekt"
- show_form: Projekt erstellen
- actions_in_project_title: Die Aktionen in diesem Projekt
- delete_project_confirmation: Soll das Projekt '%{name}' wirklich gelöscht werden?
- with_default_context: mit einem Standard-Rahmen von '%{context_name}'
- set_default_tags_notice: Standard-Tags des Projekts auf %{default_tags} setzen
- with_default_tags: und mit '%{tags}' als Standard-Tags
- project_saved_status: Projekt gespeichert
- is_active: ist aktiv
- completed_projects: Abgeschlossene Projekte
- add_project: Projekt hinzufügen
- settings: Einstellungen
- list_projects: TRACKS::Projektliste
- add_note: "Notiz hinzuf\xC3\xBCgen"
- hidden_projects: Versteckte Projekte
- delete_project_title: Projekt löschen
- default_context_removed: Standard-Kontext entfernt
- add_note_submit: "Notiz hinzuf\xC3\xBCgen"
- completed_actions: "Erledigte Aufgaben f\xC3\xBCr dieses Projekt"
- was_marked_complete: wurde als erledigt markiert
- active_projects: Aktive Projekte
- status_project_name_changed: "Projektname ge\xC3\xA4ndert"
- no_default_context: Dieses Projekt hat keinen Standard-Kontext
- with_no_default_tags: und hat keinen Standardwert Tags
- edit_project_settings: Edit Project Settings
- default_context: Der Standard-Kontext dieses Projektes ist %{context}
- state: Dieses Projekt ist %{state}
+ states:
+ hidden_plural: Versteckte
+ completed: Erledigt
+ completed_plural: Erledigte
+ visible_plural: Sichtbare
+ active_plural: Aktive
+ visible: Sichtbar
+ active: Aktiv
+ hidden: Versteckt
time:
am: vormittags
formats:
@@ -614,15 +589,58 @@ de:
month_day: "%d. %B"
long: "%A, %d. %B %Y, %H:%M Uhr"
pm: nachmittags
- states:
- hidden_plural: Versteckte
- completed: Erledigt
- completed_plural: Erledigte
- visible_plural: Sichtbare
- visible: Sichtbar
- active_plural: Aktive
- active: Aktiv
- hidden: Versteckt
+ projects:
+ deferred_actions: "Aufgeschobene Aufgaben f\xC3\xBCr dieses Projekt"
+ was_marked_hidden: wurde als verborgen markiert
+ edit_project_title: Projekt bearbeiten
+ default_tags_removed_notice: Standard-Tags entfernt
+ default_context_set: Standard-Kontext des Projekts auf %{default_context} gesetzt
+ no_actions_in_project: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aktionen in diesem Projekt"
+ page_title: "TRACKS::Projekt: %{project}"
+ hide_form: Fomular verstecken
+ this_project: Dieses Projekt
+ project_state: Projekt ist %{state}
+ show_form_title: Neues Projekt anlegen
+ to_new_project_page: Zu neuem Projekt weiterleiten
+ no_notes_attached: "Im Augenblick sind keine Notizen mit diesem Projekt verkn\xC3\xBCpft."
+ deferred_actions_empty: "Es gibt keine aufgeschobenen Aufgaben f\xC3\xBCr dieses Projekt"
+ no_last_completed_projects: Keine abgeschlossene Projekte gefunden
+ notes: Notizen
+ todos_append: an dieses Projekt
+ no_projects: Keine Projekte vorhanden
+ hide_form_title: Formular verstecken
+ notes_empty: "Es gibt keine Notizen f\xC3\xBCr dieses Projekt"
+ with_no_default_context: hat keinen Standardwert Kontext
+ delete_project: Projekt löschen
+ completed_actions_empty: "Es gibt keine erledigten Aufgaben f\xC3\xBCr dieses Projekt"
+ delete_project_confirmation: Soll das Projekt '%{name}' wirklich gelöscht werden?
+ with_default_context: mit einem Standard-Rahmen von '%{context_name}'
+ show_form: Projekt erstellen
+ actions_in_project_title: Die Aktionen in diesem Projekt
+ add_project: Projekt hinzufügen
+ set_default_tags_notice: Standard-Tags des Projekts auf %{default_tags} setzen
+ settings: Einstellungen
+ with_default_tags: und mit '%{tags}' als Standard-Tags
+ list_projects: TRACKS::Projektliste
+ project_saved_status: Projekt gespeichert
+ add_note: "Notiz hinzuf\xC3\xBCgen"
+ is_active: ist aktiv
+ completed_projects: Abgeschlossene Projekte
+ hidden_projects: Versteckte Projekte
+ delete_project_title: Projekt löschen
+ default_context_removed: Standard-Kontext entfernt
+ add_note_submit: "Notiz hinzuf\xC3\xBCgen"
+ completed_actions: "Erledigte Aufgaben f\xC3\xBCr dieses Projekt"
+ was_marked_complete: wurde als erledigt markiert
+ default_context: Der Standard-Kontext dieses Projektes ist %{context}
+ active_projects: Aktive Projekte
+ status_project_name_changed: "Projektname ge\xC3\xA4ndert"
+ no_default_context: Dieses Projekt hat keinen Standard-Kontext
+ with_no_default_tags: und hat keinen Standardwert Tags
+ state: Dieses Projekt ist %{state}
+ edit_project_settings: Edit Project Settings
+ errors:
+ user_unauthorized: "401 Unauthorized: Nur administrative Benutzer d\xC3\xBCrfen auf diese Funktion zugreifen."
preferences:
staleness_starts_after: Abgestandenheit startet nach %{days} Tagen
open_id_url: "Deine OpenID-URL lautet:"
@@ -631,11 +649,11 @@ de:
page_title: TRACKS::Einstellungen
title: Deine Einstellungen
token_description: "Token (f\xC3\xBCr die Verwendung in Feeds und der API)"
- show_number_completed: "Zeige %{number} erledigte Eintr\xC3\xA4ge"
is_false: Nein
- is_true: Ja
+ show_number_completed: "Zeige %{number} erledigte Eintr\xC3\xA4ge"
edit_preferences: Einstellungen bearbeiten
page_title_edit: "TRACKS::Einstellungen \xC3\xA4ndern"
+ is_true: Ja
sms_context_none: Keine
generate_new_token: Neues Token generieren
token_header: Dein Token
@@ -643,14 +661,14 @@ de:
authentication_header: Deine Authentifizierung
change_authentication_type: "Authentifzierungsart \xC3\xA4ndern"
generate_new_token_confirm: "Bist du sicher? Wenn du ein neues Token generierst, wird dies das alte Token ersetzen und jegliche externe Nutzung st\xC3\xB6ren, die das alte Token verwendet."
- errors:
- user_unauthorized: "401 Unauthorized: Nur administrative Benutzer d\xC3\xBCrfen auf diese Funktion zugreifen."
date:
month_names:
-
- Januar
- Februar
- - März
+ - !binary |
+ TcOkcno=
+
- April
- Mai
- Juni
@@ -660,6 +678,10 @@ de:
- Oktober
- November
- Dezember
+ order:
+ - :day
+ - :month
+ - :year
abbr_day_names:
- So
- Mo
@@ -668,10 +690,6 @@ de:
- Do
- Fr
- Sa
- order:
- - :day
- - :month
- - :year
formats:
only_day: "%e"
default: "%d.%m.%Y"
@@ -713,8 +731,8 @@ de:
send_feedback: Senden Sie Feedback zu %{version}
shared:
multiple_next_actions: Mehrere neue Aufgaben (eine pro Zeile)
- hide_form: Formular verstecken
toggle_single: Weitere Aktion erstellen
+ hide_form: Formular verstecken
add_action: "Aufgabe hinzuf\xC3\xBCgen"
add_actions: "Aufgaben hinzuf\xC3\xBCgen"
tags_for_all_actions: "Tags f\xC3\xBCr alle Aufgaben (mit Kommas trennen)"
@@ -726,71 +744,71 @@ de:
toggle_multi_title: "Zwischen Einzel- und Mehrfachformular f\xC3\xBCr neue Aufgaben umschalten"
hide_action_form_title: "Formular f\xC3\xBCr neue Aufgaben verstecken"
users:
+ auth_type_update_error: "Beim Ändern der Authentifizierung trat ein Fehler auf: %{error_messages}"
destroy_successful: "Benutzer %{login} wurde erfolgreich gel\xC3\xB6scht"
+ successfully_deleted_user: Benutzer %{username} erfolgreich gelöscht.
total_contexts: Alle Kontexte
failed_to_delete_user: Löschen des Benutzers %{username} fehlgeschlagen
first_user_heading: "Willkommen bei TRACKS. Als erstes legen Sie bitte einen Administrator-Zugang an:"
openid_url_verified: Die URL %{url} wurde erfolgreich als Identität verifiziert und Deine Authentifizierung auf OpenID umgestellt.
- auth_type_update_error: "Beim Ändern der Authentifizierung trat ein Fehler auf: %{error_messages}"
- successfully_deleted_user: Benutzer %{username} erfolgreich gelöscht.
+ new_token_generated: Neuer Token erfolgreich generiert
total_projects: Alle Projekte
signup_successful: Benutzer %{username} erfolgreich angelegt.
- new_token_generated: Neuer Token erfolgreich generiert
change_password_submit: "Passwort \xC3\xA4ndern"
no_signups_title: TRACKS::Anmeldung nicht erlaubt
user_created: Benutzer angelegt.
- account_signup: Accounteinrichtung
manage_users: Benutzer verwalten
+ account_signup: Accounteinrichtung
password_updated: Passwort aktualisiert.
- desired_login: "Gew\xC3\xBCnschter Benutzername"
confirm_password: "Passwort best\xC3\xA4tigen"
new_user_heading: "Einen neuen Benutzer anlegen:"
signup: Registrieren
auth_type_updated: Authentifizierungs-Art erfolgreich geändert.
total_actions: Alle Aufgaben
- choose_password: "Passwort w\xC3\xA4hlen"
- change_password_title: TRACKS::Passwort ändern
+ desired_login: "Gew\xC3\xBCnschter Benutzername"
change_auth_type_title: TRACKS::Authentifizierungstyp ändern
change_password_prompt: "Gib dein neues Passwort in die unten stehenden Felder ein und klicke auf 'Passwort \xC3\xA4ndern' um dein altes Passwort durch das neue zu ersetzen."
password_confirmation_label: "Passwort best\xC3\xA4tigen"
destroy_error: "Beim L\xC3\xB6schen des Benutzers %{login} ist ein Fehler aufgetreten."
+ choose_password: "Passwort w\xC3\xA4hlen"
+ change_password_title: TRACKS::Passwort ändern
label_auth_type: Authentifizierungsart
new_password_label: Neues Passwort
register_with_cas: Mit deinem CAS-Benutzernamen
+ new_user_title: TRACKS::Als Administrator anmelden
destroy_user: "Benutzer l\xC3\xB6schen"
total_users_count: Derzeit existieren %{count} Benutzer
- new_user_title: TRACKS::Als Administrator anmelden
destroy_confirmation: "Achtung: der Benutzer '%{login}' wird mit all seinen Aufgaben, Kontexten, Projekten und Notizen gel\xC3\xB6scht. Bist du sicher, dass du fortfahren m\xC3\xB6chtest?"
signup_new_user: Neuen Benutzer anlegen
- auth_change_submit: "Authentifizierungsart \xC3\xA4ndern"
openid_ok_pref_failed: Die URL %{url} wurde erfolgreich als Identität verifiziert, beim Speichern der Einstellungen trat jedoch ein Fehler auf.
- identity_url: Identity-URL
change_authentication_type: "Authentifizierungsart \xC3\xA4ndern"
+ identity_url: Identity-URL
+ auth_change_submit: "Authentifizierungsart \xC3\xA4ndern"
total_notes: Alle Notizen
select_authentication_type: "W\xC3\xA4hle deine neue Authentifizierungsart und klicke 'Authentifizierungsart \xC3\xA4ndern' an, um deine aktuellen Einstellungen zu \xC3\xBCberschreiben."
feedlist:
choose_context: "Kontext f\xC3\xBCr den Feed w\xC3\xA4hlen"
actions_due_today: "Heute oder fr\xC3\xBCher f\xC3\xA4llig"
+ legend: "Legende:"
rss_feed: RSS-Feed
ical_feed: iCal-Feed
- legend: "Legende:"
all_contexts: Alle Kontexte
choose_project: "Projekt f\xC3\xBCr den Feed w\xC3\xA4hlen"
all_projects: Alle Projekte
+ project_needed: Es muss mindestens ein Projekt existieren, bevor ein Feed abonniert werden kann.
select_feed_for_project: "Feed f\xC3\xBCr dieses Projekt ausw\xC3\xA4hlen"
active_projects_wo_next: Aktive Projekte ohne ausstehende Aufgaben
- project_needed: Es muss mindestens ein Projekt existieren, bevor ein Feed abonniert werden kann.
active_starred_actions: Alle markierten, aktiven Aufgaben
- select_feed_for_context: "Feed f\xC3\xBCr diesen Kontext ausw\xC3\xA4hlen"
projects_and_actions: Aktive Projekte und deren Aufgaben
context_needed: Es muss mindestens ein Kontext existieren, bevor ein Feed abonniert werden kann.
+ select_feed_for_context: "Feed f\xC3\xBCr diesen Kontext ausw\xC3\xA4hlen"
actions_due_next_week: "In den n\xC3\xA4chsten 7 Tagen oder fr\xC3\xBCher f\xC3\xA4llige Aufgaben"
notice_incomplete_only: "Hinweis: Alle Feeds zeigen nur Aufgaben, die noch nicht als erledigt markiert wurden."
- actions_completed_last_week: In den letzten 7 Tagen abgeschlossene Aufgaben
- context_centric_actions: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
plain_text_feed: Plain-Text-Feed
last_fixed_number: Die letzten %{number} Aufgaben
all_actions: Alle Aufgaben
+ actions_completed_last_week: In den letzten 7 Tagen abgeschlossene Aufgaben
+ context_centric_actions: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
project_centric: "Feeds f\xC3\xBCr unvollst\xC3\xA4ndige Aufgaben in einem bestimmten Kontext"
sidebar:
list_name_active_contexts: Aktive Kontexte
@@ -805,24 +823,24 @@ de:
show_form_title: Neuen Kontext erstellen
delete_context_confirmation: Soll der Kontext '%{name}' wirklich gelöscht werden? Alle (wiederholenden) Aufgaben dieses Kontexts werden hierdurch ebenfalls gelöscht.
delete_context: Kontext löschen
- edit_context: Kontext bearbeiten
hide_form_title: Formular für neuen Kontext verstecken
+ edit_context: Kontext bearbeiten
no_contexts_active: Derzeit gibt es keine aktiven Kontexte
context_hide: Auf Startseite ausblenden?
hidden_contexts: Versteckte Kontexte
- show_form: Neuen Kontext erstellen
visible_contexts: Sichtbare Kontexte
+ show_form: Neuen Kontext erstellen
save_status_message: Kontext gespeichert
add_context: "Kontext hinzuf\xC3\xBCgen"
context_name: Kontextname
update_status_message: "Kontextname wurde ge\xC3\xA4ndert"
- new_context_post: "' wird ebenfalls angelegt. Fortfahren?"
status_active: Kontext ist aktiv
- no_actions: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aufgaben in diesem Kontext"
+ new_context_post: "' wird ebenfalls angelegt. Fortfahren?"
last_completed_in_context: in diesem Kontext (letzte %{number})
context_deleted: "Gel\xC3\xB6schter Kontext '%{name}'"
no_contexts_hidden: Derzeit gibt es keine versteckten Kontexte
new_context_pre: Der neue Kontext '
+ no_actions: "Momentan gibt es keine unvollst\xC3\xA4ndigen Aufgaben in diesem Kontext"
status_hidden: Kontext ist versteckt
datetime:
prompts:
@@ -871,9 +889,9 @@ de:
half_a_minute: eine halbe Minute
login:
openid_identity_url_not_found: "Sorry, aber es existiert kein Benutzer mit der Identit\xC3\xA4ts-URL (%{identity_url})"
+ login_cas: zum CAS gehen
user_no_expiry: Angemeldet bleiben
sign_in: Anmeldung
- login_cas: zum CAS gehen
cas_login: CAS-Anmeldung
successful_with_session_info: "Anmeldung erfolgreich:"
please_login: Bitte melde dich an, um Tracks zu nutzen
@@ -890,14 +908,14 @@ de:
option_separator: oder,
session_time_out: Sitzung abgelaufen. Bitte %{link}
login_standard: "zur\xC3\xBCck zum Standard-Login"
+ log_in_again: Erneut anmelden.
logged_out: Sie wurden von Tracks abgemeldet.
login_with_openid: Mit einer OpenID anmelden
unsuccessful: Anmeldung war nicht erfolgreich.
- log_in_again: Erneut anmelden.
search:
contexts_matching_query: Kontexte entsprechen der Suche
tags_matching_query: Tags entsprechen der Suche
+ todos_matching_query: Todos entsprechen der Suche
projects_matching_query: Projekte entsprechen der Suche
notes_matching_query: Notizen entsprechen der Suche
no_results: Die Suche ergab kein Ergebnis.
- todos_matching_query: Todos entsprechen der Suche
diff --git a/config/locales/en.yml b/config/locales/en.yml
index e1423a24..db45bfc2 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -139,6 +139,8 @@ en:
new_context_pre: "New context '"
new_context_post: "' will be also created. Are you sure?"
edit_context: "Edit context"
+ completed_tasks_title: "TRACKS::Completed actions in the context '%{context_name}'"
+ all_completed_tasks_title: "TRACKS::All Completed actions in the context '%{context_name}'"
data:
import_errors: "Some errors occurred during import"
import_successful: "Import was successful."
@@ -310,6 +312,9 @@ en:
edit_project_settings: "Edit Project Settings"
page_title: "TRACKS::Project: %{project}"
list_projects: "TRACKS::List Projects"
+ list_completed_projects: "TRACKS::List Completed Projects"
+ completed_tasks_title: "TRACKS::List Completed Actions in Project '%{project_name}'"
+ all_completed_tasks_title: "TRACKS::List All Completed Actions in Project '%{project_name}'"
no_default_context: "This project does not have a default context"
default_context: "The default context for this project is %{context}"
project_state: "Project is %{state}."
@@ -541,7 +546,7 @@ en:
from: from
until: until
times: for %{number} times
- day_names:
+ day_names:
- sunday
- monday
- tuesday
@@ -549,8 +554,8 @@ en:
- thursday
- friday
- saturday
- month_names:
- -
+ month_names:
+ -
- January
- February
- Match
@@ -597,6 +602,8 @@ en:
action_deleted_success: "Successfully deleted next action"
action_deleted_error: "Failed to delete the action"
completed_tasks_title: "TRACKS::Completed tasks"
+ completed_tagged_page_title: "TRACKS::Completed tasks with tag %{tag_name}"
+ all_completed_tagged_page_title: "TRACKS::All completed tasks with tag %{tag_name}"
archived_tasks_title: "TRACKS::Archived completed tasks"
deferred_tasks_title: "TRACKS::Tickler"
tagged_page_title: "TRACKS::Tagged with '%{tag_name}'"
diff --git a/config/locales/nl.yml b/config/locales/nl.yml
index fc439bf1..488b55a1 100644
--- a/config/locales/nl.yml
+++ b/config/locales/nl.yml
@@ -1,5 +1,49 @@
---
nl:
+ layouts:
+ toggle_notes: Toggle notities
+ next_actions_rss_feed: RSS-feed van de acties
+ mobile_navigation:
+ logout: Afmelden
+ feeds: Feeds
+ new_action: 0-Nieuwe actie
+ starred: 4-Ster
+ projects: 3-Projecten
+ tickler: Tickler
+ contexts: 2-Contexten
+ home: 1-Start
+ toggle_notes_title: Toggle alle notities
+ navigation:
+ recurring_todos: Terugkerende acties
+ manage_users_title: Toevoegen of verwijderen gebruikers
+ api_docs: REST API Docs
+ feeds: Feeds
+ starred: Ster
+ notes_title: Toon alle notities
+ stats: Statistieken
+ tickler_title: Tickler
+ manage_users: Beheren gebruikers
+ export_title: Import en export van gegevens
+ preferences: Voorkeuren
+ integrations_: Integreer Tracks
+ feeds_title: Zie een lijst met beschikbare feeds
+ calendar_title: Kalender met acties met deadline
+ starred_title: Zie je ster acties
+ tickler: Tickler
+ recurring_todos_title: Beheren terugkerende acties
+ completed_tasks: Gereed
+ stats_title: Zie je statistieken
+ home_title: Start
+ organize: Organiseer
+ view: Bekijk
+ completed_tasks_title: Afgerond
+ home: Start
+ export: Export
+ contexts_title: Contexten
+ calendar: Agenda
+ projects_title: Projecten
+ search: Zoeken in alle items
+ preferences_title: Toon mijn voorkeuren
number:
format:
separator: ","
@@ -23,107 +67,65 @@ nl:
separator: ","
delimiter: .
+ integrations:
+ opensearch_description: Zoek in Tracks
+ applescript_next_action_prompt: "Omschrijving van de actie:"
+ gmail_description: Gadget om Tracks toe te voegen aan Gmail als een gadget
+ applescript_success_after_id: gemaakt
+ applescript_success_before_id: Nieuwe actie met ID
common:
back: Terug
third: Derde
+ recurring_todos: Herhalende acties
actions: Acties
add: Toevoegen
- go_back: Ga terug
+ previous: Vorige
logout: Log uit
+ go_back: Ga terug
cancel: Annuleer
+ week: week
none: Geen
second: Tweede
optional: optioneel
- forum: Forum
+ month: maand
notes: Notities
+ forum: Forum
server_error: Een fout heeft op de server plaatsgevonden
- projects: Projecten
last: Laatste
+ projects: Projecten
action: Actie
project: Project
contribute: Bijdragen
ok: Ok
- first: Eerste
website: Website
+ first: Eerste
numbered_step: Stap %{number}
+ errors_with_fields: Er waren problemen met de volgende velden
sort:
by_task_count_title: Sorteer op aantal acties
by_task_count_title_confirm: Weet u zeker dat u deze op aantal acties wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen.
alphabetically: Alfabetisch
+ alphabetically_title: Sorteer projecten alfabetisch
sort: Sorteer
alphabetically_confirm: Weet u zeker dat u deze projecten alfabetisch wilt sorteren? Dat zal de huidige sorteervolgorde aanpassen.
- alphabetically_title: Sorteer projecten alfabetisch
by_task_count: Op aantal acties
fourth: Vierde
create: Maken
- drag_handle: SLEEP
- context: Context
- errors_with_fields: Er waren problemen met de volgende velden
- description: Beschrijving
- contexts: Contexten
- update: Bijwerken
- wiki: Wiki
- bugs: Fouten
- ajaxError: Er is een fout opgetreden bij het ophalen van gegevens van de server
- email: E-mail
- search: Zoeken
- month: maand
months: maanden
+ context: Context
+ contexts: Contexten
+ todo: actie
+ next: Volgende
+ description: Beschrijving
+ drag_handle: SLEEP
+ update: Bijwerken
+ bugs: Fouten
weeks: weken
forth: Vierde
- integrations:
- opensearch_description: Zoek in Tracks
- gmail_description: Gadget om Tracks toe te voegen aan Gmail als een gadget
- applescript_next_action_prompt: "Omschrijving van de actie:"
- applescript_success_after_id: gemaakt
- applescript_success_before_id: Nieuwe actie met ID
- layouts:
- toggle_notes: Toggle notities
- next_actions_rss_feed: RSS-feed van de acties
- toggle_notes_title: Toggle alle notities
- mobile_navigation:
- logout: Afmelden
- feeds: Feeds
- new_action: 0-Nieuwe actie
- starred: 4-Ster
- projects: 3-Projecten
- tickler: Tickler
- contexts: 2-Contexten
- home: 1-Start
- navigation:
- api_docs: REST API Docs
- manage_users_title: Toevoegen of verwijderen gebruikers
- recurring_todos: Terugkerende acties
- feeds: Feeds
- stats: Statistieken
- starred: Ster
- notes_title: Toon alle notities
- tickler_title: Tickler
- manage_users: Beheren gebruikers
- export_title: Import en export van gegevens
- integrations_: Integreer Tracks
- preferences: Voorkeuren
- feeds_title: Zie een lijst met beschikbare feeds
- calendar_title: Kalender met acties met deadline
- home_title: Start
- starred_title: Zie je ster acties
- recurring_todos_title: Beheren terugkerende acties
- completed_tasks: Gereed
- stats_title: Zie je statistieken
- tickler: Tickler
- organize: Organiseer
- view: Bekijk
- completed_tasks_title: Afgerond
- export: Export
- home: Start
- contexts_title: Contexten
- preferences_title: Toon mijn voorkeuren
- projects_title: Projecten
- calendar: Agenda
- search: Zoeken in alle items
- data:
- import_successful: De import was succesvol
- import_errors: Er hebben zich fouten voorgedaan bij de import
+ wiki: Wiki
+ ajaxError: Er is een fout opgetreden bij het ophalen van gegevens van de server
+ search: Zoeken
+ email: E-mail
models:
project:
feed_title: Tracks Projecten
@@ -158,19 +160,19 @@ nl:
show_hidden_projects_in_sidebar: Toon verborgen projecten in sidebar
show_hidden_contexts_in_sidebar: Toon verborgen contexten in sidebar
date_format: Datum formaat
- mobile_todos_per_page: Acties per pagina (mobiel)
staleness_starts: Begin van markeren openstaande actie
- sms_context: Standaard context voor email
+ mobile_todos_per_page: Acties per pagina (mobiel)
verbose_action_descriptors: Context en project uitschrijven in actielijst
- show_number_completed: Aantal te tonen afgeronde acties
+ sms_context: Standaard context voor email
title_date_format: Datum formaat in titel
+ show_number_completed: Aantal te tonen afgeronde acties
refresh: Ververs interval (in minuten)
week_starts: Week start op
- due_style: Deadline stijl
time_zone: Tijdzone
+ due_style: Deadline stijl
locale: Taal
- sms_email: Van email
show_project_on_todo_done: Ga naar project pagina wanneer actie gereed is
+ sms_email: Van email
show_completed_projects_in_sidebar: Toon afgeronde projecten in sidebar
user:
last_name: Achternaam
@@ -189,12 +191,12 @@ nl:
confirmation: komt niet overeen met de configuratie
less_than_or_equal_to: moet kleiner of gelijk zijn aan %{count}
blank: mag niet leeg zijn
- invalid: "mag niet een komma (',') karakter bevatten"
+ invalid: mag niet een komma (',') karakter bevatten
exclusion: is gereserveerd
odd: moet oneven zijn
too_short: is te kort (minimum is %{count} karakters)
- empty: mag niet leeg zijn
wrong_length: heeft de verkeerde lengte (moet %{count} karakters lang zijn)
+ empty: mag niet leeg zijn
even: moet even zijn
less_than: moet kleiner zijn dan %{count}
greater_than: moet groter zijn dan %{count}
@@ -211,18 +213,21 @@ nl:
header:
one: 1 fout voorkomt het kunnen bewaren van deze %{model}
other: "%{count} fouten voorkomen dat dit %{model} bewaard kan worden"
+ data:
+ import_successful: De import was succesvol
+ import_errors: Er hebben zich fouten voorgedaan bij de import
stats:
- tag_cloud_title: Tag Cloud voor alle acties
- tag_cloud_description: Deze tag cloud bevat tags van alle acties (afgerond, niet voltooid, zichtbaar en / of verborgen)
tag_cloud_90days_title: Tag cloud met acties in afgelopen 90 dagen
- actions: Acties
totals_active_project_count: Van deze zijn %{count} actieve projecten
+ tag_cloud_title: Tag Cloud voor alle acties
+ actions: Acties
+ tag_cloud_description: Deze tag cloud bevat tags van alle acties (afgerond, niet voltooid, zichtbaar en / of verborgen)
actions_avg_completion_time: Van al uw afgeronde acties, de gemiddelde tijd dat dit in beslag nam is %{count} dagen.
actions_last_year_legend:
number_of_actions: Aantal acties
months_ago: Maanden geleden
totals_first_action: Sinds uw eerste actie op %{date}
- current_running_time_of_incomplete_visible_actions: Huidige looptijd van onvolledige zichtbare acties
+ totals_action_count: u heeft een totaal van %{count} acties
totals_deferred_actions: waarvan %{count} uitgestelde acties in de tickler zijn
legend:
number_of_days: Aantal dagen geleden
@@ -232,64 +237,61 @@ nl:
percentage: Percentage
running_time: Looptijd van een actie (weken)
months_ago: Maanden geleden
- totals_action_count: u heeft een totaal van %{count} acties
+ top10_longrunning: Top 10 langstlopende projecten
actions_dow_30days_title: Dag van de week (laatste 30 dagen)
+ current_running_time_of_incomplete_visible_actions: Huidige looptijd van onvolledige zichtbare acties
running_time_legend:
actions: Acties
percentage: Percentage
weeks: Looptijd van een actie (weken). Klik op een balk voor meer info
- top10_longrunning: Top 10 langstlopende projecten
+ top5_contexts: Top 5 contexten
actions_lastyear_title: Acties in de afgelopen 12 maanden
totals_actions_completed: "%{count} van deze zijn voltooid."
totals_incomplete_actions: U heeft %{count} onvolledige acties
totals_unique_tags: Van deze tags zijn %{count} uniek.
actions_avg_completed_30days: en voltooide een gemiddelde van %{count} acties per dag.
- top5_contexts: Top 5 contexten
- action_completion_time_title: Doorlooptijd (alle voltooide acties)
- projects: Projecten
- actions_last_year: Acties in de afgelopen jaren
- totals_context_count: U heeft %{count} contexten.
totals_visible_context_count: Van deze zijn %{count} zichtbare contexten
totals_blocked_actions: "%{count} zijn afhankelijk van de voltooiing van hun acties."
- tags: Tags
+ action_completion_time_title: Doorlooptijd (alle voltooide acties)
+ actions_last_year: Acties in de afgelopen jaren
+ projects: Projecten
+ totals_context_count: U heeft %{count} contexten.
+ actions_day_of_week_title: Dag van de week (alle acties)
+ totals_project_count: U heeft %{count} projecten.
actions_min_max_completion_days: De max-/minimum dagen tot voltooiing is %{min}/%{max}.
actions_min_completion_time: De minimale tijd tot afronding is %{time}.
no_tags_available: geen tags beschikbaar
- actions_day_of_week_title: Dag van de week (alle acties)
- totals_project_count: U heeft %{count} projecten.
- more_stats_will_appear: Meer statistieken zullen hier verschijnen zodra u acties hebt toegevoegd.
- totals_hidden_project_count: "%{count} zijn verborgen"
- tod30: Tijd van de dag (laatste 30 dagen)
- actions_30days_title: Acties in de afgelopen 30 dagen
- actions_further: en verder
- time_of_day: Tijd van de dag (alle acties)
- totals_tag_count: U heeft %{count} tags geplaatst op acties.
- running_time_all: Huidige looptijd van alle onvolledige acties
- top5_visible_contexts_with_incomplete_actions: Top 5 zichtbare contexten met onvolledige acties
+ tags: Tags
tag_cloud_90days_description: Deze tag cloud bevat tags van acties die zijn gemaakt of voltooid in de afgelopen 90 dagen.
- top10_projects_30days: Top 10 project in de laatste 30 dagen
- click_to_return: Klik %{link} om terug te keren naar de statistieken pagina.
+ actions_further: en verder
+ running_time_all: Huidige looptijd van alle onvolledige acties
+ time_of_day: Tijd van de dag (alle acties)
+ tod30: Tijd van de dag (laatste 30 dagen)
+ more_stats_will_appear: Meer statistieken zullen hier verschijnen zodra u acties hebt toegevoegd.
+ top5_visible_contexts_with_incomplete_actions: Top 5 zichtbare contexten met onvolledige acties
+ totals_tag_count: U heeft %{count} tags geplaatst op acties.
+ actions_30days_title: Acties in de afgelopen 30 dagen
+ totals_hidden_project_count: "%{count} zijn verborgen"
totals_completed_project_count: en %{count} zijn afgeronde projecten.
- click_to_show_actions_from_week: Klik %{link} om de acties van week %{week} en verder te zien.
- spread_of_running_actions_for_visible_contexts: Verdeling van actieve acties voor zichtbare contexten
- other_actions_label: (anderen)
- top10_projects: Top 10 projecten
- spread_of_actions_for_all_context: Verdeling van acties voor alle contexten
+ top10_projects_30days: Top 10 project in de laatste 30 dagen
actions_selected_from_week: Gekozen acties van week
+ click_to_show_actions_from_week: Klik %{link} om de acties van week %{week} en verder te zien.
+ top10_projects: Top 10 projecten
actions_avg_created: In de afgelopen 12 maanden heeft u gemiddeld%{count} acties aangemaakt
+ click_to_return: Klik %{link} om terug te keren naar de statistieken pagina.
+ spread_of_running_actions_for_visible_contexts: Verdeling van actieve acties voor zichtbare contexten
+ spread_of_actions_for_all_context: Verdeling van acties voor alle contexten
+ other_actions_label: (anderen)
+ actions_avg_completed: en voltooide een gemiddelde van %{count} acties per maand.
+ totals: Totalen
+ contexts: Contexten
time_of_day_legend:
number_of_actions: Aantal acties
time_of_day: Tijd van de dag
click_to_return_link: hier
totals_hidden_context_count: en %{count} zijn verborgen contexten.
- actions_avg_completed: en voltooide een gemiddelde van %{count} acties per maand.
- totals: Totalen
- contexts: Contexten
no_actions_selected: Er zijn geen acties geselecteerd.
- running_time_all_legend:
- actions: Acties
- percentage: Percentage
- running_time: Looptijd van een actie (weken). Klik op een balk voor meer info
+ click_to_update_actions: Klik op een balk in de grafiek op de acties hieronder aan te passen.
labels:
month_avg_completed: "%{months} gem afgerond per maand"
completed: Afgerond
@@ -297,20 +299,24 @@ nl:
avg_created: Gem gemaakt
avg_completed: Gem afgerond
created: Gemaakt
- click_to_update_actions: Klik op een balk in de grafiek op de acties hieronder aan te passen.
+ running_time_all_legend:
+ actions: Acties
+ percentage: Percentage
+ running_time: Looptijd van een actie (weken). Klik op een balk voor meer info
+ actions_actions_avg_created_30days: In de afgelopen 30 dagen heeft u gemiddeld %{count} acties gemaakt
tod30_legend:
number_of_actions: Aantal acties
time_of_day: Tijd van de dag
action_selection_title: "TRACKS:: Actie selectie"
- actions_actions_avg_created_30days: In de afgelopen 30 dagen heeft u gemiddeld %{count} acties gemaakt
todos:
show_from: Toon vanaf
- error_starring_recurring: "Kon niet de ster van deze terugkerende actie niet omgezetten \'%{description}\'"
+ error_starring_recurring: Kon niet de ster van deze terugkerende actie niet omgezetten \'%{description}\'
recurring_action_deleted: Actie werd verwijderd. Omdat deze actie herhalend is. werd een nieuwe actie toegevoegd
completed_actions: Voltooide acties
+ completed_rest_of_previous_month: Afgerond in de rest van de vorige maand
+ blocked_by: Geblokkeerd door %{predecessors}
completed_recurring: Afgesloten terugkerende todos
added_new_next_action: Nieuwe actie toegevoegd
- blocked_by: Geblokkeerd door %{predecessors}
defer_date_after_due_date: Uitsteldatum is na de vervaldag. Gelieve vervaldag bewerken alvorens uitsteldatum aan te passen.
star_action: Markeer deze actie met een ster
completed_recurrence_completed: Er is geen actie na de terugkerende actie die u new verwijderd heeft. De herhaling is voltooid
@@ -323,15 +329,15 @@ nl:
no_hidden_actions: Momenteel zijn er geen verborgen acties gevonden
action_due_on: (deadline actie op %{date})
edit_action_with_description: Bewerk de actie '%{description}'
+ tags: Tags (gescheiden door komma's)
archived_tasks_title: "TRACKS:: Gearchiveerde voltooide taken"
remove_dependency: Verwijder afhankelijkheid (zal niet de actie zelf verwijderen)
list_incomplete_next_actions: Toon onvoltooide acties
action_deleted_success: Actie succesvol verwijderd
- tags: Tags (gescheiden door komma's)
+ add_another_dependency: Nog een afhankelijkheid toevoegen
new_related_todo_created: Een nieuwe actie is toegevoegd, die behoort bij deze terugkerende todo
context_changed: Context veranderd in '%{name}'
mobile_todos_page_title: Alle acties
- add_another_dependency: Nog een afhankelijkheid toevoegen
delete_recurring_action_title: Verwijder de terugkerende actie
recurring_actions_title: TRACKS::Terugkerende acties
removed_predecessor: "'%{successor}' is verwijderd als afhankelijkheid van '%{predecessor}'."
@@ -342,6 +348,7 @@ nl:
edit_action: Actie bewerken
added_new_context: Nieuwe context toegevoegd
next_actions_description: "Filter:"
+ older_completed_items: Oudere voltooide items
list_incomplete_next_actions_with_limit: Toont de laatste %{count} onvoltooide acties
set_to_pending: "'%{task}' als wachtend ingesteld"
added_new_project: Nieuw project toegevoegd
@@ -349,16 +356,16 @@ nl:
completed: acties voltooid
due_today: deadline vandaag
due_within_a_week: deadline binnen een week
- older_completed_items: Oudere voltooide items
+ task_list_title: TRACKS::Toon acties
append_in_this_project: in dit project
error_deleting_item: Er is een fout opgetreden bij het verwijderen van het item '%{description}'
- task_list_title: TRACKS::Toon acties
no_actions_due_this_week: Geen acties met deadline in rest van deze week
- delete_recurring_action_confirm: Weet u zeker dat u wilt de terugkerende actie '%{description}' wilt verwijderen?
error_completing_todo: Er was een fout bij het voltooien / activeren van de terugkerende actie '%{description}'
no_recurring_todos: Momenteel zijn er geen terugkerende acties
+ recurring_pattern_removed: Het herhalingspatroon is verwijderd van %{count}
convert_to_project: Maak project
no_deferred_pending_actions: Momenteel zijn er geen uitgestelde of wachtende acties
+ delete_recurring_action_confirm: Weet u zeker dat u wilt de terugkerende actie '%{description}' wilt verwijderen?
completed_last_day: Voltooid in de laatste 24 uur
no_project: -- Geen project --
show_in_days: Toon over %{days} dagen
@@ -366,13 +373,15 @@ nl:
completed_more_than_x_days_ago: Voltooid meer dan %{count} dagen geleden
new_related_todo_created_short: een nieuwe actie gemaakt
feed_title_in_context: in context '%{context}'
+ all_completed: Alle afgeronde acties
older_than_days: Ouder dan %{count} dagen
+ completed_tagged_page_title: "TRACKS:: Afgeronde acties met tag %{tag_name}"
edit: Bewerken
pending: Wachtend
completed_actions_with: Afgeronde acties met de tag %{tag_name}
- completed_tasks_title: TRACKS::Voltooide taken
- deleted_success: De actie werd met succes verwijderd.
feed_title_in_project: In het project '%{project}'
+ deleted_success: De actie werd met succes verwijderd.
+ completed_tasks_title: TRACKS::Voltooide taken
clear_due_date: Maak deadline leeg
error_removing_dependency: Er is een fout opgetreden het verwijderen van de afhankelijke actie
hidden_actions: Verborgen acties
@@ -390,14 +399,14 @@ nl:
calendar_page_title: TRACKS::Agenda
in_hidden_state: in verborgen toestand
unresolved_dependency: De waarde die u ingevoerd heeft in het afhankelijkheden veld is niet herleidbaar naar een bestaande actie. Deze waarde wordt niet bewaard met de rest van de actie. Doorgaan?
- show_today: Toon vandaag
- no_actions_found_title: Geen acties gevonden
next_actions_due_date:
overdue_by: Over deadline met %{days} dag
- overdue_by_plural: Over deadline met %{days} dagen
due_today: Deadline vandaag
due_in_x_days: Deadline over %{days} dagen
+ overdue_by_plural: Over deadline met %{days} dagen
due_tomorrow: Deadline morgen
+ show_today: Toon vandaag
+ no_actions_found_title: Geen acties gevonden
completed_last_x_days: Voltooid in de laatste %{count} dagen
no_actions_with: Momenteel zijn er geen onvoltooide acties met de tag '%{tag_name}'
defer_x_days:
@@ -405,29 +414,32 @@ nl:
other: "%{count} dagen uitstellen"
added_new_next_action_singular: Nieuwe actie toegevoegd
no_completed_actions: Momenteel zijn er geen voltooide acties.
+ feeds:
+ completed: "Voltooid: %{date}"
+ due: "Deadline: %{date}"
deferred_pending_actions: Uitgestelde/wachtende acties
has_x_pending:
one: Heeft een wachtende actie
other: Heeft %{count} wachtende acties
- feeds:
- completed: "Voltooid: %{date}"
- due: "Deadline: %{date}"
+ recurring_todos: Terugkerende acties
delete_action: Verwijder actie
error_deleting_recurring: Er is een fout opgetreden bij het verwijderen van het item \'%{description}\'
- recurring_todos: Terugkerende acties
delete: Verwijder
+ no_last_completed_actions: Geen afgeronde acties gevonden
drag_action_title: Sleep naar een andere actie om deze afhankelijk te maken van die actie
cannot_add_dependency_to_completed_todo: Kan deze actie niet als een afhankelijkheid van een voltooide actie toevoegen!
+ action_marked_complete: De actie '%{description}' werd gemarkeerd als %{completed}
depends_on: Hangt af van
tickler_items_due:
one: Een tickler item wordt nu zichtbaar - vernieuw de pagina om het te zien.
other: "%{count} tickerl items zijn nu zichtbaar - vernieuw de pagina om ze te zien."
- action_marked_complete: De actie '%{description}' werd gemarkeerd als %{completed}
+ new_related_todo_not_created_short: een nieuwe actie is niet gemaakt
completed_today:
one: U heeft een actie tot nu toe vandaag voltooid.
other: U heeft %{count} acties tot nu toe vandaag voltooid.
added_new_next_action_plural: Nieuwe acties toegevoegd
- new_related_todo_not_created_short: een nieuwe actie is niet gemaakt
+ completed_rest_of_week: Afgerond in de rest van deze week
+ error_starring: Kon niet de ster van deze actie niet omzetten \'%{description}\'
calendar:
get_in_ical_format: Ontvang deze agenda in iCal-formaat
due_next_week: Deadline volgende week
@@ -439,7 +451,6 @@ nl:
no_actions_due_after_this_month: Geen acties met deadline na deze maand
due_this_month: Deadline in rest van %{month}
no_actions_due_this_month: Geen acties met deadline in de rest van deze maand
- error_starring: "Kon niet de ster van deze actie niet omzetten \'%{description}\'"
show_tomorrow: Toon morgen
recurrence:
ends_on_date: Eindigt op %{date}
@@ -454,48 +465,8 @@ nl:
starts_on: Begint op
daily: Dagelijks
show_option_always: altijd
- yearly_every_x_day: Elke %{month} %{day}
- recurrence_on_options: Stel herhaling in op
- daily_every_number_day: Elke %{number} dag(en)
- weekly_every_number_week: Herhaalt elke %{number} weken op
- ends_on: Eindigt op
- show_options: Toon de actie
- no_end_date: Geen einddatum
- day_x_on_every_x_month: Dag %{day} op elke %{month} maand
- yearly_options: Instellingen voor jaarlijks terugkerende acties
- yearly_every_xth_day: De %{day} %{day_of_week} van %{month}
- show_days_before: "%{days} dagen v\xC3\xB3\xC3\xB3r de deadline van actie"
- from_tickler: de datum dat de actie uit de tickler komt (geen deadline ingesteld)
- yearly: Jaarlijks
- monthly_every_xth_day: De %{day} %{day_of_week} van elke %{month} maand
- pattern:
- due: Deadline
- show: Tonen
- on_work_days: op werkdagen
- weekly: wekelijks
- every_n: elke %{n}
- every_day: elke dag
- every_month: elke maand
- on_day_n: op dag %{n}
- every_year_on: elk jaar op %{date}
- the_xth_day_of_month: de %{x} %{day} van %{month}
- every_xth_day_of_every_n_months: elke %{x} %{day} van elke %{n_months}
- first: eerste
- second: tweede
+ pattern:
third: derde
- fourth: vierde
- last: laatste
- from: vanaf
- until: tot
- times: voor %{number} keer
- day_names:
- - zondag
- - maandag
- - dinsdag
- - woensdag
- - donderdag
- - vrijdag
- - zaterdag
month_names:
-
- januari
@@ -509,49 +480,109 @@ nl:
- september
- oktober
- november
- - december
- tagged_page_title: "TRACKS::Tagged met '%{tag_name}'"
+ - december
+ every_n: elke %{n}
+ on_day_n: op dag %{n}
+ second: tweede
+ every_xth_day_of_every_n_months: elke %{x} %{day} van elke %{n_months}
+ weekly: wekelijks
+ from: vanaf
+ last: laatste
+ every_day: elke dag
+ the_xth_day_of_month: de %{x} %{day} van %{month}
+ times: voor %{number} keer
+ every_year_on: elk jaar op %{date}
+ first: eerste
+ show: Tonen
+ day_names:
+ - zondag
+ - maandag
+ - dinsdag
+ - woensdag
+ - donderdag
+ - vrijdag
+ - zaterdag
+ on_work_days: op werkdagen
+ fourth: vierde
+ due: Deadline
+ until: tot
+ every_month: elke maand
+ yearly_every_x_day: Elke %{month} %{day}
+ recurrence_on_options: Stel herhaling in op
+ daily_every_number_day: Elke %{number} dag(en)
+ show_options: Toon de actie
+ ends_on: Eindigt op
+ weekly_every_number_week: Herhaalt elke %{number} weken op
+ yearly_options: Instellingen voor jaarlijks terugkerende acties
+ show_days_before: "%{days} dagen v\xC3\xB3\xC3\xB3r de deadline van actie"
+ from_tickler: de datum dat de actie uit de tickler komt (geen deadline ingesteld)
+ yearly_every_xth_day: De %{day} %{day_of_week} van %{month}
+ no_end_date: Geen einddatum
+ day_x_on_every_x_month: Dag %{day} op elke %{month} maand
+ yearly: Jaarlijks
+ monthly_every_xth_day: De %{day} %{day_of_week} van elke %{month} maand
+ tagged_page_title: TRACKS::Tagged met '%{tag_name}'
no_completed_recurring: Momenteel zijn er geen voltooide terugkerende acties
added_dependency: "%{dependency} als afhankelijkheid toegevoegd."
+ all_completed_tagged_page_title: "TRACKS:: Alle afgeronde acties met tag %{tag_name}"
no_deferred_actions: Momenteel zijn er geen uitgestelde acties.
+ completed_rest_of_month: Afgerond in de rest van deze maand
recurrence_completed: Er is geen volgende actie na de terugkerende actie die u zojuist hebt voltooid. De herhaling is voltooid
- in_pending_state: in wachtende toestand
no_actions_found: Momenteel zijn er geen onafgeronde acties.
+ in_pending_state: in wachtende toestand
error_toggle_complete: Kon deze actie niet als afgerond markeren
due: Deadline
- action_marked_complete_error: "De actie '%{description}' is niet gemarkeerd als %{completed} vanwege een fout op de server."
- add_new_recurring: Voeg een nieuwe terugkerende actie toe
- recurring_action_saved: Terugkerende actie opgeslagen
- action_saved_to_tickler: Actie opgeslagen in tickler
- depends_on_separate_with_commas: Afhankelijk van (gescheiden door komma's)
+ action_marked_complete_error: De actie '%{description}' is niet gemarkeerd als %{completed} vanwege een fout op de server.
completed_in_archive:
one: Er is een voltooide actie in het archief.
other: Er zijn %{count} afgeronde acties in het archief.
+ no_incomplete_actions: Er zijn geen onvoltooide acties
+ depends_on_separate_with_commas: Afhankelijk van (gescheiden door komma's)
+ action_saved_to_tickler: Actie opgeslagen in tickler
+ recurring_action_saved: Terugkerende actie opgeslagen
to_tickler: naar tickler
next_actions_description_additions:
completed: in de afgelopen %{count} dagen
due_date: met een deadline %{due_date} of eerder
overdue: Achterstallig
- no_incomplete_actions: Er zijn geen onvoltooide acties
+ add_new_recurring: Voeg een nieuwe terugkerende actie toe
notes:
+ delete_item_title: Verwijder item
delete_note_title: Verwijder de notitie '%{id}'
delete_confirmation: Weet u zeker dat u de notitie '%{id}' wilt verwijderen?
- delete_item_title: Verwijder item
+ deleted_note: Verwijder notitie '%{id}'
note_link_title: Toon notitie %{id}
show_note_title: Toon notitie
- deleted_note: Verwijder notitie '%{id}'
note_location_link: "In:"
edit_item_title: Item bewerken
- note_header: Notitie %{id}
no_notes_available: "Momenteel zijn er geen notities: voeg notities toe aan projecten vanaf de individuele project pagina's."
+ note_header: Notitie %{id}
delete_note_confirm: Weet u zeker dat u de notitie '%{id}' wilt verwijderen?
+ states:
+ hidden_plural: Verborgen
+ completed: Afgerond
+ completed_plural: Afgeronde
+ visible_plural: Zichtbare
+ active_plural: Actieve
+ visible: Zichtbaar
+ hidden: Verborgen
+ active: Actief
+ time:
+ am: ochtend
+ formats:
+ default: "%A, %d %B %Y %H:%M:%S %z"
+ time: "%H:%M"
+ short: "%d %B %H:%M"
+ month_day: "%d %B"
+ long: "%A, %d. %B %Y, %H:%M"
+ pm: middag
projects:
- default_context_set: Stel project standaard context in op %{default_context}
- no_actions_in_project: Momenteel zijn er geen onafgeronde acties in dit project
deferred_actions: Uitgestelde acties voor dit project
was_marked_hidden: is gemarkeerd als verborgen
edit_project_title: Bewerk project
default_tags_removed_notice: De standaard tags zijn verwijderd
+ default_context_set: Stel project standaard context in op %{default_context}
+ no_actions_in_project: Momenteel zijn er geen onafgeronde acties in dit project
hide_form: Verberg formulier
page_title: "TRACKS:: Project: %{project}"
this_project: Dit project
@@ -560,80 +591,63 @@ nl:
to_new_project_page: Ga naar de nieuwe projectpagina
no_notes_attached: Momenteel zijn er geen notities toegevoegd aan dit project
deferred_actions_empty: Er zijn geen uitgestelde acties voor dit project
+ no_last_completed_projects: Geen afgeronde projecten gevonden
notes: Notities
todos_append: in dit project
+ no_projects: Momenteel zijn er geen projecten
hide_form_title: Verberg nieuw project formulier
notes_empty: Er zijn geen notities voor dit project
- no_projects: Momenteel zijn er geen projecten
with_no_default_context: zonder standaard context
delete_project: Project verwijderen
completed_actions_empty: Er zijn nog geen afgeronde acties voor dit project
- show_form: Toevoegen van een project
- actions_in_project_title: Acties in dit project
delete_project_confirmation: Weet u zeker dat u wilt het project '%{name} wilt verwijderen?
with_default_context: met een standaard context '%{context_name}'
+ show_form: Toevoegen van een project
+ actions_in_project_title: Acties in dit project
+ add_project: Voeg project toe
+ set_default_tags_notice: Stel project standaard tags in op %{default_tags}
settings: Instellingen
- add_note: Een notitie toevoegen
with_default_tags: en met '%{tags}' als de standaard tags
+ list_projects: "TRACKS:: Overzicht van projecten"
+ project_saved_status: Project opgeslagen
+ add_note: Een notitie toevoegen
is_active: is actief
completed_projects: Voltooide projecten
- add_project: Voeg project toe
- list_projects: "TRACKS:: Overzicht van projecten"
- set_default_tags_notice: Stel project standaard tags in op %{default_tags}
- project_saved_status: Project opgeslagen
hidden_projects: Verborgen projecten
delete_project_title: Verwijder het project
- was_marked_complete: is gemarkeerd als voltooid
- completed_actions: Afgeronde acties voor dit project
default_context_removed: Standaard context verwijderd
add_note_submit: Notitie toevoegen
+ completed_actions: Afgeronde acties voor dit project
+ was_marked_complete: is gemarkeerd als voltooid
+ default_context: De standaard context voor dit project is %{context}
active_projects: Actieve projecten
status_project_name_changed: Naam van het project werd gewijzigd
no_default_context: Dit project heeft geen standaard context
with_no_default_tags: en zonder standaard tags
- default_context: De standaard context voor dit project is %{context}
state: Dit project is %{state}
edit_project_settings: Bewerk project instellingen
- time:
- am: ochtend
- formats:
- default: "%A, %d %B %Y %H:%M:%S %z"
- time: "%H:%M"
- short: "%d %B %H:%M"
- long: "%A, %d. %B %Y, %H:%M"
- month_day: "%d %B"
- pm: middag
- states:
- hidden_plural: Verborgen
- completed: Afgerond
- completed_plural: Afgeronde
- visible_plural: Zichtbare
- active_plural: Actieve
- visible: Zichtbaar
- active: Actief
- hidden: Verborgen
+ errors:
+ user_unauthorized: "401 Unauthorized: Alleen administratieve gebruikers mogen deze functie gebruiken."
preferences:
- change_identity_url: Verander uw Identity URL
- open_id_url: Uw OpenID URL is
staleness_starts_after: Markeren openstaande acties begint na %{days} dagen
+ open_id_url: Uw OpenID URL is
+ change_identity_url: Verander uw Identity URL
change_password: Wijzig uw wachtwoord
page_title: "TRACKS:: Voorkeuren"
title: Uw voorkeuren
token_description: Token (voor feeds en API gebruik)
- show_number_completed: Toon %{number} voltooide items
is_false: Nee
+ show_number_completed: Toon %{number} voltooide items
edit_preferences: Voorkeuren bewerken
page_title_edit: "TRACKS:: Voorkeuren bewerken"
is_true: Ja
sms_context_none: Geen
generate_new_token: Genereer een nieuwe token
token_header: Uw token
- change_authentication_type: Verander uw authenticatietype
current_authentication_type: Uw authenticatietype is %{auth_type}
authentication_header: Uw authenticatie
+ change_authentication_type: Verander uw authenticatietype
generate_new_token_confirm: Weet u dit zeker? Het genereren van een nieuw token zal de bestaande te vervangen en dit zal het extern gebruiken van de oude token laten mislukken.
- errors:
- user_unauthorized: "401 Unauthorized: Alleen administratieve gebruikers mogen deze functie gebruiken."
date:
month_names:
-
@@ -649,6 +663,10 @@ nl:
- Oktober
- November
- December
+ order:
+ - :day
+ - :month
+ - :year
abbr_day_names:
- Zo
- Ma
@@ -657,16 +675,12 @@ nl:
- Do
- Vr
- Za
- order:
- - :day
- - :month
- - :year
formats:
only_day: "%e"
default: "%d-%m-%Y"
short: "%e %b"
- long: "%e %B %Y"
month_day: "%B %d"
+ long: "%e %B %Y"
day_names:
- Zondag
- Maandag
@@ -696,6 +710,22 @@ nl:
two_words_connector: en
select:
prompt: Selecteer
+ footer:
+ send_feedback: Stuur reactie op %{version}
+ shared:
+ multiple_next_actions: Meerdere acties (een op elke regel)
+ toggle_single: Voeg een actie toe
+ hide_form: Verberg formulier
+ add_action: Actie toevoegen
+ add_actions: Toevoegen acties
+ tags_for_all_actions: Tags voor alle acties (scheiden met een komma)
+ toggle_single_title: Voeg een nieuwe actie toe
+ project_for_all_actions: Project voor alle acties
+ context_for_all_actions: Context voor alle acties
+ toggle_multi: Voeg meerdere acties toe
+ separate_tags_with_commas: gescheiden door komma's
+ toggle_multi_title: Toggle single / multi actie formulier
+ hide_action_form_title: Verberg nieuwe actie formulier
dates:
month_names:
- Januari
@@ -718,75 +748,35 @@ nl:
- Donderdag
- Vrijdag
- Zaterdag
- footer:
- send_feedback: Stuur reactie op %{version}
- shared:
- multiple_next_actions: Meerdere acties (een op elke regel)
- toggle_single: Voeg een actie toe
- hide_form: Verberg formulier
- add_action: Actie toevoegen
- add_actions: Toevoegen acties
- tags_for_all_actions: Tags voor alle acties (scheiden met een komma)
- toggle_single_title: Voeg een nieuwe actie toe
- project_for_all_actions: Project voor alle acties
- context_for_all_actions: Context voor alle acties
- toggle_multi: Voeg meerdere acties toe
- separate_tags_with_commas: gescheiden door komma's
- toggle_multi_title: Toggle single / multi actie formulier
- hide_action_form_title: Verberg nieuwe actie formulier
- feedlist:
- choose_context: Kies de context waar je een feed van wilt
- actions_due_today: Acties die vandaag of eerder af moeten
- legend: Legenda
- all_contexts: Alle contexten
- rss_feed: RSS Feed
- ical_feed: iCal feed
- choose_project: Kies het project waar je een feed van wilt
- all_projects: Alle projecten
- project_needed: "Er moet ten minste \xC3\xA9\xC3\xA9n project zijn voor een feed opgevraagd kan worden"
- select_feed_for_project: Kies de feed voor dit project
- active_projects_wo_next: Actieve projecten zonder acties
- active_starred_actions: Alle gesterde, actieve acties
- select_feed_for_context: Kies de feed voor deze context
- projects_and_actions: Actieve projecten met hun acties
- context_needed: "Er moet eerst ten minste \xC3\xA9\xC3\xA9n context zijn voor je een feed kan opvragen"
- notice_incomplete_only: "Merk op: alle feeds laten alleen acties zien die niet afgerond zijn, tenzij anders vermeld."
- actions_due_next_week: Acties die binnen 7 dagen afgerond moeten
- all_actions: Alle acties
- actions_completed_last_week: Acties afgerond in de afgelopen 7 dagen
- context_centric_actions: Feeds voor onafgeronde acties in een specifieke context
- plain_text_feed: Reguliere tekst feed
- last_fixed_number: Laatste %{number} acties
- project_centric: Feeds voor onafgeronde acties in een specifiek project
users:
- failed_to_delete_user: Mislukt de gebruiker %{username} te verwijderen
- openid_url_verified: Je hebt %{url} met succes geverifieerd als je identiteit en uw authenticatie type OpenID opgeslagen.
auth_type_update_error: "Er was een probleem met het bijwerken van uw authenticatietype: %{error_messages}"
- successfully_deleted_user: Succesvol gebruiker %{username} verwijderd
destroy_successful: Gebruiker %{login} met succes verwijderd
+ successfully_deleted_user: Succesvol gebruiker %{username} verwijderd
total_contexts: Totaal aantal contexten
+ failed_to_delete_user: Mislukt de gebruiker %{username} te verwijderen
first_user_heading: "Welkom bij TRACKS. Om te beginnen, maak dan een admin account:"
+ openid_url_verified: Je hebt %{url} met succes geverifieerd als je identiteit en uw authenticatie type OpenID opgeslagen.
new_token_generated: Nieuwe token met succes gegenereerd
total_projects: Totaal aantal projecten
signup_successful: Aanmelding succesvol voor gebruiker %{username}.
change_password_submit: Wachtwoord wijzigen
no_signups_title: "TRACKS:: Geen nieuwe aanmeldingen"
user_created: Gebruiker aangemaakt.
- password_updated: Wachtwoord bijgewerkt.
- account_signup: Aanmelden voor een account
manage_users: Beheren gebruikers
- desired_login: Gewenste login
+ account_signup: Aanmelden voor een account
+ password_updated: Wachtwoord bijgewerkt.
confirm_password: Bevestig wachtwoord
- signup: Aanmelden
new_user_heading: "Registreer een nieuwe gebruiker:"
+ signup: Aanmelden
auth_type_updated: Authenticatietype bijgewerkt.
total_actions: Totaal aanal acties
- destroy_error: Er is een fout opgetreden bij het verwijderen van de gebruiker '%{login}'
- choose_password: Kies een wachtwoord
- change_password_title: TRACKS::Wachtwoord wijzigen
+ desired_login: Gewenste login
change_auth_type_title: TRACKS::Wijzig authenticatietype
change_password_prompt: Voer uw nieuwe wachtwoord in de onderstaande velden in en kies 'Wachtwoord wijzigen' om uw huidige wachtwoord met uw nieuwe te vervangen.
password_confirmation_label: Bevestig wachtwoord
+ destroy_error: Er is een fout opgetreden bij het verwijderen van de gebruiker '%{login}'
+ choose_password: Kies een wachtwoord
+ change_password_title: TRACKS::Wachtwoord wijzigen
label_auth_type: Authenticatietype
new_password_label: Nieuw wachtwoord
register_with_cas: Met uw CAS gebruikersnaam
@@ -795,12 +785,36 @@ nl:
total_users_count: Je hebt een totaal van %{count} gebruikers
destroy_confirmation: "Waarschuwing: dit zal de gebruiker '%{login} verwijderen met al zijn acties, contexten, projecten en notities. Weet u zeker dat u wilt doorgaan?"
signup_new_user: Registreer nieuwe gebruiker
- change_authentication_type: Wijzigen authenticatietype
- auth_change_submit: Wijzigen authenticatietype
- identity_url: Identiteit URL
openid_ok_pref_failed: Je hebt succesvol de %{url} geverifieerd als je identiteit, maar er was een probleem met het opslaan van uw authenticatie voorkeuren.
+ change_authentication_type: Wijzigen authenticatietype
+ identity_url: Identiteit URL
+ auth_change_submit: Wijzigen authenticatietype
total_notes: Totaal aantal notities
select_authentication_type: Selecteer uw nieuwe authenticatie type en klik op 'Wijzigen authenticatietype' om uw huidige instellingen te vervangen.
+ feedlist:
+ choose_context: Kies de context waar je een feed van wilt
+ actions_due_today: Acties die vandaag of eerder af moeten
+ legend: Legenda
+ rss_feed: RSS Feed
+ ical_feed: iCal feed
+ all_contexts: Alle contexten
+ choose_project: Kies het project waar je een feed van wilt
+ all_projects: Alle projecten
+ project_needed: "Er moet ten minste \xC3\xA9\xC3\xA9n project zijn voor een feed opgevraagd kan worden"
+ select_feed_for_project: Kies de feed voor dit project
+ active_projects_wo_next: Actieve projecten zonder acties
+ active_starred_actions: Alle gesterde, actieve acties
+ projects_and_actions: Actieve projecten met hun acties
+ context_needed: "Er moet eerst ten minste \xC3\xA9\xC3\xA9n context zijn voor je een feed kan opvragen"
+ select_feed_for_context: Kies de feed voor deze context
+ actions_due_next_week: Acties die binnen 7 dagen afgerond moeten
+ notice_incomplete_only: "Merk op: alle feeds laten alleen acties zien die niet afgerond zijn, tenzij anders vermeld."
+ plain_text_feed: Reguliere tekst feed
+ last_fixed_number: Laatste %{number} acties
+ all_actions: Alle acties
+ actions_completed_last_week: Acties afgerond in de afgelopen 7 dagen
+ context_centric_actions: Feeds voor onafgeronde acties in een specifieke context
+ project_centric: Feeds voor onafgeronde acties in een specifiek project
sidebar:
list_name_active_contexts: Actieve contexten
list_name_active_projects: Actieve projecten
@@ -819,19 +833,19 @@ nl:
no_contexts_active: Momenteel zijn er geen actieve contexten
context_hide: Verberg van de start pagina?
hidden_contexts: Verborgen contexten
- show_form: Maak een nieuwe context
visible_contexts: Zichtbare contexten
save_status_message: Context bewaard
+ show_form: Maak een nieuwe context
add_context: Context toevoegen
context_name: Context naam
update_status_message: Naam van de context was veranderd
- new_context_post: "' zal ook gemaakt worden. Weet u dit zeker?"
status_active: Context is actief
- no_actions: Momenteel zijn er geen onafgeronde acties in deze context
+ new_context_post: "' zal ook gemaakt worden. Weet u dit zeker?"
last_completed_in_context: in deze context (laatste %{number})
context_deleted: De context '%{name}' is verwijderd
no_contexts_hidden: Momenteel zijn er geen verborgen contexten
new_context_pre: Nieuwe context '
+ no_actions: Momenteel zijn er geen onafgeronde acties in deze context
status_hidden: Context is verborgen
datetime:
prompts:
@@ -879,10 +893,10 @@ nl:
other: over %{count} jaren
half_a_minute: halve minuut
login:
+ login_cas: Ga naar het CAS
openid_identity_url_not_found: Sorry, geen gebruiker met die identiteit URL bestaat (%{identity_url})
user_no_expiry: Blijf ingelogd
sign_in: Meld aan
- login_cas: Ga naar het CAS
cas_login: CAS Inloggen
successful_with_session_info: "Login succesvol:"
please_login: Log in om Tracks te gebruiken
@@ -899,14 +913,14 @@ nl:
option_separator: of,
session_time_out: Sessie is verlopen. Gelieve %{link}
login_standard: Ga terug naar de standaard login
- login_with_openid: inloggen met een OpenID
- unsuccessful: Login mislukt.
log_in_again: opnieuw in te loggen.
logged_out: Je bent afgemeld bij Tracks.
+ login_with_openid: inloggen met een OpenID
+ unsuccessful: Login mislukt.
search:
contexts_matching_query: Contexten passend bij zoekopdracht
tags_matching_query: Tags passend bij zoekopdracht
- notes_matching_query: Notities passend bij zoekopdracht
- no_results: Uw zoekopdracht heeft geen resultaten opgeleverd.
todos_matching_query: Todos passend bij zoekopdracht
projects_matching_query: Projecten passend bij zoekopdracht
+ notes_matching_query: Notities passend bij zoekopdracht
+ no_results: Uw zoekopdracht heeft geen resultaten opgeleverd.
diff --git a/config/routes.rb b/config/routes.rb
index e1fd8c5d..830e4f63 100644
--- a/config/routes.rb
+++ b/config/routes.rb
@@ -36,6 +36,8 @@ ActionController::Routing::Routes.draw do |map|
# routed to mobile view of tags.
todos.tag 'todos/tag/:name.m', :action => "tag", :format => 'm'
todos.tag 'todos/tag/:name', :action => "tag", :name => /.*/
+ todos.done_tag 'todos/done/tag/:name', :action => "done_tag"
+ todos.all_done_tag 'todos/all_done/tag/:name', :action => "all_done_tag"
todos.tags 'tags.autocomplete', :action => "tags", :format => 'autocomplete'
todos.auto_complete_for_predecessor 'auto_complete_for_predecessor', :action => 'auto_complete_for_predecessor'
diff --git a/features/step_definitions/container_steps.rb b/features/step_definitions/container_steps.rb
index b3228384..76216a7d 100644
--- a/features/step_definitions/container_steps.rb
+++ b/features/step_definitions/container_steps.rb
@@ -60,6 +60,61 @@ Then /^I should not see "([^"]*)" in the context container for "([^"]*)"$/ do |t
end
end
+Then /^I should see "([^"]*)" in the deferred container$/ do |todo_description|
+ todo = @current_user.todos.find_by_description(todo_description)
+ todo.should_not be_nil
+
+ xpath = "//div[@id='tickler']//div[@id='line_todo_#{todo.id}']"
+
+ wait_for :timeout => 5 do
+ selenium.is_element_present(xpath)
+ end
+end
+
+Then /^I should see "([^"]*)" in the action container$/ do |todo_description|
+ todo = @current_user.todos.find_by_description(todo_description)
+ todo.should_not be_nil
+
+ xpath = "//div[@id='p#{todo.project.id}items']//div[@id='line_todo_#{todo.id}']"
+
+ wait_for :timeout => 5 do
+ selenium.is_element_present(xpath)
+ end
+end
+
+Then /^I should see "([^"]*)" in the completed container$/ do |todo_description|
+ todo = @current_user.todos.find_by_description(todo_description)
+ todo.should_not be_nil
+
+ xpath = "//div[@id='completed_container']//div[@id='line_todo_#{todo.id}']"
+
+ wait_for :timeout => 5 do
+ selenium.is_element_present(xpath)
+ end
+end
+
+Then /^I should not see "([^"]*)" in the deferred container$/ do |todo_description|
+ todo = @current_user.todos.find_by_description(todo_description)
+ todo.should_not be_nil
+
+ xpath = "//div[@id='tickler']//div[@id='line_todo_#{todo.id}']"
+
+ wait_for :timeout => 5 do
+ !selenium.is_element_present(xpath)
+ end
+end
+
+Then /^I should see "([^"]*)" in the due next month container$/ do |todo_description|
+ todo = @current_user.todos.find_by_description(todo_description)
+ todo.should_not be_nil
+
+ xpath = "//div[@id='due_after_this_month']//div[@id='line_todo_#{todo.id}']"
+
+ wait_for :timeout => 5 do
+ selenium.is_element_present(xpath)
+ end
+end
+
Then /^I should see "([^"]*)" in project container for "([^"]*)"$/ do |todo_description, project_name|
todo = @current_user.todos.find_by_description(todo_description)
todo.should_not be_nil
@@ -75,19 +130,25 @@ end
Then /^I should see "([^"]*)" in the active recurring todos container$/ do |repeat_pattern|
repeat = @current_user.recurring_todos.find_by_description(repeat_pattern)
- repeat.should_not be_nil
- xpath = "//div[@id='active_recurring_todos_container']//div[@id='recurring_todo_#{repeat.id}']"
- selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5)
- selenium.is_visible(xpath).should be_true
+ unless repeat.nil?
+ xpath = "//div[@id='active_recurring_todos_container']//div[@id='recurring_todo_#{repeat.id}']"
+ selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5)
+ selenium.is_visible(xpath).should be_true
+ else
+ Then "I should not see \"#{repeat_pattern}\""
+ end
end
Then /^I should not see "([^"]*)" in the completed recurring todos container$/ do |repeat_pattern|
repeat = @current_user.recurring_todos.find_by_description(repeat_pattern)
- repeat.should_not be_nil
-
- xpath = "//div[@id='completed_recurring_todos_container']//div[@id='recurring_todo_#{repeat.id}']"
- selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5)
- selenium.is_visible(xpath).should be_true
+
+ unless repeat.nil?
+ xpath = "//div[@id='completed_recurring_todos_container']//div[@id='recurring_todo_#{repeat.id}']"
+ selenium.wait_for_element("xpath=#{xpath}", :timeout_in_seconds => 5)
+ selenium.is_visible(xpath).should be_true
+ else
+ Then "I should not see \"#{repeat_pattern}\""
+ end
end
diff --git a/features/step_definitions/generic_steps.rb b/features/step_definitions/generic_steps.rb
index 4b876ad2..41513295 100644
--- a/features/step_definitions/generic_steps.rb
+++ b/features/step_definitions/generic_steps.rb
@@ -2,6 +2,10 @@ Given /this is a pending scenario/ do
pending
end
+Given /^I set the locale to "([^"]*)"$/ do |locale|
+ @locale = locale
+end
+
Given /^I am working on the mobile interface$/ do
@mobile_interface = true
end
@@ -11,7 +15,7 @@ Then /the badge should show (.*)/ do |number|
xpath= "//span[@id='badge_count']"
if response.respond_to? :selenium
- response.should have_xpath(xpath)
+ response.should have_xpath(xpath)
badge = response.selenium.get_text("xpath=#{xpath}").to_i
else
response.should have_xpath(xpath) do |node|
diff --git a/features/step_definitions/todo_steps.rb b/features/step_definitions/todo_steps.rb
index ad4eb612..f77d41c8 100644
--- a/features/step_definitions/todo_steps.rb
+++ b/features/step_definitions/todo_steps.rb
@@ -33,10 +33,6 @@ Given /^I have ([0-9]+) deferred todos$/ do |count|
end
end
-Given /^I have a deferred todo "([^"]*)"$/ do |description|
- Given "I have a deferred todo \"#{description}\" in the context \"context B\""
-end
-
Given /^I have a deferred todo "([^"]*)" in the context "([^"]*)"$/ do |description, context_name|
context = @current_user.contexts.find_or_create(:name => context_name)
todo = @current_user.todos.create!(:context_id => context.id, :description => description)
@@ -44,23 +40,40 @@ Given /^I have a deferred todo "([^"]*)" in the context "([^"]*)"$/ do |descript
todo.save!
end
+Given /^I have a deferred todo "([^"]*)"$/ do |description|
+ Given "I have a deferred todo \"#{description}\" in the context \"context B\""
+end
+
Given /^I have ([0-9]+) completed todos in project "([^"]*)" in context "([^"]*)"$/ do |count, project_name, context_name|
- context = @current_user.contexts.find_by_name(context_name)
- context.should_not be_nil
-
- project = @current_user.projects.find_by_name(project_name)
- project.should_not be_nil
-
+ @context = @current_user.contexts.find_by_name(context_name)
+ @context.should_not be_nil
+
+ @project = @current_user.projects.find_by_name(project_name)
+ @project.should_not be_nil
+
+ @todos = []
count.to_i.downto 1 do |i|
- todo = @current_user.todos.create!(:context_id => context.id, :description => "todo #{i}", :project_id => project.id)
- todo.complete!
+ @todo = @current_user.todos.create!(:context_id => @context.id, :description => "todo #{i}", :project_id => @project.id)
+ @todo.complete!
+ @todos << @todo
end
end
+Given /^I have a completed todo "([^"]*)" in project "([^"]*)" in context "([^"]*)"$/ do |action_description, project_name, context_name|
+ Given "I have 1 completed todos in project \"#{project_name}\" in context \"#{context_name}\""
+ @todos[0].description = action_description
+ @todos[0].save!
+end
+
+Given /^I have (\d+) completed todos in project "([^"]*)" in context "([^"]*)" with tags "([^"]*)"$/ do |count, project_name, context_name, tags|
+ Given "I have #{count} completed todos in project \"#{project_name}\" in context \"#{context_name}\""
+ @todos.each { |t| t.tag_with(tags); t.save! }
+end
+
Given /^I have ([0-9]+) completed todos in context "([^"]*)"$/ do |count, context_name|
context = @current_user.contexts.find_by_name(context_name)
context.should_not be_nil
-
+
count.to_i.downto 1 do |i|
todo = @current_user.todos.create!(:context_id => context.id, :description => "todo #{i}")
todo.complete!
@@ -73,11 +86,13 @@ Given /^I have ([0-9]+) completed todos$/ do |count|
end
Given /^I have ([0-9]+) completed todos with a note$/ do |count|
- context = @current_user.contexts.find_or_create(:name => "context D")
- count.to_i.downto 1 do |i|
- todo = @current_user.todos.create!(:context_id => context.id, :description => "todo #{i}", :notes => "note #{i}")
- todo.complete!
- end
+ Given "I have #{count} completed todos"
+ @todos.each { |t| t.notes = "note #{t.id}"; t.save!}
+end
+
+Given /^I have ([0-9]+) completed todos with a note in project "([^"]*)" in context "([^"]*)" with tags "([^"]*)"$/ do |count, project_name, context_name, tags|
+ Given "I have #{count} completed todos in project \"#{project_name}\" in context \"#{context_name}\" with tags \"#{tags}\""
+ @todos.each { |t| t.notes = "note #{t.id}"; t.save! }
end
Given /^I have a todo with description "([^"]*)" in project "([^"]*)" with tags "([^"]*)" in the context "([^"]*)"$/ do |action_description, project_name, tags, context_name|
@@ -146,10 +161,14 @@ When /^I mark "([^"]*)" as uncompleted$/ do |action_description|
todo_container = "p#{todo.project_id}items" if @source_view=="project"
todo_container = "c#{todo.context_id}items" if @source_view=="context" || @source_view=="todos" || @source_view=="tag"
- todo_container.should_not == "fail"
+ todo_container.should_not == "fail" unless @source_view=="done"
- wait_for :timeout => 5 do
- selenium.is_element_present("//div[@id='#{todo_container}']//div[@id='line_todo_#{todo.id}']")
+ unless @source_view=="done"
+ wait_for :timeout => 5 do
+ selenium.is_element_present("//div[@id='#{todo_container}']//div[@id='line_todo_#{todo.id}']")
+ end
+ else
+ wait_for_ajax
end
end
@@ -157,7 +176,6 @@ When /^I mark the complete todo "([^"]*)" active$/ do |action_description|
When "I mark \"#{action_description}\" as uncompleted"
end
-
When /^I star the action "([^"]*)"$/ do |action_description|
todo = @current_user.todos.find_by_description(action_description)
todo.should_not be_nil
@@ -175,6 +193,24 @@ When /^I star the action "([^"]*)"$/ do |action_description|
end
end
+When /^I unstar the action "([^"]*)"$/ do |action_description|
+ todo = @current_user.todos.find_by_description(action_description)
+ todo.should_not be_nil
+
+ xpath_unstarred = "//div[@id='line_todo_#{todo.id}']//img[@class='unstarred_todo']"
+ xpath_starred = "//div[@id='line_todo_#{todo.id}']//img[@class='starred_todo']"
+
+ selenium.is_element_present(xpath_starred).should be_true
+
+ star_img = "//img[@id='star_img_#{todo.id}']"
+ selenium.click(star_img, :wait_for => :ajax, :javascript_framework => :jquery)
+
+ wait_for :timeout => 5 do
+ selenium.is_element_present(xpath_unstarred)
+ end
+end
+
+
Then /^I should see a starred "([^"]*)"$/ do |action_description|
todo = @current_user.todos.find_by_description(action_description)
todo.should_not be_nil
@@ -184,6 +220,18 @@ Then /^I should see a starred "([^"]*)"$/ do |action_description|
selenium.is_element_present(xpath_starred).should be_true
end
+Then /^I should see an unstarred "([^"]*)"$/ do |action_description|
+ todo = @current_user.todos.find_by_description(action_description)
+ todo.should_not be_nil
+
+ xpath_starred = "//div[@id='line_todo_#{todo.id}']//img[@class='unstarred_todo']"
+
+ wait_for :timeout => 5 do
+ selenium.is_element_present(xpath_starred)
+ end
+end
+
+
When /^I delete the action "([^"]*)"$/ do |action_description|
todo = @current_user.todos.find_by_description(action_description)
todo.should_not be_nil
@@ -231,61 +279,6 @@ Then /^a confirmation for adding a new context "([^"]*)" should be asked$/ do |c
selenium.get_confirmation.should == "New context '#{context_name}' will be also created. Are you sure?"
end
-Then /^I should see "([^"]*)" in the deferred container$/ do |todo_description|
- todo = @current_user.todos.find_by_description(todo_description)
- todo.should_not be_nil
-
- xpath = "//div[@id='tickler']//div[@id='line_todo_#{todo.id}']"
-
- wait_for :timeout => 5 do
- selenium.is_element_present(xpath)
- end
-end
-
-Then /^I should see "([^"]*)" in the action container$/ do |todo_description|
- todo = @current_user.todos.find_by_description(todo_description)
- todo.should_not be_nil
-
- xpath = "//div[@id='p#{todo.project.id}items']//div[@id='line_todo_#{todo.id}']"
-
- wait_for :timeout => 5 do
- selenium.is_element_present(xpath)
- end
-end
-
-Then /^I should see "([^"]*)" in the completed container$/ do |todo_description|
- todo = @current_user.todos.find_by_description(todo_description)
- todo.should_not be_nil
-
- xpath = "//div[@id='completed_container']//div[@id='line_todo_#{todo.id}']"
-
- wait_for :timeout => 5 do
- selenium.is_element_present(xpath)
- end
-end
-
-Then /^I should not see "([^"]*)" in the deferred container$/ do |todo_description|
- todo = @current_user.todos.find_by_description(todo_description)
- todo.should_not be_nil
-
- xpath = "//div[@id='tickler']//div[@id='line_todo_#{todo.id}']"
-
- wait_for :timeout => 5 do
- !selenium.is_element_present(xpath)
- end
-end
-
-Then /^I should see "([^"]*)" in the due next month container$/ do |todo_description|
- todo = @current_user.todos.find_by_description(todo_description)
- todo.should_not be_nil
-
- xpath = "//div[@id='due_after_this_month']//div[@id='line_todo_#{todo.id}']"
-
- wait_for :timeout => 5 do
- selenium.is_element_present(xpath)
- end
-end
-
Then /^the selected project should be "([^"]*)"$/ do |content|
# Works for mobile. TODO: make it work for both mobile and non-mobile
field_labeled("Project").element.search(".//option[@selected = 'selected']").inner_html.should =~ /#{content}/
diff --git a/features/support/paths.rb b/features/support/paths.rb
index 3eaea682..5703b413 100644
--- a/features/support/paths.rb
+++ b/features/support/paths.rb
@@ -7,24 +7,47 @@ module NavigationHelpers
#
def path_to(page_name)
options = @mobile_interface ? {:format => :m} : {}
+ options.merge({:locale => @locale}) unless @locale.blank?
+ puts "@@@ l=#{@locale} sv = #{@source_view}- #{options}"
@source_view = nil
case page_name
when /the home\s?page/
@source_view = "todos"
root_path(options)
+
when /the done page/
+ @source_view = "done"
done_overview_path(options)
when /the done actions page for context "([^"]*)"/i
+ @source_view = "done"
context = @current_user.contexts.find_by_name($1)
- done_todos_context_path(context)
+ done_todos_context_path(context, options)
when /the done actions page for project "([^"]*)"/i
+ @source_view = "done"
project = @current_user.projects.find_by_name($1)
- done_todos_project_path(project)
+ done_todos_project_path(project, options)
+ when /the done actions page for tag "([^"]*)"/i
+ @source_view = "done"
+ done_tag_path($1, options)
when /the done actions page/
+ @source_view = "done"
done_todos_path(options)
+ when /the all done actions page for context "([^"]*)"/i
+ @source_view = "done"
+ context = @current_user.contexts.find_by_name($1)
+ all_done_todos_context_path(context, options)
+ when /the all done actions page for project "([^"]*)"/i
+ @source_view = "done"
+ project = @current_user.projects.find_by_name($1)
+ all_done_todos_project_path(project, options)
+ when /the all done actions page for tag "([^"]*)"/i
+ @source_view = "done"
+ all_done_tag_path($1, options)
when /the all done actions page/
+ @source_view = "done"
all_done_todos_path(options)
+
when /the statistics page/
@source_view = "stats"
stats_path(options)
diff --git a/features/view_done.feature b/features/view_done.feature
index 35fc4a44..6a9e4dcb 100644
--- a/features/view_done.feature
+++ b/features/view_done.feature
@@ -8,79 +8,81 @@ Feature: Show done
| login | password | is_admin |
| testuser | secret | false |
And I have logged in as "testuser" with password "secret"
- And I have 1 completed todos with a note
+ And I have a context called "@pc"
+ And I have a project called "test project"
+ And I have 1 completed todos in project "test project" in context "@pc" with tags "starred"
Scenario: Visit done overview page
When I go to the done page
Then I should see "Last Completed Actions"
And I should see "Last Completed Projects"
And I should see "Last Completed Repeating Actions"
-
- Scenario: Home page links to show all completed todos
- When I go to the home page
+
+ Scenario Outline: Page with actions links to show all completed actions
+ When I go to the
Then I should see "Completed actions"
And I should see "Show all"
When I follow "Show all"
- Then I should be on the done actions page
+ Then I should be on the
+
+ Scenarios:
+ | page | next page |
+ | home page | done actions page |
+ | context page for "@pc" | done actions page for context "@pc" |
+ | "test project" project | done actions page for project "test project" |
+ | tag page for "starred" | done actions page for tag "starred" |
Scenario Outline: I can see all todos completed in the last timeperiod
- Given I have a context called "@pc"
- And I have a project called "test"
- And I have 1 completed todos in project "test" in context "@pc"
When I go to the
Then I should see "todo 1"
And I should see "Completed today"
And I should see "Completed in the rest of this week"
And I should see "Completed in the rest of this month"
-
+
Scenarios:
- | page |
- | done actions page |
- | done actions page for context "@pc" |
- | done actions page for project "test" |
-
- Scenario: I can see all todos completed
- When I go to the done actions page
+ | page |
+ | done actions page |
+ | done actions page for context "@pc" |
+ | done actions page for project "test project" |
+ | done actions page for tag "starred" |
+
+ Scenario Outline: I can see all todos completed
+ When I go to the
And I should see "You can see all completed actions here"
When I follow "here"
- Then I should be on the all done actions page
-
- Scenario: I can browse all todos completed by page
- Given I have 50 completed todos with a note
- When I go to the all done actions page
+ Then I should be on the
+
+ Scenarios:
+ | page | other page |
+ | done actions page | all done actions page |
+ | done actions page for project "test project" | all done actions page for project "test project" |
+ | done actions page for context "@pc" | all done actions page for context "@pc" |
+ | done actions page for tag "starred" | all done actions page for tag "starred" |
+
+ Scenario Outline: I can browse all todos completed by page
+ Given I have 50 completed todos with a note in project "test project" in context "@pc" with tags "starred"
+ When I go to the
Then I should see the page selector
When I follow "2"
- Then I should be on the all done actions page
+ Then I should be on the
And the page should be "2"
-
- Scenario: The context page for a context shows a link to all completed actions
- Given I have a context called "@pc"
- And I have 1 completed todos in context "@pc"
- When I go to the context page for "@pc"
- Then I should see "Completed actions"
- And I should see "Show all"
- When I follow "Show all"
- Then I should be on the done actions page for context "@pc"
- Scenario: The project page for a project shows a link to all completed actions
- Given I have a context called "@pc"
- And I have a project called "test"
- And I have 1 completed todos in project "test" in context "@pc"
- When I go to the "test" project
- Then I should see "Completed actions"
- And I should see "Show all"
- When I follow "Show all"
- Then I should be on the done actions page for project "test"
+ Scenarios:
+ | page |
+ | all done actions page |
+ | all done actions page for project "test project" |
+ | all done actions page for context "@pc" |
+ | all done actions page for tag "starred" |
Scenario: The projects page shows a link to all completed projects
Given I have a completed project called "finished"
When I go to the projects page
- Then I should see "finished"
+ Then I should see "finished"
And I should see "Show all"
When I follow "Show all"
Then I should be on the done projects page
And I should see "finished"
-
+
Scenario: I can browse all completed projects by page
Given I have 40 completed projects
When I go to the projects page
@@ -95,12 +97,12 @@ Feature: Show done
Scenario: The recurring todos page shows a link to all completed recurring todos
Given I have a completed repeat pattern "finished"
When I go to the recurring todos page
- Then I should see "finished"
+ Then I should see "finished"
And I should see "Show all"
When I follow "Show all"
Then I should be on the done recurring todos page
And I should see "finished"
-
+
Scenario: I can browse all completed recurring todos by page
Given I have 40 completed repeat patterns
When I go to the recurring todos page
@@ -110,31 +112,98 @@ Feature: Show done
When I follow "2"
Then I should be on the done recurring todos page
And the page should be "2"
-
+
@selenium
Scenario: I can toggle a done recurring todo active from done page
- Given I have a completed repeat pattern "test"
+ Given I have a completed repeat pattern "test pattern"
When I go to the done recurring todos page
- Then I should see "test"
- When I mark the pattern "test" as active
- Then I should not see "test" in the completed recurring todos container
+ Then I should see "test pattern"
+ When I mark the pattern "test pattern" as active
+ Then I should not see "test pattern" in the completed recurring todos container
When I go to the recurring todos page
- Then I should see "test" in the active recurring todos container
+ Then I should see "test pattern" in the active recurring todos container
+ @selenium
Scenario: I can delete a recurring todo from the done page
- Given this scenario is pending
-
- Scenario: I can toggle a todo active from the done page
- Given this scenario is pending
+ Given I have a completed repeat pattern "test pattern"
+ When I go to the done recurring todos page
+ Then I should see "test pattern"
+ When I delete the pattern "test pattern"
+ Then I should not see "test pattern" in the completed recurring todos container
+ When I go to the recurring todos page
+ Then I should see "test pattern" in the active recurring todos container
- Scenario: I can toggle a todo active from the all done page
- Given this scenario is pending
-
- Scenario: I can toggle a todo active from the project done page
- Given this scenario is pending
+ @selenium @wip
+ Scenario Outline: I can toggle a todo active from the done pages
+ When I go to the
+ Then I should see "todo 1"
+ When I mark the complete todo "todo 1" active
+ Then I should not see "todo 1"
+ When I go to the
+ Then I should see "todo 1" in the context container for "@pc"
- Scenario: I can toggle a todo active from the context done page
- Given this scenario is pending
+ Scenarios:
+ | page | next page |
+ | done actions page | home page |
+ | all done actions page | home page |
+ | done actions page for context "@pc" | context page for "@pc" |
+ | done actions page for project "test project" | "test project" project |
+ | done actions page for tag "starred" | home page |
+ | all done actions page for context "@pc" | context page for "@pc" |
+ | all done actions page for project "test project"| "test project" project |
+ | all done actions page for tag "starred" | home page |
+ @selenium
+ Scenario Outline: I can toggle the star of a todo from the done pages
+ When I go to the
+ Then I should see a starred "todo 1"
+ When I unstar the action "todo 1"
+ Then I should see an unstarred "todo 1"
+
+ Scenarios:
+ | page |
+ | done actions page |
+ | all done actions page |
+ | done actions page for context "@pc" |
+ | done actions page for project "test project" |
+ | done actions page for tag "starred" |
+ | all done actions page for context "@pc" |
+ | all done actions page for project "test project"|
+ | all done actions page for tag "starred" |
+
+ @selenium
Scenario: I can edit a project to active from the project done page
Given this scenario is pending
+
+ @wip
+ Scenario Outline: All pages are internationalized
+ Given I set the locale to ""
+ When I go to the
+ Then I should not see "translation missing"
+
+ Scenarios:
+ | page | locale |
+ | done actions page | en |
+ | all done actions page | en |
+ | done actions page for context "@pc" | en |
+ | done actions page for project "test project" | en |
+ | done actions page for tag "starred" | en |
+ | all done actions page for context "@pc" | en |
+ | all done actions page for project "test project"| en |
+ | all done actions page for tag "starred" | en |
+ | done actions page | nl |
+ | all done actions page | nl |
+ | done actions page for context "@pc" | nl |
+ | done actions page for project "test project" | nl |
+ | done actions page for tag "starred" | nl |
+ | all done actions page for context "@pc" | nl |
+ | all done actions page for project "test project"| nl |
+ | all done actions page for tag "starred" | nl |
+ | done actions page | de |
+ | all done actions page | de |
+ | done actions page for context "@pc" | de |
+ | done actions page for project "test project" | de |
+ | done actions page for tag "starred" | de |
+ | all done actions page for context "@pc" | de |
+ | all done actions page for project "test project"| de |
+ | all done actions page for tag "starred" | de |