mirror of
https://github.com/TracksApp/tracks.git
synced 2025-09-21 21:40:48 +02:00
add done view to tag pages and add more tests
This commit is contained in:
parent
6e97541ab3
commit
601736de2d
14 changed files with 1106 additions and 869 deletions
|
@ -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
|
||||
|
|
|
@ -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']
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -18,8 +18,8 @@ parameters += "&_tag_name=#{@tag_name}" if @source_view == 'tag'
|
|||
<% unless todo.completed? || todo.deferred? -%>
|
||||
<li><%= remote_defer_menu_item(1, todo) %></li>
|
||||
<li><%= remote_defer_menu_item(7, todo) %></li>
|
||||
<li><%= remote_promote_to_project_menu_item(todo) %></li>
|
||||
<% end -%>
|
||||
<li><%= remote_promote_to_project_menu_item(todo) %></li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
|
|
@ -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 <strong>'%{description}'</strong> wurde als <strong>%{completed}</strong> 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 <strong>'%{description}'</strong> wurde als <strong>%{completed}</strong> 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 <strong>'%{description}'</strong> wurde aufgrund eines Fehlers NICHT als <strong>%{completed}</strong> 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
|
||||
|
|
|
@ -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}'"
|
||||
|
|
|
@ -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 <strong>'%{description}'</strong> werd gemarkeerd als <strong>%{completed}</strong>
|
||||
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 <strong>'%{description}'</strong> werd gemarkeerd als <strong>%{completed}</strong>
|
||||
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 <strong>'%{description}'</strong> is niet gemarkeerd als <strong>%{completed} vanwege een fout op de server.</strong>"
|
||||
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 <strong>'%{description}'</strong> is niet gemarkeerd als <strong>%{completed} vanwege een fout op de server.</strong>
|
||||
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.
|
||||
|
|
|
@ -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'
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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|
|
||||
|
|
|
@ -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}/
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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 <page>
|
||||
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 <next page>
|
||||
|
||||
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 <page>
|
||||
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 <page>
|
||||
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 <other page>
|
||||
|
||||
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 <page>
|
||||
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 <page>
|
||||
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 <page>
|
||||
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 <next page>
|
||||
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 <page>
|
||||
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 "<locale>"
|
||||
When I go to the <page>
|
||||
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 |
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue