funkwhale/docs/locales/gettext/contributing.pot

1114 wiersze
33 KiB
Plaintext
Czysty Zwykły widok Historia

2022-04-26 12:04:02 +00:00
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2022, The Funkwhale Collective
# This file is distributed under the same license as the funkwhale package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
2022-07-01 09:02:29 +00:00
"Project-Id-Version: funkwhale 1.2.5\n"
2022-04-26 12:04:02 +00:00
"Report-Msgid-Bugs-To: \n"
2022-07-01 09:02:29 +00:00
"POT-Creation-Date: 2022-07-01 10:35+0200\n"
2022-04-26 12:04:02 +00:00
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../../../CONTRIBUTING.rst:2
msgid "Contribute to Funkwhale development"
msgstr ""
#: ../../../CONTRIBUTING.rst:4
msgid "First of all, thank you for your interest in the project! We really appreciate the fact that you're about to take some time to read this and hack on the project."
msgstr ""
#: ../../../CONTRIBUTING.rst:8
msgid "This document will guide you through common operations such as:"
msgstr ""
#: ../../../CONTRIBUTING.rst:10
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:117
2022-04-26 12:04:02 +00:00
msgid "Setup your development environment"
msgstr ""
#: ../../../CONTRIBUTING.rst:11
msgid "Working on your first issue"
msgstr ""
#: ../../../CONTRIBUTING.rst:12
msgid "Writing unit tests to validate your work"
msgstr ""
#: ../../../CONTRIBUTING.rst:13
msgid "Submit your work"
msgstr ""
#: ../../../CONTRIBUTING.rst:16
2022-07-01 09:02:29 +00:00
msgid "The quickest way to contribute to the project is through Gitpod!"
msgstr ""
#: ../../../CONTRIBUTING.rst:None
msgid "Open in Gitpod"
msgstr ""
#: ../../../CONTRIBUTING.rst:22
msgid "When you click the button above, you will be redirected to the gitpod.io site. Here you can sign in with your Gitlab or GitHub account and a new workspace will be automatically created for you."
msgstr ""
#: ../../../CONTRIBUTING.rst:26
msgid "The workspace will checkout current ``development`` branch and run a Funkwhale instance with both frontend and backend started so you can jump straight into development."
msgstr ""
#: ../../../CONTRIBUTING.rst:29
msgid "The provided backend instance has a default admin user ``gitpod`` authenticated with password ``gitpod``."
msgstr ""
#: ../../../CONTRIBUTING.rst:32
msgid "In case you want to develop only frontend, you can go to ``File > Open Folder`` and navigate to ``/workspace/funkwhale/front``. This will start a new vite server on port 4000. This server integrates well with the extension provided by Gitpod but is disconnected from any instance by default."
msgstr ""
#: ../../../CONTRIBUTING.rst:37
msgid "Usage with Gitlab"
msgstr ""
#: ../../../CONTRIBUTING.rst:39
msgid "We understand that having to go to the contribution guide and clicking the ``Open in Gitpod`` is not an optimal way to create new branches or test existing ones. That's why we've enabled the Gitpod integration on our Gitlab server."
msgstr ""
#: ../../../CONTRIBUTING.rst:43
msgid "You can now simply choose to use Gitpod instead of Gitlab Web IDE on any of branch, commit or merge request:"
msgstr ""
#: ../../../CONTRIBUTING.rst:None
msgid "Select Gitpod as the default Web IDE."
msgstr ""
#: ../../../CONTRIBUTING.rst:49
msgid "Gitlab Workflow extension"
msgstr ""
#: ../../../CONTRIBUTING.rst:51
msgid "Gitpod offers a `Gitlab Workflow` extension that can help with managing Gitlab issues, merge requests and pipelines. To use it you need to create a personal access token with ``api`` and ``read_user`` scopes. You can create it by visiting `your Gitlab profile settings <https://dev.funkwhale.audio/-/profile/personal_access_tokens>`_."
msgstr ""
#: ../../../CONTRIBUTING.rst:55
msgid "Setting the token through the extension is not an optimal approach as you'd need to do this every single time you start a new workspace. However you can work around this by creating user environment variables in `your Gitpod settings <https://gitpod.io/variables>`_."
msgstr ""
#: ../../../CONTRIBUTING.rst:59
msgid "When you configure your environment variables as follows, you will be signed in to the extension automatically in old and new workspaces."
msgstr ""
#: ../../../CONTRIBUTING.rst:63
msgid "Name"
msgstr ""
#: ../../../CONTRIBUTING.rst:63
msgid "Value"
msgstr ""
#: ../../../CONTRIBUTING.rst:63
msgid "Scope"
msgstr ""
#: ../../../CONTRIBUTING.rst:65
msgid "``GITLAB_WORKFLOW_INSTANCE_URL``"
msgstr ""
#: ../../../CONTRIBUTING.rst:65
msgid "``https://dev.funkwhale.audio``"
msgstr ""
#: ../../../CONTRIBUTING.rst:65
#: ../../../CONTRIBUTING.rst:67
msgid "``funkwhale/*``"
msgstr ""
#: ../../../CONTRIBUTING.rst:67
msgid "``GITLAB_WORKFLOW_TOKEN``"
msgstr ""
#: ../../../CONTRIBUTING.rst:67
msgid "``TOKEN``"
msgstr ""
#: ../../../CONTRIBUTING.rst:70
msgid "The scope ``funkwhale/*`` will ensure that you will be signed into our instance on every project that we're hosting, not only Funkwhale itself."
msgstr ""
#: ../../../CONTRIBUTING.rst:74
2022-04-26 12:04:02 +00:00
msgid "A quick path to contribute on the front-end"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:76
2022-04-26 12:04:02 +00:00
msgid "The next sections of this document include a full installation guide to help you setup a local, development version of Funkwhale. If you only want to fix small things on the front-end, and don't want to manage a full development environment, there is another way."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:80
2022-04-26 12:04:02 +00:00
msgid "As the front-end can work with any Funkwhale server, you can work with the front-end only, and make it talk with an existing instance (like the demo one, or you own instance, if you have one)."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:83
2022-04-26 12:04:02 +00:00
msgid "If even that is too much for you, you can also make your changes without any development environment, and open a merge request. We will be able to review your work easily by spawning automatically a live version of your changes, thanks to Gitlab Review apps."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:88
2022-04-26 12:04:02 +00:00
msgid "Setup front-end only development environment"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:90
2022-04-26 12:04:02 +00:00
msgid "Clone the repository::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:96
2022-04-26 12:04:02 +00:00
msgid "Install `nodejs <https://nodejs.org/en/download/package-manager/>`_ and `yarn <https://yarnpkg.com/lang/en/docs/install/#debian-stable>`_"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:98
2022-04-26 12:04:02 +00:00
msgid "Install the dependencies::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:102
2022-04-26 12:04:02 +00:00
msgid "Compile the translations::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:106
2022-04-26 12:04:02 +00:00
msgid "Launch the development server::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:111
2022-04-26 12:04:02 +00:00
msgid "Make the front-end talk with an existing server (like https://demo.funkwhale.audio or https://open.audio), by clicking on the corresponding link in the footer"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:114
2022-04-26 12:04:02 +00:00
msgid "Start hacking!"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:119
2022-04-26 12:04:02 +00:00
msgid "If you want to fix a bug or implement a feature, you'll need to run a local, development copy of funkwhale."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:122
2022-04-26 12:04:02 +00:00
msgid "We provide a docker based development environment, which should be both easy to setup and work similarly regardless of your development machine setup."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:126
2022-04-26 12:04:02 +00:00
msgid "Instructions for bare-metal setup will come in the future (Merge requests are welcome)."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:130
2022-04-26 12:04:02 +00:00
msgid "Installing docker and docker-compose"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:132
2022-04-26 12:04:02 +00:00
msgid "This is already cover in the relevant documentations:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:134
2022-04-26 12:04:02 +00:00
msgid "https://docs.docker.com/install/"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:135
2022-04-26 12:04:02 +00:00
msgid "https://docs.docker.com/compose/install/"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:139
2022-04-26 12:04:02 +00:00
msgid "If you are on Fedora, know that you can't use `podman` or `moby-engine` to set up the development environment. Stick to `docker-ce` and you'll be fine."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:143
2022-04-26 12:04:02 +00:00
msgid "Cloning the project"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:145
2022-04-26 12:04:02 +00:00
msgid "Visit https://dev.funkwhale.audio/funkwhale/funkwhale and clone the repository using SSH or HTTPS. Example using SSH::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:152
2022-04-26 12:04:02 +00:00
msgid "As of January 2020, the SSH fingerprints of our Gitlab server are the following::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:164
2022-04-26 12:04:02 +00:00
msgid "A note about branches"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:166
2022-04-26 12:04:02 +00:00
msgid "Next release development occurs on the \"develop\" branch, and releases are made on the \"stable\" branch. Therefore, when submitting Merge Requests, ensure you are merging on the develop branch."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:170
2022-04-26 12:04:02 +00:00
msgid "Working with docker"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:172
2022-04-26 12:04:02 +00:00
msgid "In development, we use the docker-compose file named ``dev.yml``, and this is why all our docker-compose commands will look like this::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:176
2022-04-26 12:04:02 +00:00
msgid "If you do not want to add the ``-f dev.yml`` snippet every time, you can run this command before starting your work::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:182
2022-04-26 12:04:02 +00:00
msgid "Creating your env file"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:184
2022-04-26 12:04:02 +00:00
msgid "We provide a working .env.dev configuration file that is suitable for development. However, to enable customization on your machine, you should also create a .env file that will hold your personal environment variables (those will not be commited to the project)."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:189
2022-04-26 12:04:02 +00:00
msgid "Create it like this::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:193
msgid "These two environment variables must be included for the images to load in front-end and django admin pages::"
msgstr ""
#: ../../../CONTRIBUTING.rst:200
2022-04-26 12:04:02 +00:00
msgid "Create docker network"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:202
2022-04-26 12:04:02 +00:00
msgid "Create the federation network::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:208
2022-04-26 12:04:02 +00:00
msgid "Building the containers"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:210
2022-04-26 12:04:02 +00:00
msgid "On your initial clone, or if there have been some changes in the app dependencies, you will have to rebuild your containers. This is done via the following command::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:218
2022-04-26 12:04:02 +00:00
msgid "Database management"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:220
2022-04-26 12:04:02 +00:00
msgid "To setup funkwhale's database schema, run this::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:224
2022-04-26 12:04:02 +00:00
msgid "This will create all the tables needed for the API to run properly. You will also need to run this whenever changes are made on the database schema."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:228
2022-04-26 12:04:02 +00:00
msgid "It is safe to run this command multiple times, so you can run it whenever you fetch develop."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:233
2022-04-26 12:04:02 +00:00
msgid "Development data"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:235
2022-04-26 12:04:02 +00:00
msgid "You'll need at least an admin user and some artists/tracks/albums to work locally."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:238
2022-04-26 12:04:02 +00:00
msgid "Create an admin user with the following command::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:242
2022-04-26 12:04:02 +00:00
msgid "Injecting fake data is done by running the following script::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:248
2022-04-26 12:04:02 +00:00
msgid "The previous command will create 25 artists with random albums, tracks and metadata."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:253
2022-04-26 12:04:02 +00:00
msgid "Launch all services"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:255
2022-04-26 12:04:02 +00:00
msgid "Before the first Funkwhale launch, it is required to run this::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:259
2022-04-26 12:04:02 +00:00
msgid "Then you can run everything with::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:263
2022-04-26 12:04:02 +00:00
msgid "This will launch all services, and output the logs in your current terminal window. If you prefer to launch them in the background instead, use the ``-d`` flag, and access the logs when you need it via ``docker-compose -f dev.yml logs --tail=50 --follow``."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:266
2022-04-26 12:04:02 +00:00
msgid "Once everything is up, you can access the various funkwhale's components:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:268
2022-04-26 12:04:02 +00:00
msgid "The Vue webapp, on http://localhost:8000"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:269
2022-04-26 12:04:02 +00:00
msgid "The API, on http://localhost:8000/api/v1/"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:270
2022-04-26 12:04:02 +00:00
msgid "The django admin, on http://localhost:8000/api/admin/"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:273
2022-04-26 12:04:02 +00:00
msgid "Stopping everything"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:275
2022-04-26 12:04:02 +00:00
msgid "Once you're down with your work, you can stop running containers, if any, with::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:281
2022-04-26 12:04:02 +00:00
msgid "Removing everything"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:283
2022-04-26 12:04:02 +00:00
msgid "If you want to wipe your development environment completely (e.g. if you want to start over from scratch), just run::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:287
2022-04-26 12:04:02 +00:00
msgid "This will wipe your containers and data, so please be careful before running it."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:289
2022-04-26 12:04:02 +00:00
msgid "You can keep your data by removing the ``-v`` flag."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:293
2022-04-26 12:04:02 +00:00
msgid "Working with federation locally"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:295
2022-04-26 12:04:02 +00:00
msgid "This is not needed unless you need to work on federation-related features."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:297
2022-04-26 12:04:02 +00:00
msgid "To achieve that, you'll need:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:299
2022-04-26 12:04:02 +00:00
msgid "to update your dns resolver to resolve all your .dev hostnames locally"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:300
2022-04-26 12:04:02 +00:00
msgid "a reverse proxy (such as traefik) to catch those .dev requests and and with https certificate"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:302
2022-04-26 12:04:02 +00:00
msgid "two instances (or more) running locally, following the regular dev setup"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:305
2022-04-26 12:04:02 +00:00
msgid "Resolve .dev names locally"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:307
2022-04-26 12:04:02 +00:00
msgid "If you use dnsmasq, this is as simple as doing::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:312
2022-04-26 12:04:02 +00:00
msgid "If you use NetworkManager with dnsmasq integration, use this instead::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:318
2022-04-26 12:04:02 +00:00
msgid "Add wildcard certificate to the trusted certificates"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:320
2022-04-26 12:04:02 +00:00
msgid "Simply copy bundled certificates::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:325
2022-04-26 12:04:02 +00:00
msgid "This certificate is a wildcard for ``*.funkwhale.test``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:328
2022-04-26 12:04:02 +00:00
msgid "Run a reverse proxy for your instances"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:332
2022-04-26 12:04:02 +00:00
msgid "Launch everything"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:334
2022-04-26 12:04:02 +00:00
msgid "Launch the traefik proxy::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:338
2022-04-26 12:04:02 +00:00
msgid "Then, in separate terminals, you can setup as many different instances as you need::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:347
2022-04-26 12:04:02 +00:00
msgid "Note that by default, if you don't export the COMPOSE_PROJECT_NAME, we will default to node1 as the name of your instance."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:350
2022-04-26 12:04:02 +00:00
msgid "Assuming your project name is ``node1``, your server will be reachable at ``https://node1.funkwhale.test/``. Not that you'll have to trust the SSL Certificate as it's self signed."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:354
2022-04-26 12:04:02 +00:00
msgid "When working on federation with traefik, ensure you have this in your ``env``::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:367
2022-04-26 12:04:02 +00:00
msgid "Typical workflow for a contribution"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:369
2022-04-26 12:04:02 +00:00
msgid "Fork the project if you did not already or if you do not have access to the main repository"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:370
2022-04-26 12:04:02 +00:00
msgid "Checkout the development branch and pull most recent changes: ``git checkout develop && git pull``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:371
2022-04-26 12:04:02 +00:00
msgid "If working on an issue, assign yourself to the issue. Otherwise, consider open an issue before starting to work on something, especially for new features."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:372
2022-04-26 12:04:02 +00:00
msgid "Create a dedicated branch for your work ``42-awesome-fix``. It is good practice to prefix your branch name with the ID of the issue you are solving."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:373
2022-04-26 12:04:02 +00:00
msgid "Work on your stuff"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:374
2022-04-26 12:04:02 +00:00
msgid "[Optional] Consider running ``yarn lint`` in ``front`` if you changed something there. Consider fixing some linting errors in the files you touched."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:376
2022-04-26 12:04:02 +00:00
msgid "Commit small, atomic changes to make it easier to review your contribution"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:377
2022-04-26 12:04:02 +00:00
msgid "Add a changelog fragment to summarize your changes: ``echo \"Implemented awesome stuff (#42)\" > changes/changelog.d/42.feature``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:378
2022-04-26 12:04:02 +00:00
msgid "Push your branch"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:379
2022-04-26 12:04:02 +00:00
msgid "Create your merge request"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:380
2022-04-26 12:04:02 +00:00
msgid "Take a step back and enjoy, we're really grateful you did all of this and took the time to contribute!"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:383
2022-04-26 12:04:02 +00:00
msgid "Changelog management"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:385
2022-04-26 12:04:02 +00:00
msgid "To ensure we have extensive and well-structured changelog, any significant work such as closing an issue must include a changelog fragment. Small changes may include a changelog fragment as well but this is not mandatory. If you're not sure about what to do, do not panic, open your merge request normally and we'll figure everything during the review ;)"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:391
2022-04-26 12:04:02 +00:00
msgid "Changelog fragments are text files that can contain one or multiple lines that describe the changes occurring in a bunch of commits. Those files reside in ``changes/changelog.d``."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:396
2022-04-26 12:04:02 +00:00
msgid "Content"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:398
2022-04-26 12:04:02 +00:00
msgid "A typical fragment looks like that:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:400
2022-04-26 12:04:02 +00:00
msgid "Fixed broken audio player on Chrome 42 for ogg files (#567)"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:402
2022-04-26 12:04:02 +00:00
msgid "If the work fixes one or more issues, the issue number should be included at the end of the fragment (``(#567)`` is the issue number in the previous example)."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:405
2022-04-26 12:04:02 +00:00
msgid "If your work is not related to a specific issue, use the merge request identifier instead, like this:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:408
2022-04-26 12:04:02 +00:00
msgid "Fixed a typo in landing page copy (!342)"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:411
2022-04-26 12:04:02 +00:00
msgid "Naming"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:413
2022-04-26 12:04:02 +00:00
msgid "Fragment files should respect the following naming pattern: ``changes/changelog.d/<name>.<category>``. Name can be anything describing your work, or simply the identifier of the issue number you are fixing. Category can be one of:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:417
2022-04-26 12:04:02 +00:00
msgid "``feature``: for new features"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:418
2022-04-26 12:04:02 +00:00
msgid "``enhancement``: for enhancements on existing features"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:419
2022-04-26 12:04:02 +00:00
msgid "``bugfix``: for bugfixes"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:420
2022-04-26 12:04:02 +00:00
msgid "``doc``: for documentation"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:421
2022-04-26 12:04:02 +00:00
msgid "``i18n``: for internationalization-related work"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:422
2022-04-26 12:04:02 +00:00
msgid "``misc``: for anything else"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:425
2022-04-26 12:04:02 +00:00
msgid "Shortcuts"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:427
2022-04-26 12:04:02 +00:00
msgid "Here is a shortcut you can use/adapt to easily create new fragments from command-line:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:436
2022-04-26 12:04:02 +00:00
msgid "You can of course create fragments by hand in your text editor, or from Gitlab's interface as well."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:440
2022-04-26 12:04:02 +00:00
msgid "Internationalization"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:442
2022-04-26 12:04:02 +00:00
msgid "We're using https://github.com/Polyconseil/vue-gettext to manage i18n in the project."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:444
2022-04-26 12:04:02 +00:00
msgid "When working on the front-end, any end-user string should be marked as a translatable string, with the proper context, as described below."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:448
2022-04-26 12:04:02 +00:00
msgid "Translations in HTML"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:450
2022-04-26 12:04:02 +00:00
msgid "Translations in HTML use the ``<translate>`` tag::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:474
2022-04-26 12:04:02 +00:00
msgid "Anything between the `<translate>` and `</translate>` delimiters will be considered as a translatable string. You can use variables in the translated string via the ``:translate-params=\"{var: 'value'}\"`` directive, and reference them like this: ``val value is %{ value }``."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:478
2022-04-26 12:04:02 +00:00
msgid "For pluralization, you need to use ``translate-params`` in conjunction with ``translate-plural`` and ``translate-n``:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:480
2022-04-26 12:04:02 +00:00
msgid "``translate-params`` should contain the variable you're using for pluralization (which is usually shown to the user)"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:481
2022-04-26 12:04:02 +00:00
msgid "``translate-n`` should match the same variable"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:482
2022-04-26 12:04:02 +00:00
msgid "The ``<translate>`` delimiters contain the non-pluralized version of your string"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:483
2022-04-26 12:04:02 +00:00
msgid "The ``translate-plural`` directive contains the pluralized version of your string"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:487
2022-04-26 12:04:02 +00:00
msgid "Translations in javascript"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:489
2022-04-26 12:04:02 +00:00
msgid "Translations in javascript work by calling the ``this.$*gettext`` functions::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:504
2022-04-26 12:04:02 +00:00
msgid "The first argument of the ``$pgettext`` and ``$npgettext`` functions is the string context."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:507
2022-04-26 12:04:02 +00:00
msgid "Contextualization"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:509
2022-04-26 12:04:02 +00:00
msgid "Translation contexts provided via the ``translate-context`` directive and the ``$pgettext`` and ``$npgettext`` are never shown to end users but visible by Funkwhale translators. They help translators where and how the strings are used, especially with short or ambiguous strings, like ``May``, which can refer a month or a verb."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:513
2022-04-26 12:04:02 +00:00
msgid "While we could in theory use free form context, like ``This string is inside a button, in the main page, and is a call to action``, Funkwhale use a hierarchical structure to write contexts and keep them short and consistents accross the app. The previous context, rewritten correctly would be: ``Content/Home/Button/Call to action``."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:517
2022-04-26 12:04:02 +00:00
msgid "This hierarchical structure is made of several parts:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:526
2022-04-26 12:04:02 +00:00
msgid "The location part, which is required and refers to the big blocks found in Funkwhale UI where the translated string is displayed:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:520
2022-04-26 12:04:02 +00:00
msgid "``Content``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:521
2022-04-26 12:04:02 +00:00
msgid "``Footer``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:522
2022-04-26 12:04:02 +00:00
msgid "``Head``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:523
#: ../../../CONTRIBUTING.rst:567
2022-04-26 12:04:02 +00:00
msgid "``Menu``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:524
2022-04-26 12:04:02 +00:00
msgid "``Popup``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:525
2022-04-26 12:04:02 +00:00
msgid "``Sidebar``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:526
2022-04-26 12:04:02 +00:00
msgid "``*`` for strings that are not tied to a specific location"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:549
2022-04-26 12:04:02 +00:00
msgid "The feature part, which is required, and refers to the feature associated with the translated string:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:529
2022-04-26 12:04:02 +00:00
msgid "``About``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:530
2022-04-26 12:04:02 +00:00
msgid "``Admin``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:531
2022-04-26 12:04:02 +00:00
msgid "``Album``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:532
2022-04-26 12:04:02 +00:00
msgid "``Artist``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:533
2022-04-26 12:04:02 +00:00
msgid "``Embed``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:534
2022-04-26 12:04:02 +00:00
msgid "``Home``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:535
2022-04-26 12:04:02 +00:00
msgid "``Login``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:536
2022-04-26 12:04:02 +00:00
msgid "``Library``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:537
2022-04-26 12:04:02 +00:00
msgid "``Moderation``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:538
2022-04-26 12:04:02 +00:00
msgid "``Player``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:539
2022-04-26 12:04:02 +00:00
msgid "``Playlist``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:540
2022-04-26 12:04:02 +00:00
msgid "``Profile``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:541
2022-04-26 12:04:02 +00:00
msgid "``Favorites``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:542
2022-04-26 12:04:02 +00:00
msgid "``Notifications``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:543
2022-04-26 12:04:02 +00:00
msgid "``Radio``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:544
2022-04-26 12:04:02 +00:00
msgid "``Search``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:545
2022-04-26 12:04:02 +00:00
msgid "``Settings``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:546
2022-04-26 12:04:02 +00:00
msgid "``Signup``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:547
2022-04-26 12:04:02 +00:00
msgid "``Track``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:548
2022-04-26 12:04:02 +00:00
msgid "``Queue``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:549
2022-04-26 12:04:02 +00:00
msgid "``*`` for strings that are not tied to a specific feature"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:575
2022-04-26 12:04:02 +00:00
msgid "The component part, which is required and refers to the type of element that contain the string:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:552
2022-04-26 12:04:02 +00:00
msgid "``Button``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:553
2022-04-26 12:04:02 +00:00
msgid "``Card``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:554
2022-04-26 12:04:02 +00:00
msgid "``Checkbox``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:555
2022-04-26 12:04:02 +00:00
msgid "``Dropdown``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:556
2022-04-26 12:04:02 +00:00
msgid "``Error message``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:557
2022-04-26 12:04:02 +00:00
msgid "``Form``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:558
2022-04-26 12:04:02 +00:00
msgid "``Header``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:559
2022-04-26 12:04:02 +00:00
msgid "``Help text``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:560
2022-04-26 12:04:02 +00:00
msgid "``Hidden text``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:561
2022-04-26 12:04:02 +00:00
msgid "``Icon``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:562
2022-04-26 12:04:02 +00:00
msgid "``Input``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:563
2022-04-26 12:04:02 +00:00
msgid "``Image``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:564
2022-04-26 12:04:02 +00:00
msgid "``Label``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:565
2022-04-26 12:04:02 +00:00
msgid "``Link``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:566
2022-04-26 12:04:02 +00:00
msgid "``List item``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:568
2022-04-26 12:04:02 +00:00
msgid "``Message``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:569
2022-04-26 12:04:02 +00:00
msgid "``Paragraph``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:570
2022-04-26 12:04:02 +00:00
msgid "``Placeholder``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:571
2022-04-26 12:04:02 +00:00
msgid "``Tab``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:572
2022-04-26 12:04:02 +00:00
msgid "``Table``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:573
2022-04-26 12:04:02 +00:00
msgid "``Title``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:574
2022-04-26 12:04:02 +00:00
msgid "``Tooltip``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:575
2022-04-26 12:04:02 +00:00
msgid "``*`` for strings that are not tied to a specific component"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:583
2022-04-26 12:04:02 +00:00
msgid "The detail part, which is optional and refers to the contents of the string itself, such as:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:578
2022-04-26 12:04:02 +00:00
msgid "``Adjective``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:579
2022-04-26 12:04:02 +00:00
msgid "``Call to action``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:580
2022-04-26 12:04:02 +00:00
msgid "``Noun``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:581
2022-04-26 12:04:02 +00:00
msgid "``Short``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:582
2022-04-26 12:04:02 +00:00
msgid "``Unit``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:583
2022-04-26 12:04:02 +00:00
msgid "``Verb``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:585
2022-04-26 12:04:02 +00:00
msgid "Here are a few examples of valid context hierarchies:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:587
2022-04-26 12:04:02 +00:00
msgid "``Sidebar/Player/Button``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:588
2022-04-26 12:04:02 +00:00
msgid "``Content/Home/Button/Call to action``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:589
2022-04-26 12:04:02 +00:00
msgid "``Footer/*/Help text``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:590
2022-04-26 12:04:02 +00:00
msgid "``*/*/*/Verb, Short``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:591
2022-04-26 12:04:02 +00:00
msgid "``Popup/Playlist/Button``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:592
2022-04-26 12:04:02 +00:00
msgid "``Content/Admin/Table.Label/Short, Noun (Value is a date)``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:594
2022-04-26 12:04:02 +00:00
msgid "It's possible to nest multiple component parts to reach a higher level of detail. The component parts are then separated by a dot:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:596
2022-04-26 12:04:02 +00:00
msgid "``Sidebar/Queue/Tab.Title``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:597
2022-04-26 12:04:02 +00:00
msgid "``Content/*/Button.Title``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:598
2022-04-26 12:04:02 +00:00
msgid "``Content/*/Table.Header``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:599
2022-04-26 12:04:02 +00:00
msgid "``Footer/*/List item.Link``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:600
2022-04-26 12:04:02 +00:00
msgid "``Content/*/Form.Help text``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:603
2022-04-26 12:04:02 +00:00
msgid "Collecting translatable strings"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:605
2022-04-26 12:04:02 +00:00
msgid "If you want to ensure your translatable strings are correctly marked for translation, you can try to extract them."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:608
2022-04-26 12:04:02 +00:00
msgid "Extraction is done by calling ``yarn run i18n-extract``, which will pull all the strings from source files and put them in a PO files."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:611
2022-04-26 12:04:02 +00:00
msgid "You can then inspect the PO files to ensure everything is fine (but don't commit them, it's not needed)."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:614
2022-04-26 12:04:02 +00:00
msgid "Contributing to the API"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:617
2022-04-26 12:04:02 +00:00
msgid "Project structure"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:631
2022-04-26 12:04:02 +00:00
msgid "Unless trivial, API contributions must include unittests to ensure your fix or feature is working as expected and won't break in the future"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:635
#: ../../../CONTRIBUTING.rst:793
2022-04-26 12:04:02 +00:00
msgid "Running tests"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:637
2022-04-26 12:04:02 +00:00
msgid "To run the pytest test suite, use the following command::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:641
2022-04-26 12:04:02 +00:00
msgid "This is regular pytest, so you can use any arguments/options that pytest usually accept::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:651
2022-04-26 12:04:02 +00:00
msgid "Writing tests"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:653
2022-04-26 12:04:02 +00:00
msgid "Although teaching you how to write unit tests is outside of the scope of this document, you'll find below a collection of tips, snippets and resources you can use if you want to learn on that subject."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:657
2022-04-26 12:04:02 +00:00
msgid "Useful links:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:659
2022-04-26 12:04:02 +00:00
msgid "`A quick introduction to unit test writing with pytest <https://semaphoreci.com/community/tutorials/testing-python-applications-with-pytest>`_"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:660
2022-04-26 12:04:02 +00:00
msgid "`A complete guide to Test-Driven Development (although not using Pytest) <https://www.obeythetestinggoat.com/>`_"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:661
2022-04-26 12:04:02 +00:00
msgid "`pytest <https://docs.pytest.org/en/latest/>`_: documentation of our testing engine and runner"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:662
2022-04-26 12:04:02 +00:00
msgid "`pytest-mock <https://pypi.org/project/pytest-mock/>`_: project page of our mocking engine"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:663
2022-04-26 12:04:02 +00:00
msgid "`factory-boy <http://factoryboy.readthedocs.io/>`_: documentation of factory-boy, which we use to easily generate fake objects and data"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:665
2022-04-26 12:04:02 +00:00
msgid "Recommendations:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:667
2022-04-26 12:04:02 +00:00
msgid "Test files must target a module and mimic ``funkwhale_api`` directory structure: if you're writing tests for ``funkwhale_api/myapp/views.py``, you should put thoses tests in ``tests/myapp/test_views.py``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:668
2022-04-26 12:04:02 +00:00
msgid "Tests should be small and test one thing. If you need to test multiple things, write multiple tests."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:670
2022-04-26 12:04:02 +00:00
msgid "We provide a lot of utils and fixtures to make the process of writing tests as painless as possible. You'll find some usage examples below."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:673
2022-04-26 12:04:02 +00:00
msgid "Use factories to create arbitrary objects:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:708
2022-04-26 12:04:02 +00:00
msgid "We offer factories for almost if not all models. Factories are located in a ``factories.py`` file inside each app."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:711
2022-04-26 12:04:02 +00:00
msgid "Mocking: mocking is the process of faking some logic in our code. This is useful when testing components that depend on each other:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:766
2022-04-26 12:04:02 +00:00
msgid "Views: you can find some readable views tests in file: ``api/tests/users/test_views.py``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:770
2022-04-26 12:04:02 +00:00
msgid "A complete list of available-fixtures is available by running ``docker-compose -f dev.yml run --rm api pytest --fixtures``"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:775
2022-04-26 12:04:02 +00:00
msgid "Contributing to the front-end"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:778
2022-04-26 12:04:02 +00:00
msgid "Styles and themes"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:780
2022-04-26 12:04:02 +00:00
msgid "Our UI framework is Fomantic UI (https://fomantic-ui.com/), and Funkwhale's custom styles are written in SCSS. All the styles are configured in ``front/src/styles/_main.scss``, including imporing of Fomantic UI styles and components."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:783
2022-04-26 12:04:02 +00:00
msgid "We're applying several changes on top of the Fomantic CSS files, before they are imported:"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:785
2022-04-26 12:04:02 +00:00
msgid "Many hardcoded color values are replaced by CSS vars: e.g ``color: orange`` is replaced by ``color: var(--vibrant-color)``. This makes theming way easier."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:786
2022-04-26 12:04:02 +00:00
msgid "Unused components variations and icons are stripped from the source files, in order to reduce the final size of our CSS files"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:788
2022-04-26 12:04:02 +00:00
msgid "This changes are applied automatically when running ``yarn install``, through a ``postinstall`` hook. Internally, ``front/scripts/fix-fomantic-css.py`` is called and handle both kind of modifications. Please refer to this script if you need to use new icons to the project, or restore some components variations that were stripped in order to use them."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:795
2022-04-26 12:04:02 +00:00
msgid "To run the front-end test suite, use the following command::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:799
2022-04-26 12:04:02 +00:00
msgid "We also support a \"watch and test\" mode were we continually relaunch tests when changes are recorded on the file system::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:804
2022-04-26 12:04:02 +00:00
msgid "The latter is especially useful when you are debugging failing tests."
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:808
2022-04-26 12:04:02 +00:00
msgid "The front-end test suite coverage is still pretty low"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:812
2022-04-26 12:04:02 +00:00
msgid "Making a release"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:814
2022-04-26 12:04:02 +00:00
msgid "To make a new 3.4 release::"
msgstr ""
2022-07-01 09:02:29 +00:00
#: ../../../CONTRIBUTING.rst:853
2022-04-26 12:04:02 +00:00
msgid "Then, visit https://dev.funkwhale.audio/funkwhale/funkwhale/-/tags, copy-paste the changelog on the corresponding tag, and announce the good news ;)"
msgstr ""