Merge pull request #2560 from TracksApp/more_translatable

Make a few more targets translatable. Tracks should now be pretty clo…
This commit is contained in:
Jyri-Petteri Paloposki 2021-01-11 00:30:49 +02:00 committed by GitHub
commit 679ec77fc6
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
21 changed files with 457 additions and 403 deletions

View file

@ -2,15 +2,15 @@ class DataController < ApplicationController
require 'csv'
def index
@page_title = "TRACKS::Export"
@page_title = t('data.export.page_title')
end
def import; end
def csv_map
if params[:file].blank?
flash[:notice] = "File can't be blank"
redirect_to :back
flash[:notice] = t "data.import.errors.file_blank"
redirect_back fallback_location: root_path
else
@import_to = params[:import_to]
@ -20,8 +20,8 @@ class DataController < ApplicationController
@headers = import_headers(params[:file].path).collect { |v| [v, i += 1] }
@headers.unshift ['', i]
rescue Exception => e
flash[:error] = "Invalid CVS: could not read headers: #{e}"
redirect_to :back
flash[:error] = t "data.import.errors.invalid_csv", e: e
redirect_back fallback_location: root_path
return
end
@ -32,8 +32,8 @@ class DataController < ApplicationController
path_and_file = Rails.root.join('public', 'uploads', 'csv', @filename)
File.open(path_and_file, "wb") { |f| f.write(uploaded_file.read) }
rescue Exception => e
flash[:error] = "Could not save uploaded CSV (#{path_and_file}). Can Tracks write to the upload directory? #{e}"
redirect_to :back
flash[:error] = t "data.import.errors.save_error", path_and_file: path_and_file, e: e
redirect_back fallback_location: root_path
return
end
@ -43,8 +43,8 @@ class DataController < ApplicationController
when 'todos'
@labels = [:description, :context, :project, :notes, :created_at, :due, :completed_at]
else
flash[:error] = "Invalid import destination"
redirect_to :back
flash[:error] = t "data.import.errors.invalid_destination"
redirect_back fallback_location: root_path
end
respond_to do |format|
format.html
@ -59,15 +59,15 @@ class DataController < ApplicationController
case params[:import_to]
when 'projects'
count = Project.import path_and_file, params, current_user
flash[:notice] = "#{count} Projects imported"
flash[:notice] = t 'data.import.projects_count', count: count
when 'todos'
count = Todo.import path_and_file, params, current_user
flash[:notice] = "#{count} Todos imported"
flash[:notice] = t 'data.import.todos.count', count: count
else
flash[:error] = t('data.invalid_import_destination')
flash[:error] = t('data.import.errors.invalid_destination')
end
rescue Exception => e
flash[:error] = t('data.invalid_import_destination') + ": #{e}"
flash[:error] = t 'data.import.invalid_destination', e: e
end
File.delete(path_and_file)
redirect_to import_data_path
@ -203,7 +203,7 @@ class DataController < ApplicationController
end
def yaml_import
raise "YAML loading is disabled"
raise t "data.import.yaml_disabled"
end
private

View file

@ -1,4 +1,4 @@
<h3>Map fields to be imported<h3>
<h3><%= I18n.t 'data.import.map_title' %><h3>
<%= form_tag csv_import_data_path do %>
<% @labels.each do |l| %>
<%= label_tag l %>:
@ -7,5 +7,5 @@
<% end %>
<%= hidden_field_tag :file, @filename %>
<%= hidden_field_tag :import_to, @import_to %>
<%= submit_tag "Import" %>
<%= submit_tag I18n.t("data.import.submit") %>
<% end %>

View file

@ -1,15 +1,15 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<h2>Importing data</h2>
<h2><%= I18n.t "data.import.header" %></h2>
<div>
<h3>Please upload your CSV file</h3>
<h3><%= I18n.t "data.import.upload_csv" %></h3>
<%= form_tag csv_map_data_path, :id => 'upload_form', multipart: true do %>
<label for="import_to">Import to:</label>
<label for="import_to"><%= I18n.t "data.import.target_field" %></label>
<%= select_tag(:import_to, options_for_select([['Projects', 'projects'], ['Todos', 'todos']], 1) ) %>
<br><br>
<%= file_field_tag :file %>
<%= submit_tag "Upload", :id => "upload_form_submit" %>
<%= submit_tag I18n.t("data.import.upload"), :id => "upload_form_submit" %>
<% end %>
</div>
</div>

View file

@ -1,36 +0,0 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<h3>Daten exportieren</h3>
<p>Sie k&ouml;nnen zwischen den folgenden Formaten w&auml;hlen:</p>
<ul>
<li><strong>YAML: </strong>F&uuml;r den Daten-Import bevorzugt.<br/><i>Bitte beachten Sie, dass der YAML-Import zur Zeit noch experimentelle Funktionalit&auml;t darstellt. Nutzen Sie diese Option also nicht. um kritische Daten zu sichern.</i></li>
<li><strong>CSV: </strong>Am besten f&uuml;r den Export in eine Tabellen-Kalkulation oder &auml;hnliche Auswertungs-Software geeignet</li>
<li><strong>XML: </strong>Am besten f&uuml;r den Daten-Import oder automatische Weiterverarbeitung</li>
</ul>
</div>
<br/><br/>
<table class="export_table">
<tr>
<th>Beschreibung</th>
<th>Download link</th>
</tr>
<tr>
<td>YAML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, Tags und Notizen</td>
<td><%= link_to "YAML Datei", :controller => 'data', :action => 'yaml_export' %></td>
</tr>
<tr>
<td>CSV-Datei mit all Ihren Aktionen, benannten Umgebungen und Projekten</td>
<td><%= link_to "CSV Dile (Aktionen, Umgebungen und Projekte)", :controller => 'data', :action => 'csv_actions' %></td>
</tr>
<tr>
<td>CSV-Datei mit all Ihren Notizen</td>
<td><%= link_to "CSV Datei (nur Notizen)", :controller => 'data', :action => 'csv_notes' %></td>
</tr>
<tr>
<td>XML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, Tags und Notizen</td>
<td><%= link_to "XML file (actions only)", :controller => 'data', :action => 'xml_export' %></td>
</tr>
</table>
</div><!-- End of feeds -->
</div>

View file

@ -1,36 +0,0 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<h3>Exporting data</h3>
<p>You can choose between the following formats:</p>
<ul>
<li><strong>YAML: </strong>Best for exporting data. <br/><i>Please note that importing YAML files is currently supported only in experimentally. Do not rely on it for backing up critical data.</i></li>
<li><strong>CSV: </strong>Best for importing into spreadsheet or data analysis software</li>
<li><strong>XML: </strong>Best for importing or repurposing the data</li>
</ul>
</div>
<br/><br/>
<table class="export_table">
<tr>
<th>Description</th>
<th>Download link</th>
</tr>
<tr>
<td>YAML file containing all your actions, contexts, projects, tags and notes</td>
<td><%= link_to "YAML file", data_yaml_export_path %></td>
</tr>
<tr>
<td>CSV file containing all of your actions, with named contexts and projects</td>
<td><%= link_to "CSV file (actions, contexts and projects)", data_csv_actions_path %></td>
</tr>
<tr>
<td>CSV file containing all your notes</td>
<td><%= link_to "CSV file (notes only)", data_csv_notes_path %></td>
</tr>
<tr>
<td>XML file containing all your actions, contexts, projects, tags and notes</td>
<td><%= link_to "XML file (actions only)", data_xml_export_path %></td>
</tr>
</table>
</div><!-- End of feeds -->
</div>

View file

@ -1,36 +0,0 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<h3>Exportar datos</h3>
<p>Puede escoger entre los siguientes formatos:</p>
<ul>
<li><strong>YAML: </strong>Mejor formato para exportar datos. <br/><i>Por favor tenga en cuenta que la importación de ficheros YAML actualmente esta soportada de forma experimental. No confíe en este formato para hacer copias de seguridad de datos importantes.</i></li>
<li><strong>CSV: </strong>Mejor formato para importar en una hoja de cálculo o en programas de análisis de datos.</li>
<li><strong>XML: </strong>Mejor formato para transformar los datos a otro formato</li>
</ul>
</div>
<br/><br/>
<table class="export_table">
<tr>
<th>Descripción</th>
<th>Enlace de descarga</th>
</tr>
<tr>
<td>Fichero YAML con todas sus acciones, contextos, proyectos, etiquetas y notas</td>
<td><%= link_to "Fichero YAML", data_yaml_export_path %></td>
</tr>
<tr>
<td>Fichero CSV con todas sus acciones, con contextos por nombre y proyectos</td>
<td><%= link_to "Fichero CSV (acciones, contextos y proyectos)", data_csv_actions_path %></td>
</tr>
<tr>
<td>Fichero CSV con todas sus notas</td>
<td><%= link_to "Fichero CSV (sólo notas)", data_csv_notes_path %></td>
</tr>
<tr>
<td>Fichero XML con todas sus acciones, contextos, proyectos, etiquetas y notas</td>
<td><%= link_to "Fichero XML", data_xml_export_path %></td>
</tr>
</table>
</div><!-- End of feeds -->
</div>

View file

@ -0,0 +1,36 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<h3><%= I18n.t "data.export.title" %></h3>
<p><%= I18n.t "data.export.format_header" %></p>
<ul>
<li><%= raw I18n.t "data.export.yaml_description", yaml: "<strong>" + I18n.t("data.yaml") + "</strong>" %><br/><em><%= I18n.t "data.export.yaml_experimental" %></em></li>
<li><%= raw I18n.t "data.export.csv_description", csv: "<strong>" + I18n.t("data.csv") + "</strong>" %></li>
<li><%= raw I18n.t "data.export.xml_description", xml: "<strong>" + I18n.t("data.xml") + "</strong>" %></li>
</ul>
</div>
<br/><br/>
<table class="export_table">
<tr>
<th><%= I18n.t "common.description" %></th>
<th><%= I18n.t "data.export.download_link" %></th>
</tr>
<tr>
<td><%= I18n.t "data.export.yaml_link_description" %></td>
<td><%= link_to I18n.t("data.export.yaml_link_title"), data_yaml_export_path %></td>
</tr>
<tr>
<td><%= I18n.t "data.export.csv_actions_description" %></td>
<td><%= link_to I18n.t("data.export.csv_actions_title"), data_csv_actions_path %></td>
</tr>
<tr>
<td><%= I18n.t "data.export.csv_notes_description" %></td>
<td><%= link_to I18n.t("data.export.csv_notes_title"), data_csv_notes_path %></td>
</tr>
<tr>
<td><%= I18n.t "data.export.xml_link_description" %></td>
<td><%= link_to I18n.t('data.export.xml_link_title'), data_xml_export_path %></td>
</tr>
</table>
</div>
</div>

View file

@ -1,17 +0,0 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<p><b>Vorsicht</b>: vor dem Import der YAML Datei werden alle Daten in Ihrer Datenbank gel&ouml;scht.
Falls Sie entsprechenden Zugriff auf Ihre Datenbank haben, empfiehlt es sich, ein Backup anzulegen,
bevor Sie fortfahren.
</p>
<p>F&uuml;gen Sie den Inhalt der kopierten YAML Datei in das untenstehende Formular ein:</p>
</div>
<p>
<%= form_for :import, @import, :url => {:controller => 'data', :action => 'yaml_import'} do |f| %>
<%= f.text_area :yaml %><br />
<input type="submit" value="Daten importieren">
<% end %>
</p>
</div><!-- End of feeds -->
</div><!-- End of display_box -->

View file

@ -1,17 +0,0 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<p><b>Beware</b>: all your current data will be destroyed before importing
the YAML file, so if you have access to the database, we strongly recommend
backing up the database right now in case that anything goes wrong.
</p>
<p>Paste the contents of the YAML file you exported into the text box below:</p>
</div>
<p>
<%= form_for :import, @import, :url => {:controller => 'data', :action => 'yaml_import'} do |f| %>
<%= f.text_area :yaml %><br />
<input type="submit" value="Import data">
<% end %>
</p>
</div><!-- End of feeds -->
</div><!-- End of display_box -->

View file

@ -0,0 +1,14 @@
<div id="display_box">
<div id="feeds">
<div id="feedlegend">
<p><%= raw I18n.t "data.import.yaml_warning", warning: '<strong>' + I18n.t('data.import.warning') + '</strong>' %></p>
<p><%= I18n.t "data.import.paste_field" %></p>
</div>
<p>
<%= form_for :import, @import, :url => {:controller => 'data', :action => 'yaml_import'} do |f| %>
<%= f.text_area :yaml %><br />
<input type="submit" value="<%= I18n.t 'data.import.submit' %>">
<% end %>
</p>
</div><!-- End of feeds -->
</div><!-- End of display_box -->

View file

@ -1,5 +1,5 @@
<% if !(@errmessage == '') %>
<p><%= t('data.import_errors') %>:<pre><%= @errmessage %></pre></p>
<p><%= t('data.import.errors.some') %>:<pre><%= @errmessage %></pre></p>
<% else %>
<p><%= t('data.import_successful') %></p>
<p><%= t('data.import.successful') %></p>
<% end %>

View file

@ -1,51 +0,0 @@
<% has_contexts = !current_user.contexts.empty? -%>
<h1>Integration</h1>
<p>Tracks kann mit verschiedenen Werkzeugen zusammenarbeiten...
was immer Sie brauchen, um Ihre Aufgaben zu erledigen!
Auf dieser Seite finden Sie Informationen, um einige dieser Werkzeuge einzurichten.
Diese Beispiele sind nicht unbedingt auf Ihre Umgebung anwendbar oder bed&uuml;rfen mehr
technisches Wissen als andere.
Weitere Informationen finden Sie in der <%= link_to "Entwickler Documentation der Tracks' REST API", url_for(:action => 'rest_api') %> (englisch).</p>
<br/><p>Inhalt:</p>
<ul>
<li><a href="#email-cron-section">Anstehende Aufgaben automatisch sich via E-Mail zusenden lassen</a></li>
<li><a href="#message_gateway">Tracks mit einem Mail-Server integrieren, um Aufgaben via E-Mail zu erstellen</a></li>
</ul><br/>
<p>Sie haben weitere Beispiele?
<a href="http://www.getontracks.org/forums/viewforum/10/" title="Tracks | Tips and Tricks">Berichten Sie uns
in unserem Tipps&amp;Tricks Forum</a>, damit wir es f&uuml;r die n&auml;chsten Versionen ber&uuml;cksichtigen k&ouml;nnen.
</p>
<a name="email-cron-section"> </a>
<h2>Automatically Email Yourself Upcoming Actions</h2>
<p>If you enter the following entry to your crontab, you will receive email every day around 5 AM with a list of the upcoming actions which are due within the next 7 days.</p>
<textarea id="cron" name="cron">0 5 * * * /usr/bin/curl -0 "<%= root_url %>todos.txt?due=6&token=<%= current_user.token %>" | /usr/bin/mail -e -s 'Tracks actions due in the next 7 days' youremail@yourdomain.com</textarea>
<p>You can of course use other text <%= link_to 'feeds provided by Tracks', feeds_path %> -- why not email a list of next actions in a particular project to a group of colleagues who are working on the project?</p>
<a name="message_gateway"> </a>
<h2>Integrated email/SMS receiver</h2>
<p>
If Tracks is running on the same server as your mail server, you can use the integrated mail handler built into tracks. Steps to set it up:
</p>
<ul>
<li>Go to <%= link_to t('layouts.navigation.preferences'), preferences_url %> and
set your "<%= Preference.human_attribute_name('sms_email') %>" and
"<%= Preference.human_attribute_name('sms_context') %>" for todos sent in
via email (which could come from an SMS message)</li>
<li>In sendmail/qmail/postfix/whatever, set up an email address
alias to pipe messages to <pre>/PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre></li>
<li>Send an email to your newly configured address!</li>
</ul>
<p>You can also use the Rich Todo API to send in tasks like "do laundry @ Home"
or "Call Bill > project X". The subject of the message will fill description,
context, and project, while the body will populate the tasks's note.
</p>
<p>
You may need to configure your <tt>site.yml</tt> to tell the message gateway to look at the <tt>to:</tt> field or <tt>from:</tt> field to
lookup Tracks' user from the email address in that field. </p>
<p>You can also send all email to a specific Tracks user. Configure mail_dispatch in site.yml to <tt>single_user</tt> and pass the login of the user:
<pre>TRACKS_MAIL_RECEIVER=<%=current_user.login%> /PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre>
</p>

View file

@ -1,119 +0,0 @@
<% has_contexts = !current_user.contexts.empty? -%>
<h1>Integrations</h1>
<p>Tracks can be integrated with a number of other tools...
whatever it takes to help you get things done!
This page has information on setting up some of these.
Not all of these are applicable to all platforms, and some require more
technical knowledge than others.
See also <%= link_to "developer documentation for Tracks' REST API", url_for(:action => 'rest_api') %>.</p>
<br/><p>Contents:</p>
<ul>
<li><a href="#email-cron-section">Automatically Email Yourself Upcoming Actions</a></li>
<li><a href="#message_gateway">Integrate Tracks with an email server to be able to send an action through email to Tracks</a></li>
<li><a href="#mailgun">Send emails to Tracks with Mailgun</a>
<li><a href="#todo_rich_message_format">Rich Todo Message email format</a>
</ul><br/>
<p>Do you have one of your own to add?
<a href="http://www.getontracks.org/forums/viewforum/10/" title="Tracks | Tips and Tricks">Tell us about
it in our Tips and Tricks forum</a> and we may include it on this page in a future versions of Tracks.
</p>
<a name="email-cron-section"> </a>
<h2>Automatically Email Yourself Upcoming Actions</h2>
<p>If you enter the following entry to your crontab, you will receive email every day around 5 AM with a list of the upcoming actions which are due within the next 7 days.</p>
<textarea id="cron" name="cron">0 5 * * * /usr/bin/curl -0 "<%= root_url %>todos.txt?due=6&token=<%= current_user.token %>" | /usr/bin/mail -e -s 'Tracks actions due in the next 7 days' youremail@yourdomain.com</textarea>
<p>You can of course use other text <%= link_to 'feeds provided by Tracks', feeds_path %> -- why not email a list of next actions in a particular project to a group of colleagues who are working on the project?</p>
<a name="message_gateway"> </a>
<h2>Integrated email/SMS receiver</h2>
<p>
If Tracks is running on the same server as your mail server, you can use the integrated mail handler built into tracks. Steps to set it up:
</p>
<ul>
<li>Go to <%= link_to t('layouts.navigation.preferences'), preferences_url %> and
set your "<%= Preference.human_attribute_name('sms_email') %>" and
"<%= Preference.human_attribute_name('sms_context') %>" for todos sent in
via email (which could come from an SMS message)</li>
<li>In sendmail/qmail/postfix/whatever, set up an email address
alias to pipe messages to <pre>/PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre></li>
<li>Send an email to your newly configured address!</li>
</ul>
<p>You can also use the Rich Todo API to send in tasks like "do laundry @ Home"
or "Call Bill > project X". The subject of the message will fill description,
context, and project, while the body will populate the tasks's note.
</p>
<p>
You may need to configure your <tt>site.yml</tt> to tell the message gateway to look at the <tt>to:</tt> field or <tt>from:</tt> field to
lookup Tracks' user from the email address in that field. </p>
<p>You can also send all email to a specific Tracks user. Configure mail_dispatch in site.yml to <tt>single_user</tt> and pass the login of the user:
<pre>TRACKS_MAIL_RECEIVER=<%=current_user.login%> /PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre>
</p>
<a name="mailgun"> </a>
<h2>Send emails to Tracks with Mailgun</h2>
<p>
If you want to email tasks to Tracks, but cannot run a mailserver on the same host,
you could use the <a href='www.mailgun.com'>Mailgun</a> support built in to Tracks.
</p>
<p>
For this to work your Tracks server will need to be reachable from the internet, so
that Mailgun can POST data to it.
<p>
<ul>
<li>Go to <%= link_to 'http://mailgun.com' %> and register for a free account.</li>
<li>Go to 'Routes' in the Mailgun control panel, and add a new route:</li>
<ul>
<li>'Filter expression' should be set to 'catch_all()'</li>
<li>'Action' should be 'forward("http://mytracksserver.domain.com/mailgun/mime")'
</ul>
<li>Go to <%= link_to t('layouts.navigation.preferences'), preferences_url %> and
enter your incoming Mailgun email address (e.g. tracks@user.mailgun.com) in the
"<%= Preference.human_attribute_name('sms_email') %>" box.</li>
<li>Select a default context for emails to be put in with
"<%= Preference.human_attribute_name('sms_context') %>"</li>
<li>Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'
<li>Update the mailmap in 'site.yml' to define which senders can send emails to
which incoming addresses. For example, to send emails from your work and home
email accounts to your tracks Mailgun route, set it up like this:
<pre class=code>
mailmap:
tracks@user.mailgun.org:
- me@myhome.domain.net
- mr.user@work.company.com
</pre>
</ul>
<p>All the comments about the email format from the section above apply to the
Mailgun handling, as the data is processed the same way</p>
<a name="todo_rich_message_format"> </a>
<h2>Rich Todo Message Format</h2>
<p> For both of the above methods, the follow format can be used:</p>
<pre>my awesome todo @context ~project &lt;131012 &gt;131009 #tag1 #tag2 *</pre>
<p>The fields are:</p>
<table>
<tr>
<th>Symbol</th><th>Meaning</th>
</tr>
<tr>
<td>@</td><td>The context to place the Todo in</td>
</tr>
<tr>
<td>~</td><td>The project to place the Todo in</td>
</tr>
<tr>
<td>&lt;</td><td>The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day)</td>
</tr>
<tr>
<td>&gt;</td><td>The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day)</td>
</tr>
<tr>
<td>#</td><td>A tag to apply to the Todo - may be used multiple times</td>
</tr>
<tr>
<td>*</td><td>Flag to star the Todo</td>
</tr>
</table>
<p>All symbols are optional, and text up to the first symbol (or end of string) is used as the description of the todo</p>

View file

@ -0,0 +1,85 @@
<% has_contexts = !current_user.contexts.empty? -%>
<h1><%= I18n.t 'integrations.title' %></h1>
<p><%= raw I18n.t 'integrations.intro', documentation_link: link_to(I18n.t('integrations.developer_documentation_link'), url_for(:action => 'rest_api')) %></p>
<br/><p><%= I18n.t 'integrations.contents_header' %></p>
<ul>
<li><a href="#email-cron-section"><%= I18n.t 'integrations.sections.automatic_email' %></a></li>
<li><a href="#message_gateway"><%= I18n.t 'integrations.sections.message_gateway' %></a></li>
<li><a href="#mailgun"><%= I18n.t 'integrations.sections.mailgun' %></a></li>
<li><a href="#todo_rich_message_format"><%= I18n.t 'integrations.sections.email_rich' %></a></li>
</ul>
<p><%= raw I18n.t 'integrations.add_your_own', tell_us_link: link_to(I18n.t('integrations.tell_us_link_text'), 'https://github.com/TracksApp/tracks/issues') %></p>
<a name="email-cron-section"> </a>
<h2><%= I18n.t 'integrations.sections.automatic_email' %></h2>
<p><%= I18n.t 'integrations.cron_1' %></p>
<textarea id="cron" name="cron">0 5 * * * /usr/bin/curl -0 "<%= root_url %>todos.txt?due=6&token=<%= current_user.token %>" | /usr/bin/mail -e -s 'Tracks actions due in the next 7 days' youremail@yourdomain.com</textarea>
<p><%= raw I18n.t 'integrations.cron_2', feeds_link: link_to(I18n.t('integrations.feeds_link_text'), feeds_path) %></p>
<a name="message_gateway"> </a>
<h2><%= I18n.t 'integrations.sections.message_gateway' %></h2>
<p><%= I18n.t 'integrations.message_gateway.description' %></p>
<ul>
<li><%= raw I18n.t 'integrations.message_gateway.instructions.1', preferences_link: link_to(t('layouts.navigation.preferences'), preferences_url), sms_email_name: Preference.human_attribute_name('sms_email'), sms_context_name: Preference.human_attribute_name('sms_context') %></li>
<li><%= raw I18n.t 'integrations.message_gateway.instructions.2', command: "<pre>/PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre>" %></li>
<li><%= I18n.t 'integrations.message_gateway.instructions.3' %></li>
</ul>
<p><%= I18n.t 'integrations.message_gateway.rich_api_tip' %></p>
<p><%= raw I18n.t 'integrations.message_gateway.configuration', site_yml: '<tt>site.yml</tt>', to_name: '<tt>to:</tt>', from_name: '<tt>from:</tt>' %></p>
<p><%= raw I18n.t 'integrations.message_gateway.one_user_configuration', single_user_var_name: '<tt>single_user</tt>', code: "<pre>TRACKS_MAIL_RECEIVER=" + current_user.login + " /PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre>" %></p>
<a name="mailgun"> </a>
<h2><%= I18n.t 'integrations.sections.mailgun' %></h2>
<p><%= raw I18n.t 'integrations.mailgun.description', mailgun_link: link_to('Mailgun', 'http://www.mailgun.com/') %></p>
<p><%= I18n.t 'integrations.mailgun.conditions' %></p>
<ul>
<li><%= raw I18n.t 'integrations.mailgun.instructions.1', mailgun_link: link_to('Mailgun', 'http://www.mailgun.com/') %></li>
<li><%= I18n.t 'integrations.mailgun.instructions.2' %></li>
<ul>
<li><%= I18n.t 'integrations.mailgun.instructions.2a' %></li>
<li><%= I18n.t 'integrations.mailgun.instructions.2b' %></li>
</ul>
<li><%= raw I18n.t 'integrations.mailgun.instructions.3', preferences_link: link_to(t('layouts.navigation.preferences'), preferences_url), sms_email_name: Preference.human_attribute_name('sms_email') %></li>
<li><%= I18n.t 'integrations.mailgun.instructions.4', sms_context_name: Preference.human_attribute_name('sms_context') %></li>
<li><%= I18n.t 'integrations.mailgun.instructions.5' %></li>
<li><%= I18n.t 'integrations.mailgun.instructions.6', code: '<pre class=code>
mailmap:
tracks@user.mailgun.org:
- me@myhome.domain.net
- mr.user@work.company.com
</pre>' %></li>
</ul>
<p><%= I18n.t 'integrations.mailgun.gateway_instructions' %></p>
<a name="todo_rich_message_format"> </a>
<h2><%= I18n.t 'integrations.sections.email_rich' %></h2>
<p><%= I18n.t 'integrations.email_rich.description' %></p>
<pre><%= I18n.t 'integrations.example_names.todo' %> @<%= I18n.t 'integrations.example_names.context' %> ~<%= I18n.t 'integrations.example_names.project' %> &lt;131012 &gt;131009 #<%= I18n.t 'integrations.example_names.tag.1' %> #<%= I18n.t 'integrations.example_names.tag.2' %> *</pre>
<p><%= I18n.t 'integrations.email_rich.fields_title' %></p>
<table>
<tr>
<th><%= I18n.t 'integrations.email_rich.symbol_title' %></th><th><%= I18n.t 'integrations.email_rich.meaning_title' %></th>
</tr>
<tr>
<td>@</td><td><%= I18n.t 'integrations.email_rich.field_descriptions.context' %></td>
</tr>
<tr>
<td>~</td><td><%= I18n.t 'integrations.email_rich.field_descriptions.project' %></td>
</tr>
<tr>
<td>&lt;</td><td><%= I18n.t 'integrations.email_rich.field_descriptions.due_date' %></td>
</tr>
<tr>
<td>&gt;</td><td><%= I18n.t 'integrations.email_rich.field_descriptions.due_date' %></td>
</tr>
<tr>
<td>#</td><td><%= I18n.t 'integrations.email_rich.field_descriptions.tag' %></td>
</tr>
<tr>
<td>*</td><td><%= I18n.t 'integrations.email_rich.field_descriptions.star' %></td>
</tr>
</table>
<p><%= I18n.t 'integrations.email_rich.fields_instruction' %>

View file

@ -1,52 +0,0 @@
<% has_contexts = !current_user.contexts.empty? -%>
<h1>Integratie</h1>
<p>Tracks kan met een aantal tools worden geïntegreerd...
Alles om je te helpen om dingen gedaan te krijgen!
Deze pagina heeft informatie over het tot stand brengen van sommige integratievormen.
Deze voorbeelden zijn niet altijd voor alle platformen van toepassing en
sommige voorbeelden vragen meer technische kennis dan anderen
Zie ook <%= link_to "de documentatie voor ontwikkelaars met Tracks' REST API", url_for(:action => 'rest_api') %>.</p>
<br/><p>Inhoud:</p>
<ul>
<li><a href="#email-cron-section">Email jezelf automatisch de acties met een aflopende deadline</a></li>
<li><a href="#message_gateway">Integreer Tracks met een email server om een actie via email naar Tracks te sturen</a></li>
</ul><br/>
<p>Heb je een tip om hier toe te voegen?
<a href="http://www.getontracks.org/forums/viewforum/10/" title="Tracks | Tips and Tricks">Vertel ons er over in onze
Tips and Tricks forum</a> en misschien voegen we jouw tip toe op deze pagina in een toekomstige versie van Tracks.
</p>
<a name="email-cron-section"> </a>
<h2>Email jezelf automatisch de acties met een aflopende deadline</h2>
<p>Als je de volgende regel toevoegd aan jouw crontab, dat ontvang je een e-mail op elke dag rond 05:00 met een lijst met acties waarvan de deadline afloopt binnen de komende 7 dagen.</p>
<textarea id="cron" name="cron">0 5 * * * /usr/bin/curl -0 "<%= root_url %>todos.txt?due=6&token=<%= current_user.token %>" | /usr/bin/mail -e -s 'Tracks actions due in the next 7 days' youremail@yourdomain.com</textarea>
<p>Uiteraard kan je ook een andere <%= link_to 'text feed gebruiken die Tracks biedt', feeds_path %> -- bijvoorbeeld een email met een lijst van acties voor een specifiek project naar een groep collega's die werken aan dat project?</p>
<a name="message_gateway"> </a>
<h2>Integreer Tracks met een email server om een actie via email naar Tracks te sturen</h2>
<p>
Als Tracks draait op dezelfde server als jouw mailserver, dan kan je de geïntegreerde mail handler gebruiken van Tracks. Om dit in te stellen:
</p>
<ul>
<li>Ga naar <%= link_to t('layouts.navigation.preferences'), preferences_url %>
en stel in "<%= Preference.human_attribute_name('sms_email') %>" en
"<%= Preference.human_attribute_name('sms_context') %>" voor acties die
verzonden zijn via email (die bijv. komen via een SMS message)</li>
<li>In sendmail/qmail/postfix/whatever, stel een email address
alias in om berichten door te sturen naar
<pre>/PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre></li>
<li>Verstuur een email naar het net geconfigureerde e-mail adres!</li>
</ul>
<p>Je kan ook de Rich Todo API gebruiken om acties te maken zoals "do laundry @ Home"
of "Call Bill > project X". Het onderwerp van het bericht zal de bijschrijving van de actie vullen,
de context, en het project, terwijl de body van het bericht de notities van de actie zal vullen.
</p>
<p>
Het kan nodig zijn om jouw <tt>site.yml</tt> te configureren om de message gateway te laten kijken naar het <tt>to:</tt> veld of het <tt>from:</tt> veld om
de Tracks-gebruiker op te zoeken met het emailadres uit dat veld. </p>
<p>Je kan ook alle email naar een specifieke Tracks gebruiker sturen. Stel mail_dispatch in site.yml in op <tt>single_user</tt> en geeft de login van de gebruiker door:
<pre>TRACKS_MAIL_RECEIVER=<%=current_user.login%> /PATH/TO/TRACKS/bin/rails r -e production 'MessageGateway.receive(STDIN.read)'</pre>
</p>

View file

@ -1,8 +1,8 @@
<%= pref_with_text_field('prefs', 'date_format') %>
<div class='prefs_example'>This will result in: <span id='prefs.date_format'><%= l(Time.zone.today, :format => current_user.prefs.date_format) %></span></div>
<div class='prefs_example'><%= I18n.t('preferences.result_in') %> <span id='prefs.date_format'><%= l(Time.zone.today, :format => current_user.prefs.date_format) %></span></div>
<br/>
Or pick one of the following:<br/>
<%= I18n.t('preferences.pick_one') %><br/>
<div class="form-group btn-group" role="group" data-toggle="buttons">
<% [:default, :short, :long, :longer].each do |format| %>
<label class="btn btn-default">
@ -14,9 +14,9 @@ Or pick one of the following:<br/>
<div class="form-group">
<%= pref_with_text_field('prefs', 'title_date_format') %>
</div>
<div class='prefs_example'>This will result in: <span id='prefs.title_date_format'><%= l(Time.zone.today, :format => current_user.prefs.title_date_format) %></span></div>
<div class='prefs_example'><%= I18n.t('preferences.result_in') %> <span id='prefs.title_date_format'><%= l(Time.zone.today, :format => current_user.prefs.title_date_format) %></span></div>
<br/>
Or pick one of the following:<br/>
<%= I18n.t('preferences.pick_one') %><br/>
<div class="form-group btn-group" role="group" data-toggle="buttons">
<% [:default, :short, :long, :longer].each do |format| %>
<label class="btn btn-default">

View file

@ -193,10 +193,46 @@ de:
view_link: 'View context: %{name}'
visible_contexts: Sichtbare Kontexte
data:
import_destination_invalid: Invalid import destination
import_errors: Beim Import sind Fehler aufgetreten.
import_successful: Import war erfolgreich.
invalid_import_destination: Invalid import destination
import:
errors:
invalid_destination: "Invalid import destination: %{e}"
some: Beim Import sind Fehler aufgetreten.
file_blank: File can't be blank
invalid_csv: "Invalid CSV: could not read headers: %{e}"
save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write to the upload directory? %{e}"
map_title: Map fields to be imported
header: Importing data
submit: Importieren
successful: Import war erfolgreich.
target_field: "Import to:"
upload: Upload
upload_csv: Please upload your CSV file
projects_count: "%{count} Projects imported"
todos_count: "%{count} Todos imported"
yaml_disabled: "YAML loading is disabled"
yaml_warning: "%{warning}: vor dem Import der YAML Datei werden alle Daten in Ihrer Datenbank gelöscht. Falls Sie entsprechenden Zugriff auf Ihre Datenbank haben, empfiehlt es sich, ein Backup anzulegen, bevor Sie fortfahren."
paste_field: "Fügen Sie den Inhalt der kopierten YAML Datei in das untenstehende Formular ein:"
warning: Vorsicht
export:
page_title: Tracks::Export
title: Daten exportieren
format_header: "Sie können zwischen den folgenden Formaten wählen:"
yaml_description: "%{yaml}: Für den Daten-Import bevorzugt."
yaml_link_description: YAML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, Tags und Notizen
yaml_experimental: "Bitte beachten Sie, dass der YAML-Import zur Zeit noch experimentelle Funktionalität darstellt. Nutzen Sie diese Option also nicht. um kritische Daten zu sichern."
csv_description: "%{csv}: Am besten für den Export in eine Tabellen-Kalkulation oder ähnliche Auswertungs-Software geeignet"
csv_actions_description: CSV-Datei mit all Ihren Aktionen, benannten Umgebungen und Projekten
csv_notes_description: CSV-Datei mit all Ihren Notizen
xml_description: "%{xml}: Am besten für den Daten-Import oder automatische Weiterverarbeitung"
xml_link_description: XML-Datei mit all Ihren Aktionen, Umgebungen, Projekten, Tags und Notizen
download_link: Download link
yaml_link_title: YAML Datei
csv_actions_title: CSV Dile (Aktionen, Umgebungen und Projekte)
csv_notes_title: CSV Datei (nur Notizen)
xml_link_title: XML file (actions only)
yaml: YAML
csv: CSV
xml: XML
date:
abbr_day_names:
- So
@ -362,7 +398,64 @@ de:
submit: Сохранить %{model}
update: Обновить %{model}
integrations:
sections:
automatic_email: Anstehende Aufgaben automatisch sich via E-Mail zusenden lassen
message_gateway: Tracks mit einem Mail-Server integrieren, um Aufgaben via E-Mail zu erstellen
mailgun: Send emails to Tracks with Mailgun
email_rich: Rich Todo Message email format
opensearch_description: In Tracks suchen
opensearch_description: Hae Tracksista
title: Integration
intro: "Tracks kann mit verschiedenen Werkzeugen zusammenarbeiten... was immer Sie brauchen, um Ihre Aufgaben zu erledigen! Auf dieser Seite finden Sie Informationen, um einige dieser Werkzeuge einzurichten. Diese Beispiele sind nicht unbedingt auf Ihre Umgebung anwendbar oder bedürfen mehr technisches Wissen als andere. Weitere Informationen finden Sie in der %{documentation_link} (englisch)."
developer_documentation_link: "Entwickler Documentation der Tracks' REST API"
contents_header: "Inhalt:"
add_your_own: Sie haben weitere Beispiele? %{tell_us_link}, damit wir es für die nächsten Versionen berücksichtigen können.
tell_us_link_text: Berichten Sie uns in unserem issue queue
cron_1: If you enter the following entry to your crontab, you will receive email every day around 5 AM with a list of the upcoming actions which are due within the next 7 days.
cron_2: You can of course use other text %{feeds_link} why not email a list of next actions in a particular project to a group of colleagues who are working on the project?
cron_email_subject: Tracks actions due in the next 7 days
feeds_link_text: feeds provided by Tracks
message_gateway:
description: 'If Tracks is running on the same server as your mail server, you can use the integrated mail handler built into tracks. Steps to set it up:'
rich_api_tip: 'You can also use the Rich Todo API to send in tasks like "do laundry @ Home" or "Call Bill > project X". The subject of the message will fill description, context, and project, while the body will populate the tasks''s note.'
configuration: "You may need to configure your %{site_yml} to tell the message gateway to look at the %{to_name} field or %{from_name} field to lookup Tracks' user from the email address in that field."
one_user_configuration: "You can also send all email to a specific Tracks user. Configure mail_dispatch in site.yml to %{single_user_var_name} and pass the login of the user: %{code}"
instructions:
1: 'Go to %{preferences_link} and set your "%{sms_email_name}" and "%{sms_context_name}" for todos sent in via email (which could come from an SMS message)'
2: In sendmail/qmail/postfix/whatever, set up an email address alias to pipe messages to %{command}
3: Send an email to your newly configured address!
mailgun:
description: If you want to email tasks to Tracks, but cannot run a mailserver on the same host, you could use the %{mailgun_link} support built in to Tracks.
conditions: For this to work your Tracks server will need to be reachable from the internet, so that Mailgun can POST data to it.
gateway_instructions: All the comments about the email format from the section above apply to the Mailgun handling, as the data is processed the same way
instructions:
1: Go to %{mailgun_link} and register for a free account.
2: "Go to 'Routes' in the Mailgun control panel, and add a new route:"
2a: "'Filter expression' should be set to 'catch_all()'"
2b: "'Action' should be 'forward(\"http://mytracksserver.domain.com/mailgun/mime\")'"
3: 'Go to %{preferences_link} and enter your incoming Mailgun email address (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
4: 'Select a default context for emails to be put in with "%{sms_context_name"'
5: "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
6: "Update the mailmap in 'site.yml' to define which senders can send emails to which incoming addresses. For example, to send emails from your work and home email accounts to your tracks Mailgun route, set it up like this: %{code}"
email_rich:
description: "For both of the above methods, the follow format can be used:"
fields_title: "The fields are:"
symbol_title: Symbol
meaning_title: Meaning
fields_instruction: All symbols are optional, and text up to the first symbol (or end of string) is used as the description of the todo
field_descriptions:
context: The context to place the Todo in
project: The project to place the Todo in
due_date: The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day)
tag: A tag to apply to the Todo may be used multiple times
star: Flag to star the Todo
example_names:
todo: my awesome todo
context: context
project: project
tag:
1: tag1
2: tag2
help:
title: Help
usage: 'You can find information on the usage in the %{manual_link} in the project GitHub wiki.'

View file

@ -21,6 +21,7 @@ en:
sms_context: Default email context
sms_email: From email
staleness_starts: Start of staleness
theme: Theme
time_zone: Time zone
title_date_format: Title date format
verbose_action_descriptors: Show descriptors (context, project) of actions
@ -42,9 +43,11 @@ en:
tags: Tags
user:
auth_type: Auth type
created_at: Created at
display_name: Display name
email: Email address
first_name: First name
last_login_at: Last login at
last_name: Last name
login: Login
open_id_url: OpenID URL
@ -195,10 +198,46 @@ en:
view_link: 'View context: %{name}'
visible_contexts: Visible contexts
data:
import_destination_invalid: Invalid import destination
import_errors: Some errors occurred during import
import_successful: Import was successful.
invalid_import_destination: Invalid import destination
import:
errors:
invalid_destination: "Invalid import destination: %{e}"
some: Some errors occurred during import
file_blank: File can't be blank
invalid_csv: "Invalid CSV: could not read headers: %{e}"
save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write to the upload directory? %{e}"
map_title: Map fields to be imported
header: Importing data
submit: Import
successful: Import was successful.
target_field: "Import to:"
upload: Upload
upload_csv: Please upload your CSV file
projects_count: "%{count} Projects imported"
todos_count: "%{count} Todos imported"
yaml_disabled: "YAML loading is disabled"
yaml_warning: "%{warning}: all your current data will be destroyed before importing the YAML file, so if you have access to the database, we strongly recommend backing up the database right now in case that anything goes wrong."
paste_field: "Paste the contents of the YAML file you exported into the text box below:"
warning: Beware
export:
page_title: Tracks::Export
title: Exporting data
format_header: "You can choose between the following formats:"
yaml_description: "%{yaml}: Best for exporting data."
yaml_link_description: YAML file containing all your actions, contexts, projects, tags and notes
yaml_experimental: "Please note that importing YAML files is currently supported only in experimentally. Do not rely on it for backing up critical data."
csv_description: "%{csv}: Best for importing into spreadsheet or data analysis software"
csv_actions_description: CSV file containing all of your actions, with named contexts and projects
csv_notes_description: CSV file containing all your notes
xml_description: "%{xml}: Best for importing or repurposing the data"
xml_link_description: XML file containing all your actions, contexts, projects, tags and notes
download_link: Download link
yaml_link_title: YAML file
csv_actions_title: CSV file (actions, contexts and projects)
csv_notes_title: CSV file (notes only)
xml_link_title: XML file (actions only)
yaml: YAML
csv: CSV
xml: XML
date:
abbr_day_names:
- Sun
@ -366,7 +405,63 @@ en:
submit: Save %{model}
update: Update %{model}
integrations:
opensearch_description: Search in Tracks
sections:
automatic_email: Automatically Email Yourself Upcoming Actions
message_gateway: Integrate Tracks with an email server to be able to send an action through email to Tracks
mailgun: Send emails to Tracks with Mailgun
email_rich: Rich Todo Message email format
opensearch_description: Hae Tracksista
title: Integrations
intro: "Tracks can be integrated with a number of other tools... whatever it takes to help you get things done! This page has information on setting up some of these. Not all of these are applicable to all platforms, and some require more technical knowledge than others. See also %{documentation_link}"
developer_documentation_link: developer documentation for Tracks
contents_header: "Contents:"
add_your_own: Do you have one of your own to add? %{tell_us_link} and we may include it on this page in a future versions of Tracks.
tell_us_link_text: Tell us about it in our issue queue
cron_1: If you enter the following entry to your crontab, you will receive email every day around 5 AM with a list of the upcoming actions which are due within the next 7 days.
cron_2: You can of course use other text %{feeds_link} why not email a list of next actions in a particular project to a group of colleagues who are working on the project?
cron_email_subject: Tracks actions due in the next 7 days
feeds_link_text: feeds provided by Tracks
message_gateway:
description: 'If Tracks is running on the same server as your mail server, you can use the integrated mail handler built into tracks. Steps to set it up:'
rich_api_tip: 'You can also use the Rich Todo API to send in tasks like "do laundry @ Home" or "Call Bill > project X". The subject of the message will fill description, context, and project, while the body will populate the tasks''s note.'
configuration: "You may need to configure your %{site_yml} to tell the message gateway to look at the %{to_name} field or %{from_name} field to lookup Tracks' user from the email address in that field."
one_user_configuration: "You can also send all email to a specific Tracks user. Configure mail_dispatch in site.yml to %{single_user_var_name} and pass the login of the user: %{code}"
instructions:
1: 'Go to %{preferences_link} and set your "%{sms_email_name}" and "%{sms_context_name}" for todos sent in via email (which could come from an SMS message)'
2: In sendmail/qmail/postfix/whatever, set up an email address alias to pipe messages to %{command}
3: Send an email to your newly configured address!
mailgun:
description: If you want to email tasks to Tracks, but cannot run a mailserver on the same host, you could use the %{mailgun_link} support built in to Tracks.
conditions: For this to work your Tracks server will need to be reachable from the internet, so that Mailgun can POST data to it.
gateway_instructions: All the comments about the email format from the section above apply to the Mailgun handling, as the data is processed the same way
instructions:
1: Go to %{mailgun_link} and register for a free account.
2: "Go to 'Routes' in the Mailgun control panel, and add a new route:"
2a: "'Filter expression' should be set to 'catch_all()'"
2b: "'Action' should be 'forward(\"http://mytracksserver.domain.com/mailgun/mime\")'"
3: 'Go to %{preferences_link} and enter your incoming Mailgun email address (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
4: 'Select a default context for emails to be put in with "%{sms_context_name"'
5: "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
6: "Update the mailmap in 'site.yml' to define which senders can send emails to which incoming addresses. For example, to send emails from your work and home email accounts to your tracks Mailgun route, set it up like this: %{code}"
email_rich:
description: "For both of the above methods, the follow format can be used:"
fields_title: "The fields are:"
symbol_title: Symbol
meaning_title: Meaning
fields_instruction: All symbols are optional, and text up to the first symbol (or end of string) is used as the description of the todo
field_descriptions:
context: The context to place the Todo in
project: The project to place the Todo in
due_date: The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day)
tag: A tag to apply to the Todo may be used multiple times
star: Flag to star the Todo
example_names:
todo: my awesome todo
context: context
project: project
tag:
1: tag1
2: tag2
help:
title: Help
usage: 'You can find information on the usage in the %{manual_link} in the project GitHub wiki.'
@ -566,9 +661,11 @@ en:
page_title: TRACKS::Preferences
page_title_edit: TRACKS::Edit Preferences
password_changed: You password has been changed, please log on again.
pick_one: 'Or pick one of the following:'
remove_introduction: You can remove your user account here. Note that this is
irreversible and will remove all your data! After removal you will be logged
out.
result_in: 'This will result in: '
show_number_completed: Show %{number} completed items
sms_context_none: None
staleness_starts_after: Staleness starts after %{days} days

View file

@ -191,10 +191,46 @@ es:
view_link: 'View context: %{name}'
visible_contexts: Contextos visible
data:
import_destination_invalid: Invalid import destination
import_errors: Han ocurrido algunos errores durante la importación
import_successful: Importación se realizó correctamente.
invalid_import_destination: Invalid import destination
import:
errors:
invalid_destination: "Invalid import destination: %{e}"
some: Han ocurrido algunos errores durante la importación
file_blank: File can't be blank
invalid_csv: "Invalid CSV: could not read headers: %{e}"
save_error: "Could not save uploaded CSV (%{path_and_file}). Can Tracks write to the upload directory? %{e}"
map_title: Map fields to be imported
header: Importing data
submit: Import
successful: Importación se realizó correctamente.
target_field: "Import to:"
upload: Upload
upload_csv: Please upload your CSV file
projects_count: "%{count} Projects imported"
todos_count: "%{count} Todos imported"
yaml_disabled: "YAML loading is disabled"
yaml_warning: "%{warning}: all your current data will be destroyed before importing the YAML file, so if you have access to the database, we strongly recommend backing up the database right now in case that anything goes wrong."
paste_field: "Paste the contents of the YAML file you exported into the text box below:"
warning: Beware
export:
page_title: Tracks::Export
title: Exportar datos
format_header: "Puede escoger entre los siguientes formatos:"
yaml_description: "%{yaml}: Mejor formato para exportar datos."
yaml_link_description: Fichero YAML con todas sus acciones, contextos, proyectos, etiquetas y notas
yaml_experimental: "Por favor tenga en cuenta que la importación de ficheros YAML actualmente esta soportada de forma experimental. No confíe en este formato para hacer copias de seguridad de datos importantes."
csv_description: "%{csv}: Mejor formato para importar en una hoja de cálculo o en programas de análisis de datos."
csv_actions_description: Fichero CSV con todas sus acciones, con contextos por nombre y proyectos
csv_notes_description: Fichero CSV con todas sus notas
xml_description: "%{xml}: Mejor formato para transformar los datos a otro formato"
xml_link_description: Fichero XML con todas sus acciones, contextos, proyectos, etiquetas y notas
download_link: Enlace de descarga
yaml_link_title: Fichero YAML
csv_actions_title: Fichero CSV (acciones, contextos y proyectos)
csv_notes_title: Fichero CSV (sólo notas)
xml_link_title: Fichero XML
yaml: YAML
csv: CSV
xml: XML
date:
abbr_day_names:
- Dom

View file

@ -48,6 +48,7 @@ fi:
login: Login
open_id_url: OpenID-URL
password: Salasana
created_at: Luotu
errors:
full_messages:
format: "%{attribute} %{message}"

View file

@ -356,7 +356,63 @@ nl:
submit: Bewaar %{model}
update: Bijwerken %{model}
integrations:
sections:
automatic_email: Email jezelf automatisch de acties met een aflopende deadline
message_gateway: Integreer Tracks met een email server om een actie via email naar Tracks te sturen
mailgun: Send emails to Tracks with Mailgun
email_rich: Rich Todo Message email format
opensearch_description: Zoek in Tracks
title: Integratie
intro: "Tracks kan met een aantal tools worden geïntegreerd... Alles om je te helpen om dingen gedaan te krijgen! Deze pagina heeft informatie over het tot stand brengen van sommige integratievormen. Deze voorbeelden zijn niet altijd voor alle platformen van toepassing en sommige voorbeelden vragen meer technische kennis dan anderen Zie ook %{documentation_link}."
developer_documentation_link: "de documentatie voor ontwikkelaars met Tracks' REST API"
contents_header: "Inhoud:"
add_your_own: Heb je een tip om hier toe te voegen? %{tell_us_link} en misschien voegen we jouw tip toe op deze pagina in een toekomstige versie van Tracks.
tell_us_link_text: Vertel ons er over in onze issue queue
cron_1: Als je de volgende regel toevoegd aan jouw crontab, dat ontvang je een e-mail op elke dag rond 05:00 met een lijst met acties waarvan de deadline afloopt binnen de komende 7 dagen.
cron_2: "Uiteraard kan je ook een andere %{feeds_link} bijvoorbeeld een email met een lijst van acties voor een specifiek project naar een groep collega's die werken aan dat project?"
cron_email_subject: Tracks actions due in the next 7 days
feeds_link_text: text feed gebruiken die Tracks biedt
message_gateway:
description: 'Als Tracks draait op dezelfde server als jouw mailserver, dan kan je de geïntegreerde mail handler gebruiken van Tracks. Om dit in te stellen:'
rich_api_tip: 'Je kan ook de Rich Todo API gebruiken om acties te maken zoals "do laundry @ Home" of "Call Bill > project X". Het onderwerp van het bericht zal de bijschrijving van de actie vullen, de context, en het project, terwijl de body van het bericht de notities van de actie zal vullen.'
configuration: "Het kan nodig zijn om jouw %{site_yml} te configureren om de message gateway te laten kijken naar het %{to_name} veld of het %{from_name} veld om de Tracks-gebruiker op te zoeken met het emailadres uit dat veld."
one_user_configuration: "Je kan ook alle email naar een specifieke Tracks gebruiker sturen. Stel mail_dispatch in site.yml in op %{single_user_var_name} en geeft de login van de gebruiker door: %{code}"
instructions:
1: 'Ga naar %{preferences_link} en stel in "%{sms_email_name}" en "%{sms_context_name}" voor acties die verzonden zijn via email (die bijv. komen via een SMS message)'
2: In sendmail/qmail/postfix/whatever, stel een email address alias in om berichten door te sturen naar %{command}
3: Verstuur een email naar het net geconfigureerde e-mail adres!
mailgun:
description: If you want to email tasks to Tracks, but cannot run a mailserver on the same host, you could use the %{mailgun_link} support built in to Tracks.
conditions: For this to work your Tracks server will need to be reachable from the internet, so that Mailgun can POST data to it.
gateway_instructions: All the comments about the email format from the section above apply to the Mailgun handling, as the data is processed the same way
instructions:
1: Go to %{mailgun_link} and register for a free account.
2: "Go to 'Routes' in the Mailgun control panel, and add a new route:"
2a: "'Filter expression' should be set to 'catch_all()'"
2b: "'Action' should be 'forward(\"http://mytracksserver.domain.com/mailgun/mime\")'"
3: 'Go to %{preferences_link} and enter your incoming Mailgun email address (e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
4: 'Select a default context for emails to be put in with "%{sms_context_name"'
5: "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
6: "Update the mailmap in 'site.yml' to define which senders can send emails to which incoming addresses. For example, to send emails from your work and home email accounts to your tracks Mailgun route, set it up like this: %{code}"
email_rich:
description: "For both of the above methods, the follow format can be used:"
fields_title: "The fields are:"
symbol_title: Symbol
meaning_title: Meaning
fields_instruction: All symbols are optional, and text up to the first symbol (or end of string) is used as the description of the todo
field_descriptions:
context: The context to place the Todo in
project: The project to place the Todo in
due_date: The due date for the Todo (may be 2 digits for day, 4 digits for month-day, or 6 digits for year-month-day)
tag: A tag to apply to the Todo may be used multiple times
star: Flag to star the Todo
example_names:
todo: my awesome todo
context: context
project: project
tag:
1: tag1
2: tag2
help:
title: Help
usage: 'You can find information on the usage in the %{manual_link} in the project GitHub wiki.'