FitTrackee/docsrc/locales/en/LC_MESSAGES/docs.po
2023-07-22 11:36:58 +02:00

5545 lines
127 KiB
Plaintext

# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2018 - 2023, SamR1
# This file is distributed under the same license as the FitTrackee package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2023.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: FitTrackee 0.7.18\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2023-07-22 11:21+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language: en\n"
"Language-Team: en <LL@li.org>\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.12.1\n"
#: ../source/api/auth.rst:2
msgid "Authentication and account"
msgstr ""
#: ../../<autoflask>:1
msgid "Register a user and send confirmation email."
msgstr ""
#: ../../<autoflask>:1
msgid ""
"The newly created account is inactive. The user must confirm his email to"
" activate it."
msgstr ""
#: ../../<autoflask>:1
msgid "**Example request**:"
msgstr ""
#: ../../<autoflask>:1
msgid "**Example responses**:"
msgstr ""
#: ../../<autoflask>:1
msgid "success:"
msgstr ""
#: ../../<autoflask>:1
msgid "error on registration:"
msgstr ""
#: ../../<autoflask>
msgid "Request JSON Object"
msgstr ""
#: ../../<autoflask>:1
msgid "username (3 to 30 characters required)"
msgstr ""
#: ../../<autoflask>:1
msgid "user email"
msgstr ""
#: ../../<autoflask>:1
msgid "password (8 characters required)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"user language preferences (if not provided or invalid, fallback to 'en' "
"(english))"
msgstr ""
#: ../../<autoflask>:1
msgid "``true`` if user accepted privacy policy"
msgstr ""
#: ../../<autoflask>
msgid "Status Codes"
msgstr ""
#: ../../<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>
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
#, python-format
msgid "user birth date (format: ``%Y-%m-%d``)"
msgstr ""
#: ../../<autoflask>:1
msgid "``user profile updated``"
msgstr ""
#: ../../<autoflask>:1
msgid "Edit authenticated user preferences."
msgstr ""
#: ../../<autoflask>:1
msgid "Supported date formats:"
msgstr ""
#: ../../<autoflask>:1
msgid "``MM/dd/yyyy`` (default value)"
msgstr ""
#: ../../<autoflask>:1
msgid "``dd/MM/yyyy``"
msgstr ""
#: ../../<autoflask>:1
msgid "``yyyy-MM-dd``"
msgstr ""
#: ../../<autoflask>:1
msgid "``date_string``, corresponding on client to:"
msgstr ""
#: ../../<autoflask>:1
msgid "``MMM. do, yyyy`` for ``en`` locale"
msgstr ""
#: ../../<autoflask>:1
msgid "``d MMM yyyy`` for ``es``, ``fr``, ``gl``, ``it`` and ``nl`` locales"
msgstr ""
#: ../../<autoflask>:1
msgid "``do MMM yyyy`` for ``de`` and ``nb`` locales"
msgstr ""
#: ../../<autoflask>:1
msgid "the format used to display dates in the app"
msgstr ""
#: ../../<autoflask>:1
msgid "display highest ascent records and total"
msgstr ""
#: ../../<autoflask>:1
msgid "display distance in imperial units"
msgstr ""
#: ../../<autoflask>:1
msgid "language preferences"
msgstr ""
#: ../../<autoflask>:1
msgid "do elevation plots start at zero?"
msgstr ""
#: ../../<autoflask>:1
msgid "user time zone"
msgstr ""
#: ../../<autoflask>:1
msgid "Use unfiltered gpx to calculate speeds"
msgstr ""
#: ../../<autoflask>:1
msgid "does week start on Monday?"
msgstr ""
#: ../../<autoflask>:1
msgid "``user preferences updated``"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"- ``invalid payload`` - ``password: password and password confirmation "
"don't match``"
msgstr ""
#: ../../<autoflask>:1
msgid "``password: password and password confirmation don't match``"
msgstr ""
#: ../../<autoflask>:1
msgid "Edit authenticated user sport preferences."
msgstr ""
#: ../../<autoflask>:1
msgid "valid hexadecimal color"
msgstr ""
#: ../../<autoflask>:1
msgid "is sport available when adding a workout"
msgstr ""
#: ../../<autoflask>:1
msgid "stopped speed threshold used by gpxpy"
msgstr ""
#: ../../<autoflask>:1
msgid "``user sport preferences updated``"
msgstr ""
#: ../../<autoflask>:1
msgid "- ``invalid payload`` - ``invalid hexadecimal color``"
msgstr ""
#: ../../<autoflask>:1
msgid "``invalid hexadecimal color``"
msgstr ""
#: ../../<autoflask>:1
msgid "``sport does not exist``"
msgstr ""
#: ../../<autoflask>:1
msgid "Reset authenticated user preferences for a given sport."
msgstr ""
#: ../../<autoflask>
msgid "Parameters"
msgstr ""
#: ../../<autoflask>:1
msgid "sport id"
msgstr ""
#: ../../<autoflask>:1
msgid "user preferences deleted"
msgstr ""
#: ../../<autoflask>:1
msgid "Update authenticated user picture."
msgstr ""
#: ../../<autoflask>
msgid "Form Parameters"
msgstr ""
#: ../../<autoflask>:1
msgid "image file (allowed extensions: .jpg, .png, .gif)"
msgstr ""
#: ../../<autoflask>:1
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>
msgid "Query Parameters"
msgstr ""
#: ../../<autoflask>:1
msgid "page for pagination (default: 1)"
msgstr ""
#: ../../<autoflask>:1
msgid "Create an OAuth2 client (app) for the authenticated user."
msgstr ""
#: ../../<autoflask>
msgid "JSON Parameters"
msgstr ""
#: ../../<autoflask>:1
msgid "client name"
msgstr ""
#: ../../<autoflask>:1
msgid "client URL"
msgstr ""
#: ../../<autoflask>:1
msgid "list of client redirect URLs (string)"
msgstr ""
#: ../../<autoflask>:1
msgid "client scopes"
msgstr ""
#: ../../<autoflask>:1
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:192
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:238
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
#, python-format
msgid "start date (format: ``%Y-%m-%d``)"
msgstr ""
#: ../../<autoflask>:1
#, python-format
msgid "end date (format: ``%Y-%m-%d``)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"time frame: - ``week``: week starting Sunday - ``weekm``: week starting "
"Monday - ``month``: month - ``year``: year (default)"
msgstr ""
#: ../../<autoflask>:1
msgid "time frame:"
msgstr ""
#: ../../<autoflask>:1
msgid "``week``: week starting Sunday"
msgstr ""
#: ../../<autoflask>:1
msgid "``weekm``: week starting Monday"
msgstr ""
#: ../../<autoflask>:1
msgid "``month``: month"
msgstr ""
#: ../../<autoflask>:1
msgid "``year``: year (default)"
msgstr ""
#: ../../<autoflask>:1
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:179
msgid "Users"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"Get all users (regardless their account status), if authenticated user "
"has admin rights."
msgstr ""
#: ../../<autoflask>:1
msgid "It returns user preferences only for authenticated user."
msgstr ""
#: ../../<autoflask>:1
msgid "**Scope**: ``users:read``"
msgstr ""
#: ../../<autoflask>:1
msgid "with some query parameters:"
msgstr ""
#: ../../<autoflask>:1
msgid "page if using pagination (default: 1)"
msgstr ""
#: ../../<autoflask>:1
msgid "number of users per page (default: 10, max: 50)"
msgstr ""
#: ../../<autoflask>:1
msgid "query on user name"
msgstr ""
#: ../../<autoflask>:1
msgid "sorting order: ``asc``, ``desc`` (default: ``asc``)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"sorting criteria: ``username``, ``created_at``, ``workouts_count``, "
"``admin``, ``is_active`` (default: ``username``)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"Get single user details. Only user with admin rights can get other users "
"details."
msgstr ""
#: ../../<autoflask>:1
msgid "user name"
msgstr ""
#: ../../<autoflask>:1
msgid "- ``user does not exist``"
msgstr ""
#: ../../<autoflask>:1
msgid "get user picture"
msgstr ""
#: ../../<autoflask>:1
msgid "- ``user does not exist`` - ``No picture.``"
msgstr ""
#: ../../<autoflask>:1
msgid "``No picture.``"
msgstr ""
#: ../../<autoflask>:1
msgid "Update user account."
msgstr ""
#: ../../<autoflask>:1
msgid "add/remove admin rights (regardless user account status)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"reset password (and send email to update user password, if sending "
"enabled)"
msgstr ""
#: ../../<autoflask>:1
msgid "update user email (and send email to new user email, if sending enabled)"
msgstr ""
#: ../../<autoflask>:1
msgid "activate account for an inactive user"
msgstr ""
#: ../../<autoflask>:1
msgid "Only user with admin rights can modify another user."
msgstr ""
#: ../../<autoflask>:1
msgid "**Scope**: ``users:write``"
msgstr ""
#: ../../<autoflask>:1
msgid "activate user account"
msgstr ""
#: ../../<autoflask>:1
msgid "does the user have administrator rights"
msgstr ""
#: ../../<autoflask>:1
msgid "new user email"
msgstr ""
#: ../../<autoflask>:1
msgid "reset user password"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"- ``invalid payload`` - ``valid email must be provided`` - ``new email "
"must be different than curent email``"
msgstr ""
#: ../../<autoflask>:1
msgid "``valid email must be provided``"
msgstr ""
#: ../../<autoflask>:1
msgid "``new email must be different than curent email``"
msgstr ""
#: ../../<autoflask>:1
msgid "Delete a user account."
msgstr ""
#: ../../<autoflask>:1
msgid "A user can only delete his own account."
msgstr ""
#: ../../<autoflask>:1
msgid ""
"An admin can delete all accounts except his account if he's the only one "
"admin."
msgstr ""
#: ../../<autoflask>:1
msgid "user account deleted"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"- ``you do not have permissions`` - ``you can not delete your account, no"
" other user has admin rights``"
msgstr ""
#: ../../<autoflask>:1
msgid "``you can not delete your account, no other user has admin rights``"
msgstr ""
#: ../source/api/workouts.rst:2 ../source/features.rst:13
msgid "Workouts"
msgstr ""
#: ../../<autoflask>:1
msgid "Get workouts for the authenticated user."
msgstr ""
#: ../../<autoflask>:1
msgid "returning at least one workout:"
msgstr ""
#: ../../<autoflask>:1
msgid "returning no workouts"
msgstr ""
#: ../../<autoflask>:1
msgid "number of workouts per page (default: 5, max: 100)"
msgstr ""
#: ../../<autoflask>:1
msgid "any part (or all) of the workout title; title matching is case-insensitive"
msgstr ""
#: ../../<autoflask>:1
msgid "minimal distance"
msgstr ""
#: ../../<autoflask>:1
msgid "maximal distance"
msgstr ""
#: ../../<autoflask>:1
msgid "minimal duration (format: ``%H:%M``)"
msgstr ""
#: ../../<autoflask>:1
msgid "maximal distance (format: ``%H:%M``)"
msgstr ""
#: ../../<autoflask>:1
msgid "minimal average speed"
msgstr ""
#: ../../<autoflask>:1
msgid "maximal average speed"
msgstr ""
#: ../../<autoflask>:1
msgid "minimal max. speed"
msgstr ""
#: ../../<autoflask>:1
msgid "maximal max. speed"
msgstr ""
#: ../../<autoflask>:1
msgid "sorting order: ``asc``, ``desc`` (default: ``desc``)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"sorting criteria: ``ave_speed``, ``distance``, ``duration``, "
"``workout_date`` (default: ``workout_date``)"
msgstr ""
#: ../../<autoflask>:1
msgid "Get a workout."
msgstr ""
#: ../../<autoflask>:1
msgid "workout not found:"
msgstr ""
#: ../../<autoflask>:1
msgid "workout short id"
msgstr ""
#: ../../<autoflask>:1
msgid "``workout not found``"
msgstr ""
#: ../../<autoflask>:1
msgid "Get gpx file for a workout displayed on map with Leaflet."
msgstr ""
#: ../../<autoflask>:1
msgid "- ``workout not found`` - ``no gpx file for this workout``"
msgstr ""
#: ../../<autoflask>:1
msgid "``no gpx file for this workout``"
msgstr ""
#: ../../<autoflask>:1
msgid "Get chart data from a workout gpx file, to display it with Chart.js."
msgstr ""
#: ../../<autoflask>:1
msgid "segment id"
msgstr ""
#: ../../<autoflask>:1
msgid "Get gpx file for a workout segment displayed on map with Leaflet."
msgstr ""
#: ../../<autoflask>:1
msgid "Get map image for workouts with gpx."
msgstr ""
#: ../../<autoflask>:1
msgid "workout map id"
msgstr ""
#: ../../<autoflask>:1
msgid "``map does not exist``"
msgstr ""
#: ../../<autoflask>:1
msgid "Get map tile from tile server."
msgstr ""
#: ../../<autoflask>:1
msgid "subdomain"
msgstr ""
#: ../../<autoflask>:1
msgid "zoom"
msgstr ""
#: ../../<autoflask>:1
msgid "index of the tile along the map's x axis"
msgstr ""
#: ../../<autoflask>:1
msgid "index of the tile along the map's y axis"
msgstr ""
#: ../../<autoflask>:1
msgid "Status codes are status codes returned by tile server"
msgstr ""
#: ../../<autoflask>:1
msgid "Download gpx file."
msgstr ""
#: ../../<autoflask>:1
msgid "- ``workout not found`` - ``no gpx file for workout``"
msgstr ""
#: ../../<autoflask>:1
msgid "``no gpx file for workout``"
msgstr ""
#: ../../<autoflask>:1
msgid "Post a workout with a gpx file."
msgstr ""
#: ../../<autoflask>:1
msgid "gpx file (allowed extensions: .gpx, .zip)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"sport id and notes (example: ``{\"sport_id\": 1, \"notes\": \"\"}``). "
"Double quotes in notes must be escaped."
msgstr ""
#: ../../<autoflask>:1
msgid "workout created"
msgstr ""
#: ../../<autoflask>:1
msgid "Post a workout without gpx file."
msgstr ""
#: ../../<autoflask>:1
msgid "workout ascent (not mandatory, must be provided with descent)"
msgstr ""
#: ../../<autoflask>:1
msgid "workout descent (not mandatory, must be provided with ascent)"
msgstr ""
#: ../../<autoflask>:1
msgid "workout distance in km"
msgstr ""
#: ../../<autoflask>:1
msgid "workout duration in seconds"
msgstr ""
#: ../../<autoflask>:1
msgid "notes (not mandatory)"
msgstr ""
#: ../../<autoflask>:1
msgid "workout sport id"
msgstr ""
#: ../../<autoflask>:1
msgid "workout title (not mandatory)"
msgstr ""
#: ../../<autoflask>:1
#, python-format
msgid "workout date, in user timezone (format: ``%Y-%m-%d %H:%M``)"
msgstr ""
#: ../../<autoflask>:1
msgid "Update a workout."
msgstr ""
#: ../../<autoflask>:1
msgid ""
"workout ascent (only for workout without gpx, must be provided with "
"descent)"
msgstr ""
#: ../../<autoflask>:1
msgid ""
"workout descent (only for workout without gpx, must be provided with "
"ascent)"
msgstr ""
#: ../../<autoflask>:1
msgid "workout distance in km (only for workout without gpx)"
msgstr ""
#: ../../<autoflask>:1
msgid "workout duration in seconds (only for workout without gpx)"
msgstr ""
#: ../../<autoflask>:1
msgid "notes"
msgstr ""
#: ../../<autoflask>:1
msgid "workout title"
msgstr ""
#: ../../<autoflask>:1
#, python-format
msgid ""
"workout date in user timezone (format: ``%Y-%m-%d %H:%M``) (only for "
"workout without gpx)"
msgstr ""
#: ../../<autoflask>:1
msgid "workout updated"
msgstr ""
#: ../../<autoflask>:1
msgid "Delete a workout."
msgstr ""
#: ../../<autoflask>:1
msgid "workout deleted"
msgstr ""
#: ../source/changelog.md:1
msgid "Change log"
msgstr ""
#: ../source/changelog.md:3
msgid "Version 0.7.20 (2023/07/22)"
msgstr ""
#: ../source/changelog.md:5 ../source/changelog.md:44
#: ../source/changelog.md:157 ../source/changelog.md:205
#: ../source/changelog.md:278 ../source/changelog.md:318
#: ../source/changelog.md:339 ../source/changelog.md:354
#: ../source/changelog.md:378 ../source/changelog.md:441
#: ../source/changelog.md:481
msgid "Features and enhancements"
msgstr ""
#: ../source/changelog.md:7
msgid "#400 - Add new sport: open water swimming"
msgstr ""
#: ../source/changelog.md:10 ../source/changelog.md:51
#: ../source/changelog.md:162 ../source/changelog.md:212
#: ../source/changelog.md:258 ../source/changelog.md:284
#: ../source/changelog.md:382 ../source/changelog.md:410
#: ../source/changelog.md:421 ../source/changelog.md:448
#: ../source/changelog.md:469 ../source/changelog.md:487
#: ../source/changelog.md:503 ../source/changelog.md:524
#: ../source/changelog.md:546 ../source/changelog.md:553
#: ../source/changelog.md:573 ../source/changelog.md:595
#: ../source/changelog.md:613 ../source/changelog.md:648
#: ../source/changelog.md:659 ../source/changelog.md:670
#: ../source/changelog.md:682 ../source/changelog.md:702
#: ../source/changelog.md:708 ../source/changelog.md:760
#: ../source/changelog.md:784 ../source/changelog.md:795
#: ../source/changelog.md:806 ../source/changelog.md:851
#: ../source/changelog.md:884 ../source/changelog.md:896
#: ../source/changelog.md:907 ../source/changelog.md:923
#: ../source/changelog.md:936 ../source/changelog.md:948
#: ../source/changelog.md:969 ../source/changelog.md:1047
#: ../source/changelog.md:1064 ../source/changelog.md:1075
#: ../source/changelog.md:1095 ../source/changelog.md:1130
msgid "Bugs Fixed"
msgstr ""
#: ../source/changelog.md:12
msgid "PR#398 - Fix language dropdown label"
msgstr ""
#: ../source/changelog.md:13
msgid "#402 - handle gpx file without elevation"
msgstr ""
#: ../source/changelog.md:16 ../source/changelog.md:57
#: ../source/changelog.md:101 ../source/changelog.md:138
#: ../source/changelog.md:167 ../source/changelog.md:217
#: ../source/changelog.md:262 ../source/changelog.md:291
#: ../source/changelog.md:306 ../source/changelog.md:323
#: ../source/changelog.md:343 ../source/changelog.md:358
#: ../source/changelog.md:371 ../source/changelog.md:386
#: ../source/changelog.md:399 ../source/changelog.md:414
#: ../source/changelog.md:428 ../source/changelog.md:453
#: ../source/changelog.md:462 ../source/changelog.md:473
#: ../source/changelog.md:492 ../source/changelog.md:578
#: ../source/features.rst:197
msgid "Translations"
msgstr ""
#: ../source/changelog.md:18
msgid "PR#399 - Translations update (Galician)"
msgstr ""
#: ../source/changelog.md:19
msgid "PR#401 - Translations update (Galician and Polish)"
msgstr ""
#: ../source/changelog.md:20
msgid "PR#406 - Translations update (Galician and Spanish)"
msgstr ""
#: ../source/changelog.md:23 ../source/changelog.md:75
#: ../source/changelog.md:122 ../source/changelog.md:143
#: ../source/changelog.md:175 ../source/changelog.md:227
msgid "Translation status:"
msgstr ""
#: ../source/changelog.md:24 ../source/changelog.md:76
msgid "Dutch: 97%"
msgstr ""
#: ../source/changelog.md:25 ../source/changelog.md:77
#: ../source/changelog.md:124 ../source/changelog.md:145
#: ../source/changelog.md:177 ../source/changelog.md:229
msgid "English: 100%"
msgstr ""
#: ../source/changelog.md:26 ../source/changelog.md:78
#: ../source/changelog.md:125 ../source/changelog.md:146
#: ../source/changelog.md:178 ../source/changelog.md:230
msgid "French: 100%"
msgstr ""
#: ../source/changelog.md:27 ../source/changelog.md:126
#: ../source/changelog.md:147 ../source/changelog.md:231
msgid "Galician: 100%"
msgstr ""
#: ../source/changelog.md:28 ../source/changelog.md:80
msgid "German: 97%"
msgstr ""
#: ../source/changelog.md:29 ../source/changelog.md:81
msgid "Italian: 85%"
msgstr ""
#: ../source/changelog.md:30 ../source/changelog.md:82
#: ../source/changelog.md:234
msgid "Norwegian Bokmål: 35%"
msgstr ""
#: ../source/changelog.md:31
msgid "Polish: 56%"
msgstr ""
#: ../source/changelog.md:32 ../source/changelog.md:84
#: ../source/changelog.md:131 ../source/changelog.md:152
#: ../source/changelog.md:184 ../source/changelog.md:235
msgid "Spanish: 100%"
msgstr ""
#: ../source/changelog.md:34 ../source/changelog.md:86
#: ../source/changelog.md:188 ../source/changelog.md:242
#: ../source/changelog.md:297 ../source/changelog.md:329
#: ../source/changelog.md:586 ../source/changelog.md:869
msgid "Thanks to the contributors:"
msgstr ""
#: ../source/changelog.md:35 ../source/changelog.md:88
#: ../source/changelog.md:190 ../source/changelog.md:246
msgid "@gallegonovato"
msgstr ""
#: ../source/changelog.md:36 ../source/changelog.md:89
#: ../source/changelog.md:193 ../source/changelog.md:248
msgid "@xmgz"
msgstr ""
#: ../source/changelog.md:37
msgid "Mariusz"
msgstr ""
#: ../source/changelog.md:39 ../source/changelog.md:91
#: ../source/changelog.md:195 ../source/changelog.md:253
#: ../source/changelog.md:301 ../source/changelog.md:349
#: ../source/changelog.md:363 ../source/changelog.md:457
#: ../source/changelog.md:496
msgid ""
"Note: This release contains database migration (see upgrade instructions "
"in documentation)"
msgstr ""
#: ../source/changelog.md:42
msgid "Version 0.7.19 (2023/07/15)"
msgstr ""
#: ../source/changelog.md:46
msgid "PR#380 - Update documentation link"
msgstr ""
#: ../source/changelog.md:47
msgid "#390 - Improve UI"
msgstr ""
#: ../source/changelog.md:48
msgid "#391 - Add new sport: paragliding"
msgstr ""
#: ../source/changelog.md:53
msgid "#384 - Inconsistent page with between workout with and without GPS data"
msgstr ""
#: ../source/changelog.md:54
msgid "#393 - PIL.Image module has no attribute ANTIALIAS"
msgstr ""
#: ../source/changelog.md:59
msgid "PR#394 - Translations update (Galician)"
msgstr ""
#: ../source/changelog.md:60
msgid "PR#397 - Translations update (Spanish)"
msgstr ""
#: ../source/changelog.md:63 ../source/changelog.md:110
#: ../source/changelog.md:432
msgid "Documentation"
msgstr ""
#: ../source/changelog.md:65
msgid "PR#386 - Minor fix in CONTRIBUTING.md"
msgstr ""
#: ../source/changelog.md:66
msgid "PR#388 - Minor typo in CONTRIBUTING.md"
msgstr ""
#: ../source/changelog.md:69 ../source/changelog.md:116
#: ../source/changelog.md:237 ../source/changelog.md:310
#: ../source/changelog.md:390 ../source/changelog.md:403
#: ../source/changelog.md:509 ../source/changelog.md:601
#: ../source/changelog.md:622 ../source/changelog.md:730
#: ../source/changelog.md:746 ../source/changelog.md:855
#: ../source/changelog.md:911 ../source/changelog.md:952
#: ../source/changelog.md:978 ../source/changelog.md:1033
#: ../source/changelog.md:1099 ../source/changelog.md:1114
msgid "Misc"
msgstr ""
#: ../source/changelog.md:71
msgid "#395 - CI - test a packaged version of FitTrackee"
msgstr ""
#: ../source/changelog.md:72
msgid "cc3fe1c CI - update python and postgresql default versions"
msgstr ""
#: ../source/changelog.md:79
msgid "Galician: 98%"
msgstr ""
#: ../source/changelog.md:83
msgid "Polish: 42%"
msgstr ""
#: ../source/changelog.md:87
msgid "@dkm"
msgstr ""
#: ../source/changelog.md:94
msgid "Version 0.7.18 (2023/06/25)"
msgstr ""
#: ../source/changelog.md:96
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:99
msgid ""
"Important: Python 3.7 is no longer supported, the minimum version is now "
"Python 3.8.1."
msgstr ""
#: ../source/changelog.md:103
msgid "#351 - [Translation Request] Polish"
msgstr ""
#: ../source/changelog.md:104
msgid "PR#370 - Translations update (Dutch, thanks to @bjornclauw)"
msgstr ""
#: ../source/changelog.md:105
msgid "PR#371 - Translations update (Polish, thanks to Mariusz on Weblate)"
msgstr ""
#: ../source/changelog.md:106
msgid "PR#375 - Translations update (French, thanks to @Thovi98)"
msgstr ""
#: ../source/changelog.md:107
msgid "PR#376 - Translations update (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:112
msgid "1375986 - Change documentation theme for Furo"
msgstr ""
#: ../source/changelog.md:113
msgid "#377 - Init documentation translation"
msgstr ""
#: ../source/changelog.md:118
msgid "#354 - Drop support for Python 3.7"
msgstr ""
#: ../source/changelog.md:119
msgid "PR#374 - Docker - install fittrackee in a virtualenv"
msgstr ""
#: ../source/changelog.md:123
msgid "Dutch: 100%"
msgstr ""
#: ../source/changelog.md:127 ../source/changelog.md:232
msgid "German: 100%"
msgstr ""
#: ../source/changelog.md:128 ../source/changelog.md:149
#: ../source/changelog.md:181 ../source/changelog.md:233
msgid "Italian: 87%"
msgstr ""
#: ../source/changelog.md:129 ../source/changelog.md:150
#: ../source/changelog.md:182
msgid "Norwegian Bokmål: 36%"
msgstr ""
#: ../source/changelog.md:130
msgid "Polish: 43%"
msgstr ""
#: ../source/changelog.md:133
msgid "Thanks to all contributors."
msgstr ""
#: ../source/changelog.md:136
msgid "Version 0.7.17 (2023/06/03)"
msgstr ""
#: ../source/changelog.md:140
msgid ""
"PR#366, PR#369 - Translations update from Hosted Weblate (Galician, "
"thanks to @xmgz)"
msgstr ""
#: ../source/changelog.md:141
msgid "PR#367 - Translations update (Spanish, French)"
msgstr ""
#: ../source/changelog.md:144 ../source/changelog.md:176
msgid "Dutch: 99%"
msgstr ""
#: ../source/changelog.md:148 ../source/changelog.md:180
msgid "German: 99%"
msgstr ""
#: ../source/changelog.md:151 ../source/changelog.md:183
msgid "Polish: 3%"
msgstr ""
#: ../source/changelog.md:155
msgid "Version 0.7.16 (2023/05/29)"
msgstr ""
#: ../source/changelog.md:159
msgid "PR#358 - Add user preference for filtering of GPX speed data"
msgstr ""
#: ../source/changelog.md:164
msgid "#359 - Footer overlaps content on user preferences page"
msgstr ""
#: ../source/changelog.md:169
msgid "PR#350 - Translations update from Hosted Weblate (Galician)"
msgstr ""
#: ../source/changelog.md:170
msgid "PR#352 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:171
msgid "PR#356 - Init Polish translation files"
msgstr ""
#: ../source/changelog.md:172
msgid "PR#357 - Translations update from Hosted Weblate (Polish)"
msgstr ""
#: ../source/changelog.md:173
msgid "PR#365 - Translations update from Hosted Weblate (Spanish)"
msgstr ""
#: ../source/changelog.md:179
msgid "Galician: 99%"
msgstr ""
#: ../source/changelog.md:186
msgid "Note: Polish is not yet available in FitTrackee interface."
msgstr ""
#: ../source/changelog.md:189 ../source/changelog.md:243
#: ../source/changelog.md:298 ../source/changelog.md:330
msgid "@bjornclauw"
msgstr ""
#: ../source/changelog.md:191
msgid "@gnu-ewm"
msgstr ""
#: ../source/changelog.md:192 ../source/changelog.md:245
#: ../source/changelog.md:331
msgid "@jat255"
msgstr ""
#: ../source/changelog.md:198
msgid "Version 0.7.15 (2023/04/12)"
msgstr ""
#: ../source/changelog.md:200
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:202
msgid ""
"Note: DarkSky API support is removed, since the service shut down on "
"March 31, 2023."
msgstr ""
#: ../source/changelog.md:207
msgid "#319 - Add cli to create users"
msgstr ""
#: ../source/changelog.md:208
msgid "#329 - Make \"start elevation axis at zero\" sticky"
msgstr ""
#: ../source/changelog.md:209
msgid "#333 - Feature request: filter workouts by title"
msgstr ""
#: ../source/changelog.md:210
msgid "#338 - Display relevant error message when <time> is missing in GPX file"
msgstr ""
#: ../source/changelog.md:214
msgid ""
"#328 - GPX speed and altitude track has incorrect units on x-axis when "
"imperial"
msgstr ""
#: ../source/changelog.md:215
msgid "b29ed7a - fix privacy policy message display on dashboard"
msgstr ""
#: ../source/changelog.md:219
msgid "#250 - [Translation Request] Norwegian Bokmål"
msgstr ""
#: ../source/changelog.md:220
msgid "#320 - [Translation Request] Spanish"
msgstr ""
#: ../source/changelog.md:221
msgid "#323 - [Translation Request] Galician"
msgstr ""
#: ../source/changelog.md:222
msgid "06ba975, bcc568e, ea0ac99 - Translations update (German)"
msgstr ""
#: ../source/changelog.md:223
msgid "a458f5f - Translations update (Dutch)"
msgstr ""
#: ../source/changelog.md:224
msgid "075aeb9 - Translations update (French)"
msgstr ""
#: ../source/changelog.md:225
msgid "60e164d - Translations update (Italian)"
msgstr ""
#: ../source/changelog.md:228
msgid "Dutch: 98%"
msgstr ""
#: ../source/changelog.md:239
msgid "#318 - Remove DarkSky Weather provider"
msgstr ""
#: ../source/changelog.md:244
msgid "@comradekingu"
msgstr ""
#: ../source/changelog.md:247 ../source/changelog.md:299
#: ../source/changelog.md:332
msgid "@qwerty287"
msgstr ""
#: ../source/changelog.md:249
msgid "J. Lavoie from Weblate"
msgstr ""
#: ../source/changelog.md:250
msgid "mondstern from Weblate"
msgstr ""
#: ../source/changelog.md:256
msgid "Version 0.7.14 (2023/03/08)"
msgstr ""
#: ../source/changelog.md:260
msgid "#314 - GPX file is not deleted when the process fails"
msgstr ""
#: ../source/changelog.md:264
msgid ""
"PR#315 - Translations update from Hosted Weblate (Dutch, thanks to "
"@bjornclauw)"
msgstr ""
#: ../source/changelog.md:267
msgid "Version 0.7.13 (2023/03/05)"
msgstr ""
#: ../source/changelog.md:269
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:273
msgid ""
"A user can now request a data export (containing user info, workout data "
"and uploaded gpx files)."
msgstr ""
#: ../source/changelog.md:275
msgid ""
"Lastly, additional information that may be useful to users can be "
"displayed in About page."
msgstr ""
#: ../source/changelog.md:280
msgid "#301 - add privacy policy"
msgstr ""
#: ../source/changelog.md:281
msgid "#304 - add user data export"
msgstr ""
#: ../source/changelog.md:282
msgid "#305 - add additional information in About page"
msgstr ""
#: ../source/changelog.md:286
msgid "PR#307 - Minor fixes"
msgstr ""
#: ../source/changelog.md:287
msgid "update workout and map files name"
msgstr ""
#: ../source/changelog.md:288
msgid "fix error message when api is not running"
msgstr ""
#: ../source/changelog.md:289
msgid "fix modal position"
msgstr ""
#: ../source/changelog.md:293
msgid "PR#297 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:294
msgid "PR#308 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:295
msgid "PR#310 - Translations update from Hosted Weblate (Dutch and German)"
msgstr ""
#: ../source/changelog.md:304
msgid "Version 0.7.12 (2023/02/16)"
msgstr ""
#: ../source/changelog.md:308
msgid ""
"PR#290 - Translations update from Hosted Weblate (German, thanks to "
"@qwerty287)"
msgstr ""
#: ../source/changelog.md:312
msgid "#294 - drop PostgreSQL10 support"
msgstr ""
#: ../source/changelog.md:313
msgid "dependencies update"
msgstr ""
#: ../source/changelog.md:316
msgid "Version 0.7.11 (2022/12/31)"
msgstr ""
#: ../source/changelog.md:320
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:325
msgid "PR#287 - Translations update from Hosted Weblate (Dutch)"
msgstr ""
#: ../source/changelog.md:326
msgid "PR#289 - Translations update from Hosted Weblate (German)"
msgstr ""
#: ../source/changelog.md:335
msgid "Version 0.7.10 (2022/12/21)"
msgstr ""
#: ../source/changelog.md:337
msgid "FitTrackee is now available in Italian (thanks to @dperruso)."
msgstr ""
#: ../source/changelog.md:341
msgid "#92 - Add ascent and descent parameters in workout import without GPX file"
msgstr ""
#: ../source/changelog.md:345
msgid "#279 - [Translation Request] - Italian (thanks to @dperruso)"
msgstr ""
#: ../source/changelog.md:346
msgid ""
"c88a515 - Translations update from Hosted Weblate (Dutch, thanks to "
"@bjornclauw)"
msgstr ""
#: ../source/changelog.md:347
msgid "f96dcef - Translations update (German)"
msgstr ""
#: ../source/changelog.md:352
msgid "Version 0.7.9 (2022/12/11)"
msgstr ""
#: ../source/changelog.md:356
msgid "#280 - New sport: Mountaineering"
msgstr ""
#: ../source/changelog.md:360
msgid ""
"PR#278 - Translations update from Hosted Weblate (German, thanks to "
"@qwerty287)"
msgstr ""
#: ../source/changelog.md:361
msgid "PR#282 - Init italian translation files"
msgstr ""
#: ../source/changelog.md:366
msgid "Version 0.7.8 (2022/11/30)"
msgstr ""
#: ../source/changelog.md:368
msgid "FitTrackee is now available in Dutch (thanks to @bjornclauw)."
msgstr ""
#: ../source/changelog.md:373
msgid "#270 - [translations request] Dutch (Nederlands)"
msgstr ""
#: ../source/changelog.md:376
msgid "Version 0.7.7 (2022/11/27)"
msgstr ""
#: ../source/changelog.md:380
msgid "#258 - Request: parse links in notes area (thanks to @jat255)"
msgstr ""
#: ../source/changelog.md:384
msgid "PR#271 - Fix workouts creation"
msgstr ""
#: ../source/changelog.md:388
msgid "PR#273 - Init Dutch translations files"
msgstr ""
#: ../source/changelog.md:392
msgid "PR#274 - Tests parallelization"
msgstr ""
#: ../source/changelog.md:393
msgid "PR#275 - Disable worker entry point"
msgstr ""
#: ../source/changelog.md:395
msgid ""
"Note: fittrackee_worker command is disabled, please use existing flask-"
"dramatiq CLI (see documentation)"
msgstr ""
#: ../source/changelog.md:397
msgid "Version 0.7.6 (2022/11/09)"
msgstr ""
#: ../source/changelog.md:401
msgid "3c8d9c2 - fix api locale file (remove trailing comma)"
msgstr ""
#: ../source/changelog.md:405
msgid "dev dependencies update"
msgstr ""
#: ../source/changelog.md:408
msgid "Version 0.7.5 (2022/11/09)"
msgstr ""
#: ../source/changelog.md:412
msgid "#264 - UI has white and gray background"
msgstr ""
#: ../source/changelog.md:416
msgid ""
"#266 - Translations update from Hosted Weblate (German, thanks to "
"@qwerty287)"
msgstr ""
#: ../source/changelog.md:419
msgid "Version 0.7.4 (2022/11/05)"
msgstr ""
#: ../source/changelog.md:423
msgid "#260 - Files size is not checked in zip archive"
msgstr ""
#: ../source/changelog.md:424
msgid ""
"#261 - The API should return an error when the number of files in an "
"archive exceeds the limit"
msgstr ""
#: ../source/changelog.md:426
msgid "Note: archive import still needs some improvements (see #89)"
msgstr ""
#: ../source/changelog.md:430
msgid "b1536fc - fix french translations in administration"
msgstr ""
#: ../source/changelog.md:434
msgid "#257 - Add client_max_body_size note to example nginx config"
msgstr ""
#: ../source/changelog.md:436 ../source/changelog.md:446
msgid "Thanks to @jat255"
msgstr ""
#: ../source/changelog.md:439
msgid "Version 0.7.3 (2022/11/01)"
msgstr ""
#: ../source/changelog.md:443
msgid "#112 - allow user to change date format"
msgstr ""
#: ../source/changelog.md:444
msgid "#244 - New sport type: \"Virtual Ride\""
msgstr ""
#: ../source/changelog.md:450
msgid "#246 - Add support to PostgreSQL 15"
msgstr ""
#: ../source/changelog.md:451
msgid "#247 - Segments duration is displayed with microseconds"
msgstr ""
#: ../source/changelog.md:455
msgid "PR#252 - init Norwegian Bokmål translations files"
msgstr ""
#: ../source/changelog.md:460
msgid "Version 0.7.2 (2022/09/21)"
msgstr ""
#: ../source/changelog.md:464
msgid "PR#242 - Translations update from Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:467
msgid "Version 0.7.1 (2022/09/21)"
msgstr ""
#: ../source/changelog.md:471
msgid "PR#241 - Add missing password strength estimation package (german)"
msgstr ""
#: ../source/changelog.md:475
msgid "PR#239 - Translations update from Weblate (German, thanks to @qwerty287)"
msgstr ""
#: ../source/changelog.md:476
msgid "cb9d02f - Update OAuth 2.0 translations (English & French)"
msgstr ""
#: ../source/changelog.md:479
msgid "Version 0.7.0 (2022/09/19)"
msgstr ""
#: ../source/changelog.md:483
msgid "#88 - OAuth 2.0 access token for api access"
msgstr ""
#: ../source/changelog.md:484
msgid "#231 - Invalidate token on logout"
msgstr ""
#: ../source/changelog.md:485
msgid "PR#236 - Add API rate limits"
msgstr ""
#: ../source/changelog.md:489
msgid "#232 - Speed chart can not be hidden"
msgstr ""
#: ../source/changelog.md:490
msgid "#237 - Can not edit a workout when notes value is null"
msgstr ""
#: ../source/changelog.md:494
msgid "PR#212 - Translations update from Hosted Weblate (thanks to J. Lavoie)"
msgstr ""
#: ../source/changelog.md:499
msgid "Version 0.6.12 (2022/09/14)"
msgstr ""
#: ../source/changelog.md:501 ../source/changelog.md:522
#: ../source/changelog.md:544 ../source/changelog.md:567
#: ../source/changelog.md:593 ../source/changelog.md:611
#: ../source/changelog.md:635 ../source/changelog.md:646
#: ../source/changelog.md:668 ../source/changelog.md:680
#: ../source/changelog.md:695 ../source/changelog.md:728
#: ../source/changelog.md:758 ../source/changelog.md:775
#: ../source/changelog.md:793 ../source/changelog.md:804
#: ../source/changelog.md:816 ../source/changelog.md:829
#: ../source/changelog.md:842 ../source/changelog.md:876
#: ../source/changelog.md:894 ../source/changelog.md:905
#: ../source/changelog.md:921 ../source/changelog.md:934
#: ../source/changelog.md:946 ../source/changelog.md:962
#: ../source/changelog.md:986 ../source/changelog.md:1003
#: ../source/changelog.md:1020 ../source/changelog.md:1045
#: ../source/changelog.md:1057 ../source/changelog.md:1073
#: ../source/changelog.md:1083 ../source/changelog.md:1108
#: ../source/changelog.md:1123 ../source/changelog.md:1173
msgid "Issues Closed"
msgstr ""
#: ../source/changelog.md:505
msgid "#230 - Database problem after upgrade to 0.6.11"
msgstr ""
#: ../source/changelog.md:507 ../source/changelog.md:528
#: ../source/changelog.md:551 ../source/changelog.md:657
#: ../source/changelog.md:706 ../source/changelog.md:734
#: ../source/changelog.md:764 ../source/changelog.md:859
msgid "Pull Requests"
msgstr ""
#: ../source/changelog.md:511
msgid "#225 - Fix grammar issue"
msgstr ""
#: ../source/changelog.md:513
msgid "Thanks to @Skylan0916"
msgstr ""
#: ../source/changelog.md:515
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:520
msgid "Version 0.6.11 (2022/07/27)"
msgstr ""
#: ../source/changelog.md:526
msgid ""
"#213 - Statistics - When using imperial measurements, ascent/descent "
"should be in ft not mi"
msgstr ""
#: ../source/changelog.md:530 ../source/changelog.md:569
#: ../source/changelog.md:637 ../source/changelog.md:697
#: ../source/features.rst:2
msgid "Features"
msgstr ""
#: ../source/changelog.md:532
msgid "#223 - Display ascent record icon"
msgstr ""
#: ../source/changelog.md:533
msgid "#167 - Added ascent record to Dashboard"
msgstr ""
#: ../source/changelog.md:534
msgid "#162 - Added total elevation to dashboard"
msgstr ""
#: ../source/changelog.md:536 ../source/changelog.md:713
msgid "Thanks to @Fmstrat"
msgstr ""
#: ../source/changelog.md:538 ../source/changelog.md:769
msgid ""
"In this release 1 issue was closed.<br />Note: This release contains "
"database migration (see upgrade instructions in documentation)"
msgstr ""
#: ../source/changelog.md:542
msgid "Version 0.6.10 (2022/07/13)"
msgstr ""
#: ../source/changelog.md:548
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:555
msgid "#209 - Incorrect duration with track containing multiple segments"
msgstr ""
#: ../source/changelog.md:557
msgid "Thanks to @gorgobacka"
msgstr ""
#: ../source/changelog.md:559 ../source/changelog.md:617
#: ../source/changelog.md:641 ../source/changelog.md:652
#: ../source/changelog.md:686 ../source/changelog.md:753
#: ../source/changelog.md:799 ../source/changelog.md:900
#: ../source/changelog.md:916 ../source/changelog.md:957
#: ../source/changelog.md:992 ../source/changelog.md:1079
#: ../source/changelog.md:1118
msgid "In this release 1 issue was closed."
msgstr ""
#: ../source/changelog.md:562
msgid "Version 0.6.9 (2022/07/03)"
msgstr ""
#: ../source/changelog.md:564
msgid ""
"FitTrackee is now available in German (thanks to @gorgobacka).<br />And "
"translations can be updated on Weblate."
msgstr ""
#: ../source/changelog.md:571
msgid "#200 - Detect browser language to use matching translation if available"
msgstr ""
#: ../source/changelog.md:575
msgid "PR#208 - fix order on records cards"
msgstr ""
#: ../source/changelog.md:576
msgid "#201 - html lang attribute is not updated when changing language"
msgstr ""
#: ../source/changelog.md:580
msgid "PR#197 - Translations update from Weblate (French)"
msgstr ""
#: ../source/changelog.md:581
msgid "#196 - Use translation management tool"
msgstr ""
#: ../source/changelog.md:582
msgid "#190 - Add German translation"
msgstr ""
#: ../source/changelog.md:584 ../source/changelog.md:788
#: ../source/changelog.md:889
msgid "In this release 4 issues were closed."
msgstr ""
#: ../source/changelog.md:587
msgid "@gorgobacka"
msgstr ""
#: ../source/changelog.md:588
msgid "J. Lavoie (from Weblate)"
msgstr ""
#: ../source/changelog.md:591
msgid "Version 0.6.8 (2022/06/22)"
msgstr ""
#: ../source/changelog.md:597
msgid "#193 - Allow deleting a workout when files are missing"
msgstr ""
#: ../source/changelog.md:598
msgid "#192 - Returns 404 instead of 500 when map file not found"
msgstr ""
#: ../source/changelog.md:599
msgid "#191 - Layout issue on Workouts page"
msgstr ""
#: ../source/changelog.md:603
msgid ""
"change gpx and map file naming (included in PR#195)<br />Note: it does "
"not affect previously imported files"
msgstr ""
#: ../source/changelog.md:605
msgid "cc4287e - Fix docker env file"
msgstr ""
#: ../source/changelog.md:607 ../source/changelog.md:837
#: ../source/changelog.md:929 ../source/changelog.md:1028
#: ../source/changelog.md:1068
msgid "In this release 3 issues were closed."
msgstr ""
#: ../source/changelog.md:609
msgid "Version 0.6.7 (2022/06/11)"
msgstr ""
#: ../source/changelog.md:615
msgid "#156 - Process gpx file with offset"
msgstr ""
#: ../source/changelog.md:620
msgid "Version 0.6.6 (2022/05/29)"
msgstr ""
#: ../source/changelog.md:624
msgid ""
"No new features in this release, only dependencies update and code "
"refacto before introducing new features."
msgstr ""
#: ../source/changelog.md:627
msgid "Version 0.6.5 (2022/04/24)"
msgstr ""
#: ../source/changelog.md:629
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:632
msgid "To manage users, a new CLI is available."
msgstr ""
#: ../source/changelog.md:639
msgid "#180 - allow using FitTrackee without SMTP server"
msgstr ""
#: ../source/changelog.md:644
msgid "Version 0.6.4 (2022/04/23)"
msgstr ""
#: ../source/changelog.md:650
msgid "#178 - cannot send email with TLS"
msgstr ""
#: ../source/changelog.md:655
msgid "Version 0.6.3 (2022/04/09)"
msgstr ""
#: ../source/changelog.md:661
msgid "#177 - Minor fixes"
msgstr ""
#: ../source/changelog.md:662
msgid "add missing translation"
msgstr ""
#: ../source/changelog.md:663
msgid "fix 'Add Workout' card position on small screens"
msgstr ""
#: ../source/changelog.md:666
msgid "Version 0.6.2 (2022/04/03)"
msgstr ""
#: ../source/changelog.md:672
msgid "#175 - Distance card on dashboard is not refreshed"
msgstr ""
#: ../source/changelog.md:673
msgid "#173 - link to user profile in workout card is incorrect"
msgstr ""
#: ../source/changelog.md:675 ../source/changelog.md:811
#: ../source/changelog.md:941 ../source/changelog.md:973
#: ../source/changelog.md:1010 ../source/changelog.md:1052
msgid "In this release 2 issues were closed."
msgstr ""
#: ../source/changelog.md:678
msgid "Version 0.6.1 (2022/03/27)"
msgstr ""
#: ../source/changelog.md:684
msgid "#171 - Stats chart is not updated correctly"
msgstr ""
#: ../source/changelog.md:689
msgid "Version 0.6.0 (2022/03/27)"
msgstr ""
#: ../source/changelog.md:691
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:699
msgid "#155 - Improve user registration"
msgstr ""
#: ../source/changelog.md:700
msgid "#106 - Allow user to update email"
msgstr ""
#: ../source/changelog.md:704
msgid "#169 - user picture is not refreshed after update"
msgstr ""
#: ../source/changelog.md:710
msgid "#161 - Minor translation issue on 'Farthest'"
msgstr ""
#: ../source/changelog.md:711
msgid "#160 - Minor translation issue on APP_ERROR"
msgstr ""
#: ../source/changelog.md:715
msgid ""
"In this release 3 issues were closed.<br />Note: This release contains "
"database migration (see upgrade instructions in documentation)"
msgstr ""
#: ../source/changelog.md:719
msgid "Version 0.5.7 (2022/02/13)"
msgstr ""
#: ../source/changelog.md:721
msgid ""
"This release contains several fixes including security fixes.<br />Thanks"
" to @DanielSiersleben for the report."
msgstr ""
#: ../source/changelog.md:724
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:732
msgid "#149 - improve database initialisation"
msgstr ""
#: ../source/changelog.md:736
msgid "Security"
msgstr ""
#: ../source/changelog.md:738 ../source/changelog.md:748
msgid "#152 - Fixes and improvements:"
msgstr ""
#: ../source/changelog.md:739
msgid "set autoescape on jinja templates"
msgstr ""
#: ../source/changelog.md:741
msgid "#151 - fix security issues:"
msgstr ""
#: ../source/changelog.md:742
msgid "sanitize input when serving images"
msgstr ""
#: ../source/changelog.md:743
msgid "sanitize inputs when serving map tiles"
msgstr ""
#: ../source/changelog.md:744
msgid "allow only alphanumeric characters and '_' in username"
msgstr ""
#: ../source/changelog.md:749
msgid "fix dramatiq warning when launching workers w/ script entrypoint"
msgstr ""
#: ../source/changelog.md:750
msgid ""
"check app config before dropping database, to avoid deleting data on "
"production"
msgstr ""
#: ../source/changelog.md:751
msgid "remove dotenv warning"
msgstr ""
#: ../source/changelog.md:756
msgid "Version 0.5.6 (2022/02/05)"
msgstr ""
#: ../source/changelog.md:762
msgid "#146 - incorrect label on workouts filters"
msgstr ""
#: ../source/changelog.md:766
msgid "#145 - fix on database models"
msgstr ""
#: ../source/changelog.md:773
msgid "Version 0.5.5 (2022/01/19)"
msgstr ""
#: ../source/changelog.md:777 ../source/changelog.md:818
#: ../source/changelog.md:831 ../source/changelog.md:844
#: ../source/changelog.md:878 ../source/changelog.md:964
#: ../source/changelog.md:988 ../source/changelog.md:1005
#: ../source/changelog.md:1022 ../source/changelog.md:1059
#: ../source/changelog.md:1085 ../source/changelog.md:1110
#: ../source/changelog.md:1125 ../source/changelog.md:1175
msgid "New Features"
msgstr ""
#: ../source/changelog.md:779
msgid "#140 - Add a fullscreen control to workout map"
msgstr ""
#: ../source/changelog.md:780
msgid "#138 - Add control to reset map to initial position"
msgstr ""
#: ../source/changelog.md:781
msgid "#135 - Start and finish markers"
msgstr ""
#: ../source/changelog.md:782
msgid "#134 - Wind direction"
msgstr ""
#: ../source/changelog.md:786
msgid ""
"877fa0f - fix sport icon color (when changed) on calendar on small "
"resolutions"
msgstr ""
#: ../source/changelog.md:791
msgid "Version 0.5.4 (2022/01/01)"
msgstr ""
#: ../source/changelog.md:797
msgid "#131 - No workouts displayed on calendar"
msgstr ""
#: ../source/changelog.md:802
msgid "Version 0.5.3 (2022/01/01)"
msgstr ""
#: ../source/changelog.md:808
msgid "#129 - Display only active sports when editing a workout"
msgstr ""
#: ../source/changelog.md:809
msgid ""
"#127 - parse_email_url() can't validate a legitimate EMAIL_URI such as "
"\"smtp://localhost:25\""
msgstr ""
#: ../source/changelog.md:814
msgid "Version 0.5.2 (2021/12/19)"
msgstr ""
#: ../source/changelog.md:820
msgid "#123 - Allow user to reset preferences for a sport"
msgstr ""
#: ../source/changelog.md:821
msgid "#121 - Add activity : snowshoes"
msgstr ""
#: ../source/changelog.md:823
msgid ""
"In this release 2 issues were closed.<br />Note: This release contains "
"database migration."
msgstr ""
#: ../source/changelog.md:827
msgid "Version 0.5.1 (2021/11/30)"
msgstr ""
#: ../source/changelog.md:833
msgid ""
"#116 - Better UI for Speed and Elevation buttons in the graph of the "
"Workout screen"
msgstr ""
#: ../source/changelog.md:834
msgid "#115 - Add option to download the GPX file of a Workout"
msgstr ""
#: ../source/changelog.md:835
msgid "#5 - Display a chart with average speed"
msgstr ""
#: ../source/changelog.md:840
msgid "Version 0.5.0 (2021/11/14)"
msgstr ""
#: ../source/changelog.md:846
msgid "#99 - Display workout with imperial units"
msgstr ""
#: ../source/changelog.md:847
msgid "#91 - Display elevation chart with min and max altitude of workout"
msgstr ""
#: ../source/changelog.md:848
msgid "#90 - Add user sports preferences"
msgstr ""
#: ../source/changelog.md:849
msgid "#18 - Better UI"
msgstr ""
#: ../source/changelog.md:853
msgid "#95 - Some workouts seem to be missing on statistics chart"
msgstr ""
#: ../source/changelog.md:857
msgid "#104 - Switch to AGPLv3 license"
msgstr ""
#: ../source/changelog.md:861
msgid "#101 - Docker updates for full files"
msgstr ""
#: ../source/changelog.md:862
msgid "#100 - Add client application in docker for development"
msgstr ""
#: ../source/changelog.md:863
msgid "#98/#109 - Added stopped_speed_threshold to support slow movement"
msgstr ""
#: ../source/changelog.md:864
msgid "#84/#93 - Add elevation data and new sports"
msgstr ""
#: ../source/changelog.md:866
msgid ""
"In this release 6 issues were closed.<br />Note: This release contains "
"database migrations."
msgstr ""
#: ../source/changelog.md:870
msgid "@Fmstrat"
msgstr ""
#: ../source/changelog.md:871
msgid "@paf38"
msgstr ""
#: ../source/changelog.md:874
msgid "Version 0.4.9 (2021/07/16)"
msgstr ""
#: ../source/changelog.md:880
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:882
msgid "#81 - display remaining characters in textarea"
msgstr ""
#: ../source/changelog.md:886
msgid "#82 - a user can not modify his birth day"
msgstr ""
#: ../source/changelog.md:887
msgid "#80 - can not save notes with control characters"
msgstr ""
#: ../source/changelog.md:892
msgid "Version 0.4.8 (2021/07/03)"
msgstr ""
#: ../source/changelog.md:898
msgid "#79 - Fails to start after make rebuild"
msgstr ""
#: ../source/changelog.md:903
msgid "Version 0.4.7 (2021/04/07)"
msgstr ""
#: ../source/changelog.md:909
msgid "#75 - Workouts on the same day are not displayed in right order"
msgstr ""
#: ../source/changelog.md:913
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:919
msgid "Version 0.4.6 (2021/02/21)"
msgstr ""
#: ../source/changelog.md:925
msgid "#72 - Error message when file exceeding size is incorrect"
msgstr ""
#: ../source/changelog.md:926
msgid "#71 - max size or max number of files must be greater than 0"
msgstr ""
#: ../source/changelog.md:927
msgid ""
"#70 - max size for an archive must not be less than uploaded files max "
"size"
msgstr ""
#: ../source/changelog.md:932
msgid "Version 0.4.5 (2021/02/17)"
msgstr ""
#: ../source/changelog.md:938
msgid "#66 - invalid gpx limit used when importing zip archive"
msgstr ""
#: ../source/changelog.md:939
msgid "#64 - Only 50 workouts per month shown in calendar"
msgstr ""
#: ../source/changelog.md:944
msgid "Version 0.4.4 (2021/01/31)"
msgstr ""
#: ../source/changelog.md:950
msgid "#62 - Error when sending reset password email"
msgstr ""
#: ../source/changelog.md:954
msgid "Refactoring before introducing new features."
msgstr ""
#: ../source/changelog.md:955
msgid "Add docker files for evaluation purposes."
msgstr ""
#: ../source/changelog.md:960
msgid "Version 0.4.3 (2021/01/10)"
msgstr ""
#: ../source/changelog.md:966
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:971
msgid "#59 - No message displayed on uploading image error"
msgstr ""
#: ../source/changelog.md:976
msgid "Version 0.4.2 (2021/01/03)"
msgstr ""
#: ../source/changelog.md:980
msgid ""
"No new features in this release, only some refactorings before "
"introducing new features."
msgstr ""
#: ../source/changelog.md:984
msgid "Version 0.4.1 (2020/12/31)"
msgstr ""
#: ../source/changelog.md:990
msgid "#57 - Use uuid for activities"
msgstr ""
#: ../source/changelog.md:995
msgid "Version 0.4.0 - FitTrackee on PyPI (2020/09/19)"
msgstr ""
#: ../source/changelog.md:997 ../source/changelog.md:1015
msgid "This version introduces some major changes:"
msgstr ""
#: ../source/changelog.md:998
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:1000
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:1007
msgid "#54 - Tile server can be changed"
msgstr ""
#: ../source/changelog.md:1008
msgid "#53 - Simplify FitTrackee installation"
msgstr ""
#: ../source/changelog.md:1013
msgid "Version 0.3.0 - Administration (2020/07/15)"
msgstr ""
#: ../source/changelog.md:1016
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:1018
msgid "in order to send emails, Redis is now a mandatory dependency"
msgstr ""
#: ../source/changelog.md:1024
msgid "#50 - A user can reset his password"
msgstr ""
#: ../source/changelog.md:1025
msgid "#17 - A user can delete his account"
msgstr ""
#: ../source/changelog.md:1026
msgid "#15 - Complete the administration"
msgstr ""
#: ../source/changelog.md:1031
msgid "Version 0.2.5 - Fix and improvements (2020/01/31)"
msgstr ""
#: ../source/changelog.md:1035
msgid "This version contains minor fix and improvements on client side:"
msgstr ""
#: ../source/changelog.md:1036
msgid "4c3fc34 - empty user data on logout"
msgstr ""
#: ../source/changelog.md:1037
msgid "34614d5 - add spinner on loading activities"
msgstr ""
#: ../source/changelog.md:1038
msgid "b862a77, 2e1ee2c - add URL interceptors to simplify routes definition"
msgstr ""
#: ../source/changelog.md:1043
msgid "Version 0.2.4 - Minor fix (2020/01/30)"
msgstr ""
#: ../source/changelog.md:1049
msgid "#47 - timezone drop-down is not displayed correctly"
msgstr ""
#: ../source/changelog.md:1050
msgid "#46 - calendar cannot display more than 5 or 6 activities on the same day"
msgstr ""
#: ../source/changelog.md:1055
msgid "Version 0.2.3 - FitTrackee available in French (2019/12/29)"
msgstr ""
#: ../source/changelog.md:1061
msgid "#43 - Display weekend days with a different background color on calendar"
msgstr ""
#: ../source/changelog.md:1062
msgid "#40 - Localize FitTrackee (i18n)"
msgstr ""
#: ../source/changelog.md:1066
msgid "#44 - Cannot edit an activity that does not have a gpx file"
msgstr ""
#: ../source/changelog.md:1071
msgid "Version 0.2.2 - Statistics fix (2019/09/23)"
msgstr ""
#: ../source/changelog.md:1077
msgid "#41 - User statistics are incorrect"
msgstr ""
#: ../source/changelog.md:1081
msgid "Version 0.2.1 - Fix and improvements (2019/09/01)"
msgstr ""
#: ../source/changelog.md:1087
msgid "#4 - Show points on the map when mouse over the chart"
msgstr ""
#: ../source/changelog.md:1088
msgid "#14 - Display segments informations"
msgstr ""
#: ../source/changelog.md:1089
msgid "#21 - Document the API"
msgstr ""
#: ../source/changelog.md:1090
msgid "#23 - The user can choose the first day of the week"
msgstr ""
#: ../source/changelog.md:1091
msgid "#36 - Disable user registration"
msgstr ""
#: ../source/changelog.md:1092
msgid "#33 - Add file size limit on file upload"
msgstr ""
#: ../source/changelog.md:1093
msgid "#37 - Display map on activities list"
msgstr ""
#: ../source/changelog.md:1097
msgid "#34 - Weather is not displayed anymore"
msgstr ""
#: ../source/changelog.md:1101
msgid "Poetry replaces pipenv for Python packages management"
msgstr ""
#: ../source/changelog.md:1103
msgid "In this release 8 issues were closed."
msgstr ""
#: ../source/changelog.md:1106
msgid "Version 0.2.0 - Statistics (2019/07/07)"
msgstr ""
#: ../source/changelog.md:1112
msgid "#13 - Detailed statistics"
msgstr ""
#: ../source/changelog.md:1116
msgid "Update dependencies"
msgstr ""
#: ../source/changelog.md:1121
msgid "Version 0.1.1 - Fix and improvements (2019/02/07)"
msgstr ""
#: ../source/changelog.md:1127
msgid "#25 - Display records on calendar"
msgstr ""
#: ../source/changelog.md:1128
msgid "#22 - Add a total on current month statistics"
msgstr ""
#: ../source/changelog.md:1132
msgid "#31 - Use moving duration for stats"
msgstr ""
#: ../source/changelog.md:1133
msgid "#29 - Pause duration calculation with segments"
msgstr ""
#: ../source/changelog.md:1134
msgid "#28 - Error on uploading gpx file"
msgstr ""
#: ../source/changelog.md:1135
msgid "#26 - Total is incorrect in tooltip when duration is displayed"
msgstr ""
#: ../source/changelog.md:1136
msgid ""
"#24 - Some distances are not displayed correctly on current month "
"statistics"
msgstr ""
#: ../source/changelog.md:1138
msgid "In this release 7 issues were closed."
msgstr ""
#: ../source/changelog.md:1141
msgid "Version 0.1.0 - First release 🎉 (2018-07-04)"
msgstr ""
#: ../source/changelog.md:1143
msgid "Features:"
msgstr ""
#: ../source/changelog.md:1144
msgid "Account creation (only standard user, not admin)"
msgstr ""
#: ../source/changelog.md:1145
msgid "6 sports supported:"
msgstr ""
#: ../source/changelog.md:1146 ../source/features.rst:15
msgid "Cycling (Sport)"
msgstr ""
#: ../source/changelog.md:1147 ../source/features.rst:16
msgid "Cycling (Transport)"
msgstr ""
#: ../source/changelog.md:1148 ../source/features.rst:18
#: ../source/features.rst:32
msgid "Hiking"
msgstr ""
#: ../source/changelog.md:1149 ../source/features.rst:19
msgid "Mountain Biking"
msgstr ""
#: ../source/changelog.md:1150 ../source/features.rst:25
msgid "Running"
msgstr ""
#: ../source/changelog.md:1151 ../source/features.rst:30
#: ../source/features.rst:39
msgid "Walking"
msgstr ""
#: ../source/changelog.md:1152
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:1153
msgid "Activity edition and deletion"
msgstr ""
#: ../source/changelog.md:1154
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:1155
msgid "A user can add a note"
msgstr ""
#: ../source/changelog.md:1156
msgid "Month calendar with activities"
msgstr ""
#: ../source/changelog.md:1157
msgid "Current month statistics"
msgstr ""
#: ../source/changelog.md:1158
msgid "Records by sports:"
msgstr ""
#: ../source/changelog.md:1159 ../source/features.rst:68
#: ../source/features.rst:84 ../source/features.rst:90
msgid "average speed"
msgstr ""
#: ../source/changelog.md:1160 ../source/features.rst:69
msgid "farthest distance"
msgstr ""
#: ../source/changelog.md:1161 ../source/features.rst:71
msgid "longest duration"
msgstr ""
#: ../source/changelog.md:1162 ../source/features.rst:72
#: ../source/features.rst:85
msgid "maximum speed"
msgstr ""
#: ../source/changelog.md:1163
msgid "Activities list and search"
msgstr ""
#: ../source/changelog.md:1166
msgid "Notes:"
msgstr ""
#: ../source/changelog.md:1167
msgid "only activity owner can see his activity"
msgstr ""
#: ../source/changelog.md:1168
msgid "no administration for now"
msgstr ""
#: ../source/changelog.md:1170
msgid "➡️ more informations: see documentation and current issues"
msgstr ""
#: ../source/changelog.md:1177
msgid "#11 - Timezone support"
msgstr ""
#: ../source/changelog.md:1178
msgid "#10 - Add a note to an activity"
msgstr ""
#: ../source/changelog.md:1179
msgid "#9 - User statistics on dashboard"
msgstr ""
#: ../source/changelog.md:1180
msgid "#8 - Add weather to activities"
msgstr ""
#: ../source/changelog.md:1181
msgid "#3 - Search filter for activities"
msgstr ""
#: ../source/changelog.md:1182
msgid "#2 - Calendar to view activities"
msgstr ""
#: ../source/changelog.md:1184
msgid "In this release 6 issues were closed."
msgstr ""
#: ../source/cli.rst:2
msgid "Command line interface"
msgstr ""
#: ../source/cli.rst:4
msgid ""
"A command line interface (CLI) is available to manage database, OAuth2 "
"tokens and users."
msgstr ""
#: ../source/cli.rst
msgid ""
"The following commands are now deprecated and will be removed in a next "
"version:"
msgstr ""
#: ../source/cli.rst
msgid "- ``fittrackee_set_admin``"
msgstr ""
#: ../source/cli.rst
msgid "- ``fittrackee_upgrade_db``"
msgstr ""
#: ../source/cli.rst
msgid "- ``fittrackee_worker`` (disabled)"
msgstr ""
#: ../source/cli.rst:29
msgid "Database"
msgstr ""
#: ../source/cli.rst:32
msgid "``ftcli db drop``"
msgstr ""
#: ../source/cli.rst:35
msgid ""
"Empty database and delete uploaded files, only on development "
"environments."
msgstr ""
#: ../source/cli.rst:39
msgid "``ftcli db upgrade``"
msgstr ""
#: ../source/cli.rst:42
msgid "Apply migrations."
msgstr ""
#: ../source/cli.rst:49
msgid "``ftcli oauth2 clean``"
msgstr ""
#: ../source/cli.rst:52
msgid "Remove tokens expired for more than provided number of days"
msgstr ""
#: ../source/cli.rst:59 ../source/cli.rst:80 ../source/cli.rst:97
#: ../source/cli.rst:142
msgid "Options"
msgstr ""
#: ../source/cli.rst:60 ../source/cli.rst:81 ../source/cli.rst:98
#: ../source/cli.rst:120 ../source/cli.rst:143 ../source/cli.rst:160
msgid "Description"
msgstr ""
#: ../source/cli.rst:61 ../source/cli.rst:82 ../source/cli.rst:99
msgid "``--days``"
msgstr ""
#: ../source/cli.rst:62 ../source/cli.rst:83 ../source/cli.rst:100
msgid "Number of days."
msgstr ""
#: ../source/cli.rst:70
msgid "``ftcli users clean_archives``"
msgstr ""
#: ../source/cli.rst:73
msgid ""
"Delete export requests and related archives created more than provided "
"number of days."
msgstr ""
#: ../source/cli.rst:87
msgid "``ftcli users clean_tokens``"
msgstr ""
#: ../source/cli.rst:90
msgid "Remove blacklisted tokens expired for more than provided number of days."
msgstr ""
#: ../source/cli.rst:104
msgid "``ftcli users create``"
msgstr ""
#: ../source/cli.rst:107
msgid "Create a user account."
msgstr ""
#: ../source/cli.rst:110
msgid "the newly created account is already active."
msgstr ""
#: ../source/cli.rst:111
msgid "the CLI allows to create users when registration is disabled."
msgstr ""
#: ../source/cli.rst:119 ../source/cli.rst:159
msgid "Arguments/options"
msgstr ""
#: ../source/cli.rst:121 ../source/cli.rst:161
msgid "``USERNAME``"
msgstr ""
#: ../source/cli.rst:122 ../source/cli.rst:162
msgid "Username."
msgstr ""
#: ../source/cli.rst:123
msgid "``--email EMAIL``"
msgstr ""
#: ../source/cli.rst:124
msgid "User email (mandatory)."
msgstr ""
#: ../source/cli.rst:125
msgid "``--password PASSWORD``"
msgstr ""
#: ../source/cli.rst:126
msgid "User password (if not provided, a random password is generated)."
msgstr ""
#: ../source/cli.rst:131
msgid "``ftcli users export_archives``"
msgstr ""
#: ../source/cli.rst:134
msgid ""
"Process incomplete user export requests. Can be used if redis is not set "
"(no dramatiq workers running)."
msgstr ""
#: ../source/cli.rst:144
msgid "``--max``"
msgstr ""
#: ../source/cli.rst:145
msgid "Maximum number of export requests to process."
msgstr ""
#: ../source/cli.rst:149
msgid "``ftcli users update``"
msgstr ""
#: ../source/cli.rst:152
msgid "Modify a user account (admin rights, active status, email and password)."
msgstr ""
#: ../source/cli.rst:163
msgid "``--set-admin BOOLEAN``"
msgstr ""
#: ../source/cli.rst:164
msgid ""
"Add/remove admin rights (when adding admin rights, it also activates user"
" account if not active)."
msgstr ""
#: ../source/cli.rst:165
msgid "``--activate``"
msgstr ""
#: ../source/cli.rst:166
msgid "Activate user account."
msgstr ""
#: ../source/cli.rst:167
msgid "``--reset-password``"
msgstr ""
#: ../source/cli.rst:168
msgid "Reset user password (a new password will be displayed)."
msgstr ""
#: ../source/cli.rst:169
msgid "``--update-email EMAIL``"
msgstr ""
#: ../source/cli.rst:170
msgid "Update user email."
msgstr ""
#: ../source/features.rst:4
msgid ""
"**FitTrackee** allows you to store and display gpx files and some "
"statistics from your outdoor activities."
msgstr ""
#: ../source/features.rst:5
msgid ""
"For now, this app is kind of a single-user application. Even if several "
"users can register, a user can only view his own workouts."
msgstr ""
#: ../source/features.rst:7
msgid "Gpx files are stored in an upload directory (without encryption)."
msgstr ""
#: ../source/features.rst:9
msgid ""
"With the default configuration, `Open Street Map "
"<https://www.openstreetmap.org>`__ is used as tile server in Workout "
"detail and for static map generation."
msgstr ""
#: ../source/features.rst:29
msgid "14 sports are supported:"
msgstr ""
#: ../source/features.rst:17
msgid "Cycling (Virtual) (*new in 0.7.3*)"
msgstr ""
#: ../source/features.rst:20
msgid "Mountain Biking (Electric) (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:21
msgid "Mountaineering (*new in 0.7.9*)"
msgstr ""
#: ../source/features.rst:22
msgid "Open Water Swimming (*new in 0.7.20*)"
msgstr ""
#: ../source/features.rst:23
msgid "Paragliding (*new in 0.7.19*)"
msgstr ""
#: ../source/features.rst:24
msgid "Rowing (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:26
msgid "Skiing (Alpine) (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:27
msgid "Skiing (Cross Country) (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:28
msgid "Snowshoes (*new in 0.5.2*)"
msgstr ""
#: ../source/features.rst:29
msgid "Trail (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:39
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:33
msgid "Mountaineering"
msgstr ""
#: ../source/features.rst:34
msgid "Open Water Swimming"
msgstr ""
#: ../source/features.rst:35
msgid "Paragliding"
msgstr ""
#: ../source/features.rst:36
msgid "Skiing (Cross Country)"
msgstr ""
#: ../source/features.rst:37
msgid "Snowshoes"
msgstr ""
#: ../source/features.rst:38
msgid "Trail"
msgstr ""
#: ../source/features.rst:42
msgid "It can be overridden in user preferences."
msgstr ""
#: ../source/features.rst:44
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:45
msgid ""
"Workout creation by uploading a gpx file (related data are stored in "
"database in metric system)."
msgstr ""
#: ../source/features.rst
msgid "Only gpx files with time are supported."
msgstr ""
#: ../source/features.rst
msgid ""
"Calculated values may differ from values calculated by the application "
"that originally generated the gpx files, in particular the maximum speed."
msgstr ""
#: ../source/features.rst
msgid ""
"A workout can even be created without gpx (the user must enter date, "
"time, duration and distance)."
msgstr ""
#: ../source/features.rst
msgid "Ascent and descent can also be provided (*new in 0.7.10*)."
msgstr ""
#: ../source/features.rst
msgid ""
"A workout with a gpx file can be displayed with map and charts (speed and"
" elevation)."
msgstr ""
#: ../source/features.rst
msgid "Controls allow full screen view and position reset (*new in 0.5.5*)."
msgstr ""
#: ../source/features.rst
msgid ""
"If **Visual Crossing** (*new in 0.7.11*) API key is provided, weather is "
"displayed in workout detail. Data source is displayed in **About** page."
msgstr ""
#: ../source/features.rst
msgid ""
"Wind is displayed, with an arrow indicating the direction (a tooltip can "
"be displayed with the direction that the wind is coming **from**) (*new "
"in 0.5.5*)."
msgstr ""
#: ../source/features.rst:57
msgid "Segments can be displayed."
msgstr ""
#: ../source/features.rst:58
msgid "Workout gpx file can be downloaded (*new in 0.5.1*)"
msgstr ""
#: ../source/features.rst:59
msgid "Workout edition and deletion. User can add a note."
msgstr ""
#: ../source/features.rst:65
msgid "User statistics, by time period (week, month, year) and sport:"
msgstr ""
#: ../source/features.rst:61
msgid "total distance"
msgstr ""
#: ../source/features.rst:62
msgid "total duration"
msgstr ""
#: ../source/features.rst:63
msgid "total workouts"
msgstr ""
#: ../source/features.rst:64
msgid "total ascent (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:65
msgid "total descent (*new in 0.5.0*)"
msgstr ""
#: ../source/features.rst:66
msgid "average speed (*new in 0.5.1*)"
msgstr ""
#: ../source/features.rst:72
msgid "User records by sports:"
msgstr ""
#: ../source/features.rst:70
msgid "highest ascent (*new in 0.6.11*, can be hidden, see user preferences)"
msgstr ""
#: ../source/features.rst:75
msgid ""
"Records may differ from records displayed by the application that "
"originally generated the gpx files."
msgstr ""
#: ../source/features.rst:90
msgid "Workouts list."
msgstr ""
#: ../source/features.rst:84
msgid "The user can filter workouts on:"
msgstr ""
#: ../source/features.rst:79 ../source/features.rst:87
msgid "date"
msgstr ""
#: ../source/features.rst:80
msgid "sports (only sports with workouts are displayed in sport dropdown)"
msgstr ""
#: ../source/features.rst:81
msgid "title (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:82 ../source/features.rst:88
msgid "distance"
msgstr ""
#: ../source/features.rst:83 ../source/features.rst:89
msgid "duration"
msgstr ""
#: ../source/features.rst:90
msgid "Workouts can be sorted by:"
msgstr ""
#: ../source/features.rst:93
msgid "For now, only the owner of the workout can see it."
msgstr ""
#: ../source/features.rst:97
msgid "Account & preferences"
msgstr ""
#: ../source/features.rst:98
msgid "A user can create, update and deleted his account."
msgstr ""
#: ../source/features.rst:99
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:100
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:101
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:105
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:107
msgid "A user can set language, timezone and first day of week."
msgstr ""
#: ../source/features.rst:108
msgid "A user can reset his password (*new in 0.3.0*)"
msgstr ""
#: ../source/features.rst:109
msgid "A user can change his email address (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:110
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:111
msgid ""
"A user can choose to display or hide ascent records and total on "
"Dashboard (*new in 0.6.11*)"
msgstr ""
#: ../source/features.rst:112
msgid "A user can choose format used to display dates (*new in 0.7.3*)"
msgstr ""
#: ../source/features.rst:113
msgid ""
"A user can choose elevation chart axis start: zero or minimum altitude "
"(*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:114
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:117
msgid "Changing this preference will only affect next file uploads."
msgstr ""
#: ../source/features.rst:122
msgid "A user can set sport preferences (*new in 0.5.0*):"
msgstr ""
#: ../source/features.rst:120
msgid "change sport color (used for sport image and charts)"
msgstr ""
#: ../source/features.rst:121
msgid "can override stopped speed threshold (for next uploaded gpx files)"
msgstr ""
#: ../source/features.rst:122
msgid "disable/enable a sport."
msgstr ""
#: ../source/features.rst
msgid ""
"If a sport is disabled by an administrator, it can not be enabled by a "
"user. In this case, it will only appear in preferences if the user has "
"workouts and only sport color can be changed."
msgstr ""
#: ../source/features.rst
msgid ""
"A disabled sport (by admin or user) will not appear in dropdown when "
"**adding a workout**."
msgstr ""
#: ../source/features.rst
msgid ""
"A workout with a disabled sport will still be displayed in the "
"application."
msgstr ""
#: ../source/features.rst:129
msgid ""
"A user can create `clients <apps.html>`__ for third-party applications "
"(*new in 0.7.0*)."
msgstr ""
#: ../source/features.rst
msgid "A user can request a data export (*new in 0.7.13*)."
msgstr ""
#: ../source/features.rst
msgid ""
"It generates a zip archive containing 2 ``json`` files (user info and "
"workouts data) and all uploaded gpx files."
msgstr ""
#: ../source/features.rst:134
msgid ""
"For now, it's not possible to import these files into another "
"**FitTrackee** instance."
msgstr ""
#: ../source/features.rst:138 ../source/features.rst:243
msgid "Administration"
msgstr ""
#: ../source/features.rst:139
msgid "(*new in 0.3.0*)"
msgstr ""
#: ../source/features.rst:142
msgid "Application"
msgstr ""
#: ../source/features.rst:144
msgid "**Configuration**"
msgstr ""
#: ../source/features.rst:146
msgid "The following parameters can be set:"
msgstr ""
#: ../source/features.rst:148
msgid "active users limit. If 0, registration is enabled (no limit defined)."
msgstr ""
#: ../source/features.rst:149
msgid ""
"maximum size of gpx file (individually uploaded or in a zip archive) "
"(*changed in 0.7.4*)"
msgstr ""
#: ../source/features.rst:150
msgid "maximum size of zip archive"
msgstr ""
#: ../source/features.rst:151
msgid "maximum number of files in the zip archive (*changed in 0.7.4*)"
msgstr ""
#: ../source/features.rst:152
msgid "administrator email for contact (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:155
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:158
msgid "If email sending is disabled, a warning is displayed."
msgstr ""
#: ../source/features.rst:160
msgid "**About**"
msgstr ""
#: ../source/features.rst:162 ../source/features.rst:170
msgid "(*new in 0.7.13*)"
msgstr ""
#: ../source/features.rst:164
msgid ""
"It is possible displayed additional information that may be useful to "
"users in **About** page."
msgstr ""
#: ../source/features.rst:165
msgid "Markdown syntax can be used."
msgstr ""
#: ../source/features.rst:168
msgid "**Privacy policy**"
msgstr ""
#: ../source/features.rst:172
msgid ""
"A default privacy policy is available (originally adapted from the "
"`Discourse <https://github.com/discourse/discourse>`__ privacy policy)."
msgstr ""
#: ../source/features.rst:173
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:176
msgid ""
"Only the default privacy policy is translated (if the translation is "
"available)."
msgstr ""
#: ../source/features.rst:181
msgid "display and filter users list"
msgstr ""
#: ../source/features.rst:182
msgid "edit a user to:"
msgstr ""
#: ../source/features.rst:184
msgid "add/remove administration rights"
msgstr ""
#: ../source/features.rst:185
msgid "activate his account (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:186
msgid "update his email (in case his account is locked) (*new in 0.6.0*)"
msgstr ""
#: ../source/features.rst:187
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:188
msgid "delete a user"
msgstr ""
#: ../source/features.rst:193
msgid ""
"enable or disable a sport (a sport can be disabled even if workout with "
"this sport exists)"
msgstr ""
#: ../source/features.rst:198
msgid ""
"FitTrackee is available in the following languages (which can be saved in"
" the user preferences):"
msgstr ""
#: ../source/features.rst:200
msgid "English"
msgstr ""
#: ../source/features.rst:201
msgid "French (*new in 0.2.3*)"
msgstr ""
#: ../source/features.rst:202
msgid "German (*new in 0.6.9*)"
msgstr ""
#: ../source/features.rst:203
msgid "Dutch (*new in 0.7.8*)"
msgstr ""
#: ../source/features.rst:204
msgid "Italian (*new in 0.7.10*)"
msgstr ""
#: ../source/features.rst:205
msgid "Galician (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:206
msgid "Spanish (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:207
msgid "Norwegian Bokmål (*new in 0.7.15*)"
msgstr ""
#: ../source/features.rst:208
msgid "Polish (*new in 0.7.18*)"
msgstr ""
#: ../source/features.rst:210
msgid ""
"Application translations status on `Weblate "
"<https://hosted.weblate.org/engage/fittrackee/>`__ (may differ from the "
"released version):"
msgstr ""
#: ../source/features.rst:216
msgid "Screenshots"
msgstr ""
#: ../source/features.rst:219
msgid "Dashboard"
msgstr ""
#: ../source/features.rst:-1 ../source/index.rst:-1
msgid "FitTrackee Dashboard"
msgstr ""
#: ../source/features.rst:226
msgid "Workout detail"
msgstr ""
#: ../source/features.rst:-1
msgid "FitTrackee Workout"
msgstr ""
#: ../source/features.rst:232
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:371
#: ../source/installation.rst:804
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 11+"
msgstr ""
#: ../source/installation.rst:33
msgid "optional"
msgstr ""
#: ../source/installation.rst:28
msgid ""
"Redis for task queue (if email sending is enabled and for data export "
"requests) and API rate limits"
msgstr ""
#: ../source/installation.rst:29
msgid "SMTP provider (if email sending is enabled)"
msgstr ""
#: ../source/installation.rst:30
msgid "API key from a `weather data provider <installation.html#weather-data>`__"
msgstr ""
#: ../source/installation.rst:31
msgid ""
"`Poetry <https://poetry.eustace.io>`__ (for installation from sources "
"only)"
msgstr ""
#: ../source/installation.rst:32
msgid ""
"`Node <https://nodejs.org>`__ 16+ and `Yarn <https://yarnpkg.com>`__ (for"
" development only)"
msgstr ""
#: ../source/installation.rst:33
msgid "Docker and Docker Compose (for development or evaluation purposes)"
msgstr ""
#: ../source/installation.rst
msgid ""
"If registration is enabled, it is recommended to set Redis and a SMTP "
"provider for email sending and data export requests."
msgstr ""
#: ../source/installation.rst
msgid ""
"The following steps describe an installation on Linux systems (tested on "
"Debian and Arch)."
msgstr ""
#: ../source/installation.rst
msgid ""
"On other OS, some issues can be encountered and adaptations may be "
"necessary."
msgstr ""
#: ../source/installation.rst:46
msgid "Environment variables"
msgstr ""
#: ../source/installation.rst
msgid "Since FitTrackee 0.4.0, ``Makefile.custom.config`` is replaced by ``.env``"
msgstr ""
#: ../source/installation.rst:51
msgid ""
"The following environment variables are used by **FitTrackee** web "
"application or the task processing library. They are not all mandatory "
"depending on deployment method."
msgstr ""
#: ../source/installation.rst:57
msgid "Name of the module to import at flask run."
msgstr ""
#: ../source/installation.rst:58
msgid ""
"``FLASK_APP`` should contain ``$(PWD)/fittrackee/__main__.py`` with "
"installation from sources, else ``fittrackee``."
msgstr ""
#: ../source/installation.rst:63
msgid "**FitTrackee** host."
msgstr ""
#: ../source/installation.rst
msgid "default"
msgstr ""
#: ../source/installation.rst:65
msgid "``127.0.0.1``"
msgstr ""
#: ../source/installation.rst:70
msgid "**FitTrackee** port."
msgstr ""
#: ../source/installation.rst:72
msgid "5000"
msgstr ""
#: ../source/installation.rst:77
msgid "**FitTrackee** configuration."
msgstr ""
#: ../source/installation.rst:79
msgid "``fittrackee.config.ProductionConfig``"
msgstr ""
#: ../source/installation.rst:84
msgid "**FitTrackee** secret key, must be initialized in production environment."
msgstr ""
#: ../source/installation.rst:87
msgid "Use a strong secret key. This key is used in JWT generation."
msgstr ""
#: ../source/installation.rst:91
msgid "Number of workers spawned by **Gunicorn**."
msgstr ""
#: ../source/installation.rst:93
msgid "1"
msgstr ""
#: ../source/installation.rst:100
msgid "Path to log file"
msgstr ""
#: ../source/installation.rst:107
msgid ""
"**Absolute path** to the directory where ``uploads`` folder will be "
"created."
msgstr ""
#: ../source/installation.rst:109
msgid "``<application_directory>/fittrackee``"
msgstr ""
#: ../source/installation.rst
msgid ""
"With installation from PyPI, the directory will be located in "
"**virtualenv** directory if the variable is not initialized."
msgstr ""
#: ../source/installation.rst:117
msgid ""
"Database URL with username and password, must be initialized in "
"production environment."
msgstr ""
#: ../source/installation.rst:118
msgid ""
"For example in dev environment : "
"``postgresql://fittrackee:fittrackee@localhost:5432/fittrackee``"
msgstr ""
#: ../source/installation.rst
msgid ""
"Since `SQLAlchemy update (1.4+) "
"<https://docs.sqlalchemy.org/en/14/changelog/changelog_14.html#change-"
"3687655465c25a39b968b4f5f6e9170b>`__, engine URL should begin with "
"``postgresql://``."
msgstr ""
#: ../source/installation.rst:128
msgid ""
"Disable pooling if needed (when starting application with **FitTrackee** "
"entry point and not directly with **Gunicorn**), see `SqlAlchemy "
"documentation <https://docs.sqlalchemy.org/en/13/core/pooling.html#using-"
"connection-pools-with-multiprocessing-or-os-fork>`__."
msgstr ""
#: ../source/installation.rst:131
msgid "``false``"
msgstr ""
#: ../source/installation.rst:135
msgid "**FitTrackee** URL, needed for links in emails."
msgstr ""
#: ../source/installation.rst:142
msgid "Email URL with credentials, see `Emails <installation.html#emails>`__."
msgstr ""
#: ../source/installation.rst:146 ../source/installation.rst:203
msgid "empty string"
msgstr ""
#: ../source/installation.rst:149
msgid "If the email URL is empty, email sending will be disabled."
msgstr ""
#: ../source/installation.rst ../source/installation.rst:152
msgid "If the email URL is invalid, the application may not start."
msgstr ""
#: ../source/installation.rst:158
msgid "**FitTrackee** sender email address."
msgstr ""
#: ../source/installation.rst:165
msgid "Redis instance used by **Dramatiq** and **Flask-Limiter**."
msgstr ""
#: ../source/installation.rst:167
msgid "local Redis instance (``redis://``)"
msgstr ""
#: ../source/installation.rst:174
msgid "Number of processes used by **Dramatiq**."
msgstr ""
#: ../source/installation.rst:181
msgid ""
"API rate limits, see `API rate limits <installation.html#api-rate-"
"limits>`__."
msgstr ""
#: ../source/installation.rst:183
msgid "``300 per 5 minutes``"
msgstr ""
#: ../source/installation.rst:190
msgid ""
"Tile server URL (with api key if needed), see `Map tile server "
"<installation.html#map-tile-server>`__."
msgstr ""
#: ../source/installation.rst:191
msgid ""
"Since **0.4.9**, it's also used to generate static maps (to keep default "
"server, see `DEFAULT_STATICMAP <installation.html#envvar-"
"DEFAULT_STATICMAP>`__)"
msgstr ""
#: ../source/installation.rst:193
msgid "``https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png``"
msgstr ""
#: ../source/installation.rst:200
msgid ""
"Some tile servers require a subdomain, see `Map tile server "
"<installation.html#map-tile-server>`__."
msgstr ""
#: ../source/installation.rst:201
msgid "For instance: \"a,b,c\" for OSM France."
msgstr ""
#: ../source/installation.rst:210
msgid ""
"Map attribution (if using another tile server), see `Map tile server "
"<installation.html#map-tile-server>`__."
msgstr ""
#: ../source/installation.rst:212
msgid ""
"``&copy; <a href=\"http://www.openstreetmap.org/copyright\" "
"target=\"_blank\" rel=\"noopener noreferrer\">OpenStreetMap</a> "
"contributors``"
msgstr ""
#: ../source/installation.rst:219
msgid ""
"If ``True``, it keeps using default tile server to generate static maps "
"(Komoot.de tile server)."
msgstr ""
#: ../source/installation.rst:220
msgid ""
"Otherwise, it uses the tile server set in `TILE_SERVER_URL "
"<installation.html#envvar-TILE_SERVER_URL>`__."
msgstr ""
#: ../source/installation.rst:224
msgid "This variable is now case-insensitive."
msgstr ""
#: ../source/installation.rst:225
msgid ""
"If ``False``, depending on tile server, `subdomains <installation.html"
"#envvar-STATICMAP_SUBDOMAINS>`__ may be mandatory."
msgstr ""
#: ../source/installation.rst:227
msgid "``False``"
msgstr ""
#: ../source/installation.rst:232
msgid "⚠️ replaces ``WEATHER_API``"
msgstr ""
#: ../source/installation.rst:234
msgid "Weather API key (not mandatory), see ``WEATHER_API_PROVIDER``."
msgstr ""
#: ../source/installation.rst:241
msgid ""
"Provider for weather data (not mandatory), see `Weather data "
"<installation.html#weather-data>`__."
msgstr ""
#: ../source/installation.rst:246
msgid "**FitTrackee** API URL, only needed in dev environment."
msgstr ""
#: ../source/installation.rst:251
msgid "Emails"
msgstr ""
#: ../source/installation.rst:254
msgid "To send emails, a valid ``EMAIL_URL`` must be provided:"
msgstr ""
#: ../source/installation.rst:256
msgid ""
"with an unencrypted SMTP server: "
"``smtp://username:password@smtp.example.com:25``"
msgstr ""
#: ../source/installation.rst:257
msgid "with SSL: ``smtp://username:password@smtp.example.com:465/?ssl=True``"
msgstr ""
#: ../source/installation.rst:258
msgid "with STARTTLS: ``smtp://username:password@smtp.example.com:587/?tls=True``"
msgstr ""
#: ../source/installation.rst
msgid "Sending emails with Office365 may not work if SMTP auth is disabled."
msgstr ""
#: ../source/installation.rst:266
msgid "Credentials can be omitted: ``smtp://smtp.example.com:25``."
msgstr ""
#: ../source/installation.rst:267
msgid "If ``:<port>`` is omitted, the port defaults to 25."
msgstr ""
#: ../source/installation.rst
msgid ""
"Since 0.6.0, newly created accounts must be confirmed (an email with "
"confirmation instructions is sent after registration)."
msgstr ""
#: ../source/installation.rst:272
msgid "Emails sent by FitTrackee are:"
msgstr ""
#: ../source/installation.rst:274
msgid "account confirmation instructions"
msgstr ""
#: ../source/installation.rst:275
msgid "password reset request"
msgstr ""
#: ../source/installation.rst:276
msgid "email change (to old and new email adresses)"
msgstr ""
#: ../source/installation.rst:277
msgid "password change"
msgstr ""
#: ../source/installation.rst:278
msgid ""
"notification when a data export archive is ready to download (*new in "
"0.7.13*)"
msgstr ""
#: ../source/installation.rst:282
msgid ""
"For single-user instance, it is possible to disable email sending with an"
" empty ``EMAIL_URL`` (in this case, no need to start dramatiq workers)."
msgstr ""
#: ../source/installation.rst:284
msgid ""
"A `CLI <cli.html#ftcli-users-update>`__ is available to activate account,"
" modify email and password and handle data export requests."
msgstr ""
#: ../source/installation.rst:288
msgid "Map tile server"
msgstr ""
#: ../source/installation.rst:291
msgid ""
"Default tile server is now **OpenStreetMap**'s standard tile layer (if "
"environment variables are not initialized). The tile server can be "
"changed by updating ``TILE_SERVER_URL`` and ``MAP_ATTRIBUTION`` variables"
" (`list of tile servers "
"<https://wiki.openstreetmap.org/wiki/Raster_tile_providers>`__)."
msgstr ""
#: ../source/installation.rst:294
msgid "To keep using **ThunderForest Outdoors**, the configuration is:"
msgstr ""
#: ../source/installation.rst:296
msgid ""
"``TILE_SERVER_URL=https://{s}.tile.thunderforest.com/outdoors/{z}/{x}/{y}.png?apikey=XXXX``"
" where **XXXX** is **ThunderForest** API key"
msgstr ""
#: ../source/installation.rst:297
msgid ""
"``MAP_ATTRIBUTION=&copy; <a "
"href=\"http://www.thunderforest.com/\">Thunderforest</a>, &copy; <a "
"href=\"http://www.openstreetmap.org/copyright\">OpenStreetMap</a> "
"contributors``"
msgstr ""
#: ../source/installation.rst
msgid "Check the terms of service of tile provider for map attribution."
msgstr ""
#: ../source/installation.rst:305
msgid ""
"Since the tile server can be used for static map generation, some servers"
" require a subdomain."
msgstr ""
#: ../source/installation.rst:307
msgid "For instance, to set OSM France tile server, the expected values are:"
msgstr ""
#: ../source/installation.rst:309
msgid "``TILE_SERVER_URL=https://{s}.tile.openstreetmap.fr/osmfr/{z}/{x}/{y}.png``"
msgstr ""
#: ../source/installation.rst:310
msgid ""
"``MAP_ATTRIBUTION='fond de carte par <a "
"href=\"http://www.openstreetmap.fr/mentions-legales/\" target=\"_blank\" "
"rel=\"nofollow noopener\">OpenStreetMap France</a>, sous&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:311
msgid "``STATICMAP_SUBDOMAINS=a,b,c``"
msgstr ""
#: ../source/installation.rst:313
msgid "The subdomain will be chosen randomly."
msgstr ""
#: ../source/installation.rst:317
msgid "API rate limits"
msgstr ""
#: ../source/installation.rst:320
msgid ""
"API rate limits are managed by `Flask-Limiter <https://flask-"
"limiter.readthedocs.io/en/stable>`_, based on IP with fixed window "
"strategy."
msgstr ""
#: ../source/installation.rst:321
msgid "To enable rate limits, **Redis** must be available."
msgstr ""
#: ../source/installation.rst
msgid ""
"If no Redis instance is available for rate limits, FitTrackee can still "
"start."
msgstr ""
#: ../source/installation.rst:326
msgid "All endpoints are subject to rate limits, except endpoints serving assets."
msgstr ""
#: ../source/installation.rst:327
msgid ""
"Limits can be modified by setting the environment variable "
"``API_RATE_LIMITS`` (see `Flask-Limiter documentation for notation <https"
"://flask-limiter.readthedocs.io/en/stable/configuration.html#rate-limit-"
"string-notation>`_)."
msgstr ""
#: ../source/installation.rst:328
msgid "Rate limits must be separated by a comma, for instance:"
msgstr ""
#: ../source/installation.rst:334
msgid ""
"**Flask-Limiter** provides a `Command Line Interface <https://flask-"
"limiter.readthedocs.io/en/stable/cli.html>`_ for maintenance and "
"diagnostic purposes."
msgstr ""
#: ../source/installation.rst:353
msgid "Weather data"
msgstr ""
#: ../source/installation.rst:356
msgid "The following weather data providers are supported by **FitTrackee**:"
msgstr ""
#: ../source/installation.rst:358
msgid ""
"`Visual Crossing <https://www.visualcrossing.com>`__ (**note**: "
"historical data are provided on hourly period)"
msgstr ""
#: ../source/installation.rst:360
msgid "To configure a weather provider, set the following environment variables:"
msgstr ""
#: ../source/installation.rst:362
msgid "``WEATHER_API_KEY``: the key to the corresponding weather provider"
msgstr ""
#: ../source/installation.rst:367
msgid ""
"**DarkSky** support is discontinued, since the service shut down on March"
" 31, 2023."
msgstr ""
#: ../source/installation.rst
msgid ""
"Note that **FitTrackee** is under heavy development, some features may be"
" unstable."
msgstr ""
#: ../source/installation.rst:377 ../source/installation.rst:567
msgid "From PyPI"
msgstr ""
#: ../source/installation.rst
msgid "Recommended way on production."
msgstr ""
#: ../source/installation.rst:382
msgid "Create and activate a virtualenv"
msgstr ""
#: ../source/installation.rst:384
msgid "Install **FitTrackee** with pip"
msgstr ""
#: ../source/installation.rst:390
msgid "Create ``fittrackee`` database"
msgstr ""
#: ../source/installation.rst:392
msgid "Example :"
msgstr ""
#: ../source/installation.rst
msgid ""
"see PostgreSQL `documentation <https://www.postgresql.org/docs/15/ddl-"
"schemas.html>`_ for schema and privileges."
msgstr ""
#: ../source/installation.rst:403
msgid ""
"Initialize environment variables, see `Environment variables "
"<installation.html#environment-variables>`__"
msgstr ""
#: ../source/installation.rst:405
msgid ""
"For instance, copy and update ``.env`` file from ``.env.example`` and "
"source the file."
msgstr ""
#: ../source/installation.rst:412
msgid "Initialize database schema"
msgstr ""
#: ../source/installation.rst:418
msgid "Start the application"
msgstr ""
#: ../source/installation.rst:424
msgid ""
"Start task queue workers if email sending is enabled, with flask-dramatiq"
" CLI:"
msgstr ""
#: ../source/installation.rst
msgid ""
"To start application and workers with **systemd** service, see "
"`Deployment <installation.html#deployment>`__"
msgstr ""
#: ../source/installation.rst:433 ../source/installation.rst:542
msgid "Open http://localhost:5000 and register"
msgstr ""
#: ../source/installation.rst:435 ../source/installation.rst:493
#: ../source/installation.rst:544 ../source/installation.rst:829
msgid ""
"To set admin rights to the newly created account, use the following "
"command line:"
msgstr ""
#: ../source/installation.rst:442 ../source/installation.rst:500
#: ../source/installation.rst:551 ../source/installation.rst:836
msgid "If the user account is inactive, it activates it."
msgstr ""
#: ../source/installation.rst:445 ../source/installation.rst:594
msgid "From sources"
msgstr ""
#: ../source/installation.rst
msgid "Since **FitTrackee** 0.2.1, Python packages installation needs Poetry."
msgstr ""
#: ../source/installation.rst
msgid ""
"For more information, see `Poetry Documentation <https://python-"
"poetry.org/docs/#installation>`__"
msgstr ""
#: ../source/installation.rst
msgid "To keep virtualenv in project directory, update Poetry configuration."
msgstr ""
#: ../source/installation.rst:459 ../source/installation.rst:597
msgid "Dev environment"
msgstr ""
#: ../source/installation.rst:461
msgid "Clone this repo:"
msgstr ""
#: ../source/installation.rst:468 ../source/installation.rst:517
msgid ""
"Create **.env** from example and update it (see `Environment variables "
"<installation.html#environment-variables>`__)."
msgstr ""
#: ../source/installation.rst:471
msgid ""
"Install Python virtualenv, Vue and all related packages and initialize "
"the database:"
msgstr ""
#: ../source/installation.rst:479
msgid "Start the server and the client:"
msgstr ""
#: ../source/installation.rst:485 ../source/installation.rst:625
msgid "Run dramatiq workers:"
msgstr ""
#: ../source/installation.rst:491
msgid "Open http://localhost:3000 and register"
msgstr ""
#: ../source/installation.rst:503
msgid "Production environment"
msgstr ""
#: ../source/installation.rst
msgid ""
"Note that FitTrackee is under heavy development, some features may be "
"unstable."
msgstr ""
#: ../source/installation.rst:508
msgid "Download the last release (for now, it is the release v0.7.20):"
msgstr ""
#: ../source/installation.rst:520
msgid "Install Python virtualenv and all related packages:"
msgstr ""
#: ../source/installation.rst:526
msgid ""
"Initialize the database (**after updating** ``db/create.sql`` **to change"
" database credentials**):"
msgstr ""
#: ../source/installation.rst:533
msgid "Start the server and dramatiq workers:"
msgstr ""
#: ../source/installation.rst:540 ../source/installation.rst:668
msgid "If email sending is disabled: ``$ make run-server``"
msgstr ""
#: ../source/installation.rst:554
msgid "Upgrade"
msgstr ""
#: ../source/installation.rst
msgid "Before upgrading, make a backup of all data:"
msgstr ""
#: ../source/installation.rst
msgid ""
"- database (with `pg_dump <https://www.postgresql.org/docs/11/app-"
"pgdump.html>`__ for instance)"
msgstr ""
#: ../source/installation.rst
msgid ""
"- upload directory (see `Environment variables <installation.html"
"#environment-variables>`__)"
msgstr ""
#: ../source/installation.rst:563
msgid ""
"For now, releases do not follow `semantic versioning "
"<https://semver.org>`__). Any version may contain backward-incompatible "
"changes."
msgstr ""
#: ../source/installation.rst:569
msgid "Stop the application and activate the virtualenv"
msgstr ""
#: ../source/installation.rst:571
msgid "Upgrade with pip"
msgstr ""
#: ../source/installation.rst:577
msgid ""
"Update environment variables if needed and source environment variables "
"file"
msgstr ""
#: ../source/installation.rst:584 ../source/installation.rst:613
#: ../source/installation.rst:655
msgid "Upgrade database if needed (see changelog for migrations):"
msgstr ""
#: ../source/installation.rst:590
msgid ""
"Restart the application and task queue workers (if email sending is "
"enabled)."
msgstr ""
#: ../source/installation.rst:599
msgid "Stop the application and pull the repository:"
msgstr ""
#: ../source/installation.rst:605 ../source/installation.rst:647
msgid ""
"Update **.env** if needed (see `Environment variables <installation.html"
"#environment-variables>`__)."
msgstr ""
#: ../source/installation.rst:607 ../source/installation.rst:649
msgid "Upgrade packages:"
msgstr ""
#: ../source/installation.rst:619
msgid "Restart the server:"
msgstr ""
#: ../source/installation.rst:632
msgid "Prod environment"
msgstr ""
#: ../source/installation.rst:634
msgid "Stop the application"
msgstr ""
#: ../source/installation.rst:636
msgid "Change to the directory where FitTrackee directory is located"
msgstr ""
#: ../source/installation.rst:638
msgid ""
"Download the last release (for now, it is the release v0.7.20) and "
"overwrite existing files:"
msgstr ""
#: ../source/installation.rst:661
msgid "Restart the server and dramatiq workers:"
msgstr ""
#: ../source/installation.rst:671
msgid "Deployment"
msgstr ""
#: ../source/installation.rst:673
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:677
msgid ""
"Examples (to adapt depending on your instance configuration and operating"
" system):"
msgstr ""
#: ../source/installation.rst:679
msgid "for application: ``fittrackee.service``"
msgstr ""
#: ../source/installation.rst:719
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:722
msgid ""
"More information on deployment with Gunicorn in its `documentation "
"<https://docs.gunicorn.org/en/stable/deploy.html>`__."
msgstr ""
#: ../source/installation.rst:724
msgid "for task queue workers: ``fittrackee_workers.service``"
msgstr ""
#: ../source/installation.rst:759
msgid "**Nginx** configuration:"
msgstr ""
#: ../source/installation.rst:797
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:801
msgid "Docker"
msgstr ""
#: ../source/installation.rst:808
msgid ""
"For evaluation purposes, docker files are available, installing "
"**FitTrackee** from **sources**."
msgstr ""
#: ../source/installation.rst:810
msgid "To install **FitTrackee**:"
msgstr ""
#: ../source/installation.rst:819
msgid "To initialise database:"
msgstr ""
#: ../source/installation.rst:825
msgid "Open http://localhost:5000 and register."
msgstr ""
#: ../source/installation.rst:827
msgid ""
"Open http://localhost:8025 to access `MailHog interface "
"<https://github.com/mailhog/MailHog>`_ (email testing tool)"
msgstr ""
#: ../source/installation.rst:838
msgid "To stop **Fittrackee**:"
msgstr ""
#: ../source/installation.rst:844
msgid "To start **Fittrackee** (application and dramatiq workers):"
msgstr ""
#: ../source/installation.rst:851
msgid "To run shell inside **Fittrackee** container:"
msgstr ""
#: ../source/installation.rst:859
msgid "Development"
msgstr ""
#: ../source/installation.rst:863
msgid "an additional step is needed to install ``fittrackee_client``"
msgstr ""
#: ../source/installation.rst:869
msgid "to start **FitTrackee** with client dev tools:"
msgstr ""
#: ../source/installation.rst:875
msgid "Open http://localhost:3000"
msgstr ""
#: ../source/installation.rst:878
msgid "Some environment variables need to be updated like ``UI_URL``"
msgstr ""
#: ../source/installation.rst:880
msgid "to run lint or tests:"
msgstr ""
#: ../source/installation.rst:891
msgid "Yunohost"
msgstr ""
#: ../source/installation.rst:893
msgid ""
"A package is available, see https://github.com/YunoHost-"
"Apps/fittrackee_ynh."
msgstr ""
#: ../source/oauth.rst:2
msgid "OAuth 2.0"
msgstr ""
#: ../source/oauth.rst:3
msgid "(*new in 0.7.0*)"
msgstr ""
#: ../source/oauth.rst:5
msgid ""
"FitTrackee provides a REST API (see `documentation <api/index.html>`__) "
"whose most endpoints require authentication/authorization."
msgstr ""
#: ../source/oauth.rst:8
msgid ""
"To allow a third-party application to interact with API endpoints, an "
"`OAuth2 <https://datatracker.ietf.org/doc/html/rfc6749>`_ client can be "
"created in user settings ('apps' tab)."
msgstr ""
#: ../source/oauth.rst:13
msgid ""
"OAuth2 endpoints requiring authentication are not accessible by third-"
"party applications (`documentation <api/oauth2.html>`__), only by "
"FitTrackee client (first-party application)."
msgstr ""
#: ../source/oauth.rst:17
msgid ""
"FitTrackee supports only `Authorization Code "
"<https://datatracker.ietf.org/doc/html/rfc6749#section-1.3.1>`_ flow "
"(with `PKCE <https://datatracker.ietf.org/doc/html/rfc7636>`_ support). "
"It allows to exchange an authorization code for an access token. The "
"client ID and secret must be sent in the POST body. It is recommended to "
"use PKCE to provide a better security."
msgstr ""
#: ../source/oauth.rst:24
msgid "Scopes"
msgstr ""
#: ../source/oauth.rst:26
msgid "The following scopes are available:"
msgstr ""
#: ../source/oauth.rst:28
msgid ""
"``application:write``: grants write access to application configuration "
"(only for users with administration rights),"
msgstr ""
#: ../source/oauth.rst:29
msgid "``profile:read``: grants read access to auth endpoints,"
msgstr ""
#: ../source/oauth.rst:30
msgid "``profile:write``: grants write access to auth endpoints,"
msgstr ""
#: ../source/oauth.rst:31
msgid "``users:read``: grants read access to users endpoints,"
msgstr ""
#: ../source/oauth.rst:32
msgid "``users:write``: grants write access to users endpoints,"
msgstr ""
#: ../source/oauth.rst:33
msgid "``workouts:read``: grants read access to workouts-related endpoints,"
msgstr ""
#: ../source/oauth.rst:34
msgid "``workouts:write``: grants write access to workouts-related endpoints."
msgstr ""
#: ../source/oauth.rst:38
msgid "Flow"
msgstr ""
#: ../source/oauth.rst:40
msgid ""
"The user creates an App (client) on FitTrackee for a third-party "
"application."
msgstr ""
#: ../source/oauth.rst
msgid "OAuth2 client creation on FitTrackee"
msgstr ""
#: ../source/oauth.rst
msgid "After registration, the client id and secret are shown."
msgstr ""
#: ../source/oauth.rst
msgid "They must be stored in the 3rd-party application by the user."
msgstr ""
#: ../source/oauth.rst
msgid ""
"The 3rd-party app needs to redirect to FitTrackee, in order for the user "
"to authorize the 3rd-party app to access user data on FitTrackee."
msgstr ""
#: ../source/oauth.rst
msgid "App authorization on FitTrackee"
msgstr ""
#: ../source/oauth.rst
msgid ""
"The authorization URL is "
"``https://<FITTRACKEE_HOST>/profile/apps/authorize``."
msgstr ""
#: ../source/oauth.rst
msgid "The required parameters are:"
msgstr ""
#: ../source/oauth.rst:56
msgid "``client_id``: the client id displayed after registration"
msgstr ""
#: ../source/oauth.rst:57
msgid ""
"``response_type``: ``code``, since FitTrackee only supports "
"Authorization Code flow."
msgstr ""
#: ../source/oauth.rst:58
msgid "``scope``: scopes separated with space."
msgstr ""
#: ../source/oauth.rst
msgid "and optional parameters:"
msgstr ""
#: ../source/oauth.rst:62
msgid "``state``: unique value to prevent cross-site request forgery"
msgstr ""
#: ../source/oauth.rst
msgid "For PKCE, the following parameters are mandatory:"
msgstr ""
#: ../source/oauth.rst:66
msgid "``code_challenge``: string generated from a code verifier"
msgstr ""
#: ../source/oauth.rst:67
msgid ""
"``code_challenge_method``: method used to create challenge, for instance "
"\"S256\""
msgstr ""
#: ../source/oauth.rst
msgid "Example for PKCE:"
msgstr ""
#: ../source/oauth.rst
msgid "``https://<FITTRACKEE_HOST>/profile/apps/authorize?response_type=code&client_id=<CLIENT_ID>&scope=profile%3Aread+workouts%3Awrite&state=<STATE>&code_challenge=<CODE_CHALLENGE>&code_challenge_method=S256``"
msgstr ""
#: ../source/oauth.rst
msgid ""
"After the authorization, FitTrackee redirects to the 3rd-party app, so "
"the 3rd-party app can get the authorization code from the redirect URL "
"and then fetches an access token with the client id and secret (endpoint "
"`/api/oauth/token "
"<https://samr1.github.io/FitTrackee/api/oauth2.html#post--api-oauth-"
"token>`_)."
msgstr ""
#: ../source/oauth.rst
msgid "Example of a redirect URL:"
msgstr ""
#: ../source/oauth.rst
msgid "``https://example.com/callback?code=<AUTHORIZATION_CODE>&state=<STATE>``"
msgstr ""
#: ../source/oauth.rst:79
msgid ""
"OAuth2 support is implemented with `Authlib "
"<https://docs.authlib.org/en/latest/>`_ library."
msgstr ""
#: ../source/oauth.rst
msgid ""
"If FitTrackee is running behind a proxy, the ``X-Forwarded-Proto`` header"
" must be set."
msgstr ""
#: ../source/oauth.rst
msgid "For instance for ``nginx``:"
msgstr ""
#: ../source/oauth.rst:90
msgid "Resources"
msgstr ""
#: ../source/oauth.rst:92
msgid "Some resources about OAuth 2.0:"
msgstr ""
#: ../source/oauth.rst:94
msgid ""
"`OAuth 2.0 Simplified <https://www.oauth.com>`_ by `Aaron Parecki "
"<https://aaronparecki.com>`_ (example for `authorization code flow with "
"PKCE <https://www.oauth.com/oauth2-servers/server-side-apps/example-"
"flow/>`_)"
msgstr ""
#: ../source/oauth.rst:95
msgid ""
"`Web App Example of OAuth 2 web application flow <https://requests-"
"oauthlib.readthedocs.io/en/latest/examples/real_world_example.html>`_ "
"with Requests-OAuthlib (python)"
msgstr ""
#: ../source/oauth.rst:96
msgid ""
"`OAuth 2 Session "
"<https://docs.authlib.org/en/latest/client/oauth2.html#oauth-2-session>`_"
" with Authlib (python)"
msgstr ""
#: ../source/oauth.rst:97
msgid ""
"`Minimal example of an application interacting with FitTrackee "
"<https://codeberg.org/SamR1/ft-oauth-client>`_ (python)"
msgstr ""
#: ../source/third_party_tools.rst:2
msgid "Third-party tools"
msgstr ""
#: ../source/third_party_tools.rst:4
msgid "Thanks to the contributors, the following tools are available:"
msgstr ""
#: ../source/third_party_tools.rst:6
msgid ""
"`strava-to-fittrackee <https://github.com/jat255/strava-to-fittrackee>`_ "
"(import workouts from a Strava account)"
msgstr ""
#: ../source/third_party_tools.rst:7
msgid ""
"`FitTrackee Uploader <https://github.com/ebrithiljonas/fittrackee-"
"uploader>`_ (upload .gpx and .fit files)"
msgstr ""
#: ../source/troubleshooting/administrator.rst:2
msgid "Administrator"
msgstr ""
#: ../source/troubleshooting/administrator.rst:6
msgid "`FitTrackee fails to start`"
msgstr ""
#: ../source/troubleshooting/administrator.rst:8
msgid ""
"Check the database URL in `environment variables <../installation.html"
"#envvar-DATABASE_URL>`__ if the following error is displayed in "
"**gunicorn** logs:"
msgstr ""
#: ../source/troubleshooting/administrator.rst:14
msgid ""
"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 ""
#~ msgid "\\* `ForRunners <https://gitlab.com/brvier/ForRunners>`_ (GPL v3)"
#~ msgstr ""
#~ msgid "#391 - Add new sport: paragliding (thanks to @dkm)"
#~ msgstr ""
#~ msgid "PR#394 - Translations update (Galician, thanks to @xmgz)"
#~ msgstr ""
#~ msgid "PR#397 - Translations update (Spanish, thanks to @gallegonovato)"
#~ msgstr ""
#~ msgid "Download the last release (for now, it is the release v0.7.18):"
#~ msgstr ""
#~ msgid ""
#~ "Download the last release (for now, "
#~ "it is the release v0.7.18) and "
#~ "overwrite existing files:"
#~ msgstr ""
#~ msgid "PR#386 - Minor fix in CONTRIBUTING.md (thanks to @dkm)"
#~ msgstr ""
#~ msgid "PR#388 - Minor typo in CONTRIBUTING.md (thanks to @dkm)"
#~ msgstr ""
#~ msgid "Download the last release (for now, it is the release v0.7.19):"
#~ msgstr ""
#~ msgid ""
#~ "Download the last release (for now, "
#~ "it is the release v0.7.19) and "
#~ "overwrite existing files:"
#~ msgstr ""