FitTrackee/docsrc/gettext/docs.pot

5575 lines
136 KiB
Plaintext

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2018 - 2024, 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.30\n"
"\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2024-02-04 22:06+0100\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 "Display interface with dark mode if true. If null, it uses browser preferences."
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:198
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:244
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:185
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 current email``"
msgstr ""
#: ../../<autoflask>:1
msgid "``valid email must be provided``"
msgstr ""
#: ../../<autoflask>:1
msgid "``new email must be different than current 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.30 (2024/02/04)"
msgstr ""
#: ../source/changelog.md:5
#: ../source/changelog.md:45
#: ../source/changelog.md:83
#: ../source/changelog.md:115
#: ../source/changelog.md:288
#: ../source/changelog.md:327
#: ../source/changelog.md:440
#: ../source/changelog.md:488
#: ../source/changelog.md:561
#: ../source/changelog.md:601
#: ../source/changelog.md:622
#: ../source/changelog.md:637
#: ../source/changelog.md:661
#: ../source/changelog.md:724
#: ../source/changelog.md:764
msgid "Features and enhancements"
msgstr ""
#: ../source/changelog.md:7
msgid "b748459 - Update alert message colors on dark mode"
msgstr ""
#: ../source/changelog.md:9
#: ../source/changelog.md:50
#: ../source/changelog.md:87
#: ../source/changelog.md:121
#: ../source/changelog.md:156
#: ../source/changelog.md:191
#: ../source/changelog.md:198
#: ../source/changelog.md:232
#: ../source/changelog.md:244
#: ../source/changelog.md:276
#: ../source/changelog.md:293
#: ../source/changelog.md:334
#: ../source/changelog.md:445
#: ../source/changelog.md:495
#: ../source/changelog.md:541
#: ../source/changelog.md:567
#: ../source/changelog.md:665
#: ../source/changelog.md:693
#: ../source/changelog.md:704
#: ../source/changelog.md:731
#: ../source/changelog.md:752
#: ../source/changelog.md:770
#: ../source/changelog.md:786
#: ../source/changelog.md:807
#: ../source/changelog.md:829
#: ../source/changelog.md:836
#: ../source/changelog.md:856
#: ../source/changelog.md:878
#: ../source/changelog.md:896
#: ../source/changelog.md:931
#: ../source/changelog.md:942
#: ../source/changelog.md:953
#: ../source/changelog.md:965
#: ../source/changelog.md:985
#: ../source/changelog.md:991
#: ../source/changelog.md:1043
#: ../source/changelog.md:1067
#: ../source/changelog.md:1078
#: ../source/changelog.md:1089
#: ../source/changelog.md:1134
#: ../source/changelog.md:1167
#: ../source/changelog.md:1179
#: ../source/changelog.md:1190
#: ../source/changelog.md:1206
#: ../source/changelog.md:1219
#: ../source/changelog.md:1231
#: ../source/changelog.md:1252
#: ../source/changelog.md:1330
#: ../source/changelog.md:1347
#: ../source/changelog.md:1358
#: ../source/changelog.md:1378
#: ../source/changelog.md:1413
msgid "Bugs Fixed"
msgstr ""
#: ../source/changelog.md:11
msgid "PR#481 - Handle keyboard navigation on dropdowns"
msgstr ""
#: ../source/changelog.md:12
msgid "3821e37 - Make calendar arrows accessible to keyboard navigation"
msgstr ""
#: ../source/changelog.md:13
msgid "PR#488 - CLI - fix user creation when user already exists with same email"
msgstr ""
#: ../source/changelog.md:14
msgid "PR#489 - Handle keyboard navigation on calendar"
msgstr ""
#: ../source/changelog.md:16
#: ../source/changelog.md:54
#: ../source/changelog.md:91
#: ../source/changelog.md:126
#: ../source/changelog.md:161
#: ../source/changelog.md:202
#: ../source/changelog.md:250
#: ../source/changelog.md:299
#: ../source/changelog.md:340
#: ../source/changelog.md:384
#: ../source/changelog.md:421
#: ../source/changelog.md:450
#: ../source/changelog.md:500
#: ../source/changelog.md:545
#: ../source/changelog.md:574
#: ../source/changelog.md:589
#: ../source/changelog.md:606
#: ../source/changelog.md:626
#: ../source/changelog.md:641
#: ../source/changelog.md:654
#: ../source/changelog.md:669
#: ../source/changelog.md:682
#: ../source/changelog.md:697
#: ../source/changelog.md:711
#: ../source/changelog.md:736
#: ../source/changelog.md:745
#: ../source/changelog.md:756
#: ../source/changelog.md:775
#: ../source/changelog.md:861
#: ../source/features.rst:203
msgid "Translations"
msgstr ""
#: ../source/changelog.md:18
msgid "PR#482 - Translations update (Galician and Spanish)"
msgstr ""
#: ../source/changelog.md:19
msgid "PR#484 - Translations update (German)"
msgstr ""
#: ../source/changelog.md:21
#: ../source/changelog.md:59
#: ../source/changelog.md:96
#: ../source/changelog.md:135
#: ../source/changelog.md:174
#: ../source/changelog.md:215
#: ../source/changelog.md:257
#: ../source/changelog.md:306
#: ../source/changelog.md:358
#: ../source/changelog.md:405
#: ../source/changelog.md:426
#: ../source/changelog.md:458
#: ../source/changelog.md:510
msgid "Translation status:"
msgstr ""
#: ../source/changelog.md:22
#: ../source/changelog.md:136
#: ../source/changelog.md:427
#: ../source/changelog.md:459
msgid "Dutch: 99%"
msgstr ""
#: ../source/changelog.md:23
#: ../source/changelog.md:61
#: ../source/changelog.md:98
#: ../source/changelog.md:137
#: ../source/changelog.md:176
#: ../source/changelog.md:217
#: ../source/changelog.md:259
#: ../source/changelog.md:308
#: ../source/changelog.md:360
#: ../source/changelog.md:407
#: ../source/changelog.md:428
#: ../source/changelog.md:460
#: ../source/changelog.md:512
msgid "English: 100%"
msgstr ""
#: ../source/changelog.md:24
#: ../source/changelog.md:62
#: ../source/changelog.md:99
#: ../source/changelog.md:138
#: ../source/changelog.md:177
#: ../source/changelog.md:218
#: ../source/changelog.md:260
#: ../source/changelog.md:309
#: ../source/changelog.md:361
#: ../source/changelog.md:408
#: ../source/changelog.md:429
#: ../source/changelog.md:461
#: ../source/changelog.md:513
msgid "French: 100%"
msgstr ""
#: ../source/changelog.md:25
#: ../source/changelog.md:63
#: ../source/changelog.md:100
#: ../source/changelog.md:178
#: ../source/changelog.md:219
#: ../source/changelog.md:261
#: ../source/changelog.md:310
#: ../source/changelog.md:409
#: ../source/changelog.md:430
#: ../source/changelog.md:514
msgid "Galician: 100%"
msgstr ""
#: ../source/changelog.md:26
#: ../source/changelog.md:64
#: ../source/changelog.md:101
#: ../source/changelog.md:179
#: ../source/changelog.md:220
#: ../source/changelog.md:262
#: ../source/changelog.md:410
#: ../source/changelog.md:515
msgid "German: 100%"
msgstr ""
#: ../source/changelog.md:27
#: ../source/changelog.md:65
#: ../source/changelog.md:102
msgid "Italian: 84%"
msgstr ""
#: ../source/changelog.md:28
#: ../source/changelog.md:66
#: ../source/changelog.md:103
msgid "Norwegian Bokmål: 60%"
msgstr ""
#: ../source/changelog.md:29
#: ../source/changelog.md:143
msgid "Polish: 99%"
msgstr ""
#: ../source/changelog.md:30
#: ../source/changelog.md:68
#: ../source/changelog.md:105
#: ../source/changelog.md:183
#: ../source/changelog.md:224
#: ../source/changelog.md:266
#: ../source/changelog.md:315
#: ../source/changelog.md:367
#: ../source/changelog.md:414
#: ../source/changelog.md:435
#: ../source/changelog.md:467
#: ../source/changelog.md:518
msgid "Spanish: 100%"
msgstr ""
#: ../source/changelog.md:32
#: ../source/changelog.md:70
#: ../source/changelog.md:130
#: ../source/changelog.md:166
#: ../source/changelog.md:207
#: ../source/changelog.md:237
#: ../source/changelog.md:281
#: ../source/changelog.md:352
#: ../source/changelog.md:399
#: ../source/changelog.md:520
#: ../source/changelog.md:593
#: ../source/changelog.md:673
#: ../source/changelog.md:686
#: ../source/changelog.md:792
#: ../source/changelog.md:884
#: ../source/changelog.md:905
#: ../source/changelog.md:1013
#: ../source/changelog.md:1029
#: ../source/changelog.md:1138
#: ../source/changelog.md:1194
#: ../source/changelog.md:1235
#: ../source/changelog.md:1261
#: ../source/changelog.md:1316
#: ../source/changelog.md:1382
#: ../source/changelog.md:1397
msgid "Misc"
msgstr ""
#: ../source/changelog.md:34
msgid "aff4d68 - CI - update actions version"
msgstr ""
#: ../source/changelog.md:37
#: ../source/changelog.md:75
#: ../source/changelog.md:107
#: ../source/changelog.md:146
#: ../source/changelog.md:185
#: ../source/changelog.md:226
#: ../source/changelog.md:268
#: ../source/changelog.md:317
#: ../source/changelog.md:369
#: ../source/changelog.md:471
#: ../source/changelog.md:525
#: ../source/changelog.md:580
#: ../source/changelog.md:612
#: ../source/changelog.md:869
#: ../source/changelog.md:1152
msgid "Thanks to the contributors:"
msgstr ""
#: ../source/changelog.md:38
#: ../source/changelog.md:108
#: ../source/changelog.md:148
#: ../source/changelog.md:318
#: ../source/changelog.md:371
#: ../source/changelog.md:473
#: ../source/changelog.md:529
msgid "@gallegonovato"
msgstr ""
#: ../source/changelog.md:39
#: ../source/changelog.md:109
#: ../source/changelog.md:270
#: ../source/changelog.md:530
#: ../source/changelog.md:582
#: ../source/changelog.md:615
msgid "@qwerty287"
msgstr ""
#: ../source/changelog.md:40
#: ../source/changelog.md:110
#: ../source/changelog.md:149
#: ../source/changelog.md:227
#: ../source/changelog.md:319
#: ../source/changelog.md:372
#: ../source/changelog.md:476
#: ../source/changelog.md:531
msgid "@xmgz"
msgstr ""
#: ../source/changelog.md:43
msgid "Version 0.7.29 (2024/01/06)"
msgstr ""
#: ../source/changelog.md:47
msgid "8aa4cff - Update loader color on dark theme"
msgstr ""
#: ../source/changelog.md:48
msgid "#478 - Make application name clickable to access dashboard"
msgstr ""
#: ../source/changelog.md:52
msgid "PR#479 - Minor fixes on UI"
msgstr ""
#: ../source/changelog.md:56
msgid "PR#476 - Translations update (Polish)"
msgstr ""
#: ../source/changelog.md:57
msgid "PR#477 - Translations update (Dutch)"
msgstr ""
#: ../source/changelog.md:60
#: ../source/changelog.md:175
#: ../source/changelog.md:216
#: ../source/changelog.md:258
#: ../source/changelog.md:406
msgid "Dutch: 100%"
msgstr ""
#: ../source/changelog.md:67
#: ../source/changelog.md:182
#: ../source/changelog.md:223
#: ../source/changelog.md:265
msgid "Polish: 100%"
msgstr ""
#: ../source/changelog.md:72
msgid "PR#475 - Build - use poetry-core instead of poetry"
msgstr ""
#: ../source/changelog.md:76
msgid "@traxys"
msgstr ""
#: ../source/changelog.md:77
msgid "Mariuz"
msgstr ""
#: ../source/changelog.md:78
msgid "Koen"
msgstr ""
#: ../source/changelog.md:81
msgid "Version 0.7.28 (2023/12/23)"
msgstr ""
#: ../source/changelog.md:85
msgid "PR#474 - Improve links display"
msgstr ""
#: ../source/changelog.md:89
msgid "6e215aa - fix background color on dark theme when modal is displayed"
msgstr ""
#: ../source/changelog.md:93
msgid "PR#473 - Translations update (Galician, Spanish and German)"
msgstr ""
#: ../source/changelog.md:97
#: ../source/changelog.md:511
msgid "Dutch: 98%"
msgstr ""
#: ../source/changelog.md:104
msgid "Polish: 98%"
msgstr ""
#: ../source/changelog.md:113
msgid "Version 0.7.27 (2023/12/20)"
msgstr ""
#: ../source/changelog.md:117
msgid "#113 - add a dark mode"
msgstr ""
#: ../source/changelog.md:118
msgid "PR#464 - Update user preferences display"
msgstr ""
#: ../source/changelog.md:119
msgid "PR#471 - add new sport: \"Cycling (Trekking)\""
msgstr ""
#: ../source/changelog.md:123
msgid "PR#469 - change UI display only on login ou user preferences update"
msgstr ""
#: ../source/changelog.md:124
msgid "PR#472 - fix redirection when resetting password"
msgstr ""
#: ../source/changelog.md:128
msgid "PR#468 - Translations update (Galician & Spanish)"
msgstr ""
#: ../source/changelog.md:132
msgid "#456 - Drop PostgreSQL 11 support"
msgstr ""
#: ../source/changelog.md:139
#: ../source/changelog.md:462
msgid "Galician: 99%"
msgstr ""
#: ../source/changelog.md:140
#: ../source/changelog.md:431
#: ../source/changelog.md:463
msgid "German: 99%"
msgstr ""
#: ../source/changelog.md:141
#: ../source/changelog.md:180
#: ../source/changelog.md:221
#: ../source/changelog.md:263
#: ../source/changelog.md:312
#: ../source/changelog.md:364
msgid "Italian: 85%"
msgstr ""
#: ../source/changelog.md:142
#: ../source/changelog.md:181
msgid "Norwegian Bokmål: 61%"
msgstr ""
#: ../source/changelog.md:144
msgid "Spanish: 99%"
msgstr ""
#: ../source/changelog.md:147
msgid "@DavidHenryThoreau"
msgstr ""
#: ../source/changelog.md:151
#: ../source/changelog.md:322
#: ../source/changelog.md:374
#: ../source/changelog.md:478
#: ../source/changelog.md:536
#: ../source/changelog.md:584
#: ../source/changelog.md:632
#: ../source/changelog.md:646
#: ../source/changelog.md:740
#: ../source/changelog.md:779
msgid "Note: This release contains database migration (see upgrade instructions in documentation)"
msgstr ""
#: ../source/changelog.md:154
msgid "Version 0.7.26 (2023/11/19)"
msgstr ""
#: ../source/changelog.md:158
msgid "#224 - Missing elevation results in incorrect ascent/descent total"
msgstr ""
#: ../source/changelog.md:163
msgid "PR#444 - Translations update (Norwegian Bokmål)"
msgstr ""
#: ../source/changelog.md:168
msgid "In addition to dependencies update:"
msgstr ""
#: ../source/changelog.md:170
msgid "PR#449 - Update vue, tooling and chart library"
msgstr ""
#: ../source/changelog.md:171
msgid "PR#450 - Update gpxpy to 1.6.1"
msgstr ""
#: ../source/changelog.md:186
#: ../source/changelog.md:527
msgid "@comradekingu"
msgstr ""
#: ../source/changelog.md:189
msgid "Version 0.7.25 (2023/10/08)"
msgstr ""
#: ../source/changelog.md:193
msgid "#441 - Errors after upgrade to 0.7.24"
msgstr ""
#: ../source/changelog.md:196
msgid "Version 0.7.24 (2023/10/04)"
msgstr ""
#: ../source/changelog.md:200
msgid "PR#433 - Handle encoded password in EMAIL_URL"
msgstr ""
#: ../source/changelog.md:204
msgid "PR#427 - fix typos and translations + refacto"
msgstr ""
#: ../source/changelog.md:205
msgid "PR#431 - Translations update (Galician)"
msgstr ""
#: ../source/changelog.md:209
msgid "PR#428 - CI - Add PostgreSQL 16"
msgstr ""
#: ../source/changelog.md:210
msgid "2bcff2e - API - update Flask to 3.0+"
msgstr ""
#: ../source/changelog.md:211
msgid "PR#436 - CI - Add Python 3.12"
msgstr ""
#: ../source/changelog.md:212
msgid "PR#438 - CI - update workflows"
msgstr ""
#: ../source/changelog.md:222
#: ../source/changelog.md:264
#: ../source/changelog.md:313
#: ../source/changelog.md:365
#: ../source/changelog.md:517
msgid "Norwegian Bokmål: 35%"
msgstr ""
#: ../source/changelog.md:230
msgid "Version 0.7.23 (2023/09/14)"
msgstr ""
#: ../source/changelog.md:234
msgid "PR#421 - remove darksky from available weather providers in .env"
msgstr ""
#: ../source/changelog.md:235
msgid "PR#426 - Update default tile server (thanks to @astridx)"
msgstr ""
#: ../source/changelog.md:239
msgid "PR#422 - CI - fix e2e tests with packaged version"
msgstr ""
#: ../source/changelog.md:242
msgid "Version 0.7.22 (2023/08/23)"
msgstr ""
#: ../source/changelog.md:246
msgid "PR#411 - Fix various typos"
msgstr ""
#: ../source/changelog.md:247
msgid "PR#416 - fix modal navigation and closing"
msgstr ""
#: ../source/changelog.md:252
msgid "PR#410 - Translations update (German)"
msgstr ""
#: ../source/changelog.md:253
msgid "PR#415 - Translations update (Polish)"
msgstr ""
#: ../source/changelog.md:254
msgid "PR#417 - Translations update (Polish)"
msgstr ""
#: ../source/changelog.md:255
msgid "PR#418 - Translations update (Dutch)"
msgstr ""
#: ../source/changelog.md:269
#: ../source/changelog.md:472
#: ../source/changelog.md:526
#: ../source/changelog.md:581
#: ../source/changelog.md:613
msgid "@bjornclauw"
msgstr ""
#: ../source/changelog.md:271
#: ../source/changelog.md:320
msgid "Mariusz"
msgstr ""
#: ../source/changelog.md:274
msgid "Version 0.7.21 (2023/07/30)"
msgstr ""
#: ../source/changelog.md:278
msgid "#407 - Workout display error when speeds are zero"
msgstr ""
#: ../source/changelog.md:283
msgid "PR#409 - CI - update actions version"
msgstr ""
#: ../source/changelog.md:286
msgid "Version 0.7.20 (2023/07/22)"
msgstr ""
#: ../source/changelog.md:290
msgid "#400 - Add new sport: open water swimming"
msgstr ""
#: ../source/changelog.md:295
msgid "PR#398 - Fix language dropdown label"
msgstr ""
#: ../source/changelog.md:296
msgid "#402 - handle gpx file without elevation"
msgstr ""
#: ../source/changelog.md:301
msgid "PR#399 - Translations update (Galician)"
msgstr ""
#: ../source/changelog.md:302
msgid "PR#401 - Translations update (Galician and Polish)"
msgstr ""
#: ../source/changelog.md:303
msgid "PR#406 - Translations update (Galician and Spanish)"
msgstr ""
#: ../source/changelog.md:307
#: ../source/changelog.md:359
msgid "Dutch: 97%"
msgstr ""
#: ../source/changelog.md:311
#: ../source/changelog.md:363
msgid "German: 97%"
msgstr ""
#: ../source/changelog.md:314
msgid "Polish: 56%"
msgstr ""
#: ../source/changelog.md:325
msgid "Version 0.7.19 (2023/07/15)"
msgstr ""
#: ../source/changelog.md:329
msgid "PR#380 - Update documentation link"
msgstr ""
#: ../source/changelog.md:330
msgid "#390 - Improve UI"
msgstr ""
#: ../source/changelog.md:331
msgid "#391 - Add new sport: paragliding"
msgstr ""
#: ../source/changelog.md:336
msgid "#384 - Inconsistent page with between workout with and without GPS data"
msgstr ""
#: ../source/changelog.md:337
msgid "#393 - PIL.Image module has no attribute ANTIALIAS"
msgstr ""
#: ../source/changelog.md:342
msgid "PR#394 - Translations update (Galician)"
msgstr ""
#: ../source/changelog.md:343
msgid "PR#397 - Translations update (Spanish)"
msgstr ""
#: ../source/changelog.md:346
#: ../source/changelog.md:393
#: ../source/changelog.md:715
msgid "Documentation"
msgstr ""
#: ../source/changelog.md:348
msgid "PR#386 - Minor fix in CONTRIBUTING.md"
msgstr ""
#: ../source/changelog.md:349
msgid "PR#388 - Minor typo in CONTRIBUTING.md"
msgstr ""
#: ../source/changelog.md:354
msgid "#395 - CI - test a packaged version of FitTrackee"
msgstr ""
#: ../source/changelog.md:355
msgid "cc3fe1c CI - update python and postgresql default versions"
msgstr ""
#: ../source/changelog.md:362
msgid "Galician: 98%"
msgstr ""
#: ../source/changelog.md:366
msgid "Polish: 42%"
msgstr ""
#: ../source/changelog.md:370
msgid "@dkm"
msgstr ""
#: ../source/changelog.md:377
msgid "Version 0.7.18 (2023/06/25)"
msgstr ""
#: ../source/changelog.md:379
msgid "Polish is available in FitTrackee interface (partially translated).<br />Documentation is now translated in French (note: documentation translations are not yet available on Weblate)."
msgstr ""
#: ../source/changelog.md:382
msgid "Important: Python 3.7 is no longer supported, the minimum version is now Python 3.8.1."
msgstr ""
#: ../source/changelog.md:386
msgid "#351 - [Translation Request] Polish"
msgstr ""
#: ../source/changelog.md:387
msgid "PR#370 - Translations update (Dutch, thanks to @bjornclauw)"
msgstr ""
#: ../source/changelog.md:388
msgid "PR#371 - Translations update (Polish, thanks to Mariusz on Weblate)"
msgstr ""
#: ../source/changelog.md:389
msgid "PR#375 - Translations update (French, thanks to @Thovi98)"
msgstr ""
#: ../source/changelog.md:390
msgid "PR#376 - Translations update (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:395
msgid "1375986 - Change documentation theme for Furo"
msgstr ""
#: ../source/changelog.md:396
msgid "#377 - Init documentation translation"
msgstr ""
#: ../source/changelog.md:401
msgid "#354 - Drop support for Python 3.7"
msgstr ""
#: ../source/changelog.md:402
msgid "PR#374 - Docker - install fittrackee in a virtualenv"
msgstr ""
#: ../source/changelog.md:411
#: ../source/changelog.md:432
#: ../source/changelog.md:464
#: ../source/changelog.md:516
msgid "Italian: 87%"
msgstr ""
#: ../source/changelog.md:412
#: ../source/changelog.md:433
#: ../source/changelog.md:465
msgid "Norwegian Bokmål: 36%"
msgstr ""
#: ../source/changelog.md:413
msgid "Polish: 43%"
msgstr ""
#: ../source/changelog.md:416
msgid "Thanks to all contributors."
msgstr ""
#: ../source/changelog.md:419
msgid "Version 0.7.17 (2023/06/03)"
msgstr ""
#: ../source/changelog.md:423
msgid "PR#366, PR#369 - Translations update from Hosted Weblate (Galician, thanks to @xmgz)"
msgstr ""
#: ../source/changelog.md:424
msgid "PR#367 - Translations update (Spanish, French)"
msgstr ""
#: ../source/changelog.md:434
#: ../source/changelog.md:466
msgid "Polish: 3%"
msgstr ""
#: ../source/changelog.md:438
msgid "Version 0.7.16 (2023/05/29)"
msgstr ""
#: ../source/changelog.md:442
msgid "PR#358 - Add user preference for filtering of GPX speed data"
msgstr ""
#: ../source/changelog.md:447
msgid "#359 - Footer overlaps content on user preferences page"
msgstr ""
#: ../source/changelog.md:452
msgid "PR#350 - Translations update from Hosted Weblate (Galician)"
msgstr ""
#: ../source/changelog.md:453
msgid "PR#352 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:454
msgid "PR#356 - Init Polish translation files"
msgstr ""
#: ../source/changelog.md:455
msgid "PR#357 - Translations update from Hosted Weblate (Polish)"
msgstr ""
#: ../source/changelog.md:456
msgid "PR#365 - Translations update from Hosted Weblate (Spanish)"
msgstr ""
#: ../source/changelog.md:469
msgid "Note: Polish is not yet available in FitTrackee interface."
msgstr ""
#: ../source/changelog.md:474
msgid "@gnu-ewm"
msgstr ""
#: ../source/changelog.md:475
#: ../source/changelog.md:528
#: ../source/changelog.md:614
msgid "@jat255"
msgstr ""
#: ../source/changelog.md:481
msgid "Version 0.7.15 (2023/04/12)"
msgstr ""
#: ../source/changelog.md:483
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:485
msgid "Note: DarkSky API support is removed, since the service shut down on March 31, 2023."
msgstr ""
#: ../source/changelog.md:490
msgid "#319 - Add cli to create users"
msgstr ""
#: ../source/changelog.md:491
msgid "#329 - Make \"start elevation axis at zero\" sticky"
msgstr ""
#: ../source/changelog.md:492
msgid "#333 - Feature request: filter workouts by title"
msgstr ""
#: ../source/changelog.md:493
msgid "#338 - Display relevant error message when <time> is missing in GPX file"
msgstr ""
#: ../source/changelog.md:497
msgid "#328 - GPX speed and altitude track has incorrect units on x-axis when imperial"
msgstr ""
#: ../source/changelog.md:498
msgid "b29ed7a - fix privacy policy message display on dashboard"
msgstr ""
#: ../source/changelog.md:502
msgid "#250 - [Translation Request] Norwegian Bokmål"
msgstr ""
#: ../source/changelog.md:503
msgid "#320 - [Translation Request] Spanish"
msgstr ""
#: ../source/changelog.md:504
msgid "#323 - [Translation Request] Galician"
msgstr ""
#: ../source/changelog.md:505
msgid "06ba975, bcc568e, ea0ac99 - Translations update (German)"
msgstr ""
#: ../source/changelog.md:506
msgid "a458f5f - Translations update (Dutch)"
msgstr ""
#: ../source/changelog.md:507
msgid "075aeb9 - Translations update (French)"
msgstr ""
#: ../source/changelog.md:508
msgid "60e164d - Translations update (Italian)"
msgstr ""
#: ../source/changelog.md:522
msgid "#318 - Remove DarkSky Weather provider"
msgstr ""
#: ../source/changelog.md:532
msgid "J. Lavoie from Weblate"
msgstr ""
#: ../source/changelog.md:533
msgid "mondstern from Weblate"
msgstr ""
#: ../source/changelog.md:539
msgid "Version 0.7.14 (2023/03/08)"
msgstr ""
#: ../source/changelog.md:543
msgid "#314 - GPX file is not deleted when the process fails"
msgstr ""
#: ../source/changelog.md:547
msgid "PR#315 - Translations update from Hosted Weblate (Dutch, thanks to @bjornclauw)"
msgstr ""
#: ../source/changelog.md:550
msgid "Version 0.7.13 (2023/03/05)"
msgstr ""
#: ../source/changelog.md:552
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:556
msgid "A user can now request a data export (containing user info, workout data and uploaded gpx files)."
msgstr ""
#: ../source/changelog.md:558
msgid "Lastly, additional information that may be useful to users can be displayed in About page."
msgstr ""
#: ../source/changelog.md:563
msgid "#301 - add privacy policy"
msgstr ""
#: ../source/changelog.md:564
msgid "#304 - add user data export"
msgstr ""
#: ../source/changelog.md:565
msgid "#305 - add additional information in About page"
msgstr ""
#: ../source/changelog.md:569
msgid "PR#307 - Minor fixes"
msgstr ""
#: ../source/changelog.md:570
msgid "update workout and map files name"
msgstr ""
#: ../source/changelog.md:571
msgid "fix error message when api is not running"
msgstr ""
#: ../source/changelog.md:572
msgid "fix modal position"
msgstr ""
#: ../source/changelog.md:576
msgid "PR#297 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:577
msgid "PR#308 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:578
msgid "PR#310 - Translations update from Hosted Weblate (Dutch and German)"
msgstr ""
#: ../source/changelog.md:587
msgid "Version 0.7.12 (2023/02/16)"
msgstr ""
#: ../source/changelog.md:591
msgid "PR#290 - Translations update from Hosted Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:595
msgid "#294 - drop PostgreSQL10 support"
msgstr ""
#: ../source/changelog.md:596
msgid "dependencies update"
msgstr ""
#: ../source/changelog.md:599
msgid "Version 0.7.11 (2022/12/31)"
msgstr ""
#: ../source/changelog.md:603
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:608
msgid "PR#287 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:609
msgid "PR#289 - Translations update from Hosted Weblate (German)"
msgstr ""
#: ../source/changelog.md:618
msgid "Version 0.7.10 (2022/12/21)"
msgstr ""
#: ../source/changelog.md:620
msgid "FitTrackee is now available in Italian (thanks to @dperruso)."
msgstr ""
#: ../source/changelog.md:624
msgid "#92 - Add ascent and descent parameters in workout import without GPX file"
msgstr ""
#: ../source/changelog.md:628
msgid "#279 - [Translation Request] - Italian (thanks to @dperruso)"
msgstr ""
#: ../source/changelog.md:629
msgid "c88a515 - Translations update from Hosted Weblate (Dutch, thanks to @bjornclauw)"
msgstr ""
#: ../source/changelog.md:630
msgid "f96dcef - Translations update (German)"
msgstr ""
#: ../source/changelog.md:635
msgid "Version 0.7.9 (2022/12/11)"
msgstr ""
#: ../source/changelog.md:639
msgid "#280 - New sport: Mountaineering"
msgstr ""
#: ../source/changelog.md:643
msgid "PR#278 - Translations update from Hosted Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:644
msgid "PR#282 - Init italian translation files"
msgstr ""
#: ../source/changelog.md:649
msgid "Version 0.7.8 (2022/11/30)"
msgstr ""
#: ../source/changelog.md:651
msgid "FitTrackee is now available in Dutch (thanks to @bjornclauw)."
msgstr ""
#: ../source/changelog.md:656
msgid "#270 - [translations request] Dutch (Nederlands)"
msgstr ""
#: ../source/changelog.md:659
msgid "Version 0.7.7 (2022/11/27)"
msgstr ""
#: ../source/changelog.md:663
msgid "#258 - Request: parse links in notes area (thanks to @jat255)"
msgstr ""
#: ../source/changelog.md:667
msgid "PR#271 - Fix workouts creation"
msgstr ""
#: ../source/changelog.md:671
msgid "PR#273 - Init Dutch translations files"
msgstr ""
#: ../source/changelog.md:675
msgid "PR#274 - Tests parallelization"
msgstr ""
#: ../source/changelog.md:676
msgid "PR#275 - Disable worker entry point"
msgstr ""
#: ../source/changelog.md:678
msgid "Note: fittrackee_worker command is disabled, please use existing flask-dramatiq CLI (see documentation)"
msgstr ""
#: ../source/changelog.md:680
msgid "Version 0.7.6 (2022/11/09)"
msgstr ""
#: ../source/changelog.md:684
msgid "3c8d9c2 - fix api locale file (remove trailing comma)"
msgstr ""
#: ../source/changelog.md:688
msgid "dev dependencies update"
msgstr ""
#: ../source/changelog.md:691
msgid "Version 0.7.5 (2022/11/09)"
msgstr ""
#: ../source/changelog.md:695
msgid "#264 - UI has white and gray background"
msgstr ""
#: ../source/changelog.md:699
msgid "#266 - Translations update from Hosted Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:702
msgid "Version 0.7.4 (2022/11/05)"
msgstr ""
#: ../source/changelog.md:706
msgid "#260 - Files size is not checked in zip archive"
msgstr ""
#: ../source/changelog.md:707
msgid "#261 - The API should return an error when the number of files in an archive exceeds the limit"
msgstr ""
#: ../source/changelog.md:709
msgid "Note: archive import still needs some improvements (see #89)"
msgstr ""
#: ../source/changelog.md:713
msgid "b1536fc - fix french translations in administration"
msgstr ""
#: ../source/changelog.md:717
msgid "#257 - Add client_max_body_size note to example nginx config"
msgstr ""
#: ../source/changelog.md:719
#: ../source/changelog.md:729
msgid "Thanks to @jat255"
msgstr ""
#: ../source/changelog.md:722
msgid "Version 0.7.3 (2022/11/01)"
msgstr ""
#: ../source/changelog.md:726
msgid "#112 - allow user to change date format"
msgstr ""
#: ../source/changelog.md:727
msgid "#244 - New sport type: \"Virtual Ride\""
msgstr ""
#: ../source/changelog.md:733
msgid "#246 - Add support to PostgreSQL 15"
msgstr ""
#: ../source/changelog.md:734
msgid "#247 - Segments duration is displayed with microseconds"
msgstr ""
#: ../source/changelog.md:738
msgid "PR#252 - init Norwegian Bokmål translations files"
msgstr ""
#: ../source/changelog.md:743
msgid "Version 0.7.2 (2022/09/21)"
msgstr ""
#: ../source/changelog.md:747
msgid "PR#242 - Translations update from Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:750
msgid "Version 0.7.1 (2022/09/21)"
msgstr ""
#: ../source/changelog.md:754
msgid "PR#241 - Add missing password strength estimation package (german)"
msgstr ""
#: ../source/changelog.md:758
msgid "PR#239 - Translations update from Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:759
msgid "cb9d02f - Update OAuth 2.0 translations (English & French)"
msgstr ""
#: ../source/changelog.md:762
msgid "Version 0.7.0 (2022/09/19)"
msgstr ""
#: ../source/changelog.md:766
msgid "#88 - OAuth 2.0 access token for api access"
msgstr ""
#: ../source/changelog.md:767
msgid "#231 - Invalidate token on logout"
msgstr ""
#: ../source/changelog.md:768
msgid "PR#236 - Add API rate limits"
msgstr ""
#: ../source/changelog.md:772
msgid "#232 - Speed chart can not be hidden"
msgstr ""
#: ../source/changelog.md:773
msgid "#237 - Can not edit a workout when notes value is null"
msgstr ""
#: ../source/changelog.md:777
msgid "PR#212 - Translations update from Hosted Weblate (thanks to J. Lavoie)"
msgstr ""
#: ../source/changelog.md:782
msgid "Version 0.6.12 (2022/09/14)"
msgstr ""
#: ../source/changelog.md:784
#: ../source/changelog.md:805
#: ../source/changelog.md:827
#: ../source/changelog.md:850
#: ../source/changelog.md:876
#: ../source/changelog.md:894
#: ../source/changelog.md:918
#: ../source/changelog.md:929
#: ../source/changelog.md:951
#: ../source/changelog.md:963
#: ../source/changelog.md:978
#: ../source/changelog.md:1011
#: ../source/changelog.md:1041
#: ../source/changelog.md:1058
#: ../source/changelog.md:1076
#: ../source/changelog.md:1087
#: ../source/changelog.md:1099
#: ../source/changelog.md:1112
#: ../source/changelog.md:1125
#: ../source/changelog.md:1159
#: ../source/changelog.md:1177
#: ../source/changelog.md:1188
#: ../source/changelog.md:1204
#: ../source/changelog.md:1217
#: ../source/changelog.md:1229
#: ../source/changelog.md:1245
#: ../source/changelog.md:1269
#: ../source/changelog.md:1286
#: ../source/changelog.md:1303
#: ../source/changelog.md:1328
#: ../source/changelog.md:1340
#: ../source/changelog.md:1356
#: ../source/changelog.md:1366
#: ../source/changelog.md:1391
#: ../source/changelog.md:1406
#: ../source/changelog.md:1456
msgid "Issues Closed"
msgstr ""
#: ../source/changelog.md:788
msgid "#230 - Database problem after upgrade to 0.6.11"
msgstr ""
#: ../source/changelog.md:790
#: ../source/changelog.md:811
#: ../source/changelog.md:834
#: ../source/changelog.md:940
#: ../source/changelog.md:989
#: ../source/changelog.md:1017
#: ../source/changelog.md:1047
#: ../source/changelog.md:1142
msgid "Pull Requests"
msgstr ""
#: ../source/changelog.md:794
msgid "#225 - Fix grammar issue"
msgstr ""
#: ../source/changelog.md:796
msgid "Thanks to @Skylan0916"
msgstr ""
#: ../source/changelog.md:798
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:803
msgid "Version 0.6.11 (2022/07/27)"
msgstr ""
#: ../source/changelog.md:809
msgid "#213 - Statistics - When using imperial measurements, ascent/descent should be in ft not mi"
msgstr ""
#: ../source/changelog.md:813
#: ../source/changelog.md:852
#: ../source/changelog.md:920
#: ../source/changelog.md:980
#: ../source/features.rst:2
msgid "Features"
msgstr ""
#: ../source/changelog.md:815
msgid "#223 - Display ascent record icon"
msgstr ""
#: ../source/changelog.md:816
msgid "#167 - Added ascent record to Dashboard"
msgstr ""
#: ../source/changelog.md:817
msgid "#162 - Added total elevation to dashboard"
msgstr ""
#: ../source/changelog.md:819
#: ../source/changelog.md:996
msgid "Thanks to @Fmstrat"
msgstr ""
#: ../source/changelog.md:821
#: ../source/changelog.md:1052
msgid "In this release 1 issue was closed.<br />Note: This release contains database migration (see upgrade instructions in documentation)"
msgstr ""
#: ../source/changelog.md:825
msgid "Version 0.6.10 (2022/07/13)"
msgstr ""
#: ../source/changelog.md:831
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:838
msgid "#209 - Incorrect duration with track containing multiple segments"
msgstr ""
#: ../source/changelog.md:840
msgid "Thanks to @gorgobacka"
msgstr ""
#: ../source/changelog.md:842
#: ../source/changelog.md:900
#: ../source/changelog.md:924
#: ../source/changelog.md:935
#: ../source/changelog.md:969
#: ../source/changelog.md:1036
#: ../source/changelog.md:1082
#: ../source/changelog.md:1183
#: ../source/changelog.md:1199
#: ../source/changelog.md:1240
#: ../source/changelog.md:1275
#: ../source/changelog.md:1362
#: ../source/changelog.md:1401
msgid "In this release 1 issue was closed."
msgstr ""
#: ../source/changelog.md:845
msgid "Version 0.6.9 (2022/07/03)"
msgstr ""
#: ../source/changelog.md:847
msgid "FitTrackee is now available in German (thanks to @gorgobacka).<br />And translations can be updated on Weblate."
msgstr ""
#: ../source/changelog.md:854
msgid "#200 - Detect browser language to use matching translation if available"
msgstr ""
#: ../source/changelog.md:858
msgid "PR#208 - fix order on records cards"
msgstr ""
#: ../source/changelog.md:859
msgid "#201 - html lang attribute is not updated when changing language"
msgstr ""
#: ../source/changelog.md:863
msgid "PR#197 - Translations update from Weblate (French)"
msgstr ""
#: ../source/changelog.md:864
msgid "#196 - Use translation management tool"
msgstr ""
#: ../source/changelog.md:865
msgid "#190 - Add German translation"
msgstr ""
#: ../source/changelog.md:867
#: ../source/changelog.md:1071
#: ../source/changelog.md:1172
msgid "In this release 4 issues were closed."
msgstr ""
#: ../source/changelog.md:870
msgid "@gorgobacka"
msgstr ""
#: ../source/changelog.md:871
msgid "J. Lavoie (from Weblate)"
msgstr ""
#: ../source/changelog.md:874
msgid "Version 0.6.8 (2022/06/22)"
msgstr ""
#: ../source/changelog.md:880
msgid "#193 - Allow deleting a workout when files are missing"
msgstr ""
#: ../source/changelog.md:881
msgid "#192 - Returns 404 instead of 500 when map file not found"
msgstr ""
#: ../source/changelog.md:882
msgid "#191 - Layout issue on Workouts page"
msgstr ""
#: ../source/changelog.md:886
msgid "change gpx and map file naming (included in PR#195)<br />Note: it does not affect previously imported files"
msgstr ""
#: ../source/changelog.md:888
msgid "cc4287e - Fix docker env file"
msgstr ""
#: ../source/changelog.md:890
#: ../source/changelog.md:1120
#: ../source/changelog.md:1212
#: ../source/changelog.md:1311
#: ../source/changelog.md:1351
msgid "In this release 3 issues were closed."
msgstr ""
#: ../source/changelog.md:892
msgid "Version 0.6.7 (2022/06/11)"
msgstr ""
#: ../source/changelog.md:898
msgid "#156 - Process gpx file with offset"
msgstr ""
#: ../source/changelog.md:903
msgid "Version 0.6.6 (2022/05/29)"
msgstr ""
#: ../source/changelog.md:907
msgid "No new features in this release, only dependencies update and code refacto before introducing new features."
msgstr ""
#: ../source/changelog.md:910
msgid "Version 0.6.5 (2022/04/24)"
msgstr ""
#: ../source/changelog.md:912
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:915
msgid "To manage users, a new CLI is available."
msgstr ""
#: ../source/changelog.md:922
msgid "#180 - allow using FitTrackee without SMTP server"
msgstr ""
#: ../source/changelog.md:927
msgid "Version 0.6.4 (2022/04/23)"
msgstr ""
#: ../source/changelog.md:933
msgid "#178 - cannot send email with TLS"
msgstr ""
#: ../source/changelog.md:938
msgid "Version 0.6.3 (2022/04/09)"
msgstr ""
#: ../source/changelog.md:944
msgid "#177 - Minor fixes"
msgstr ""
#: ../source/changelog.md:945
msgid "add missing translation"
msgstr ""
#: ../source/changelog.md:946
msgid "fix 'Add Workout' card position on small screens"
msgstr ""
#: ../source/changelog.md:949
msgid "Version 0.6.2 (2022/04/03)"
msgstr ""
#: ../source/changelog.md:955
msgid "#175 - Distance card on dashboard is not refreshed"
msgstr ""
#: ../source/changelog.md:956
msgid "#173 - link to user profile in workout card is incorrect"
msgstr ""
#: ../source/changelog.md:958
#: ../source/changelog.md:1094
#: ../source/changelog.md:1224
#: ../source/changelog.md:1256
#: ../source/changelog.md:1293
#: ../source/changelog.md:1335
msgid "In this release 2 issues were closed."
msgstr ""
#: ../source/changelog.md:961
msgid "Version 0.6.1 (2022/03/27)"
msgstr ""
#: ../source/changelog.md:967
msgid "#171 - Stats chart is not updated correctly"
msgstr ""
#: ../source/changelog.md:972
msgid "Version 0.6.0 (2022/03/27)"
msgstr ""
#: ../source/changelog.md:974
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:982
msgid "#155 - Improve user registration"
msgstr ""
#: ../source/changelog.md:983
msgid "#106 - Allow user to update email"
msgstr ""
#: ../source/changelog.md:987
msgid "#169 - user picture is not refreshed after update"
msgstr ""
#: ../source/changelog.md:993
msgid "#161 - Minor translation issue on 'Farthest'"
msgstr ""
#: ../source/changelog.md:994
msgid "#160 - Minor translation issue on APP_ERROR"
msgstr ""
#: ../source/changelog.md:998
msgid "In this release 3 issues were closed.<br />Note: This release contains database migration (see upgrade instructions in documentation)"
msgstr ""
#: ../source/changelog.md:1002
msgid "Version 0.5.7 (2022/02/13)"
msgstr ""
#: ../source/changelog.md:1004
msgid "This release contains several fixes including security fixes.<br />Thanks to @DanielSiersleben for the report."
msgstr ""
#: ../source/changelog.md:1007
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:1015
msgid "#149 - improve database initialisation"
msgstr ""
#: ../source/changelog.md:1019
msgid "Security"
msgstr ""
#: ../source/changelog.md:1021
#: ../source/changelog.md:1031
msgid "#152 - Fixes and improvements:"
msgstr ""
#: ../source/changelog.md:1022
msgid "set autoescape on jinja templates"
msgstr ""
#: ../source/changelog.md:1024
msgid "#151 - fix security issues:"
msgstr ""
#: ../source/changelog.md:1025
msgid "sanitize input when serving images"
msgstr ""
#: ../source/changelog.md:1026
msgid "sanitize inputs when serving map tiles"
msgstr ""
#: ../source/changelog.md:1027
msgid "allow only alphanumeric characters and '_' in username"
msgstr ""
#: ../source/changelog.md:1032
msgid "fix dramatiq warning when launching workers w/ script entrypoint"
msgstr ""
#: ../source/changelog.md:1033
msgid "check app config before dropping database, to avoid deleting data on production"
msgstr ""
#: ../source/changelog.md:1034
msgid "remove dotenv warning"
msgstr ""
#: ../source/changelog.md:1039
msgid "Version 0.5.6 (2022/02/05)"
msgstr ""
#: ../source/changelog.md:1045
msgid "#146 - incorrect label on workouts filters"
msgstr ""
#: ../source/changelog.md:1049
msgid "#145 - fix on database models"
msgstr ""
#: ../source/changelog.md:1056
msgid "Version 0.5.5 (2022/01/19)"
msgstr ""
#: ../source/changelog.md:1060
#: ../source/changelog.md:1101
#: ../source/changelog.md:1114
#: ../source/changelog.md:1127
#: ../source/changelog.md:1161
#: ../source/changelog.md:1247
#: ../source/changelog.md:1271
#: ../source/changelog.md:1288
#: ../source/changelog.md:1305
#: ../source/changelog.md:1342
#: ../source/changelog.md:1368
#: ../source/changelog.md:1393
#: ../source/changelog.md:1408
#: ../source/changelog.md:1458
msgid "New Features"
msgstr ""
#: ../source/changelog.md:1062
msgid "#140 - Add a fullscreen control to workout map"
msgstr ""
#: ../source/changelog.md:1063
msgid "#138 - Add control to reset map to initial position"
msgstr ""
#: ../source/changelog.md:1064
msgid "#135 - Start and finish markers"
msgstr ""
#: ../source/changelog.md:1065
msgid "#134 - Wind direction"
msgstr ""
#: ../source/changelog.md:1069
msgid "877fa0f - fix sport icon color (when changed) on calendar on small resolutions"
msgstr ""
#: ../source/changelog.md:1074
msgid "Version 0.5.4 (2022/01/01)"
msgstr ""
#: ../source/changelog.md:1080
msgid "#131 - No workouts displayed on calendar"
msgstr ""
#: ../source/changelog.md:1085
msgid "Version 0.5.3 (2022/01/01)"
msgstr ""
#: ../source/changelog.md:1091
msgid "#129 - Display only active sports when editing a workout"
msgstr ""
#: ../source/changelog.md:1092
msgid "#127 - parse_email_url() can't validate a legitimate EMAIL_URI such as \"smtp://localhost:25\""
msgstr ""
#: ../source/changelog.md:1097
msgid "Version 0.5.2 (2021/12/19)"
msgstr ""
#: ../source/changelog.md:1103
msgid "#123 - Allow user to reset preferences for a sport"
msgstr ""
#: ../source/changelog.md:1104
msgid "#121 - Add activity : snowshoes"
msgstr ""
#: ../source/changelog.md:1106
msgid "In this release 2 issues were closed.<br />Note: This release contains database migration."
msgstr ""
#: ../source/changelog.md:1110
msgid "Version 0.5.1 (2021/11/30)"
msgstr ""
#: ../source/changelog.md:1116
msgid "#116 - Better UI for Speed and Elevation buttons in the graph of the Workout screen"
msgstr ""
#: ../source/changelog.md:1117
msgid "#115 - Add option to download the GPX file of a Workout"
msgstr ""
#: ../source/changelog.md:1118
msgid "#5 - Display a chart with average speed"
msgstr ""
#: ../source/changelog.md:1123
msgid "Version 0.5.0 (2021/11/14)"
msgstr ""
#: ../source/changelog.md:1129
msgid "#99 - Display workout with imperial units"
msgstr ""
#: ../source/changelog.md:1130
msgid "#91 - Display elevation chart with min and max altitude of workout"
msgstr ""
#: ../source/changelog.md:1131
msgid "#90 - Add user sports preferences"
msgstr ""
#: ../source/changelog.md:1132
msgid "#18 - Better UI"
msgstr ""
#: ../source/changelog.md:1136
msgid "#95 - Some workouts seem to be missing on statistics chart"
msgstr ""
#: ../source/changelog.md:1140
msgid "#104 - Switch to AGPLv3 license"
msgstr ""
#: ../source/changelog.md:1144
msgid "#101 - Docker updates for full files"
msgstr ""
#: ../source/changelog.md:1145
msgid "#100 - Add client application in docker for development"
msgstr ""
#: ../source/changelog.md:1146
msgid "#98/#109 - Added stopped_speed_threshold to support slow movement"
msgstr ""
#: ../source/changelog.md:1147
msgid "#84/#93 - Add elevation data and new sports"
msgstr ""
#: ../source/changelog.md:1149
msgid "In this release 6 issues were closed.<br />Note: This release contains database migrations."
msgstr ""
#: ../source/changelog.md:1153
msgid "@Fmstrat"
msgstr ""
#: ../source/changelog.md:1154
msgid "@paf38"
msgstr ""
#: ../source/changelog.md:1157
msgid "Version 0.4.9 (2021/07/16)"
msgstr ""
#: ../source/changelog.md:1163
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:1165
msgid "#81 - display remaining characters in textarea"
msgstr ""
#: ../source/changelog.md:1169
msgid "#82 - a user can not modify his birth day"
msgstr ""
#: ../source/changelog.md:1170
msgid "#80 - can not save notes with control characters"
msgstr ""
#: ../source/changelog.md:1175
msgid "Version 0.4.8 (2021/07/03)"
msgstr ""
#: ../source/changelog.md:1181
msgid "#79 - Fails to start after make rebuild"
msgstr ""
#: ../source/changelog.md:1186
msgid "Version 0.4.7 (2021/04/07)"
msgstr ""
#: ../source/changelog.md:1192
msgid "#75 - Workouts on the same day are not displayed in right order"
msgstr ""
#: ../source/changelog.md:1196
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:1202
msgid "Version 0.4.6 (2021/02/21)"
msgstr ""
#: ../source/changelog.md:1208
msgid "#72 - Error message when file exceeding size is incorrect"
msgstr ""
#: ../source/changelog.md:1209
msgid "#71 - max size or max number of files must be greater than 0"
msgstr ""
#: ../source/changelog.md:1210
msgid "#70 - max size for an archive must not be less than uploaded files max size"
msgstr ""
#: ../source/changelog.md:1215
msgid "Version 0.4.5 (2021/02/17)"
msgstr ""
#: ../source/changelog.md:1221
msgid "#66 - invalid gpx limit used when importing zip archive"
msgstr ""
#: ../source/changelog.md:1222
msgid "#64 - Only 50 workouts per month shown in calendar"
msgstr ""
#: ../source/changelog.md:1227
msgid "Version 0.4.4 (2021/01/31)"
msgstr ""
#: ../source/changelog.md:1233
msgid "#62 - Error when sending reset password email"
msgstr ""
#: ../source/changelog.md:1237
msgid "Refactoring before introducing new features."
msgstr ""
#: ../source/changelog.md:1238
msgid "Add docker files for evaluation purposes."
msgstr ""
#: ../source/changelog.md:1243
msgid "Version 0.4.3 (2021/01/10)"
msgstr ""
#: ../source/changelog.md:1249
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:1254
msgid "#59 - No message displayed on uploading image error"
msgstr ""
#: ../source/changelog.md:1259
msgid "Version 0.4.2 (2021/01/03)"
msgstr ""
#: ../source/changelog.md:1263
msgid "No new features in this release, only some refactorings before introducing new features."
msgstr ""
#: ../source/changelog.md:1267
msgid "Version 0.4.1 (2020/12/31)"
msgstr ""
#: ../source/changelog.md:1273
msgid "#57 - Use uuid for activities"
msgstr ""
#: ../source/changelog.md:1278
msgid "Version 0.4.0 - FitTrackee on PyPI (2020/09/19)"
msgstr ""
#: ../source/changelog.md:1280
#: ../source/changelog.md:1298
msgid "This version introduces some major changes:"
msgstr ""
#: ../source/changelog.md:1281
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:1283
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:1290
msgid "#54 - Tile server can be changed"
msgstr ""
#: ../source/changelog.md:1291
msgid "#53 - Simplify FitTrackee installation"
msgstr ""
#: ../source/changelog.md:1296
msgid "Version 0.3.0 - Administration (2020/07/15)"
msgstr ""
#: ../source/changelog.md:1299
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:1301
msgid "in order to send emails, Redis is now a mandatory dependency"
msgstr ""
#: ../source/changelog.md:1307
msgid "#50 - A user can reset his password"
msgstr ""
#: ../source/changelog.md:1308
msgid "#17 - A user can delete his account"
msgstr ""
#: ../source/changelog.md:1309
msgid "#15 - Complete the administration"
msgstr ""
#: ../source/changelog.md:1314
msgid "Version 0.2.5 - Fix and improvements (2020/01/31)"
msgstr ""
#: ../source/changelog.md:1318
msgid "This version contains minor fix and improvements on client side:"
msgstr ""
#: ../source/changelog.md:1319
msgid "4c3fc34 - empty user data on logout"
msgstr ""
#: ../source/changelog.md:1320
msgid "34614d5 - add spinner on loading activities"
msgstr ""
#: ../source/changelog.md:1321
msgid "b862a77, 2e1ee2c - add URL interceptors to simplify routes definition"
msgstr ""
#: ../source/changelog.md:1326
msgid "Version 0.2.4 - Minor fix (2020/01/30)"
msgstr ""
#: ../source/changelog.md:1332
msgid "#47 - timezone drop-down is not displayed correctly"
msgstr ""
#: ../source/changelog.md:1333
msgid "#46 - calendar cannot display more than 5 or 6 activities on the same day"
msgstr ""
#: ../source/changelog.md:1338
msgid "Version 0.2.3 - FitTrackee available in French (2019/12/29)"
msgstr ""
#: ../source/changelog.md:1344
msgid "#43 - Display weekend days with a different background color on calendar"
msgstr ""
#: ../source/changelog.md:1345
msgid "#40 - Localize FitTrackee (i18n)"
msgstr ""
#: ../source/changelog.md:1349
msgid "#44 - Cannot edit an activity that does not have a gpx file"
msgstr ""
#: ../source/changelog.md:1354
msgid "Version 0.2.2 - Statistics fix (2019/09/23)"
msgstr ""
#: ../source/changelog.md:1360
msgid "#41 - User statistics are incorrect"
msgstr ""
#: ../source/changelog.md:1364
msgid "Version 0.2.1 - Fix and improvements (2019/09/01)"
msgstr ""
#: ../source/changelog.md:1370
msgid "#4 - Show points on the map when mouse over the chart"
msgstr ""
#: ../source/changelog.md:1371
msgid "#14 - Display segments informations"
msgstr ""
#: ../source/changelog.md:1372
msgid "#21 - Document the API"
msgstr ""
#: ../source/changelog.md:1373
msgid "#23 - The user can choose the first day of the week"
msgstr ""
#: ../source/changelog.md:1374
msgid "#36 - Disable user registration"
msgstr ""
#: ../source/changelog.md:1375
msgid "#33 - Add file size limit on file upload"
msgstr ""
#: ../source/changelog.md:1376
msgid "#37 - Display map on activities list"
msgstr ""
#: ../source/changelog.md:1380
msgid "#34 - Weather is not displayed anymore"
msgstr ""
#: ../source/changelog.md:1384
msgid "Poetry replaces pipenv for Python packages management"
msgstr ""
#: ../source/changelog.md:1386
msgid "In this release 8 issues were closed."
msgstr ""
#: ../source/changelog.md:1389
msgid "Version 0.2.0 - Statistics (2019/07/07)"
msgstr ""
#: ../source/changelog.md:1395
msgid "#13 - Detailed statistics"
msgstr ""
#: ../source/changelog.md:1399
msgid "Update dependencies"
msgstr ""
#: ../source/changelog.md:1404
msgid "Version 0.1.1 - Fix and improvements (2019/02/07)"
msgstr ""
#: ../source/changelog.md:1410
msgid "#25 - Display records on calendar"
msgstr ""
#: ../source/changelog.md:1411
msgid "#22 - Add a total on current month statistics"
msgstr ""
#: ../source/changelog.md:1415
msgid "#31 - Use moving duration for stats"
msgstr ""
#: ../source/changelog.md:1416
msgid "#29 - Pause duration calculation with segments"
msgstr ""
#: ../source/changelog.md:1417
msgid "#28 - Error on uploading gpx file"
msgstr ""
#: ../source/changelog.md:1418
msgid "#26 - Total is incorrect in tooltip when duration is displayed"
msgstr ""
#: ../source/changelog.md:1419
msgid "#24 - Some distances are not displayed correctly on current month statistics"
msgstr ""
#: ../source/changelog.md:1421
msgid "In this release 7 issues were closed."
msgstr ""
#: ../source/changelog.md:1424
msgid "Version 0.1.0 - First release 🎉 (2018-07-04)"
msgstr ""
#: ../source/changelog.md:1426
msgid "Features:"
msgstr ""
#: ../source/changelog.md:1427
msgid "Account creation (only standard user, not admin)"
msgstr ""
#: ../source/changelog.md:1428
msgid "6 sports supported:"
msgstr ""
#: ../source/changelog.md:1429
#: ../source/features.rst:15
msgid "Cycling (Sport)"
msgstr ""
#: ../source/changelog.md:1430
#: ../source/features.rst:16
msgid "Cycling (Transport)"
msgstr ""
#: ../source/changelog.md:1431
#: ../source/features.rst:19
#: ../source/features.rst:34
msgid "Hiking"
msgstr ""
#: ../source/changelog.md:1432
#: ../source/features.rst:20
msgid "Mountain Biking"
msgstr ""
#: ../source/changelog.md:1433
#: ../source/features.rst:26
msgid "Running"
msgstr ""
#: ../source/changelog.md:1434
#: ../source/features.rst:31
#: ../source/features.rst:41
msgid "Walking"
msgstr ""
#: ../source/changelog.md:1435
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:1436
msgid "Activity edition and deletion"
msgstr ""
#: ../source/changelog.md:1437
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:1438
msgid "A user can add a note"
msgstr ""
#: ../source/changelog.md:1439
msgid "Month calendar with activities"
msgstr ""
#: ../source/changelog.md:1440
msgid "Current month statistics"
msgstr ""
#: ../source/changelog.md:1441
msgid "Records by sports:"
msgstr ""
#: ../source/changelog.md:1442
#: ../source/features.rst:73
#: ../source/features.rst:89
#: ../source/features.rst:95
msgid "average speed"
msgstr ""
#: ../source/changelog.md:1443
#: ../source/features.rst:74
msgid "farthest distance"
msgstr ""
#: ../source/changelog.md:1444
#: ../source/features.rst:76
msgid "longest duration"
msgstr ""
#: ../source/changelog.md:1445
#: ../source/features.rst:77
#: ../source/features.rst:90
msgid "maximum speed"
msgstr ""
#: ../source/changelog.md:1446
msgid "Activities list and search"
msgstr ""
#: ../source/changelog.md:1449
msgid "Notes:"
msgstr ""
#: ../source/changelog.md:1450
msgid "only activity owner can see his activity"
msgstr ""
#: ../source/changelog.md:1451
msgid "no administration for now"
msgstr ""
#: ../source/changelog.md:1453
msgid "➡️ more informations: see documentation and current issues"
msgstr ""
#: ../source/changelog.md:1460
msgid "#11 - Timezone support"
msgstr ""
#: ../source/changelog.md:1461
msgid "#10 - Add a note to an activity"
msgstr ""
#: ../source/changelog.md:1462
msgid "#9 - User statistics on dashboard"
msgstr ""
#: ../source/changelog.md:1463
msgid "#8 - Add weather to activities"
msgstr ""
#: ../source/changelog.md:1464
msgid "#3 - Search filter for activities"
msgstr ""
#: ../source/changelog.md:1465
msgid "#2 - Calendar to view activities"
msgstr ""
#: ../source/changelog.md:1467
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:31
msgid "17 sports are supported:"
msgstr ""
#: ../source/features.rst:17
msgid "Cycling (Trekking) (*new in 0.7.27*)"
msgstr ""
#: ../source/features.rst:18
msgid "Cycling (Virtual) (*new in 0.7.3*)"
msgstr ""
#: ../source/features.rst:21
msgid "Mountain Biking (Electric) (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:22
msgid "Mountaineering (*new in 0.7.9*)"
msgstr ""
#: ../source/features.rst:23
msgid "Open Water Swimming (*new in 0.7.20*)"
msgstr ""
#: ../source/features.rst:24
msgid "Paragliding (*new in 0.7.19*)"
msgstr ""
#: ../source/features.rst:25
msgid "Rowing (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:27
msgid "Skiing (Alpine) (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:28
msgid "Skiing (Cross Country) (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:29
msgid "Snowshoes (*new in 0.5.2*)"
msgstr ""
#: ../source/features.rst:30
msgid "Trail (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:41
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:35
msgid "Mountaineering"
msgstr ""
#: ../source/features.rst:36
msgid "Open Water Swimming"
msgstr ""
#: ../source/features.rst:37
msgid "Paragliding"
msgstr ""
#: ../source/features.rst:38
msgid "Skiing (Cross Country)"
msgstr ""
#: ../source/features.rst:39
msgid "Snowshoes"
msgstr ""
#: ../source/features.rst:40
msgid "Trail"
msgstr ""
#: ../source/features.rst:44
msgid "It can be overridden in user preferences."
msgstr ""
#: ../source/features.rst:47
msgid "Except the stopped speed threshold, all sports are analyzed in the same way (no specificity taken into account for the moment)."
msgstr ""
#: ../source/features.rst:49
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:50
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 (if the gpx file contains elevation data, *updated in 0.7.20*))."
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:62
msgid "Segments can be displayed."
msgstr ""
#: ../source/features.rst:63
msgid "Workout gpx file can be downloaded (*new in 0.5.1*)"
msgstr ""
#: ../source/features.rst:64
msgid "Workout edition and deletion. User can add a note."
msgstr ""
#: ../source/features.rst:70
msgid "User statistics, by time period (week, month, year) and sport:"
msgstr ""
#: ../source/features.rst:66
msgid "total distance"
msgstr ""
#: ../source/features.rst:67
msgid "total duration"
msgstr ""
#: ../source/features.rst:68
msgid "total workouts"
msgstr ""
#: ../source/features.rst:69
msgid "total ascent (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:70
msgid "total descent (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:71
msgid "average speed (*new in 0.5.1*)"
msgstr ""
#: ../source/features.rst:77
msgid "User records by sports:"
msgstr ""
#: ../source/features.rst:75
msgid "highest ascent (*new in 0.6.11*, can be hidden, see user preferences)"
msgstr ""
#: ../source/features.rst:80
msgid "Records may differ from records displayed by the application that originally generated the gpx files."
msgstr ""
#: ../source/features.rst:95
msgid "Workouts list."
msgstr ""
#: ../source/features.rst:89
msgid "The user can filter workouts on:"
msgstr ""
#: ../source/features.rst:84
#: ../source/features.rst:92
msgid "date"
msgstr ""
#: ../source/features.rst:85
msgid "sports (only sports with workouts are displayed in sport dropdown)"
msgstr ""
#: ../source/features.rst:86
msgid "title (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:87
#: ../source/features.rst:93
msgid "distance"
msgstr ""
#: ../source/features.rst:88
#: ../source/features.rst:94
msgid "duration"
msgstr ""
#: ../source/features.rst:95
msgid "Workouts can be sorted by:"
msgstr ""
#: ../source/features.rst:98
msgid "For now, only the owner of the workout can see it."
msgstr ""
#: ../source/features.rst:102
msgid "Account & preferences"
msgstr ""
#: ../source/features.rst:103
msgid "A user can create, update and deleted his account."
msgstr ""
#: ../source/features.rst:104
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:105
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:106
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:110
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:112
msgid "A user can set language, timezone and first day of week."
msgstr ""
#: ../source/features.rst:113
msgid "A user can set the interface theme (light, dark or according to browser preferences) (*new in 0.7.27*)."
msgstr ""
#: ../source/features.rst:114
msgid "A user can reset his password (*new in 0.3.0*)"
msgstr ""
#: ../source/features.rst:115
msgid "A user can change his email address (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:116
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:117
msgid "A user can choose to display or hide ascent records and total on Dashboard (*new in 0.6.11*)"
msgstr ""
#: ../source/features.rst:118
msgid "A user can choose format used to display dates (*new in 0.7.3*)"
msgstr ""
#: ../source/features.rst:119
msgid "A user can choose elevation chart axis start: zero or minimum altitude (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:120
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:123
msgid "Changing this preference will only affect next file uploads."
msgstr ""
#: ../source/features.rst:128
msgid "A user can set sport preferences (*new in 0.5.0*):"
msgstr ""
#: ../source/features.rst:126
msgid "change sport color (used for sport image and charts)"
msgstr ""
#: ../source/features.rst:127
msgid "can override stopped speed threshold (for next uploaded gpx files)"
msgstr ""
#: ../source/features.rst:128
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:135
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:140
msgid "For now, it's not possible to import these files into another **FitTrackee** instance."
msgstr ""
#: ../source/features.rst:144
#: ../source/features.rst:249
msgid "Administration"
msgstr ""
#: ../source/features.rst:145
msgid "(*new in 0.3.0*)"
msgstr ""
#: ../source/features.rst:148
msgid "Application"
msgstr ""
#: ../source/features.rst:150
msgid "**Configuration**"
msgstr ""
#: ../source/features.rst:152
msgid "The following parameters can be set:"
msgstr ""
#: ../source/features.rst:154
msgid "active users limit. If 0, registration is enabled (no limit defined)."
msgstr ""
#: ../source/features.rst:155
msgid "maximum size of gpx file (individually uploaded or in a zip archive) (*changed in 0.7.4*)"
msgstr ""
#: ../source/features.rst:156
msgid "maximum size of zip archive"
msgstr ""
#: ../source/features.rst:157
msgid "maximum number of files in the zip archive (*changed in 0.7.4*)"
msgstr ""
#: ../source/features.rst:158
msgid "administrator email for contact (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:161
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:164
msgid "If email sending is disabled, a warning is displayed."
msgstr ""
#: ../source/features.rst:166
msgid "**About**"
msgstr ""
#: ../source/features.rst:168
#: ../source/features.rst:176
msgid "(*new in 0.7.13*)"
msgstr ""
#: ../source/features.rst:170
msgid "It is possible displayed additional information that may be useful to users in **About** page."
msgstr ""
#: ../source/features.rst:171
msgid "Markdown syntax can be used."
msgstr ""
#: ../source/features.rst:174
msgid "**Privacy policy**"
msgstr ""
#: ../source/features.rst:178
msgid "A default privacy policy is available (originally adapted from the `Discourse <https://github.com/discourse/discourse>`__ privacy policy)."
msgstr ""
#: ../source/features.rst:179
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:182
msgid "Only the default privacy policy is translated (if the translation is available)."
msgstr ""
#: ../source/features.rst:187
msgid "display and filter users list"
msgstr ""
#: ../source/features.rst:188
msgid "edit a user to:"
msgstr ""
#: ../source/features.rst:190
msgid "add/remove administration rights"
msgstr ""
#: ../source/features.rst:191
msgid "activate his account (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:192
msgid "update his email (in case his account is locked) (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:193
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:194
msgid "delete a user"
msgstr ""
#: ../source/features.rst:199
msgid "enable or disable a sport (a sport can be disabled even if workout with this sport exists)"
msgstr ""
#: ../source/features.rst:204
msgid "FitTrackee is available in the following languages (which can be saved in the user preferences):"
msgstr ""
#: ../source/features.rst:206
msgid "English"
msgstr ""
#: ../source/features.rst:207
msgid "French (*new in 0.2.3*)"
msgstr ""
#: ../source/features.rst:208
msgid "German (*new in 0.6.9*)"
msgstr ""
#: ../source/features.rst:209
msgid "Dutch (*new in 0.7.8*)"
msgstr ""
#: ../source/features.rst:210
msgid "Italian (*new in 0.7.10*)"
msgstr ""
#: ../source/features.rst:211
msgid "Galician (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:212
msgid "Spanish (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:213
msgid "Norwegian Bokmål (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:214
msgid "Polish (*new in 0.7.18*)"
msgstr ""
#: ../source/features.rst:216
msgid "Application translations status on `Weblate <https://hosted.weblate.org/engage/fittrackee/>`__ (may differ from the released version):"
msgstr ""
#: ../source/features.rst:222
msgid "Screenshots"
msgstr ""
#: ../source/features.rst:225
msgid "Dashboard"
msgstr ""
#: ../source/features.rst:-1
#: ../source/index.rst:-1
msgid "FitTrackee Dashboard"
msgstr ""
#: ../source/features.rst:232
msgid "Workout detail"
msgstr ""
#: ../source/features.rst:-1
msgid "FitTrackee Workout"
msgstr ""
#: ../source/features.rst:238
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 "\\* `OpenTracks <https://github.com/OpenTracksApp/OpenTracks>`_ (Apache License)"
msgstr ""
#: ../source/index.rst:15
msgid "\\* `FitoTrack <https://codeberg.org/jannis/FitoTrack>`_ (GPL v3)"
msgstr ""
#: ../source/index.rst:18
msgid "Maps are displayed using `Open Street Map <https://www.openstreetmap.org>`__."
msgstr ""
#: ../source/index.rst:19
msgid "It is also possible to add a workout without a gpx file."
msgstr ""
#: ../source/index.rst:21
msgid "**Still under heavy development (some features may be unstable).**"
msgstr ""
#: ../source/index.rst:22
msgid "(see `issues <https://github.com/SamR1/FitTrackee/issues>`__ for more information)"
msgstr ""
#: ../source/index.rst:29
msgid "Table of contents"
msgstr ""
#: ../source/installation.rst:2
#: ../source/installation.rst:384
#: ../source/installation.rst:817
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.1"
msgstr ""
#: ../source/installation.rst:26
msgid "PostgreSQL 12+"
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>`__ 18+ 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:207
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:195
#: ../source/installation.rst:326
msgid "The default URL is updated: **OpenStreetMap**'s tile server no longer requires subdomains."
msgstr ""
#: ../source/installation.rst:197
msgid "``https://tile.openstreetmap.org/{z}/{x}/{y}.png``"
msgstr ""
#: ../source/installation.rst:204
msgid "Some tile servers require a subdomain, see `Map tile server <installation.html#map-tile-server>`__."
msgstr ""
#: ../source/installation.rst:205
msgid "For instance: \"a,b,c\" for OSM France."
msgstr ""
#: ../source/installation.rst:214
msgid "Map attribution (if using another tile server), see `Map tile server <installation.html#map-tile-server>`__."
msgstr ""
#: ../source/installation.rst:216
msgid "``&copy; <a href=\"http://www.openstreetmap.org/copyright\" target=\"_blank\" rel=\"noopener noreferrer\">OpenStreetMap</a> contributors``"
msgstr ""
#: ../source/installation.rst:223
msgid "If ``True``, it keeps using **staticmap** default tile server to generate static maps (OSM tile server since **staticmap** 0.5.6 (Komoot.de tile server before this version))."
msgstr ""
#: ../source/installation.rst:224
msgid "Otherwise, it uses the tile server set in `TILE_SERVER_URL <installation.html#envvar-TILE_SERVER_URL>`__."
msgstr ""
#: ../source/installation.rst:228
msgid "This variable is now case-insensitive."
msgstr ""
#: ../source/installation.rst:229
msgid "If ``False``, depending on tile server, `subdomains <installation.html#envvar-STATICMAP_SUBDOMAINS>`__ may be mandatory."
msgstr ""
#: ../source/installation.rst:231
msgid "``False``"
msgstr ""
#: ../source/installation.rst:236
msgid "⚠️ replaces ``WEATHER_API``"
msgstr ""
#: ../source/installation.rst:238
msgid "Weather API key (not mandatory), see ``WEATHER_API_PROVIDER``."
msgstr ""
#: ../source/installation.rst:245
msgid "Provider for weather data (not mandatory), see `Weather data <installation.html#weather-data>`__."
msgstr ""
#: ../source/installation.rst:250
msgid "⚠️ replaces ``VUE_APP_API_URL``"
msgstr ""
#: ../source/installation.rst:255
msgid "Emails"
msgstr ""
#: ../source/installation.rst:258
msgid "To send emails, a valid ``EMAIL_URL`` must be provided:"
msgstr ""
#: ../source/installation.rst:260
msgid "with an unencrypted SMTP server: ``smtp://username:password@smtp.example.com:25``"
msgstr ""
#: ../source/installation.rst:261
msgid "with SSL: ``smtp://username:password@smtp.example.com:465/?ssl=True``"
msgstr ""
#: ../source/installation.rst:262
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:270
msgid "Credentials can be omitted: ``smtp://smtp.example.com:25``."
msgstr ""
#: ../source/installation.rst:271
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:276
msgid "Emails sent by FitTrackee are:"
msgstr ""
#: ../source/installation.rst:278
msgid "account confirmation instructions"
msgstr ""
#: ../source/installation.rst:279
msgid "password reset request"
msgstr ""
#: ../source/installation.rst:280
msgid "email change (to old and new email addresses)"
msgstr ""
#: ../source/installation.rst:281
msgid "password change"
msgstr ""
#: ../source/installation.rst:282
msgid "notification when a data export archive is ready to download (*new in 0.7.13*)"
msgstr ""
#: ../source/installation.rst:286
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:288
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:292
msgid "Password can be encoded if it contains special characters. For instance with password ``passwordwith@and&and?``, the encoded password will be: ``passwordwith%40and%26and%3F``."
msgstr ""
#: ../source/installation.rst:297
msgid "Map tile server"
msgstr ""
#: ../source/installation.rst:300
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:303
msgid "To keep using **ThunderForest Outdoors**, the configuration is:"
msgstr ""
#: ../source/installation.rst:305
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:306
msgid "``MAP_ATTRIBUTION=&copy; <a href=\"http://www.thunderforest.com/\">Thunderforest</a>, &copy; <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:314
msgid "Since the tile server can be used for static map generation, some servers require a subdomain."
msgstr ""
#: ../source/installation.rst:316
msgid "For instance, to set OSM France tile server, the expected values are:"
msgstr ""
#: ../source/installation.rst:318
msgid "``TILE_SERVER_URL=https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png``"
msgstr ""
#: ../source/installation.rst:319
msgid "``MAP_ATTRIBUTION='fond de carte par <a href=\"http://www.openstreetmap.fr/mentions-legales/\" target=\"_blank\" rel=\"nofollow noopener\">OpenStreetMap France</a>, sous&nbsp;<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:320
msgid "``STATICMAP_SUBDOMAINS=a,b,c``"
msgstr ""
#: ../source/installation.rst:322
msgid "The subdomain will be chosen randomly."
msgstr ""
#: ../source/installation.rst:330
msgid "API rate limits"
msgstr ""
#: ../source/installation.rst:333
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:334
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:339
msgid "All endpoints are subject to rate limits, except endpoints serving assets."
msgstr ""
#: ../source/installation.rst:340
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:341
msgid "Rate limits must be separated by a comma, for instance:"
msgstr ""
#: ../source/installation.rst:347
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:366
msgid "Weather data"
msgstr ""
#: ../source/installation.rst:369
msgid "The following weather data providers are supported by **FitTrackee**:"
msgstr ""
#: ../source/installation.rst:371
msgid "`Visual Crossing <https://www.visualcrossing.com>`__ (**note**: historical data are provided on hourly period)"
msgstr ""
#: ../source/installation.rst:373
msgid "To configure a weather provider, set the following environment variables:"
msgstr ""
#: ../source/installation.rst:375
msgid "``WEATHER_API_KEY``: the key to the corresponding weather provider"
msgstr ""
#: ../source/installation.rst:380
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:390
#: ../source/installation.rst:580
msgid "From PyPI"
msgstr ""
#: ../source/installation.rst:0
msgid "Recommended way on production."
msgstr ""
#: ../source/installation.rst:395
msgid "Create and activate a virtualenv"
msgstr ""
#: ../source/installation.rst:397
msgid "Install **FitTrackee** with pip"
msgstr ""
#: ../source/installation.rst:403
msgid "Create ``fittrackee`` database"
msgstr ""
#: ../source/installation.rst:405
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:416
msgid "Initialize environment variables, see `Environment variables <installation.html#environment-variables>`__"
msgstr ""
#: ../source/installation.rst:418
msgid "For instance, copy and update ``.env`` file from ``.env.example`` and source the file."
msgstr ""
#: ../source/installation.rst:425
msgid "Initialize database schema"
msgstr ""
#: ../source/installation.rst:431
msgid "Start the application"
msgstr ""
#: ../source/installation.rst:437
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:446
#: ../source/installation.rst:555
msgid "Open http://localhost:5000 and register"
msgstr ""
#: ../source/installation.rst:448
#: ../source/installation.rst:506
#: ../source/installation.rst:557
#: ../source/installation.rst:842
msgid "To set admin rights to the newly created account, use the following command line:"
msgstr ""
#: ../source/installation.rst:455
#: ../source/installation.rst:513
#: ../source/installation.rst:564
#: ../source/installation.rst:849
msgid "If the user account is inactive, it activates it."
msgstr ""
#: ../source/installation.rst:458
#: ../source/installation.rst:607
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:472
#: ../source/installation.rst:610
msgid "Dev environment"
msgstr ""
#: ../source/installation.rst:474
msgid "Clone this repo:"
msgstr ""
#: ../source/installation.rst:481
#: ../source/installation.rst:530
msgid "Create **.env** from example and update it (see `Environment variables <installation.html#environment-variables>`__)."
msgstr ""
#: ../source/installation.rst:484
msgid "Install Python virtualenv, Vue and all related packages and initialize the database:"
msgstr ""
#: ../source/installation.rst:492
msgid "Start the server and the client:"
msgstr ""
#: ../source/installation.rst:498
#: ../source/installation.rst:638
msgid "Run dramatiq workers:"
msgstr ""
#: ../source/installation.rst:504
msgid "Open http://localhost:3000 and register"
msgstr ""
#: ../source/installation.rst:516
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:521
msgid "Download the last release (for now, it is the release v0.7.30):"
msgstr ""
#: ../source/installation.rst:533
msgid "Install Python virtualenv and all related packages:"
msgstr ""
#: ../source/installation.rst:539
msgid "Initialize the database (**after updating** ``db/create.sql`` **to change database credentials**):"
msgstr ""
#: ../source/installation.rst:546
msgid "Start the server and dramatiq workers:"
msgstr ""
#: ../source/installation.rst:553
#: ../source/installation.rst:681
msgid "If email sending is disabled: ``$ make run-server``"
msgstr ""
#: ../source/installation.rst:567
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:576
msgid "For now, releases do not follow `semantic versioning <https://semver.org>`__). Any version may contain backward-incompatible changes."
msgstr ""
#: ../source/installation.rst:582
msgid "Stop the application and activate the virtualenv"
msgstr ""
#: ../source/installation.rst:584
msgid "Upgrade with pip"
msgstr ""
#: ../source/installation.rst:590
msgid "Update environment variables if needed and source environment variables file"
msgstr ""
#: ../source/installation.rst:597
#: ../source/installation.rst:626
#: ../source/installation.rst:668
msgid "Upgrade database if needed (see changelog for migrations):"
msgstr ""
#: ../source/installation.rst:603
msgid "Restart the application and task queue workers (if email sending is enabled)."
msgstr ""
#: ../source/installation.rst:612
msgid "Stop the application and pull the repository:"
msgstr ""
#: ../source/installation.rst:618
#: ../source/installation.rst:660
msgid "Update **.env** if needed (see `Environment variables <installation.html#environment-variables>`__)."
msgstr ""
#: ../source/installation.rst:620
#: ../source/installation.rst:662
msgid "Upgrade packages:"
msgstr ""
#: ../source/installation.rst:632
msgid "Restart the server:"
msgstr ""
#: ../source/installation.rst:645
msgid "Prod environment"
msgstr ""
#: ../source/installation.rst:647
msgid "Stop the application"
msgstr ""
#: ../source/installation.rst:649
msgid "Change to the directory where FitTrackee directory is located"
msgstr ""
#: ../source/installation.rst:651
msgid "Download the last release (for now, it is the release v0.7.30) and overwrite existing files:"
msgstr ""
#: ../source/installation.rst:674
msgid "Restart the server and dramatiq workers:"
msgstr ""
#: ../source/installation.rst:684
msgid "Deployment"
msgstr ""
#: ../source/installation.rst:686
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:690
msgid "Examples (to adapt depending on your instance configuration and operating system):"
msgstr ""
#: ../source/installation.rst:692
msgid "for application: ``fittrackee.service``"
msgstr ""
#: ../source/installation.rst:732
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:735
msgid "More information on deployment with Gunicorn in its `documentation <https://docs.gunicorn.org/en/stable/deploy.html>`__."
msgstr ""
#: ../source/installation.rst:737
msgid "for task queue workers: ``fittrackee_workers.service``"
msgstr ""
#: ../source/installation.rst:772
msgid "**Nginx** configuration:"
msgstr ""
#: ../source/installation.rst:810
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:814
msgid "Docker"
msgstr ""
#: ../source/installation.rst:821
msgid "For **evaluation** purposes, docker files are available, installing **FitTrackee** from **sources**."
msgstr ""
#: ../source/installation.rst:823
msgid "To install **FitTrackee**:"
msgstr ""
#: ../source/installation.rst:832
msgid "To initialise database:"
msgstr ""
#: ../source/installation.rst:838
msgid "Open http://localhost:5000 and register."
msgstr ""
#: ../source/installation.rst:840
msgid "Open http://localhost:8025 to access `MailHog interface <https://github.com/mailhog/MailHog>`_ (email testing tool)"
msgstr ""
#: ../source/installation.rst:851
msgid "To stop **Fittrackee**:"
msgstr ""
#: ../source/installation.rst:857
msgid "To start **Fittrackee** (application and dramatiq workers):"
msgstr ""
#: ../source/installation.rst:864
msgid "To run shell inside **Fittrackee** container:"
msgstr ""
#: ../source/installation.rst:872
msgid "Development"
msgstr ""
#: ../source/installation.rst:876
msgid "an additional step is needed to install ``fittrackee_client``"
msgstr ""
#: ../source/installation.rst:882
msgid "to start **FitTrackee** with client dev tools:"
msgstr ""
#: ../source/installation.rst:888
msgid "Open http://localhost:3000"
msgstr ""
#: ../source/installation.rst:891
msgid "Some environment variables need to be updated like ``UI_URL``"
msgstr ""
#: ../source/installation.rst:893
msgid "to run lint or tests:"
msgstr ""
#: ../source/installation.rst:904
msgid "Yunohost"
msgstr ""
#: ../source/installation.rst:906
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 ""