2023-06-18 15:23:33 +02:00
|
|
|
# SOME DESCRIPTIVE TITLE.
|
|
|
|
# Copyright (C) 2018 - 2023, SamR1
|
|
|
|
# This file is distributed under the same license as the FitTrackee package.
|
|
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
|
|
|
|
#
|
|
|
|
#, fuzzy
|
|
|
|
msgid ""
|
|
|
|
msgstr ""
|
|
|
|
"Project-Id-Version: FitTrackee 0.7.17\n"
|
|
|
|
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
|
2023-06-24 12:17:56 +02:00
|
|
|
"POT-Creation-Date: 2023-06-24 12:06+0200\n"
|
2023-06-18 15:23:33 +02:00
|
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
|
|
"Language: en\n"
|
|
|
|
"Language-Team: en <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"
|
|
|
|
"Generated-By: Babel 2.12.1\n"
|
|
|
|
|
|
|
|
#: ../source/api/auth.rst:2
|
|
|
|
msgid "Authentication and account"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Register a user and send confirmation email."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"The newly created account is inactive. The user must confirm his email to"
|
|
|
|
" activate it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Example request**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Example responses**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "success:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "error on registration:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "Request JSON Object"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "username (3 to 30 characters required)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user email"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "password (8 characters required)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"user language preferences (if not provided or invalid, fallback to 'en' "
|
|
|
|
"(english))"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``true`` if user accepted privacy policy"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "Status Codes"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-18 20:45:39 +02:00
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``success``"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-18 15:23:33 +02:00
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``invalid payload`` - ``sorry, that username is already taken`` - "
|
|
|
|
"``sorry, you must agree privacy policy to register`` - ``username: 3 to "
|
|
|
|
"30 characters required`` - ``username: only alphanumeric characters and "
|
|
|
|
"the underscore character \"_\" allowed`` - ``email: valid email must be"
|
|
|
|
" provided`` - ``password: 8 characters required``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``invalid payload``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``sorry, that username is already taken``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``sorry, you must agree privacy policy to register``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``username: 3 to 30 characters required``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"``username: only alphanumeric characters and the underscore character "
|
|
|
|
"\"_\" allowed``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``email: valid email must be provided``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``password: 8 characters required``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error, registration is disabled``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error, please try again or contact the administrator``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Activate user account after registration."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Example response**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "confirmation token"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``account confirmation successful``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Resend email with instructions to confirm account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "If email sending is disabled, this endpoint is not available."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``confirmation email resent``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``the requested URL was not found on the server``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "User login."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Only user with an active account can log in."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "successful login:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "error on login"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "password"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``successfully logged in``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``invalid credentials``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get authenticated user info (profile, account, preferences)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``profile:read``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "Request Headers"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth 2.0 Bearer Token"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``provide a valid auth token`` - ``signature expired, please log in "
|
|
|
|
"again`` - ``invalid token, please log in again``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``provide a valid auth token``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``signature expired, please log in again``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``invalid token, please log in again``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Edit authenticated user profile."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``profile:write``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user first name"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user last name"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user location"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user biography"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
#, python-format
|
|
|
|
msgid "user birth date (format: ``%Y-%m-%d``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``user profile updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Edit authenticated user preferences."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Supported date formats:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``MM/dd/yyyy`` (default value)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``dd/MM/yyyy``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``yyyy-MM-dd``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``date_string``, corresponding on client to:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``MMM. do, yyyy`` for ``en`` locale"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``d MMM yyyy`` for ``es``, ``fr``, ``gl``, ``it`` and ``nl`` locales"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``do MMM yyyy`` for ``de`` and ``nb`` locales"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "the format used to display dates in the app"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "display highest ascent records and total"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "display distance in imperial units"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "language preferences"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "do elevation plots start at zero?"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user time zone"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Use unfiltered gpx to calculate speeds"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "does week start on Monday?"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``user preferences updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``invalid payload`` - ``password: password and password confirmation "
|
|
|
|
"don't match``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``password: password and password confirmation don't match``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Edit authenticated user sport preferences."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "valid hexadecimal color"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "is sport available when adding a workout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "stopped speed threshold used by gpxpy"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``user sport preferences updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``invalid payload`` - ``invalid hexadecimal color``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``invalid hexadecimal color``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``sport does not exist``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Reset authenticated user preferences for a given sport."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "Parameters"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "sport id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user preferences deleted"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update authenticated user picture."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "Form Parameters"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "image file (allowed extensions: .jpg, .png, .gif)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``user picture updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``invalid payload`` - ``no file part`` - ``no selected file`` - ``file "
|
|
|
|
"extension not allowed``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``no file part``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``no selected file``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``file extension not allowed``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error during picture update: file size exceeds 1.0MB``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error during picture update``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Delete authenticated user picture."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "picture deleted"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error during picture deletion``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Handle password reset request."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``password reset request processed``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update authenticated user email and password."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "It sends emails if sending is enabled:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Password change"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Email change:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "one to the current address to inform user"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "another one to the new address to confirm it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user current password"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user new password"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``user account updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``invalid payload`` - ``email is missing`` - ``current password is "
|
|
|
|
"missing`` - ``email: valid email must be provided`` - ``password: 8 "
|
|
|
|
"characters required``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``email is missing``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``current password is missing``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``provide a valid auth token`` - ``signature expired, please log in "
|
|
|
|
"again`` - ``invalid token, please log in again`` - ``invalid "
|
|
|
|
"credentials``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update user password after password reset request."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "It sends emails if sending is enabled."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "password reset token"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``password updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``invalid token, please request a new token``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update user email after confirmation."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``email updated``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "User logout. If a valid token is provided, it will be blacklisted."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "successful logout:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "error on logout:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``successfully logged out``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``provide a valid auth token`` - ``The access token provided is "
|
|
|
|
"expired, revoked, malformed, or invalid for other reasons.``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"``The access token provided is expired, revoked, malformed, or invalid "
|
|
|
|
"for other reasons.``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error on token blacklist``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "The authenticated user accepts the privacy policy."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get a data export info for authenticated user if a request exists."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "It returns:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "export creation date"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "export status (``in_progress``, ``successful`` and ``errored``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "file name and size (in bytes) when export is successful"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "if a request exists:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "if no request:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Request a data export for authenticated user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``ongoing request exists`` - ``completed request already exists``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``ongoing request exists``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``completed request already exists``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Download a data export archive"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "filename"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``file not found``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/configuration.rst:2
|
|
|
|
msgid "Configuration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get Application configuration."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error on getting configuration``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update Application configuration."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Authenticated user must be an admin."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``application:write``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "instance information"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "email to contact the administrator"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "max number of files in zip archive"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "is registration enabled?"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "max size of a single file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "max users allowed to register on instance"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "max size of a zip archive"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "instance privacy policy"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``provide a valid auth token`` - ``signature expired, please log in "
|
|
|
|
"again`` - ``invalid token, please log in again`` - ``valid email must be "
|
|
|
|
"provided for admin contact``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``valid email must be provided for admin contact``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``you do not have permissions``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``error when updating configuration``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "health check endpoint"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/index.rst:4
|
|
|
|
msgid "Endpoints:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/index.rst:2
|
|
|
|
msgid "API documentation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/oauth2.rst:2 ../source/cli.rst:46
|
|
|
|
msgid "OAuth2"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"Get OAuth2 clients (apps) for authenticated user with pagination (5 "
|
|
|
|
"clients/page)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"This endpoint is only accessible by FitTrackee client (first-party "
|
|
|
|
"application)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "without parameters:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "with 'page' parameter:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "Query Parameters"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "page for pagination (default: 1)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Create an OAuth2 client (app) for the authenticated user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>
|
|
|
|
msgid "JSON Parameters"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "client name"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "client URL"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "list of client redirect URLs (string)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "client scopes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-24 12:17:56 +02:00
|
|
|
msgid "client description (optional)"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get an OAuth2 client (app) by 'client_id'."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "not found:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth2 client client_id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``OAuth2 client not found``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get an OAuth2 client (app) by id (integer value)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth2 client id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Delete an OAuth2 client (app)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth2 client deleted"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Revoke all tokens associated to an OAuth2 client (app)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"Authorize an OAuth2 client (app). If successful, it redirects to the "
|
|
|
|
"client callback URL with the code to issue a token."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth2 client 'client_id'"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "client response type (only 'code' is supported by FitTrackee)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth2 client scopes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "confirmation (must be ``true``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"unique value to prevent cross-site request forgery (not mandatory but "
|
|
|
|
"recommended)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"string generated from a code verifier (for PKCE, not mandatory but "
|
|
|
|
"recommended)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"method used to create challenge, for instance \"S256\" (mandatory if "
|
|
|
|
"`code_challenge` provided)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``invalid payload`` - errors returned by Authlib library"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "errors returned by Authlib library"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Issue or refresh token for a given OAuth2 client (app)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "OAuth2 client secret"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"OAuth2 client grant type (only 'authorization_code' (for token issue) and"
|
|
|
|
" 'refresh_token' (for token refresh) are supported by FitTrackee)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "code generated after authorizing the client (for token issue)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "code verifier (for token issue with PKCE, not mandatory)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "refresh token (for token refresh)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Revoke a token for a given OAuth2 client (app)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "access token to revoke"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/records.rst:2
|
|
|
|
msgid "Records"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get all records for authenticated user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Following types of records are available:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "average speed (record_type: ``AS``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "farthest distance (record_type: ``FD``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "highest ascent (record_type: ``HA``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "longest duration (record_type: ``LD``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "maximum speed (record_type: ``MS``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``workouts:read``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "returning records"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "no records"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/sports.rst:2 ../source/features.rst:188
|
|
|
|
msgid "Sports"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get all sports"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "for non admin user:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "for admin user:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get a sport"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "success for non admin user:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "success for admin user:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "sport not found:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``sport not found``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update a sport."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``workouts:write``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "sport active status"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "sport updated"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/stats.rst:2 ../source/features.rst:236
|
|
|
|
msgid "Statistics"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get workouts statistics for a user by time."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Example requests**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "with parameters:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "no workouts:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "username"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
#, python-format
|
|
|
|
msgid "start date (format: ``%Y-%m-%d``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
#, python-format
|
|
|
|
msgid "end date (format: ``%Y-%m-%d``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"time frame: - ``week``: week starting Sunday - ``weekm``: week starting "
|
|
|
|
"Monday - ``month``: month - ``year``: year (default)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "time frame:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``week``: week starting Sunday"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``weekm``: week starting Monday"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``month``: month"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "``year``: year (default)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``user does not exist``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get workouts statistics for a user by sport."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "without parameters (get stats for all sports with workouts):"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "with sport id:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``user does not exist`` - ``sport does not exist``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get all application statistics."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/users.rst:2 ../source/cli.rst:67 ../source/features.rst:175
|
|
|
|
msgid "Users"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"Get all users (regardless their account status), if authenticated user "
|
|
|
|
"has admin rights."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "It returns user preferences only for authenticated user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``users:read``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "with some query parameters:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "page if using pagination (default: 1)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "number of users per page (default: 10, max: 50)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "query on user name"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "sorting order: ``asc``, ``desc`` (default: ``asc``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"sorting criteria: ``username``, ``created_at``, ``workouts_count``, "
|
|
|
|
"``admin``, ``is_active`` (default: ``username``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"Get single user details. Only user with admin rights can get other users "
|
|
|
|
"details."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user name"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-18 20:45:39 +02:00
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "- ``user does not exist``"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-18 15:23:33 +02:00
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "get user picture"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``user does not exist`` - ``No picture.``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``No picture.``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update user account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "add/remove admin rights (regardless user account status)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"reset password (and send email to update user password, if sending "
|
|
|
|
"enabled)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "update user email (and send email to new user email, if sending enabled)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "activate account for an inactive user"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Only user with admin rights can modify another user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "**Scope**: ``users:write``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "activate user account"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "does the user have administrator rights"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "new user email"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "reset user password"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``invalid payload`` - ``valid email must be provided`` - ``new email "
|
|
|
|
"must be different than curent email``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``valid email must be provided``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``new email must be different than curent email``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Delete a user account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "A user can only delete his own account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"An admin can delete all accounts except his account if he's the only one "
|
|
|
|
"admin."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "user account deleted"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
2023-06-18 20:45:39 +02:00
|
|
|
"- ``you do not have permissions`` - ``you can not delete your account, no"
|
|
|
|
" other user has admin rights``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``you can not delete your account, no other user has admin rights``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/api/workouts.rst:2 ../source/features.rst:13
|
|
|
|
msgid "Workouts"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get workouts for the authenticated user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "returning at least one workout:"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "returning no workouts"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "number of workouts per page (default: 5, max: 100)"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-21 19:45:47 +02:00
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "any part (or all) of the workout title; title matching is case-insensitive"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-18 15:23:33 +02:00
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "minimal distance"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "maximal distance"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "minimal duration (format: ``%H:%M``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "maximal distance (format: ``%H:%M``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "minimal average speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "maximal average speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "minimal max. speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "maximal max. speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "sorting order: ``asc``, ``desc`` (default: ``desc``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"sorting criteria: ``ave_speed``, ``distance``, ``duration``, "
|
|
|
|
"``workout_date`` (default: ``workout_date``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get a workout."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout not found:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout short id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``workout not found``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get gpx file for a workout displayed on map with Leaflet."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``workout not found`` - ``no gpx file for this workout``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``no gpx file for this workout``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get chart data from a workout gpx file, to display it with Chart.js."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "segment id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get gpx file for a workout segment displayed on map with Leaflet."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get map image for workouts with gpx."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout map id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``map does not exist``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Get map tile from tile server."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "subdomain"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "zoom"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "index of the tile along the map's x axis"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "index of the tile along the map's y axis"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Status codes are status codes returned by tile server"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Download gpx file."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "- ``workout not found`` - ``no gpx file for workout``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-18 20:45:39 +02:00
|
|
|
msgid "``no gpx file for workout``"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Post a workout with a gpx file."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "gpx file (allowed extensions: .gpx, .zip)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"sport id and notes (example: ``{\"sport_id\": 1, \"notes\": \"\"}``). "
|
|
|
|
"Double quotes in notes must be escaped."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
2023-06-21 19:45:47 +02:00
|
|
|
msgid "workout created"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Post a workout without gpx file."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout ascent (not mandatory, must be provided with descent)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout descent (not mandatory, must be provided with ascent)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout distance in km"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout duration in seconds"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "notes (not mandatory)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout sport id"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout title (not mandatory)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
#, python-format
|
|
|
|
msgid "workout date, in user timezone (format: ``%Y-%m-%d %H:%M``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Update a workout."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"workout ascent (only for workout without gpx, must be provided with "
|
|
|
|
"descent)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid ""
|
|
|
|
"workout descent (only for workout without gpx, must be provided with "
|
|
|
|
"ascent)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout distance in km (only for workout without gpx)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout duration in seconds (only for workout without gpx)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "notes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout title"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
#, python-format
|
|
|
|
msgid ""
|
|
|
|
"workout date in user timezone (format: ``%Y-%m-%d %H:%M``) (only for "
|
|
|
|
"workout without gpx)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout updated"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "Delete a workout."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../../<autoflask>:1
|
|
|
|
msgid "workout deleted"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1
|
|
|
|
msgid "Change log"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:3
|
|
|
|
msgid "Version 0.7.17 (2023/06/03)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:5 ../source/changelog.md:34 ../source/changelog.md:84
|
|
|
|
#: ../source/changelog.md:129 ../source/changelog.md:158
|
|
|
|
#: ../source/changelog.md:173 ../source/changelog.md:190
|
|
|
|
#: ../source/changelog.md:210 ../source/changelog.md:225
|
|
|
|
#: ../source/changelog.md:238 ../source/changelog.md:253
|
|
|
|
#: ../source/changelog.md:266 ../source/changelog.md:281
|
|
|
|
#: ../source/changelog.md:295 ../source/changelog.md:320
|
|
|
|
#: ../source/changelog.md:329 ../source/changelog.md:340
|
|
|
|
#: ../source/changelog.md:359 ../source/changelog.md:445
|
|
|
|
#: ../source/features.rst:193
|
|
|
|
msgid "Translations"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:7
|
|
|
|
msgid ""
|
|
|
|
"PR#366, PR#369 - Translations update from Hosted Weblate (Galician, "
|
|
|
|
"thanks to @xmgz)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:8
|
|
|
|
msgid "PR#367 - Translations update (Spanish, French)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:10 ../source/changelog.md:42
|
|
|
|
#: ../source/changelog.md:94
|
|
|
|
msgid "Translation status:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:11 ../source/changelog.md:43
|
|
|
|
msgid "Dutch: 99%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:12 ../source/changelog.md:44
|
|
|
|
#: ../source/changelog.md:96
|
|
|
|
msgid "English: 100%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:13 ../source/changelog.md:45
|
|
|
|
#: ../source/changelog.md:97
|
|
|
|
msgid "French: 100%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:14 ../source/changelog.md:98
|
|
|
|
msgid "Galician: 100%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:15 ../source/changelog.md:47
|
|
|
|
msgid "German: 99%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:16 ../source/changelog.md:48
|
|
|
|
#: ../source/changelog.md:100
|
|
|
|
msgid "Italian: 87%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:17 ../source/changelog.md:49
|
|
|
|
msgid "Norwegian Bokmål: 36%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:18 ../source/changelog.md:50
|
|
|
|
msgid "Polish: 3%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:19 ../source/changelog.md:51
|
|
|
|
#: ../source/changelog.md:102
|
|
|
|
msgid "Spanish: 100%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:22
|
|
|
|
msgid "Version 0.7.16 (2023/05/29)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:24 ../source/changelog.md:72
|
|
|
|
#: ../source/changelog.md:145 ../source/changelog.md:185
|
|
|
|
#: ../source/changelog.md:206 ../source/changelog.md:221
|
|
|
|
#: ../source/changelog.md:245 ../source/changelog.md:308
|
|
|
|
#: ../source/changelog.md:348
|
|
|
|
msgid "Features and enhancements"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:26
|
|
|
|
msgid "PR#358 - Add user preference for filtering of GPX speed data"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:29 ../source/changelog.md:79
|
|
|
|
#: ../source/changelog.md:125 ../source/changelog.md:151
|
|
|
|
#: ../source/changelog.md:249 ../source/changelog.md:277
|
|
|
|
#: ../source/changelog.md:288 ../source/changelog.md:315
|
|
|
|
#: ../source/changelog.md:336 ../source/changelog.md:354
|
|
|
|
#: ../source/changelog.md:370 ../source/changelog.md:391
|
|
|
|
#: ../source/changelog.md:413 ../source/changelog.md:420
|
|
|
|
#: ../source/changelog.md:440 ../source/changelog.md:462
|
|
|
|
#: ../source/changelog.md:480 ../source/changelog.md:515
|
|
|
|
#: ../source/changelog.md:526 ../source/changelog.md:537
|
|
|
|
#: ../source/changelog.md:549 ../source/changelog.md:569
|
|
|
|
#: ../source/changelog.md:575 ../source/changelog.md:627
|
|
|
|
#: ../source/changelog.md:651 ../source/changelog.md:662
|
|
|
|
#: ../source/changelog.md:673 ../source/changelog.md:718
|
|
|
|
#: ../source/changelog.md:751 ../source/changelog.md:763
|
|
|
|
#: ../source/changelog.md:774 ../source/changelog.md:790
|
|
|
|
#: ../source/changelog.md:803 ../source/changelog.md:815
|
|
|
|
#: ../source/changelog.md:836 ../source/changelog.md:914
|
|
|
|
#: ../source/changelog.md:931 ../source/changelog.md:942
|
|
|
|
#: ../source/changelog.md:962 ../source/changelog.md:997
|
|
|
|
msgid "Bugs Fixed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:31
|
|
|
|
msgid "#359 - Footer overlaps content on user preferences page"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:36
|
|
|
|
msgid "PR#350 - Translations update from Hosted Weblate (Galician)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:37
|
|
|
|
msgid "PR#352 - Translations update from Hosted Weblate (Dutch)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:38
|
|
|
|
msgid "PR#356 - Init Polish translation files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:39
|
|
|
|
msgid "PR#357 - Translations update from Hosted Weblate (Polish)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:40
|
|
|
|
msgid "PR#365 - Translations update from Hosted Weblate (Spanish)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:46
|
|
|
|
msgid "Galician: 99%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:53
|
|
|
|
msgid "Note: Polish is not yet available in FitTrackee interface."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:55 ../source/changelog.md:109
|
|
|
|
#: ../source/changelog.md:164 ../source/changelog.md:196
|
|
|
|
#: ../source/changelog.md:453 ../source/changelog.md:736
|
|
|
|
msgid "Thanks to the contributors:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:56 ../source/changelog.md:110
|
|
|
|
#: ../source/changelog.md:165 ../source/changelog.md:197
|
|
|
|
msgid "@bjornclauw"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:57 ../source/changelog.md:113
|
|
|
|
msgid "@gallegonovato"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:58
|
|
|
|
msgid "@gnu-ewm"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:59 ../source/changelog.md:112
|
|
|
|
#: ../source/changelog.md:198
|
|
|
|
msgid "@jat255"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:60 ../source/changelog.md:115
|
|
|
|
msgid "@xmgz"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:62 ../source/changelog.md:120
|
|
|
|
#: ../source/changelog.md:168 ../source/changelog.md:216
|
|
|
|
#: ../source/changelog.md:230 ../source/changelog.md:324
|
|
|
|
#: ../source/changelog.md:363
|
|
|
|
msgid ""
|
|
|
|
"Note: This release contains database migration (see upgrade instructions "
|
|
|
|
"in documentation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:65
|
|
|
|
msgid "Version 0.7.15 (2023/04/12)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:67
|
|
|
|
msgid ""
|
|
|
|
"Among enhancements and fixes, FitTrackee is now available in Galician, "
|
|
|
|
"Spanish and partially in Norwegian Bokmål (see translation status below)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:69
|
|
|
|
msgid ""
|
|
|
|
"Note: DarkSky API support is removed, since the service shut down on "
|
|
|
|
"March 31, 2023."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:74
|
|
|
|
msgid "#319 - Add cli to create users"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:75
|
|
|
|
msgid "#329 - Make \"start elevation axis at zero\" sticky"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:76
|
|
|
|
msgid "#333 - Feature request: filter workouts by title"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:77
|
|
|
|
msgid "#338 - Display relevant error message when <time> is missing in GPX file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:81
|
|
|
|
msgid ""
|
|
|
|
"#328 - GPX speed and altitude track has incorrect units on x-axis when "
|
|
|
|
"imperial"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:82
|
|
|
|
msgid "b29ed7a - fix privacy policy message display on dashboard"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:86
|
|
|
|
msgid "#250 - [Translation Request] Norwegian Bokmål"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:87
|
|
|
|
msgid "#320 - [Translation Request] Spanish"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:88
|
|
|
|
msgid "#323 - [Translation Request] Galician"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:89
|
|
|
|
msgid "06ba975, bcc568e, ea0ac99 - Translations update (German)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:90
|
|
|
|
msgid "a458f5f - Translations update (Dutch)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:91
|
|
|
|
msgid "075aeb9 - Translations update (French)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:92
|
|
|
|
msgid "60e164d - Translations update (Italian)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:95
|
|
|
|
msgid "Dutch: 98%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:99
|
|
|
|
msgid "German: 100%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:101
|
|
|
|
msgid "Norwegian Bokmål: 35%"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:104 ../source/changelog.md:177
|
|
|
|
#: ../source/changelog.md:257 ../source/changelog.md:270
|
|
|
|
#: ../source/changelog.md:376 ../source/changelog.md:468
|
|
|
|
#: ../source/changelog.md:489 ../source/changelog.md:597
|
|
|
|
#: ../source/changelog.md:613 ../source/changelog.md:722
|
|
|
|
#: ../source/changelog.md:778 ../source/changelog.md:819
|
|
|
|
#: ../source/changelog.md:845 ../source/changelog.md:900
|
|
|
|
#: ../source/changelog.md:966 ../source/changelog.md:981
|
|
|
|
msgid "Misc"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:106
|
|
|
|
msgid "#318 - Remove DarkSky Weather provider"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:111
|
|
|
|
msgid "@comradekingu"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:114 ../source/changelog.md:166
|
|
|
|
#: ../source/changelog.md:199
|
|
|
|
msgid "@qwerty287"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:116
|
|
|
|
msgid "J. Lavoie from Weblate"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:117
|
|
|
|
msgid "mondstern from Weblate"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:123
|
|
|
|
msgid "Version 0.7.14 (2023/03/08)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:127
|
|
|
|
msgid "#314 - GPX file is not deleted when the process fails"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:131
|
|
|
|
msgid ""
|
|
|
|
"PR#315 - Translations update from Hosted Weblate (Dutch, thanks to "
|
|
|
|
"@bjornclauw)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:134
|
|
|
|
msgid "Version 0.7.13 (2023/03/05)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:136
|
|
|
|
msgid ""
|
|
|
|
"This version allows to display the instance privacy policy. A user must "
|
|
|
|
"agree to the privacy policy to register.<br />A default policy is "
|
|
|
|
"available and a custom policy can be defined in the administration.<br "
|
|
|
|
"/>Note: After FitTrackee upgrade, a message will be displayed to all "
|
|
|
|
"users in order to review the policy."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:140
|
|
|
|
msgid ""
|
|
|
|
"A user can now request a data export (containing user info, workout data "
|
|
|
|
"and uploaded gpx files)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:142
|
|
|
|
msgid ""
|
|
|
|
"Lastly, additional information that may be useful to users can be "
|
|
|
|
"displayed in About page."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:147
|
|
|
|
msgid "#301 - add privacy policy"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:148
|
|
|
|
msgid "#304 - add user data export"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:149
|
|
|
|
msgid "#305 - add additional information in About page"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:153
|
|
|
|
msgid "PR#307 - Minor fixes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:154
|
|
|
|
msgid "update workout and map files name"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:155
|
|
|
|
msgid "fix error message when api is not running"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:156
|
|
|
|
msgid "fix modal position"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:160
|
|
|
|
msgid "PR#297 - Translations update from Hosted Weblate (Dutch)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:161
|
|
|
|
msgid "PR#308 - Translations update from Hosted Weblate (Dutch)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:162
|
|
|
|
msgid "PR#310 - Translations update from Hosted Weblate (Dutch and German)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:171
|
|
|
|
msgid "Version 0.7.12 (2023/02/16)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:175
|
|
|
|
msgid ""
|
|
|
|
"PR#290 - Translations update from Hosted Weblate (German, thanks to "
|
|
|
|
"@qwerty287)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:179
|
|
|
|
msgid "#294 - drop PostgreSQL10 support"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:180
|
|
|
|
msgid "dependencies update"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:183
|
|
|
|
msgid "Version 0.7.11 (2022/12/31)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:187
|
|
|
|
msgid ""
|
|
|
|
"PR#265 - Implementing alternative weather API (VisualCrossing.com)<br "
|
|
|
|
"/>Note: A new environment variable must be to set to configure the "
|
|
|
|
"weather data provider: WEATHER_API_PROVIDER (see documentation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:192
|
|
|
|
msgid "PR#287 - Translations update from Hosted Weblate (Dutch)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:193
|
|
|
|
msgid "PR#289 - Translations update from Hosted Weblate (German)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:202
|
|
|
|
msgid "Version 0.7.10 (2022/12/21)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:204
|
|
|
|
msgid "FitTrackee is now available in Italian (thanks to @dperruso)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:208
|
|
|
|
msgid "#92 - Add ascent and descent parameters in workout import without GPX file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:212
|
|
|
|
msgid "#279 - [Translation Request] - Italian (thanks to @dperruso)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:213
|
|
|
|
msgid ""
|
|
|
|
"c88a515 - Translations update from Hosted Weblate (Dutch, thanks to "
|
|
|
|
"@bjornclauw)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:214
|
|
|
|
msgid "f96dcef - Translations update (German)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:219
|
|
|
|
msgid "Version 0.7.9 (2022/12/11)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:223
|
|
|
|
msgid "#280 - New sport: Mountaineering"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:227
|
|
|
|
msgid ""
|
|
|
|
"PR#278 - Translations update from Hosted Weblate (German, thanks to "
|
|
|
|
"@qwerty287)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:228
|
|
|
|
msgid "PR#282 - Init italian translation files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:233
|
|
|
|
msgid "Version 0.7.8 (2022/11/30)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:235
|
|
|
|
msgid "FitTrackee is now available in Dutch (thanks to @bjornclauw)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:240
|
|
|
|
msgid "#270 - [translations request] Dutch (Nederlands)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:243
|
|
|
|
msgid "Version 0.7.7 (2022/11/27)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:247
|
|
|
|
msgid "#258 - Request: parse links in notes area (thanks to @jat255)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:251
|
|
|
|
msgid "PR#271 - Fix workouts creation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:255
|
|
|
|
msgid "PR#273 - Init Dutch translations files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:259
|
|
|
|
msgid "PR#274 - Tests parallelization"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:260
|
|
|
|
msgid "PR#275 - Disable worker entry point"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:262
|
|
|
|
msgid ""
|
|
|
|
"Note: fittrackee_worker command is disabled, please use existing flask-"
|
|
|
|
"dramatiq CLI (see documentation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:264
|
|
|
|
msgid "Version 0.7.6 (2022/11/09)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:268
|
|
|
|
msgid "3c8d9c2 - fix api locale file (remove trailing comma)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:272
|
|
|
|
msgid "dev dependencies update"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:275
|
|
|
|
msgid "Version 0.7.5 (2022/11/09)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:279
|
|
|
|
msgid "#264 - UI has white and gray background"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:283
|
|
|
|
msgid ""
|
|
|
|
"#266 - Translations update from Hosted Weblate (German, thanks to "
|
|
|
|
"@qwerty287)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:286
|
|
|
|
msgid "Version 0.7.4 (2022/11/05)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:290
|
|
|
|
msgid "#260 - Files size is not checked in zip archive"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:291
|
|
|
|
msgid ""
|
|
|
|
"#261 - The API should return an error when the number of files in an "
|
|
|
|
"archive exceeds the limit"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:293
|
|
|
|
msgid "Note: archive import still needs some improvements (see #89)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:297
|
|
|
|
msgid "b1536fc - fix french translations in administration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:299
|
|
|
|
msgid "Documentation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:301
|
|
|
|
msgid "#257 - Add client_max_body_size note to example nginx config"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:303 ../source/changelog.md:313
|
|
|
|
msgid "Thanks to @jat255"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:306
|
|
|
|
msgid "Version 0.7.3 (2022/11/01)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:310
|
|
|
|
msgid "#112 - allow user to change date format"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:311
|
|
|
|
msgid "#244 - New sport type: \"Virtual Ride\""
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:317
|
|
|
|
msgid "#246 - Add support to PostgreSQL 15"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:318
|
|
|
|
msgid "#247 - Segments duration is displayed with microseconds"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:322
|
|
|
|
msgid "PR#252 - init Norwegian Bokmål translations files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:327
|
|
|
|
msgid "Version 0.7.2 (2022/09/21)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:331
|
|
|
|
msgid "PR#242 - Translations update from Weblate (German, thanks to @qwerty287)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:334
|
|
|
|
msgid "Version 0.7.1 (2022/09/21)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:338
|
|
|
|
msgid "PR#241 - Add missing password strength estimation package (german)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:342
|
|
|
|
msgid "PR#239 - Translations update from Weblate (German, thanks to @qwerty287)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:343
|
|
|
|
msgid "cb9d02f - Update OAuth 2.0 translations (English & French)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:346
|
|
|
|
msgid "Version 0.7.0 (2022/09/19)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:350
|
|
|
|
msgid "#88 - OAuth 2.0 access token for api access"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:351
|
|
|
|
msgid "#231 - Invalidate token on logout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:352
|
|
|
|
msgid "PR#236 - Add API rate limits"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:356
|
|
|
|
msgid "#232 - Speed chart can not be hidden"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:357
|
|
|
|
msgid "#237 - Can not edit a workout when notes value is null"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:361
|
|
|
|
msgid "PR#212 - Translations update from Hosted Weblate (thanks to J. Lavoie)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:366
|
|
|
|
msgid "Version 0.6.12 (2022/09/14)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:368 ../source/changelog.md:389
|
|
|
|
#: ../source/changelog.md:411 ../source/changelog.md:434
|
|
|
|
#: ../source/changelog.md:460 ../source/changelog.md:478
|
|
|
|
#: ../source/changelog.md:502 ../source/changelog.md:513
|
|
|
|
#: ../source/changelog.md:535 ../source/changelog.md:547
|
|
|
|
#: ../source/changelog.md:562 ../source/changelog.md:595
|
|
|
|
#: ../source/changelog.md:625 ../source/changelog.md:642
|
|
|
|
#: ../source/changelog.md:660 ../source/changelog.md:671
|
|
|
|
#: ../source/changelog.md:683 ../source/changelog.md:696
|
|
|
|
#: ../source/changelog.md:709 ../source/changelog.md:743
|
|
|
|
#: ../source/changelog.md:761 ../source/changelog.md:772
|
|
|
|
#: ../source/changelog.md:788 ../source/changelog.md:801
|
|
|
|
#: ../source/changelog.md:813 ../source/changelog.md:829
|
|
|
|
#: ../source/changelog.md:853 ../source/changelog.md:870
|
|
|
|
#: ../source/changelog.md:887 ../source/changelog.md:912
|
|
|
|
#: ../source/changelog.md:924 ../source/changelog.md:940
|
|
|
|
#: ../source/changelog.md:950 ../source/changelog.md:975
|
|
|
|
#: ../source/changelog.md:990 ../source/changelog.md:1040
|
|
|
|
msgid "Issues Closed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:372
|
|
|
|
msgid "#230 - Database problem after upgrade to 0.6.11"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:374 ../source/changelog.md:395
|
|
|
|
#: ../source/changelog.md:418 ../source/changelog.md:524
|
|
|
|
#: ../source/changelog.md:573 ../source/changelog.md:601
|
|
|
|
#: ../source/changelog.md:631 ../source/changelog.md:726
|
|
|
|
msgid "Pull Requests"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:378
|
|
|
|
msgid "#225 - Fix grammar issue"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:380
|
|
|
|
msgid "Thanks to @Skylan0916"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:382
|
|
|
|
msgid ""
|
|
|
|
"In this release 1 issue was closed.<br />Note: This release contains a "
|
|
|
|
"fix on the last database migration that will be executed only on versions"
|
|
|
|
" lower than v0.6.11 (no data differences with v0.6.11, the fix allows to "
|
|
|
|
"execute the migration on Postgres<12)<br />(see upgrade instructions in "
|
|
|
|
"documentation)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:387
|
|
|
|
msgid "Version 0.6.11 (2022/07/27)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:393
|
|
|
|
msgid ""
|
|
|
|
"#213 - Statistics - When using imperial measurements, ascent/descent "
|
|
|
|
"should be in ft not mi"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:397 ../source/changelog.md:436
|
|
|
|
#: ../source/changelog.md:504 ../source/changelog.md:564
|
|
|
|
#: ../source/features.rst:2
|
|
|
|
msgid "Features"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:399
|
|
|
|
msgid "#223 - Display ascent record icon"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:400
|
|
|
|
msgid "#167 - Added ascent record to Dashboard"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:401
|
|
|
|
msgid "#162 - Added total elevation to dashboard"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:403 ../source/changelog.md:580
|
|
|
|
msgid "Thanks to @Fmstrat"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:405 ../source/changelog.md:636
|
|
|
|
msgid ""
|
|
|
|
"In this release 1 issue was closed.<br />Note: This release contains "
|
|
|
|
"database migration (see upgrade instructions in documentation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:409
|
|
|
|
msgid "Version 0.6.10 (2022/07/13)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:415
|
|
|
|
msgid ""
|
|
|
|
"#210 - ERROR - could not download 6 tiles<br />Note: for tile server "
|
|
|
|
"requiring subdomains, see the new environment variable "
|
|
|
|
"STATICMAP_SUBDOMAINS"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:422
|
|
|
|
msgid "#209 - Incorrect duration with track containing multiple segments"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:424
|
|
|
|
msgid "Thanks to @gorgobacka"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:426 ../source/changelog.md:484
|
|
|
|
#: ../source/changelog.md:508 ../source/changelog.md:519
|
|
|
|
#: ../source/changelog.md:553 ../source/changelog.md:620
|
|
|
|
#: ../source/changelog.md:666 ../source/changelog.md:767
|
|
|
|
#: ../source/changelog.md:783 ../source/changelog.md:824
|
|
|
|
#: ../source/changelog.md:859 ../source/changelog.md:946
|
|
|
|
#: ../source/changelog.md:985
|
|
|
|
msgid "In this release 1 issue was closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:429
|
|
|
|
msgid "Version 0.6.9 (2022/07/03)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:431
|
|
|
|
msgid ""
|
|
|
|
"FitTrackee is now available in German (thanks to @gorgobacka).<br />And "
|
|
|
|
"translations can be updated on Weblate."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:438
|
|
|
|
msgid "#200 - Detect browser language to use matching translation if available"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:442
|
|
|
|
msgid "PR#208 - fix order on records cards"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:443
|
|
|
|
msgid "#201 - html lang attribute is not updated when changing language"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:447
|
|
|
|
msgid "PR#197 - Translations update from Weblate (French)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:448
|
|
|
|
msgid "#196 - Use translation management tool"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:449
|
|
|
|
msgid "#190 - Add German translation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:451 ../source/changelog.md:655
|
|
|
|
#: ../source/changelog.md:756
|
|
|
|
msgid "In this release 4 issues were closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:454
|
|
|
|
msgid "@gorgobacka"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:455
|
|
|
|
msgid "J. Lavoie (from Weblate)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:458
|
|
|
|
msgid "Version 0.6.8 (2022/06/22)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:464
|
|
|
|
msgid "#193 - Allow deleting a workout when files are missing"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:465
|
|
|
|
msgid "#192 - Returns 404 instead of 500 when map file not found"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:466
|
|
|
|
msgid "#191 - Layout issue on Workouts page"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:470
|
|
|
|
msgid ""
|
|
|
|
"change gpx and map file naming (included in PR#195)<br />Note: it does "
|
|
|
|
"not affect previously imported files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:472
|
|
|
|
msgid "cc4287e - Fix docker env file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:474 ../source/changelog.md:704
|
|
|
|
#: ../source/changelog.md:796 ../source/changelog.md:895
|
|
|
|
#: ../source/changelog.md:935
|
|
|
|
msgid "In this release 3 issues were closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:476
|
|
|
|
msgid "Version 0.6.7 (2022/06/11)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:482
|
|
|
|
msgid "#156 - Process gpx file with offset"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:487
|
|
|
|
msgid "Version 0.6.6 (2022/05/29)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:491
|
|
|
|
msgid ""
|
|
|
|
"No new features in this release, only dependencies update and code "
|
|
|
|
"refacto before introducing new features."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:494
|
|
|
|
msgid "Version 0.6.5 (2022/04/24)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:496
|
|
|
|
msgid ""
|
|
|
|
"It is now possible to start FitTrackee without a configured SMTP provider"
|
|
|
|
" (see documentation). It reduces pre-requisites for single-user "
|
|
|
|
"instances."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:499
|
|
|
|
msgid "To manage users, a new CLI is available."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:506
|
|
|
|
msgid "#180 - allow using FitTrackee without SMTP server"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:511
|
|
|
|
msgid "Version 0.6.4 (2022/04/23)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:517
|
|
|
|
msgid "#178 - cannot send email with TLS"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:522
|
|
|
|
msgid "Version 0.6.3 (2022/04/09)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:528
|
|
|
|
msgid "#177 - Minor fixes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:529
|
|
|
|
msgid "add missing translation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:530
|
|
|
|
msgid "fix 'Add Workout' card position on small screens"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:533
|
|
|
|
msgid "Version 0.6.2 (2022/04/03)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:539
|
|
|
|
msgid "#175 - Distance card on dashboard is not refreshed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:540
|
|
|
|
msgid "#173 - link to user profile in workout card is incorrect"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:542 ../source/changelog.md:678
|
|
|
|
#: ../source/changelog.md:808 ../source/changelog.md:840
|
2023-06-24 12:17:56 +02:00
|
|
|
#: ../source/changelog.md:877 ../source/changelog.md:919
|
2023-06-18 15:23:33 +02:00
|
|
|
msgid "In this release 2 issues were closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:545
|
|
|
|
msgid "Version 0.6.1 (2022/03/27)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:551
|
|
|
|
msgid "#171 - Stats chart is not updated correctly"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:556
|
|
|
|
msgid "Version 0.6.0 (2022/03/27)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:558
|
|
|
|
msgid ""
|
|
|
|
"This version introduces some changes on user registration.<br />From now "
|
|
|
|
"on, a user needs to confirm his account after registration (an email with"
|
|
|
|
" confirmation instructions is sent after registration)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:566
|
|
|
|
msgid "#155 - Improve user registration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:567
|
|
|
|
msgid "#106 - Allow user to update email"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:571
|
|
|
|
msgid "#169 - user picture is not refreshed after update"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:577
|
|
|
|
msgid "#161 - Minor translation issue on 'Farthest'"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:578
|
|
|
|
msgid "#160 - Minor translation issue on APP_ERROR"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:582
|
|
|
|
msgid ""
|
|
|
|
"In this release 3 issues were closed.<br />Note: This release contains "
|
|
|
|
"database migration (see upgrade instructions in documentation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:586
|
|
|
|
msgid "Version 0.5.7 (2022/02/13)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:588
|
|
|
|
msgid ""
|
|
|
|
"This release contains several fixes including security fixes.<br />Thanks"
|
|
|
|
" to @DanielSiersleben for the report."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:591
|
|
|
|
msgid ""
|
|
|
|
"And from now on, admin account is not created on application "
|
|
|
|
"initialization.<br />A new command is added to set administration rights "
|
|
|
|
"on the account created after registration (see documentation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:599
|
|
|
|
msgid "#149 - improve database initialisation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:603
|
|
|
|
msgid "Security"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:605 ../source/changelog.md:615
|
|
|
|
msgid "#152 - Fixes and improvements:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:606
|
|
|
|
msgid "set autoescape on jinja templates"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:608
|
|
|
|
msgid "#151 - fix security issues:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:609
|
|
|
|
msgid "sanitize input when serving images"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:610
|
|
|
|
msgid "sanitize inputs when serving map tiles"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:611
|
|
|
|
msgid "allow only alphanumeric characters and '_' in username"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:616
|
|
|
|
msgid "fix dramatiq warning when launching workers w/ script entrypoint"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:617
|
|
|
|
msgid ""
|
|
|
|
"check app config before dropping database, to avoid deleting data on "
|
|
|
|
"production"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:618
|
|
|
|
msgid "remove dotenv warning"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:623
|
|
|
|
msgid "Version 0.5.6 (2022/02/05)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:629
|
|
|
|
msgid "#146 - incorrect label on workouts filters"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:633
|
|
|
|
msgid "#145 - fix on database models"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:640
|
|
|
|
msgid "Version 0.5.5 (2022/01/19)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:644 ../source/changelog.md:685
|
|
|
|
#: ../source/changelog.md:698 ../source/changelog.md:711
|
|
|
|
#: ../source/changelog.md:745 ../source/changelog.md:831
|
|
|
|
#: ../source/changelog.md:855 ../source/changelog.md:872
|
|
|
|
#: ../source/changelog.md:889 ../source/changelog.md:926
|
|
|
|
#: ../source/changelog.md:952 ../source/changelog.md:977
|
|
|
|
#: ../source/changelog.md:992 ../source/changelog.md:1042
|
|
|
|
msgid "New Features"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:646
|
|
|
|
msgid "#140 - Add a fullscreen control to workout map"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:647
|
|
|
|
msgid "#138 - Add control to reset map to initial position"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:648
|
|
|
|
msgid "#135 - Start and finish markers"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:649
|
|
|
|
msgid "#134 - Wind direction"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:653
|
|
|
|
msgid ""
|
|
|
|
"877fa0f - fix sport icon color (when changed) on calendar on small "
|
|
|
|
"resolutions"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:658
|
|
|
|
msgid "Version 0.5.4 (2022/01/01)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:664
|
|
|
|
msgid "#131 - No workouts displayed on calendar"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:669
|
|
|
|
msgid "Version 0.5.3 (2022/01/01)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:675
|
|
|
|
msgid "#129 - Display only active sports when editing a workout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:676
|
|
|
|
msgid ""
|
|
|
|
"#127 - parse_email_url() can't validate a legitimate EMAIL_URI such as "
|
|
|
|
"\"smtp://localhost:25\""
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:681
|
|
|
|
msgid "Version 0.5.2 (2021/12/19)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:687
|
|
|
|
msgid "#123 - Allow user to reset preferences for a sport"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:688
|
|
|
|
msgid "#121 - Add activity : snowshoes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:690
|
|
|
|
msgid ""
|
|
|
|
"In this release 2 issues were closed.<br />Note: This release contains "
|
|
|
|
"database migration."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:694
|
|
|
|
msgid "Version 0.5.1 (2021/11/30)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:700
|
|
|
|
msgid ""
|
|
|
|
"#116 - Better UI for Speed and Elevation buttons in the graph of the "
|
|
|
|
"Workout screen"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:701
|
|
|
|
msgid "#115 - Add option to download the GPX file of a Workout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:702
|
|
|
|
msgid "#5 - Display a chart with average speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:707
|
|
|
|
msgid "Version 0.5.0 (2021/11/14)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:713
|
|
|
|
msgid "#99 - Display workout with imperial units"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:714
|
|
|
|
msgid "#91 - Display elevation chart with min and max altitude of workout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:715
|
|
|
|
msgid "#90 - Add user sports preferences"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:716
|
|
|
|
msgid "#18 - Better UI"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:720
|
|
|
|
msgid "#95 - Some workouts seem to be missing on statistics chart"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:724
|
|
|
|
msgid "#104 - Switch to AGPLv3 license"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:728
|
|
|
|
msgid "#101 - Docker updates for full files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:729
|
|
|
|
msgid "#100 - Add client application in docker for development"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:730
|
|
|
|
msgid "#98/#109 - Added stopped_speed_threshold to support slow movement"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:731
|
|
|
|
msgid "#84/#93 - Add elevation data and new sports"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:733
|
|
|
|
msgid ""
|
|
|
|
"In this release 6 issues were closed.<br />Note: This release contains "
|
|
|
|
"database migrations."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:737
|
|
|
|
msgid "@Fmstrat"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:738
|
|
|
|
msgid "@paf38"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:741
|
|
|
|
msgid "Version 0.4.9 (2021/07/16)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:747
|
|
|
|
msgid ""
|
|
|
|
"#83 - allow using configured tile server to generate static maps<br "
|
|
|
|
"/>Note: to keep using the default tile server, set environment variable "
|
|
|
|
"DEFAULT_STATICMAP to True"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:749
|
|
|
|
msgid "#81 - display remaining characters in textarea"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:753
|
|
|
|
msgid "#82 - a user can not modify his birth day"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:754
|
|
|
|
msgid "#80 - can not save notes with control characters"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:759
|
|
|
|
msgid "Version 0.4.8 (2021/07/03)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:765
|
|
|
|
msgid "#79 - Fails to start after make rebuild"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:770
|
|
|
|
msgid "Version 0.4.7 (2021/04/07)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:776
|
|
|
|
msgid "#75 - Workouts on the same day are not displayed in right order"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:780
|
|
|
|
msgid ""
|
|
|
|
"Update Python and Javascript dependencies<br />IMPORTANT: Due to "
|
|
|
|
"SQLAlchemy update (1.4+), engine URLs starting with postgres:// are no "
|
|
|
|
"longer supported. Please update DATABASE_URL with postgresql://."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:786
|
|
|
|
msgid "Version 0.4.6 (2021/02/21)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:792
|
|
|
|
msgid "#72 - Error message when file exceeding size is incorrect"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:793
|
|
|
|
msgid "#71 - max size or max number of files must be greater than 0"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:794
|
|
|
|
msgid ""
|
|
|
|
"#70 - max size for an archive must not be less than uploaded files max "
|
|
|
|
"size"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:799
|
|
|
|
msgid "Version 0.4.5 (2021/02/17)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:805
|
|
|
|
msgid "#66 - invalid gpx limit used when importing zip archive"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:806
|
|
|
|
msgid "#64 - Only 50 workouts per month shown in calendar"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:811
|
|
|
|
msgid "Version 0.4.4 (2021/01/31)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:817
|
|
|
|
msgid "#62 - Error when sending reset password email"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:821
|
|
|
|
msgid "Refactoring before introducing new features."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:822
|
|
|
|
msgid "Add docker files for evaluation purposes."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:827
|
|
|
|
msgid "Version 0.4.3 (2021/01/10)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:833
|
|
|
|
msgid ""
|
|
|
|
"#58 - Standardize terms used for workouts<br />Note: Database model, "
|
|
|
|
"upload directory for workouts and API endpoints are also updated."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:838
|
|
|
|
msgid "#59 - No message displayed on uploading image error"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:843
|
|
|
|
msgid "Version 0.4.2 (2021/01/03)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:847
|
|
|
|
msgid ""
|
|
|
|
"No new features in this release, only some refactorings before "
|
|
|
|
"introducing new features."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:851
|
|
|
|
msgid "Version 0.4.1 (2020/12/31)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:857
|
|
|
|
msgid "#57 - Use uuid for activities"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:862
|
|
|
|
msgid "Version 0.4.0 - FitTrackee on PyPI (2020/09/19)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:864 ../source/changelog.md:882
|
|
|
|
msgid "This version introduces some major changes:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:865
|
|
|
|
msgid ""
|
|
|
|
"Installation becomes more easy. FitTrackee can be now be installed from "
|
|
|
|
"PyPi.<br />⚠️ Warning: please read installation documentation, some "
|
|
|
|
"environment variables and files have been renamed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:867
|
|
|
|
msgid ""
|
|
|
|
"It's now possible to change the tile provider for maps. The default tile "
|
|
|
|
"server is now OpenStreetMap's standard tile layer (replacing "
|
|
|
|
"ThunderForest Outdoors), see Map tile server in documentation."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:874
|
|
|
|
msgid "#54 - Tile server can be changed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:875
|
|
|
|
msgid "#53 - Simplify FitTrackee installation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:880
|
|
|
|
msgid "Version 0.3.0 - Administration (2020/07/15)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:883
|
|
|
|
msgid ""
|
|
|
|
"FitTrackee administration is now available (see documentation)<br />⚠️ "
|
|
|
|
"Warning: some application parameters move from environment variables to "
|
|
|
|
"database (see installation)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:885
|
|
|
|
msgid "in order to send emails, Redis is now a mandatory dependency"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:891
|
|
|
|
msgid "#50 - A user can reset his password"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:892
|
|
|
|
msgid "#17 - A user can delete his account"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:893
|
|
|
|
msgid "#15 - Complete the administration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:898
|
|
|
|
msgid "Version 0.2.5 - Fix and improvements (2020/01/31)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:902
|
|
|
|
msgid "This version contains minor fix and improvements on client side:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:903
|
|
|
|
msgid "4c3fc34 - empty user data on logout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:904
|
|
|
|
msgid "34614d5 - add spinner on loading activities"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:905
|
|
|
|
msgid "b862a77, 2e1ee2c - add URL interceptors to simplify routes definition"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:910
|
|
|
|
msgid "Version 0.2.4 - Minor fix (2020/01/30)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:916
|
|
|
|
msgid "#47 - timezone drop-down is not displayed correctly"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:917
|
|
|
|
msgid "#46 - calendar cannot display more than 5 or 6 activities on the same day"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:922
|
|
|
|
msgid "Version 0.2.3 - FitTrackee available in French (2019/12/29)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:928
|
|
|
|
msgid "#43 - Display weekend days with a different background color on calendar"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:929
|
|
|
|
msgid "#40 - Localize FitTrackee (i18n)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:933
|
|
|
|
msgid "#44 - Cannot edit an activity that does not have a gpx file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:938
|
|
|
|
msgid "Version 0.2.2 - Statistics fix (2019/09/23)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:944
|
|
|
|
msgid "#41 - User statistics are incorrect"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:948
|
|
|
|
msgid "Version 0.2.1 - Fix and improvements (2019/09/01)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:954
|
|
|
|
msgid "#4 - Show points on the map when mouse over the chart"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:955
|
|
|
|
msgid "#14 - Display segments informations"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:956
|
|
|
|
msgid "#21 - Document the API"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:957
|
|
|
|
msgid "#23 - The user can choose the first day of the week"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:958
|
|
|
|
msgid "#36 - Disable user registration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:959
|
|
|
|
msgid "#33 - Add file size limit on file upload"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:960
|
|
|
|
msgid "#37 - Display map on activities list"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:964
|
|
|
|
msgid "#34 - Weather is not displayed anymore"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:968
|
|
|
|
msgid "Poetry replaces pipenv for Python packages management"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:970
|
|
|
|
msgid "In this release 8 issues were closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:973
|
|
|
|
msgid "Version 0.2.0 - Statistics (2019/07/07)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:979
|
|
|
|
msgid "#13 - Detailed statistics"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:983
|
|
|
|
msgid "Update dependencies"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:988
|
|
|
|
msgid "Version 0.1.1 - Fix and improvements (2019/02/07)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:994
|
|
|
|
msgid "#25 - Display records on calendar"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:995
|
|
|
|
msgid "#22 - Add a total on current month statistics"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:999
|
|
|
|
msgid "#31 - Use moving duration for stats"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1000
|
|
|
|
msgid "#29 - Pause duration calculation with segments"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1001
|
|
|
|
msgid "#28 - Error on uploading gpx file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1002
|
|
|
|
msgid "#26 - Total is incorrect in tooltip when duration is displayed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1003
|
|
|
|
msgid ""
|
|
|
|
"#24 - Some distances are not displayed correctly on current month "
|
|
|
|
"statistics"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1005
|
|
|
|
msgid "In this release 7 issues were closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1008
|
|
|
|
msgid "Version 0.1.0 - First release 🎉 (2018-07-04)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1010
|
|
|
|
msgid "Features:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1011
|
|
|
|
msgid "Account creation (only standard user, not admin)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1012
|
|
|
|
msgid "6 sports supported:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1013 ../source/features.rst:15
|
|
|
|
msgid "Cycling (Sport)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1014 ../source/features.rst:16
|
|
|
|
msgid "Cycling (Transport)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1015 ../source/features.rst:18
|
|
|
|
#: ../source/features.rst:30
|
|
|
|
msgid "Hiking"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-18 20:45:39 +02:00
|
|
|
#: ../source/changelog.md:1016 ../source/features.rst:19
|
|
|
|
msgid "Mountain Biking"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1017 ../source/features.rst:23
|
|
|
|
msgid "Running"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1018 ../source/features.rst:28
|
|
|
|
#: ../source/features.rst:35
|
|
|
|
msgid "Walking"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1019
|
|
|
|
msgid ""
|
|
|
|
"Activity creation by uploading a gpx file. An activity can even be "
|
|
|
|
"created without gpx (the user must enter date, time, duration and "
|
|
|
|
"distance)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1020
|
|
|
|
msgid "Activity edition and deletion"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1021
|
|
|
|
msgid ""
|
|
|
|
"An activity can be displayed with map (if with gpx), weather (if the "
|
|
|
|
"DarkSky API key is provided) and charts (speed and elevation)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1022
|
|
|
|
msgid "A user can add a note"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1023
|
|
|
|
msgid "Month calendar with activities"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1024
|
|
|
|
msgid "Current month statistics"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1025
|
|
|
|
msgid "Records by sports:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1026 ../source/features.rst:64
|
|
|
|
#: ../source/features.rst:80 ../source/features.rst:86
|
|
|
|
msgid "average speed"
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-24 12:17:56 +02:00
|
|
|
#: ../source/changelog.md:1027 ../source/features.rst:65
|
|
|
|
msgid "farthest distance"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1028 ../source/features.rst:67
|
|
|
|
msgid "longest duration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1029 ../source/features.rst:68
|
|
|
|
#: ../source/features.rst:81
|
|
|
|
msgid "maximum speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1030
|
|
|
|
msgid "Activities list and search"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1033
|
|
|
|
msgid "Notes:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1034
|
|
|
|
msgid "only activity owner can see his activity"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1035
|
|
|
|
msgid "no administration for now"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1037
|
2023-06-24 12:17:56 +02:00
|
|
|
msgid "➡️ more informations: see documentation and current issues"
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1044
|
|
|
|
msgid "#11 - Timezone support"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1045
|
|
|
|
msgid "#10 - Add a note to an activity"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1046
|
|
|
|
msgid "#9 - User statistics on dashboard"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1047
|
|
|
|
msgid "#8 - Add weather to activities"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1048
|
|
|
|
msgid "#3 - Search filter for activities"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1049
|
|
|
|
msgid "#2 - Calendar to view activities"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/changelog.md:1051
|
|
|
|
msgid "In this release 6 issues were closed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:2
|
|
|
|
msgid "Command line interface"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:4
|
|
|
|
msgid ""
|
|
|
|
"A command line interface (CLI) is available to manage database, OAuth2 "
|
|
|
|
"tokens and users."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst
|
|
|
|
msgid ""
|
|
|
|
"The following commands are now deprecated and will be removed in a next "
|
|
|
|
"version:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst
|
|
|
|
msgid "- ``fittrackee_set_admin``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst
|
|
|
|
msgid "- ``fittrackee_upgrade_db``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst
|
|
|
|
msgid "- ``fittrackee_worker`` (disabled)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:29
|
|
|
|
msgid "Database"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:32
|
|
|
|
msgid "``ftcli db drop``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:35
|
|
|
|
msgid ""
|
|
|
|
"Empty database and delete uploaded files, only on development "
|
|
|
|
"environments."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:39
|
|
|
|
msgid "``ftcli db upgrade``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:42
|
|
|
|
msgid "Apply migrations."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:49
|
|
|
|
msgid "``ftcli oauth2 clean``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:52
|
|
|
|
msgid "Remove tokens expired for more than provided number of days"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:59 ../source/cli.rst:80 ../source/cli.rst:97
|
|
|
|
#: ../source/cli.rst:142
|
|
|
|
msgid "Options"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:60 ../source/cli.rst:81 ../source/cli.rst:98
|
|
|
|
#: ../source/cli.rst:120 ../source/cli.rst:143 ../source/cli.rst:160
|
|
|
|
msgid "Description"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:61 ../source/cli.rst:82 ../source/cli.rst:99
|
|
|
|
msgid "``--days``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:62 ../source/cli.rst:83 ../source/cli.rst:100
|
|
|
|
msgid "Number of days."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:70
|
|
|
|
msgid "``ftcli users clean_archives``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:73
|
|
|
|
msgid ""
|
|
|
|
"Delete export requests and related archives created more than provided "
|
|
|
|
"number of days."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:87
|
|
|
|
msgid "``ftcli users clean_tokens``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:90
|
|
|
|
msgid "Remove blacklisted tokens expired for more than provided number of days."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:104
|
|
|
|
msgid "``ftcli users create``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:107
|
|
|
|
msgid "Create a user account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:110
|
|
|
|
msgid "the newly created account is already active."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:111
|
|
|
|
msgid "the CLI allows to create users when registration is disabled."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:119 ../source/cli.rst:159
|
|
|
|
msgid "Arguments/options"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:121 ../source/cli.rst:161
|
|
|
|
msgid "``USERNAME``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:122 ../source/cli.rst:162
|
|
|
|
msgid "Username."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:123
|
|
|
|
msgid "``--email EMAIL``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:124
|
|
|
|
msgid "User email (mandatory)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:125
|
|
|
|
msgid "``--password PASSWORD``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:126
|
|
|
|
msgid "User password (if not provided, a random password is generated)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:131
|
|
|
|
msgid "``ftcli users export_archives``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:134
|
|
|
|
msgid ""
|
|
|
|
"Process incomplete user export requests. Can be used if redis is not set "
|
|
|
|
"(no dramatiq workers running)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:144
|
|
|
|
msgid "``--max``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:145
|
|
|
|
msgid "Maximum number of export requests to process."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:149
|
|
|
|
msgid "``ftcli users update``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:152
|
|
|
|
msgid "Modify a user account (admin rights, active status, email and password)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:163
|
|
|
|
msgid "``--set-admin BOOLEAN``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:164
|
|
|
|
msgid ""
|
|
|
|
"Add/remove admin rights (when adding admin rights, it also activates user"
|
|
|
|
" account if not active)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:165
|
|
|
|
msgid "``--activate``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:166
|
|
|
|
msgid "Activate user account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:167
|
|
|
|
msgid "``--reset-password``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:168
|
|
|
|
msgid "Reset user password (a new password will be displayed)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:169
|
|
|
|
msgid "``--update-email EMAIL``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/cli.rst:170
|
|
|
|
msgid "Update user email."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:4
|
|
|
|
msgid ""
|
|
|
|
"**FitTrackee** allows you to store and display gpx files and some "
|
|
|
|
"statistics from your outdoor activities."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:5
|
|
|
|
msgid ""
|
|
|
|
"For now, this app is kind of a single-user application. Even if several "
|
|
|
|
"users can register, a user can only view his own workouts."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:7
|
|
|
|
msgid "Gpx files are stored in an upload directory (without encryption)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:9
|
|
|
|
msgid ""
|
|
|
|
"With the default configuration, `Open Street Map "
|
|
|
|
"<https://www.openstreetmap.org>`__ is used as tile server in Workout "
|
|
|
|
"detail and for static map generation."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:27
|
|
|
|
msgid "14 sports are supported:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:17
|
|
|
|
msgid "Cycling (Virtual) (*new in 0.7.3*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:20
|
|
|
|
msgid "Mountain Biking (Electric) (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:21
|
|
|
|
msgid "Mountaineering (*new in 0.7.9*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:22
|
|
|
|
msgid "Rowing (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:24
|
|
|
|
msgid "Skiing (Alpine) (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:25
|
|
|
|
msgid "Skiing (Cross Country) (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:26
|
|
|
|
msgid "Snowshoes (*new in 0.5.2*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:27
|
|
|
|
msgid "Trail (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:35
|
|
|
|
msgid ""
|
|
|
|
"(*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):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:31
|
|
|
|
msgid "Mountaineering"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:32
|
|
|
|
msgid "Skiing (Cross Country)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:33
|
|
|
|
msgid "Snowshoes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:34
|
|
|
|
msgid "Trail"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:38
|
|
|
|
msgid "It can be overridden in user preferences."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:40
|
|
|
|
msgid ""
|
|
|
|
"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."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:41
|
|
|
|
msgid ""
|
|
|
|
"Workout creation by uploading a gpx file (related data are stored in "
|
|
|
|
"database in metric system)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid "Only gpx files with time are supported."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"Calculated values may differ from values calculated by the application "
|
|
|
|
"that originally generated the gpx files, in particular the maximum speed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"A workout can even be created without gpx (the user must enter date, "
|
|
|
|
"time, duration and distance)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid "Ascent and descent can also be provided (*new in 0.7.10*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"A workout with a gpx file can be displayed with map and charts (speed and"
|
|
|
|
" elevation)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid "Controls allow full screen view and position reset (*new in 0.5.5*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"If **Visual Crossing** (*new in 0.7.11*) API key is provided, weather is "
|
|
|
|
"displayed in workout detail. Data source is displayed in **About** page."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"Wind is displayed, with an arrow indicating the direction (a tooltip can "
|
|
|
|
"be displayed with the direction that the wind is coming **from**) (*new "
|
|
|
|
"in 0.5.5*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:53
|
|
|
|
msgid "Segments can be displayed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:54
|
|
|
|
msgid "Workout gpx file can be downloaded (*new in 0.5.1*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:55
|
|
|
|
msgid "Workout edition and deletion. User can add a note."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:61
|
|
|
|
msgid "User statistics, by time period (week, month, year) and sport:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:57
|
|
|
|
msgid "total distance"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:58
|
|
|
|
msgid "total duration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:59
|
|
|
|
msgid "total workouts"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:60
|
|
|
|
msgid "total ascent (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:61
|
|
|
|
msgid "total descent (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:62
|
|
|
|
msgid "average speed (*new in 0.5.1*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:68
|
|
|
|
msgid "User records by sports:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:66
|
|
|
|
msgid "highest ascent (*new in 0.6.11*, can be hidden, see user preferences)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:71
|
|
|
|
msgid ""
|
|
|
|
"Records may differ from records displayed by the application that "
|
|
|
|
"originally generated the gpx files."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:86
|
|
|
|
msgid "Workouts list."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:80
|
|
|
|
msgid "The user can filter workouts on:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:75 ../source/features.rst:83
|
|
|
|
msgid "date"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:76
|
|
|
|
msgid "sports (only sports with workouts are displayed in sport dropdown)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:77
|
|
|
|
msgid "title (*new in 0.7.15*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:78 ../source/features.rst:84
|
|
|
|
msgid "distance"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:79 ../source/features.rst:85
|
|
|
|
msgid "duration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:86
|
|
|
|
msgid "Workouts can be sorted by:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:89
|
|
|
|
msgid "For now, only the owner of the workout can see it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:93
|
|
|
|
msgid "Account & preferences"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:94
|
|
|
|
msgid "A user can create, update and deleted his account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:95
|
|
|
|
msgid ""
|
|
|
|
"The user must agree to the privacy policy to register. If a more recent "
|
|
|
|
"policy is available, a message is displayed on the dashboard to review "
|
|
|
|
"the new version (*new in 0.7.13*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:96
|
|
|
|
msgid ""
|
|
|
|
"On registration, the user account is created with selected language in "
|
|
|
|
"dropdown as user preference (*new in 0.6.9*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:97
|
|
|
|
msgid ""
|
|
|
|
"After registration, the user account is inactive and an email with "
|
|
|
|
"confirmation instructions is sent to activate it. A user with an inactive"
|
|
|
|
" account cannot log in. (*new in 0.6.0*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:101
|
|
|
|
msgid ""
|
|
|
|
"In case email sending is not configured, a `command line <cli.html#ftcli-"
|
|
|
|
"users-update>`__ allows to activate users account."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:103
|
|
|
|
msgid "A user can set language, timezone and first day of week."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:104
|
|
|
|
msgid "A user can reset his password (*new in 0.3.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:105
|
|
|
|
msgid "A user can change his email address (*new in 0.6.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:106
|
|
|
|
msgid ""
|
|
|
|
"A user can choose between metric system and imperial system for distance,"
|
|
|
|
" elevation and speed display (*new in 0.5.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:107
|
|
|
|
msgid ""
|
|
|
|
"A user can choose to display or hide ascent records and total on "
|
|
|
|
"Dashboard (*new in 0.6.11*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:108
|
|
|
|
msgid "A user can choose format used to display dates (*new in 0.7.3*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:109
|
|
|
|
msgid ""
|
|
|
|
"A user can choose elevation chart axis start: zero or minimum altitude "
|
|
|
|
"(*new in 0.7.15*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:110
|
|
|
|
msgid ""
|
|
|
|
"A user can choose to exclude extreme values (which may be GPS errors) "
|
|
|
|
"when calculating the maximum speed (by default, extreme values are "
|
|
|
|
"excluded) (*new in 0.7.16*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:113
|
|
|
|
msgid "Changing this preference will only affect next file uploads."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:118
|
|
|
|
msgid "A user can set sport preferences (*new in 0.5.0*):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:116
|
|
|
|
msgid "change sport color (used for sport image and charts)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:117
|
|
|
|
msgid "can override stopped speed threshold (for next uploaded gpx files)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:118
|
|
|
|
msgid "disable/enable a sport."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"If a sport is disabled by an administrator, it can not be enabled by a "
|
|
|
|
"user. In this case, it will only appear in preferences if the user has "
|
|
|
|
"workouts and only sport color can be changed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"A disabled sport (by admin or user) will not appear in dropdown when "
|
|
|
|
"**adding a workout**."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"A workout with a disabled sport will still be displayed in the "
|
|
|
|
"application."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:125
|
|
|
|
msgid ""
|
|
|
|
"A user can create `clients <apps.html>`__ for third-party applications "
|
|
|
|
"(*new in 0.7.0*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid "A user can request a data export (*new in 0.7.13*)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst
|
|
|
|
msgid ""
|
|
|
|
"It generates a zip archive containing 2 ``json`` files (user info and "
|
|
|
|
"workouts data) and all uploaded gpx files."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:130
|
|
|
|
msgid ""
|
|
|
|
"For now, it's not possible to import these files into another "
|
|
|
|
"**FitTrackee** instance."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:134 ../source/features.rst:241
|
|
|
|
msgid "Administration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:135
|
|
|
|
msgid "(*new in 0.3.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:138
|
|
|
|
msgid "Application"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:140
|
|
|
|
msgid "**Configuration**"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:142
|
|
|
|
msgid "The following parameters can be set:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:144
|
|
|
|
msgid "active users limit. If 0, registration is enabled (no limit defined)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:145
|
|
|
|
msgid ""
|
|
|
|
"maximum size of gpx file (individually uploaded or in a zip archive) "
|
|
|
|
"(*changed in 0.7.4*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:146
|
|
|
|
msgid "maximum size of zip archive"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:147
|
|
|
|
msgid "maximum number of files in the zip archive (*changed in 0.7.4*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:148
|
|
|
|
msgid "administrator email for contact (*new in 0.6.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:151
|
|
|
|
msgid ""
|
|
|
|
"Updating server configuration may be necessary to handle large files "
|
|
|
|
"(like `nginx "
|
|
|
|
"<https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size>`_"
|
|
|
|
" for instance)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:154
|
|
|
|
msgid "If email sending is disabled, a warning is displayed."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:156
|
|
|
|
msgid "**About**"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:158 ../source/features.rst:166
|
|
|
|
msgid "(*new in 0.7.13*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:160
|
|
|
|
msgid ""
|
|
|
|
"It is possible displayed additional information that may be useful to "
|
|
|
|
"users in **About** page."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:161
|
|
|
|
msgid "Markdown syntax can be used."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:164
|
|
|
|
msgid "**Privacy policy**"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:168
|
|
|
|
msgid ""
|
|
|
|
"A default privacy policy is available (originally adapted from the "
|
|
|
|
"`Discourse <https://github.com/discourse/discourse>`__ privacy policy)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:169
|
|
|
|
msgid ""
|
|
|
|
"A custom privacy policy can set if needed (Markdown syntax can be used). "
|
|
|
|
"A policy update will display a message on users dashboard to review it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:172
|
|
|
|
msgid ""
|
|
|
|
"Only the default privacy policy is translated (if the translation is "
|
|
|
|
"available)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:177
|
|
|
|
msgid "display and filter users list"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:178
|
|
|
|
msgid "edit a user to:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:180
|
|
|
|
msgid "add/remove administration rights"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:181
|
|
|
|
msgid "activate his account (*new in 0.6.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:182
|
|
|
|
msgid "update his email (in case his account is locked) (*new in 0.6.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:183
|
|
|
|
msgid ""
|
|
|
|
"reset his password (in case his account is locked) (*new in 0.6.0*). If "
|
|
|
|
"email sending is disabled, it is only possible via CLI."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:184
|
|
|
|
msgid "delete a user"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:189
|
|
|
|
msgid ""
|
|
|
|
"enable or disable a sport (a sport can be disabled even if workout with "
|
|
|
|
"this sport exists)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:194
|
|
|
|
msgid ""
|
|
|
|
"FitTrackee is available in the following languages (which can be saved in"
|
|
|
|
" the user preferences):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:196
|
|
|
|
msgid "English"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:197
|
|
|
|
msgid "French (*new in 0.2.3*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:198
|
|
|
|
msgid "German (*new in 0.6.9*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:199
|
|
|
|
msgid "Dutch (*new in 0.7.8*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:200
|
|
|
|
msgid "Italian (*new in 0.7.10*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:201
|
|
|
|
msgid "Galician (*new in 0.7.15*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:202
|
|
|
|
msgid "Spanish (*new in 0.7.15*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:203
|
|
|
|
msgid "Norwegian Bokmål (*new in 0.7.15*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:205
|
|
|
|
msgid ""
|
|
|
|
"Translations status on `Weblate "
|
|
|
|
"<https://hosted.weblate.org/engage/fittrackee/>`__ (may differ from the "
|
|
|
|
"released version):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:211
|
|
|
|
msgid "Polish is not yet available in **FitTrackee** interface."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:214
|
|
|
|
msgid "Screenshots"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:217
|
|
|
|
msgid "Dashboard"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:-1 ../source/index.rst:-1
|
|
|
|
msgid "FitTrackee Dashboard"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:224
|
|
|
|
msgid "Workout detail"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:-1
|
|
|
|
msgid "FitTrackee Workout"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:230
|
|
|
|
msgid "Workouts list"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:-1
|
|
|
|
msgid "FitTrackee Workouts"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:-1
|
|
|
|
msgid "FitTrackee Statistics"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:-1
|
|
|
|
msgid "FitTrackee Administration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/features.rst:-1
|
|
|
|
msgid "FitTrackee Sports Administration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:6
|
|
|
|
msgid "FitTrackee"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:9
|
|
|
|
msgid ""
|
|
|
|
"This web application allows you to track your outdoor activities "
|
|
|
|
"(workouts) from gpx files and keep your data on your own server."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:11
|
|
|
|
msgid ""
|
|
|
|
"No mobile app has been developed yet, but several existing mobile apps "
|
|
|
|
"can store workouts data locally and export them into a gpx file."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:12
|
|
|
|
msgid "Examples for Android (non-exhaustive list):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:13
|
|
|
|
msgid "\\* `Runner Up <https://github.com/jonasoreland/runnerup>`_ (GPL v3)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:14
|
|
|
|
msgid "\\* `ForRunners <https://gitlab.com/brvier/ForRunners>`_ (GPL v3)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:15
|
|
|
|
msgid ""
|
|
|
|
"\\* `OpenTracks <https://github.com/OpenTracksApp/OpenTracks>`_ (Apache "
|
|
|
|
"License)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:16
|
|
|
|
msgid "\\* `FitoTrack <https://codeberg.org/jannis/FitoTrack>`_ (GPL v3)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:19
|
|
|
|
msgid ""
|
|
|
|
"Maps are displayed using `Open Street Map "
|
|
|
|
"<https://www.openstreetmap.org>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:20
|
|
|
|
msgid "It is also possible to add a workout without a gpx file."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:22
|
|
|
|
msgid "**Still under heavy development (some features may be unstable).**"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:23
|
|
|
|
msgid ""
|
|
|
|
"(see `issues <https://github.com/SamR1/FitTrackee/issues>`__ for more "
|
|
|
|
"information)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/index.rst:30
|
|
|
|
msgid "Table of contents"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:2 ../source/installation.rst:371
|
|
|
|
#: ../source/installation.rst:800
|
|
|
|
msgid "Installation"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:4
|
|
|
|
msgid "This application is written in Python (API) and Typescript (client):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:11
|
|
|
|
msgid "API:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:7
|
|
|
|
msgid "Flask"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:8
|
|
|
|
msgid "`gpxpy <https://github.com/tkrajina/gpxpy>`_ to parse gpx files"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:9
|
|
|
|
msgid ""
|
|
|
|
"`staticmap <https://github.com/komoot/staticmap>`_ to generate a static "
|
|
|
|
"map image from gpx coordinates"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:10
|
|
|
|
msgid ""
|
|
|
|
"`dramatiq <https://flask-dramatiq.readthedocs.io/en/latest/>`_ for task "
|
|
|
|
"queue"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:11
|
|
|
|
msgid ""
|
|
|
|
"`Authlib <https://docs.authlib.org/en/latest/>`_ for OAuth 2.0 "
|
|
|
|
"Authorization support"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:12
|
|
|
|
msgid ""
|
|
|
|
"`Flask-Limiter <https://flask-limiter.readthedocs.io/en/stable>`_ for API"
|
|
|
|
" rate limits"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:16
|
|
|
|
msgid "Client:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:14
|
|
|
|
msgid "Vue3/Vuex"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:15
|
|
|
|
msgid "`Leaflet <https://leafletjs.com/>`__ to display map"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:16
|
|
|
|
msgid ""
|
|
|
|
"`Chart.js <https://www.chartjs.org/>`__ to display charts with elevation "
|
|
|
|
"and speed"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:18
|
|
|
|
msgid ""
|
|
|
|
"Logo, some sports and weather icons are made by `Freepik "
|
|
|
|
"<https://www.freepik.com/>`__ from `www.flaticon.com "
|
|
|
|
"<https://www.flaticon.com/>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:19
|
|
|
|
msgid "FitTrackee also uses icons from `Fork Awesome <https://forkaweso.me>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:22
|
|
|
|
msgid "Prerequisites"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:25
|
|
|
|
msgid "mandatory"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:25
|
|
|
|
msgid "Python 3.8+"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:26
|
|
|
|
msgid "PostgreSQL 11+"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:33
|
|
|
|
msgid "optional"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:28
|
|
|
|
msgid ""
|
|
|
|
"Redis for task queue (if email sending is enabled and for data export "
|
|
|
|
"requests) and API rate limits"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:29
|
|
|
|
msgid "SMTP provider (if email sending is enabled)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:30
|
|
|
|
msgid "API key from a `weather data provider <installation.html#weather-data>`__"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:31
|
|
|
|
msgid ""
|
|
|
|
"`Poetry <https://poetry.eustace.io>`__ (for installation from sources "
|
|
|
|
"only)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:32
|
|
|
|
msgid ""
|
|
|
|
"`Node <https://nodejs.org>`__ 16+ and `Yarn <https://yarnpkg.com>`__ (for"
|
|
|
|
" development only)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:33
|
|
|
|
msgid "Docker and Docker Compose (for development or evaluation purposes)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"If registration is enabled, it is recommended to set Redis and a SMTP "
|
|
|
|
"provider for email sending and data export requests."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"The following steps describe an installation on Linux systems (tested on "
|
|
|
|
"Debian and Arch)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"On other OS, some issues can be encountered and adaptations may be "
|
|
|
|
"necessary."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:46
|
|
|
|
msgid "Environment variables"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "Since FitTrackee 0.4.0, ``Makefile.custom.config`` is replaced by ``.env``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:51
|
|
|
|
msgid ""
|
|
|
|
"The following environment variables are used by **FitTrackee** web "
|
|
|
|
"application or the task processing library. They are not all mandatory "
|
|
|
|
"depending on deployment method."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:57
|
|
|
|
msgid "Name of the module to import at flask run."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:58
|
|
|
|
msgid ""
|
|
|
|
"``FLASK_APP`` should contain ``$(PWD)/fittrackee/__main__.py`` with "
|
|
|
|
"installation from sources, else ``fittrackee``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:63
|
|
|
|
msgid "**FitTrackee** host."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "default"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:65
|
|
|
|
msgid "127.0.0.1"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:70
|
|
|
|
msgid "**FitTrackee** port."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:72
|
|
|
|
msgid "5000"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:77
|
|
|
|
msgid "**FitTrackee** configuration."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:79
|
|
|
|
msgid "fittrackee.config.ProductionConfig"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:84
|
|
|
|
msgid "**FitTrackee** secret key, must be initialized in production environment."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:87
|
|
|
|
msgid "Use a strong secret key. This key is used in JWT generation."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:91
|
|
|
|
msgid "Number of workers spawned by **Gunicorn**."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:93
|
|
|
|
msgid "1"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:100
|
|
|
|
msgid "Path to log file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:107
|
|
|
|
msgid ""
|
|
|
|
"**Absolute path** to the directory where ``uploads`` folder will be "
|
|
|
|
"created."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:109
|
|
|
|
msgid "``<application_directory>/fittrackee``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"With installation from PyPI, the directory will be located in "
|
|
|
|
"**virtualenv** directory if the variable is not initialized."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:117
|
|
|
|
msgid ""
|
|
|
|
"Database URL with username and password, must be initialized in "
|
|
|
|
"production environment."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:118
|
|
|
|
msgid ""
|
|
|
|
"For example in dev environment : "
|
|
|
|
"``postgresql://fittrackee:fittrackee@localhost:5432/fittrackee``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"Since `SQLAlchemy update (1.4+) "
|
|
|
|
"<https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-"
|
|
|
|
"3687655465c25a39b968b4f5f6e9170b>`__, engine URL should begin with "
|
|
|
|
"``postgresql://``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:128
|
|
|
|
msgid ""
|
|
|
|
"Disable pooling if needed (when starting application with **FitTrackee** "
|
|
|
|
"entry point and not directly with **Gunicorn**), see `SqlAlchemy "
|
|
|
|
"documentation <https://docs.sqlalchemy.org/en/13/core/pooling.html#using-"
|
|
|
|
"connection-pools-with-multiprocessing-or-os-fork>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:131
|
|
|
|
msgid "``false``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:135
|
|
|
|
msgid "**FitTrackee** URL, needed for links in emails."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:142
|
|
|
|
msgid "Email URL with credentials, see `Emails <installation.html#emails>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:146 ../source/installation.rst:203
|
|
|
|
msgid "empty string"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:149
|
|
|
|
msgid "If the email URL is empty, email sending will be disabled."
|
|
|
|
msgstr ""
|
|
|
|
|
2023-06-21 19:45:47 +02:00
|
|
|
#: ../source/installation.rst ../source/installation.rst:152
|
2023-06-18 15:23:33 +02:00
|
|
|
msgid "If the email URL is invalid, the application may not start."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:158
|
|
|
|
msgid "**FitTrackee** sender email address."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:165
|
|
|
|
msgid "Redis instance used by **Dramatiq** and **Flask-Limiter**."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:167
|
|
|
|
msgid "local Redis instance (``redis://``)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:174
|
|
|
|
msgid "Number of processes used by **Dramatiq**."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:181
|
|
|
|
msgid ""
|
|
|
|
"API rate limits, see `API rate limits <installation.html#api-rate-"
|
|
|
|
"limits>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:183
|
|
|
|
msgid "``300 per 5 minutes``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:190
|
|
|
|
msgid ""
|
|
|
|
"Tile server URL (with api key if needed), see `Map tile server "
|
|
|
|
"<installation.html#map-tile-server>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:191
|
|
|
|
msgid ""
|
|
|
|
"Since **0.4.9**, it's also used to generate static maps (to keep default "
|
|
|
|
"server, see `DEFAULT_STATICMAP <installation.html#envvar-"
|
|
|
|
"DEFAULT_STATICMAP>`__)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:193
|
|
|
|
msgid "``https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:200
|
|
|
|
msgid ""
|
|
|
|
"Some tile servers require a subdomain, see `Map tile server "
|
|
|
|
"<installation.html#map-tile-server>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:201
|
|
|
|
msgid "For instance: \"a,b,c\" for OSM France."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:210
|
|
|
|
msgid ""
|
|
|
|
"Map attribution (if using another tile server), see `Map tile server "
|
|
|
|
"<installation.html#map-tile-server>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:212
|
|
|
|
msgid ""
|
|
|
|
"``© <a href=\"http://www.openstreetmap.org/copyright\" "
|
|
|
|
"target=\"_blank\" rel=\"noopener noreferrer\">OpenStreetMap</a> "
|
|
|
|
"contributors``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:219
|
|
|
|
msgid ""
|
|
|
|
"If ``True``, it keeps using default tile server to generate static maps "
|
|
|
|
"(Komoot.de tile server)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:220
|
|
|
|
msgid ""
|
|
|
|
"Otherwise, it uses the tile server set in `TILE_SERVER_URL "
|
|
|
|
"<installation.html#envvar-TILE_SERVER_URL>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:224
|
|
|
|
msgid "This variable is now case-insensitive."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:225
|
|
|
|
msgid ""
|
|
|
|
"If ``False``, depending on tile server, `subdomains <installation.html"
|
|
|
|
"#envvar-STATICMAP_SUBDOMAINS>`__ may be mandatory."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:227
|
|
|
|
msgid "False"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:232
|
|
|
|
msgid "⚠️ replaces ``WEATHER_API``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:234
|
|
|
|
msgid "Weather API key (not mandatory), see ``WEATHER_API_PROVIDER``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:241
|
|
|
|
msgid ""
|
|
|
|
"Provider for weather data (not mandatory), see `Weather data "
|
|
|
|
"<installation.html#weather-data>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:246
|
|
|
|
msgid "**FitTrackee** API URL, only needed in dev environment."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:251
|
|
|
|
msgid "Emails"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:254
|
|
|
|
msgid "To send emails, a valid ``EMAIL_URL`` must be provided:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:256
|
|
|
|
msgid ""
|
|
|
|
"with an unencrypted SMTP server: "
|
|
|
|
"``smtp://username:password@smtp.example.com:25``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:257
|
|
|
|
msgid "with SSL: ``smtp://username:password@smtp.example.com:465/?ssl=True``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:258
|
|
|
|
msgid "with STARTTLS: ``smtp://username:password@smtp.example.com:587/?tls=True``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
2023-06-21 19:45:47 +02:00
|
|
|
msgid "Sending emails with Office365 may not work if SMTP auth is disabled."
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:266
|
|
|
|
msgid "Credentials can be omitted: ``smtp://smtp.example.com:25``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:267
|
|
|
|
msgid "If ``:<port>`` is omitted, the port defaults to 25."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"Since 0.6.0, newly created accounts must be confirmed (an email with "
|
|
|
|
"confirmation instructions is sent after registration)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:272
|
|
|
|
msgid "Emails sent by FitTrackee are:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:274
|
|
|
|
msgid "account confirmation instructions"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:275
|
|
|
|
msgid "password reset request"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:276
|
|
|
|
msgid "email change (to old and new email adresses)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:277
|
|
|
|
msgid "password change"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:278
|
|
|
|
msgid ""
|
|
|
|
"notification when a data export archive is ready to download (*new in "
|
|
|
|
"0.7.13*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:282
|
|
|
|
msgid ""
|
|
|
|
"For single-user instance, it is possible to disable email sending with an"
|
|
|
|
" empty ``EMAIL_URL`` (in this case, no need to start dramatiq workers)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:284
|
|
|
|
msgid ""
|
|
|
|
"A `CLI <cli.html#ftcli-users-update>`__ is available to activate account,"
|
|
|
|
" modify email and password and handle data export requests."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:288
|
|
|
|
msgid "Map tile server"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:291
|
|
|
|
msgid ""
|
|
|
|
"Default tile server is now **OpenStreetMap**'s standard tile layer (if "
|
|
|
|
"environment variables are not initialized). The tile server can be "
|
|
|
|
"changed by updating ``TILE_SERVER_URL`` and ``MAP_ATTRIBUTION`` variables"
|
|
|
|
" (`list of tile servers "
|
|
|
|
"<https://wiki.openstreetmap.org/wiki/Raster_tile_providers>`__)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:294
|
|
|
|
msgid "To keep using **ThunderForest Outdoors**, the configuration is:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:296
|
|
|
|
msgid ""
|
|
|
|
"``TILE_SERVER_URL=https://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=XXXX``"
|
|
|
|
" where **XXXX** is **ThunderForest** API key"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:297
|
|
|
|
msgid ""
|
|
|
|
"``MAP_ATTRIBUTION=© <a "
|
|
|
|
"href=\"http://www.thunderforest.com/\">Thunderforest</a>, © <a "
|
|
|
|
"href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> "
|
|
|
|
"contributors``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "Check the terms of service of tile provider for map attribution."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:305
|
|
|
|
msgid ""
|
|
|
|
"Since the tile server can be used for static map generation, some servers"
|
|
|
|
" require a subdomain."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:307
|
|
|
|
msgid "For instance, to set OSM France tile server, the expected values are:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:309
|
|
|
|
msgid "``TILE_SERVER_URL=https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:310
|
|
|
|
msgid ""
|
|
|
|
"``MAP_ATTRIBUTION='fond de carte par <a "
|
|
|
|
"href=\"http://www.openstreetmap.fr/mentions-legales/\" target=\"_blank\" "
|
|
|
|
"rel=\"nofollow noopener\">OpenStreetMap France</a>, sous <a "
|
|
|
|
"href=\"http://creativecommons.org/licenses/by-sa/2.0/fr/\" "
|
|
|
|
"target=\"_blank\" rel=\"nofollow noopener\">licence CC BY-SA</a>'``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:311
|
|
|
|
msgid "``STATICMAP_SUBDOMAINS=a,b,c``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:313
|
|
|
|
msgid "The subdomain will be chosen randomly."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:317
|
|
|
|
msgid "API rate limits"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:320
|
|
|
|
msgid ""
|
|
|
|
"API rate limits are managed by `Flask-Limiter <https://flask-"
|
|
|
|
"limiter.readthedocs.io/en/stable>`_, based on IP with fixed window "
|
|
|
|
"strategy."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:321
|
|
|
|
msgid "To enable rate limits, **Redis** must be available."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"If no Redis instance is available for rate limits, FitTrackee can still "
|
|
|
|
"start."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:326
|
|
|
|
msgid "All endpoints are subject to rate limits, except endpoints serving assets."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:327
|
|
|
|
msgid ""
|
|
|
|
"Limits can be modified by setting the environment variable "
|
|
|
|
"``API_RATE_LIMITS`` (see `Flask-Limiter documentation for notation <https"
|
|
|
|
"://flask-limiter.readthedocs.io/en/stable/configuration.html#rate-limit-"
|
|
|
|
"string-notation>`_)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:328
|
|
|
|
msgid "Rate limits must be separated by a comma, for instance:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:334
|
|
|
|
msgid ""
|
|
|
|
"**Flask-Limiter** provides a `Command Line Interface <https://flask-"
|
|
|
|
"limiter.readthedocs.io/en/stable/cli.html>`_ for maintenance and "
|
|
|
|
"diagnostic purposes."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:353
|
|
|
|
msgid "Weather data"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:356
|
|
|
|
msgid "The following weather data providers are supported by **FitTrackee**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:358
|
|
|
|
msgid ""
|
|
|
|
"`Visual Crossing <https://www.visualcrossing.com>`__ (**note**: "
|
|
|
|
"historical data are provided on hourly period)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:360
|
|
|
|
msgid "To configure a weather provider, set the following environment variables:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:362
|
|
|
|
msgid "``WEATHER_API_KEY``: the key to the corresponding weather provider"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:367
|
|
|
|
msgid ""
|
|
|
|
"**DarkSky** support is discontinued, since the service shut down on March"
|
|
|
|
" 31, 2023."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"Note that **FitTrackee** is under heavy development, some features may be"
|
|
|
|
" unstable."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:377 ../source/installation.rst:563
|
|
|
|
msgid "From PyPI"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "Recommended way on production."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:382
|
|
|
|
msgid "Create and activate a virtualenv"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:384
|
|
|
|
msgid "Install **FitTrackee** with pip"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:390
|
|
|
|
msgid "Create ``fittrackee`` database"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:392
|
|
|
|
msgid "Example :"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"see PostgreSQL `documentation <https://www.postgresql.org/docs/15/ddl-"
|
|
|
|
"schemas.html>`_ for schema and privileges."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:403
|
|
|
|
msgid ""
|
|
|
|
"Initialize environment variables, see `Environment variables "
|
|
|
|
"<installation.html#environment-variables>`__"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:405
|
|
|
|
msgid ""
|
|
|
|
"For instance, copy and update ``.env`` file from ``.env.example`` and "
|
|
|
|
"source the file."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:412
|
|
|
|
msgid "Initialize database schema"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:418
|
|
|
|
msgid "Start the application"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:424
|
|
|
|
msgid ""
|
|
|
|
"Start task queue workers if email sending is enabled, with flask-dramatiq"
|
|
|
|
" CLI:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"To start application and workers with **systemd** service, see "
|
|
|
|
"`Deployment <installation.html#deployment>`__"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:433 ../source/installation.rst:542
|
|
|
|
msgid "Open http://localhost:5000 and register"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:435 ../source/installation.rst:493
|
|
|
|
#: ../source/installation.rst:544 ../source/installation.rst:825
|
|
|
|
msgid ""
|
|
|
|
"To set admin rights to the newly created account, use the following "
|
|
|
|
"command line:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:442 ../source/installation.rst:500
|
|
|
|
#: ../source/installation.rst:551 ../source/installation.rst:832
|
|
|
|
msgid "If the user account is inactive, it activates it."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:445 ../source/installation.rst:590
|
|
|
|
msgid "From sources"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "Since **FitTrackee** 0.2.1, Python packages installation needs Poetry."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"For more information, see `Poetry Documentation <https://python-"
|
|
|
|
"poetry.org/docs/#installation>`__"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "To keep virtualenv in project directory, update Poetry configuration."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:459 ../source/installation.rst:593
|
|
|
|
msgid "Dev environment"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:461
|
|
|
|
msgid "Clone this repo:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:468 ../source/installation.rst:517
|
|
|
|
msgid ""
|
|
|
|
"Create **.env** from example and update it (see `Environment variables "
|
|
|
|
"<installation.html#environment-variables>`__)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:471
|
|
|
|
msgid ""
|
|
|
|
"Install Python virtualenv, Vue and all related packages and initialize "
|
|
|
|
"the database:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:479
|
|
|
|
msgid "Start the server and the client:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:485 ../source/installation.rst:621
|
|
|
|
msgid "Run dramatiq workers:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:491
|
|
|
|
msgid "Open http://localhost:3000 and register"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:503
|
|
|
|
msgid "Production environment"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"Note that FitTrackee is under heavy development, some features may be "
|
|
|
|
"unstable."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:508
|
|
|
|
msgid "Download the last release (for now, it is the release v0.7.17):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:520
|
|
|
|
msgid "Install Python virtualenv and all related packages:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:526
|
|
|
|
msgid ""
|
|
|
|
"Initialize the database (**after updating** ``db/create.sql`` **to change"
|
|
|
|
" database credentials**):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:533
|
|
|
|
msgid "Start the server and dramatiq workers:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:540 ../source/installation.rst:664
|
|
|
|
msgid "If email sending is disabled: ``$ make run-server``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:554
|
|
|
|
msgid "Upgrade"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid "Before upgrading, make a backup of all data:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"- database (with `pg_dump <https://www.postgresql.org/docs/11/app-"
|
|
|
|
"pgdump.html>`__ for instance)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst
|
|
|
|
msgid ""
|
|
|
|
"- upload directory (see `Environment variables <installation.html"
|
|
|
|
"#environment-variables>`__)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:565
|
|
|
|
msgid "Stop the application and activate the virtualenv"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:567
|
|
|
|
msgid "Upgrade with pip"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:573
|
|
|
|
msgid ""
|
|
|
|
"Update environment variables if needed and source environment variables "
|
|
|
|
"file"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:580 ../source/installation.rst:609
|
|
|
|
#: ../source/installation.rst:651
|
|
|
|
msgid "Upgrade database if needed (see changelog for migrations):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:586
|
|
|
|
msgid ""
|
|
|
|
"Restart the application and task queue workers (if email sending is "
|
|
|
|
"enabled)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:595
|
|
|
|
msgid "Stop the application and pull the repository:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:601 ../source/installation.rst:643
|
|
|
|
msgid ""
|
|
|
|
"Update **.env** if needed (see `Environment variables <installation.html"
|
|
|
|
"#environment-variables>`__)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:603 ../source/installation.rst:645
|
|
|
|
msgid "Upgrade packages:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:615
|
|
|
|
msgid "Restart the server:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:628
|
|
|
|
msgid "Prod environment"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:630
|
|
|
|
msgid "Stop the application"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:632
|
|
|
|
msgid "Change to the directory where FitTrackee directory is located"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:634
|
|
|
|
msgid ""
|
|
|
|
"Download the last release (for now, it is the release v0.7.17) and "
|
|
|
|
"overwrite existing files:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:657
|
|
|
|
msgid "Restart the server and dramatiq workers:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:667
|
|
|
|
msgid "Deployment"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:669
|
|
|
|
msgid ""
|
|
|
|
"There are several ways to start **FitTrackee** web application and task "
|
|
|
|
"queue library. One way is to use a **systemd** services and **Nginx** to "
|
|
|
|
"proxy pass to **Gunicorn**."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:673
|
|
|
|
msgid ""
|
|
|
|
"Examples (to adapt depending on your instance configuration and operating"
|
|
|
|
" system):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:675
|
|
|
|
msgid "for application: ``fittrackee.service``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:715
|
|
|
|
msgid ""
|
|
|
|
"To handle large files, a higher value for `timeout "
|
|
|
|
"<https://docs.gunicorn.org/en/stable/settings.html#timeout>`__ can be "
|
|
|
|
"set."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:718
|
|
|
|
msgid ""
|
|
|
|
"More information on deployment with Gunicorn in its `documentation "
|
|
|
|
"<https://docs.gunicorn.org/en/stable/deploy.html>`__."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:720
|
|
|
|
msgid "for task queue workers: ``fittrackee_workers.service``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:755
|
|
|
|
msgid "**Nginx** configuration:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:793
|
|
|
|
msgid ""
|
|
|
|
"If needed, update configuration to handle larger files (see "
|
|
|
|
"`client_max_body_size "
|
|
|
|
"<https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size>`_)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:797
|
|
|
|
msgid "Docker"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:804
|
|
|
|
msgid ""
|
|
|
|
"For evaluation purposes, docker files are available, installing "
|
|
|
|
"**FitTrackee** from **sources**."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:806
|
|
|
|
msgid "To install **FitTrackee**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:815
|
|
|
|
msgid "To initialise database:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:821
|
|
|
|
msgid "Open http://localhost:5000 and register."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:823
|
|
|
|
msgid ""
|
|
|
|
"Open http://localhost:8025 to access `MailHog interface "
|
|
|
|
"<https://github.com/mailhog/MailHog>`_ (email testing tool)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:834
|
|
|
|
msgid "To stop **Fittrackee**:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:840
|
|
|
|
msgid "To start **Fittrackee** (application and dramatiq workers):"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:847
|
|
|
|
msgid "To run shell inside **Fittrackee** container:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:855
|
|
|
|
msgid "Development"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:859
|
|
|
|
msgid "an additional step is needed to install ``fittrackee_client``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:865
|
|
|
|
msgid "to start **FitTrackee** with client dev tools:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:871
|
|
|
|
msgid "Open http://localhost:3000"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:874
|
|
|
|
msgid "Some environment variables need to be updated like ``UI_URL``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:876
|
|
|
|
msgid "to run lint or tests:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:887
|
|
|
|
msgid "Yunohost"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/installation.rst:889
|
|
|
|
msgid ""
|
|
|
|
"A package is available, see https://github.com/YunoHost-"
|
|
|
|
"Apps/fittrackee_ynh."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:2
|
|
|
|
msgid "OAuth 2.0"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:3
|
|
|
|
msgid "(*new in 0.7.0*)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:5
|
|
|
|
msgid ""
|
|
|
|
"FitTrackee provides a REST API (see `documentation <api/index.html>`__) "
|
|
|
|
"whose most endpoints require authentication/authorization."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:8
|
|
|
|
msgid ""
|
|
|
|
"To allow a third-party application to interact with API endpoints, an "
|
|
|
|
"`OAuth2 <https://datatracker.ietf.org/doc/html/rfc6749>`_ client can be "
|
|
|
|
"created in user settings ('apps' tab)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:13
|
|
|
|
msgid ""
|
|
|
|
"OAuth2 endpoints requiring authentication are not accessible by third-"
|
|
|
|
"party applications (`documentation <api/oauth2.html>`__), only by "
|
|
|
|
"FitTrackee client (first-party application)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:17
|
|
|
|
msgid ""
|
|
|
|
"FitTrackee supports only `Authorization Code "
|
|
|
|
"<https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.1>`_ flow "
|
|
|
|
"(with `PKCE <https://datatracker.ietf.org/doc/html/rfc7636>`_ support). "
|
|
|
|
"It allows to exchange an authorization code for an access token. The "
|
|
|
|
"client ID and secret must be sent in the POST body. It is recommended to "
|
|
|
|
"use PKCE to provide a better security."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:24
|
|
|
|
msgid "Scopes"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:26
|
|
|
|
msgid "The following scopes are available:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:28
|
|
|
|
msgid ""
|
|
|
|
"``application:write``: grants write access to application configuration "
|
|
|
|
"(only for users with administration rights),"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:29
|
|
|
|
msgid "``profile:read``: grants read access to auth endpoints,"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:30
|
|
|
|
msgid "``profile:write``: grants write access to auth endpoints,"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:31
|
|
|
|
msgid "``users:read``: grants read access to users endpoints,"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:32
|
|
|
|
msgid "``users:write``: grants write access to users endpoints,"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:33
|
|
|
|
msgid "``workouts:read``: grants read access to workouts-related endpoints,"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:34
|
|
|
|
msgid "``workouts:write``: grants write access to workouts-related endpoints."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:38
|
|
|
|
msgid "Flow"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:40
|
|
|
|
msgid ""
|
|
|
|
"The user creates an App (client) on FitTrackee for a third-party "
|
|
|
|
"application."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "OAuth2 client creation on FitTrackee"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "After registration, the client id and secret are shown."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "They must be stored in the 3rd-party application by the user."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid ""
|
|
|
|
"The 3rd-party app needs to redirect to FitTrackee, in order for the user "
|
|
|
|
"to authorize the 3rd-party app to access user data on FitTrackee."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "App authorization on FitTrackee"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid ""
|
|
|
|
"The authorization URL is "
|
|
|
|
"``https://<FITTRACKEE_HOST>/profile/apps/authorize``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "The required parameters are:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:56
|
|
|
|
msgid "``client_id``: the client id displayed after registration"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:57
|
|
|
|
msgid ""
|
|
|
|
"``response_type``: ``code``, since FitTrackee only supports "
|
|
|
|
"Authorization Code flow."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:58
|
|
|
|
msgid "``scope``: scopes separated with space."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "and optional parameters:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:62
|
|
|
|
msgid "``state``: unique value to prevent cross-site request forgery"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "For PKCE, the following parameters are mandatory:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:66
|
|
|
|
msgid "``code_challenge``: string generated from a code verifier"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:67
|
|
|
|
msgid ""
|
|
|
|
"``code_challenge_method``: method used to create challenge, for instance "
|
|
|
|
"\"S256\""
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "Example for PKCE:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "``https://<FITTRACKEE_HOST>/profile/apps/authorize?response_type=code&client_id=<CLIENT_ID>&scope=profile%3Aread+workouts%3Awrite&state=<STATE>&code_challenge=<CODE_CHALLENGE>&code_challenge_method=S256``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid ""
|
|
|
|
"After the authorization, FitTrackee redirects to the 3rd-party app, so "
|
|
|
|
"the 3rd-party app can get the authorization code from the redirect URL "
|
|
|
|
"and then fetches an access token with the client id and secret (endpoint "
|
|
|
|
"`/api/oauth/token "
|
|
|
|
"<https://samr1.github.io/FitTrackee/api/oauth2.html#post--api-oauth-"
|
|
|
|
"token>`_)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "Example of a redirect URL:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "``https://example.com/callback?code=<AUTHORIZATION_CODE>&state=<STATE>``"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:79
|
|
|
|
msgid ""
|
|
|
|
"OAuth2 support is implemented with `Authlib "
|
|
|
|
"<https://docs.authlib.org/en/latest/>`_ library."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid ""
|
|
|
|
"If FitTrackee is running behind a proxy, the ``X-Forwarded-Proto`` header"
|
|
|
|
" must be set."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst
|
|
|
|
msgid "For instance for ``nginx``:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:90
|
|
|
|
msgid "Resources"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:92
|
|
|
|
msgid "Some resources about OAuth 2.0:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:94
|
|
|
|
msgid ""
|
|
|
|
"`OAuth 2.0 Simplified <https://www.oauth.com>`_ by `Aaron Parecki "
|
|
|
|
"<https://aaronparecki.com>`_ (example for `authorization code flow with "
|
|
|
|
"PKCE <https://www.oauth.com/oauth2-servers/server-side-apps/example-"
|
|
|
|
"flow/>`_)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:95
|
|
|
|
msgid ""
|
|
|
|
"`Web App Example of OAuth 2 web application flow <https://requests-"
|
|
|
|
"oauthlib.readthedocs.io/en/latest/examples/real_world_example.html>`_ "
|
|
|
|
"with Requests-OAuthlib (python)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:96
|
|
|
|
msgid ""
|
|
|
|
"`OAuth 2 Session "
|
|
|
|
"<https://docs.authlib.org/en/latest/client/oauth2.html#oauth-2-session>`_"
|
|
|
|
" with Authlib (python)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/oauth.rst:97
|
|
|
|
msgid ""
|
|
|
|
"`Minimal example of an application interacting with FitTrackee "
|
|
|
|
"<https://codeberg.org/SamR1/ft-oauth-client>`_ (python)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/third_party_tools.rst:2
|
|
|
|
msgid "Third-party tools"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/third_party_tools.rst:4
|
|
|
|
msgid "Thanks to the contributors, the following tools are available:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/third_party_tools.rst:6
|
|
|
|
msgid ""
|
|
|
|
"`strava-to-fittrackee <https://github.com/jat255/strava-to-fittrackee>`_ "
|
|
|
|
"(import workouts from a Strava account)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/third_party_tools.rst:7
|
|
|
|
msgid ""
|
|
|
|
"`FitTrackee Uploader <https://github.com/ebrithiljonas/fittrackee-"
|
|
|
|
"uploader>`_ (upload .gpx and .fit files)"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:2
|
|
|
|
msgid "Administrator"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:6
|
|
|
|
msgid "`FitTrackee fails to start`"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:8
|
|
|
|
msgid ""
|
|
|
|
"Check the database URL in `environment variables <../installation.html"
|
|
|
|
"#envvar-DATABASE_URL>`__ if the following error is displayed in "
|
|
|
|
"**gunicorn** logs:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:14
|
|
|
|
msgid ""
|
2023-06-21 19:45:47 +02:00
|
|
|
"The variable ``DATABASE_URL`` must start with ``postgresql://` (engine "
|
|
|
|
"URLs starting with ``postgres://`` are no longer supported)."
|
2023-06-18 15:23:33 +02:00
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:16
|
|
|
|
msgid ""
|
|
|
|
"Check the email URL in `environment variables <../installation.html"
|
|
|
|
"#envvar-EMAIL_URL>`__ if the following error is displayed in **gunicorn**"
|
|
|
|
" logs:"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:22
|
|
|
|
msgid ""
|
|
|
|
"A valid ``EMAIL_URL`` must be provided (see `emails "
|
|
|
|
"<../installation.html#emails>`__)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:26
|
|
|
|
msgid "`Map images are not displayed but map is shown in Workout detail`"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:28
|
|
|
|
msgid ""
|
|
|
|
"Check the path in `environment variables <../installation.html#envvar-"
|
|
|
|
"UPLOAD_FOLDER>`__. ``UPLOAD_FOLDER`` must be set with an absolute path."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:32
|
|
|
|
msgid "`Failed to upload or download files`"
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:34
|
|
|
|
msgid ""
|
|
|
|
"Check ``client_max_body_size`` in **nginx** config. Increase the value to"
|
|
|
|
" handle larger files (see **nginx** `documentation "
|
|
|
|
"<https://nginx.org/en/docs/http/ngx_http_core_module.html#client_max_body_size>`_)."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/administrator.rst:36
|
|
|
|
msgid ""
|
|
|
|
"Increase **gunicorn** `timeout "
|
|
|
|
"<https://docs.gunicorn.org/en/stable/settings.html#timeout>`__ value if "
|
|
|
|
"the following error is displayed in gunicorn log: ``[CRITICAL] WORKER "
|
|
|
|
"TIMEOUT``."
|
|
|
|
msgstr ""
|
|
|
|
|
|
|
|
#: ../source/troubleshooting/index.rst:2
|
|
|
|
msgid "Troubleshooting"
|
|
|
|
msgstr ""
|
|
|
|
|