4937 lines
120 KiB
Plaintext
4937 lines
120 KiB
Plaintext
# SOME DESCRIPTIVE TITLE.
|
|
# Copyright (C) 2018 - 2023, SamR1
|
|
# This file is distributed under the same license as the FitTrackee package.
|
|
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
|
#
|
|
#, fuzzy
|
|
msgid ""
|
|
msgstr ""
|
|
"Project-Id-Version: FitTrackee 0.7.17\n"
|
|
"\n"
|
|
"Report-Msgid-Bugs-To: \n"
|
|
"POT-Creation-Date: 2023-06-24 12:08+0200\n"
|
|
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
|
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
|
"Language-Team: LANGUAGE <LL@li.org>\n"
|
|
"MIME-Version: 1.0\n"
|
|
"Content-Type: text/plain; charset=UTF-8\n"
|
|
"Content-Transfer-Encoding: 8bit\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
|
|
msgid "success:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "error on registration:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:0
|
|
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>:0
|
|
msgid "Status Codes"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``success``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``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``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``invalid payload``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``sorry, that username is already taken``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``sorry, you must agree privacy policy to register``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``username: 3 to 30 characters required``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``username: only alphanumeric characters and the underscore character \"_\" allowed``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``email: valid email must be provided``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``password: 8 characters required``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error, registration is disabled``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error, please try again or contact the administrator``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Activate user account after registration."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "**Example response**:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "confirmation token"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``account confirmation successful``"
|
|
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
|
|
msgid "``confirmation email resent``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``the requested URL was not found on the server``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "User login."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Only user with an active account can log in."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "successful login:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "error on login"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "password"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``successfully logged in``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``invalid credentials``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Get authenticated user info (profile, account, preferences)."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "**Scope**: ``profile:read``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:0
|
|
msgid "Request Headers"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "OAuth 2.0 Bearer Token"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``provide a valid auth token`` - ``signature expired, please log in again`` - ``invalid token, please log in again``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``provide a valid auth token``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``signature expired, please log in again``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``invalid token, please log in again``"
|
|
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
|
|
msgid "user birth date (format: ``%Y-%m-%d``)"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``user profile updated``"
|
|
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
|
|
msgid "``user preferences updated``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``invalid payload`` - ``password: password and password confirmation don't match``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``password: password and password confirmation don't match``"
|
|
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
|
|
msgid "``user sport preferences updated``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``invalid payload`` - ``invalid hexadecimal color``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``invalid hexadecimal color``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``sport does not exist``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Reset authenticated user preferences for a given sport."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:0
|
|
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>:0
|
|
msgid "Form Parameters"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "image file (allowed extensions: .jpg, .png, .gif)"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``user picture updated``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``invalid payload`` - ``no file part`` - ``no selected file`` - ``file extension not allowed``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``no file part``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``no selected file``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``file extension not allowed``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error during picture update: file size exceeds 1.0MB``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error during picture update``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Delete authenticated user picture."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "picture deleted"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error during picture deletion``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Handle password reset request."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``password reset request processed``"
|
|
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
|
|
msgid "``user account updated``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``invalid payload`` - ``email is missing`` - ``current password is missing`` - ``email: valid email must be provided`` - ``password: 8 characters required``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``email is missing``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``current password is missing``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``provide a valid auth token`` - ``signature expired, please log in again`` - ``invalid token, please log in again`` - ``invalid credentials``"
|
|
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
|
|
msgid "``password updated``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``invalid token, please request a new token``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Update user email after confirmation."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``email updated``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "User logout. If a valid token is provided, it will be blacklisted."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "successful logout:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "error on logout:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``successfully logged out``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``provide a valid auth token`` - ``The access token provided is expired, revoked, malformed, or invalid for other reasons.``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``The access token provided is expired, revoked, malformed, or invalid for other reasons.``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error on token blacklist``"
|
|
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
|
|
msgid "if a request exists:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "if no request:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Request a data export for authenticated user."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``ongoing request exists`` - ``completed request already exists``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``ongoing request exists``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``completed request already exists``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Download a data export archive"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "filename"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``file not found``"
|
|
msgstr ""
|
|
|
|
#: ../source/api/configuration.rst:2
|
|
msgid "Configuration"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Get Application configuration."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error on getting configuration``"
|
|
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 "- ``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``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``valid email must be provided for admin contact``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``you do not have permissions``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``error when updating configuration``"
|
|
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
|
|
msgid "without parameters:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "with 'page' parameter:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:0
|
|
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>:0
|
|
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
|
|
msgid "client description (optional)"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Get an OAuth2 client (app) by 'client_id'."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "not found:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "OAuth2 client client_id"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``OAuth2 client not found``"
|
|
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
|
|
msgid "- ``invalid payload`` - errors returned by Authlib library"
|
|
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
|
|
msgid "for non admin user:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "for admin user:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Get a sport"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "success for non admin user:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "success for admin user:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "sport not found:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``sport not found``"
|
|
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
|
|
msgid "with parameters:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "no workouts:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "username"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "start date (format: ``%Y-%m-%d``)"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
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
|
|
msgid "``user does not exist``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Get workouts statistics for a user by sport."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "without parameters (get stats for all sports with workouts):"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "with sport id:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``user does not exist`` - ``sport does not exist``"
|
|
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
|
|
msgid "with some query parameters:"
|
|
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 ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``user does not exist``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "get user picture"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``user does not exist`` - ``No picture.``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``No picture.``"
|
|
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 "- ``invalid payload`` - ``valid email must be provided`` - ``new email must be different than curent email``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``valid email must be provided``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``new email must be different than curent email``"
|
|
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 "- ``you do not have permissions`` - ``you can not delete your account, no other user has admin rights``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``you can not delete your account, no other user has admin rights``"
|
|
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
|
|
msgid "returning at least one workout:"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "returning no workouts"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "number of workouts per page (default: 5, max: 100)"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "any part (or all) of the workout title; title matching is case-insensitive"
|
|
msgstr ""
|
|
|
|
#: ../../<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
|
|
msgid "``workout not found``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "Get gpx file for a workout displayed on map with Leaflet."
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "- ``workout not found`` - ``no gpx file for this workout``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``no gpx file for this workout``"
|
|
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
|
|
msgid "``map does not exist``"
|
|
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
|
|
msgid "- ``workout not found`` - ``no gpx file for workout``"
|
|
msgstr ""
|
|
|
|
#: ../../<autoflask>:1
|
|
msgid "``no gpx file for workout``"
|
|
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
|
|
msgid "workout created"
|
|
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
|
|
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
|
|
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
|
|
#: ../source/changelog.md:877
|
|
#: ../source/changelog.md:919
|
|
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 ""
|
|
|
|
#: ../source/changelog.md:1016
|
|
#: ../source/features.rst:19
|
|
msgid "Mountain Biking"
|
|
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 ""
|
|
|
|
#: ../source/changelog.md:1027
|
|
#: ../source/features.rst:65
|
|
msgid "farthest distance"
|
|
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
|
|
msgid "➡️ more informations: see documentation and current issues"
|
|
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:0
|
|
msgid "The following commands are now deprecated and will be removed in a next version:"
|
|
msgstr ""
|
|
|
|
#: ../source/cli.rst:0
|
|
msgid "- ``fittrackee_set_admin``"
|
|
msgstr ""
|
|
|
|
#: ../source/cli.rst:0
|
|
msgid "- ``fittrackee_upgrade_db``"
|
|
msgstr ""
|
|
|
|
#: ../source/cli.rst:0
|
|
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:0
|
|
msgid "Only gpx files with time are supported."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
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:0
|
|
msgid "A workout can even be created without gpx (the user must enter date, time, duration and distance)."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
msgid "Ascent and descent can also be provided (*new in 0.7.10*)."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
msgid "A workout with a gpx file can be displayed with map and charts (speed and elevation)."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
msgid "Controls allow full screen view and position reset (*new in 0.5.5*)."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
msgid "A disabled sport (by admin or user) will not appear in dropdown when **adding a workout**."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
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:0
|
|
msgid "A user can request a data export (*new in 0.7.13*)."
|
|
msgstr ""
|
|
|
|
#: ../source/features.rst:0
|
|
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:0
|
|
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:0
|
|
msgid "The following steps describe an installation on Linux systems (tested on Debian and Arch)."
|
|
msgstr ""
|
|
|
|
#: ../source/installation.rst:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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 ""
|
|
|
|
#: ../source/installation.rst:0
|
|
#: ../source/installation.rst:152
|
|
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:0
|
|
msgid "Sending emails with Office365 may not work if SMTP auth is disabled."
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
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:0
|
|
msgid "Since **FitTrackee** 0.2.1, Python packages installation needs Poetry."
|
|
msgstr ""
|
|
|
|
#: ../source/installation.rst:0
|
|
msgid "For more information, see `Poetry Documentation <https://python-poetry.org/docs/#installation>`__"
|
|
msgstr ""
|
|
|
|
#: ../source/installation.rst:0
|
|
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:0
|
|
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:0
|
|
msgid "Before upgrading, make a backup of all data:"
|
|
msgstr ""
|
|
|
|
#: ../source/installation.rst:0
|
|
msgid "- database (with `pg_dump <https://www.postgresql.org/docs/11/app-pgdump.html>`__ for instance)"
|
|
msgstr ""
|
|
|
|
#: ../source/installation.rst:0
|
|
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:0
|
|
msgid "OAuth2 client creation on FitTrackee"
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
msgid "After registration, the client id and secret are shown."
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
msgid "They must be stored in the 3rd-party application by the user."
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
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:0
|
|
msgid "App authorization on FitTrackee"
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
msgid "The authorization URL is ``https://<FITTRACKEE_HOST>/profile/apps/authorize``."
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
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:0
|
|
msgid "and optional parameters:"
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:62
|
|
msgid "``state``: unique value to prevent cross-site request forgery"
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
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:0
|
|
msgid "Example for PKCE:"
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
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:0
|
|
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:0
|
|
msgid "Example of a redirect URL:"
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
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:0
|
|
msgid "If FitTrackee is running behind a proxy, the ``X-Forwarded-Proto`` header must be set."
|
|
msgstr ""
|
|
|
|
#: ../source/oauth.rst:0
|
|
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 "The variable ``DATABASE_URL`` must start with ``postgresql://` (engine URLs starting with ``postgres://`` are no longer supported)."
|
|
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 ""
|