[gnome-devel-docs] Update Swedish translation



commit 0008711b2437baceceb038b82ccdd2bca3a32419
Author: Sebastian Rasmussen <sebras gmail com>
Date:   Fri Feb 19 21:51:59 2021 +0000

    Update Swedish translation

 platform-demos/sv/sv.po | 2317 ++++++++++++++++++++++++++++++++++++++---------
 1 file changed, 1888 insertions(+), 429 deletions(-)
---
diff --git a/platform-demos/sv/sv.po b/platform-demos/sv/sv.po
index 3a2331ce..4d134496 100644
--- a/platform-demos/sv/sv.po
+++ b/platform-demos/sv/sv.po
@@ -1,26 +1,31 @@
-# Swedish translation for gnome-devel-docs.
-# Copyright © 2018 gnome-devel-docs's COPYRIGHT HOLDER
-# This file is distributed under the same license as the gnome-devel-docs package.
-# Anders Jonsson <anders jonsson norsjovallen se>, 2018.
+# Swedish translation for platform-demos.
+# Copyright © 2018-2021 Free Software Foundation, Inc.
+# This file is distributed under the same license as the platform-demos package.
+# Anders Jonsson <anders jonsson norsjovallen se>, 2018, 2021.
+# Sebastian Rasmussen <sebras gmail com>, 2019.
 #
 msgid ""
 msgstr ""
-"Project-Id-Version: gnome-devel-docs master\n"
-"POT-Creation-Date: 2018-12-29 15:57+0000\n"
-"PO-Revision-Date: 2019-01-15 13:33+0100\n"
+"Project-Id-Version: platform-demos\n"
+"POT-Creation-Date: 2021-02-05 12:00+0000\n"
+"PO-Revision-Date: 2021-02-19 22:46+0100\n"
 "Last-Translator: Anders Jonsson <anders jonsson norsjovallen se>\n"
-"Language-Team: Swedish <tp-sv listor tp-sv se>\n"
+"Language-Team: Svenska <tp-sv listor tp-sv se>\n"
 "Language: sv\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-"X-Generator: Poedit 2.2\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+"X-Generator: Poedit 2.4.2\n"
 
 #. Put one translator per line, in the form NAME <EMAIL>, YEAR1, YEAR2
 msgctxt "_"
 msgid "translator-credits"
-msgstr "Anders Jonsson <anders jonsson norsjovallen se>, 2018"
+msgstr ""
+"Sebastian Rasmussen <sebras gmail com>, 2019\n"
+"\n"
+"Skicka synpunkter på översättningen till\n"
+"<tp-sv listor tp-sv se>."
 
 #. (itstool) path: credit/name
 #: C/02_welcome_to_the_grid.js.page:15 C/03_getting_the_signal.js.page:16 C/aboutdialog.js.page:12
@@ -77,12 +82,12 @@ msgstr "2012"
 #. (itstool) path: info/desc
 #: C/02_welcome_to_the_grid.js.page:20
 msgid "Learn how to lay out UI components, like Images and Labels."
-msgstr ""
+msgstr "Lär dig hur du placerar ut komponenter för användargränssnitt, så som bilder och etiketter."
 
 #. (itstool) path: page/title
 #: C/02_welcome_to_the_grid.js.page:23
 msgid "2. Welcome to the Grid"
-msgstr ""
+msgstr "2. Välkommen till rutnätet"
 
 #. (itstool) path: synopsis/p
 #: C/02_welcome_to_the_grid.js.page:25
@@ -91,6 +96,9 @@ msgid ""
 "Labels. You'll then learn how to arrange them all in a Grid, which lets you put widgets exactly where you 
want "
 "them."
 msgstr ""
+"Denna handledning kommer att visa dig hur du skapar grundläggande komponenter eller delar av ett GNOME-"
+"användargränssnitt, så som bilder (Image) och etiketter (Label). Du kommer därefter att få lära dig att 
arrangera "
+"dem i ett rutnät (Grid), vilket låter dig placera komponenter precis där du vill ha dem."
 
 #. (itstool) path: note/p
 #: C/02_welcome_to_the_grid.js.page:26
@@ -98,11 +106,13 @@ msgid ""
 "Have you taken <link xref=\"hellognome.js\">the first tutorial in this series</link> already? You'll want 
to do so "
 "before continuing."
 msgstr ""
+"Har du redan gått genom <link xref=\"hellognome.js\">den första handledningen i denna serie</link>? Du 
kommer att "
+"behöva ha gjort det innan du fortsätter."
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:32
 msgid "Going native"
-msgstr ""
+msgstr "Att köra inbyggt"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:34
@@ -112,6 +122,10 @@ msgid ""
 "ApplicationWindow, and telling it to display. The application itself was written in HTML and JavaScript, 
just like "
 "most pages on the web."
 msgstr ""
+"I den senaste handledningen skapade vi vad som praktiskt taget var en GNOME-fönsterram för en 
webbapplikation. All "
+"GNOME-specifik kod som vi behövde lära oss kretsade kring att sätta denna WebView — komponenten som 
innehåller "
+"vårt program — i ett ApplicationWindow, och säga till den att visas. Programmet själv skrevs i HTML och "
+"Javascript, precis som de flesta sidor på webben."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:35
@@ -121,6 +135,10 @@ msgid ""
 "like the button and header in the web app we wrote. Because instead of using web code, these are going to 
be 100 "
 "percent GNOME, using GTK+."
 msgstr ""
+"Denna gång kommer vi att enbart använda inbyggda GNOME-komponenter. En komponent är en sak, så som en 
kryssruta "
+"eller en bild, och GNOME har en uppsjö att välja bland. Vi kallar dem ”inbyggda” komponenter för att 
särskilja dem "
+"från saker som knappen och rubriken i webbapplikationen vi skrev. Istället för att använda webbkod kommer 
dessa "
+"att vara 100 procent GNOME, genom att använda GTK+."
 
 #. (itstool) path: note/p
 #: C/02_welcome_to_the_grid.js.page:36
@@ -129,11 +147,14 @@ msgid ""
 "applications. It was originally written for <link href=\"http://www.gimp.org/\";>the GIMP</link>, which is a 
free "
 "software image editor."
 msgstr ""
+"GTK+ står för ”GIMP Tookit”. Det är som en verktygslåda av komponenter som du kan använda när du bygger 
dina "
+"program. Det skrevs från början för <link href=\"http://www.gimp.org/\";>GIMP</link>, vilket är fri 
programvara för "
+"att redigera bilder."
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:40
 msgid "Setting up our application"
-msgstr ""
+msgstr "Konfigurera ditt program"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:42
@@ -141,6 +162,8 @@ msgid ""
 "Before we dig out any widgets from the GTK+ toolbox, we first need to write the basic boilerplate code that 
our "
 "application requires."
 msgstr ""
+"Innan vi gräver fram några komponenter från GTK+-verktygslådan måste vi först skriva den grundläggande "
+"standardkoden som vårt program kräver."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:43
@@ -165,11 +188,14 @@ msgid ""
 "declare more imports here. What we're writing today is pretty basic, so these are all we need; Gtk for the "
 "widgets, using the stable '3.0' API."
 msgstr ""
+"Denna del finns alltid i början av din kod. Beroende på vad du ska göra med det kan du komma att vilja 
deklarera "
+"fler importer här. Det vi skriver idag är ganska grundläggande så detta är allt vi behöver; Gtk för 
komponenter, "
+"via det stabila API:t ”3.0”."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:50
 msgid "Speaking of which:"
-msgstr ""
+msgstr "På tal om det:"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:51
@@ -196,6 +222,26 @@ msgid ""
 "        this._buildUI ();\n"
 "    }\n"
 msgstr ""
+"\n"
+"class WelcomeToTheGrid {\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signaler till återanropsfunktioner\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signal visar fönster när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI ();\n"
+"    }\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:72
@@ -203,11 +249,16 @@ msgid ""
 "This is the start of the application itself, and the _init function which creates it. It tells _buildUI to 
create "
 "an ApplicationWindow, which we're going to call _window, and it tells our window to present itself whenever 
needed."
 msgstr ""
+"Detta är starten på programmet i sig, och _init-funktionen som skapar det. Det berättar för _buildUI att 
skapa ett "
+"ApplicationWindow, vilket vi kommer kalla för _window, och berätta för vårt fönster att presentera sig sig 
själv "
+"närhelst det behövs."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:73
 msgid "This part, again, is pretty much copy-and-paste, but you always want to give your application a 
unique name."
 msgstr ""
+"Denna del är, återigen, ganska mycket kopiera och klistra, men du kommer alltid att vilja ge ditt program 
ett "
+"unikt namn."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:75
@@ -224,6 +275,16 @@ msgid ""
 "            border_width: 10,\n"
 "            title: \"Welcome to the Grid\"});\n"
 msgstr ""
+"\n"
+"    // Bygg programmets användargränssnitt\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programmets fönster\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            border_width: 10,\n"
+"            title: \"Välkommen till Grid\"});\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:86
@@ -233,16 +294,20 @@ msgid ""
 "between the outside edge and any widgets inside of it. We also give it a title, which will appear at the 
top of "
 "the window."
 msgstr ""
+"Avslutningsvis kommer vi att börja _buildUI-funktionen genom att skapa ett nytt ApplicationWindow. Vi anger 
att "
+"det följer med detta program, att det ska dyka upp mitt på skärmen och att det bör finnas åtminstone 10 "
+"bildpunkter mellan den utvändiga kanten och komponenter inuti. Vi ger det också en titel som kommer att 
visas i "
+"toppen av fönstret."
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:90
 msgid "Reaching into the GTK+ toolbox"
-msgstr ""
+msgstr "Att gräva i GTK+-verktygslådan"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:91
 msgid "What widgets should we use? Well, let's say we want to write an application that looks like this:"
-msgstr ""
+msgstr "Vilka komponenter ska vi använda? Låt säga att vi vill skriva ett program som ser ut så här:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -252,13 +317,13 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:93
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_01.png' md5='3fdc22d361cf801f71557fdc76ae5b49'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_01.png' md5='3fdc22d361cf801f71557fdc76ae5b49'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:95
 msgid ""
 "We're going to need, at the very least, a picture and a text label to go with it. Let's start with the 
picture:"
-msgstr ""
+msgstr "Vi kommer åtminstone att behöva en bild och en textetikett som följer med den. Låt oss börja med 
bilden:"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:96
@@ -279,10 +344,13 @@ msgid ""
 "action=AttachFile&amp;do=get&amp;target=gnome-image.png\">here</link>. Be sure to put it in the same 
directory as "
 "the code you're writing."
 msgstr ""
+"Du kan hämta bildfilen som används i detta exempel <link href=\"https://live.gnome.org/TarynFox?";
+"action=AttachFile&amp;do=get&amp;target=gnome-image.png\">här</link>. Säkerställ att du placerar den i 
samma "
+"katalog som koden du skriver."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:103
-#, fuzzy, no-wrap
+#, no-wrap
 msgid ""
 "\n"
 "        // Create a label\n"
@@ -290,7 +358,7 @@ msgid ""
 msgstr ""
 "\n"
 "        // Skapa en etikett\n"
-"        this._label = new Gtk.Label ({ label: \"Welcome to GNOME, too!\" });\n"
+"        this._label = new Gtk.Label ({ label: \"Välkommen även till GNOME!\" });\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:107
@@ -300,6 +368,10 @@ msgid ""
 "filename of the picture we want, and the Label's label property to be the sentence that we want beneath the 
"
 "picture."
 msgstr ""
+"Den koden lägger till etiketten nedanför. Du kan se hur vi skapar komponenter här; var och en är en del av 
Gtk och "
+"vi kan ge dem egenskaper som anpassar hur de beter sig. I detta fall sätter vi file-egenskapen för denna 
Image "
+"till att vara filnamnet på bilden vi önskar visa, och Labelns label-egenskap till att vara meningen vi vill 
ha "
+"under bilden."
 
 #. (itstool) path: note/p
 #: C/02_welcome_to_the_grid.js.page:108
@@ -307,6 +379,8 @@ msgid ""
 "Yes, it sounds redundant for a Label to have a label property, but it's not. Other widgets that contain 
text have "
 "a label property, so it's <em>consistent</em> for the Label widget to have one too."
 msgstr ""
+"Ja, det kan låta överflödigt att ha en Label som har en label-egenskap, men det är det inte. Andra 
komponenter som "
+"innehåller text har en label-egenskap, så det är <em>konsekvent</em> att Label-komponenten också har en."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:109
@@ -314,6 +388,8 @@ msgid ""
 "We can't just add these widgets to our window in order, though, the same way HTML elements appear in the 
order you "
 "write them. That's because an ApplicationWindow can only contain one widget."
 msgstr ""
+"Vi kan dock inte bara lägga till dessa komponenter i vårt fönster i ordning, på samma sätt som HTML-element 
dyker "
+"upp i ordningen du skriver dem. Detta är för att ApplicationWindow endast kan innehålla en komponent."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:110
@@ -321,6 +397,8 @@ msgid ""
 "How do we get around that? By making that one widget a container widget, which can hold more than one 
widget and "
 "organize them inside it. Behold: The Grid."
 msgstr ""
+"Hur kommer vi runt det? Genom att skapa en komponent som fungerar som en behållarkomponent, som kan 
innehålla mer "
+"än en komponent och organisera dem inuti. Skåda: Grid (rutnätet)."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:111
@@ -330,6 +408,9 @@ msgid ""
 "        // Create the Grid\n"
 "        this._grid = new Gtk.Grid ();\n"
 msgstr ""
+"\n"
+"        // Skapa rutnätet\n"
+"        this._grid = new Gtk.Grid ();\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:116
@@ -337,6 +418,8 @@ msgid ""
 "We're not giving it any properties yet. Those will come later, as we learn how to use the Grid's powers. 
First, "
 "let's attach the Image and Label we made to our Grid."
 msgstr ""
+"Vi ger det inga egenskaper än. Dessa kommer senare allt eftersom vi lär oss att använda Grids krafter. 
Först, låt "
+"oss koppla den Image och Label vi skapade till vår Grid."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:117
@@ -347,11 +430,15 @@ msgid ""
 "        this._grid.attach (this._image, 0, 0, 1, 1);\n"
 "        this._grid.attach (this._label, 0, 1, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Koppla bilden och etiketten till rutnätet\n"
+"        this._grid.attach (this._image, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._label, 0, 1, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:123
 msgid "This code looks awfully complicated, but it's not. Here's what those numbers mean:"
-msgstr ""
+msgstr "Denna kod ser oerhört komplicerad ut, men det är den inte. Detta är vad numren betyder:"
 
 #. (itstool) path: item/p
 #: C/02_welcome_to_the_grid.js.page:125
@@ -359,6 +446,8 @@ msgid ""
 "The <em>first</em> number is what left-to-right position to put things in, starting from 0. Any widget that 
uses a "
 "0 here goes all the way to the left."
 msgstr ""
+"Det <em>första</em> numret är på vilken vänster-till-höger-position som saker ska placeras på, med början 
på 0. En "
+"komponent som använder 0 här, placeras längst till vänster."
 
 #. (itstool) path: item/p
 #: C/02_welcome_to_the_grid.js.page:126
@@ -366,6 +455,8 @@ msgid ""
 "The <em>second</em> number is what top-to-bottom position to put a given widget in, starting from 0. The 
Label "
 "goes beneath the Image, so we give the Image a 0 and the Label a 1 here."
 msgstr ""
+"Det <em>andra</em> numret är på vilken topp-till-botten-position som en komponent ska placeras på, med 
början på "
+"0. Labeln ska placeras under bilden, så vi anger 0 för Image och 1 för Label här."
 
 #. (itstool) path: item/p
 #: C/02_welcome_to_the_grid.js.page:127
@@ -373,6 +464,8 @@ msgid ""
 "The <em>third</em> and <em>fourth</em> numbers are how many columns and rows a widget should take up. We'll 
see "
 "how these work in a minute."
 msgstr ""
+"Det <em>tredje</em> och <em>fjärde</em> numret är hur många kolumner och rader en komponent ska uppta. Vi 
kommer "
+"att se hur dessa fungerar om en liten stund."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:130
@@ -392,6 +485,19 @@ msgid ""
 "let app = new WelcomeToTheGrid ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla barnkomponenter\n"
+"        this._window.show_all();\n"
+"    }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new WelcomeToTheGrid ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:144
@@ -400,6 +506,9 @@ msgid ""
 "show itself, as the last part of the _buildUI function. As always, to finish up we create a new instance of 
the "
 "application's class and tell it to run."
 msgstr ""
+"Nu när vi skapat Grid och kopplat alla komponenter till den, så kan vi lägga till den till fönstret och be "
+"fönstret att visa sig självt, som det sista steget i _buildUI-funktionen. Som alltid avslutar vi med att 
skapa en "
+"ny instans av programmets klass och be den att köra."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:145
@@ -407,12 +516,14 @@ msgid ""
 "Save your application as welcome_to_the_grid.js. Then, to run your application just open a terminal, go to 
the "
 "directory where your application is at, and type"
 msgstr ""
+"Spara ditt program som welcome_to_the_grid.js. Sedan, för att köra ditt program, öppna en terminal, gå till 
"
+"katalogen där ditt program finns och skriv"
 
 #. (itstool) path: section/screen
 #: C/02_welcome_to_the_grid.js.page:146
 #, no-wrap
 msgid " <output style=\"prompt\">$ </output>gjs welcome_to_the_grid.js "
-msgstr ""
+msgstr " <output style=\"prompt\">$ </output>gjs welcome_to_the_grid.js "
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -422,7 +533,7 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:148
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_02.png' md5='07db86b0043ba5c3c24a90d7322bd81e'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_02.png' md5='07db86b0043ba5c3c24a90d7322bd81e'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:150
@@ -430,11 +541,13 @@ msgid ""
 "There we go! But wait. That doesn't look right. Why is the Label crammed up next to the Image like that? 
That "
 "doesn't look as nice, and it makes it harder to read. What can we do about this?"
 msgstr ""
+"Där har vi det! Men vänta! Det ser inte helt rätt ut. Varför är Labeln upptryckt intill bilden på det där 
sättet? "
+"Det ser inte så fint ut och det gör det svårare att läsa. Vad kan vi göra åt detta?"
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:154
 msgid "Tweaking the Grid"
-msgstr ""
+msgstr "Att anpassa Grid"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:156
@@ -442,6 +555,8 @@ msgid ""
 "One thing we can do, is we can give the Label a margin_top property when we create it. This works sort of 
like "
 "setting a margin for an HTML element using inline CSS styling."
 msgstr ""
+"En sak vi kan göra är att ge Labeln en margin_top-egenskap när vi skapar den. Detta fungerar lite grann som 
att "
+"sätta en marginal för ett HTML-element via inbyggda CSS-stilar."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:157
@@ -453,6 +568,11 @@ msgid ""
 "            label: \"Welcome to GNOME, too!\",\n"
 "            margin_top: 20 });\n"
 msgstr ""
+"\n"
+"        // Skapa en etikett\n"
+"        this._label = new Gtk.Label ({\n"
+"            label: \"Välkommen även till GNOME!\",\n"
+"            margin_top: 20 });\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:164
@@ -460,6 +580,9 @@ msgid ""
 "Of course, if we do that then if we replace the Label with something else -- or add in another widget -- 
then we "
 "have to repeat the margin_top on it too. Otherwise we end up with something like this:"
 msgstr ""
+"Men om vi gör det så kommer vi så klart ifall vi ersätter Labeln med någonting annat — eller lägger in en 
annan "
+"komponent — även behöva upprepa margin_top för denna. Annars kommer det att sluta med att vi har någonting 
i stil "
+"med detta:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -469,7 +592,7 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:165
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_03.png' md5='817351e73c687d47253c56ed06b6629f'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_03.png' md5='817351e73c687d47253c56ed06b6629f'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:167
@@ -477,6 +600,8 @@ msgid ""
 "We could give the Image a margin_bottom property, but that won't work when the new Label is in a separate 
column. "
 "So how about we try this instead:"
 msgstr ""
+"Vi skulle kunna ange en margin_bottom-egenskap för Imagen, men det kommer inte att fungera när Labeln är i 
en "
+"separat kolumn. Så hur vore det om vi provade med detta istället:"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:168
@@ -487,11 +612,15 @@ msgid ""
 "        this._grid = new Gtk.Grid ({\n"
 "            row_spacing: 20 });\n"
 msgstr ""
+"\n"
+"        // Skapa Grid\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            row_spacing: 20 });\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:174
 msgid "That makes it so that there are always 20 pixels of space in between each horizontal row."
-msgstr ""
+msgstr "Detta kommer att göra så att det alltid finns 20 bildpunkter utrymme mellan varje horisontell rad."
 
 #. (itstool) path: note/p
 #: C/02_welcome_to_the_grid.js.page:175
@@ -499,11 +628,13 @@ msgid ""
 "Yes, you can also set the column_spacing property on a Grid, or the margin_left and margin_right properties 
on any "
 "widget. Try them out, if you like!"
 msgstr ""
+"Ja, du kan också sätta column_spacing-egenskapen på en Grid, eller margin_left- och margin_right-egenskaper 
på "
+"vilken komponent som helst. Prova dem om du vill!"
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:179
 msgid "Adding more widgets"
-msgstr ""
+msgstr "Lägga till fler komponenter"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:181
@@ -512,6 +643,9 @@ msgid ""
 "way is to center the Image on top, so that it's above both Labels instead of just the one on the left. 
That's "
 "where those other numbers in the Grid's attach method come in:"
 msgstr ""
+"Om vi skulle vilja lägga till en andra Label, hur skulle vi då göra så att det faktiskt såg ut som om den 
passade "
+"in? Ett sätt är att centrera Imagen i toppen så att den ligger ovanför båda förekomsterna av Label istället 
för "
+"bara den till vänster. Det är här dessa andra nummer i Grids attach-method kommer in:"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:182
@@ -527,6 +661,15 @@ msgid ""
 "        this._grid.attach (this._label, 0, 1, 1, 1);\n"
 "        this._grid.attach (this._labelTwo, 1, 1, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Skapa en andra etikett\n"
+"        this._labelTwo = new Gtk.Label ({\n"
+"            label: \"The cake is a pie.\" });\n"
+"\n"
+"        // Koppla bilden och etiketterna till rutnätet\n"
+"        this._grid.attach (this._image, 0, 0, 2, 1);\n"
+"        this._grid.attach (this._label, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._labelTwo, 1, 1, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:193
@@ -535,6 +678,10 @@ msgid ""
 "two numbers count columns and rows from left to right and top to bottom, starting with 0. So if the first 
Label is "
 "in column 0 and row 1, we can put the second in column 1 and row 1 to put it to the right of the first 
Label."
 msgstr ""
+"Efter att vi skapat den andra Labeln, kopplar vi den till Grid till höger om den första Labeln. Kom ihåg 
att de "
+"första två numren räknar kolumner och rader från vänster till höger och från topp till botten, med början 
på 0. "
+"Som om den första Labeln är i kolumn 0 och rad 1, då kan vi placera den andra i kolumn 1 och rad 1 för att 
placera "
+"den till höger om den första Labeln."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:194
@@ -542,6 +689,8 @@ msgid ""
 "Note the number 2 in the attach statement for the Image. That's what does the trick here. That number is 
how many "
 "columns the Image spans, remember? So when we put it together, we get something like this:"
 msgstr ""
+"Notera numret 2 i attach-uttrycket för Imagen. Det är själva tricket här. Det numret är hur många kolumner 
Imagen "
+"sträcker sig över, eller hur? Så när vi för allting samman får vi någonting i stil med detta:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -551,12 +700,12 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:195
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_04.png' md5='eeaead27cee2851877fc3cfe66177f07'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_04.png' md5='eeaead27cee2851877fc3cfe66177f07'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:197
 msgid "There are two things you should take note of, here."
-msgstr ""
+msgstr "Det finns två saker som du bör notera här."
 
 #. (itstool) path: item/p
 #: C/02_welcome_to_the_grid.js.page:199
@@ -564,6 +713,9 @@ msgid ""
 "Setting the Image to span two columns doesn't stretch the picture itself horizontally. Instead, it 
stretches the "
 "invisible box taken up by the Image widget to fill both columns, then places the Image in the center of 
that box."
 msgstr ""
+"Att sätta Imagen till att sträcka sig över två kolumner sträcker inte bilden i sig horisontellt. Istället 
sträcker "
+"det den osynliga rutan som tas upp av Image-komponenten så att den fyller båda kolumnerna, sedan placeras 
Imagen i "
+"mitten på den rutan."
 
 #. (itstool) path: item/p
 #: C/02_welcome_to_the_grid.js.page:200
@@ -572,6 +724,9 @@ msgid ""
 "set anything that puts a border in between the two Labels. They were separate earlier when the Image was in 
only "
 "one column, but now that it spans both GNOME doesn't see a reason to keep them apart."
 msgstr ""
+"Även om vi har satt Grids row_spacing- och ApplicationWindows border_width-egenskaper så har vi ännu inte 
satt "
+"någonting som skapar en kant mellan de två förekomsterna av Label. De var separata tidigare när Imagen bara 
var i "
+"en kolumn men nu när den sträcker sig över båda så ser GNOME inte en orsak till att hålla isär dem."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:203
@@ -579,6 +734,8 @@ msgid ""
 "There are at least three ways we can get around that last one. First, we can set a margin_left or 
margin_right on "
 "one of the Labels:"
 msgstr ""
+"Det finns åtminstone tre sätt på vilka vi kan kommer runt det sistnämnda. Först kan vi sätta margin_left 
eller "
+"margin_right på endera av förekomsterna av Label:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -588,12 +745,12 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:204
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_05.png' md5='a3ad12f432d5977fc1f66302ad5b7498'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_05.png' md5='a3ad12f432d5977fc1f66302ad5b7498'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:206
 msgid "Second, we can set the Grid's column_homogeneous property to true."
-msgstr ""
+msgstr "För det andra kan vi sätta Grids column_homogeneous-egenskap till true."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:207
@@ -605,11 +762,16 @@ msgid ""
 "            column_homogeneous: true,\n"
 "            row_spacing: 20 });\n"
 msgstr ""
+"\n"
+"        // Skapa Grid\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            column_homogeneous: true,\n"
+"            row_spacing: 20 });\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:214
 msgid "That makes it look something like this:"
-msgstr ""
+msgstr "Detta gör att det ser ut något i stil med det här:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -619,12 +781,12 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:215
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_06.png' md5='450e48dbf6b8f5ce1c208e4812e1714b'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_06.png' md5='450e48dbf6b8f5ce1c208e4812e1714b'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:217
 msgid "And third, we can set the Grid's column_spacing property, the same way we set its row_spacing."
-msgstr ""
+msgstr "Och för det tredje kan vi sätta Grids column_spacing-egenskap på samma sätt som vi satt dess 
row_spacing."
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:218
@@ -636,11 +798,16 @@ msgid ""
 "            column_spacing: 20,\n"
 "            row_spacing: 20 });\n"
 msgstr ""
+"\n"
+"        // Skapa Grid\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            column_spacing: 20,\n"
+"            row_spacing: 20 });\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:224
 msgid "That makes it look like this:"
-msgstr ""
+msgstr "Detta får det att se ur så här:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -650,12 +817,12 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:225
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_07.png' md5='0b304d70728903fbb2601d55bf00fdb9'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_07.png' md5='0b304d70728903fbb2601d55bf00fdb9'"
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:229
 msgid "Using stock images"
-msgstr ""
+msgstr "Att använda standardbilder"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:231
@@ -663,6 +830,9 @@ msgid ""
 "GNOME has a lot of stock images on hand already, that we can use if we don't feel like creating our own or 
if we "
 "want a universally-recognized icon. Here's how we create a stock image, compared to how we create a normal 
one:"
 msgstr ""
+"GNOME har redan massor av standardbilder till hands, som vi kan använda om vi inte känner för att skapa 
egna eller "
+"om vi vill ha en universellt igenkänd ikon. Så här skapar vi en standardbild, jämfört med hur vi skapar en 
normal "
+"bild:"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:232
@@ -675,6 +845,12 @@ msgid ""
 "        // Create a second image using a stock icon\n"
 "        this._icon = new Gtk.Image ({ stock: 'gtk-about' });\n"
 msgstr ""
+"\n"
+"        // Skapa en bild\n"
+"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" });\n"
+"\n"
+"        // Skapa en andra bild genom att använda en standardikon\n"
+"        this._icon = new Gtk.Image ({ stock: 'gtk-about' });\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:239
@@ -682,6 +858,7 @@ msgid ""
 "After that, we attach it to the Grid to the left of the first Label. (We aren't using the second one for 
this "
 "example.)"
 msgstr ""
+"Efter det kopplar vi det till Grid till vänster om vår första Label. (Vi använder inte den andra i detta 
exempel.)"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:240
@@ -693,11 +870,16 @@ msgid ""
 "        this._grid.attach (this._icon,  0, 1, 1, 1);\n"
 "        this._grid.attach (this._label, 1, 1, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Koppla bilderna och etiketten till rutnätet\n"
+"        this._grid.attach (this._image, 0, 0, 2, 1);\n"
+"        this._grid.attach (this._icon,  0, 1, 1, 1);\n"
+"        this._grid.attach (this._label, 1, 1, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:246
 msgid "That gives us this, when we run it:"
-msgstr ""
+msgstr "När vi kör det, ger detta oss:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -707,7 +889,7 @@ msgstr ""
 #: C/02_welcome_to_the_grid.js.page:247
 msgctxt "_"
 msgid "external ref='media/02_jsgrid_08.png' md5='78890beb47bd11360154b8ca4d50d1ff'"
-msgstr ""
+msgstr "external ref='media/02_jsgrid_08.png' md5='78890beb47bd11360154b8ca4d50d1ff'"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:249
@@ -717,6 +899,10 @@ msgid ""
 "developer documentation</link>. It was written for C programmers, but you don't need to know C to use it; 
just "
 "look at the part in quotation marks, like \"gtk-about\", and copy that part to use the icon next to it."
 msgstr ""
+"Så ser standardikonen ”Om” ut. Du kan se en lista över alla standardobjekt från gtk-about och framåt i 
<link href="
+"\"https://developer.gnome.org/gtk3/3.4/gtk3-Stock-Items.html#GTK-STOCK-ABOUT:CAPS\";>GNOME:s "
+"utvecklardokumentation</link>. Den skrevs för C-programmerare, men du måste inte känna till C för att 
använda den; "
+"bara titta på delen inom citationstecken, så som 'gtk-about' och kopiera den delen för att använda ikonen 
intill."
 
 #. (itstool) path: note/p
 #: C/02_welcome_to_the_grid.js.page:250
@@ -725,16 +911,19 @@ msgid ""
 "that part will never need to be translated into another language. In fact, if it <em>were</em> translated 
it'd "
 "break the icon, because its name is still \"gtk-about\" no matter which language you speak."
 msgstr ""
+"Vi placerar enkla citattecken runt 'gtk-about' här eftersom den delen aldrig kommer att behöva översättas 
till ett "
+"annat språk (till skillnad från textsträngar som har dubbla citattecken runt sig). Om det faktiskt 
<em>blev</em> "
+"översatt skulle det ha sönder ikonen eftersom dess namn fortfarande är \"gtk-about\" oavsett vilket språk 
du talar."
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:255 C/03_getting_the_signal.js.page:336 C/hellognome.js.page:191
 msgid "What's next?"
-msgstr ""
+msgstr "Vad är nästa steg?"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:256
 msgid "Before we go on to the next tutorial, let's try something a little different:"
-msgstr ""
+msgstr "Innan vi går vidare till nästa handledning, låt oss prova något annat:"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:257
@@ -750,6 +939,15 @@ msgid ""
 "        this._grid.attach (this._icon,   0, 1, 1, 1);\n"
 "        this._grid.attach (this._button, 1, 1, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Skapa en knapp\n"
+"        this._button = new Gtk.Button ({\n"
+"            label: \"Välkommen även till GNOME!\"});\n"
+"\n"
+"        // Koppla bilderna och knappen till rutnätet\n"
+"        this._grid.attach (this._image,  0, 0, 2, 1);\n"
+"        this._grid.attach (this._icon,   0, 1, 1, 1);\n"
+"        this._grid.attach (this._button, 1, 1, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:268
@@ -758,12 +956,15 @@ msgid ""
 "it, though, you'll find that it doesn't do anything. How do we make our Button do something? That's what 
we'll "
 "find out, in <link xref=\"03_getting_the_signal.js\">our next tutorial</link>."
 msgstr ""
+"Det är helt rätt, vi gjorde om Labeln till en Button bara genom att ändras dess namn! Om du kör programmet 
och "
+"klickar på den så kommer du dock att upptäcka att den inte gör något. Hur får vi vår Button att göra något? 
Det "
+"kommer vi att upptäcka i <link xref=\"03_getting_the_signal.js\">nästa handledning</link>."
 
 #. (itstool) path: section/p
 #: C/02_welcome_to_the_grid.js.page:269
 msgid ""
 "If you like, feel free to spend some time experimenting with Grids, Labels, and Images, including stock 
images."
-msgstr ""
+msgstr "Om du vill, spendera lite tid på att experimentera med Grid, Label och Image, inklusive 
standardbilder."
 
 #. (itstool) path: note/p
 #: C/02_welcome_to_the_grid.js.page:270
@@ -772,6 +973,9 @@ msgid ""
 "together related widgets, and rearrange them easily. Take a look at the <link 
xref=\"radiobutton.js\">RadioButton</"
 "link> code sample if you'd like to see how this is done."
 msgstr ""
+"Ett trick du kan använda för att åstadkomma mer komplexa layouter är att nästla flera Grid inuti varandra. 
Detta "
+"låter dig gruppera relaterade komponenter och enkelt omarrangera dem. Titta på kodexemplet <link xref="
+"\"radiobutton.js\">RadioButton</link> om du vill se hur detta görs."
 
 #. (itstool) path: section/title
 #: C/02_welcome_to_the_grid.js.page:274 C/checkbutton.js.page:130 C/comboboxtext.js.page:171 
C/combobox.js.page:228
@@ -779,7 +983,7 @@ msgstr ""
 #: C/spinbutton.js.page:194 C/statusbar.js.page:216 C/switch.js.page:259 C/textview.js.page:243
 #: C/togglebutton.js.page:148 C/treeview_simple_liststore.js.page:267
 msgid "Complete code sample"
-msgstr ""
+msgstr "Fullständigt kodexempel"
 
 #. (itstool) path: section/code
 #: C/02_welcome_to_the_grid.js.page:275
@@ -869,16 +1073,99 @@ msgid ""
 "let app = new WelcomeToTheGrid ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"class WelcomeToTheGrid {\n"
+"\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"    // Anslut ”activate”- och ”startup”-signaler till återanropsfunktioner\n"
+"    this.application.connect('activate', this._onActivate.bind(this));\n"
+"    this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signalen visar fönster när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI ();\n"
+"    }\n"
+"\n"
+"    // Bygg programmets användargränssnitt\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programmets fönster\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            border_width: 10,\n"
+"            title: \"Välkommen till Grid\"});\n"
+"\n"
+"        // Skapa Grid\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            // column_homogeneous: true,\n"
+"            // column_spacing: 20,\n"
+"            row_spacing: 20 });\n"
+"\n"
+"        // Skapa en bild\n"
+"        this._image = new Gtk.Image ({ file: \"gnome-image.png\" });\n"
+"\n"
+"        // Skapa en andra bild med hjälp av en standardikon\n"
+"        this._icon = new Gtk.Image ({ stock: 'gtk-about' });\n"
+"\n"
+"        // Skapa en etikett\n"
+"        this._label = new Gtk.Label ({\n"
+"            label: \"Välkommen även till GNOME!\",\n"
+"            /* margin_top: 20 */ });\n"
+"\n"
+"        /* Skapa en andra etikett\n"
+"        this._labelTwo = new Gtk.Label ({\n"
+"            label: \"The cake is a pie.\" }); */\n"
+"\n"
+"        /* Skapa en knapp\n"
+"        this._button = new Gtk.Button ({\n"
+"            label: \"Välkommen även till GNOME!\"}); */\n"
+"\n"
+"        // Anslut bilderna och knappen till rutnätet\n"
+"        this._grid.attach (this._image,  0, 0, 2, 1);\n"
+"        this._grid.attach (this._icon,   0, 1, 1, 1);\n"
+"        this._grid.attach (this._label,  1, 1, 1, 1);\n"
+"\n"
+"        // this._grid.attach (this._label, 0, 1, 1, 1);\n"
+"        // this._grid.attach (this._labelTwo, 1, 1, 1, 1);\n"
+"\n"
+"        // this._grid.attach (this._button, 1, 1, 1, 1);\n"
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla barnkomponenter\n"
+"        this._window.show_all();\n"
+"    }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new WelcomeToTheGrid ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: info/desc
 #: C/03_getting_the_signal.js.page:21
 msgid "Create Buttons and other widgets that do things when you click on them."
-msgstr ""
+msgstr "Skapa knappar och andra komponenter som gör saker när du klickar på dem."
 
 #. (itstool) path: page/title
 #: C/03_getting_the_signal.js.page:24
 msgid "3. Getting the Signal"
-msgstr ""
+msgstr "3. Få signalen"
 
 #. (itstool) path: synopsis/p
 #: C/03_getting_the_signal.js.page:26
@@ -887,11 +1174,14 @@ msgid ""
 "make Buttons and other input widgets actually do things, by writing functions which handle the signals they 
send "
 "when they are clicked on or interacted with."
 msgstr ""
+"I den senaste handledningen lärde vi oss hur man skapar komponenter så som Label, Image och Button. Här 
kommer vi "
+"att lära oss att få Button och andra inmatningskomponenter att faktiskt göra saker, genom att skriva 
funktioner "
+"som hanterar signalerna de skickar när de klickas på eller interageras med."
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:32
 msgid "A basic application"
-msgstr ""
+msgstr "Ett grundläggande program"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:33
@@ -900,6 +1190,9 @@ msgid ""
 "or activated. A Button, for instance, sends out the \"clicked\" signal when somebody clicks on it. When 
this "
 "happens, GNOME looks for the part in your code that says what to do."
 msgstr ""
+"I GNOME skickar komponenter som du kan interagera med, så som Button och Switch, ut signaler när de klickas 
på "
+"eller aktiveras. En Button till exempel skickar ut signalen ”clicked” när någon klickar på den. När detta "
+"inträffar letar GNOME efter delen i din kod som säger vad som ska hända."
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:34
@@ -908,11 +1201,14 @@ msgid ""
 "function you write just to handle that signal. So whenever it gives off that signal, the function connected 
to "
 "that signal is run."
 msgstr ""
+"Hur skriver vi den koden? Genom att ansluta Buttons ”clicked”-signal till en återanropsfunktion, vilket är 
en "
+"funktion du skriver enkom för att hantera den signalen. Så närhelst den signalen skickas ut kommer 
funktionen som "
+"är ansluten till den signalen att köra."
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:35
 msgid "Here is an extremely basic example:"
-msgstr ""
+msgstr "Här är ett extremt enkelt exempel:"
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -922,7 +1218,7 @@ msgstr ""
 #: C/03_getting_the_signal.js.page:37 C/03_getting_the_signal.js.page:349
 msgctxt "_"
 msgid "external ref='media/03_jssignal_01.png' md5='8d6ecab185f4af4534cc255d62b58b8e'"
-msgstr ""
+msgstr "external ref='media/03_jssignal_01.png' md5='8d6ecab185f4af4534cc255d62b58b8e'"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:39
@@ -931,6 +1227,8 @@ msgid ""
 "variable that holds the number of cookies is increased by 1, and the Label that shows how many cookies 
there are "
 "is updated."
 msgstr ""
+"Detta ApplicationWindow har en Button och en Label inuti, arrangerade via en Grid. Närhelst Button blir 
klickad på "
+"ökar en variabel som innehåller antalet kakor med ett och Labeln som visar hur många kakor det finns 
uppdateras."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:40
@@ -939,6 +1237,9 @@ msgid ""
 "information and may keep track of which sites you've visited. They're just imaginary treats. You may bake 
some "
 "real ones if you like."
 msgstr ""
+"Kakorna i detta exempel är inte samma som kakorna som du kan få från webbplatser, vilka lagrar din "
+"inloggningsinformation och håller reda på vilka webbplatser du besökt. De är bara fiktiva belöningar. Du 
kan baka "
+"några riktiga om du vill."
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:41
@@ -947,6 +1248,9 @@ msgid ""
 "and widgets. Besides the application having a unique name, the biggest change from the usual boilerplate is 
that "
 "we create a global variable right near the beginning, to hold the number of cookies."
 msgstr ""
+"Här är den grundläggande standardkoden som kör vid programmets start, innan vi börjar skapa fönstret och "
+"komponenter. Förutom att programmet har ett unikt namn är den största förändringen från standardkoden att 
vi "
+"skapar en global variabel precis i början för att lagra antalet kakor."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:42
@@ -981,6 +1285,34 @@ msgid ""
 "        this._buildUI ();\n"
 "    }\n"
 msgstr ""
+"\n"
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"// Vi börjar med 0 kakor\n"
+"var cookies = 0;\n"
+"\n"
+"class GettingTheSignal {\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"        // Anslut ”active”- och ”startup”-signalerna till återanropsfunktionerna\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktionen för ”activate”-signalen visar fönstret när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktionen för ”startup”-signalen bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI ();\n"
+"    }\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:71
@@ -989,11 +1321,14 @@ msgid ""
 "signals to the functions that present the window and build the UI. We're going to do the same thing with 
our "
 "Button when we get to it, except that we're going to connect its \"clicked\" signal instead."
 msgstr ""
+"Titta på delen som använder vårt programs anslutningsmetod och bindning för att ansluta dess ”activate”- 
och "
+"”startup”-signaler till funktionerna som visar fönstret och bygger användargränssnittet. Vi kommer att göra 
samma "
+"sak med vår Button när vi kommer till det, förutom att vi kommer att ansluta dess ”clicked”-signal 
istället."
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:75
 msgid "Click the button"
-msgstr ""
+msgstr "Klicka på knappen"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:77
@@ -1001,6 +1336,8 @@ msgid ""
 "As usual, we'll put all the code to create our Button and other widgets inside the _buildUI function, which 
is "
 "called when the application starts up."
 msgstr ""
+"Som vanligt kommer vi att placera all kod för att skapa vår Button och andra komponenter inuti funktionen "
+"_buildUI, vilken anropas när programmet startar."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:78
@@ -1010,11 +1347,14 @@ msgid ""
 "    // Build the application's UI\n"
 "    _buildUI() {\n"
 msgstr ""
+"\n"
+"    // Bygg programmets användargränssnitt\n"
+"    _buildUI() {\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:83
 msgid "First, we create the window itself:"
-msgstr ""
+msgstr "Först skapar vi fönstret i sig:"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:84
@@ -1029,6 +1369,14 @@ msgid ""
 "            default_width: 400,\n"
 "            title: \"Click the button to get a cookie!\"});\n"
 msgstr ""
+"\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            title: \"Klicka på knappen för att få en kaka!\"});\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:93
@@ -1036,6 +1384,8 @@ msgid ""
 "Note that we've set its default_height and default_width properties. These let us control how tall and wide 
the "
 "ApplicationWindow will be, in pixels."
 msgstr ""
+"Notera att vi har satt egenskaperna default_height och default_width. Dessa låter oss styra hur högt och 
brett, i "
+"bildpunkter, som ApplicationWindow kommer att vara."
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:94
@@ -1043,6 +1393,8 @@ msgid ""
 "Next, we'll create the Label that shows us the number of cookies. We can use the cookies variable as part 
of the "
 "Label's label property."
 msgstr ""
+"Härnäst kommer vi att skapa Labeln som visar oss antalet kakor. Vi kan använda kakvariabeln som en del av 
Labelns "
+"label-egenskap."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:95
@@ -1053,6 +1405,10 @@ msgid ""
 "        this._cookieLabel = new Gtk.Label ({\n"
 "            label: \"Number of cookies: \" + cookies });\n"
 msgstr ""
+"\n"
+"        // Skapa etiketten\n"
+"        this._cookieLabel = new Gtk.Label ({\n"
+"            label: \"Antal kakor: \" + cookies });\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:101
@@ -1061,6 +1417,9 @@ msgid ""
 "its \"clicked\" signal to a function called _getACookie, which we'll write after we're done building our "
 "application's UI."
 msgstr ""
+"Nu skapar vi vår Button. Vi sätter dess label-egenskap så den visar texten som vi vill ha på vår Button, 
och vi "
+"ansluter dess ”clicked”-signal till en funktion kallad _getACookie, vilken vi kommer att skriva efter att 
vi är "
+"klara med att bygga vårt programs användargränssnitt."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:102
@@ -1073,6 +1432,12 @@ msgid ""
 "        // Connect the cookie button to the function that handles clicking it\n"
 "        this._cookieButton.connect ('clicked', this._getACookie.bind(this));\n"
 msgstr ""
+"\n"
+"        // Skapa kakknappen\n"
+"        this._cookieButton = new Gtk.Button ({ label: \"Få en kaka\" });\n"
+"\n"
+"        // Anslut kakknappen till funktionen som hanterar när den blir klickad på\n"
+"        this._cookieButton.connect ('clicked', this._getACookie.bind(this));\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:109
@@ -1082,6 +1447,11 @@ msgid ""
 "as a comma that tells GNOME to go on to the next function. Note that even though we wrote the code for the 
Label "
 "first, we can still attach it to the Grid in a way that will put it on the bottom."
 msgstr ""
+"Avslutningsvis skapar vi en Grid, fäster vår Label och Button till den och lägger till den till fönstret 
och ber "
+"fönstret att visa sig själv och sitt innehåll. Det är allt vi behöver göra inuti _buildUI-funktionen, så vi 
"
+"stänger den med en klammerparentes så väl som ett kommatecken som berättar för GNOME att fortsätta med 
nästa "
+"funktion. Notera att även om vi skrev koden för Label först kan vi fortfarande fästa den till Grid på ett 
sätt som "
+"placerar den längst ned."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:110
@@ -1106,6 +1476,24 @@ msgid ""
 "\n"
 "    }\n"
 msgstr ""
+"\n"
+"        // Skapa ett rutnät för att ordna allting inuti\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER,\n"
+"            row_spacing: 20 });\n"
+"\n"
+"        // Placera allting inuti rutnätet\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 1, 1, 1);\n"
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla dess barnkomponenter\n"
+"        this._window.show_all();\n"
+"\n"
+"    }\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:129
@@ -1114,6 +1502,9 @@ msgid ""
 "function will run. In this case, all it does is increase the number of cookies by 1, and update the Label 
to show "
 "the new number of cookies. We do this using the Label's set_label method."
 msgstr ""
+"Nu kommer vi att skriva _getACookie-funktionen. När vår Button skickar ut sin ”clicked”-signal kommer koden 
i "
+"denna funktion att köras. I detta fall är allt den ska göra att öka antalet kakor med 1 och uppdatera vår 
Label "
+"till att visa det nya antalet kakor. Vi gör detta via Labelns set_label-metod."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:130
@@ -1122,6 +1513,10 @@ msgid ""
 "that says what text is inside them, and get_label and set_label methods that let you check what that text 
is and "
 "change it, respectively. So if you learn how one widget works, you'll also know how others like it work."
 msgstr ""
+"Många komponenter har samma egenskaper och metoder. Både Label och Button har till exempel en 
label-egenskap som "
+"säger vilken text som finns inuti dem, och get_label- och set_label-metoder som låter dig se vad texten är, 
"
+"respektive ändra den. Så om du lär dig hur en komponent fungerar kommer du också att veta hur andra 
liknande "
+"komponenter fungerar."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:131
@@ -1138,11 +1533,21 @@ msgid ""
 "\n"
 "};\n"
 msgstr ""
+"\n"
+"    _getACookie: function() {\n"
+"\n"
+"        // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"        cookies++;\n"
+"        this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"    }\n"
+"\n"
+"};\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:143
 msgid "Finally, we run the application, using the same kind of code as in our last tutorial."
-msgstr ""
+msgstr "Avslutningsvis kör vi programmet med samma kod som i vår senaste handledning."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:144
@@ -1153,11 +1558,15 @@ msgid ""
 "let app = new GettingTheSignal ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"\n"
+"// Kör programmet\n"
+"let app = new GettingTheSignal ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:152
 msgid "Flip the switch"
-msgstr ""
+msgstr "Slå om brytaren"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:153
@@ -1166,6 +1575,9 @@ msgid ""
 "Switches don't have a label property, so we have to create a separate Label that says what it does to go 
next to "
 "it."
 msgstr ""
+"Knappar är inte den enda typen av komponenter i GTK+-verktygslådan. Vi kan också använda brytare (Switch) 
som den "
+"i detta exempel. En Switch har inte en etikettegenskap, så vi måste skapa en separat Label intill som 
berättar vad "
+"den gör."
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -1175,7 +1587,7 @@ msgstr ""
 #: C/03_getting_the_signal.js.page:155 C/03_getting_the_signal.js.page:355
 msgctxt "_"
 msgid "external ref='media/03_jssignal_02.png' md5='ba941390fbafc4a0f653c8f70bca92c0'"
-msgstr ""
+msgstr "external ref='media/03_jssignal_02.png' md5='ba941390fbafc4a0f653c8f70bca92c0'"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:157
@@ -1183,6 +1595,8 @@ msgid ""
 "A Switch has two positions, Off and On. When a Switch is turned on, its text and background color change, 
so you "
 "can tell which position it's in."
 msgstr ""
+"En Switch har två positioner, av och på. När en Switch är påslagen kommer dess text och bakgrundsfärg att 
ändras, "
+"så du kan se vilken position den är i."
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:159
@@ -1192,6 +1606,10 @@ msgid ""
 "Switch is turned on, you can get cookies by clicking the \"Get a cookie\" Button. If it's turned off, 
clicking the "
 "Button won't do anything."
 msgstr ""
+"Du kan ha sett Switchar som dessa i GNOME:s hjälpmedelsmeny, vilken låter dig slå på och av funktioner så 
som stor "
+"text och skärmtangentbord. I detta fall styr Switchen vår fiktiva kakautomat. Om Switchen är påslagen kan 
du få "
+"kakor genom att klicka på knappen ”Få en kaka”. Om den är avslagen, kommer klickande på knappen inte att 
göra "
+"något."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:160
@@ -1199,11 +1617,13 @@ msgid ""
 "You can get to the accessibility menu by clicking on the outline of a human, near your name in the 
upper-right "
 "corner of the screen."
 msgstr ""
+"Du kan nå hjälpmedelsmenyn genom att klicka på konturen av en människa nära ditt namn i övre högra hörnet 
av "
+"skärmen."
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:161
 msgid "Here's how we create the Switch:"
-msgstr ""
+msgstr "Så här skapar vi Switchen:"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:162
@@ -1213,6 +1633,9 @@ msgid ""
 "        // Create the switch that controls whether or not you can win\n"
 "        this._cookieSwitch = new Gtk.Switch ();\n"
 msgstr ""
+"\n"
+"        // Skapa brytaren som styr huruvida du kan vinna eller ej\n"
+"        this._cookieSwitch = new Gtk.Switch ();\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:167
@@ -1221,6 +1644,9 @@ msgid ""
 "_getACookie function, to check to see if the Switch is turned on. If we wanted to make something happen as 
soon as "
 "you flip the Switch, though, we would connect its notify::active signal, like so:"
 msgstr ""
+"Vi behöver faktiskt inte ansluta Switchen till någonting. Allt vi behöver göra är att skriva en if-sats i 
vår "
+"_getACookie-funktion, för att se om Switchen är påslagen. Om vi skulle vilja att något ska hända direkt när 
"
+"Switchen slås om, måste vi ansluta till dess notify::active-signal, så här:"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:168
@@ -1230,6 +1656,9 @@ msgid ""
 "        // Connect the switch to the function that handles it\n"
 "        this._cookieSwitch.connect ('notify::active', this._cookieDispenser.bind(this));\n"
 msgstr ""
+"\n"
+"        // Anslut brytaren till funktionen som hanterar den\n"
+"        this._cookieSwitch.connect ('notify::active', this._cookieDispenser.bind(this));\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:173
@@ -1237,6 +1666,8 @@ msgid ""
 "A Switch is set to the off position by default. If we wanted the Switch to start out turned on, we would 
set the "
 "value of its active property to true when we create it."
 msgstr ""
+"En Switch är som standard satt till avslagen. Om vi vill att Switchen ska börja påslagen, måste vi sätta 
värdet "
+"för dess active-egenskap till true när vi skapar den."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:174
@@ -1255,6 +1686,9 @@ msgid ""
 "Label to be kept right next to each other, so we'll create a Grid just for them, then put that Grid in our 
larger "
 "Grid that holds all the widgets inside it. Here's what the code looks like to create all that:"
 msgstr ""
+"Låt oss dock börja med att skapa den normalt, och sedan skapa en medföljande Label. Vi vill att Switchen 
och "
+"Labeln ska vara alldeles intill varandra, så vi skapar en Grid bara för dem, sedan stoppar vi denna Grid 
inuti vår "
+"större Grid som innehåller alla komponenterna. Här är hur koden skall se ut för allt detta:"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:179
@@ -1277,11 +1711,27 @@ msgid ""
 "        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1);\n"
 "        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Skapa brytaren som styr huruvida du kan vinna eller ej\n"
+"        this._cookieSwitch = new Gtk.Switch ();\n"
+"\n"
+"        // Skapa etiketten som medföljer brytaren\n"
+"        this._switchLabel = new Gtk.Label ({\n"
+"            label: \"Kakautomat\" });\n"
+"\n"
+"        // Skapa ett rutnät för brytaren och dess etikett\n"
+"        this._switchGrid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER });\n"
+"\n"
+"        // Stoppa brytaren och dess etikett inuti det rutnätet\n"
+"        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1);\n"
+"        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:197
 msgid "And now we arrange everything in the larger Grid like so."
-msgstr ""
+msgstr "Och nu arrangerar vi allting inuti vår större Grid på följande sätt."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:198
@@ -1293,6 +1743,11 @@ msgid ""
 "        this._grid.attach (this._switchGrid, 0, 1, 1, 1);\n"
 "        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._switchGrid, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:205
@@ -1301,6 +1756,8 @@ msgid ""
 "by using the Switch's get_active method. It returns true if the Switch is turned on, and false if the 
Switch is "
 "turned off."
 msgstr ""
+"Nu ändrar vi _getACookie-funktionen så att den kontrollerar om kakautomaten är påslagen. Vi gör det genom 
att "
+"använda Switchens get_active-metod. Den returnerar true om Switchen är påslagen, och false om Switchen är 
avslagen."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:206
@@ -1308,6 +1765,7 @@ msgid ""
 "When a method is used in an if statement like this, the code inside the if statement is executed if the 
method "
 "returns true."
 msgstr ""
+"När en metod används inuti en if-sats så här, kommer koden inuti if-satsen att köras om metoden returnerar 
true."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:207
@@ -1327,11 +1785,24 @@ msgid ""
 "\n"
 "    }\n"
 msgstr ""
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Är kakautomaten påslagen?\n"
+"        if (this._cookieSwitch.get_active()) {\n"
+"\n"
+"            // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"            cookies++;\n"
+"            this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:225
 msgid "Tuning the radio"
-msgstr ""
+msgstr "Ratta på radion"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:227
@@ -1341,6 +1812,10 @@ msgid ""
 "preset button in old-style car radios. The radio could only be tuned to one station at a time, so whenever 
you "
 "pressed one button in, another would pop back out."
 msgstr ""
+"En annan sorts inmatningskomponent som vi kan använda kallas för RadioButton. Du skapar dem i grupper, och 
då kan "
+"endast en RadioButton i en grupp vara vald samtidigt. De kallas radioknappar för att de fungerar som 
knapparna för "
+"förinställda kanaler i en gammaldags bilradio. Radion kunde bara vara inställd på en kanal åt gången, så 
närhelst "
+"du tryckte på en knapp så fick det en annan att poppa ut igen."
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -1350,7 +1825,7 @@ msgstr ""
 #: C/03_getting_the_signal.js.page:229 C/03_getting_the_signal.js.page:361
 msgctxt "_"
 msgid "external ref='media/03_jssignal_03.png' md5='49ecf251b0bf57543c8d79a77b6f306d'"
-msgstr ""
+msgstr "external ref='media/03_jssignal_03.png' md5='49ecf251b0bf57543c8d79a77b6f306d'"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:231
@@ -1359,6 +1834,8 @@ msgid ""
 "aren't packed in too tightly. The border_width is the number of pixels between any widget and the edge of 
the "
 "window."
 msgstr ""
+"Låt oss först ändra namnet på vårt ApplicationWindow och öka dess border_width-egenskap, så att våra 
komponenter "
+"inte är så tätt packade. Värdet border_width är antalet bildpunkter mellan alla komponenter och fönstrets 
kant."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:232
@@ -1374,6 +1851,15 @@ msgid ""
 "            border_width: 20,\n"
 "            title: \"Choose the one that says 'cookie'!\"});\n"
 msgstr ""
+"\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            border_width: 20,\n"
+"            title: \"Välj den som säger ”kaka”!\"});\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:243
@@ -1381,6 +1867,8 @@ msgid ""
 "After that, we create the RadioButtons. Remember how they're created in groups? The way we do that, is we 
set each "
 "new RadioButton's group property to the name of another RadioButton."
 msgstr ""
+"Efter det skapar vi RadioButton-knapparna. Kommer du ihåg att de skapas i grupper? Vi gör det genom att 
ställa in "
+"group-egenskapen för varje ny RadioButton till namnet på en annan RadioButton."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:244
@@ -1394,6 +1882,13 @@ msgid ""
 "        this._notCookieTwo = new Gtk.RadioButton ({ label: \"Not cookie\",\n"
 "            group: this._cookieRadio });\n"
 msgstr ""
+"\n"
+"        // Create the radio buttons\n"
+"        this._cookieRadio = new Gtk.RadioButton ({ label: \"Kaka\" });\n"
+"        this._notCookieOne = new Gtk.RadioButton ({ label: \"Inte kaka\",\n"
+"            group: this._cookieRadio });\n"
+"        this._notCookieTwo = new Gtk.RadioButton ({ label: \"Inte kaka\",\n"
+"            group: this._cookieRadio });\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:253
@@ -1401,6 +1896,8 @@ msgid ""
 "Next, we create a Grid for the RadioButtons. Remember, we don't have to arrange things in Grids in the same 
order "
 "that we create them in."
 msgstr ""
+"Härnäst skapar vi en Grid för RadioButton-knapparna. Kom ihåg att vi inte behöver arrangera saker i en Grid 
i "
+"samma ordning som vi skapar dem."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:254
@@ -1413,6 +1910,12 @@ msgid ""
 "        this._radioGrid.attach (this._cookieRadio, 0, 1, 1, 1);\n"
 "        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Arrangera radioknapparna i sitt eget rutnät\n"
+"        this._radioGrid = new Gtk.Grid ();\n"
+"        this._radioGrid.attach (this._notCookieOne, 0, 0, 1, 1);\n"
+"        this._radioGrid.attach (this._cookieRadio, 0, 1, 1, 1);\n"
+"        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:262
@@ -1420,11 +1923,13 @@ msgid ""
 "Normally, the RadioButton that's selected by default is the one that's the name of the group. We want the 
first "
 "\"Not cookie\" button to be selected by default, though, so we use its set_active method."
 msgstr ""
+"Vanligen är det den RadioButton som är vald som standard som används som namnet på gruppen. Vi vill dock 
att den "
+"första ”Inte kaka”-knappen ska vara vald som standard, så vi använder dess set_active-metod."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:263
 msgid "We could also set its active property to true when we create it."
-msgstr ""
+msgstr "Vi skulle också kunna ställa in dess active-egenskap till true när vi skapar den."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:264
@@ -1434,11 +1939,14 @@ msgid ""
 "        // Set the button that will be at the top to be active by default\n"
 "        this._notCookieOne.set_active (true);\n"
 msgstr ""
+"\n"
+"        // Ställ in knappen högst upp att vara aktiv som standard\n"
+"        this._notCookieOne.set_active (true);\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:269
 msgid "Now we arrange everything in our main Grid like usual ..."
-msgstr ""
+msgstr "Nu arrangerar vi allting i vår huvud-Grid som vanligt …"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:270
@@ -1450,11 +1958,17 @@ msgid ""
 "        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
 "        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._radioGrid, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:277
 msgid "And then we change our _getACookie function to test to see if the cookie button is the one that's 
selected."
-msgstr ""
+msgstr "Sedan ändrar vi vår _getACookie-funktion så att den testar om kakknappen är den som har valts."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:278
@@ -1474,16 +1988,31 @@ msgid ""
 "\n"
 "    }\n"
 msgstr ""
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Valde du ”kaka” istället för ”inte kaka”?\n"
+"        if (this._cookieRadio.get_active()) {\n"
+"\n"
+"            // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"            cookies++;\n"
+"            this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:296
 msgid "Can you spell \"cookie\"?"
-msgstr ""
+msgstr "Kan du stava till ”kaka”?"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:298
 msgid "The last input widget we're going to cover is the Entry widget, which is used for single-line text 
entry."
 msgstr ""
+"Den sista inmatningskomponenten som vi kommer att tala om är komponenten Entry, vilken används för "
+"textinmatningsfält med en ensam rad."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:299
@@ -1491,6 +2020,8 @@ msgid ""
 "If you need to be able to enter in a whole paragraph or more, like if you are building a text editor, 
you'll want "
 "to look at the much more customizable <link xref=\"textview.js\">TextView</link> widget."
 msgstr ""
+"Om du behöver kunna mata in ett helt stycke eller mer, exempelvis om du bygger en textredigerare, så kommer 
du "
+"vilja ta en titt på den mycket mer anpassningsbara <link xref=\"textview.js\">TextView</link>-komponenten."
 
 #. (itstool) path: section/media
 #. This is a reference to an external file such as an image or video. When
@@ -1500,12 +2031,12 @@ msgstr ""
 #: C/03_getting_the_signal.js.page:300 C/03_getting_the_signal.js.page:367
 msgctxt "_"
 msgid "external ref='media/03_jssignal_04.png' md5='dfc5221ca15ca9fba7d3c76a73804e2d'"
-msgstr ""
+msgstr "external ref='media/03_jssignal_04.png' md5='dfc5221ca15ca9fba7d3c76a73804e2d'"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:302
 msgid "After we change the window's name, we create the Entry widget."
-msgstr ""
+msgstr "Efter att vi ändrar fönstrets namn skapar vi Entry-komponenten."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:303
@@ -1515,11 +2046,14 @@ msgid ""
 "        // Create the text entry field\n"
 "        this._spellCookie = new Gtk.Entry ();\n"
 msgstr ""
+"\n"
+"        // Skapa textinmatningsfältet\n"
+"        this._spellCookie = new Gtk.Entry ();\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:308
 msgid "Next, we arrange everything in the Grid ..."
-msgstr ""
+msgstr "Sedan arrangerar vi allt i vår Grid …"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:309
@@ -1531,6 +2065,11 @@ msgid ""
 "        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
 "        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
 msgstr ""
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._spellCookie, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:316
@@ -1540,6 +2079,10 @@ msgid ""
 "not, so we use JavaScript's built-in toLowerCase method to change the Entry's text to all lower case inside 
the if "
 "statement."
 msgstr ""
+"Nu ändrar vi if-satsen för _getACookie igen, och använder get_text-metoden för Entryt för att få texten som 
du "
+"matade in i det och se om du stavade ”kaka” rätt. Vi bryr oss inte om du använder små eller stora bokstäver 
i "
+"”kaka”, så vi använder Javascripts inbyggda toLowerCase-metod för att ändra texten för Entryt till gemener 
inuti "
+"if-satsen."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:317
@@ -1548,6 +2091,9 @@ msgid ""
 "normally change the label on a Button, for instance.) Instead, it has a text property, which changes to 
match what "
 "the user types in."
 msgstr ""
+"En Entry-komponent har ingen label-egenskap, vilket är en inställd textsträng som användaren inte kan 
ändra. (Du "
+"kan exempelvis vanligen inte ändra etiketten på en Button.) Istället har den en text-egenskap, vilken 
ändras så "
+"att den motsvarar vad användaren skriver in."
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:318
@@ -1567,11 +2113,24 @@ msgid ""
 "\n"
 "    }\n"
 msgstr ""
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Stavade du ”kaka” rätt?\n"
+"        if ((this._spellCookie.get_text()).toLowerCase() == \"kaka\") {\n"
+"\n"
+"            // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"            cookies++;\n"
+"            this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
 
 #. (itstool) path: section/p
 #: C/03_getting_the_signal.js.page:337
 msgid "Keep reading, if you'd like to see the complete code for each version of our cookie maker 
application."
-msgstr ""
+msgstr "Fortsätt läsa om du vill se den fullständiga koden för varje version av vårt kakmakarprogram."
 
 #. (itstool) path: note/p
 #: C/03_getting_the_signal.js.page:338
@@ -1579,16 +2138,18 @@ msgid ""
 "The main JavaScript tutorials page has <link xref=\"beginner.js#buttons\">more detailed code samples</link> 
for "
 "each input widget, including several not covered here."
 msgstr ""
+"Huvudsidan för Javascripthandledningar har <link xref=\"beginner.js#buttons\">mer detaljerade 
kodexempel</link> "
+"för varje inmatningskomponent, däribland flera som inte täcks här."
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:343
 msgid "Complete code samples"
-msgstr ""
+msgstr "Fullständiga kodexempel"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:348
 msgid "Code sample with Button"
-msgstr ""
+msgstr "Kodexempel med Button"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:350
@@ -1676,11 +2237,92 @@ msgid ""
 "let app = new GettingTheSignal ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"// Vi börjar med 0 kakor\n"
+"var cookies = 0;\n"
+"\n"
+"class GettingTheSignal {\n"
+"\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signalerna till återanropsfunktioner\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signalen, visar fönstret när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signalen, bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI();\n"
+"    }\n"
+"\n"
+"    // Bytt programmets användargränssnitt\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            title: \"Klicka på knappen för att få en kaka!\"});\n"
+"\n"
+"        // Skapa en etikett\n"
+"        this._cookieLabel = new Gtk.Label ({\n"
+"            label: \"Antal kakor: \" + cookies });\n"
+"\n"
+"        // Skapa kak-knappen\n"
+"        this._cookieButton = new Gtk.Button ({ label: \"Få en kaka\" });\n"
+"\n"
+"        // Anslut kakknappen till funktionen som hanterar klickande på den\n"
+"        this._cookieButton.connect ('clicked', this._getACookie.bind(this));\n"
+"\n"
+"        // Skapa ett rutnät för att arrangera allting i\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER,\n"
+"            row_spacing: 20 });\n"
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 1, 1, 1);\n"
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla barnkomponenter\n"
+"        this._window.show_all();\n"
+"\n"
+"    }\n"
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"        cookies++;\n"
+"        this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"    }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new GettingTheSignal ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:354
 msgid "Code sample with Switch"
-msgstr ""
+msgstr "Kodexempel med Switch"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:356
@@ -1791,11 +2433,115 @@ msgid ""
 "let app = new GettingTheSignal ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"// Vi börjar med 0 kakor\n"
+"var cookies = 0;\n"
+"\n"
+"class GettingTheSignal {\n"
+"\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signalerna till återanropsfunktionerna\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signal, visar fönstret när aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signalen, bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI();\n"
+"    }\n"
+"\n"
+"    // Bygg programmets användargränssnitt\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            title: \"Klicka på knappen för att få en kaka!\"});\n"
+"\n"
+"        // Skapa etiketten\n"
+"        this._cookieLabel = new Gtk.Label ({\n"
+"            label: \"Antal kakor: \" + cookies });\n"
+"\n"
+"        // Skapa kak-knappen\n"
+"        this._cookieButton = new Gtk.Button ({\n"
+"            label: \"Få en kaka\" });\n"
+"\n"
+"        // Anslut kakknappen till funktionen som hanterar klickande på den\n"
+"        this._cookieButton.connect ('clicked', this._getACookie.bind(this));\n"
+"\n"
+"        // Skapa en brytare som styr huruvida du kan vinna eller ej\n"
+"        this._cookieSwitch = new Gtk.Switch ();\n"
+"\n"
+"        // Skapa etiketten som följer med brytaren\n"
+"        this._switchLabel = new Gtk.Label ({\n"
+"            label: \"Kakautomat\" });\n"
+"\n"
+"        // Skapa ett rutnät för brytaren och dess etikett\n"
+"        this._switchGrid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER });\n"
+"\n"
+"        // Stoppa brytaren och dess etikett inuti det rutnätet\n"
+"        this._switchGrid.attach (this._switchLabel, 0, 0, 1, 1);\n"
+"        this._switchGrid.attach (this._cookieSwitch, 1, 0, 1, 1);\n"
+"\n"
+"        // Skapa ett rutnät för att arrangera allting annat inuti\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER,\n"
+"            row_spacing: 20 });\n"
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._cookieButton, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._switchGrid, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla dess barnkomponenter\n"
+"        this._window.show_all();\n"
+"\n"
+"    }\n"
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Är kakautomaten påslagen?\n"
+"        if (this._cookieSwitch.get_active()) {\n"
+"\n"
+"            // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"            cookies++;\n"
+"            this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new GettingTheSignal ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:360
 msgid "Code sample with RadioButton"
-msgstr ""
+msgstr "Kodexempel med RadioButton"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:362
@@ -1907,11 +2653,116 @@ msgid ""
 "let app = new GettingTheSignal ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"// Vi börjar med 0 kakor\n"
+"var cookies = 0;\n"
+"\n"
+"class GettingTheSignal {\n"
+"\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signalerna till återanropsfunktionerna\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signalen, visar fönstret när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signalen, bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI();\n"
+"    }\n"
+"\n"
+"    // Bygg användargränssnittet\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            border_width: 20,\n"
+"            title: \"Välj den som säger ”kaka”!\"});\n"
+"\n"
+"        // Skapa radioknapparna\n"
+"        this._cookieRadio = new Gtk.RadioButton ({ label: \"Kaka\" });\n"
+"        this._notCookieOne = new Gtk.RadioButton ({ label: \"Inte kaka\",\n"
+"            group: this._cookieRadio });\n"
+"        this._notCookieTwo = new Gtk.RadioButton ({ label: \"Inte kaka\",\n"
+"            group: this._cookieRadio });\n"
+"\n"
+"        // Arrangera radioknapparna i sitt eget rutnät\n"
+"        this._radioGrid = new Gtk.Grid ();\n"
+"        this._radioGrid.attach (this._notCookieOne, 0, 0, 1, 1);\n"
+"        this._radioGrid.attach (this._cookieRadio, 0, 1, 1, 1);\n"
+"        this._radioGrid.attach (this._notCookieTwo, 0, 2, 1, 1);\n"
+"\n"
+"        // Ställ in knappen högst upp att vara aktiv som standard\n"
+"        this._notCookieOne.set_active (true);\n"
+"\n"
+"        // Skapa kakknappen\n"
+"        this._cookieButton = new Gtk.Button ({\n"
+"            label: \"Få en kaka\" });\n"
+"\n"
+"        // Anslut kakknappen till funktionen som hanterar klickande på den\n"
+"        this._cookieButton.connect ('clicked', this._getACookie.bind(this));\n"
+"\n"
+"        // Skapa etiketten\n"
+"        this._cookieLabel = new Gtk.Label ({\n"
+"            label: \"Antal kakor: \" + cookies });\n"
+"\n"
+"        // Skapa ett rutnät för att arrangera allt inuti\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER,\n"
+"            row_spacing: 20 });\n"
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._radioGrid, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla barnkomponenter\n"
+"        this._window.show_all();\n"
+"\n"
+"    }\n"
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Valde du ”kaka” istället för ”inte kaka”?\n"
+"        if (this._cookieRadio.get_active()) {\n"
+"\n"
+"            // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"            cookies++;\n"
+"            this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new GettingTheSignal ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: section/title
 #: C/03_getting_the_signal.js.page:366
 msgid "Code sample with Entry"
-msgstr ""
+msgstr "Kodexempel med Entry"
 
 #. (itstool) path: section/code
 #: C/03_getting_the_signal.js.page:368
@@ -2010,12 +2861,104 @@ msgid ""
 "let app = new GettingTheSignal ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"// Vi börjar med 0 kakor\n"
+"var cookies = 0;\n"
+"\n"
+"class GettingTheSignal {\n"
+"\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application();\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signalerna till återanropsfunktionerna\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signalen, visar fönstret när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signalen, bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI();\n"
+"    }\n"
+"\n"
+"    // Bygg användargränssnittet\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({\n"
+"            application: this.application,\n"
+"            window_position: Gtk.WindowPosition.CENTER,\n"
+"            default_height: 200,\n"
+"            default_width: 400,\n"
+"            border_width: 20,\n"
+"            title: \"Stava till ”kaka” för att få en kaka!\"});\n"
+"\n"
+"        // Skapa textinmatningsfältet\n"
+"        this._spellCookie = new Gtk.Entry ();\n"
+"\n"
+"        // Skapa kakknappen\n"
+"        this._cookieButton = new Gtk.Button ({\n"
+"            label: \"Få en kaka\" });\n"
+"\n"
+"        // Anslut kakknappen till funktionen som hanterar klickande på den\n"
+"        this._cookieButton.connect ('clicked', this._getACookie.bind(this));\n"
+"\n"
+"        // Skapa etiketten\n"
+"        this._cookieLabel = new Gtk.Label ({\n"
+"            label: \"Antal kakor: \" + cookies });\n"
+"\n"
+"        // Skapa ett rutnät för att arrangera allt inuti\n"
+"        this._grid = new Gtk.Grid ({\n"
+"            halign: Gtk.Align.CENTER,\n"
+"            valign: Gtk.Align.CENTER,\n"
+"            row_spacing: 20 });\n"
+"\n"
+"        // Stoppa allting inuti rutnätet\n"
+"        this._grid.attach (this._spellCookie, 0, 0, 1, 1);\n"
+"        this._grid.attach (this._cookieButton, 0, 1, 1, 1);\n"
+"        this._grid.attach (this._cookieLabel, 0, 2, 1, 1);\n"
+"\n"
+"        // Lägg till rutnätet till fönstret\n"
+"        this._window.add (this._grid);\n"
+"\n"
+"        // Visa fönstret och alla barnkomponenter\n"
+"        this._window.show_all();\n"
+"\n"
+"    }\n"
+"\n"
+"    _getACookie() {\n"
+"\n"
+"        // Stavade du ”kaka” rätt?\n"
+"        if ((this._spellCookie.get_text()).toLowerCase() == \"kaka\") {\n"
+"\n"
+"            // Öka antalet kakor med 1 och uppdatera etiketten\n"
+"            cookies++;\n"
+"            this._cookieLabel.set_label (\"Antal kakor: \" + cookies);\n"
+"\n"
+"        }\n"
+"\n"
+"    }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new GettingTheSignal ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: info/title
 #: C/aboutdialog.c.page:8
 msgctxt "text"
 msgid "AboutDialog (C)"
-msgstr ""
+msgstr "AboutDialog (C)"
 
 #. (itstool) path: credit/name
 #: C/aboutdialog.c.page:15 C/button.c.page:15 C/combobox.c.page:13 C/dialog.c.page:15 C/entry.c.page:13
@@ -2024,17 +2967,17 @@ msgstr ""
 #: C/scrolledwindow.c.page:15 C/spinbutton.c.page:16 C/spinner.c.page:14 C/statusbar.c.page:17 
C/switch.c.page:13
 #: C/textview.c.page:13 C/togglebutton.c.page:17 C/toolbar.c.page:15
 msgid "Monica Kochofar"
-msgstr ""
+msgstr "Monica Kochofar"
 
 #. (itstool) path: info/desc
 #: C/aboutdialog.c.page:20 C/aboutdialog.js.page:17 C/aboutdialog.vala.page:26
 msgid "Display information about an application"
-msgstr ""
+msgstr "Visa information om ett program"
 
 #. (itstool) path: page/title
 #: C/aboutdialog.c.page:23 C/aboutdialog.js.page:20 C/aboutdialog.py.page:22 C/aboutdialog.vala.page:29
 msgid "AboutDialog"
-msgstr ""
+msgstr "AboutDialog"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -2044,17 +2987,17 @@ msgstr ""
 #: C/aboutdialog.c.page:25 C/aboutdialog.js.page:21 C/aboutdialog.py.page:23 C/aboutdialog.vala.page:30
 msgctxt "_"
 msgid "external ref='media/aboutdialog_GMenu.png' md5='a36117a559fa98e25e2f6b3db593639f'"
-msgstr ""
+msgstr "external ref='media/aboutdialog_GMenu.png' md5='a36117a559fa98e25e2f6b3db593639f'"
 
 #. (itstool) path: page/p
 #: C/aboutdialog.c.page:26 C/aboutdialog.vala.page:31
 msgid "An AboutDialog example using Gtk.ApplicationWindow and Menu"
-msgstr ""
+msgstr "Ett AboutDialog-exempel som använder Gtk.ApplicationWindow och Menu"
 
 #. (itstool) path: note/p
 #: C/aboutdialog.c.page:27 C/aboutdialog.vala.page:32 C/gmenu.c.page:24
 msgid "<em style=\"bold\">You need to be running Gtk3.4 or later for this to work</em>"
-msgstr ""
+msgstr "<em style=\"bold\">Du måste köra Gtk3.4 eller senare för att detta ska fungera</em>"
 
 #. (itstool) path: page/code
 #: C/aboutdialog.c.page:29
@@ -2089,7 +3032,7 @@ msgid ""
 "\n"
 "  about_dialog = gtk_about_dialog_new ();\n"
 "\n"
-"  /* Lists of authors/ documentators to be used later, they must be initialized\n"
+"  /* Lists of authors/ documenters to be used later, they must be initialized\n"
 "   * in a null terminated array of strings.\n"
 "   */\n"
 "  const gchar *authors[] = {\"GNOME Documentation Team\", NULL};\n"
@@ -2214,6 +3157,159 @@ msgid ""
 "  return status;\n"
 "}\n"
 msgstr ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"/* Återanropsfunktion vilken reagerar på ”response”-signalen från användaren i\n"
+" * meddelandedialogfönstret.\n"
+" * Denna funktion används för att förstöra dialogfönstret.\n"
+" */\n"
+"static void\n"
+"on_close (GtkDialog *dialog,\n"
+"          gint       response_id,\n"
+"          gpointer   user_data)\n"
+"{\n"
+"  /* Detta kommer att förorsaka att dialogen förstörs */\n"
+"  gtk_widget_destroy (GTK_WIDGET (dialog));\n"
+"}\n"
+"\n"
+"/* Återanropsfunktion för svarssignalen ”activate” relaterad till SimpleAction\n"
+" * \"about_action\".\n"
+" * Denna funktion används för att se till att dialogfönstret visas.\n"
+" */\n"
+"static void\n"
+"about_cb (GSimpleAction *simple,\n"
+"          GVariant      *parameter,\n"
+"          gpointer       user_data)\n"
+"{\n"
+"  GtkWidget *about_dialog;\n"
+"\n"
+"  about_dialog = gtk_about_dialog_new ();\n"
+"\n"
+"  /* Listor med upphovsmän/dokumentatörer som används senare, måste\n"
+"   * initieras som en null-terminerad vektor av strängar.\n"
+"   */\n"
+"  const gchar *authors[] = {\"GNOME:s dokumentationsgrupp\", NULL};\n"
+"  const gchar *documenters[] = {\"GNOME:s dokumentationsgrupp\", NULL};\n"
+"\n"
+"  /* Vi fyller i informationen för om-dialogen */\n"
+"  gtk_about_dialog_set_program_name (GTK_ABOUT_DIALOG (about_dialog), \"AboutDialog-exempel\");\n"
+"  gtk_about_dialog_set_copyright (GTK_ABOUT_DIALOG (about_dialog), \"Copyright \\xc2\\xa9 2012 GNOME:s 
dokumentationsgrupp\");\n"
+"  gtk_about_dialog_set_authors (GTK_ABOUT_DIALOG (about_dialog), authors);\n"
+"  gtk_about_dialog_set_documenters (GTK_ABOUT_DIALOG (about_dialog), documenters);\n"
+"  gtk_about_dialog_set_website_label (GTK_ABOUT_DIALOG (about_dialog), \"GNOME:s utvecklarwebbplats\");\n"
+"  gtk_about_dialog_set_website (GTK_ABOUT_DIALOG (about_dialog), \"http://developer.gnome.org\";);\n"
+"\n"
+"  /* Vi vill inte visa titeln, vilken i detta fall skulle varit ”AboutDialog-exempel”.\n"
+"   * Vi måste återställa titeln för meddelandedialogfönstret efter att ha satt\n"
+"   * programnamnet.\n"
+"   */\n"
+"  gtk_window_set_title (GTK_WINDOW (about_dialog), \"\");\n"
+"\n"
+"  /* För att stänga om-dialogen när ”close” klickas på ansluter vi svarssignalen\n"
+"   * till on_close\n"
+"   */\n"
+"  g_signal_connect (GTK_DIALOG (about_dialog), \"response\",\n"
+"                    G_CALLBACK (on_close), NULL);\n"
+"\n"
+"  /* Visa om-dialogen */\n"
+"  gtk_widget_show (about_dialog);\n"
+"}\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  GtkWidget *window;\n"
+"\n"
+"  GSimpleAction *about_action;\n"
+"\n"
+"  /* Skapa ett fönster med en titel och en standardstorlek */\n"
+"  window = gtk_application_window_new (app);\n"
+"  gtk_window_set_title (GTK_WINDOW (window), \"AboutDialog-exempel\");\n"
+"  gtk_window_set_default_size (GTK_WINDOW (window), 200, 200);\n"
+"\n"
+"  /* Skapa en ny åtgärd, ge den parametertypen NULL. Den kommer\n"
+"   * alltid att vara NULL för åtgärder som anropas från en meny. (t.ex. genom att klicka på\n"
+"   * knapparna ”ok” eller ”avbryt”)\n"
+"   */\n"
+"  about_action = g_simple_action_new (\"about\", NULL);\n"
+"\n"
+"  /* Anslut ”activate”-signalen till en lämplig återanropsfunktion.\n"
+"   * Den kommer att indikera att åtgärden nyss aktiverats.\n"
+"   */\n"
+"  g_signal_connect (about_action, \"activate\", G_CALLBACK (about_cb),\n"
+"                    GTK_WINDOW (window));\n"
+"\n"
+"  /* Lägger till about_action till den övergripande åtgärdsmappningen. En åtgärdsmappning\n"
+"   * är ett gränssnitt som innehåller ett antal namngivna GAction-instanser\n"
+"   * (så som about_action)\n"
+"   */\n"
+"  g_action_map_add_action (G_ACTION_MAP (window), G_ACTION (about_action));\n"
+"\n"
+"  gtk_widget_show_all (window);\n"
+"}\n"
+"\n"
+"/* Återanropsfunktion för svarssignalen ”activate” från ”quit”-åtgärden\n"
+" * hittad i funktionen strax nedanför.\n"
+" */\n"
+"static void\n"
+"quit_cb (GSimpleAction *simple,\n"
+"         GVariant      *parameter,\n"
+"         gpointer       user_data)\n"
+"{\n"
+"  GApplication *application = user_data;\n"
+"\n"
+"  g_application_quit (application);\n"
+"}\n"
+"\n"
+"/* Uppstartsfunktion för menyn vi skapar i detta exempel */\n"
+"static void\n"
+"startup (GApplication *app,\n"
+"         gpointer      user_data)\n"
+"{\n"
+"  GMenu *menu;\n"
+"  GSimpleAction *quit_action;\n"
+"\n"
+"  /* Initiera GMenu, och lägg till ett menyobjekt med etiketten ”Om” och åtgärden\n"
+"   * ”win.about”. Lägg också till ett annat menyobjekt med etiketten ”Avsluta” och åtgärden\n"
+"   * ”app.quit”\n"
+"   */\n"
+"  menu = g_menu_new ();\n"
+"  g_menu_append (menu, \"Om\", \"win.about\");\n"
+"  g_menu_append (menu, \"Avsluta\", \"app.quit\");\n"
+"\n"
+"  /* Skapa en ny enkel åtgärd för programmet. (I detta fall är det\n"
+"   * åtgärden ”quit”.\n"
+"   */\n"
+"  quit_action = g_simple_action_new (\"quit\", NULL);\n"
+"\n"
+"  /* Säkerställ att menyn vi nyss skapat är inställd för det övergripande programmet */\n"
+"  gtk_application_set_app_menu (GTK_APPLICATION (app), G_MENU_MODEL (menu));\n"
+"\n"
+"  g_signal_connect (quit_action,\n"
+"                    \"activate\",\n"
+"                    G_CALLBACK (quit_cb),\n"
+"                    app);\n"
+"\n"
+"  g_action_map_add_action (G_ACTION_MAP (app), G_ACTION (quit_action));\n"
+"}\n"
+"\n"
+"/* Uppstartsfunktion för programmet */\n"
+"int\n"
+"main (int argc, char **argv)\n"
+"{\n"
+"  GtkApplication *app;\n"
+"  int status;\n"
+"\n"
+"  app = gtk_application_new (\"org.gtk.example\", G_APPLICATION_FLAGS_NONE);\n"
+"  g_signal_connect (app, \"activate\", G_CALLBACK (activate), NULL);\n"
+"  g_signal_connect (app, \"startup\", G_CALLBACK (startup), NULL);\n"
+"  status = g_application_run (G_APPLICATION (app), argc, argv);\n"
+"  g_object_unref (app);\n"
+"\n"
+"  return status;\n"
+"}\n"
 
 #. (itstool) path: page/p
 #. (itstool) path: section/p
@@ -2250,7 +3346,7 @@ msgstr ""
 #: C/treeview_simple_liststore.vala.page:28 C/treeview_treestore.py.page:42 C/widget_drawing.py.page:36
 #: C/window.c.page:30 C/window.py.page:62 C/window.vala.page:34
 msgid "In this sample we used the following:"
-msgstr ""
+msgstr "I detta exempel använde vi följande:"
 
 #. (itstool) path: item/p
 #: C/aboutdialog.c.page:35 C/button.c.page:34 C/combobox.c.page:35 C/dialog.c.page:34 C/entry.c.page:32
@@ -2288,7 +3384,7 @@ msgstr "<link href=\"http://developer.gnome.org/gio/stable/GActionMap.html\";>GAc
 #: C/aboutdialog.js.page:7
 msgctxt "text"
 msgid "AboutDialog (JavaScript)"
-msgstr ""
+msgstr "AboutDialog (Javascript)"
 
 #. (itstool) path: page/p
 #: C/aboutdialog.js.page:22
@@ -2296,6 +3392,8 @@ msgid ""
 "A modal dialog window which shows information about an application and its creators. This one is triggered 
by "
 "clicking \"About\" in the application's menu, which is normally a good place to put it."
 msgstr ""
+"En modal dialogruta som visar information om ett program och dess upphovsmän. Denna öppnas genom att klicka 
på "
+"”Om” i programmets meny, vilket vanligtvis är en bra plats att placera den på."
 
 #. (itstool) path: page/code
 #: C/aboutdialog.js.page:24
@@ -2398,6 +3496,102 @@ msgid ""
 "let app = new AboutDialogExample();\n"
 "app.application.run(ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"\n"
+"const Gio = imports.gi.Gio;\n"
+"const GLib = imports.gi.GLib;\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"class AboutDialogExample {\n"
+"\n"
+"    // Skapa programmet i sig\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application({\n"
+"            application_id: 'org.example.jsaboutdialog',\n"
+"            flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+"        });\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signalerna till återanropsfunktionerna\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signal visar fönster när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signal skapar menyn och bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._initMenus();\n"
+"        this._buildUI();\n"
+"    }\n"
+"\n"
+"    // Bygg användargränssnittet\n"
+"    _buildUI() {\n"
+"        // Skapa programfönstret\n"
+"        this._window = new Gtk.ApplicationWindow({ application: this.application,\n"
+"                                                   window_position: Gtk.WindowPosition.CENTER,\n"
+"                                                   title: \"AboutDialog-exempel\",\n"
+"                                                   default_height: 250,\n"
+"                                                   default_width: 350 });\n"
+"\n"
+"        // Visa fönstret och alla barnkomponenter\n"
+"        this._window.show_all();\n"
+"    }\n"
+"\n"
+"    // Skapa programmenyn\n"
+"    _initMenus() {\n"
+"        let menu = new Gio.Menu();\n"
+"        menu.append(\"Om\", 'app.about');\n"
+"        menu.append(\"Avsluta\",'app.quit');\n"
+"        this.application.set_app_menu(menu);\n"
+"\n"
+"        // Skapa ”Om”-menyobjektet och få det att anropa _showAbout()-funktionen\n"
+"        let aboutAction = new Gio.SimpleAction({ name: 'about' });\n"
+"        aboutAction.connect('activate', () =&gt; { this._showAbout(); });\n"
+"        this.application.add_action(aboutAction);\n"
+"\n"
+"        // Skapa ”Avsluta”-menyobjektet och få det att stänga fönstret\n"
+"        let quitAction = new Gio.SimpleAction ({ name: 'quit' });\n"
+"        quitAction.connect('activate', () =&gt; { this._window.destroy(); });\n"
+"        this.application.add_action(quitAction);\n"
+"    }\n"
+"\n"
+"    _showAbout() {\n"
+"\n"
+"        // Strängvektor över namnen på personerna som varit inblandade i projektet\n"
+"        var authors = [\"GNOME:s dokumentationsgrupp\"];\n"
+"        var documenters = [\"GNOME:s dokumentationsgrupp\"];\n"
+"\n"
+"        // Skapa Om-dialogen\n"
+"        let aboutDialog = new Gtk.AboutDialog({ title: \"AboutDialog-exempel\",\n"
+"                                                program_name: \"GtkApplication-exempel\",\n"
+"                                                copyright: \"Copyright \\xa9 2012 GNOME:s 
dokumentationsgrupp\",\n"
+"                                                authors: authors,\n"
+"                                                documenters: documenters,\n"
+"                                                website: \"http://developer.gnome.org\",\n";
+"                                                website_label: \"GNOME:s utvecklarwebbplats\" });\n"
+"\n"
+"        // Fäst Om-dialogen vid fönstret\n"
+"        aboutDialog.modal = true;\n"
+"        aboutDialog.transient_for = this._window;\n"
+"\n"
+"        // Visa Om-dialogen\n"
+"        aboutDialog.show();\n"
+"\n"
+"        // Anslut stängningsknappen till destroy-signalen för dialogen\n"
+"        aboutDialog.connect('response', function() {\n"
+"            aboutDialog.destroy();\n"
+"        });\n"
+"    }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new AboutDialogExample();\n"
+"app.application.run(ARGV);\n"
 
 #. (itstool) path: item/p
 #: C/aboutdialog.js.page:29 C/gmenu.c.page:32 C/gmenu.js.page:30 C/gmenu.py.page:80 
C/messagedialog.js.page:194
@@ -2440,7 +3634,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkApplicationWindow
 #: C/aboutdialog.py.page:8
 msgctxt "text"
 msgid "AboutDialog (Python)"
-msgstr ""
+msgstr "AboutDialog (Python)"
 
 #. (itstool) path: credit/name
 #: C/aboutdialog.py.page:14 C/beginner.js.page:16 C/beginner.py.page:19 C/beginner.vala.page:19 
C/button.py.page:15
@@ -2465,14 +3659,14 @@ msgstr "Marta Maria Casetti"
 #. (itstool) path: info/desc
 #: C/aboutdialog.py.page:19
 msgid "A window that displays information about an application"
-msgstr ""
+msgstr "Ett fönster som visar information om ett program"
 
 #. (itstool) path: page/p
 #: C/aboutdialog.py.page:24
 msgid ""
 "An AboutDialog example using Gtk.ApplicationWindow and Menu (the \"about\" is displayed if \"About\" in the 
menu "
 "is selected)."
-msgstr ""
+msgstr "Ett AboutDialog-exempel som använder Gtk.ApplicationWindow och Menu (”om” visas om ”Om” i menyn 
väljs)."
 
 #. (itstool) path: section/title
 #: C/aboutdialog.py.page:29 C/button.py.page:31 C/buttonbox.js.page:30 C/buttonbox.py.page:31
@@ -2490,7 +3684,7 @@ msgstr ""
 #: C/treeview_cellrenderertoggle.py.page:29 C/treeview_simple_liststore.py.page:30 
C/treeview_treestore.py.page:30
 #: C/widget_drawing.py.page:28 C/window.py.page:45
 msgid "Code used to generate this example"
-msgstr ""
+msgstr "Kod som använts för att generera detta exempel"
 
 #. (itstool) path: section/code
 #: C/aboutdialog.py.page:31
@@ -2582,11 +3776,96 @@ msgid ""
 "exit_status = app.run(sys.argv)\n"
 "sys.exit(exit_status)\n"
 msgstr ""
+"from gi.repository import Gtk\n"
+"from gi.repository import Gio\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+"     # konstruktor för ett fönster (föräldrafönstret)\n"
+"    def __init__(self, app):\n"
+"        Gtk.Window.__init__(self, title=\"AboutDialog-exempel\", application=app)\n"
+"        self.set_default_size(200, 200)\n"
+"\n"
+"        # skapa about_action (en Gio.SimpleAction)\n"
+"        about_action = Gio.SimpleAction.new(\"about\", None)\n"
+"        # anslut signalen från åtgärden till funktionen about_cb()\n"
+"        about_action.connect(\"activate\", self.about_cb)\n"
+"        # lägg till åtgärden till programmet\n"
+"        app.add_action(about_action)\n"
+"\n"
+"    # återanropsfunktion för about_actions ”activate”-signal\n"
+"    def about_cb(self, action, parameter):\n"
+"        # en Gtk.AboutDialog\n"
+"        aboutdialog = Gtk.AboutDialog()\n"
+"\n"
+"        # listor över upphovsmän och dokumentatörer (kommer att användas senare)\n"
+"        authors = [\"GNOME:s dokumentationsgrupp\"]\n"
+"        documenters = [\"GNOME:s dokumentationsgrupp\"]\n"
+"\n"
+"        # vi fyller i aboutdialog\n"
+"        aboutdialog.set_program_name(\"AboutDialog-exempel\")\n"
+"        aboutdialog.set_copyright(\n"
+"            \"Copyright \\xc2\\xa9 2012 GNOME:s dokumentationsgrupp\")\n"
+"        aboutdialog.set_authors(authors)\n"
+"        aboutdialog.set_documenters(documenters)\n"
+"        aboutdialog.set_website(\"http://developer.gnome.org\";)\n"
+"        aboutdialog.set_website_label(\"GNOME:s utvecklarwebbplats\")\n"
+"\n"
+"        # vi vill inte visa titeln, vilken som standard hade varit ”Om AboutDialog-exempel”\n"
+"        # vi måste återställa titeln för meddelandedialogfönstret efter att ha ställt in\n"
+"        # programnamnet\n"
+"        aboutdialog.set_title(\"\")\n"
+"\n"
+"        # för att stänga aboutdialog när ”close” klickas på ansluter vi\n"
+"        # signalen ”response” till on_close\n"
+"        aboutdialog.connect(\"response\", self.on_close)\n"
+"        # visa aboutdialog\n"
+"        aboutdialog.show()\n"
+"\n"
+"    # förstör aboutdialog\n"
+"    def on_close(self, action, parameter):\n"
+"        action.destroy()\n"
+"\n"
+"\n"
+"class MyApplication(Gtk.Application):\n"
+"\n"
+"    def __init__(self):\n"
+"        Gtk.Application.__init__(self)\n"
+"\n"
+"    def do_activate(self):\n"
+"        win = MyWindow(self)\n"
+"        win.show_all()\n"
+"\n"
+"    def quit_cb(self, action, parameter):\n"
+"        self.quit()\n"
+"\n"
+"    def do_startup(self):\n"
+"        Gtk.Application.do_startup(self)\n"
+"\n"
+"        # skapa en meny (en Gio.Menu)\n"
+"        menu = Gio.Menu()\n"
+"        # lägg till ett menyobjekt med etiketten ”Om” och åtgärden ”app.about”\n"
+"        menu.append(\"Om\", \"app.about\")\n"
+"        # lägg till ett menyobjekt med etiketten ”Avsluta” och åtgärden ”app.quit”\n"
+"        menu.append(\"Avsluta\", \"app.quit\")\n"
+"        # sätt menyn som meny för programmet\n"
+"        self.set_app_menu(menu)\n"
+"\n"
+"        # en ny simpleaction - för programmet\n"
+"        quit_action = Gio.SimpleAction.new(\"quit\", None)\n"
+"        quit_action.connect(\"activate\", self.quit_cb)\n"
+"        self.add_action(quit_action)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
 
 #. (itstool) path: section/title
 #: C/aboutdialog.py.page:36
 msgid "Useful methods for an AboutDialog widget"
-msgstr ""
+msgstr "Användbara metoder för en AboutDialog-komponent"
 
 #. (itstool) path: section/p
 #: C/aboutdialog.py.page:37
@@ -2595,6 +3874,9 @@ msgid ""
 "using <code><var>widget</var>.connect(<var>signal</var>, <var>callback function</var>)</code>. See <link 
xref="
 "\"signals-callbacks.py\"/> for a more detailed explanation."
 msgstr ""
+"På rad 15 ansluts signalen <code>\"activate\"</code> till återanropsfunktionen <code>about_cb()</code> med "
+"<code><var>widget</var>.connect(<var>signal</var>, <var>återanropsfunktion</var>)</code>. Se <link 
xref=\"signals-"
+"callbacks.py\"/> för en utförligare förklaring."
 
 #. (itstool) path: section/title
 #: C/aboutdialog.py.page:41 C/button.py.page:52 C/buttonbox.js.page:35 C/buttonbox.py.page:46
@@ -2636,7 +3918,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkApplication.htm
 #: C/aboutdialog.vala.page:8
 msgctxt "text"
 msgid "AboutDialog (Vala)"
-msgstr ""
+msgstr "AboutDialog (Vala)"
 
 #. (itstool) path: credit/name
 #: C/aboutdialog.vala.page:15 C/gmenu.vala.page:14
@@ -2734,6 +4016,71 @@ msgid ""
 "\treturn new Application ().run (args);\n"
 "}\n"
 msgstr ""
+"/* Ett fönster i programmet */\n"
+"public class Window : Gtk.ApplicationWindow {\n"
+"\n"
+"\t/* Konstruktorn */\n"
+"\tpublic Window (Application app) {\n"
+"\t\tObject (application: app, title: \"AboutDialog-exempel\");\n"
+"\n"
+"\t\tvar about_action = new SimpleAction (\"about\", null);\n"
+"\n"
+"\t\tabout_action.activate.connect (this.about_cb);\n"
+"\t\tthis.add_action (about_action);\n"
+"\t\tthis.show_all ();\n"
+"\t}\n"
+"\n"
+"\t/* Detta är återanropsfunktionen ansluten till signalen ”activate”\n"
+"\t * för en SimpleAction med namnet about_action.\n"
+"\t */\n"
+"\tvoid about_cb (SimpleAction simple, Variant? parameter) {\n"
+"\t\tstring[] authors = { \"GNOME:s dokumentationsgrupp\", null };\n"
+"\t\tstring[] documenters = { \"GNOME:s dokumentationsgrupp\", null };\n"
+"\n"
+"\t\tGtk.show_about_dialog (this,\n"
+"                               \"program-name\", (\"GtkApplication-exempel\"),\n"
+"                               \"copyright\", (\"Copyright \\xc2\\xa9 2012 GNOME:s 
dokumentationsgrupp\"),\n"
+"                               \"authors\", authors,\n"
+"                               \"documenters\", documenters,\n"
+"                               \"website\", \"http://developer.gnome.org\",\n";
+"                               \"website-label\", (\"GNOME:s utvecklarwebbplats\"),\n"
+"                               null);\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* Detta är programmet */\n"
+"public class Application : Gtk.Application {\n"
+"\n"
+"\t/* Här åsidosätter vi aktiveringssignalen för GLib.Application */\n"
+"\tprotected override void activate () {\n"
+"\t\tnew Window (this);\n"
+"\t}\n"
+"\n"
+"\t/* Här åsidosätter vi uppstartssignalen för GLib.Application */\n"
+"\tprotected override void startup () {\n"
+"\n"
+"\t\tbase.startup ();\n"
+"\n"
+"\t\tvar menu = new Menu ();\n"
+"\t\tmenu.append (\"Om\", \"win.about\");\n"
+"\t\tmenu.append (\"Avsluta\", \"app.quit\");\n"
+"\t\tthis.app_menu = menu;\n"
+"\n"
+"\t\tvar quit_action = new SimpleAction (\"quit\", null);\n"
+"\t\t//quit_action.activate.connect (this.quit);\n"
+"\t\tthis.add_action (quit_action);\n"
+"\t}\n"
+"\n"
+"\t/* Konstruktorn */\n"
+"\tpublic Application () {\n"
+"\t\tObject (application_id: \"org.example.application\");\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main-funktionen skapar Application och kör den */\n"
+"int main (string[] args) {\n"
+"\treturn new Application ().run (args);\n"
+"}\n"
 
 #. (itstool) path: item/p
 #: C/aboutdialog.vala.page:39 C/gmenu.vala.page:39 C/window.vala.page:38
@@ -2760,12 +4107,12 @@ msgstr "Kommer snart…"
 #: C/guitar-tuner.vala.page:14 C/image-viewer.c.page:15 C/image-viewer.cpp.page:13 
C/image-viewer.vala.page:15
 #: C/record-collection.js.page:15
 msgid "GNOME Documentation Project"
-msgstr ""
+msgstr "Dokumentationsprojekt för GNOME"
 
 #. (itstool) path: page/title
 #: C/audio-player.vala.page:19
 msgid "Audio player"
-msgstr ""
+msgstr "Ljudspelare"
 
 #. (itstool) path: credit/name
 #: C/beginner.js.page:11 C/grid.js.page:13 C/guitar-tuner.js.page:12 C/hello-world.c.page:15 
C/hello-world.js.page:15
@@ -2792,12 +4139,12 @@ msgstr "2013"
 #: C/beginner.js.page:21
 msgid ""
 "A beginner's guide to writing GNOME applications in JavaScript, including code samples and practice 
exercises."
-msgstr ""
+msgstr "En nybörjarguide till att skriva GNOME-program i Javascript, inklusive kodexempel och 
övningsexempel."
 
 #. (itstool) path: page/title
 #: C/beginner.js.page:24 C/beginner.vala.page:25
 msgid "Tutorial for beginners and code samples"
-msgstr ""
+msgstr "Handledning för nybörjare och kodexempel"
 
 #. (itstool) path: synopsis/p
 #: C/beginner.js.page:26
@@ -2807,6 +4154,10 @@ msgid ""
 "\"https://wiki.gnome.org/Apps/Documents\";>GNOME Documents</link> is written in JavaScript, and so is <link 
href="
 "\"https://live.gnome.org/GnomeShell/Tour\";>GNOME Shell</link>, the most basic part of GNOME."
 msgstr ""
+"Javascript är ett av de mest populära programmeringsspråken på webben. Det är dock inte enbart för webben. 
Om du "
+"bara har en grundläggande förståelse av Javascript kan du skriva fullfjädrade program för GNOME. <link 
href="
+"\"https://wiki.gnome.org/Apps/Documents\";>GNOME Dokument</link> är skrivet i Javascript, och det är även 
<link "
+"href=\"https://live.gnome.org/GnomeShell/Tour\";>GNOME-skalet</link>, den mest grundläggande delen av GNOME."
 
 #. (itstool) path: note/p
 #: C/beginner.js.page:27
@@ -2816,11 +4167,15 @@ msgid ""
 "tutorials will also show you how to use JavaScript to write GNOME Shell extensions, which give it new 
features or "
 "change the way it does things."
 msgstr ""
+"GNOME-skalet är det du ser när du klickar på ”Aktiviteter” i övre vänstra hörnet på skärmen. Det styr också 
"
+"klockan och resten av systemraden. Förutom att visa dig hur du skriver GNOME-program, kommer dessa 
handledningar "
+"också att visa hur du använder Javascript för att skriva GNOME-skalsutökningar, vilka lägger till nya 
funktioner "
+"eller ändrar hur saker görs."
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:31
 msgid "Getting Started"
-msgstr ""
+msgstr "Kom igång"
 
 #. (itstool) path: section/p
 #: C/beginner.js.page:32
@@ -2829,6 +4184,9 @@ msgid ""
 "on their computers already, but who are new to developing GNOME applications. If you don't already know "
 "JavaScript, or if you need help getting GNOME set up, take a look at these resources first:"
 msgstr ""
+"Dessa handledningar är designade för personer som redan vet hur man skriver Javascript, och som redan har 
GNOME "
+"installerat på sina datorer, men som är nybörjare när det gäller att utveckla GNOME-program. Om du inte 
redan kan "
+"Javascript, eller om du behöver hjälp med att konfigurera GNOME, använd först dessa resurser:"
 
 #. (itstool) path: item/p
 #: C/beginner.js.page:34
@@ -2837,6 +4195,9 @@ msgid ""
 "licensed book, which explains the basics of JavaScript programming. Since you won't be writing JavaScript 
for the "
 "web, you only need to read up to chapter 10 or so."
 msgstr ""
+"<link href=\"http://eloquentjavascript.net/contents.html\";>Eloquent JavaScript</link> är en gratis, 
Creative "
+"Commons-licensierad bok, vilken förklarar de grundläggande delarna av Javascript-programmering. Då du inte 
kommer "
+"att skriva Javascript för webben behöver du bara läsa fram till omkring kapitel 10."
 
 #. (itstool) path: item/p
 #: C/beginner.js.page:35
@@ -2844,6 +4205,8 @@ msgid ""
 "<link href=\"http://www.gnome.org/getting-gnome/\";>Download GNOME</link> as part of a distribution, like 
Fedora, "
 "openSUSE, or Ubuntu. Each distribution has its own instructions for how to get GNOME."
 msgstr ""
+"<link href=\"http://www.gnome.org/getting-gnome/\";>Hämta GNOME</link> som en del av en distribution så som 
Fedora, "
+"openSUSE eller Ubuntu. Varje distribution har sina egna instruktioner för hur du hämtar GNOME."
 
 #. (itstool) path: item/p
 #: C/beginner.js.page:36
@@ -2851,11 +4214,13 @@ msgid ""
 "<link xref=\"set-up-gedit.js\">Set up gedit</link> for writing applications. GNOME's text editor, gedit, is 
"
 "sometimes just called \"text editor\"."
 msgstr ""
+"<link xref=\"set-up-gedit.js\">Ställ in gedit</link> för att skriva program. GNOME:s textredigerare, gedit, 
kallas "
+"ibland bara för ”textredigerare”."
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:42 C/beginner.vala.page:42 C/c.page:113
 msgid "Tutorials"
-msgstr ""
+msgstr "Handledningar"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:46 C/beginner.vala.page:46 C/py.page:32
@@ -2878,7 +4243,7 @@ msgstr ""
 #. (itstool) path: item/p
 #: C/beginner.js.page:50
 msgid "Copy and paste the code into <var>filename</var>.js"
-msgstr ""
+msgstr "Kopiera och klistra in koden i <var>filnamn</var>.js"
 
 #. (itstool) path: item/p
 #: C/beginner.js.page:51
@@ -2889,7 +4254,7 @@ msgstr ""
 #: C/beginner.js.page:52
 #, no-wrap
 msgid "gjs <var>filename</var>.js"
-msgstr ""
+msgstr "gjs <var>filnamn</var>.js"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:55 C/beginner.py.page:32 C/beginner.vala.page:58 C/c.page:118
@@ -2930,63 +4295,63 @@ msgstr ""
 #. (itstool) path: steps/title
 #: C/beginner.js.page:69 C/beginner.py.page:46 C/beginner.vala.page:73 C/c.page:133 C/tutorial.py.page:127
 msgid "Selectors"
-msgstr ""
+msgstr "Väljare"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:70 C/beginner.py.page:47 C/beginner.vala.page:74 C/c.page:134
 msgid "File selectors"
-msgstr ""
+msgstr "Filväljare"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:72 C/beginner.py.page:49 C/beginner.vala.page:76 C/c.page:136
 msgid "Font selectors"
-msgstr ""
+msgstr "Typsnittsväljare"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:74 C/beginner.py.page:51 C/beginner.vala.page:78 C/c.page:138
 msgid "Color Selectors"
-msgstr ""
+msgstr "Färgväljare"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:77 C/beginner.py.page:54 C/beginner.vala.page:81 C/c.page:141
 msgid "Layout containers"
-msgstr ""
+msgstr "Layoutbehållare"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:79 C/beginner.py.page:56 C/beginner.vala.page:83 C/c.page:143
 msgid "Ornaments"
-msgstr ""
+msgstr "Ornamentering"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:81 C/beginner.py.page:58 C/beginner.vala.page:85 C/c.page:145
 msgid "Scrolling"
-msgstr ""
+msgstr "Rullning"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:83 C/beginner.py.page:60 C/beginner.vala.page:87 C/c.page:147
 msgid "Miscellaneous"
-msgstr ""
+msgstr "Diverse"
 
 #. (itstool) path: section/title
 #: C/beginner.js.page:88 C/beginner.vala.page:92 C/menubar.vala.page:198
 msgid "Exercises"
-msgstr ""
+msgstr "Övningar"
 
 #. (itstool) path: info/title
 #: C/beginner.py.page:9
 msgctxt "text"
 msgid "GTK+ widgets sample code (Python)"
-msgstr ""
+msgstr "Exempelkod för GTK+-komponenter (Python)"
 
 #. (itstool) path: info/desc
 #: C/beginner.py.page:13
 msgid "A guide to GUI programming using GTK+, including code samples and practice exercises."
-msgstr ""
+msgstr "En guide i GUI-programmering med GTK+, inklusive kodexempel och övningsexempel."
 
 #. (itstool) path: page/title
 #: C/beginner.py.page:25
 msgid "GTK+ widgets sample code"
-msgstr ""
+msgstr "Kodexempel för GTK+-komponenter"
 
 #. (itstool) path: synopsis/p
 #: C/beginner.py.page:27
@@ -2995,22 +4360,25 @@ msgid ""
 "with GTK+ 3, you should go to the <link xref=\"tutorial.py\"/> page. If you are looking for a specific 
widget, you "
 "can find it in the sections below."
 msgstr ""
+"Om du är en nybörjare och vill ha en handledning som guidar dig steg för steg i att utforska vad man kan 
göra med "
+"GTK+ 3, bör du gå till sidan <link xref=\"tutorial.py\"/>. Om du letar efter en specifik komponent, kan du 
hitta "
+"den i avsnitten nedan."
 
 #. (itstool) path: section/title
 #: C/beginner.py.page:64
 msgid "Theory pages"
-msgstr ""
+msgstr "Teorisidor"
 
 #. (itstool) path: info/title
 #: C/beginner.vala.page:9
 msgctxt "text"
 msgid "Tutorial for beginners (Vala)"
-msgstr ""
+msgstr "Handledning för nybörjare (Vala)"
 
 #. (itstool) path: info/desc
 #: C/beginner.vala.page:13
 msgid "A beginner's guide to GUI programming using GTK+, including code samples and practice exercises."
-msgstr ""
+msgstr "En nybörjarguide i GUI-programmering med GTK+, inklusive kodexempel och övningsexempel."
 
 #. (itstool) path: synopsis/p
 #: C/beginner.vala.page:27
@@ -3018,31 +4386,33 @@ msgid ""
 "Although these tutorials are designed for beginners, we can't cover all the basics. Before attempting to 
follow "
 "these tutorials, you are expected to be familiar with the following concepts:"
 msgstr ""
+"Även om dessa handledningar designats för nybörjare kan vi inte täcka allt grundläggande. Innan du börjar 
följa "
+"dessa handledning förväntas du vara bekant med följande koncept:"
 
 #. (itstool) path: item/p
 #: C/beginner.vala.page:29
 msgid "Object oriented programming"
-msgstr ""
+msgstr "Objektorienterad programmering"
 
 #. (itstool) path: item/p
 #: C/beginner.vala.page:30
 msgid "The Vala programming language:"
-msgstr ""
+msgstr "Programmeringsspråket Vala:"
 
 #. (itstool) path: item/p
 #: C/beginner.vala.page:32
 msgid "<link href=\"https://live.gnome.org/Vala/Tutorial\";>The Vala Tutorial</link>"
-msgstr ""
+msgstr "<link href=\"https://live.gnome.org/Vala/Tutorial\";>Vala-handledningen</link>"
 
 #. (itstool) path: item/p
 #: C/beginner.vala.page:33
 msgid "<link href=\"https://live.gnome.org/Vala/Documentation#Sample_Code\";>Sample Vala code</link>"
-msgstr ""
+msgstr "<link href=\"https://live.gnome.org/Vala/Documentation#Sample_Code\";>Exempelkod för Vala</link>"
 
 #. (itstool) path: synopsis/p
 #: C/beginner.vala.page:38
 msgid "By following these tutorials you will learn the basics of GUI programming using GTK+."
-msgstr ""
+msgstr "Genom att följa dessa handledningar kommer du att lära dig grundläggande GUI-programmering med GTK+."
 
 #. (itstool) path: item/p
 #: C/beginner.vala.page:51
@@ -3052,7 +4422,7 @@ msgstr "Kopiera och klistra in koden i <var>filnamn</var>.vala"
 #. (itstool) path: item/p
 #: C/beginner.vala.page:52 C/c.page:98
 msgid "In the terminal type:"
-msgstr ""
+msgstr "Skriv följande i terminalen:"
 
 #. (itstool) path: item/screen
 #: C/beginner.vala.page:53
@@ -3070,17 +4440,17 @@ msgstr "./<var>filnamn</var>"
 #: C/button.c.page:8
 msgctxt "text"
 msgid "Button (C)"
-msgstr ""
+msgstr "Button (C)"
 
 #. (itstool) path: info/desc
 #: C/button.c.page:20 C/button.py.page:20 C/button.vala.page:19
 msgid "A button widget which emits a signal when clicked"
-msgstr ""
+msgstr "En knappkomponent vilken sänder ut en signal när den klickas på"
 
 #. (itstool) path: page/title
 #: C/button.c.page:23 C/button.js.page:21 C/button.py.page:23
 msgid "Button"
-msgstr ""
+msgstr "Knapp"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -3088,7 +4458,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/button.c.page:25 C/button.js.page:22 C/button.py.page:25 C/button.vala.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/button.png' md5='8d69efbb3a0d3e043af6139b6492171c'"
 msgstr "external ref='media/button.png' md5='8d69efbb3a0d3e043af6139b6492171c'"
@@ -3096,7 +4465,7 @@ msgstr "external ref='media/button.png' md5='8d69efbb3a0d3e043af6139b6492171c'"
 #. (itstool) path: page/p
 #: C/button.c.page:26
 msgid "A button widget connected to a callback function that reverses its label when clicked."
-msgstr ""
+msgstr "En knappkomponent ansluten till en återanropsfunktion som vänder på sin etikett när den klickas på."
 
 #. (itstool) path: page/code
 #: C/button.c.page:28
@@ -3167,6 +4536,70 @@ msgid ""
 "  return status;\n"
 "}\n"
 msgstr ""
+"\n"
+"#include &lt;gtk/gtk.h&gt;\n"
+"\n"
+"\n"
+"\n"
+"/*Detta är återanropsfunktionen. Detta är en hanterarfunktion som\n"
+"reagerar på signalen. I detta fallet kommer den att orsaka att knappens\n"
+"etikettsträng kommer att vändas på.*/\n"
+"static void\n"
+"button_clicked (GtkButton *button,\n"
+"                gpointer   user_data)\n"
+"{\n"
+"  const char *old_label;\n"
+"  char *new_label;\n"
+"\n"
+"  old_label = gtk_button_get_label (button);\n"
+"  new_label = g_utf8_strreverse (old_label, -1);\n"
+"\n"
+"  gtk_button_set_label (button, new_label);\n"
+"  g_free (new_label);\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+"          gpointer        user_data)\n"
+"{\n"
+"  GtkWidget *window;\n"
+"  GtkWidget *button;\n"
+"\n"
+"  /*Skapa ett fönster med en titel och en standardstorlek*/\n"
+"  window = gtk_application_window_new (app);\n"
+"  gtk_window_set_title (GTK_WINDOW (window), \"GNOME Knapp\");\n"
+"  gtk_window_set_default_size (GTK_WINDOW (window), 250, 50);\n"
+"\n"
+"  /*Skapa en knapp med en etikett och lägg till den till fönstret*/\n"
+"  button = gtk_button_new_with_label (\"Klicka på mig\");\n"
+"  gtk_container_add (GTK_CONTAINER (window), button);\n"
+"\n"
+"  /*Ansluter signalen clicked till återanropsfunktionen*/\n"
+"  g_signal_connect (GTK_BUTTON (button),\n"
+"                    \"clicked\", \n"
+"                    G_CALLBACK (button_clicked), \n"
+"                    G_OBJECT (window));\n"
+"\n"
+"  gtk_widget_show_all (window);\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"int\n"
+"main (int argc, char **argv)\n"
+"{\n"
+"  GtkApplication *app;\n"
+"  int status;\n"
+"\n"
+"  app = gtk_application_new (\"org.gtk.example\", G_APPLICATION_FLAGS_NONE);\n"
+"  g_signal_connect (app, \"activate\", G_CALLBACK (activate), NULL);\n"
+"  status = g_application_run (G_APPLICATION (app), argc, argv);\n"
+"  g_object_unref (app);\n"
+"\n"
+"  return status;\n"
+"}\n"
 
 #. (itstool) path: item/p
 #: C/button.c.page:36 C/buttonbox.py.page:51 C/grid.c.page:35
@@ -3180,23 +4613,23 @@ msgid ""
 "Manipulation</link>"
 msgstr ""
 "<link 
href=\"http://developer.gnome.org/glib/stable/glib-Unicode-Manipulation.html#g-utf8-strreverse\";>Unicode-"
-"manipulation</link>"
+"manipulering</link>"
 
 #. (itstool) path: info/title
 #: C/button.js.page:8
 msgctxt "text"
 msgid "Button (JavaScript)"
-msgstr ""
+msgstr "Button (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/button.js.page:18
 msgid "A button which can be connected to other widgets"
-msgstr ""
+msgstr "En knapp som kan anslutas till andra komponenter"
 
 #. (itstool) path: page/p
 #: C/button.js.page:23
 msgid "A button widget that changes its label when you click it."
-msgstr ""
+msgstr "En knappkomponent som ändrar sin etikett när du klickar på den."
 
 #. (itstool) path: page/code
 #: C/button.js.page:25
@@ -3266,6 +4699,69 @@ msgid ""
 "let app = new ButtonExample ();\n"
 "app.application.run (ARGV);\n"
 msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"\n"
+"const Gio = imports.gi.Gio;\n"
+"const GLib = imports.gi.GLib;\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"class ButtonExample {\n"
+"\n"
+"    /* Skapa programmet i sig\n"
+"       Denna standardkod behövs för att bygga alla GTK+-program. */\n"
+"    constructor() {\n"
+"        this.application = new Gtk.Application ({\n"
+"            application_id: 'org.example.jsbutton',\n"
+"            flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+"        });\n"
+"\n"
+"        // Anslut ”activate”- och ”startup”-signalerna till återanropsfunktionerna\n"
+"        this.application.connect('activate', this._onActivate.bind(this));\n"
+"        this.application.connect('startup', this._onStartup.bind(this));\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”activate”-signalen, visar fönster när den aktiveras\n"
+"    _onActivate() {\n"
+"        this._window.present ();\n"
+"    }\n"
+"\n"
+"    // Återanropsfunktion för ”startup”-signalen, initierar menyer och bygger användargränssnittet\n"
+"    _onStartup() {\n"
+"        this._buildUI();\n"
+"    }\n"
+"\n"
+"    // Bygg användargränssnittet\n"
+"    _buildUI() {\n"
+"\n"
+"        // Skapa programfönstret\n"
+"            this._window = new Gtk.ApplicationWindow  ({ application: this.application,\n"
+"                                                              window_position: Gtk.WindowPosition.CENTER,\n"
+"                                                              title: \"GNOME Knapp\",\n"
+"                                                              default_height: 50,\n"
+"                                                              default_width: 250 });\n"
+"\n"
+"        // Skapa knappen\n"
+"        this.Button = new Gtk.Button ({label: \"Klicka på mig\"});\n"
+"        this._window.add (this.Button);\n"
+"\n"
+"        // Bind den till en funktion som säger vad som ska hände när knappen klickas på\n"
+"        this.Button.connect (\"clicked\", this._clickHandler.bind(this));\n"
+"\n"
+"                // Visa fönstret och alla barnkomponenter\n"
+"                this._window.show_all();\n"
+"    }\n"
+"\n"
+"    // Här är funktionen som säger vad som ska hända när knappen klickas på\n"
+"    _clickHandler() {\n"
+"        this.Button.set_label (\"Klickad!\");\n"
+"    }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new ButtonExample ();\n"
+"app.application.run (ARGV);\n"
 
 #. (itstool) path: item/p
 #: C/button.js.page:33 C/grid.js.page:36
@@ -3276,7 +4772,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Button.ht
 #: C/button.py.page:8
 msgctxt "text"
 msgid "Button (Python)"
-msgstr ""
+msgstr "Button (Python)"
 
 #. (itstool) path: page/p
 #: C/button.py.page:26 C/button.vala.page:25
@@ -3404,7 +4900,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkWindow.html\";>G
 #: C/button.vala.page:8
 msgctxt "text"
 msgid "Button (Vala)"
-msgstr ""
+msgstr "Button (Vala)"
 
 #. (itstool) path: page/title
 #: C/button.vala.page:22
@@ -3471,13 +4967,13 @@ msgstr ""
 #: C/buttonbox.js.page:8
 msgctxt "text"
 msgid "ButtonBox (JavaScript)"
-msgstr ""
+msgstr "ButtonBox (Javascript)"
 
 #. (itstool) path: credit/name
 #: C/buttonbox.js.page:14 C/colorbutton.js.page:13 C/fontchooserwidget.js.page:13 C/paned.js.page:13
 #: C/scrolledwindow.js.page:13 C/tooltip.js.page:14
 msgid "Meg Ford"
-msgstr ""
+msgstr "Meg Ford"
 
 #. (itstool) path: info/desc
 #: C/buttonbox.js.page:19 C/buttonbox.py.page:20
@@ -3488,7 +4984,7 @@ msgstr ""
 #. (itstool) path: steps/title
 #: C/buttonbox.js.page:22 C/buttonbox.py.page:23 C/tutorial.py.page:92
 msgid "ButtonBox"
-msgstr ""
+msgstr "ButtonBox"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -3496,7 +4992,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/buttonbox.js.page:24 C/buttonbox.py.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/buttonbox_calculator.png' md5='ce0de08b7ac66f517290e33e6d33d508'"
 msgstr "external ref='media/buttonbox_calculator.png' md5='ce0de08b7ac66f517290e33e6d33d508'"
@@ -3519,7 +5014,7 @@ msgid ""
 "\n"
 "class ButtonBoxExample {\n"
 "\n"
-"    // Create the application itthis\n"
+"    // Create the application itself\n"
 "    constructor() {\n"
 "        this.application = new Gtk.Application({\n"
 "            application_id: 'org.example.jsbuttonbox'\n"
@@ -3723,7 +5218,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Grid.html
 #: C/buttonbox.py.page:8
 msgctxt "text"
 msgid "ButtonBox (Python)"
-msgstr ""
+msgstr "ButtonBox (Python)"
 
 #. (itstool) path: section/code
 #: C/buttonbox.py.page:32
@@ -3991,7 +5486,7 @@ msgstr ""
 #. (itstool) path: item/p
 #: C/c.page:56
 msgid "<link href=\"https://wiki.gnome.org/Apps/Devhelp\";>DevHelp</link>: An API documentation browser for 
GNOME."
-msgstr ""
+msgstr "<link href=\"https://wiki.gnome.org/Apps/Devhelp\";>DevHelp</link>: En API-dokumentationsbläddrare 
för GNOME."
 
 #. (itstool) path: item/p
 #: C/c.page:60
@@ -4004,7 +5499,7 @@ msgstr ""
 #. (itstool) path: item/p
 #: C/c.page:66
 msgid "<link href=\"http://glade.gnome.org/\";>Glade</link>: A user interface designer for GTK+ Applications."
-msgstr ""
+msgstr "<link href=\"http://glade.gnome.org/\";>Glade</link>: En användargränssnittsdesigner för 
GTK+-program."
 
 #. (itstool) path: item/p
 #: C/c.page:70
@@ -4059,7 +5554,7 @@ msgstr ""
 #: C/checkbutton.c.page:8
 msgctxt "text"
 msgid "CheckButton (C)"
-msgstr ""
+msgstr "CheckButton (C)"
 
 #. (itstool) path: info/desc
 #: C/checkbutton.c.page:18
@@ -4069,7 +5564,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/checkbutton.c.page:21 C/checkbutton.js.page:21 C/checkbutton.py.page:22 C/checkbutton.vala.page:21
 msgid "CheckButton"
-msgstr ""
+msgstr "CheckButton"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -4077,7 +5572,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/checkbutton.c.page:22 C/checkbutton.js.page:22 C/checkbutton.py.page:23 C/checkbutton.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/checkbutton.png' md5='7921a6812c87dd2b3781f4fad241e858'"
 msgstr "external ref='media/checkbutton.png' md5='7921a6812c87dd2b3781f4fad241e858'"
@@ -4142,13 +5636,13 @@ msgstr ""
 #. (itstool) path: item/p
 #: C/checkbutton.c.page:30
 msgid "<link href=\"http://developer.gnome.org/gtk3/3.2/GtkCheckButton.html\";>GtkCheckButton</link>"
-msgstr ""
+msgstr "<link href=\"http://developer.gnome.org/gtk3/3.2/GtkCheckButton.html\";>GtkCheckButton</link>"
 
 #. (itstool) path: info/title
 #: C/checkbutton.js.page:8
 msgctxt "text"
 msgid "CheckButton (JavaScript)"
-msgstr ""
+msgstr "CheckButton (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/checkbutton.js.page:18
@@ -4464,7 +5958,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.CheckButt
 #: C/checkbutton.py.page:8
 msgctxt "text"
 msgid "CheckButton (Python)"
-msgstr ""
+msgstr "CheckButton (Python)"
 
 #. (itstool) path: info/desc
 #: C/checkbutton.py.page:19
@@ -4555,7 +6049,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCheckButton.htm
 #: C/checkbutton.vala.page:8
 msgctxt "text"
 msgid "CheckButton (Vala)"
-msgstr ""
+msgstr "CheckButton (Vala)"
 
 #. (itstool) path: info/desc
 #: C/checkbutton.vala.page:18
@@ -4647,7 +6141,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/colorbutton.js.page:22 C/colorbutton.py.page:23 C/colorbutton.vala.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/colorbutton.png' md5='904539d26fe367bf99f9a0961cfc9a03'"
 msgstr "external ref='media/colorbutton.png' md5='904539d26fe367bf99f9a0961cfc9a03'"
@@ -4928,7 +6421,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/comboboxtext.js.page:24 C/combobox.c.page:26 C/combobox.py.page:24 C/combobox.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/combobox.png' md5='ab9e91bc1a58fe866cb00dd52159251d'"
 msgstr "external ref='media/combobox.png' md5='ab9e91bc1a58fe866cb00dd52159251d'"
@@ -5322,7 +6814,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.MessageDi
 #: C/combobox.c.page:8
 msgctxt "text"
 msgid "ComboBox (C)"
-msgstr ""
+msgstr "ComboBox (C)"
 
 #. (itstool) path: info/desc
 #: C/combobox.c.page:22 C/combobox.py.page:20 C/combobox.vala.page:18 C/combobox_multicolumn.py.page:19
@@ -5333,7 +6825,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/combobox.c.page:25 C/combobox.js.page:25 C/combobox.vala.page:21
 msgid "ComboBox"
-msgstr ""
+msgstr "ComboBox"
 
 #. (itstool) path: page/p
 #: C/combobox.c.page:27 C/combobox.vala.page:23
@@ -5437,7 +6929,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkComboBoxText.html
 #: C/combobox.js.page:8
 msgctxt "text"
 msgid "ComboBox (JavaScript)"
-msgstr ""
+msgstr "ComboBox (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/combobox.js.page:22
@@ -5450,7 +6942,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/combobox.js.page:26 C/combobox_multicolumn.py.page:23 C/combobox_multicolumn.vala.page:23
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/combobox_multicolumn.png' md5='43f16648fb11ebc7d2f70825ed0f63b3'"
 msgstr "external ref='media/combobox_multicolumn.png' md5='43f16648fb11ebc7d2f70825ed0f63b3'"
@@ -6019,7 +7510,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.TreeIter.
 #: C/combobox.py.page:8 C/combobox_multicolumn.py.page:8
 msgctxt "text"
 msgid "ComboBox (Python)"
-msgstr ""
+msgstr "ComboBox (Python)"
 
 #. (itstool) path: page/title
 #: C/combobox.py.page:23
@@ -6150,15 +7641,15 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellLayout.html
 #: C/combobox.py.page:49 C/combobox_multicolumn.py.page:49 C/treeview_advanced_liststore.py.page:49
 #: C/treeview_simple_liststore.py.page:50
 msgid ""
-"<link href=\"http://git.gnome.org/browse/pygobject/tree/gi/overrides/Gtk.py\";>pygobject - Python bindings 
for "
-"GObject Introspection</link>"
+"<link href=\"https://gitlab.gnome.org/GNOME/pygobject/blob/master/gi/overrides/Gtk.py\";>pygobject - Python "
+"bindings for GObject Introspection</link>"
 msgstr ""
 
 #. (itstool) path: info/title
 #: C/combobox.vala.page:8 C/combobox_multicolumn.vala.page:8
 msgctxt "text"
 msgid "ComboBox (Vala)"
-msgstr ""
+msgstr "ComboBox (Vala)"
 
 #. (itstool) path: page/code
 #: C/combobox.vala.page:25
@@ -6477,7 +7968,7 @@ msgstr "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.CellRendererPixbuf.html
 #: C/cpp.page:7
 msgctxt "link"
 msgid "C++"
-msgstr ""
+msgstr "C++"
 
 #. (itstool) path: page/title
 #: C/cpp.page:16
@@ -6493,7 +7984,7 @@ msgstr ""
 #: C/dialog.c.page:8
 msgctxt "text"
 msgid "Dialog (C)"
-msgstr ""
+msgstr "Dialog (C)"
 
 #. (itstool) path: info/desc
 #: C/dialog.c.page:20 C/dialog.js.page:18 C/dialog.py.page:20 C/dialog.vala.page:18
@@ -6503,7 +7994,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/dialog.c.page:23 C/dialog.js.page:21 C/dialog.py.page:23 C/dialog.vala.page:21
 msgid "Dialog"
-msgstr ""
+msgstr "Dialog"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -6511,7 +8002,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/dialog.c.page:25 C/dialog.js.page:22 C/dialog.py.page:24 C/dialog.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/dialog.png' md5='c90a33386a600e892fe623d4072c8c38'"
 msgstr "external ref='media/dialog.png' md5='c90a33386a600e892fe623d4072c8c38'"
@@ -6642,7 +8132,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkLabel.html\";>GtkL
 #: C/dialog.js.page:8
 msgctxt "text"
 msgid "Dialog (JavaScript)"
-msgstr ""
+msgstr "Dialog (Javascript)"
 
 #. (itstool) path: page/p
 #: C/dialog.js.page:23
@@ -6753,7 +8243,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Dialog.ht
 #: C/dialog.py.page:8
 msgctxt "text"
 msgid "Dialog (Python)"
-msgstr ""
+msgstr "Dialog (Python)"
 
 #. (itstool) path: page/p
 #: C/dialog.py.page:25
@@ -6869,7 +8359,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkDialog.html\";>G
 #: C/dialog.vala.page:8
 msgctxt "text"
 msgid "Dialog (Vala)"
-msgstr ""
+msgstr "Dialog (Vala)"
 
 #. (itstool) path: page/p
 #: C/dialog.vala.page:23
@@ -6986,7 +8476,7 @@ msgstr "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Dialog.get_content_area
 #: C/entry.c.page:8
 msgctxt "text"
 msgid "Entry (C)"
-msgstr ""
+msgstr "Entry (C)"
 
 #. (itstool) path: info/desc
 #: C/entry.c.page:18 C/entry.py.page:25 C/entry.vala.page:18
@@ -6996,7 +8486,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/entry.c.page:21 C/entry.js.page:21 C/entry.py.page:28 C/entry.vala.page:21
 msgid "Entry"
-msgstr ""
+msgstr "Entry"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -7004,7 +8494,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/entry.c.page:23 C/entry.js.page:22 C/entry.py.page:29 C/entry.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/entry.png' md5='8a828cffdcbaa4bad83342e109f28cc8'"
 msgstr "external ref='media/entry.png' md5='8a828cffdcbaa4bad83342e109f28cc8'"
@@ -7084,7 +8573,7 @@ msgstr ""
 #: C/entry.js.page:8
 msgctxt "text"
 msgid "Entry (JavaScript)"
-msgstr ""
+msgstr "Entry (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/entry.js.page:18
@@ -7193,7 +8682,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.Entry.htm
 #: C/entry.py.page:8
 msgctxt "text"
 msgid "Entry (Python)"
-msgstr ""
+msgstr "Entry (Python)"
 
 #. (itstool) path: credit/name
 #: C/entry.py.page:21 C/label.py.page:22 C/model-view-controller.py.page:16 C/properties.py.page:16
@@ -7394,7 +8883,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkEntry.html\";>Gt
 #: C/entry.vala.page:8
 msgctxt "text"
 msgid "Entry (Vala)"
-msgstr ""
+msgstr "Entry (Vala)"
 
 #. (itstool) path: page/code
 #: C/entry.vala.page:25
@@ -7480,7 +8969,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/filechooserdialog.py.page:26
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/filechooserdialog_save.png' md5='3a7a3b71b9d3a36066857843b68ff27f'"
 msgstr "external ref='media/filechooserdialog_save.png' md5='3a7a3b71b9d3a36066857843b68ff27f'"
@@ -7498,7 +8986,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/filechooserdialog.py.page:28
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/filechooserdialog_menu.png' md5='8a75f04127a70eba0ed68a9eb1d3bbca'"
 msgstr "external ref='media/filechooserdialog_menu.png' md5='8a75f04127a70eba0ed68a9eb1d3bbca'"
@@ -8205,7 +9692,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/fontchooserwidget.js.page:23 C/fontchooserwidget.py.page:25 C/fontchooserwidget.vala.page:23
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/fontchooserwidget.png' md5='9161245e307b432ae1313e9a9941edae'"
 msgstr "external ref='media/fontchooserwidget.png' md5='9161245e307b432ae1313e9a9941edae'"
@@ -8226,7 +9712,7 @@ msgid ""
 "\n"
 "class FontChooserWidgetExample {\n"
 "\n"
-"    // Create the application itthis\n"
+"    // Create the application itself\n"
 "    constructor() {\n"
 "        this.application = new Gtk.Application({ application_id: 'org.example.fontchooserwidget' });\n"
 "\n"
@@ -8455,7 +9941,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/gmenu.c.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/gmenu.c.png' md5='f305fc3cae8d16d72b734ee53b559e33'"
 msgstr "external ref='media/gmenu.c.png' md5='f305fc3cae8d16d72b734ee53b559e33'"
@@ -8551,7 +10036,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/gmenu.js.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/gmenu.js.png' md5='16b8bee122197771ec8498dac42f196b'"
 msgstr "external ref='media/gmenu.js.png' md5='16b8bee122197771ec8498dac42f196b'"
@@ -8659,7 +10143,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/gmenu.py.page:30
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/gmenu.py.png' md5='52c68b34d5d566f37e9f803dedb6353a'"
 msgstr "external ref='media/gmenu.py.png' md5='52c68b34d5d566f37e9f803dedb6353a'"
@@ -8899,7 +10382,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/gmenu.vala.page:28
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/gmenu.vala.png' md5='7a9f381fc3ed5bf8d1c50d2acb095400'"
 msgstr "external ref='media/gmenu.vala.png' md5='7a9f381fc3ed5bf8d1c50d2acb095400'"
@@ -8999,7 +10481,7 @@ msgstr "<link href=\"http://www.valadoc.org/gio-2.0/GLib.ActionMap.add_action.ht
 #: C/grid.c.page:8
 msgctxt "text"
 msgid "Grid (C)"
-msgstr ""
+msgstr "Grid (C)"
 
 #. (itstool) path: info/desc
 #: C/grid.c.page:18 C/grid.js.page:22 C/grid.py.page:26 C/grid.vala.page:20
@@ -9009,7 +10491,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/grid.c.page:21 C/grid.js.page:25 C/grid.py.page:29
 msgid "Grid"
-msgstr ""
+msgstr "Grid"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -9017,7 +10499,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/grid.c.page:23 C/grid.js.page:26 C/grid.vala.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/grid.png' md5='27d45da115401127456a3b854dcfc5be'"
 msgstr "external ref='media/grid.png' md5='27d45da115401127456a3b854dcfc5be'"
@@ -9111,7 +10592,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkProgressBar.html\
 #: C/grid.js.page:8
 msgctxt "text"
 msgid "Grid (JavaScript)"
-msgstr ""
+msgstr "Grid (Javascript)"
 
 #. (itstool) path: page/p
 #: C/grid.js.page:27
@@ -9207,7 +10688,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.ProgressB
 #: C/grid.py.page:8
 msgctxt "text"
 msgid "Grid (Python)"
-msgstr ""
+msgstr "Grid (Python)"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -9215,7 +10696,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/grid.py.page:31
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/grid_simple.png' md5='c806f2e69b30373d4d2e08b41d6cc1f6'"
 msgstr "external ref='media/grid_simple.png' md5='c806f2e69b30373d4d2e08b41d6cc1f6'"
@@ -9337,7 +10817,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkGrid.html\";>Gtk
 #: C/grid.vala.page:8
 msgctxt "text"
 msgid "Grid (Vala)"
-msgstr ""
+msgstr "Grid (Vala)"
 
 #. (itstool) path: page/title
 #: C/grid.vala.page:23
@@ -9399,7 +10879,7 @@ msgstr "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Grid.html\";>Gtk.Grid</l
 #: C/GtkApplicationWindow.c.page:8
 msgctxt "text"
 msgid "ApplicationWindow (C)"
-msgstr ""
+msgstr "ApplicationWindow (C)"
 
 #. (itstool) path: info/desc
 #: C/GtkApplicationWindow.c.page:18
@@ -9410,7 +10890,7 @@ msgstr ""
 #: C/GtkApplicationWindow.c.page:21 C/GtkApplicationWindow.js.page:21 C/GtkApplicationWindow.py.page:28
 #: C/GtkApplicationWindow.vala.page:21
 msgid "ApplicationWindow"
-msgstr ""
+msgstr "ApplicationWindow"
 
 #. (itstool) path: page/media
 #. (itstool) path: td/media
@@ -9421,7 +10901,6 @@ msgstr ""
 #: C/GtkApplicationWindow.c.page:22 C/GtkApplicationWindow.js.page:22 C/GtkApplicationWindow.py.page:29
 #: C/GtkApplicationWindow.vala.page:22 C/window.c.page:22 C/window.js.page:25 C/window.py.page:33
 #: C/window.vala.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/window.png' md5='eb0cde3530978619c25bddfaeb453345'"
 msgstr "external ref='media/window.png' md5='eb0cde3530978619c25bddfaeb453345'"
@@ -9471,7 +10950,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/3.4/GtkApplicationWindow.ht
 #: C/GtkApplicationWindow.js.page:8
 msgctxt "text"
 msgid "ApplicationWindow (JavaScript)"
-msgstr ""
+msgstr "ApplicationWindow (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/GtkApplicationWindow.js.page:18 C/GtkApplicationWindow.py.page:25 C/GtkApplicationWindow.vala.page:18
@@ -9543,7 +11022,7 @@ msgstr ""
 #: C/GtkApplicationWindow.py.page:8
 msgctxt "text"
 msgid "ApplicationWindow (Python)"
-msgstr ""
+msgstr "ApplicationWindow (Python)"
 
 #. (itstool) path: page/p
 #: C/GtkApplicationWindow.py.page:30
@@ -9619,7 +11098,7 @@ msgstr ""
 #: C/GtkApplicationWindow.vala.page:8
 msgctxt "text"
 msgid "ApplicationWindow (Vala)"
-msgstr ""
+msgstr "ApplicationWindow (Vala)"
 
 #. (itstool) path: page/p
 #: C/GtkApplicationWindow.vala.page:23
@@ -9726,7 +11205,6 @@ msgstr ""
 #. whatever you like once you have updated your copy of the file.
 #: C/guitar-tuner.c.page:45 C/guitar-tuner.cpp.page:43 C/guitar-tuner.js.page:37 C/guitar-tuner.py.page:50
 #: C/guitar-tuner.vala.page:48
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/guitar-tuner.png' md5='35e615e0f5e293671d00c5c414ac2f6b'"
 msgstr "external ref='media/guitar-tuner.png' md5='35e615e0f5e293671d00c5c414ac2f6b'"
@@ -9881,7 +11359,7 @@ msgstr ""
 #: C/guitar-tuner.c.page:100 C/guitar-tuner.cpp.page:94 C/guitar-tuner.py.page:101 
C/guitar-tuner.vala.page:101
 msgctxt "_"
 msgid "external ref='media/guitar-tuner-glade.png' md5='f6606525443ab2160f53a87a454364d0'"
-msgstr ""
+msgstr "external ref='media/guitar-tuner-glade.png' md5='f6606525443ab2160f53a87a454364d0'"
 
 #. (itstool) path: item/p
 #: C/guitar-tuner.c.page:104 C/guitar-tuner.cpp.page:98 C/guitar-tuner.py.page:105
@@ -10006,7 +11484,6 @@ msgstr ""
 #. whatever you like once you have updated your copy of the file.
 #: C/guitar-tuner.c.page:145 C/guitar-tuner.cpp.page:123 C/guitar-tuner.js.page:43 C/guitar-tuner.py.page:144
 #: C/guitar-tuner.vala.page:135
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/guitar-tuner-pipeline.png' md5='5adc952909d92af5dae6954781b4ad5f'"
 msgstr "external ref='media/guitar-tuner-pipeline.png' md5='5adc952909d92af5dae6954781b4ad5f'"
@@ -10040,7 +11517,7 @@ msgstr ""
 #: C/guitar-tuner.c.page:155
 #, no-wrap
 msgid "#include &lt;gst/gst.h&gt;"
-msgstr ""
+msgstr "#include &lt;gst/gst.h&gt;"
 
 #. (itstool) path: section/p
 #: C/guitar-tuner.c.page:156
@@ -10053,7 +11530,7 @@ msgstr ""
 #: C/guitar-tuner.c.page:157
 #, no-wrap
 msgid "gst_init (&amp;argc, &amp;argv);"
-msgstr ""
+msgstr "gst_init (&amp;argc, &amp;argv);"
 
 #. (itstool) path: section/p
 #: C/guitar-tuner.c.page:158
@@ -10454,7 +11931,7 @@ msgstr ""
 #: C/guitar-tuner.cpp.page:132
 #, no-wrap
 msgid "\tGst::init (argc, argv);"
-msgstr ""
+msgstr "\tGst::init (argc, argv);"
 
 #. (itstool) path: section/p
 #: C/guitar-tuner.cpp.page:133
@@ -10783,7 +12260,7 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/guitar-tuner.js.page:64 C/hello-world.js.page:59 C/hello-world.py.page:52 C/hello-world.vala.page:44
+#: C/guitar-tuner.js.page:64 C/hello-world.js.page:61 C/hello-world.py.page:52 C/hello-world.vala.page:44
 #: C/weatherAppMain.js.page:49
 msgid "Creating the main window for the application"
 msgstr ""
@@ -11910,7 +13387,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/hellognome.js.page:66
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/hellognomewebapp.png' md5='948efb6148ede3bc6b47b4b0bbe4a74f'"
 msgstr "external ref='media/hellognomewebapp.png' md5='948efb6148ede3bc6b47b4b0bbe4a74f'"
@@ -11961,27 +13437,12 @@ msgstr ""
 
 #. (itstool) path: section/code
 #: C/hellognome.js.page:80
-#, fuzzy, no-wrap
-#| msgid ""
-#| "\n"
-#| "#!/usr/bin/gjs\n"
-#| "\n"
-#| "imports.gi.versions.Gtk = '3.0';\n"
-#| "\n"
-#| "const Gio = imports.gi.Gio;\n"
-#| "const Gtk = imports.gi.Gtk;\n"
+#, no-wrap
 msgid ""
 "\n"
 "imports.gi.versions.Gtk = '3.0';\n"
 "imports.gi.versions.WebKit2 = '4.0';\n"
 msgstr ""
-"\n"
-"#!/usr/bin/gjs\n"
-"\n"
-"imports.gi.versions.Gtk = '3.0';\n"
-"\n"
-"const Gio = imports.gi.Gio;\n"
-"const Gtk = imports.gi.Gtk;\n"
 
 #. (itstool) path: section/p
 #: C/hellognome.js.page:84
@@ -11990,24 +13451,13 @@ msgstr ""
 
 #. (itstool) path: section/code
 #: C/hellognome.js.page:85
-#, fuzzy, no-wrap
-#| msgid ""
-#| "\n"
-#| "#!/usr/bin/gjs\n"
-#| "\n"
-#| "const Gtk = imports.gi.Gtk;\n"
-#| "const Lang = imports.lang;\n"
+#, no-wrap
 msgid ""
 "\n"
 "const GLib = imports.gi.GLib;\n"
 "const Gtk = imports.gi.Gtk;\n"
 "const Webkit = imports.gi.WebKit2;\n"
 msgstr ""
-"\n"
-"#!/usr/bin/gjs\n"
-"\n"
-"const Gtk = imports.gi.Gtk;\n"
-"const Lang = imports.lang;\n"
 
 #. (itstool) path: section/p
 #: C/hellognome.js.page:90
@@ -12448,7 +13898,7 @@ msgstr ""
 #: C/hello-world.c.page:51 C/hello-world.js.page:28 C/hello-world.py.page:28 C/hello-world.vala.page:28
 msgctxt "_"
 msgid "external ref='media/hello-world.png' md5='4c88a27211dfd1b33e504c9f78602f2d'"
-msgstr ""
+msgstr "external ref='media/hello-world.png' md5='4c88a27211dfd1b33e504c9f78602f2d'"
 
 #. (itstool) path: info/title
 #: C/hello-world.js.page:9
@@ -12514,11 +13964,13 @@ msgstr ""
 #, no-wrap
 msgid ""
 "const Lang = imports.lang;\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0'\n"
 "const Gtk = imports.gi.Gtk;"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:56 C/hello-world.py.page:49
+#: C/hello-world.js.page:58 C/hello-world.py.page:49
 msgid ""
 "In order for our script to work with GNOME, we need to import GNOME libraries via GObject Introspection. 
Here we "
 "import the language bindings and GTK+, the library which contains the graphical widgets used to make GNOME "
@@ -12526,7 +13978,7 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:60
+#: C/hello-world.js.page:62
 #, no-wrap
 msgid ""
 "const Application = new Lang.Class({\n"
@@ -12562,39 +14014,39 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:92
+#: C/hello-world.js.page:94
 msgid ""
 "GtkApplication initializes GTK+. It also connects the <gui>x</gui> button that's automatically generated 
along "
 "with the window to the \"destroy\" signal."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:93
+#: C/hello-world.js.page:95
 msgid ""
 "We can start building our first window. We do this by creating a variable called <var>_window</var> and 
assigning "
 "it a new Gtk.ApplicationWindow."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:94 C/hello-world.py.page:73
+#: C/hello-world.js.page:96 C/hello-world.py.page:73
 msgid ""
 "We give the window a property called <var>title</var>. The title can be any string you want it to be. To be 
on the "
 "safe side, it's best to stick to UTF-8 encoding."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:95 C/hello-world.py.page:74 C/hello-world.vala.page:57
+#: C/hello-world.js.page:97 C/hello-world.py.page:74 C/hello-world.vala.page:57
 msgid ""
 "Now we have a window which has a title and a working \"close\" button. Let's add the actual \"Hello World\" 
text."
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:98 C/hello-world.py.page:77 C/hello-world.vala.page:60
+#: C/hello-world.js.page:100 C/hello-world.py.page:77 C/hello-world.vala.page:60
 msgid "Label for the window"
 msgstr ""
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:99
+#: C/hello-world.js.page:101
 #, no-wrap
 msgid ""
 "// Add a label widget to your window\n"
@@ -12604,7 +14056,7 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:104
+#: C/hello-world.js.page:106
 msgid ""
 "A text label is one of the GTK+ widgets we can use, on account of having imported the GTK+ library. To use 
it, we "
 "create a new variable called label, and assign it a new Gtk.Label. Then we give it properties inside the 
curly "
@@ -12613,7 +14065,7 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:106
+#: C/hello-world.js.page:108
 #, no-wrap
 msgid ""
 "//run the application\n"
@@ -12622,28 +14074,30 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:110 C/hello-world.py.page:97 C/hello-world.vala.page:71
+#: C/hello-world.js.page:112 C/hello-world.py.page:97 C/hello-world.vala.page:71
 msgid ""
 "Gtk.ApplicationWindow can only hold one widget at a time. To construct more elaborate programs you need to 
create "
 "a holder widget like Gtk.Grid inside the window, and then add all the other widgets to it."
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:114
+#: C/hello-world.js.page:116
 msgid "hello-world.js"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:115 C/hello-world.py.page:102 C/hello-world.vala.page:76
+#: C/hello-world.js.page:117 C/hello-world.py.page:102 C/hello-world.vala.page:76
 msgid "The complete file:"
 msgstr ""
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:116
+#: C/hello-world.js.page:118
 #, no-wrap
 msgid ""
 "#!/usr/bin/gjs\n"
 "\n"
+"const Lang = imports.lang;\n"
+"\n"
 "imports.gi.versions.Gtk = '3.0'\n"
 "const Gtk = imports.gi.Gtk;\n"
 "\n"
@@ -12685,30 +14139,30 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:119 C/hello-world.py.page:106 C/hello-world.vala.page:80
+#: C/hello-world.js.page:121 C/hello-world.py.page:106 C/hello-world.vala.page:80
 msgid "Running the application from terminal"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:120
+#: C/hello-world.js.page:122
 msgid ""
 "To run this application, first save it as hello-world.js. Then open Terminal, go to the folder where your "
 "application is stored and run:"
 msgstr ""
 
 #. (itstool) path: section/screen
-#: C/hello-world.js.page:121
+#: C/hello-world.js.page:123
 #, no-wrap
 msgid "<output style=\"prompt\">$ </output><input>gjs hello-world.js</input>"
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:127 C/hello-world.py.page:112 C/hello-world.vala.page:89
+#: C/hello-world.js.page:129 C/hello-world.py.page:112 C/hello-world.vala.page:89
 msgid "The <file>.desktop.in</file> file"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:128 C/hello-world.py.page:113 C/hello-world.vala.page:90
+#: C/hello-world.js.page:130 C/hello-world.py.page:113 C/hello-world.vala.page:90
 msgid ""
 "Running applications from the Terminal is useful at the beginning of the application making process. To 
have fully "
 "working <link href=\"https://developer.gnome.org/integration-guide/stable/mime.html.en\";>application 
integration</"
@@ -12719,25 +14173,25 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: note/p
-#: C/hello-world.js.page:131
+#: C/hello-world.js.page:133
 msgid ""
 "Before continuing, resave <file>hello-world.js</file> as <file>hello-world</file>. Then run this in the 
command "
 "line:"
 msgstr ""
 
 #. (itstool) path: note/screen
-#: C/hello-world.js.page:132
+#: C/hello-world.js.page:134
 #, no-wrap
 msgid "<output style=\"prompt\">$ </output><input>chmod +x hello-world</input>"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:135 C/hello-world.py.page:115 C/hello-world.vala.page:92
+#: C/hello-world.js.page:137 C/hello-world.py.page:115 C/hello-world.vala.page:92
 msgid "The example shows you the minimum requirements for a <code>.desktop.in</code> file."
 msgstr ""
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:136 C/hello-world.py.page:116 C/hello-world.vala.page:93
+#: C/hello-world.js.page:138 C/hello-world.py.page:116 C/hello-world.vala.page:93
 #, no-wrap
 msgid ""
 "[Desktop Entry]\n"
@@ -12754,56 +14208,58 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:138 C/hello-world.py.page:118 C/hello-world.vala.page:95
-msgid "Now let's go through some parts of the <code>.desktop.in</code> file."
+#: C/hello-world.js.page:140
+msgid ""
+"Save this as <file>hello-world.desktop.in</file>. Now let's go through some parts of the 
<code>.desktop.in</code> "
+"file."
 msgstr ""
 
 #. (itstool) path: item/title
 #. (itstool) path: td/p
-#: C/hello-world.js.page:140 C/hello-world.py.page:120 C/hello-world.vala.page:97 
C/toolbar_builder.py.page:95
+#: C/hello-world.js.page:142 C/hello-world.py.page:120 C/hello-world.vala.page:97 
C/toolbar_builder.py.page:95
 #: C/toolbar_builder.vala.page:78
 msgid "Name"
 msgstr "Name"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:140 C/hello-world.py.page:120 C/hello-world.vala.page:97
+#: C/hello-world.js.page:142 C/hello-world.py.page:120 C/hello-world.vala.page:97
 msgid "The application name."
 msgstr ""
 
 #. (itstool) path: item/title
-#: C/hello-world.js.page:141 C/hello-world.py.page:121 C/hello-world.vala.page:98
+#: C/hello-world.js.page:143 C/hello-world.py.page:121 C/hello-world.vala.page:98
 msgid "Comment"
 msgstr "Comment"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:141 C/hello-world.py.page:121 C/hello-world.vala.page:98
+#: C/hello-world.js.page:143 C/hello-world.py.page:121 C/hello-world.vala.page:98
 msgid "A short description of the application."
 msgstr ""
 
 #. (itstool) path: item/title
-#: C/hello-world.js.page:142 C/hello-world.py.page:122 C/hello-world.vala.page:99
+#: C/hello-world.js.page:144 C/hello-world.py.page:122 C/hello-world.vala.page:99
 msgid "Exec"
 msgstr "Exec"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:142 C/hello-world.py.page:122 C/hello-world.vala.page:99
+#: C/hello-world.js.page:144 C/hello-world.py.page:122 C/hello-world.vala.page:99
 msgid ""
 "Specifies a command to execute when you choose the application from the menu. In this example exec just 
tells "
 "where to find the <file>hello-world</file> file and the file takes care of the rest."
 msgstr ""
 
 #. (itstool) path: item/title
-#: C/hello-world.js.page:143 C/hello-world.py.page:123 C/hello-world.vala.page:100
+#: C/hello-world.js.page:145 C/hello-world.py.page:123 C/hello-world.vala.page:100
 msgid "Terminal"
 msgstr "Terminal"
 
 #. (itstool) path: item/p
-#: C/hello-world.js.page:143 C/hello-world.py.page:123 C/hello-world.vala.page:100
+#: C/hello-world.js.page:145 C/hello-world.py.page:123 C/hello-world.vala.page:100
 msgid "Specifies whether the command in the Exec key runs in a terminal window."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:146 C/hello-world.py.page:126 C/hello-world.vala.page:103
+#: C/hello-world.js.page:148 C/hello-world.py.page:126 C/hello-world.vala.page:103
 msgid ""
 "To put your application into the appropriate category, you need to add the necessary categories to the 
Categories "
 "line. More information on the different categories can be found in the <link 
href=\"http://standards.freedesktop.";
@@ -12811,42 +14267,42 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:147 C/hello-world.py.page:127 C/hello-world.vala.page:104
+#: C/hello-world.js.page:149 C/hello-world.py.page:127 C/hello-world.vala.page:104
 msgid ""
 "In this example we use an existing icon. For a custom icon you need to have a .svg file of your icon, 
stored in "
 "<file>/usr/share/icons/hicolor/scalable/apps</file>. Write the name of your icon file to the .desktop.in 
file, on "
-"line 7. More information on icons in: <link href=\"https://live.gnome.org/GnomeGoals/AppIcon\";>Installing 
Icons "
-"for Themes</link> and <link href=\"http://freedesktop.org/wiki/Specifications/icon-theme-spec\";>on 
freedesktop."
-"org: Specifications/icon-theme-spec</link>."
+"line 7. More information on icons in: <link href=\"https://wiki.gnome.org/Initiatives/GnomeGoals/AppIcon";
+"\">Installing Icons for Themes</link> and <link 
href=\"http://freedesktop.org/wiki/Specifications/icon-theme-spec";
+"\">on freedesktop.org: Specifications/icon-theme-spec</link>."
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:150 C/hello-world.py.page:130 C/hello-world.vala.page:107
+#: C/hello-world.js.page:152 C/hello-world.py.page:130 C/hello-world.vala.page:107
 msgid "The build system"
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:151 C/hello-world.py.page:131 C/hello-world.vala.page:108
+#: C/hello-world.js.page:153 C/hello-world.py.page:131 C/hello-world.vala.page:108
 msgid ""
 "To make your application truly a part of the GNOME 3 system you need to install it with the help of 
autotools. The "
 "autotools build will install all the necessary files to all the right places."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:152 C/hello-world.py.page:132 C/hello-world.vala.page:109
+#: C/hello-world.js.page:154 C/hello-world.py.page:132 C/hello-world.vala.page:109
 msgid "For this you need to have the following files:"
 msgstr ""
 
 #. (itstool) path: section/title
 #. (itstool) path: item/p
 #. (itstool) path: section/p
-#: C/hello-world.js.page:155 C/hello-world.py.page:135 C/hello-world.vala.page:112 
C/weatherAutotools.js.page:40
+#: C/hello-world.js.page:157 C/hello-world.py.page:135 C/hello-world.vala.page:112 
C/weatherAutotools.js.page:40
 #: C/weatherAutotools.js.page:138
 msgid "autogen.sh"
 msgstr "autogen.sh"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:156 C/hello-world.py.page:136 C/hello-world.vala.page:113
+#: C/hello-world.js.page:158 C/hello-world.py.page:136 C/hello-world.vala.page:113
 #, no-wrap
 msgid ""
 "#!/bin/sh\n"
@@ -12870,12 +14326,12 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:158 C/hello-world.py.page:138 C/hello-world.vala.page:115
+#: C/hello-world.js.page:160 C/hello-world.py.page:138 C/hello-world.vala.page:115
 msgid "After the <file>autogen.sh</file> file is ready and saved, run:"
 msgstr ""
 
 #. (itstool) path: section/screen
-#: C/hello-world.js.page:159 C/hello-world.py.page:139 C/hello-world.vala.page:116
+#: C/hello-world.js.page:161 C/hello-world.py.page:139 C/hello-world.vala.page:116
 #, no-wrap
 msgid "<output style=\"prompt\">$ </output><input>chmod +x autogen.sh</input>"
 msgstr ""
@@ -12883,13 +14339,13 @@ msgstr ""
 #. (itstool) path: section/title
 #. (itstool) path: item/p
 #. (itstool) path: section/p
-#: C/hello-world.js.page:163 C/hello-world.py.page:143 C/hello-world.vala.page:120 
C/weatherAutotools.js.page:38
+#: C/hello-world.js.page:165 C/hello-world.py.page:143 C/hello-world.vala.page:120 
C/weatherAutotools.js.page:38
 #: C/weatherAutotools.js.page:64
 msgid "Makefile.am"
 msgstr "Makefile.am"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:164
+#: C/hello-world.js.page:166
 #, no-wrap
 msgid ""
 "# The actual runnable program is set to the SCRIPTS primitive.\n"
@@ -12908,13 +14364,13 @@ msgstr ""
 #. (itstool) path: section/title
 #. (itstool) path: item/p
 #. (itstool) path: section/p
-#: C/hello-world.js.page:168 C/hello-world.py.page:148 C/hello-world.vala.page:125 
C/weatherAutotools.js.page:39
+#: C/hello-world.js.page:170 C/hello-world.py.page:148 C/hello-world.vala.page:125 
C/weatherAutotools.js.page:39
 #: C/weatherAutotools.js.page:131
 msgid "configure.ac"
 msgstr "configure.ac"
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:169 C/hello-world.py.page:149
+#: C/hello-world.js.page:171 C/hello-world.py.page:149
 #, no-wrap
 msgid ""
 "# This file is processed by autoconf to create a configure script\n"
@@ -12925,34 +14381,37 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: section/title
-#: C/hello-world.js.page:173 C/hello-world.py.page:153 C/hello-world.vala.page:130
+#: C/hello-world.js.page:175 C/hello-world.py.page:153 C/hello-world.vala.page:130
 msgid "README"
 msgstr "README"
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:174 C/hello-world.py.page:154 C/hello-world.vala.page:131
+#: C/hello-world.js.page:176 C/hello-world.py.page:154 C/hello-world.vala.page:131
 msgid "Information users should read first. This file can be blank."
 msgstr ""
 
 #. (itstool) path: section/p
-#: C/hello-world.js.page:176 C/hello-world.py.page:156
+#: C/hello-world.js.page:178
 msgid ""
 "When you have the <file>hello-world</file>, <file>hello-world.desktop.in</file>, <file>Makefile.am</file>, "
-"<file>configure.ac</file> and <file>autogen.sh</file> files with correct information and rights, the 
<file>README</"
-"file> file can include the following instructions:"
+"<file>configure.ac</file> and <file>autogen.sh</file> files with correct information and permissions, 
create a "
+"<file>README</file> file with installation instructions. Below is a sample of what suitable README 
instructions "
+"may look like:"
 msgstr ""
 
 #. (itstool) path: section/code
-#: C/hello-world.js.page:177 C/hello-world.py.page:157
+#: C/hello-world.js.page:179
 #, no-wrap
 msgid ""
-"To build and install this program:\n"
+"To build and install this program, run these commands from a terminal:\n"
 "\n"
-"./autogen.sh --prefix=/home/your_username/.local\n"
+"./autogen.sh --prefix=/home/$USER/.local\n"
 "make install\n"
 "\n"
 "-------------\n"
-"Running the first line above creates the following files:\n"
+"When running the first command $USER will be replaced by your username.\n"
+"\n"
+"Running the first command above creates the following files:\n"
 "\n"
 "aclocal.m4\n"
 "autom4te.cache\n"
@@ -13132,6 +14591,11 @@ msgstr ""
 msgid "<output style=\"prompt\">$ </output><input>python hello-world.py</input>"
 msgstr ""
 
+#. (itstool) path: section/p
+#: C/hello-world.py.page:118 C/hello-world.vala.page:95
+msgid "Now let's go through some parts of the <code>.desktop.in</code> file."
+msgstr ""
+
 #. (itstool) path: section/code
 #: C/hello-world.py.page:144
 #, no-wrap
@@ -13149,6 +14613,55 @@ msgid ""
 "\thello-world.desktop\n"
 msgstr ""
 
+#. (itstool) path: section/p
+#: C/hello-world.py.page:156
+msgid ""
+"When you have the <file>hello-world</file>, <file>hello-world.desktop.in</file>, <file>Makefile.am</file>, "
+"<file>configure.ac</file> and <file>autogen.sh</file> files with correct information and rights, the 
<file>README</"
+"file> file can include the following instructions:"
+msgstr ""
+
+#. (itstool) path: section/code
+#: C/hello-world.py.page:157
+#, no-wrap
+msgid ""
+"To build and install this program:\n"
+"\n"
+"./autogen.sh --prefix=/home/your_username/.local\n"
+"make install\n"
+"\n"
+"-------------\n"
+"Running the first line above creates the following files:\n"
+"\n"
+"aclocal.m4\n"
+"autom4te.cache\n"
+"config.log\n"
+"config.status\n"
+"configure\n"
+"hello-world.desktop\n"
+"install-sh\n"
+"missing\n"
+"Makefile.in\n"
+"Makefile\n"
+"\n"
+"Running \"make install\", installs the application in /home/your_username/.local/bin\n"
+"and installs the hello-world.desktop file in /home/your_username/.local/share/applications\n"
+"\n"
+"You can now run the application by typing \"Hello World\" in the Overview.\n"
+"\n"
+"----------------\n"
+"To uninstall, type:\n"
+"\n"
+"make uninstall\n"
+"\n"
+"----------------\n"
+"To create a tarball type:\n"
+"\n"
+"make distcheck\n"
+"\n"
+"This will create hello-world-1.0.tar.xz\n"
+msgstr ""
+
 #. (itstool) path: info/title
 #: C/hello-world.vala.page:9
 msgctxt "text"
@@ -13357,7 +14870,7 @@ msgstr ""
 #: C/image.c.page:8
 msgctxt "text"
 msgid "Image (C)"
-msgstr ""
+msgstr "Image (C)"
 
 #. (itstool) path: info/desc
 #: C/image.c.page:18 C/image.js.page:17 C/image.py.page:25 C/image.vala.page:18
@@ -13367,7 +14880,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/image.c.page:21 C/image.js.page:20 C/image.py.page:28 C/image.vala.page:21
 msgid "Image"
-msgstr ""
+msgstr "Image"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -13375,7 +14888,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/image.c.page:22 C/image.js.page:21 C/image.py.page:29 C/image.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/image.png' md5='9416aa74d9d6a857783f7a36338e7a02'"
 msgstr "external ref='media/image.png' md5='9416aa74d9d6a857783f7a36338e7a02'"
@@ -13444,7 +14956,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkImage.html\";>GtkI
 #: C/image.js.page:7
 msgctxt "text"
 msgid "Image (JavaScript)"
-msgstr ""
+msgstr "Image (Javascript)"
 
 #. (itstool) path: page/code
 #: C/image.js.page:27
@@ -13518,7 +15030,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Image.htm
 #: C/image.py.page:8
 msgctxt "text"
 msgid "Image (Python)"
-msgstr ""
+msgstr "Image (Python)"
 
 #. (itstool) path: credit/name
 #: C/image.py.page:20
@@ -13693,7 +15205,7 @@ msgstr "<link href=\"https://developer.gnome.org/gtk3/unstable/GtkWindow.html\";>
 #: C/image.vala.page:8
 msgctxt "text"
 msgid "Image (Vala)"
-msgstr ""
+msgstr "Image (Vala)"
 
 #. (itstool) path: page/code
 #: C/image.vala.page:27
@@ -13779,7 +15291,6 @@ msgstr ""
 #. whatever you like once you have updated your copy of the file.
 #: C/image-viewer.c.page:39 C/image-viewer.cpp.page:37 C/image-viewer.js.page:47 C/image-viewer.py.page:46
 #: C/image-viewer.vala.page:54
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/image-viewer.png' md5='7720360611243b14283b83527be968c2'"
 msgstr "external ref='media/image-viewer.png' md5='7720360611243b14283b83527be968c2'"
@@ -15818,7 +17329,7 @@ msgstr ""
 #: C/js.page:8
 msgctxt "link"
 msgid "JavaScript"
-msgstr "JavaScript"
+msgstr "Javascript"
 
 #. (itstool) path: credit/name
 #: C/js.page:21
@@ -15839,7 +17350,7 @@ msgstr ""
 #: C/label.c.page:8
 msgctxt "text"
 msgid "Label (C)"
-msgstr ""
+msgstr "Label (C)"
 
 #. (itstool) path: info/desc
 #: C/label.c.page:19 C/label.vala.page:18
@@ -15851,7 +17362,7 @@ msgstr ""
 #: C/label.c.page:22 C/label.js.page:21 C/label.py.page:30 C/label.vala.page:21 C/toolbar_builder.py.page:98
 #: C/toolbar_builder.vala.page:81
 msgid "Label"
-msgstr ""
+msgstr "Label"
 
 #. (itstool) path: td/media
 #. (itstool) path: page/media
@@ -15860,7 +17371,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/label.c.page:26 C/label.js.page:22 C/label.py.page:31 C/label.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/label.png' md5='734975c18653d88379f983e4501c3fc0'"
 msgstr "external ref='media/label.png' md5='734975c18653d88379f983e4501c3fc0'"
@@ -15929,7 +17439,7 @@ msgstr ""
 #: C/label.js.page:8
 msgctxt "text"
 msgid "Label (JavaScript)"
-msgstr ""
+msgstr "Label (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/label.js.page:18
@@ -16015,7 +17525,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Label.htm
 #: C/label.py.page:9
 msgctxt "text"
 msgid "Label (Python)"
-msgstr ""
+msgstr "Label (Python)"
 
 #. (itstool) path: info/desc
 #: C/label.py.page:27
@@ -16119,7 +17629,7 @@ msgstr ""
 #: C/label.vala.page:8
 msgctxt "text"
 msgid "Label (Vala)"
-msgstr ""
+msgstr "Label (Vala)"
 
 #. (itstool) path: page/code
 #: C/label.vala.page:25
@@ -16254,7 +17764,7 @@ msgstr ""
 #: C/linkbutton.c.page:8
 msgctxt "text"
 msgid "LinkButton (C)"
-msgstr ""
+msgstr "LinkButton (C)"
 
 #. (itstool) path: info/desc
 #: C/linkbutton.c.page:18 C/linkbutton.vala.page:18
@@ -16264,7 +17774,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/linkbutton.c.page:21 C/linkbutton.js.page:21 C/linkbutton.py.page:22 C/linkbutton.vala.page:21
 msgid "LinkButton"
-msgstr ""
+msgstr "LinkButton"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -16272,7 +17782,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/linkbutton.c.page:23 C/linkbutton.js.page:22 C/linkbutton.py.page:24 C/linkbutton.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/linkbutton.png' md5='3712eae8953e87c65a6aa74503b8e32b'"
 msgstr "external ref='media/linkbutton.png' md5='3712eae8953e87c65a6aa74503b8e32b'"
@@ -16333,7 +17842,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkLinkButton.html\";
 #: C/linkbutton.js.page:8
 msgctxt "text"
 msgid "LinkButton (JavaScript)"
-msgstr ""
+msgstr "LinkButton (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/linkbutton.js.page:18
@@ -16415,7 +17924,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.LinkButto
 #: C/linkbutton.py.page:8
 msgctxt "text"
 msgid "LinkButton (Python)"
-msgstr ""
+msgstr "LinkButton (Python)"
 
 #. (itstool) path: info/desc
 #: C/linkbutton.py.page:19
@@ -16503,7 +18012,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkLinkButton.html
 #: C/linkbutton.vala.page:8
 msgctxt "text"
 msgid "LinkButton (Vala)"
-msgstr ""
+msgstr "LinkButton (Vala)"
 
 #. (itstool) path: page/p
 #: C/linkbutton.vala.page:23
@@ -16608,7 +18117,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/magic-mirror.vala.page:47
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/magic-mirror.png' md5='8171faea6ed3b6ddac0da084c29e4e22'"
 msgstr "external ref='media/magic-mirror.png' md5='8171faea6ed3b6ddac0da084c29e4e22'"
@@ -16785,7 +18293,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/menubar.c.page:25 C/menubar.py.page:29 C/menubar.vala.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/menubar.png' md5='7b642aaa1628d5e43ab85ac230ac1c78'"
 msgstr "external ref='media/menubar.png' md5='7b642aaa1628d5e43ab85ac230ac1c78'"
@@ -17448,7 +18955,7 @@ msgstr ""
 #: C/menubar.py.page:132 C/menubar.vala.page:134
 msgctxt "_"
 msgid "external ref='media/menubar_choices.png' md5='47cdfa12caf85ba20dd3e835bd7f893f'"
-msgstr ""
+msgstr "external ref='media/menubar_choices.png' md5='47cdfa12caf85ba20dd3e835bd7f893f'"
 
 #. (itstool) path: section/p
 #: C/menubar.py.page:133
@@ -18183,7 +19690,7 @@ msgstr "<link href=\"http://valadoc.org/gio-2.0/Gtk.Builder.html\";>Gtk.Builder</
 #: C/menubutton.c.page:8 C/menubutton.py.page:8
 msgctxt "text"
 msgid "MenuButton"
-msgstr ""
+msgstr "MenuButton"
 
 #. (itstool) path: info/desc
 #: C/menubutton.c.page:18 C/menubutton.js.page:18 C/menubutton.py.page:25 C/menubutton.vala.page:18
@@ -18193,7 +19700,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/menubutton.c.page:21 C/menubutton.js.page:21 C/menubutton.py.page:28 C/menubutton.vala.page:21
 msgid "MenuButton"
-msgstr ""
+msgstr "MenuButton"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -18201,7 +19708,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/menubutton.c.page:22 C/menubutton.js.page:22 C/menubutton.py.page:29 C/menubutton.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/menubutton.png' md5='99eedc5ef2d6c56d32ca9ae7f3f3320f'"
 msgstr "external ref='media/menubutton.png' md5='99eedc5ef2d6c56d32ca9ae7f3f3320f'"
@@ -18349,7 +19855,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkArrow.html\";>Gt
 #: C/menubutton.js.page:8
 msgctxt "text"
 msgid "MenuButton (JavaScript)"
-msgstr ""
+msgstr "MenuButton (Javascript)"
 
 #. (itstool) path: credit/name
 #: C/menubutton.js.page:13
@@ -18463,8 +19969,8 @@ msgstr ""
 
 #. (itstool) path: item/p
 #: C/menubutton.js.page:33 C/menubutton.vala.page:33
-msgid "<link href=\"http://developer.gnome.org/gtk3/3.5/gtk3-GtkMenuButton.html\";>MenuButton</link>"
-msgstr "<link href=\"http://developer.gnome.org/gtk3/3.5/gtk3-GtkMenuButton.html\";>MenuButton</link>"
+msgid "<link href=\"https://developer.gnome.org/gtk3/unstable/GtkMenuButton.html\";>MenuButton</link>"
+msgstr ""
 
 #. (itstool) path: note/p
 #: C/menubutton.py.page:32 C/menubutton.vala.page:27
@@ -18601,7 +20107,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkMenuButton.html
 #: C/menubutton.vala.page:8
 msgctxt "text"
 msgid "MenuButton (Vala)"
-msgstr ""
+msgstr "MenuButton (Vala)"
 
 #. (itstool) path: page/code
 #: C/menubutton.vala.page:28
@@ -18714,7 +20220,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/message-board.c.page:41
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/message-board.ogv' md5='beb80c4538776dc2cdd26c95abea5027'"
 msgstr "external ref='media/message-board.ogv' md5='beb80c4538776dc2cdd26c95abea5027'"
@@ -19219,7 +20724,7 @@ msgstr ""
 #: C/messagedialog.c.page:8
 msgctxt "text"
 msgid "MessageDialog (C)"
-msgstr ""
+msgstr "MessageDialog (C)"
 
 #. (itstool) path: info/desc
 #: C/messagedialog.c.page:19 C/messagedialog.py.page:19 C/messagedialog.vala.page:18
@@ -19229,7 +20734,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/messagedialog.c.page:22 C/messagedialog.js.page:24 C/messagedialog.py.page:22 
C/messagedialog.vala.page:21
 msgid "MessageDialog"
-msgstr ""
+msgstr "MessageDialog"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -19237,7 +20742,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/messagedialog.c.page:24 C/messagedialog.js.page:25 C/messagedialog.py.page:23 
C/messagedialog.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/messagedialog.png' md5='1956288274018e2386d9cba96a2101de'"
 msgstr "external ref='media/messagedialog.png' md5='1956288274018e2386d9cba96a2101de'"
@@ -19452,7 +20956,7 @@ msgstr ""
 #: C/messagedialog.js.page:8
 msgctxt "text"
 msgid "MessageDialog (JavaScript)"
-msgstr ""
+msgstr "MessageDialog (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/messagedialog.js.page:21
@@ -19838,7 +21342,7 @@ msgstr ""
 #: C/messagedialog.py.page:8
 msgctxt "text"
 msgid "MessageDialog (Python)"
-msgstr ""
+msgstr "MessageDialog (Python)"
 
 #. (itstool) path: page/p
 #: C/messagedialog.py.page:24
@@ -20016,7 +21520,7 @@ msgstr "<link href=\"http://developer.gnome.org/gio/unstable/GActionMap.html\";>G
 #: C/messagedialog.vala.page:8
 msgctxt "text"
 msgid "MessageDialog (Vala)"
-msgstr ""
+msgstr "MessageDialog (Vala)"
 
 #. (itstool) path: page/code
 #: C/messagedialog.vala.page:25
@@ -20641,7 +22145,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkCellRenderer.ht
 #: C/paned.c.page:8
 msgctxt "text"
 msgid "Paned (C)"
-msgstr ""
+msgstr "Paned (C)"
 
 #. (itstool) path: info/desc
 #: C/paned.c.page:18 C/paned.js.page:18 C/paned.py.page:19 C/paned.vala.page:18
@@ -20651,7 +22155,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/paned.c.page:21 C/paned.js.page:21 C/paned.py.page:22 C/paned.vala.page:21
 msgid "Paned"
-msgstr ""
+msgstr "Paned"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -20659,7 +22163,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/paned.c.page:22 C/paned.js.page:22 C/paned.py.page:23 C/paned.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/paned.png' md5='8c7e1df065395c9aafcd65036a293d8a'"
 msgstr "external ref='media/paned.png' md5='8c7e1df065395c9aafcd65036a293d8a'"
@@ -20730,7 +22233,7 @@ msgstr ""
 #: C/paned.js.page:8
 msgctxt "text"
 msgid "Paned (JavaScript)"
-msgstr ""
+msgstr "Paned (Javascript)"
 
 #. (itstool) path: section/code
 #: C/paned.js.page:29
@@ -20812,7 +22315,7 @@ msgstr "<link href=\"http://www.roojs.com/seed/gir-1.2-gtk-3.0/gjs/Gtk.Image.htm
 #: C/paned.py.page:8
 msgctxt "text"
 msgid "Paned (Python)"
-msgstr ""
+msgstr "Paned (Python)"
 
 #. (itstool) path: section/code
 #: C/paned.py.page:30
@@ -20881,7 +22384,7 @@ msgstr ""
 #: C/paned.vala.page:8
 msgctxt "text"
 msgid "Paned (Vala)"
-msgstr ""
+msgstr "Paned (Vala)"
 
 #. (itstool) path: section/code
 #: C/paned.vala.page:29
@@ -21657,7 +23160,7 @@ msgstr ""
 #: C/progressbar.c.page:8
 msgctxt "text"
 msgid "ProgressBar (C)"
-msgstr ""
+msgstr "ProgressBar (C)"
 
 #. (itstool) path: info/desc
 #: C/progressbar.c.page:19 C/progressbar.vala.page:18
@@ -21667,7 +23170,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/progressbar.c.page:22 C/progressbar.js.page:20 C/progressbar.py.page:22 C/progressbar.vala.page:21
 msgid "ProgressBar"
-msgstr ""
+msgstr "ProgressBar"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -21675,7 +23178,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/progressbar.c.page:24 C/progressbar.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/progressbar_fill.ogv' md5='287763d1d3f4a328212ea2243910f5e4'"
 msgstr "external ref='media/progressbar_fill.ogv' md5='287763d1d3f4a328212ea2243910f5e4'"
@@ -21772,7 +23274,7 @@ msgstr ""
 #: C/progressbar.js.page:7
 msgctxt "text"
 msgid "ProgressBar (JavaScript)"
-msgstr ""
+msgstr "ProgressBar (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/progressbar.js.page:17
@@ -21785,7 +23287,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/progressbar.js.page:21 C/progressbar.py.page:23
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/progressbar.ogv' md5='36deab3dd4b5be968828fa2ef416d612'"
 msgstr "external ref='media/progressbar.ogv' md5='36deab3dd4b5be968828fa2ef416d612'"
@@ -21894,7 +23395,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/GLib.html\";>G
 #: C/progressbar.py.page:8
 msgctxt "text"
 msgid "ProgressBar (Python)"
-msgstr ""
+msgstr "ProgressBar (Python)"
 
 #. (itstool) path: info/desc
 #: C/progressbar.py.page:19
@@ -22009,7 +23510,7 @@ msgstr ""
 #: C/progressbar.vala.page:8
 msgctxt "text"
 msgid "ProgressBar (Vala)"
-msgstr ""
+msgstr "ProgressBar (Vala)"
 
 #. (itstool) path: page/code
 #: C/progressbar.vala.page:25
@@ -22155,7 +23656,7 @@ msgstr ""
 #: C/radiobutton.c.page:8
 msgctxt "text"
 msgid "RadioButton (C)"
-msgstr ""
+msgstr "RadioButton (C)"
 
 #. (itstool) path: info/desc
 #: C/radiobutton.c.page:20
@@ -22165,7 +23666,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/radiobutton.c.page:23 C/radiobutton.js.page:21 C/radiobutton.py.page:23 C/radiobutton.vala.page:24
 msgid "RadioButton"
-msgstr ""
+msgstr "RadioButton"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -22173,7 +23674,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/radiobutton.c.page:25 C/radiobutton.py.page:24 C/radiobutton.vala.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/radiobutton.png' md5='d115460280d8e41493dd98054b5822a5'"
 msgstr "external ref='media/radiobutton.png' md5='d115460280d8e41493dd98054b5822a5'"
@@ -22296,7 +23796,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkSwitch.html\";>Gtk
 #: C/radiobutton.js.page:8
 msgctxt "text"
 msgid "RadioButton (JavaScript)"
-msgstr ""
+msgstr "RadioButton (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/radiobutton.js.page:18
@@ -22309,7 +23809,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/radiobutton.js.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/radiobuttontravel.png' md5='0c5f01ee160bb42716ccf5dccbd080c0'"
 msgstr "external ref='media/radiobuttontravel.png' md5='0c5f01ee160bb42716ccf5dccbd080c0'"
@@ -22897,7 +24396,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.RadioButt
 #: C/radiobutton.py.page:8
 msgctxt "text"
 msgid "RadioButton (Python)"
-msgstr ""
+msgstr "RadioButton (Python)"
 
 #. (itstool) path: info/desc
 #: C/radiobutton.py.page:20
@@ -23036,7 +24535,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkRadioButton.htm
 #: C/radiobutton.vala.page:8
 msgctxt "text"
 msgid "RadioButton (Vala)"
-msgstr ""
+msgstr "RadioButton (Vala)"
 
 #. (itstool) path: info/desc
 #: C/radiobutton.vala.page:21
@@ -23197,7 +24696,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/record-collection.js.page:70
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/record-collection.png' md5='2d645997687ed5aacd36aafafc16e072'"
 msgstr "external ref='media/record-collection.png' md5='2d645997687ed5aacd36aafafc16e072'"
@@ -23831,7 +25329,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/scale.c.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/scale2.png' md5='ae2ba0a6675f3d9cdcd961cdf32f1a5c'"
 msgstr "external ref='media/scale2.png' md5='ae2ba0a6675f3d9cdcd961cdf32f1a5c'"
@@ -23880,6 +25377,7 @@ msgid ""
 " * reacts to the signal. It does the same thing as the function above, except with\n"
 " * the vertical scale.\n"
 " */\n"
+"static void\n"
 "vscale_moved (GtkRange *range,\n"
 "              gpointer  user_data)\n"
 "{\n"
@@ -23959,7 +25457,7 @@ msgid ""
 "\n"
 "\n"
 "  /* Create the Vertical scale. This time, we will see what happens \n"
-"   * when the digits arent initially set.\n"
+"   * when the digits aren't initially set.\n"
 "   */\n"
 "  v_scale = gtk_scale_new (GTK_ORIENTATION_VERTICAL, vadjustment);\n"
 "  gtk_widget_set_vexpand (v_scale, TRUE);\n"
@@ -24043,7 +25541,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/scale.js.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/scalepenguins.png' md5='2dbe6a833fec86fde71a5ddb421e2cd5'"
 msgstr "external ref='media/scalepenguins.png' md5='2dbe6a833fec86fde71a5ddb421e2cd5'"
@@ -24493,7 +25990,7 @@ msgstr ""
 #: C/scale.py.page:24 C/scale.vala.page:24
 msgctxt "_"
 msgid "external ref='media/scale.png' md5='462c52a53b773cb9e8c62c646bf88452'"
-msgstr ""
+msgstr "external ref='media/scale.png' md5='462c52a53b773cb9e8c62c646bf88452'"
 
 #. (itstool) path: section/code
 #: C/scale.py.page:31
@@ -24784,7 +26281,7 @@ msgstr ""
 #: C/scrolledwindow.c.page:25 C/scrolledwindow.js.page:22 C/scrolledwindow.py.page:23 
C/scrolledwindow.vala.page:23
 msgctxt "_"
 msgid "external ref='media/scrolledwindow.png' md5='697bb3205d5c4fb0b4ea8db435843157'"
-msgstr ""
+msgstr "external ref='media/scrolledwindow.png' md5='697bb3205d5c4fb0b4ea8db435843157'"
 
 #. (itstool) path: page/p
 #: C/scrolledwindow.c.page:26 C/scrolledwindow.js.page:23 C/scrolledwindow.py.page:24 
C/scrolledwindow.vala.page:24
@@ -25095,7 +26592,7 @@ msgstr "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.PolicyType.html\";>Gtk.P
 #: C/separator.c.page:8
 msgctxt "text"
 msgid "Separator (C)"
-msgstr ""
+msgstr "Separator (C)"
 
 #. (itstool) path: info/desc
 #: C/separator.c.page:19 C/separator.py.page:20 C/separator.vala.page:21
@@ -25105,7 +26602,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/separator.c.page:22 C/separator.py.page:23 C/separator.vala.page:24
 msgid "Separator"
-msgstr ""
+msgstr "Separator"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -25115,7 +26612,7 @@ msgstr ""
 #: C/separator.c.page:24 C/separator.py.page:25 C/separator.vala.page:26
 msgctxt "_"
 msgid "external ref='media/separator.png' md5='8769b27662ce5c77f99e9ce33751a21a'"
-msgstr ""
+msgstr "external ref='media/separator.png' md5='8769b27662ce5c77f99e9ce33751a21a'"
 
 #. (itstool) path: page/p
 #: C/separator.c.page:25 C/separator.py.page:26 C/separator.vala.page:27
@@ -25193,7 +26690,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSeparator.html\
 #: C/separator.py.page:8
 msgctxt "text"
 msgid "Separator (Python)"
-msgstr ""
+msgstr "Separator (Python)"
 
 #. (itstool) path: section/code
 #: C/separator.py.page:32
@@ -25253,7 +26750,7 @@ msgstr ""
 #: C/separator.vala.page:8
 msgctxt "text"
 msgid "Separator (Vala)"
-msgstr ""
+msgstr "Separator (Vala)"
 
 #. (itstool) path: section/code
 #: C/separator.vala.page:33
@@ -25332,7 +26829,7 @@ msgstr ""
 #. (itstool) path: page/p
 #: C/set-up-gedit.js.page:20
 msgid ""
-"This tutorial will show you how to set up <link href=\"http://projects.gnome.org/gedit/\";>gedit</link>, 
GNOME's "
+"This tutorial will show you how to set up <link href=\"https://wiki.gnome.org/Apps/Gedit\";>gedit</link>, 
GNOME's "
 "basic text editor, so that it has a handful of extra features which are useful for writing JavaScript code."
 msgstr ""
 
@@ -25356,7 +26853,7 @@ msgstr ""
 #: C/set-up-gedit.js.page:25
 msgctxt "_"
 msgid "external ref='media/geditview.png' md5='f1438295662d95f56fcd1d8200efaaf2'"
-msgstr ""
+msgstr "external ref='media/geditview.png' md5='f1438295662d95f56fcd1d8200efaaf2'"
 
 #. (itstool) path: section/p
 #: C/set-up-gedit.js.page:26
@@ -25401,7 +26898,7 @@ msgstr ""
 #: C/set-up-gedit.js.page:37
 msgctxt "_"
 msgid "external ref='media/gediteditor.png' md5='50db1ee8f2c545744879ee9fba5b4b24'"
-msgstr ""
+msgstr "external ref='media/gediteditor.png' md5='50db1ee8f2c545744879ee9fba5b4b24'"
 
 #. (itstool) path: section/p
 #: C/set-up-gedit.js.page:38
@@ -25491,7 +26988,7 @@ msgstr ""
 #: C/spinbutton.c.page:8
 msgctxt "text"
 msgid "SpinButton (C)"
-msgstr ""
+msgstr "SpinButton (C)"
 
 #. (itstool) path: info/desc
 #: C/spinbutton.c.page:21
@@ -25501,7 +26998,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/spinbutton.c.page:24 C/spinbutton.js.page:24 C/spinbutton.py.page:23 C/spinbutton.vala.page:23
 msgid "SpinButton"
-msgstr ""
+msgstr "SpinButton"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -25509,7 +27006,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/spinbutton.c.page:26 C/spinbutton.py.page:24 C/spinbutton.vala.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/spinbutton.png' md5='993cbb7d9bd271a329727a926195712a'"
 msgstr "external ref='media/spinbutton.png' md5='993cbb7d9bd271a329727a926195712a'"
@@ -25629,7 +27125,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkSpinButton.html\";
 #: C/spinbutton.js.page:8
 msgctxt "text"
 msgid "SpinButton (JavaScript)"
-msgstr ""
+msgstr "SpinButton (Javascript)"
 
 #. (itstool) path: info/desc
 #: C/spinbutton.js.page:21
@@ -25642,7 +27138,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/spinbutton.js.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/spinbuttonkittens.png' md5='577cce8a902140aacbab73fe8a76a010'"
 msgstr "external ref='media/spinbuttonkittens.png' md5='577cce8a902140aacbab73fe8a76a010'"
@@ -26051,7 +27546,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.SpinButto
 #: C/spinbutton.py.page:8
 msgctxt "text"
 msgid "SpinButton (Python)"
-msgstr ""
+msgstr "SpinButton (Python)"
 
 #. (itstool) path: info/desc
 #: C/spinbutton.py.page:20
@@ -26173,7 +27668,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSpinButton.html
 #: C/spinbutton.vala.page:8
 msgctxt "text"
 msgid "SpinButton (Vala)"
-msgstr ""
+msgstr "SpinButton (Vala)"
 
 #. (itstool) path: info/desc
 #: C/spinbutton.vala.page:20
@@ -26230,7 +27725,7 @@ msgstr "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.SpinButton.html\";>Gtk.S
 #: C/spinner.c.page:8
 msgctxt "text"
 msgid "Spinner (C)"
-msgstr ""
+msgstr "Spinner (C)"
 
 #. (itstool) path: info/desc
 #: C/spinner.c.page:19 C/spinner.js.page:18 C/spinner.py.page:19 C/spinner.vala.page:18
@@ -26240,7 +27735,7 @@ msgstr ""
 #. (itstool) path: page/title
 #: C/spinner.c.page:22 C/spinner.js.page:21 C/spinner.py.page:22 C/spinner.vala.page:21
 msgid "Spinner"
-msgstr ""
+msgstr "Spinner"
 
 #. (itstool) path: page/media
 #. This is a reference to an external file such as an image or video. When
@@ -26248,7 +27743,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/spinner.c.page:24 C/spinner.js.page:22 C/spinner.py.page:23 C/spinner.vala.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/spinner.png' md5='d04f2d81f1d72c6c2f97e8729947dfed'"
 msgstr "external ref='media/spinner.png' md5='d04f2d81f1d72c6c2f97e8729947dfed'"
@@ -26371,7 +27865,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/stable/GtkSpinner.html\";>Gt
 #: C/spinner.js.page:8
 msgctxt "text"
 msgid "Spinner (JavaScript)"
-msgstr ""
+msgstr "Spinner (Javascript)"
 
 #. (itstool) path: page/code
 #: C/spinner.js.page:25
@@ -26469,7 +27963,7 @@ msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.Spinner.h
 #: C/spinner.py.page:8
 msgctxt "text"
 msgid "Spinner (Python)"
-msgstr ""
+msgstr "Spinner (Python)"
 
 #. (itstool) path: section/code
 #: C/spinner.py.page:31
@@ -26532,12 +28026,12 @@ msgid ""
 msgstr ""
 
 #. (itstool) path: note/p
-#: C/spinner.py.page:33
+#: C/spinner.py.page:33 C/statusbar.py.page:34
 msgid ""
 "<code>Gdk.keyval_name(event.keyval)</code> converts the key value <code>event.keyval</code> into a symbolic 
name. "
-"The names and corresponding key values can be found <link href=\"http://git.gnome.org/browse/gtk+/tree/gdk/";
-"gdkkeysyms.h\">here</link>,but for instance <code>GDK_KEY_BackSpace</code> becomes the string 
<code>\"BackSpace\"</"
-"code>."
+"The names and corresponding key values can be found <link 
href=\"https://gitlab.gnome.org/GNOME/gtk/blob/master/";
+"gdk/gdkkeysyms.h\">here</link>, but for instance <code>GDK_KEY_BackSpace</code> becomes the string <code>"
+"\"BackSpace\"</code>."
 msgstr ""
 
 #. (itstool) path: item/p
@@ -26554,7 +28048,7 @@ msgstr ""
 #: C/spinner.vala.page:8
 msgctxt "text"
 msgid "Spinner (Vala)"
-msgstr ""
+msgstr "Spinner (Vala)"
 
 #. (itstool) path: page/code
 #: C/spinner.vala.page:25
@@ -26650,7 +28144,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/statusbar.c.page:27
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/statusbar3.png' md5='60c71604fb44656237ee66dfb39a8689'"
 msgstr "external ref='media/statusbar3.png' md5='60c71604fb44656237ee66dfb39a8689'"
@@ -26799,7 +28292,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/statusbar.js.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/statusbar2.png' md5='ff6f7e5b270827ca98b2d5f7087aa766'"
 msgstr "external ref='media/statusbar2.png' md5='ff6f7e5b270827ca98b2d5f7087aa766'"
@@ -26807,8 +28299,8 @@ msgstr "external ref='media/statusbar2.png' md5='ff6f7e5b270827ca98b2d5f7087aa76
 #. (itstool) path: page/p
 #: C/statusbar.js.page:23
 msgid ""
-"This statusbar keeps track of how many times you've clicked a button. Applications like <link 
href=\"http://";
-"projects.gnome.org/gedit/\">gedit</link> use statusbars to display information at a glance, and show 
notifications "
+"This statusbar keeps track of how many times you've clicked a button. Applications like <link 
href=\"https://wiki.";
+"gnome.org/Apps/Gedit\">gedit</link> use statusbars to display information at a glance, and show 
notifications "
 "without interrupting the user."
 msgstr ""
 
@@ -27280,7 +28772,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/statusbar.py.page:24 C/statusbar.vala.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/statusbar.png' md5='eb1aca55315d6cda57b12a5f36058ba8'"
 msgstr "external ref='media/statusbar.png' md5='eb1aca55315d6cda57b12a5f36058ba8'"
@@ -27369,15 +28860,6 @@ msgid ""
 "sys.exit(exit_status)\n"
 msgstr ""
 
-#. (itstool) path: note/p
-#: C/statusbar.py.page:34
-msgid ""
-"<code>Gdk.keyval_name(event.keyval)</code> converts the key value <code>event.keyval</code> into a symbolic 
name. "
-"The names and corresponding key values can be found <link href=\"http://git.gnome.org/browse/gtk+/tree/gdk/";
-"gdkkeysyms.h\">here</link>, but for instance <code>GDK_KEY_BackSpace</code> becomes the string 
<code>\"BackSpace"
-"\"</code>."
-msgstr ""
-
 #. (itstool) path: section/title
 #: C/statusbar.py.page:40
 msgid "Useful methods for a Statusbar widget"
@@ -27420,7 +28902,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkStatusbar.html\
 
 #. (itstool) path: item/p
 #: C/statusbar.py.page:54
-msgid "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling.html\";>Gdk - Key 
Values</link>"
+msgid "<link href=\"https://developer.gnome.org/gdk3/stable/gdk3-Keyboard-Handling.html\";>Gdk - Key 
Values</link>"
 msgstr ""
 
 #. (itstool) path: info/title
@@ -27723,7 +29205,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/switch.c.page:23 C/switch.py.page:23 C/switch.vala.page:26
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/switch_off.png' md5='211a2962708800697ad5373dcc86ad6d'"
 msgstr "external ref='media/switch_off.png' md5='211a2962708800697ad5373dcc86ad6d'"
@@ -27736,7 +29217,7 @@ msgstr "external ref='media/switch_off.png' md5='211a2962708800697ad5373dcc86ad6
 #: C/switch.c.page:24 C/switch.py.page:24 C/switch.vala.page:27
 msgctxt "_"
 msgid "external ref='media/switch_on.png' md5='95e8769f758c2d95ace0fa8ecf30b29d'"
-msgstr ""
+msgstr "external ref='media/switch_on.png' md5='95e8769f758c2d95ace0fa8ecf30b29d'"
 
 #. (itstool) path: page/p
 #: C/switch.c.page:25
@@ -27844,7 +29325,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/switch.js.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/switchanimals.png' md5='513ae15dcf68e15eef30b76420b8c714'"
 msgstr "external ref='media/switchanimals.png' md5='513ae15dcf68e15eef30b76420b8c714'"
@@ -28607,7 +30087,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/textview.c.page:27 C/textview.py.page:39 C/textview.vala.page:27
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/textview.png' md5='049e859ed1af2d7c93d8cb5cfd9f7792'"
 msgstr "external ref='media/textview.png' md5='049e859ed1af2d7c93d8cb5cfd9f7792'"
@@ -28722,7 +30201,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/textview.js.page:26
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/textviewpenguinchat.png' md5='0dd6f6aa44aaeab7901bd90162ed4c9a'"
 msgstr "external ref='media/textviewpenguinchat.png' md5='0dd6f6aa44aaeab7901bd90162ed4c9a'"
@@ -29633,7 +31111,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/togglebutton.c.page:27 C/togglebutton.js.page:22 C/togglebutton.py.page:23 C/togglebutton.vala.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/togglebutton.png' md5='791e062613d4f9bd5936390b0aa18448'"
 msgstr "external ref='media/togglebutton.png' md5='791e062613d4f9bd5936390b0aa18448'"
@@ -30209,7 +31686,7 @@ msgstr ""
 #: C/toolbar_builder.vala.page:25
 msgctxt "_"
 msgid "external ref='media/toolbar.png' md5='f0350855eedf6343952b72d6d906f738'"
-msgstr ""
+msgstr "external ref='media/toolbar.png' md5='f0350855eedf6343952b72d6d906f738'"
 
 #. (itstool) path: page/p
 #: C/toolbar.c.page:26 C/toolbar.js.page:23 C/toolbar.vala.page:25
@@ -31113,7 +32590,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:50 C/toolbar_builder.vala.page:33
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_ui.png' md5='baea74fe213bc12ea934f64f6977215a'"
 msgstr "external ref='media/glade_ui.png' md5='baea74fe213bc12ea934f64f6977215a'"
@@ -31136,7 +32612,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:56 C/toolbar_builder.vala.page:39
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_select_toolbar.png' md5='f7b5b224050b2e387eb04362fc99df00'"
 msgstr "external ref='media/glade_select_toolbar.png' md5='f7b5b224050b2e387eb04362fc99df00'"
@@ -31159,7 +32634,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:62 C/toolbar_builder.vala.page:45
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_toolbar_general.png' md5='e31daba6e8a3e526aca89d5f1622edaa'"
 msgstr "external ref='media/glade_toolbar_general.png' md5='e31daba6e8a3e526aca89d5f1622edaa'"
@@ -31180,7 +32654,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:68 C/toolbar_builder.vala.page:51
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_toolbar_common.png' md5='d5ec6cc0218ca98e195dbd033feb9ac5'"
 msgstr "external ref='media/glade_toolbar_common.png' md5='d5ec6cc0218ca98e195dbd033feb9ac5'"
@@ -31203,7 +32676,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:74 C/toolbar_builder.vala.page:57
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_toolbar_edit.png' md5='feb1e2b7040d24a4d030f94cf07c81fd'"
 msgstr "external ref='media/glade_toolbar_edit.png' md5='feb1e2b7040d24a4d030f94cf07c81fd'"
@@ -31363,7 +32835,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:133 C/toolbar_builder.vala.page:116
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_toolbar_editor.png' md5='8af65241e5ca47d5494a7b36640e6f1c'"
 msgstr "external ref='media/glade_toolbar_editor.png' md5='8af65241e5ca47d5494a7b36640e6f1c'"
@@ -31389,7 +32860,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/toolbar_builder.py.page:142 C/toolbar_builder.vala.page:125
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/glade_visible_no.png' md5='dc6c025aa825f4d772fbd283d6330026'"
 msgstr "external ref='media/glade_visible_no.png' md5='dc6c025aa825f4d772fbd283d6330026'"
@@ -31869,7 +33339,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/tooltip.c.page:23 C/tooltip.js.page:23 C/tooltip.py.page:24 C/tooltip.vala.page:23
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/tooltip.png' md5='41e35860a51e39cb48c71e57bb8fb1d0'"
 msgstr "external ref='media/tooltip.png' md5='41e35860a51e39cb48c71e57bb8fb1d0'"
@@ -31901,7 +33370,7 @@ msgid ""
 "  /* set the text for the tooltip */\n"
 "  gtk_tooltip_set_text (tooltip, \"Undo your last action\");\n"
 "   \n"
-"  /* set an icon fot the tooltip */\n"
+"  /* set an icon for the tooltip */\n"
 "  gtk_tooltip_set_icon_from_stock(tooltip, \"gtk-undo\", GTK_ICON_SIZE_MENU);\n"
 "\n"
 "  /* show the tooltip */\n"
@@ -32235,7 +33704,7 @@ msgid ""
 "    _undoTooltipCallback(widget, x, y, keyboard_mode, tooltip) {\n"
 "        // set the text for the tooltip\n"
 "        tooltip.set_text(\"Undo your last action\");\n"
-"        // set an icon fot the tooltip\n"
+"        // set an icon for the tooltip\n"
 "        tooltip.set_icon_from_stock(Gtk.STOCK_UNDO, Gtk.IconSize.MENU);\n"
 "        // show the tooltip\n"
 "        return true;\n"
@@ -32372,7 +33841,7 @@ msgid ""
 "    def undo_tooltip_callback(self, widget, x, y, keyboard_mode, tooltip):\n"
 "        # set the text for the tooltip\n"
 "        tooltip.set_text(\"Undo your last action\")\n"
-"        # set an icon fot the tooltip\n"
+"        # set an icon for the tooltip\n"
 "        tooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU)\n"
 "        # show the tooltip\n"
 "        return True\n"
@@ -32546,7 +34015,7 @@ msgid ""
 "\t\t/* set the text for the tooltip */\n"
 "        \ttooltip.set_text (\"Undo your last action\");\n"
 "\t\t\n"
-"\t\t/* set an icon fot the tooltip */\n"
+"\t\t/* set an icon for the tooltip */\n"
 "\t\ttooltip.set_icon_from_stock(\"gtk-undo\", Gtk.IconSize.MENU);\n"
 "\n"
 "        \t/* show the tooltip */\n"
@@ -32705,7 +34174,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/treeview_advanced_liststore.py.page:23
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/treeview_advanced_liststore.png' md5='102b512197fb9aa4ed9a16462f6af911'"
 msgstr "external ref='media/treeview_advanced_liststore.png' md5='102b512197fb9aa4ed9a16462f6af911'"
@@ -32902,7 +34370,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/treeview_cellrenderertoggle.py.page:23
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/treeview_cellrenderertoggle.png' md5='ade9b9437f8f83150acf37610dab834d'"
 msgstr "external ref='media/treeview_cellrenderertoggle.png' md5='ade9b9437f8f83150acf37610dab834d'"
@@ -33069,7 +34536,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/treeview_simple_liststore.js.page:25
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/treeview_simple_liststore_penguins.png' md5='d750a0b9fddf8e508753cc639839871d'"
 msgstr "external ref='media/treeview_simple_liststore_penguins.png' md5='d750a0b9fddf8e508753cc639839871d'"
@@ -33760,7 +35226,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/treeview_simple_liststore.py.page:24 C/treeview_simple_liststore.vala.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/treeview_simple_liststore.png' md5='2dc501a2b95b094da985d37b66aee90c'"
 msgstr "external ref='media/treeview_simple_liststore.png' md5='2dc501a2b95b094da985d37b66aee90c'"
@@ -34055,7 +35520,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/treeview_treestore.py.page:24
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/treeview_treestore.png' md5='5ca87bc4acd55c527b3fb5fd46779d85'"
 msgstr "external ref='media/treeview_treestore.png' md5='5ca87bc4acd55c527b3fb5fd46779d85'"
@@ -34358,7 +35822,7 @@ msgstr ""
 #: C/weatherApp.js.page:41
 msgctxt "_"
 msgid "external ref='media/weatherAppJs.png' md5='1fe859ac4854273d72ea8fc9203639b2'"
-msgstr ""
+msgstr "external ref='media/weatherAppJs.png' md5='1fe859ac4854273d72ea8fc9203639b2'"
 
 #. (itstool) path: section/title
 #: C/weatherApp.js.page:44
@@ -34437,9 +35901,8 @@ msgstr ""
 
 #. (itstool) path: item/p
 #: C/weatherAppMain.js.page:29
-#, fuzzy
 msgid "<link xref=\"#weatherapp.js\">weatherapp.js</link>"
-msgstr "<link xref=\"#weatherapp.js\">weatherapp.js</link>"
+msgstr ""
 
 #. (itstool) path: section/p
 #: C/weatherAppMain.js.page:36
@@ -34452,15 +35915,12 @@ msgstr ""
 
 #. (itstool) path: section/code
 #: C/weatherAppMain.js.page:42
-#, fuzzy, no-wrap
+#, no-wrap
 msgid ""
 "\n"
 "var Gtk = imports.gi.Gtk;\n"
 "const WeatherService = imports.geonames;"
 msgstr ""
-"\n"
-"var Gtk = imports.gi.Gtk;\n"
-"const WeatherService = imports.geonames;"
 
 #. (itstool) path: section/p
 #: C/weatherAppMain.js.page:45
@@ -34479,7 +35939,7 @@ msgid ""
 "Gtk.init(null, 0);\n"
 "//create your window, name it and connect the x to quit function. Remember that window is a taken word\n"
 "var weatherwindow = new Gtk.Window({type: Gtk.WindowType.TOPLEVEL});\n"
-"weatherwindow.title = \"Todays weather\";\n"
+"weatherwindow.title = \"Today's weather\";\n"
 "//Window only accepts one widget and a title. Further structure with Gtk.boxes of similar\n"
 "weatherwindow.connect(\"destroy\", function(){Gtk.main_quit()});\n"
 "\n"
@@ -34501,7 +35961,7 @@ msgid ""
 "var grid = new Gtk.Grid();\n"
 "weatherwindow.add(grid);\n"
 "\n"
-"//We initialize the icon here, but deside the file later in geonames.js.\n"
+"//We initialize the icon here, but decide the file later in geonames.js.\n"
 "var weatherIcon = new Gtk.Image();\n"
 "\n"
 "//Set some labels to your window\n"
@@ -34641,10 +36101,10 @@ msgid ""
 "Gtk.init(null, 0);\n"
 "//create your window, name it and connect the x to quit function. Remember that window is a taken word\n"
 "var weatherwindow = new Gtk.Window({type: Gtk.WindowType.TOPLEVEL});\n"
-"weatherwindow.title = \"Todays weather\";\n"
+"weatherwindow.title = \"Today's weather\";\n"
 "//Window only accepts one widget and a title. Further structure with Gtk.boxes of similar\n"
 "weatherwindow.connect(\"destroy\", function(){Gtk.main_quit()});\n"
-"//We initialize the icon here, but deside the file later in geonames.js.\n"
+"//We initialize the icon here, but decide the file later in geonames.js.\n"
 "\n"
 "var weatherIcon = new Gtk.Image();\n"
 "\n"
@@ -34766,7 +36226,7 @@ msgid ""
 "Having more than one file in your folder makes using autotools a bit tricky. You need the .desktop file, 
autogen."
 "sh, Makefile.am, configure.ac and as a new file: myapp.sh.in file. Hacking the autotools file is a 
complicated "
 "field. More information can be found in many different sources, <link href=\"http://en.wikipedia.org/wiki/";
-"GNU_build_system\">the wikipedia article</link> provides a good overview on the subject."
+"GNU_build_system\">the Wikipedia article</link> provides a good overview on the subject."
 msgstr ""
 
 #. (itstool) path: item/p
@@ -34968,9 +36428,8 @@ msgstr "appicondir=$(datadir)/icons/hicolor/scalable/apps"
 
 #. (itstool) path: section/p
 #: C/weatherAutotools.js.page:149
-#, fuzzy
 msgid "appicon_DATA=weather-icon.svg"
-msgstr "appicon_DATA=weather-icon.svg"
+msgstr ""
 
 #. (itstool) path: page/title
 #: C/weatherGeonames.js.page:19
@@ -35210,7 +36669,6 @@ msgstr ""
 #. update your localized copy. The msgstr is not used at all. Set it to
 #. whatever you like once you have updated your copy of the file.
 #: C/widget_drawing.py.page:22
-#, fuzzy
 msgctxt "_"
 msgid "external ref='media/widget_drawing.png' md5='d00abd8cb9e158018c57fd75b81dfe58'"
 msgstr "external ref='media/widget_drawing.png' md5='d00abd8cb9e158018c57fd75b81dfe58'"
@@ -35917,12 +37375,12 @@ msgstr ""
 #. (itstool) path: section/title
 #: C/custom-gsource.c.page:270
 msgid "Complete Example"
-msgstr ""
+msgstr "Fullständigt exempel"
 
 #. (itstool) path: listing/title
 #: C/custom-gsource.c.page:273
 msgid "Complete Example Code"
-msgstr ""
+msgstr "Fullständig exempelkod"
 
 #. (itstool) path: listing/code
 #: C/custom-gsource.c.page:275
@@ -36115,7 +37573,8 @@ msgstr ""
 #: C/custom-gsource.c.page:293
 msgid ""
 "Another example is a custom source to interface GnuTLS with GLib in its <code>GTlsConnection</code> "
-"implementation. <link 
href=\"https://git.gnome.org/browse/glib-networking/tree/tls/gnutls/gtlsconnection-gnutls.";
-"c#n871\"><code>GTlsConnectionGnutlsSource</code></link> synchronizes the main thread and a TLS worker 
thread which "
-"performs the blocking TLS operations."
+"implementation. <link 
href=\"https://gitlab.gnome.org/GNOME/glib-networking/blob/master/tls/gnutls/gtlsconnection-";
+"gnutls.c#L1154\"><code>GTlsConnectionGnutlsSource</code></link> synchronizes the main thread and a TLS 
worker "
+"thread which performs the blocking TLS operations."
 msgstr ""
+


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]