Translation components API.

See the Weblate's Web API documentation for detailed description of the API.

GET /api/translations/sonic-pi/tutorial/gl/units/?format=api&page=38
HTTP 200 OK
Allow: GET, POST, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "count": 2023,
    "next": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/units/?format=api&page=39",
    "previous": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/units/?format=api&page=37",
    "results": [
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Another important way of sharing your work is to record the audio and upload it to [SoundCloud](https://soundcloud.com). Once you've uploaded your piece, other users can comment and discuss your work. I also recommend placing a link to a [Gist](https://gist.github.com) of your code in the track description."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -132038299745875736,
            "content_hash": -132038299745875736,
            "location": "B.03-Sharing.md:29",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2007,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://hosted.weblate.org/api/units/14782402/?format=api",
            "priority": 100,
            "id": 7037647,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7e2ae7ddaee688e8",
            "url": "https://hosted.weblate.org/api/units/7037647/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:43+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "To record your work, hit the `Rec` button in the toolbar, and recording starts immediately. Hit `Run` to start your code if it isn't already in progress. When you're done recording, press the flashing `Rec` button again, and you'll be prompted to enter a filename. The recording will be saved as a WAV file, which can be edited and converted to MP3 by any number of free programs (try Audacity for instance)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8082506465366094873,
            "content_hash": -8082506465366094873,
            "location": "B.03-Sharing.md:35",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2008,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 72,
            "source_unit": "https://hosted.weblate.org/api/units/14783565/?format=api",
            "priority": 100,
            "id": 7037648,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=0fd52b31550e4be7",
            "url": "https://hosted.weblate.org/api/units/7037648/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-20T14:21:58+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Hope"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8549198178437045208,
            "content_hash": 8549198178437045208,
            "location": "B.03-Sharing.md:43",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2009,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://hosted.weblate.org/api/units/14783072/?format=api",
            "priority": 100,
            "id": 7037649,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f6a4da729c281bd8",
            "url": "https://hosted.weblate.org/api/units/7037649/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-13T14:48:20+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "I encourage you to share your work and really hope that we'll all teach each other new tricks and moves with Sonic Pi. I'm really excited by what you'll have to show me."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4396531201947253925,
            "content_hash": -4396531201947253925,
            "location": "B.03-Sharing.md:45",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2010,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://hosted.weblate.org/api/units/14782403/?format=api",
            "priority": 100,
            "id": 7037650,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=42fc622a6803435b",
            "url": "https://hosted.weblate.org/api/units/7037650/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:43+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "B.4 Performing"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3362961520164010908,
            "content_hash": -3362961520164010908,
            "location": "B.04-Performing.md:1",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2011,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://hosted.weblate.org/api/units/14838357/?format=api",
            "priority": 100,
            "id": 7037651,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=51545c50ad510464",
            "url": "https://hosted.weblate.org/api/units/7037651/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2017-12-12T14:53:32+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Performing"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7793392021107463659,
            "content_hash": 7793392021107463659,
            "location": "B.04-Performing.md:3",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2012,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://hosted.weblate.org/api/units/14783073/?format=api",
            "priority": 100,
            "id": 7037652,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ec27b0c0857955eb",
            "url": "https://hosted.weblate.org/api/units/7037652/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-13T14:48:20+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "One of the most exciting aspects of Sonic Pi is that it enables you to use code as a *musical instrument*. This means that writing code live can now be seen as a new way of performing music."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2715909345154107035,
            "content_hash": 2715909345154107035,
            "location": "B.04-Performing.md:5",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2013,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 38,
            "source_unit": "https://hosted.weblate.org/api/units/14782404/?format=api",
            "priority": 100,
            "id": 7037653,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a5b0d928f013069b",
            "url": "https://hosted.weblate.org/api/units/7037653/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:43+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "We call this *Live Coding*."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8551097900413575109,
            "content_hash": 8551097900413575109,
            "location": "B.04-Performing.md:9",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2014,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 5,
            "source_unit": "https://hosted.weblate.org/api/units/14782405/?format=api",
            "priority": 100,
            "id": 7037654,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f6ab9a3c19bd5fc5",
            "url": "https://hosted.weblate.org/api/units/7037654/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:43+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Show Your Screen"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5226889831419645713,
            "content_hash": -5226889831419645713,
            "location": "B.04-Performing.md:11",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2015,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://hosted.weblate.org/api/units/14783074/?format=api",
            "priority": 100,
            "id": 7037655,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=37765b643e2170ef",
            "url": "https://hosted.weblate.org/api/units/7037655/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-13T14:48:20+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "When you live code I recommend you *show your screen* to your audience. Otherwise it's like playing a guitar but hiding your fingers and the strings. When I practice at home I use a Raspberry Pi and a little mini projector on my living room wall. You could use your TV or one of your school/work projectors to give a show. Try it, it's a lot of fun."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1109363893492333138,
            "content_hash": -1109363893492333138,
            "location": "B.04-Performing.md:13",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2016,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 68,
            "source_unit": "https://hosted.weblate.org/api/units/14782406/?format=api",
            "priority": 100,
            "id": 7037656,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=709abf6aa1bec5ae",
            "url": "https://hosted.weblate.org/api/units/7037656/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:43+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Form a Band"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1805050273177108052,
            "content_hash": 1805050273177108052,
            "location": "B.04-Performing.md:20",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2017,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://hosted.weblate.org/api/units/14783075/?format=api",
            "priority": 100,
            "id": 7037657,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=990cd3a8ee717e54",
            "url": "https://hosted.weblate.org/api/units/7037657/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-13T14:48:20+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "TOPLAP"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1899086892659882512,
            "content_hash": 1899086892659882512,
            "location": "B.04-Performing.md:29",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2020,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://hosted.weblate.org/api/units/14783076/?format=api",
            "priority": 100,
            "id": 7037659,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=9a5ae9779297ba10",
            "url": "https://hosted.weblate.org/api/units/7037659/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-13T14:48:20+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Live coding isn't completely new - a small number of people have been doing it for a few years now, typically using bespoke systems they've built for themselves. A great place to go and find out more about other live coders and systems is [TOPLAP](http://toplap.org)."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 2978544083345621307,
            "content_hash": 2978544083345621307,
            "location": "B.04-Performing.md:31",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2021,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 45,
            "source_unit": "https://hosted.weblate.org/api/units/14782408/?format=api",
            "priority": 100,
            "id": 7037660,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a955ea1013a8413b",
            "url": "https://hosted.weblate.org/api/units/7037660/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:44+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Algorave"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4107520988844035865,
            "content_hash": 4107520988844035865,
            "location": "B.04-Performing.md:36",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2022,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 1,
            "source_unit": "https://hosted.weblate.org/api/units/14783077/?format=api",
            "priority": 100,
            "id": 7037661,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b900d893a7828f19",
            "url": "https://hosted.weblate.org/api/units/7037661/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-13T14:48:20+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Another great resource for exploring the live coding world is [Algorave](http://algorave.com). Here you can find all about a specific strand of live coding for making music in nightclubs."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -2903653191217004596,
            "content_hash": -2903653191217004596,
            "location": "B.04-Performing.md:38",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 2023,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 28,
            "source_unit": "https://hosted.weblate.org/api/units/14782409/?format=api",
            "priority": 100,
            "id": 7037662,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=57b426ce8a94bfcc",
            "url": "https://hosted.weblate.org/api/units/7037662/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2016-05-11T08:44:44+02:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "But wait, how rude of me! Let me introduce myself - I'm [Sam Aaron](https://twitter.com/samaaron) - the chap that created Sonic Pi. You can find me at [@samaaron](http://twitter.com/samaaron) on Twitter and I'd be more than happy to say hello to you. You might also be interested in finding out more about my [Live Coding Performances](https://youtube.com/samaaron) where I code with Sonic Pi live in front of audiences."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4428749692172350067,
            "content_hash": 4428749692172350067,
            "location": "01-Welcome-to-Sonic-Pi.md:10",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 4,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 65,
            "source_unit": "https://hosted.weblate.org/api/units/15386665/?format=api",
            "priority": 100,
            "id": 15387501,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=bd761461690db273",
            "url": "https://hosted.weblate.org/api/units/15387501/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.495381+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Finally, watching others live code is a really great way to learn. I regularly stream live on [https://youtube.com/samaaron](http://youtube.com/samaaron) so please do drop by, say hi and ask me lots of questions :-)"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3282870123903040520,
            "content_hash": 3282870123903040520,
            "location": "01-Welcome-to-Sonic-Pi.md:28",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 7,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 32,
            "source_unit": "https://hosted.weblate.org/api/units/15386667/?format=api",
            "priority": 100,
            "id": 15387502,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ad8f18fbfafbbc08",
            "url": "https://hosted.weblate.org/api/units/15387502/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.539328+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Let's get started, copy the following code into an empty buffer:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7003445830740676252,
            "content_hash": -7003445830740676252,
            "location": "01.1-Live-Coding.md:19",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 15,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://hosted.weblate.org/api/units/15386669/?format=api",
            "priority": 100,
            "id": 15387503,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=1ecec31f6f02f164",
            "url": "https://hosted.weblate.org/api/units/15387503/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.547431+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "These orange buttons allow you to manipulate the code editor. The *Size +* and *Size -* buttons allow you to make the text bigger and smaller."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4058969495968609367,
            "content_hash": 4058969495968609367,
            "location": "01.2-Exploring-the-Interface.md:31",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 54,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 26,
            "source_unit": "https://hosted.weblate.org/api/units/15386671/?format=api",
            "priority": 100,
            "id": 15387504,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=b8545b40515af457",
            "url": "https://hosted.weblate.org/api/units/15387504/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.561283+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Whilst we're on this subject, let me just give you one piece of advice I've learned over my years of live coding with music - *there are no mistakes, only opportunities*. This is something I've often heard in relation to jazz but it works equally well with live coding. No matter how experienced you are - from a complete beginner to a seasoned live coder, you'll run some code that has a completely unexpected outcome. It might sound insanely cool - in which case run with it. However, it might sound totally jarring and out of place. It doesn't matter that it happened - what matters is what you do next with it. Take the sound, manipulate it and morph it into something awesome. The crowd will go *wild*."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -8633432133849265125,
            "content_hash": -8633432133849265125,
            "location": "01.3-Learning-through-Play.md:12",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 73,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 129,
            "source_unit": "https://hosted.weblate.org/api/units/15386673/?format=api",
            "priority": 100,
            "id": 15387505,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=082fe3375578cc1b",
            "url": "https://hosted.weblate.org/api/units/15387505/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.602910+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "So, lower numbers make lower pitched beeps and higher numbers make higher pitched beeps. Just like on a piano, the keys at the lower part of the piano (the left hand side) play lower notes and the keys on the higher part of the piano (the right hand side) play higher notes."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -6303282777418358695,
            "content_hash": -6303282777418358695,
            "location": "02.1-Your-First-Beeps.md:33",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 93,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 52,
            "source_unit": "https://hosted.weblate.org/api/units/15386675/?format=api",
            "priority": 100,
            "id": 15387506,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=28863db5cd242059",
            "url": "https://hosted.weblate.org/api/units/15387506/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.614677+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "It turns out that the C of the 4th octave (C in English notation) is identified by the number 60. `play 60` therefore plays the C of the 4th octave. To play the next piano key to the right, you have to add 1 to 60 and then type `play 61`, which in this case is the black key of the C sharp. To play the D, the next key to the right, `play 62`."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5194176889889300037,
            "content_hash": -5194176889889300037,
            "location": "02.1-Your-First-Beeps.md:38",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 94,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 75,
            "source_unit": "https://hosted.weblate.org/api/units/15386677/?format=api",
            "priority": 100,
            "id": 15387507,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=37ea93a3799ae1bb",
            "url": "https://hosted.weblate.org/api/units/15387507/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.620590+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "So far we've had quite a lot of fun making beeps. However, you're probably starting to get bored of the basic beep noise. Is that all Sonic Pi has to offer? Surely there's more to live coding than just playing beeps? Yes there is, and in this section we'll explore some of the exciting range of sounds that Sonic Pi has to offer."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7632382453599122899,
            "content_hash": 7632382453599122899,
            "location": "02.3-Switching-Synths.md:5",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 154,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 63,
            "source_unit": "https://hosted.weblate.org/api/units/15386679/?format=api",
            "priority": 100,
            "id": 15387508,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=e9ebab6748b335d3",
            "url": "https://hosted.weblate.org/api/units/15387508/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.772449+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Sonic Pi has a number of different instruments it calls synths (which is *short for synthesisers*). Whereas samples represent pre-recorded sounds, synths are capable of generating new sounds depending on how you control them (which we'll explore later in this tutorial). Sonic Pi's synths are very powerful and expressive and you'll have a lot of fun exploring and playing with them. First, let's learn how to select the current synth to use."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1828504781485499127,
            "content_hash": -1828504781485499127,
            "location": "02.3-Switching-Synths.md:13",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 155,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 72,
            "source_unit": "https://hosted.weblate.org/api/units/15386681/?format=api",
            "priority": 100,
            "id": 15387509,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=669fd896cd741d09",
            "url": "https://hosted.weblate.org/api/units/15387509/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.778698+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "use_synth :saw\nplay 38\nsleep 0.25\nplay 50\nsleep 0.25\nplay 62"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -408915671595713275,
            "content_hash": -408915671595713275,
            "location": "02.3-Switching-Synths.md:25",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 158,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://hosted.weblate.org/api/units/15386683/?format=api",
            "priority": 100,
            "id": 15387510,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7a533d5cfb727d05",
            "url": "https://hosted.weblate.org/api/units/15387510/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.788693+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "use_synth :prophet\nplay 38\nsleep 0.25\nplay 50\nsleep 0.25\nplay 62"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6613037957880517221,
            "content_hash": 6613037957880517221,
            "location": "02.3-Switching-Synths.md:36",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 160,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://hosted.weblate.org/api/units/15386685/?format=api",
            "priority": 100,
            "id": 15387511,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=dbc63afc3da49265",
            "url": "https://hosted.weblate.org/api/units/15387511/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.797511+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "use_synth :saw\nplay 38\nsleep 0.25\nplay 50\nsleep 0.25\nuse_synth :prophet\nplay 57"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 892025190425415906,
            "content_hash": 892025190425415906,
            "location": "02.3-Switching-Synths.md:47",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 162,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 14,
            "source_unit": "https://hosted.weblate.org/api/units/15386687/?format=api",
            "priority": 100,
            "id": 15387512,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=8c611c2f3e01d0e2",
            "url": "https://hosted.weblate.org/api/units/15387512/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.805457+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Now multiple sounds at the same time (by not sleeping between successive calls to `play`):"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 1928678206565733414,
            "content_hash": 1928678206565733414,
            "location": "02.3-Switching-Synths.md:57",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 163,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 15,
            "source_unit": "https://hosted.weblate.org/api/units/15386689/?format=api",
            "priority": 100,
            "id": 15387513,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=9ac40a9c3c635426",
            "url": "https://hosted.weblate.org/api/units/15387513/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.811209+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "use_synth :tb303\nplay 38\nuse_synth :dsaw\nplay 50\nuse_synth :prophet\nplay 57"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3507345455500089002,
            "content_hash": -3507345455500089002,
            "location": "02.3-Switching-Synths.md:60",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 164,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://hosted.weblate.org/api/units/15386691/?format=api",
            "priority": 100,
            "id": 15387514,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4f5367e414562956",
            "url": "https://hosted.weblate.org/api/units/15387514/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.817088+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "To see which synths Sonic Pi has for you to play with take a look at the Synths option in the menu at the bottom of this help screen (between Examples & Fx). There are over 20 to choose from. Here are a few of my favourites:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -16071833711952910,
            "content_hash": -16071833711952910,
            "location": "02.3-Switching-Synths.md:77",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 167,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 47,
            "source_unit": "https://hosted.weblate.org/api/units/15386693/?format=api",
            "priority": 100,
            "id": 15387515,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7fc6e6c09cb5bbf2",
            "url": "https://hosted.weblate.org/api/units/15387515/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:43.826811+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "Notice how Sonic Pi doesn't wait for a sound to finish before starting the next sound. The `sleep` command only describes the separation of the *triggering* of the sounds. This allows you to easily layer sounds together creating interesting overlap effects."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1052329051429763058,
            "content_hash": -1052329051429763058,
            "location": "03.1-Triggering-Samples.md:36",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 247,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 41,
            "source_unit": "https://hosted.weblate.org/api/units/15386695/?format=api",
            "priority": 100,
            "id": 15387516,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=7165604d9eb4880e",
            "url": "https://hosted.weblate.org/api/units/15387516/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.005177+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "There are two ways to discover the range of samples provided in Sonic Pi. First, you can use this help system. Click on Samples in the menu at the bottom of this help screen, choose your category and then you'll see a list of available sounds."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -798813669776020634,
            "content_hash": -798813669776020634,
            "location": "03.1-Triggering-Samples.md:44",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 249,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://hosted.weblate.org/api/units/15386697/?format=api",
            "priority": 100,
            "id": 15387517,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=74ea0b331b462b66",
            "url": "https://hosted.weblate.org/api/units/15387517/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.014320+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "So how do you play any arbitrary WAV, AIFF, OGG, OGA or FLAC file on your computer? All you need to do is pass the path of that file to `sample`:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4917192761985389484,
            "content_hash": 4917192761985389484,
            "location": "03.6-External-Samples.md:28",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 380,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 31,
            "source_unit": "https://hosted.weblate.org/api/units/15386699/?format=api",
            "priority": 100,
            "id": 15387518,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c43d60c3be42d3ac",
            "url": "https://hosted.weblate.org/api/units/15387518/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.336734+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "We can even use multiple filters at the same time. For example, if we want a sample whose filename contains both the substrings `\"120\"` and `\"A#\"` we can find it easily with the following code:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7876595191795689995,
            "content_hash": -7876595191795689995,
            "location": "03.7-Sample-Packs.md:120",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 418,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 35,
            "source_unit": "https://hosted.weblate.org/api/units/15386701/?format=api",
            "priority": 100,
            "id": 15387519,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=12b0b667b177d5f5",
            "url": "https://hosted.weblate.org/api/units/15387519/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.542642+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "The sample filter pre-arg system understands two types of information: *sources* and *filters*. Sources are information used to create the list of potential candidates. A source can take two forms:"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 8329748587563347790,
            "content_hash": 8329748587563347790,
            "location": "03.7-Sample-Packs.md:138",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 423,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 30,
            "source_unit": "https://hosted.weblate.org/api/units/15386703/?format=api",
            "priority": 100,
            "id": 15387520,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=f39936351e066f4e",
            "url": "https://hosted.weblate.org/api/units/15387520/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.561464+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "`\"/path/to/samples\"` - a string representing a valid path to a directory"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5771971191561566043,
            "content_hash": -5771971191561566043,
            "location": "03.7-Sample-Packs.md:142",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 424,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://hosted.weblate.org/api/units/15386705/?format=api",
            "priority": 100,
            "id": 15387521,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=2fe5d6c8512f48a5",
            "url": "https://hosted.weblate.org/api/units/15387521/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.568249+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "`\"/path/to/samples/foo.wav\"` - a string representing a valid path to a sample"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1200840680975044339,
            "content_hash": -1200840680975044339,
            "location": "03.7-Sample-Packs.md:143",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 425,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 11,
            "source_unit": "https://hosted.weblate.org/api/units/15386707/?format=api",
            "priority": 100,
            "id": 15387522,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=6f55c1c352a4f10d",
            "url": "https://hosted.weblate.org/api/units/15387522/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:44.575037+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "define :my_sound do\n  play 50\n  sleep 1\nend\nin_thread(name: :looper) do\n  loop do\n    my_sound\n  end\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 7867354825815975342,
            "content_hash": 7867354825815975342,
            "location": "09.1-Live-Coding-Fundamentals.md:18",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 918,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://hosted.weblate.org/api/units/15386709/?format=api",
            "priority": 100,
            "id": 15387523,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=ed2e7587f2b765ae",
            "url": "https://hosted.weblate.org/api/units/15387523/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.793261+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "What we have here is a function definition which just plays note 50 and sleeps for a beat. We then define a named thread called `:looper` which just loops around calling `my_sound` repeatedly."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 913636961612486707,
            "content_hash": 913636961612486707,
            "location": "09.1-Live-Coding-Fundamentals.md:35",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 920,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 33,
            "source_unit": "https://hosted.weblate.org/api/units/15386711/?format=api",
            "priority": 100,
            "id": 15387524,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=8cade3f9d6945833",
            "url": "https://hosted.weblate.org/api/units/15387524/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.803278+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "It didn't add a new layer because we're using named threads which only allow one thread for each name. Also, the sound changed because we *redefined* the function. We gave `:my_sound` a new definition. When the `:looper` thread looped around it simply called the new definition."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -1645398302055203860,
            "content_hash": -1645398302055203860,
            "location": "09.1-Live-Coding-Fundamentals.md:47",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 924,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 46,
            "source_unit": "https://hosted.weblate.org/api/units/15386713/?format=api",
            "priority": 100,
            "id": 15387525,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=692a5ef643f7fbec",
            "url": "https://hosted.weblate.org/api/units/15387525/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.816956+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "define :my_sound do\n  use_synth :tb303\n  play 50, release: 0.3\n  sleep 0.25\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -7716537898738992865,
            "content_hash": -7716537898738992865,
            "location": "09.1-Live-Coding-Fundamentals.md:55",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 926,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 12,
            "source_unit": "https://hosted.weblate.org/api/units/15386715/?format=api",
            "priority": 100,
            "id": 15387526,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=14e959aa41d2b91f",
            "url": "https://hosted.weblate.org/api/units/15387526/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.826162+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "define :my_sound do\n  use_synth :tb303\n  play chord(:e3, :minor), release: 0.3\n  sleep 0.5\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9093788767169685852,
            "content_hash": 9093788767169685852,
            "location": "09.1-Live-Coding-Fundamentals.md:67",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 928,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://hosted.weblate.org/api/units/15386717/?format=api",
            "priority": 100,
            "id": 15387527,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fe33a0b3e996295c",
            "url": "https://hosted.weblate.org/api/units/15387527/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.835348+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "define :my_sound do\n  use_synth :tb303\n  play choose(chord(:e3, :minor)), release: 0.3\n  sleep 0.25\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -4120649786577078177,
            "content_hash": -4120649786577078177,
            "location": "09.1-Live-Coding-Fundamentals.md:77",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 930,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 13,
            "source_unit": "https://hosted.weblate.org/api/units/15386719/?format=api",
            "priority": 100,
            "id": 15387528,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=46d082d9eb48b85f",
            "url": "https://hosted.weblate.org/api/units/15387528/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.844697+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "define :my_sound do\n  use_synth :tb303\n  play choose(chord(:e3, :minor)), release: 0.2, cutoff: rrand(60, 130)\n  sleep 0.25\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 3023613322746822754,
            "content_hash": 3023613322746822754,
            "location": "09.1-Live-Coding-Fundamentals.md:87",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 932,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 16,
            "source_unit": "https://hosted.weblate.org/api/units/15386721/?format=api",
            "priority": 100,
            "id": 15387529,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=a9f6084c18768062",
            "url": "https://hosted.weblate.org/api/units/15387529/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.854068+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "define :my_sound do\n  use_synth :tb303\n  sample :drum_bass_hard, rate: rrand(0.5, 2)\n  play choose(chord(:e3, :minor)), release: 0.2, cutoff: rrand(60, 130)\n  sleep 0.25\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -3718922336559285084,
            "content_hash": -3718922336559285084,
            "location": "09.1-Live-Coding-Fundamentals.md:97",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 934,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 21,
            "source_unit": "https://hosted.weblate.org/api/units/15386723/?format=api",
            "priority": 100,
            "id": 15387530,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=4c63bbd6ae1e3ca4",
            "url": "https://hosted.weblate.org/api/units/15387530/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:45.863237+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "In order to get information from an external MIDI device into Sonic Pi we first need to connect it to our computer. Typically this will be via a USB connection, although older equipment will have a 5-pin DIN connector for which you'll need hardware support for your computer (for example, some sound cards have MIDI DIN connectors). Once you've connected your device, launch Sonic Pi and take a look at the IO section of the Preferences panel. You should see your device listed there. If not, try hitting the 'Reset MIDI' button and see if it appears. If you're still not seeing anything, the next thing to try is to consult your operating system's MIDI config to see if it sees your device. Failing all that, feel free to ask questions in our friendly forums: https://in-thread.sonic-pi.net"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 6496491094221493155,
            "content_hash": 6496491094221493155,
            "location": "11.1-MIDI-In.md:13",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 1108,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 136,
            "source_unit": "https://hosted.weblate.org/api/units/15386725/?format=api",
            "priority": 100,
            "id": 15387531,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=da282c3af58f93a3",
            "url": "https://hosted.weblate.org/api/units/15387531/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:46.300276+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "with_fx :reverb, room: 1 do\n  live_audio :moog\nend\nlive_loop :moog_trigger do\n  midi (octs :e1, 3).tick, sustain: 0.1\n  sleep 0.125\nend"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 9090423666810985772,
            "content_hash": 9090423666810985772,
            "location": "11.2-MIDI-Out.md:90",
            "context": "",
            "note": "",
            "flags": "no-wrap",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 1157,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 20,
            "source_unit": "https://hosted.weblate.org/api/units/15386727/?format=api",
            "priority": 100,
            "id": 15387532,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=fe27ac296e129d2c",
            "url": "https://hosted.weblate.org/api/units/15387532/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:46.427253+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "If you have any questions that haven't been covered in the tutorial, then please jump onto the [Sonic Pi community forums](https://in-thread.sonic-pi.net/) and ask your question there. You'll find someone friendly and willing to lend a hand."
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -541936576372176216,
            "content_hash": -541936576372176216,
            "location": "99-Conclusions.md:11",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 1256,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 36,
            "source_unit": "https://hosted.weblate.org/api/units/15386729/?format=api",
            "priority": 100,
            "id": 15387533,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=787aa78e1a8b8aa8",
            "url": "https://hosted.weblate.org/api/units/15387533/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:46.685226+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "[Sam Aaron](https://twitter.com/samaaron)"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": -5616386783116679842,
            "content_hash": -5616386783116679842,
            "location": "99-Conclusions.md:26",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 1260,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 2,
            "source_unit": "https://hosted.weblate.org/api/units/15386731/?format=api",
            "priority": 100,
            "id": 15387534,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=320e95fa4721a55e",
            "url": "https://hosted.weblate.org/api/units/15387534/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:46.698369+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        },
        {
            "translation": "https://hosted.weblate.org/api/translations/sonic-pi/tutorial/gl/?format=api",
            "source": [
                "4. Live Code"
            ],
            "previous_source": "",
            "target": [
                ""
            ],
            "id_hash": 4882780616480309696,
            "content_hash": 4882780616480309696,
            "location": "A.01-tips.md:110",
            "context": "",
            "note": "",
            "flags": "",
            "labels": [],
            "state": 0,
            "fuzzy": false,
            "translated": false,
            "approved": false,
            "position": 1290,
            "has_suggestion": false,
            "has_comment": false,
            "has_failing_check": false,
            "num_words": 3,
            "source_unit": "https://hosted.weblate.org/api/units/15386733/?format=api",
            "priority": 100,
            "id": 15387535,
            "web_url": "https://hosted.weblate.org/translate/sonic-pi/tutorial/gl/?checksum=c3c31f19c178c1c0",
            "url": "https://hosted.weblate.org/api/units/15387535/?format=api",
            "explanation": "",
            "extra_flags": "",
            "pending": false,
            "timestamp": "2020-01-23T22:19:46.768995+01:00",
            "last_updated": "2023-05-23T12:28:47.723593+02:00"
        }
    ]
}