Merge branch 'release-v0.7.8'

This commit is contained in:
Sam 2022-11-30 12:44:19 +01:00
commit f1d113290a
88 changed files with 1056 additions and 541 deletions

View File

@ -1,5 +1,15 @@
# Change log
## Version 0.7.8 (2022/11/30)
FitTrackee is now available in Dutch (thanks to @bjornclauw).
### Translations
* [#270](https://github.com/SamR1/FitTrackee/issues/270) - [translations request] Dutch (Nederlands)
## Version 0.7.7 (2022/11/27)
### Features and enhancements

View File

@ -26,8 +26,7 @@ Examples for Android (non-exhaustive list):
Maps are displayed using [Open Street Map](https://www.openstreetmap.org).
It is also possible to add a workout without a gpx file.
Translations can be updated through [Weblate](https://hosted.weblate.org/engage/fittrackee/).
Available languages:
Translations can be updated through [Weblate](https://hosted.weblate.org/engage/fittrackee/):
[![Translation status](https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg)](https://hosted.weblate.org/engage/fittrackee/)
**Still under heavy development (some features may be unstable).**

View File

@ -1 +1 @@
0.7.7
0.7.8

View File

@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 29d50ceb48218bde929c0e0bec0613ad
config: 6269186d3596b7516ce130c49b5a0a6b
tags: 645f666f9bcd5a90fca523b33c5a78b7

Binary file not shown.

Before

Width:  |  Height:  |  Size: 552 KiB

After

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -1,5 +1,15 @@
# Change log
## Version 0.7.8 (2022/11/30)
FitTrackee is now available in Dutch (thanks to @bjornclauw).
### Translations
* [#270](https://github.com/SamR1/FitTrackee/issues/270) - [translations request] Dutch (Nederlands)
## Version 0.7.7 (2022/11/27)
### Features and enhancements

View File

@ -11,19 +11,19 @@ With the default configuration, `Open Street Map <https://www.openstreetmap.org>
Workouts
^^^^^^^^
- 12 sports are supported:
- 13 sports are supported:
- Cycling (Sport)
- Cycling (Transport)
- Cycling (Virtual) (**new in 0.7.3**)
- Cycling (Virtual) (*new in 0.7.3*)
- Hiking
- Mountain Biking
- Mountain Biking (Electric) (**new in 0.5.0**)
- Rowing (**new in 0.5.0**)
- Mountain Biking (Electric) (*new in 0.5.0*)
- Rowing (*new in 0.5.0*)
- Running
- Skiing (Alpine) (**new in 0.5.0**)
- Skiing (Cross Country) (**new in 0.5.0**)
- Snowshoes (**new in 0.5.2**)
- Trail (**new in 0.5.0**)
- Skiing (Alpine) (*new in 0.5.0*)
- Skiing (Cross Country) (*new in 0.5.0*)
- Snowshoes (*new in 0.5.2*)
- Trail (*new in 0.5.0*)
- Walking
- (*new in 0.5.0*) Stopped speed threshold used by `gpxpy <https://github.com/tkrajina/gpxpy>`_ is not the default one for the following sports (0.1 km/h instead of 1 km/h):
- Hiking
@ -38,23 +38,23 @@ Workouts
- Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.
- Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).
- | A workout with a gpx file can be displayed with map and charts (speed and elevation).
| Controls allow full screen view and position reset (**new in 0.5.5**).
| Controls allow full screen view and position reset (*new in 0.5.5*).
- | If DarkSky API key is provided, weather is displayed in workout detail.
| Wind is displayed, with arrow indicating direction (a tooltip can be displayed with the direction that the wind is coming **from**) (**new in 0.5.5**).
| Wind is displayed, with arrow indicating direction (a tooltip can be displayed with the direction that the wind is coming **from**) (*new in 0.5.5*).
- Segments can be displayed.
- Workout gpx file can be downloaded (**new in 0.5.1**)
- Workout gpx file can be downloaded (*new in 0.5.1*)
- Workout edition and deletion. User can add a note.
- User statistics, by time period (week, month, year) and sport:
- total distance
- total duration
- total workouts
- total ascent (**new in 0.5.0**)
- total descent (**new in 0.5.0**)
- average speed (**new in 0.5.1**)
- total ascent (*new in 0.5.0*)
- total descent (*new in 0.5.0*)
- average speed (*new in 0.5.1*)
- User records by sports:
- average speed
- farthest distance
- highest ascent (**new in 0.6.11**, can be hidden, see user preferences)
- highest ascent (*new in 0.6.11*, can be hidden, see user preferences)
- longest duration
- maximum speed
@ -136,6 +136,13 @@ Translations
^^^^^^^^^^^^
FitTrackee is available in the following languages (which can be saved in the user preferences):
- English
- French (*new in 0.2.3*)
- German (*new in 0.6.9*)
- Dutch (*new in 0.7.8*)
Translations status on `Weblate <https://hosted.weblate.org/engage/fittrackee/>`__:
.. figure:: https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg

View File

@ -401,7 +401,7 @@ For instance, copy and update ``.env`` file from ``.env.example`` and source the
.. note::
| To start application and workers with **systemd** service, see `Deployment <installation.html#deployment>`__
- Open http://localhost:3000 and register
- Open http://localhost:5000 and register
- To set admin rights to the newly created account, use the following command line:
@ -480,13 +480,13 @@ Production environment
.. warning::
| Note that FitTrackee is under heavy development, some features may be unstable.
- Download the last release (for now, it is the release v0.7.7):
- Download the last release (for now, it is the release v0.7.8):
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.7.tar.gz
$ tar -xzf v0.7.7.tar.gz
$ mv FitTrackee-0.7.7 FitTrackee
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.8.tar.gz
$ tar -xzf v0.7.8.tar.gz
$ mv FitTrackee-0.7.8 FitTrackee
$ cd FitTrackee
- Create **.env** from example and update it
@ -606,13 +606,13 @@ Prod environment
- Change to the directory where FitTrackee directory is located
- Download the last release (for now, it is the release v0.7.7) and overwrite existing files:
- Download the last release (for now, it is the release v0.7.8) and overwrite existing files:
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.7.tar.gz
$ tar -xzf v0.7.7.tar.gz
$ cp -R FitTrackee-0.7.7/* FitTrackee/
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.8.tar.gz
$ tar -xzf v0.7.8.tar.gz
$ cp -R FitTrackee-0.7.8/* FitTrackee/
$ cd FitTrackee
- Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__).

View File

@ -1,6 +1,6 @@
var DOCUMENTATION_OPTIONS = {
URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'),
VERSION: '0.7.7',
VERSION: '0.7.8',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Authentication &#8212; FitTrackee 0.7.7
<title>Authentication &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -1239,7 +1239,7 @@ for other reasons.</p></li>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Configuration &#8212; FitTrackee 0.7.7
<title>Configuration &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -155,7 +155,7 @@
<span class="w"> </span><span class="nt">&quot;max_users&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">0</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;max_zip_file_size&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10485760</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;map_attribution&quot;</span><span class="p">:</span><span class="w"> </span><span class="nt">&quot;&amp;copy; &lt;a href=http://www.openstreetmap.org/copyright&gt;OpenStreetMap&lt;/a&gt; contributors&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.7.7&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.7.8&quot;</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;success&quot;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
@ -196,7 +196,7 @@
<span class="w"> </span><span class="nt">&quot;max_users&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;max_zip_file_size&quot;</span><span class="p">:</span><span class="w"> </span><span class="mi">10485760</span><span class="p">,</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;map_attribution&quot;</span><span class="p">:</span><span class="w"> </span><span class="nt">&quot;&amp;copy; &lt;a href=http://www.openstreetmap.org/copyright&gt;OpenStreetMap&lt;/a&gt; contributors&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.7.7&quot;</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;version&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;0.7.8&quot;</span><span class="w"></span>
<span class="w"> </span><span class="p">},</span><span class="w"></span>
<span class="w"> </span><span class="nt">&quot;status&quot;</span><span class="p">:</span><span class="w"> </span><span class="s2">&quot;success&quot;</span><span class="w"></span>
<span class="p">}</span><span class="w"></span>
@ -279,7 +279,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>API documentation &#8212; FitTrackee 0.7.7
<title>API documentation &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -160,7 +160,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>OAuth2 &#8212; FitTrackee 0.7.7
<title>OAuth2 &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -694,7 +694,7 @@ are supported by FitTrackee)</p></li>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Records &#8212; FitTrackee 0.7.7
<title>Records &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -262,7 +262,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Sports &#8212; FitTrackee 0.7.7
<title>Sports &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -492,7 +492,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Statistics &#8212; FitTrackee 0.7.7
<title>Statistics &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -419,7 +419,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Users &#8212; FitTrackee 0.7.7
<title>Users &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -663,7 +663,7 @@ one admin.</p>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Workouts &#8212; FitTrackee 0.7.7
<title>Workouts &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -1179,7 +1179,7 @@ Double quotes in notes must be escaped.</p></li>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Third-party applications &#8212; FitTrackee 0.7.7
<title>Third-party applications &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -259,7 +259,7 @@ It is recommended to use PKCE to provide a better security.</p>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

File diff suppressed because it is too large Load Diff

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Command line interface &#8212; FitTrackee 0.7.7
<title>Command line interface &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -288,7 +288,7 @@ Commands:
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Features &#8212; FitTrackee 0.7.7
<title>Features &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -156,19 +156,19 @@
<h2>Workouts<a class="headerlink" href="#workouts" title="Permalink to this heading"></a></h2>
<ul class="simple">
<li><dl class="simple">
<dt>12 sports are supported:</dt><dd><ul>
<dt>13 sports are supported:</dt><dd><ul>
<li><p>Cycling (Sport)</p></li>
<li><p>Cycling (Transport)</p></li>
<li><p>Cycling (Virtual) (<strong>new in 0.7.3</strong>)</p></li>
<li><p>Cycling (Virtual) (<em>new in 0.7.3</em>)</p></li>
<li><p>Hiking</p></li>
<li><p>Mountain Biking</p></li>
<li><p>Mountain Biking (Electric) (<strong>new in 0.5.0</strong>)</p></li>
<li><p>Rowing (<strong>new in 0.5.0</strong>)</p></li>
<li><p>Mountain Biking (Electric) (<em>new in 0.5.0</em>)</p></li>
<li><p>Rowing (<em>new in 0.5.0</em>)</p></li>
<li><p>Running</p></li>
<li><p>Skiing (Alpine) (<strong>new in 0.5.0</strong>)</p></li>
<li><p>Skiing (Cross Country) (<strong>new in 0.5.0</strong>)</p></li>
<li><p>Snowshoes (<strong>new in 0.5.2</strong>)</p></li>
<li><p>Trail (<strong>new in 0.5.0</strong>)</p></li>
<li><p>Skiing (Alpine) (<em>new in 0.5.0</em>)</p></li>
<li><p>Skiing (Cross Country) (<em>new in 0.5.0</em>)</p></li>
<li><p>Snowshoes (<em>new in 0.5.2</em>)</p></li>
<li><p>Trail (<em>new in 0.5.0</em>)</p></li>
<li><p>Walking</p></li>
</ul>
</dd>
@ -195,25 +195,25 @@
<li><p>Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).</p></li>
<li><div class="line-block">
<div class="line">A workout with a gpx file can be displayed with map and charts (speed and elevation).</div>
<div class="line">Controls allow full screen view and position reset (<strong>new in 0.5.5</strong>).</div>
<div class="line">Controls allow full screen view and position reset (<em>new in 0.5.5</em>).</div>
</div>
</li>
<li><div class="line-block">
<div class="line">If DarkSky API key is provided, weather is displayed in workout detail.</div>
<div class="line">Wind is displayed, with arrow indicating direction (a tooltip can be displayed with the direction that the wind is coming <strong>from</strong>) (<strong>new in 0.5.5</strong>).</div>
<div class="line">Wind is displayed, with arrow indicating direction (a tooltip can be displayed with the direction that the wind is coming <strong>from</strong>) (<em>new in 0.5.5</em>).</div>
</div>
</li>
<li><p>Segments can be displayed.</p></li>
<li><p>Workout gpx file can be downloaded (<strong>new in 0.5.1</strong>)</p></li>
<li><p>Workout gpx file can be downloaded (<em>new in 0.5.1</em>)</p></li>
<li><p>Workout edition and deletion. User can add a note.</p></li>
<li><dl class="simple">
<dt>User statistics, by time period (week, month, year) and sport:</dt><dd><ul class="simple">
<li><p>total distance</p></li>
<li><p>total duration</p></li>
<li><p>total workouts</p></li>
<li><p>total ascent (<strong>new in 0.5.0</strong>)</p></li>
<li><p>total descent (<strong>new in 0.5.0</strong>)</p></li>
<li><p>average speed (<strong>new in 0.5.1</strong>)</p></li>
<li><p>total ascent (<em>new in 0.5.0</em>)</p></li>
<li><p>total descent (<em>new in 0.5.0</em>)</p></li>
<li><p>average speed (<em>new in 0.5.1</em>)</p></li>
</ul>
</dd>
</dl>
@ -222,7 +222,7 @@
<dt>User records by sports:</dt><dd><ul class="simple">
<li><p>average speed</p></li>
<li><p>farthest distance</p></li>
<li><p>highest ascent (<strong>new in 0.6.11</strong>, can be hidden, see user preferences)</p></li>
<li><p>highest ascent (<em>new in 0.6.11</em>, can be hidden, see user preferences)</p></li>
<li><p>longest duration</p></li>
<li><p>maximum speed</p></li>
</ul>
@ -331,6 +331,13 @@ A user with an inactive account cannot log in. (<em>new in 0.6.0</em>)</p></li>
<section id="translations">
<h2>Translations<a class="headerlink" href="#translations" title="Permalink to this heading"></a></h2>
<p>FitTrackee is available in the following languages (which can be saved in the user preferences):</p>
<ul class="simple">
<li><p>English</p></li>
<li><p>French (<em>new in 0.2.3</em>)</p></li>
<li><p>German (<em>new in 0.6.9</em>)</p></li>
<li><p>Dutch (<em>new in 0.7.8</em>)</p></li>
</ul>
<p>Translations status on <a class="reference external" href="https://hosted.weblate.org/engage/fittrackee/">Weblate</a>:</p>
<figure class="align-default">
<img alt="https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg" src="https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg" /></figure>
</section>
@ -385,7 +392,7 @@ A user with an inactive account cannot log in. (<em>new in 0.6.0</em>)</p></li>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Index &#8212; FitTrackee 0.7.7
<title>Index &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -40,7 +40,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -188,7 +188,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>HTTP Routing Table &#8212; FitTrackee 0.7.7
<title>HTTP Routing Table &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -47,7 +47,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -410,7 +410,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>FitTrackee &#8212; FitTrackee 0.7.7
<title>FitTrackee &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -42,7 +42,7 @@
</button>
<a class="navbar-brand" href="#">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -180,7 +180,7 @@ Map</a>.</div>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Installation &#8212; FitTrackee 0.7.7
<title>Installation &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -714,7 +714,7 @@ $ <span class="nb">source</span> .env
</div>
</div>
<ul class="simple">
<li><p>Open <a class="reference external" href="http://localhost:3000">http://localhost:3000</a> and register</p></li>
<li><p>Open <a class="reference external" href="http://localhost:5000">http://localhost:5000</a> and register</p></li>
<li><p>To set admin rights to the newly created account, use the following command line:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ ftcli users update &lt;username&gt; --set-admin <span class="nb">true</span>
@ -795,11 +795,11 @@ $ make install-db
</div>
</div>
<ul class="simple">
<li><p>Download the last release (for now, it is the release v0.7.7):</p></li>
<li><p>Download the last release (for now, it is the release v0.7.8):</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.7.tar.gz
$ tar -xzf v0.7.7.tar.gz
$ mv FitTrackee-0.7.7 FitTrackee
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.8.tar.gz
$ tar -xzf v0.7.8.tar.gz
$ mv FitTrackee-0.7.8 FitTrackee
$ <span class="nb">cd</span> FitTrackee
</pre></div>
</div>
@ -919,11 +919,11 @@ $ <span class="nb">source</span> .env
<ul class="simple">
<li><p>Stop the application</p></li>
<li><p>Change to the directory where FitTrackee directory is located</p></li>
<li><p>Download the last release (for now, it is the release v0.7.7) and overwrite existing files:</p></li>
<li><p>Download the last release (for now, it is the release v0.7.8) and overwrite existing files:</p></li>
</ul>
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.7.tar.gz
$ tar -xzf v0.7.7.tar.gz
$ cp -R FitTrackee-0.7.7/* FitTrackee/
<div class="highlight-bash notranslate"><div class="highlight"><pre><span></span>$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.8.tar.gz
$ tar -xzf v0.7.8.tar.gz
$ cp -R FitTrackee-0.7.8/* FitTrackee/
$ <span class="nb">cd</span> FitTrackee
</pre></div>
</div>
@ -1182,7 +1182,7 @@ $ make docker-test-python <span class="c1"># run unit tests on API</span>
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

Binary file not shown.

View File

@ -4,7 +4,7 @@
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Search &#8212; FitTrackee 0.7.7
<title>Search &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="_static/bootstrap-sphinx.css" />
@ -47,7 +47,7 @@
</button>
<a class="navbar-brand" href="index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -154,7 +154,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

File diff suppressed because one or more lines are too long

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Administrator &#8212; FitTrackee 0.7.7
<title>Administrator &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -174,7 +174,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Troubleshooting &#8212; FitTrackee 0.7.7
<title>Troubleshooting &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -157,7 +157,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

View File

@ -5,7 +5,7 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>User &#8212; FitTrackee 0.7.7
<title>User &#8212; FitTrackee 0.7.8
documentation</title>
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/bootstrap-sphinx.css" />
@ -43,7 +43,7 @@
</button>
<a class="navbar-brand" href="../index.html">
FitTrackee</a>
<span class="navbar-text navbar-version pull-left"><b>0.7.7
<span class="navbar-text navbar-version pull-left"><b>0.7.8
</b></span>
</div>
@ -148,7 +148,7 @@
</p>
<p>
&copy; Copyright 2018 - 2022, SamR1 <a rel="me" href="https://fosstodon.org/@FitTrackee"><i class="fa fa-mastodon" aria-hidden="true"></i></a>.
Last updated on Nov 27, 2022.<br/>
Last updated on Nov 30, 2022.<br/>
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 5.3.0.<br/>
</p>
</div>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 552 KiB

After

Width:  |  Height:  |  Size: 553 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 373 KiB

After

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 208 KiB

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

After

Width:  |  Height:  |  Size: 72 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

After

Width:  |  Height:  |  Size: 73 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 113 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 130 KiB

After

Width:  |  Height:  |  Size: 130 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 82 KiB

After

Width:  |  Height:  |  Size: 83 KiB

View File

@ -11,19 +11,19 @@ With the default configuration, `Open Street Map <https://www.openstreetmap.org>
Workouts
^^^^^^^^
- 12 sports are supported:
- 13 sports are supported:
- Cycling (Sport)
- Cycling (Transport)
- Cycling (Virtual) (**new in 0.7.3**)
- Cycling (Virtual) (*new in 0.7.3*)
- Hiking
- Mountain Biking
- Mountain Biking (Electric) (**new in 0.5.0**)
- Rowing (**new in 0.5.0**)
- Mountain Biking (Electric) (*new in 0.5.0*)
- Rowing (*new in 0.5.0*)
- Running
- Skiing (Alpine) (**new in 0.5.0**)
- Skiing (Cross Country) (**new in 0.5.0**)
- Snowshoes (**new in 0.5.2**)
- Trail (**new in 0.5.0**)
- Skiing (Alpine) (*new in 0.5.0*)
- Skiing (Cross Country) (*new in 0.5.0*)
- Snowshoes (*new in 0.5.2*)
- Trail (*new in 0.5.0*)
- Walking
- (*new in 0.5.0*) Stopped speed threshold used by `gpxpy <https://github.com/tkrajina/gpxpy>`_ is not the default one for the following sports (0.1 km/h instead of 1 km/h):
- Hiking
@ -38,23 +38,23 @@ Workouts
- Dashboard with month calendar displaying workouts and record. The week can start on Sunday or Monday (which can be changed in the user preferences). The calendar displays up to 100 workouts.
- Workout creation by uploading a gpx file (related data are stored in database with metric system). A workout can even be created without gpx (the user must enter date, time, duration and distance).
- | A workout with a gpx file can be displayed with map and charts (speed and elevation).
| Controls allow full screen view and position reset (**new in 0.5.5**).
| Controls allow full screen view and position reset (*new in 0.5.5*).
- | If DarkSky API key is provided, weather is displayed in workout detail.
| Wind is displayed, with arrow indicating direction (a tooltip can be displayed with the direction that the wind is coming **from**) (**new in 0.5.5**).
| Wind is displayed, with arrow indicating direction (a tooltip can be displayed with the direction that the wind is coming **from**) (*new in 0.5.5*).
- Segments can be displayed.
- Workout gpx file can be downloaded (**new in 0.5.1**)
- Workout gpx file can be downloaded (*new in 0.5.1*)
- Workout edition and deletion. User can add a note.
- User statistics, by time period (week, month, year) and sport:
- total distance
- total duration
- total workouts
- total ascent (**new in 0.5.0**)
- total descent (**new in 0.5.0**)
- average speed (**new in 0.5.1**)
- total ascent (*new in 0.5.0*)
- total descent (*new in 0.5.0*)
- average speed (*new in 0.5.1*)
- User records by sports:
- average speed
- farthest distance
- highest ascent (**new in 0.6.11**, can be hidden, see user preferences)
- highest ascent (*new in 0.6.11*, can be hidden, see user preferences)
- longest duration
- maximum speed
@ -136,6 +136,13 @@ Translations
^^^^^^^^^^^^
FitTrackee is available in the following languages (which can be saved in the user preferences):
- English
- French (*new in 0.2.3*)
- German (*new in 0.6.9*)
- Dutch (*new in 0.7.8*)
Translations status on `Weblate <https://hosted.weblate.org/engage/fittrackee/>`__:
.. figure:: https://hosted.weblate.org/widgets/fittrackee/-/multi-auto.svg

View File

@ -401,7 +401,7 @@ For instance, copy and update ``.env`` file from ``.env.example`` and source the
.. note::
| To start application and workers with **systemd** service, see `Deployment <installation.html#deployment>`__
- Open http://localhost:3000 and register
- Open http://localhost:5000 and register
- To set admin rights to the newly created account, use the following command line:
@ -480,13 +480,13 @@ Production environment
.. warning::
| Note that FitTrackee is under heavy development, some features may be unstable.
- Download the last release (for now, it is the release v0.7.7):
- Download the last release (for now, it is the release v0.7.8):
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.7.tar.gz
$ tar -xzf v0.7.7.tar.gz
$ mv FitTrackee-0.7.7 FitTrackee
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.8.tar.gz
$ tar -xzf v0.7.8.tar.gz
$ mv FitTrackee-0.7.8 FitTrackee
$ cd FitTrackee
- Create **.env** from example and update it
@ -606,13 +606,13 @@ Prod environment
- Change to the directory where FitTrackee directory is located
- Download the last release (for now, it is the release v0.7.7) and overwrite existing files:
- Download the last release (for now, it is the release v0.7.8) and overwrite existing files:
.. code:: bash
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.7.tar.gz
$ tar -xzf v0.7.7.tar.gz
$ cp -R FitTrackee-0.7.7/* FitTrackee/
$ wget https://github.com/SamR1/FitTrackee/archive/v0.7.8.tar.gz
$ tar -xzf v0.7.8.tar.gz
$ cp -R FitTrackee-0.7.8/* FitTrackee/
$ cd FitTrackee
- Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__).

View File

@ -25,7 +25,7 @@ from werkzeug.middleware.proxy_fix import ProxyFix
from fittrackee.emails.email import EmailService
from fittrackee.request import CustomRequest
VERSION = __version__ = '0.7.7'
VERSION = __version__ = '0.7.8'
REDIS_URL = os.getenv('REDIS_URL', 'redis://')
API_RATE_LIMITS = os.environ.get('API_RATE_LIMITS', '300 per 5 minutes').split(
','

View File

@ -48,7 +48,7 @@ def get_application_config() -> Union[Dict, HttpResponse]:
"max_users": 0,
"max_zip_file_size": 10485760,
"map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
"version": "0.7.7"
"version": "0.7.8"
},
"status": "success"
}
@ -100,7 +100,7 @@ def update_application_config(auth_user: User) -> Union[Dict, HttpResponse]:
"max_users": 10,
"max_zip_file_size": 10485760,
"map_attribution": "&copy; <a href=http://www.openstreetmap.org/copyright>OpenStreetMap</a> contributors"
"version": "0.7.7"
"version": "0.7.8"
},
"status": "success"
}

View File

@ -61,7 +61,7 @@ class BaseConfig:
'fr',
'de',
# 'nb', # disabled for now
# 'nl', # disabled for now
'nl',
]
OAUTH2_TOKEN_EXPIRES_IN = {
'authorization_code': 864000, # 10 days

View File

@ -1 +1 @@
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.561352b4.js"></script><script defer="defer" src="/static/js/app.29b99fd4.js"></script><link href="/static/css/app.6b717ec5.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><!--[if IE]><link rel="icon" href="/favicon.ico"><![endif]--><link rel="stylesheet" href="/static/css/fork-awesome.min.css"/><link rel="stylesheet" href="/static/css/leaflet.css"/><title>FitTrackee</title><script defer="defer" src="/static/js/chunk-vendors.0004541e.js"></script><script defer="defer" src="/static/js/app.8d89be73.js"></script><link href="/static/css/app.7cddaab1.css" rel="stylesheet"><link rel="icon" type="image/png" sizes="32x32" href="/img/icons/favicon-32x32.png"><link rel="icon" type="image/png" sizes="16x16" href="/img/icons/favicon-16x16.png"><link rel="manifest" href="/manifest.json"><meta name="theme-color" content="#4DBA87"><meta name="apple-mobile-web-app-capable" content="no"><meta name="apple-mobile-web-app-status-bar-style" content="default"><meta name="apple-mobile-web-app-title" content="fittrackee_client"><link rel="apple-touch-icon" href="/img/icons/apple-touch-icon-152x152.png"><link rel="mask-icon" href="/img/icons/safari-pinned-tab.svg" color="#4DBA87"><meta name="msapplication-TileImage" content="/img/icons/msapplication-icon-144x144.png"><meta name="msapplication-TileColor" content="#000000"></head><body><noscript><strong>We're sorry but FitTrackee doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript><div id="app"></div></body></html>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -8,21 +8,23 @@ msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2022-07-03 07:58+0200\n"
"PO-Revision-Date: 2022-11-19 09:31+0100\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"PO-Revision-Date: 2022-11-29 00:47+0000\n"
"Last-Translator: bjornclauw <bjorn.clauw.1@gmail.com>\n"
"Language-Team: Dutch <https://hosted.weblate.org/projects/fittrackee/"
"fittrackee-api-emails/nl/>\n"
"Language: nl\n"
"Language-Team: nl <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.15-dev\n"
"Generated-By: Babel 2.11.0\n"
#: fittrackee/emails/templates/layout.html:215
#: fittrackee/emails/templates/layout.txt:1
#, python-format
msgid "Hi %(username)s,"
msgstr ""
msgstr "Dag %(username)s,"
#: fittrackee/emails/templates/account_confirmation/body.txt:6
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:3
@ -35,41 +37,43 @@ msgid ""
"For security, this request was received from a %(operating_system)s "
"device using %(browser_name)s."
msgstr ""
"Voor beveiliging, werd deze aanvraag ontvangen van een %(operating_system)s "
"apparaat via %(browser_name)s."
#: fittrackee/emails/templates/layout.html:221
#: fittrackee/emails/templates/layout.txt:5
msgid "Thanks,"
msgstr ""
msgstr "Bedankt,"
#: fittrackee/emails/templates/layout.html:222
#: fittrackee/emails/templates/layout.txt:6
msgid "The FitTrackee Team"
msgstr ""
msgstr "Het FitTrackee Team"
#: fittrackee/emails/templates/account_confirmation/body.html:2
#: fittrackee/emails/templates/account_confirmation/subject.txt:1
msgid "Confirm your account"
msgstr ""
msgstr "Bevestig uw account"
#: fittrackee/emails/templates/account_confirmation/body.html:3
msgid "Use this link to confirm your account."
msgstr ""
msgstr "Gebruik deze link om uw account te bevestigen."
#: fittrackee/emails/templates/account_confirmation/body.html:4
#: fittrackee/emails/templates/account_confirmation/body.txt:1
msgid "You have created an account on FitTrackee."
msgstr ""
msgstr "U hebt een account aangemaakt op FitTrackee."
#: fittrackee/emails/templates/account_confirmation/body.html:4
msgid "Use the button below to confirm your address email."
msgstr ""
msgstr "Gebruik de onderstaande knop om uw email adres te bevestigen."
#: fittrackee/emails/templates/account_confirmation/body.html:11
#: fittrackee/emails/templates/account_confirmation/body.txt:4
#: fittrackee/emails/templates/email_update_to_new_email/body.html:11
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:4
msgid "Verify your email"
msgstr ""
msgstr "Verifieer uw email"
#: fittrackee/emails/templates/account_confirmation/body.html:18
#: fittrackee/emails/templates/account_confirmation/body.txt:7
@ -77,6 +81,7 @@ msgid ""
"If this account creation wasn't initiated by you, please ignore this "
"email."
msgstr ""
"Indien u deze account niet hebt aangemaakt, gelieve deze email te negeren."
#: fittrackee/emails/templates/account_confirmation/body.html:22
#: fittrackee/emails/templates/email_update_to_new_email/body.html:22
@ -85,19 +90,21 @@ msgid ""
"If you're having trouble with the button above, copy and paste the URL "
"below into your web browser."
msgstr ""
"Als u problemen hebt met bovenstaande knop, kopieer en plak de onderstaande "
"URL in uw web browser."
#: fittrackee/emails/templates/account_confirmation/body.txt:2
msgid "Use the link below to confirm your address email."
msgstr ""
msgstr "Gebruik de onderstaande link om uw email adres te bevestigen."
#: fittrackee/emails/templates/email_update_to_current_email/body.html:2
#: fittrackee/emails/templates/email_update_to_current_email/subject.txt:1
msgid "Email changed"
msgstr ""
msgstr "Email aangepast"
#: fittrackee/emails/templates/email_update_to_current_email/body.html:3
msgid "Your email is being updated."
msgstr ""
msgstr "Uw email wordt aangepast."
#: fittrackee/emails/templates/email_update_to_current_email/body.html:4
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:1
@ -105,6 +112,8 @@ msgid ""
"You recently requested to change your email address for your FitTrackee "
"account to:"
msgstr ""
"U hebt een aanvraag ingediend om uw email adres voor uw FitTrackee account "
"te veranderen naar:"
#: fittrackee/emails/templates/email_update_to_current_email/body.html:18
#: fittrackee/emails/templates/email_update_to_current_email/body.txt:4
@ -112,15 +121,18 @@ msgid ""
"If this email change wasn't initiated by you, please change your password"
" immediately or contact your administrator if your account is locked."
msgstr ""
"Indien deze verandering niet door u werd aangevraagd, gelieve uw wachtwoord "
"dan onmiddellijk te veranderen of contacteer uw administrator als uw account "
"is vergrendeld."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:2
#: fittrackee/emails/templates/email_update_to_new_email/subject.txt:1
msgid "Confirm email change"
msgstr ""
msgstr "Bevestig email verandering"
#: fittrackee/emails/templates/email_update_to_new_email/body.html:3
msgid "Use this link to confirm email change."
msgstr ""
msgstr "Gebruik deze link om uw email verandering te bevestigen."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:1
@ -128,33 +140,37 @@ msgid ""
"You recently requested to change your email address for your FitTrackee "
"account."
msgstr ""
"U hebt aangevraagd om uw email adres voor uw FitTrackee account te "
"veranderen."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:4
msgid "Use the button below to confirm this address."
msgstr ""
msgstr "Gebruik de onderstaande knop om dit adres te bevestigen."
#: fittrackee/emails/templates/email_update_to_new_email/body.html:18
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:7
msgid "If this email change wasn't initiated by you, please ignore this email."
msgstr ""
"Indien u deze email aanpassing niet hebt aangevraagd, gelieve deze email te "
"negeren."
#: fittrackee/emails/templates/email_update_to_new_email/body.txt:2
msgid "Use the link below to confirm this address."
msgstr ""
msgstr "Gebruik onderstaande link om dit adres te bevestigen."
#: fittrackee/emails/templates/password_change/body.html:2
#: fittrackee/emails/templates/password_change/subject.txt:1
msgid "Password changed"
msgstr ""
msgstr "Wachtwoord aangepast"
#: fittrackee/emails/templates/password_change/body.html:3
msgid "Your password has been changed."
msgstr ""
msgstr "Uw wachtwoord werd aangepast."
#: fittrackee/emails/templates/password_change/body.html:4
#: fittrackee/emails/templates/password_change/body.txt:1
msgid "The password for your FitTrackee account has been changed."
msgstr ""
msgstr "Het wachtwoord voor uw FitTrackee account werd aangepast."
#: fittrackee/emails/templates/password_change/body.html:5
#: fittrackee/emails/templates/password_change/body.txt:4
@ -163,11 +179,14 @@ msgid ""
"password immediately or contact your administrator if your account is "
"locked."
msgstr ""
"Indien de aanpassing van uw wachtwoord niet door u werd aangevraagd, gelieve "
"uw wachtwoord dan onmiddellijk te veranderen of contacteer uw administrator "
"als uw account is vergrendeld."
#: fittrackee/emails/templates/password_reset_request/body.html:2
#: fittrackee/emails/templates/password_reset_request/subject.txt:1
msgid "Password reset request"
msgstr ""
msgstr "Aanvraag voor wachtwoord reset"
#: fittrackee/emails/templates/password_reset_request/body.html:3
#, python-format
@ -175,33 +194,40 @@ msgid ""
"Use this link to reset your password. The link is only valid for "
"%(expiration_delay)s."
msgstr ""
"Gebruik deze link om uw wachtwoord te resetten. De link is enkel geldig voor "
"%(expiration_delay)s."
#: fittrackee/emails/templates/password_reset_request/body.html:4
#: fittrackee/emails/templates/password_reset_request/body.txt:1
msgid "You recently requested to reset your password for your FitTrackee account."
msgstr ""
"U hebt een aanvraag ingediend om uw wachtwoord te resetten voor uw "
"FitTrackee account."
#: fittrackee/emails/templates/password_reset_request/body.html:4
msgid "Use the button below to reset it."
msgstr ""
msgstr "Gebruik de onderstaande knop om het te resetten."
#: fittrackee/emails/templates/password_reset_request/body.html:5
#: fittrackee/emails/templates/password_reset_request/body.txt:2
#, python-format
msgid "This password reset link is only valid for %(expiration_delay)s."
msgstr ""
"Deze link om uw wachtwoord te resetten is enkel geldig voor "
"%(expiration_delay)s."
#: fittrackee/emails/templates/password_reset_request/body.html:13
#: fittrackee/emails/templates/password_reset_request/body.txt:4
msgid "Reset your password"
msgstr ""
msgstr "Reset uw wachtwoord"
#: fittrackee/emails/templates/password_reset_request/body.html:20
#: fittrackee/emails/templates/password_reset_request/body.txt:7
msgid "If you did not request a password reset, please ignore this email."
msgstr ""
"Als u geen aanvraag hebt ingediend om uw wachtwoord aan te passen, gelieve "
"dan deze mail te negeren."
#: fittrackee/emails/templates/password_reset_request/body.txt:1
msgid "Use the link below to reset it."
msgstr ""
msgstr "Gebruik onderstaande link om het te resetten."

View File

@ -1,6 +1,6 @@
{
"name": "fittrackee_client",
"version": "0.7.7",
"version": "0.7.8",
"private": true,
"scripts": {
"serve": "vue-cli-service serve",

View File

@ -54,7 +54,7 @@
.dropdown-list {
list-style-type: none;
background-color: #ffffff;
padding: 0;
padding: 0 !important;
margin-top: 5px;
margin-left: -20px !important;
position: absolute;
@ -64,16 +64,12 @@
width: auto !important;
li {
padding-top: 5px;
padding-right: 5px;
}
li:last-child {
padding-bottom: 5px;
padding: 3px 8px;
}
}
.dropdown-item {
cursor: default;
cursor: pointer;
&.selected {
font-weight: bold;
@ -82,5 +78,9 @@
&.selected::after {
content: ' ✔';
}
&:hover {
background-color: var(--dropdown-hover-color);
}
}
</style>

View File

@ -197,14 +197,9 @@
.nav-item {
padding: 0 10px;
&.dropdown-wrapper {
width: 60px;
}
::v-deep(.dropdown-list) {
margin-left: -10px;
padding-left: 10px;
width: 75px;
margin-left: -95px !important;
width: 115px !important;
}
}
@ -294,6 +289,11 @@
.nav-item {
padding: 7px 25px;
::v-deep(.dropdown-list) {
margin-left: initial !important;
width: auto !important;
}
}
.nav-profile-img {

View File

@ -6,7 +6,7 @@ import { createI18n, LocaleMessages, VueMessageType } from 'vue-i18n'
* The loaded `JSON` locale messages is pre-compiled by `@intlify/vue-i18n-loader`, which is integrated into `vue-cli-plugin-i18n`.
* See: https://github.com/intlify/vue-i18n-loader#rocket-i18n-resource-pre-compilation
*/
const disabledLanguages = ['nb', 'nl'] // to update after translations release
const disabledLanguages = ['nb'] // to update after translations release
function loadLocaleMessages(): Record<string, LocaleMessages<VueMessageType>> {
const locales = require.context('./locales', true, /[A-Za-z0-9-_,\s]+\.ts$/i)

View File

@ -12,7 +12,7 @@
"application:write_DESCRIPTION": "grants write access to application configuration.",
"profile:read_DESCRIPTION": "grants read access to <code>auth</code> endpoints.",
"profile:write_DESCRIPTION": "grants write access to <code>auth</code> endpoints.",
"users:read_DESCRIPTION": "grants read access to <code>users</code> endpoints.",
"users:read_DESCRIPTION": "grants read access to <code>users</code> endpoints.",
"users:write_DESCRIPTION": "grants write access to <code>users</code> endpoints.",
"workouts:read_DESCRIPTION": "grants read access to <code>workouts</code> endpoints.",
"workouts:write_DESCRIPTION": "grants write access to <code>workouts</code> endpoints."

View File

@ -1,2 +1,6 @@
{
}
"FITTRACKEE_LICENSE": "Onder {0} licentie ",
"CONTACT_ADMIN": "Contacteer uw administrator",
"FITTRACKEE_DESCRIPTION": "<strong>FitTrackee</strong> is zelf-gehoste buitenshuis activiteiten tracker.",
"SOURCE_CODE": "Broncode"
}

View File

@ -1,2 +1,59 @@
{
"ACTION": "Actie",
"ACTIVATE_USER_ACCOUNT": "Activeer account",
"ACTIVE": "Ingeschakeld",
"ADMIN_RIGHTS_DELETE_USER_ACCOUNT": "Toevoegen/verwijderen van administrator rechten, verwijder gebruikersaccount.",
"APPLICATION": "Applicatie",
"APP_CONFIG": {
"ADMIN_CONTACT": "Administrator email voor contact",
"MAX_USERS_LABEL": "Max. aantal actieve gebruikers",
"MAX_FILES_IN_ZIP_LABEL": "Max. aantal bestanden in zip archief",
"NO_CONTACT_EMAIL": "geen contact email",
"TITLE": "Applicatie configureren",
"ZIP_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van zip archief (in Mb)",
"MAX_USERS_HELP": "Bij 0, geen limiet op registratie.",
"SINGLE_UPLOAD_MAX_SIZE_LABEL": "Max. grootte van bestanden voor upload (in Mb)"
},
"ADMIN": "Beheer",
"ADMINISTRATION": "Instellingen",
"BACK_TO_ADMIN": "Terug naar beheer",
"CONFIRM_USER_PASSWORD_RESET": "Weet u zeker dat u het wachtwoord voor {0} wilt resetten?",
"CURRENT_EMAIL": "Huidige email",
"EMAIL_SENDING_DISABLED": "Emails verzenden is uitgeschakeld.",
"ENABLE_DISABLE_SPORTS": "Aan- of uitzetten van sporten.",
"NEW_EMAIL": "Nieuwe email",
"PASSWORD_RESET_SUCCESSFUL": "Het wachtwoord werd gereset.",
"REGISTRATION_DISABLED": "Registratie is momenteel uitgeschakeld.",
"REGISTRATION_ENABLED": "Registratie is momenteel ingeschakeld.",
"RESET_USER_PASSWORD": "Reset wachtwoord",
"SPORTS": {
"TABLE": {
"ACTIVE": "Ingeschakeld",
"IMAGE": "Afbeelding",
"LABEL": "Label",
"HAS_WORKOUTS": "Trainingen aanwezig"
},
"TITLE": "Beheer sporten"
},
"UPDATE_USER_EMAIL": "Update email",
"USER": "gebruiker | gebruikers",
"USER_EMAIL_UPDATE_SUCCESSFUL": "Het emailadres werd bijgewerkt.",
"USERS": {
"TABLE": {
"ADD_ADMIN_RIGHTS": "Admin rechten toevoegen",
"REMOVE_ADMIN_RIGHTS": "Verwijder admin rechten"
},
"SELECTS": {
"ORDER_BY": {
"ADMIN": "admin status",
"CREATED_AT": "Registratie datum",
"IS_ACTIVE": "Account status",
"USERNAME": "gebruikersnaam",
"WORKOUTS_COUNT": "aantal trainingen"
}
}
},
"CONFIRM_USER_ACCOUNT_DELETION": "Weet u zeker dat u de account {0} wilt wissen? Alle gegevens worden verwijderd, dit kan niet ongedaan gemaakt worden.",
"DELETE_USER": "Verwijder gebruiker",
"UPDATE_APPLICATION_DESCRIPTION": "De applicatie configureren (maximum aantal geregistreerde gebruikers, maximum bestandsgrootte)."
}

View File

@ -1,2 +1,38 @@
{
}
"ERROR": {
"email: valid email must be provided": "Email: een geldige email is vereist.",
"error during gpx processing": "Fout bij verwerken van gpx.",
"error during gpx file parsing": "Fout bij het verwerken van het gpx bestand.",
"error on getting configuration": "Fout bij ophalen van configuratie.",
"error when updating configuration": "Fout bij het updaten van de configuratie",
"error, please try again or contact the administrator": "Fout, probeer opnieuw of contacteer de administrator.",
"error, registration is disabled": "Fout, registratie is uitgeschakeld.",
"file extension not allowed": "Bestandsformaat niet toegelaten.",
"invalid credentials": "Ongeldige inloggegevens.",
"invalid payload": "Ingegeven data is ongeldig.",
"invalid token, please log in again": "Ongeldige token, log opnieuw in.",
"invalid token, please request a new token": "Ongeldige token, log opnieuw in.",
"Network Error": "Netwerk fout.",
"new email must be different than curent email": "Het nieuwe email adres dient te verschillen van het oude",
"no file part": "Geen bestand opgegeven.",
"no selected file": "Geen bestand geselecteerd.",
"the number of files in the archive exceeds the limit": "Het aantal bestanden in het zip archief overschrijdt de limiet.",
"password: password and password confirmation do not match": "Wachtwoord: het wachtwoord en de bevestiging komen niet overeen.",
"provide a valid auth token": "Geef een geldig auth token.",
"sorry, that username is already taken": "Sorry, deze gebruikersnaam is al in gebruik.",
"sport does not exist": "Deze sport bestaat niet.",
"signature expired, please log in again": "Signatuur verlopen. Log opnieuw in.",
"successfully registered": "Succesvol geregistreerd.",
"user does not exist": "Gebruiker bestaat niet.",
"valid email must be provided for admin contact": "Een geldige email is vereist voor admin contact informatie",
"you can not delete your account, no other user has admin rights": "U kunt uw account niet verwijderen, geen andere gebruiker heeft admin rechten.",
"you do not have permissions": "U hebt geen machtigingen.",
"UNKNOWN": "Fout. Probeer opnieuw of contacteer de administrator.",
"at least one file in zip archive exceeds size limit, please check the archive": "Ten minste 1 bestand in het zip archief is groter dan toegelaten, gelieve de bestanden te controleren.",
"file size is greater than the allowed size": "Bestandsgrootte is groter dan toegestaan."
},
"PAGINATION": {
"PREVIOUS": "vorige",
"NEXT": "volgende"
}
}

View File

@ -1,2 +1,18 @@
{
}
"YES": "Ja",
"ACCOUNT-CONFIRMATION-RESEND": "Herzend bevestigings email",
"AUTHORIZE": "Toekennen",
"BACK": "Terug",
"CANCEL": "Annuleren",
"CLEAR_FILTER": "Verwijder filters",
"DELETE_MY_ACCOUNT": "Verwijder mijn account",
"EDIT": "Bewerken",
"ENABLE": "Aanzetten",
"FILTER": "Filter",
"NO": "Nee",
"REGISTER": "Registreer",
"RESET": "Reset",
"DISABLE": "Uitzetten",
"SUBMIT": "Aanpassen",
"LOGIN": "Inloggen"
}

View File

@ -1,2 +1,25 @@
{
}
"ABOUT": "over",
"CONFIRMATION": "Bevestiging",
"DOCUMENTATION": "documentatie",
"DISPLAYED": "Weergegeven",
"HERE": "hier",
"CONTACT": "contacteer",
"DAY": "dag | dagen",
"HOME": "Startscherm",
"SELECTS": {
"ORDER": {
"LABEL": "sorteer",
"DESC": "aflopend",
"ASC": "oplopend"
},
"ORDER_BY": {
"LABEL": "sorteer op"
},
"PER_PAGE": {
"LABEL": "per pagina"
}
},
"HIDDEN": "Verborgen",
"TOTAL": "Totaal"
}

View File

@ -1,2 +1,4 @@
{
"DASHBOARD": "Dashboard",
"THIS_MONTH": "Deze maand"
}

View File

@ -1,2 +1,9 @@
{
}
"NOT_FOUND": {
"PAGE": "Pagina niet gevonden",
"WORKOUT": "Training niet gevonden"
},
"SOMETHING_WRONG": "Er ging iets mis",
"UNKNOWN": "Fout. Probeer opnieuw of contacteer de administrator.",
"APP_ERROR": "Er heeft zich een onbekende fout voorgedaan.<br />Probeer aub later opnieuw of contacteer de administrator."
}

View File

@ -1,2 +1,36 @@
{
}
"APP": {
"CLIENT_SECRET": "Geheim",
"ISSUE_AT": "Probleem bij",
"REDIRECT_URL": "Doorverwijs URL",
"SCOPE": {
"LABEL": "Omvang",
"users:read_DESCRIPTION": "staat leestoegang toe aan <code>users</code> endpoints.",
"profile:write_DESCRIPTION": "staat schrijftoegang toe aan <code>auth</code> endpoints.",
"profile:read_DESCRIPTION": "staat leestoegang toe aan <code>auth</code> endpoints.",
"users:write_DESCRIPTION": "staat schrijftoegang toe aan <code>users</code> endpoints.",
"workouts:read_DESCRIPTION": "staat leestoegang toe aan <code>workouts</code> endpoints.",
"workouts:write_DESCRIPTION": "staat schrijftoegang toe aan <code>workouts</code> endpoints.",
"application:write_DESCRIPTION": "geeft toestemming tot aanpassen van de applicatie instellingen."
},
"NAME": "Naam van de app",
"URL": "App URL",
"DESCRIPTION": "App omschrijving",
"CLIENT_ID": "Id"
},
"APP_CREATED_SUCCESSFULLY": "App succesvol aangemaakt. Kopieer zeker de geheime sleutel, deze zal later niet meer verschijnen.",
"APP_DELETION_CONFIRMATION": "Weet u zeker dat u deze app wilt verwijderen?",
"APP_REQUESTING_ACCESS": "De app {0} vraagt:",
"APPS_LIST": "OAuth2 apps",
"AUTHORIZE_APP": "Toegang geven aan {0} tot uw gebruikersaccount?",
"COPY_TO_CLIPBOARD": "kopieer naar klembord",
"DELETE_APP": "Verwijder app",
"NEW_APP": "Voeg een app toe",
"NO_APP": "App niet gevonden!",
"NO_APPS": "geen apps",
"NO_DESCRIPTION": "geen beschrijving",
"REVOKE_ALL_TOKENS": "Verwijder alle tokens",
"TOKENS_REVOCATION_CONFIRMATION": "Weet u zeker dat u alle tokens wilt intrekken?",
"TOKENS_REVOKED": "Alle bestaande tokens werden ingetrokken.",
"ADD_A_NEW_APP": "Nieuwe OAuth2 app toevoegen"
}

View File

@ -1,2 +1,41 @@
{
}
"Cycling (Sport)": {
"LABEL": "Fietsen (Sport)"
},
"Cycling (Transport)": {
"LABEL": "Fietsen (Transport)"
},
"Cycling (Virtual)": {
"LABEL": "Fietsen (Virtueel)"
},
"Mountain Biking": {
"LABEL": "Mountainbiken"
},
"Mountain Biking (Electric)": {
"LABEL": "Mountainbiken (Elektrisch)"
},
"Rowing": {
"LABEL": "Roeien"
},
"Running": {
"LABEL": "Lopen"
},
"Skiing (Alpine)": {
"LABEL": "Skiën (Alpine)"
},
"Skiing (Cross Country)": {
"LABEL": "Skiën (Cross Country)"
},
"Snowshoes": {
"LABEL": "Sneeuwschoenen"
},
"Walking": {
"LABEL": "Wandelen"
},
"Hiking": {
"LABEL": "Trektocht"
},
"Trail": {
"LABEL": "Trail"
}
}

View File

@ -1,2 +1,8 @@
{
"STATISTICS": "Statistieken",
"TIME_FRAMES": {
"week": "week",
"month": "maand",
"year": "jaar"
}
}

View File

@ -1,2 +1,111 @@
{
"ACCOUNT_CONFIRMATION_NOT_RECEIVED": "Geen instructies ontvangen?",
"ACCOUNT_CONFIRMATION_SENT": "Controleer uw email. Een nieuwe bevestigingsmail werd verzonden naar het opgegeven adres.",
"ADMIN": "Beheer",
"ALREADY_HAVE_ACCOUNT": "Al een account aangemaakt?",
"CURRENT_PASSWORD": "Huidig wachtwoord",
"EMAIL": "Email",
"EMAIL_INFO": "Geef een geldig email adres op.",
"ENTER_PASSWORD": "Geef een paswoord in",
"FILTER_ON_USERNAME": "Filter op gebruikersnaam",
"HIDE_PASSWORD": "verberg wachtwoord",
"INVALID_TOKEN": "Ongeldig token, vraag een nieuwe wachtwoord reset aan.",
"LOG_IN": "inloggen",
"LOGIN": "Inloggen",
"LOGOUT": "Uitloggen",
"NEW_PASSWORD": "Nieuw wachtwoord",
"NO_USERS_FOUND": "Geen gebruikers gevonden.",
"PASSWORD": "Wachtwoord",
"PASSWORD_INFO": "Tenminste 8 karakters vereist.",
"PASSWORD_FORGOTTEN": "Wachtwoord vergeten?",
"PASSWORD_RESET": "Wachtwoord reset",
"PASSWORD_STRENGTH": {
"WEAK": "zwak",
"AVERAGE": "gemiddeld",
"GOOD": "goed",
"STRONG": "sterk",
"LABEL": "wachtwoord sterkte",
"SUGGESTIONS": {
"l33t": "Vermijd voorspelbare vervangingen, zoals {'@'} voor de letter a.",
"reverseWords": "Vermijd gangbare woorden die achterstevoren geschreven zijn.",
"capitalization": "Gebruik niet enkel voor de eerste letter een hoofdletter.",
"dates": "Vermijd persoonlijke gegevens en jaartallen.",
"recentYears": "Vermijd recente jaartallen.",
"sequences": "Vermijd voorspelbare opeenvolgingen.",
"repeated": "Vermijd opeenvolgende woorden en karakters.",
"longerKeyboardPattern": "Gebruik langere patronen en verander de richting van typen meerdere malen.",
"anotherWord": "Voeg meer niet gangbare woorden toe.",
"pwned": "Als u dit wachtwoord ergens anders gebruikt zou u het beter veranderen.",
"allUppercase": "Gebruik enkele hoofdletters.",
"associatedYears": "Vermijd jaartallen met een persoonlijke betekenis.",
"useWords": "Gebruik verschillende woorden, maar vermijd vaak gebruikte zinnen.",
"noNeed": "U kan sterke wachtwoorden maken zonder gebruik van symbolen, nummers, of hoofdletters."
}
},
"PROFILE": {
"ASCENT_DATA": "Hoogte gerelateerde data (opnames, totaal)",
"ACCOUNT_EDITION": "Account aanpassen",
"BACK_TO_PROFILE": "Terug naar profiel",
"BIO": "Bio",
"BIRTH_DATE": "Geboortedatum",
"DATE_FORMAT": "Weergaveformaat datum",
"EDIT": "Profiel aanpassen",
"EDIT_PREFERENCES": "Voorkeuren wijzigen",
"EDIT_SPORTS_PREFERENCES": "Sport voorkeuren wijzigen",
"FIRST_NAME": "Voornaam",
"FIRST_DAY_OF_WEEK": "Eerste dag van de week",
"LANGUAGE": "Taal",
"LAST_NAME": "Achternaam",
"LOCATION": "Locatie",
"MONDAY": "Maandag",
"PICTURE": "Afbeelding",
"PICTURE_EDITION": "Afbeelding aanpassen",
"PICTURE_UPDATE": "Afbeelding veranderen",
"PICTURE_REMOVE": "Afbeelding verwijderen",
"PREFERENCES_EDITION": "Voorkeuren aanpassen",
"PROFILE_EDITION": "Profiel aanpassen",
"REGISTRATION_DATE": "Datum registratie",
"SUNDAY": "Zondag",
"TABS": {
"ACCOUNT": "account",
"APPS": "apps",
"PICTURE": "afbeelding",
"PREFERENCES": "voorkeuren",
"PROFILE": "profiel",
"SPORTS": "sporten"
},
"SPORT": {
"ACTION": "actie",
"COLOR": "kleur",
"DISABLED_BY_ADMIN": "uitgeschakeld door admin",
"IS_ACTIVE": "actief",
"LABEL": "label",
"STOPPED_SPEED_THRESHOLD": "snelheidsgrens voor stilstand"
},
"SUCCESSFUL_EMAIL_UPDATE": "Uw account werd succesvol bijgewerkt. Controleer uw inbox om uw nieuw email adres te bevestigen.",
"SUCCESSFUL_REGISTRATION": "Uw account werd succesvol aangemaakt.",
"SUCCESSFUL_REGISTRATION_WITH_EMAIL": "Een link om uw account te activeren werd doorgestuurd naar opgegeven email adres.",
"SUCCESSFUL_UPDATE": "Uw account werd succesvol bijgewerkt.",
"UNITS": {
"LABEL": "Eenheid voor afstand",
"IMPERIAL": "Imperialistisch systeem (ft, mi)",
"METRIC": "Metrisch systeem (m, km)"
},
"TIMEZONE": "Tijdzone",
"ERRORED_EMAIL_UPDATE": "Gelieve {0} om uw email adres opnieuw te wijzigen of contacteer uw administrator",
"SPORTS_EDITION": "Sport voorkeuren aanpassen"
},
"REGISTER": "Registreren",
"REGISTER_DISABLED": "Sorry, registreren is uitgeschakeld.",
"RESET_PASSWORD": "Reset uw wachtwoord",
"SHOW_PASSWORD": "toon wachtwoord",
"THIS_USER_ACCOUNT_IS_INACTIVE": "Deze account is niet actief.",
"USER_PICTURE": "gebruikersafbeelding",
"USERNAME": "Gebruikersnaam",
"CONFIRM_ACCOUNT_DELETION": "Weet u zeker dat u uw account wilt verwijderen? Alle data wordt verwijderd, dit kan niet ongedaan worden",
"LANGUAGE": "Taal",
"PASSWORD_SENT_EMAIL_TEXT": "Controleer uw inbox. Als uw email adres in onze database zit, hebt u een email ontvangen om uw wachtwoord te resetten.",
"PASSWORD_UPDATED": "Uw wachtwoord werd aangepast. Klik {0} om in te loggen.",
"RESENT_ACCOUNT_CONFIRMATION": "Opnieuw zenden van account bevestigingsmail",
"USERNAME_INFO": "3 tot 30 karakters vereist, enkel alfanumerieke karakters en het underscore karakter \"_\" zijn toegestaan."
}

View File

@ -1,2 +1,104 @@
{
"ASCENT": "geklommen",
"AVE_SPEED": "gem. snelheid",
"AVERAGE_SPEED": "gemiddelde snelheid",
"BACK_TO_WORKOUT": "Terug naar training",
"DATE": "datum",
"DESCENT": "gedaald",
"DISTANCE": "afstand",
"DURATION": "duur",
"EDIT_WORKOUT": "Training aanpassen",
"ELEVATION": "hoogte",
"END": "einde",
"FROM": "van",
"GPX_FILE": ".gpx bestand",
"HIDE_FILTERS": "verberg filters",
"INVALID_DISTANCE": "De afstand moet groter zijn dan 0",
"LATEST_WORKOUTS": "Laatste trainingen",
"LOAD_MORE_WORKOUT": "Toon meer trainingen",
"MAX_ALTITUDE": "max. hoogte",
"MAX_FILES": "max. aantal bestanden",
"MAX_SIZE": "max. grootte",
"MAX_SPEED": "max. snelheid",
"MIN_ALTITUDE": "min. hoogte",
"NEXT_SEGMENT": "Geen volgend segment",
"NEXT_WORKOUT": "Volgende training",
"NO_FILE_PROVIDED": "Geen bestand opgegeven",
"NO_FOLDER": "geen map aanwezig",
"NO_MAP": "Geen kaart",
"NO_NEXT_SEGMENT": "Geen volgend segment",
"NO_NEXT_WORKOUT": "Geen volgende training",
"NO_NOTES": "Geen notities",
"NO_PREVIOUS_SEGMENT": "Geen vorig segment",
"NO_PREVIOUS_WORKOUT": "Geen vorige training",
"NOTES": "notities",
"PAUSES": "pauzes",
"PREVIOUS_SEGMENT": "Vorig segment",
"PREVIOUS_WORKOUT": "Vorige training",
"NO_RECORDS": "Geen records.",
"RECORD_AS": "Gem. snelheid",
"RECORD_HA": "Hoogst geklommen",
"RECORD_LD": "Langste duur",
"RECORD_MS": "Max. snelheid",
"REMAINING_CHARS": "resterende karakters",
"SEGMENT": "segment | segmenten",
"SPEED": "snelheid",
"SPORT": "sport | sporten",
"START": "start",
"START_ELEVATION_AT_ZERO": "Zet hoogte-as vast op 0",
"TITLE": "titel",
"TO": "aan",
"TOTAL_DURATION": "totale duur",
"UPLOAD_FIRST_WORKOUT": "Eén uploaden!",
"WEATHER": {
"HUMIDITY": "vochtigheid",
"TEMPERATURE": "temperatuur",
"WIND": "wind",
"WIND_DIRECTIONS": {
"N": "N",
"NNE": "NNO",
"NE": "NO",
"E": "O",
"ESE": "OZO",
"SE": "ZO",
"SSE": "ZZO",
"SSW": "ZZW",
"SW": "ZW",
"WSW": "WZW",
"W": "W",
"WNW": "WNW",
"NW": "NW",
"NNW": "NNW",
"ENE": "ONO",
"S": "Z"
},
"DARK_SKY": {
"clear-day": "heldere dag",
"clear-night": "heldere nacht",
"cloudy": "bewolkt",
"fog": "mist",
"partly-cloudy-day": "gedeeltelijk bewolkte dag",
"partly-cloudy-night": "gedeeltelijk bewolkte nacht",
"rain": "regen",
"sleet": "natte sneeuw",
"snow": "sneeuw",
"wind": "wind"
}
},
"WITH_GPX": "met .gpx bestand",
"WITHOUT_GPX": "zonder .gpx bestand",
"WORKOUT": "training | trainingen",
"WORKOUT_DELETION_CONFIRMATION": "Weet u zeker dat u deze training wilt verwijderen?",
"ZIP_ARCHIVE": ".zip bestand",
"ZIP_ARCHIVE_DESCRIPTION": "of .zip archief met .gpx bestanden",
"ADD_WORKOUT": "Training toevoegen",
"ANALYSIS": "analyse",
"DISPLAY_FILTERS": "toon filters",
"NO_DATA_CLEANING": "data vanuit gpx, zonder op te schonen",
"INVALID_DURATION": "De duur moet langer zijn dan 0 seconden",
"NO_WORKOUTS": "Geen trainingen.",
"RECORD": "record | records",
"RECORD_FD": "Langste afstand",
"START_AND_FINISH": "Start en aankomst",
"WORKOUT_DATE": "datum training"
}

View File

@ -98,7 +98,7 @@ const dateStringFormats: Record<string, string> = {
en: 'MMM. do, yyyy',
fr: 'd MMM yyyy',
// nb: 'do MMM yyyy',
// nl: 'd MMM yyyy',
nl: 'd MMM yyyy',
}
export const getDateFormat = (dateFormat: string, language: string): string => {

View File

@ -1,6 +1,6 @@
/* eslint-disable import/no-duplicates */
import { Locale } from 'date-fns'
import { de, enUS, fr } from 'date-fns/locale'
import { de, enUS, fr, nl } from 'date-fns/locale'
import createI18n from '@/i18n'
@ -9,7 +9,7 @@ export const localeFromLanguage: Record<string, Locale> = {
en: enUS,
fr: fr,
// nb: nb, // disabled for now
// nl: nl, // disabled for now
nl: nl,
}
export const languageLabels: Record<string, string> = {
@ -17,7 +17,7 @@ export const languageLabels: Record<string, string> = {
en: 'English',
fr: 'Français',
// nb: 'Norsk bokmål', // disabled for now
// nl: 'Nederlands', // disabled for now
nl: 'Nederlands',
}
const { availableLocales } = createI18n.global

View File

@ -1,6 +1,6 @@
[tool.poetry]
name = "fittrackee"
version = "0.7.7"
version = "0.7.8"
description = "Self-hosted outdoor workout/activity tracker"
authors = ["SamR1"]
license = "AGPL-3.0"