[gnome-devel-docs] Update Swedish translation
- From: Translations User D-L <translations src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-devel-docs] Update Swedish translation
- Date: Fri, 26 Mar 2021 14:36:08 +0000 (UTC)
commit cd3f65229e6b26f0304fa5ccde4cda2607e7ae48
Author: Anders Jonsson <anders jonsson norsjovallen se>
Date: Fri Mar 26 14:36:05 2021 +0000
Update Swedish translation
platform-demos/sv/sv.po | 4543 ++++++++++++++++++++++++++++++++++++++++++++---
1 file changed, 4324 insertions(+), 219 deletions(-)
---
diff --git a/platform-demos/sv/sv.po b/platform-demos/sv/sv.po
index 39fd59bf..4a289e53 100644
--- a/platform-demos/sv/sv.po
+++ b/platform-demos/sv/sv.po
@@ -7,8 +7,8 @@
msgid ""
msgstr ""
"Project-Id-Version: platform-demos\n"
-"POT-Creation-Date: 2021-02-19 21:52+0000\n"
-"PO-Revision-Date: 2021-03-13 22:36+0100\n"
+"POT-Creation-Date: 2021-03-13 21:51+0000\n"
+"PO-Revision-Date: 2021-03-26 15:34+0100\n"
"Last-Translator: Anders Jonsson <anders jonsson norsjovallen se>\n"
"Language-Team: Svenska <tp-sv listor tp-sv se>\n"
"Language: sv\n"
@@ -23,6 +23,7 @@ msgctxt "_"
msgid "translator-credits"
msgstr ""
"Sebastian Rasmussen <sebras gmail com>, 2019\n"
+"Anders Jonsson <anders jonsson norsjovallen se>, 2021\n"
"\n"
"Skicka synpunkter på översättningen till\n"
"<tp-sv listor tp-sv se>."
@@ -1304,7 +1305,7 @@ msgstr ""
" this.application.connect('startup', this._onStartup.bind(this));\n"
" }\n"
"\n"
-" // Återanropsfunktion för ”activate”-signal visar fönstret när den aktiveras\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
" _onActivate() {\n"
" this._window.present();\n"
" }\n"
@@ -2256,12 +2257,12 @@ msgstr ""
" this.application.connect('startup', this._onStartup.bind(this));\n"
" }\n"
"\n"
-" // Återanropsfunktion för ”activate”-signal visar fönstret när den aktiveras\n"
+" // Återanropsfunktion för ”activate”-signal, 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"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
" _onStartup() {\n"
" this._buildUI();\n"
" }\n"
@@ -2452,12 +2453,12 @@ msgstr ""
" this.application.connect('startup', this._onStartup.bind(this));\n"
" }\n"
"\n"
-" // Återanropsfunktion för ”activate”-signal visar fönstret när den aktiveras\n"
+" // Återanropsfunktion för ”activate”-signal, 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"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
" _onStartup() {\n"
" this._buildUI();\n"
" }\n"
@@ -2672,12 +2673,12 @@ msgstr ""
" this.application.connect('startup', this._onStartup.bind(this));\n"
" }\n"
"\n"
-" // Återanropsfunktion för ”activate”-signal visar fönstret när den aktiveras\n"
+" // Återanropsfunktion för ”activate”-signal, 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"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
" _onStartup() {\n"
" this._buildUI();\n"
" }\n"
@@ -2880,12 +2881,12 @@ msgstr ""
" this.application.connect('startup', this._onStartup.bind(this));\n"
" }\n"
"\n"
-" // Återanropsfunktion för ”activate”-signal visar fönstret när den aktiveras\n"
+" // Återanropsfunktion för ”activate”-signal, 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"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
" _onStartup() {\n"
" this._buildUI();\n"
" }\n"
@@ -4052,12 +4053,12 @@ msgstr ""
"/* Detta är programmet */\n"
"public class Application : Gtk.Application {\n"
"\n"
-"\t/* Här åsidosätter vi aktiveringssignalen för GLib.Application */\n"
+"\t/* Här åsidosätter vi ”activate”-signalen 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"
+"\t/* Här åsidosätter vi ”startup”-signalen för GLib.Application */\n"
"\tprotected override void startup () {\n"
"\n"
"\t\tbase.startup ();\n"
@@ -4273,12 +4274,12 @@ msgstr "Visningskomponenter"
#. (itstool) path: section/title
#: C/beginner.js.page:59 C/beginner.py.page:36 C/beginner.vala.page:63 C/c.page:123
msgid "Buttons and toggles"
-msgstr ""
+msgstr "Knappar och brytare"
#. (itstool) path: section/title
#: C/beginner.js.page:61 C/beginner.py.page:38 C/beginner.vala.page:65 C/c.page:125
msgid "Numeric and text data entry"
-msgstr ""
+msgstr "Inmatning av numeriska data och text"
#. (itstool) path: section/title
#: C/beginner.js.page:63 C/beginner.py.page:40 C/beginner.vala.page:67 C/c.page:127
@@ -4288,7 +4289,7 @@ msgstr "Textredigerare med flera rader"
#. (itstool) path: section/title
#: C/beginner.js.page:65 C/beginner.py.page:42 C/beginner.vala.page:69 C/c.page:129
msgid "Menu, combo box and toolbar widgets"
-msgstr ""
+msgstr "Komponenter för meny, kombinationsruta och verktygsfält"
#. (itstool) path: section/title
#: C/beginner.js.page:67 C/beginner.py.page:44 C/beginner.vala.page:71 C/c.page:131
@@ -4573,7 +4574,7 @@ msgstr ""
"\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_title (GTK_WINDOW (window), \"GNOME Button\");\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"
@@ -4731,7 +4732,7 @@ msgstr ""
" this._window.present ();\n"
" }\n"
"\n"
-" // Återanropsfunktion för ”startup”-signalen, initierar menyer och bygger användargränssnittet\n"
+" // Återanropsfunktion för ”startup”-signal initierar menyer och bygger användargränssnittet\n"
" _onStartup() {\n"
" this._buildUI();\n"
" }\n"
@@ -4742,7 +4743,7 @@ msgstr ""
" // Skapa programfönstret\n"
" this._window = new Gtk.ApplicationWindow ({ application: this.application,\n"
" window_position: Gtk.WindowPosition.CENTER,\n"
-" title: \"GNOME Knapp\",\n"
+" title: \"GNOME Button\",\n"
" default_height: 50,\n"
" default_width: 250 });\n"
"\n"
@@ -4829,6 +4830,47 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+" # ett fönster\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"GNOME Button\", application=app)\n"
+" self.set_default_size(250, 50)\n"
+"\n"
+" # en knapp\n"
+" button = Gtk.Button()\n"
+" # med en etikett\n"
+" button.set_label(\"Klicka på mig\")\n"
+" # anslut ”clicked”-signalen som utges av knappen\n"
+" # till återanropsfunktionen do_clicked\n"
+" button.connect(\"clicked\", self.do_clicked)\n"
+" # lägg till knappen till fönstret\n"
+" self.add(button)\n"
+"\n"
+" # återanropsfunktion ansluten till knappens signal ”clicked”\n"
+" def do_clicked(self, button):\n"
+" print(\"Du klickade på mig!\")\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/button.py.page:36
@@ -4852,6 +4894,8 @@ msgid ""
"<code>set_relief(Gtk.ReliefStyle.NONE)</code> sets to none the relief style of the edges of the Gtk.Button
- as "
"opposed to <code>Gtk.ReliefStyle.NORMAL</code>."
msgstr ""
+"<code>set_relief(Gtk.ReliefStyle.NONE)</code> ställer reliefstilen på kanterna för vår Gtk.Button till
ingen - "
+"till skillnad från <code>Gtk.ReliefStyle.NORMAL</code>."
#. (itstool) path: item/p
#: C/button.py.page:40
@@ -4859,11 +4903,14 @@ msgid ""
"If the label of the button is a <link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html"
"\">stock icon</link>, <code>set_use_stock(True)</code> sets the label as the name of the corresponding
stock icon."
msgstr ""
+"Om etiketten för knappen är en <link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html"
+"\">standardikon</link> så ställer <code>set_use_stock(True)</code> in etiketten som namnet på motsvarande "
+"standardikon."
#. (itstool) path: item/p
#: C/button.py.page:41
msgid "To set an image (e.g. a stock image) for the button <code>button</code>:"
-msgstr ""
+msgstr "För att ställa in en bild (t.ex. en standardbild) för knappen <code>button</code>:"
#. (itstool) path: item/code
#: C/button.py.page:42
@@ -4882,7 +4929,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/button.py.page:46
msgid "You should not set a label for the button after this, otherwise it will show the label and not the
image."
-msgstr ""
+msgstr "Du bör inte ställa in en etikett för knappen efter detta, då kommer den visa etiketten och inte
bilden."
#. (itstool) path: item/p
#: C/button.py.page:47
@@ -4891,6 +4938,9 @@ msgid ""
"This could be useful in places like toolbars, so that the keyboard focus is not removed from the main area
of the "
"application."
msgstr ""
+"Om vi använder <code>set_focus_on_click(False)</code> kommer knappen inte fånga fokus när den klickas på
med "
+"musen. Detta kan vara användbart i platser som verktygsfält, så att tangentbordsfokus inte tas bort från "
+"programmets huvudområde."
#. (itstool) path: item/p
#: C/button.py.page:55
@@ -4962,6 +5012,49 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"\n"
+"/* Ett fönster i programmet */\n"
+"public class MyWindow : Gtk.ApplicationWindow {\n"
+"\n"
+"\t/* Fönstrets konstruktor */\n"
+"\tinternal MyWindow (MyApplication app) {\n"
+"\t\tObject (application: app, title: \"GNOME Button\");\n"
+"\n"
+"\t\tvar button = new Gtk.Button.with_label (\"Klicka på mig\");\n"
+"\t\tbutton.clicked.connect (this.reverse_label);\n"
+"\t\tbutton.show ();\n"
+"\n"
+"\t\tthis.window_position = Gtk.WindowPosition.CENTER;\n"
+"\t\tthis.set_default_size (250,50);\n"
+"\t\tthis.add (button);\n"
+"\t}\n"
+"\n"
+"\t/* Återanropsfunktionen som är ansluten\n"
+"\t * till knappens ”clicked”-signal.\n"
+"\t */\n"
+"\tvoid reverse_label (Gtk.Button button) {\n"
+"\t\tbutton.label = button.label.reverse ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* Det här är programmet. */\n"
+"public class MyApplication : Gtk.Application {\n"
+"\n"
+"\t/* Det här är konstruktorn */\n"
+"\tinternal MyApplication () {\n"
+"\t\tObject (application_id: \"org.example.MyApplication\");\n"
+"\t}\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application */\n"
+"\tprotected override void activate () {\n"
+"\t\tnew MyWindow (this).show ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet */\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: page/p
#: C/button.vala.page:29
@@ -5008,7 +5101,7 @@ msgstr "external ref='media/buttonbox_calculator.png' md5='ce0de08b7ac66f517290e
#. (itstool) path: page/p
#: C/buttonbox.js.page:25 C/buttonbox.py.page:26
msgid "A calculator - the buttons are enclosed in horizontal ButtonBoxes."
-msgstr ""
+msgstr "En kalkylator - knapparna infogas i horisontella ButtonBoxar."
#. (itstool) path: section/code
#: C/buttonbox.js.page:31
@@ -5197,6 +5290,188 @@ msgid ""
"let app = new ButtonBoxExample();\n"
"app.application.run (ARGV);\n"
msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"\n"
+"const GObject = imports.gi.GObject;\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"class ButtonBoxExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsbuttonbox'\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 bygger användargränssnittet\n"
+" _onStartup() {\n"
+" this._buildUI();\n"
+" }\n"
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI() {\n"
+" // Skapa programfönstret\n"
+" this.window = new Gtk.ApplicationWindow ({ application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"Kalkylator\",\n"
+" default_width: 350,\n"
+" default_height: 200,\n"
+" border_width: 10 });\n"
+" this.entry = new Gtk.Entry();\n"
+" this.entry.set_text('0');\n"
+" // högerjusterad text\n"
+" this.entry.set_alignment(1);\n"
+" // texten i fältet kan inte ändras genom att skriva i det\n"
+" this.entry.set_can_focus(false);\n"
+"\n"
+" // ett rutnät\n"
+" this.grid = new Gtk.Grid();\n"
+" this.grid.set_row_spacing(5);\n"
+" \n"
+" // för att fästa fältet\n"
+" this.grid.attach(this.entry, 0, 0, 1, 1);\n"
+" \n"
+" // etiketterna för knapparna\n"
+" this.buttons = [ 7, 8, 9, '/', 4, 5, 6, '*', 1, 2, 3, '-', 'C', 0, '=', '+' ];\n"
+" \n"
+" // varje rad är en ButtonBox, fäst till rutnätet \n"
+" for (let i = 0; i < 4; i++) {\n"
+" this.hbox = Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL);\n"
+" this.hbox.set_spacing(5);\n"
+" this.grid.attach(this.hbox, 0, i + 1, 1, 1);\n"
+" // varje ButtonBox har 4 knappar, anslutna till återanropsfunktionen\n"
+" for (let j= 0; j < 4; j++) {\n"
+" this.button = new Gtk.Button();\n"
+" this.buttonLabel = (this.buttons[i * 4 + j].toString());\n"
+" this.button.set_label(this.buttonLabel);\n"
+" this.button.set_can_focus(false);\n"
+" this.button.connect(\"clicked\", this._buttonClicked.bind(this));\n"
+" this.hbox.add(this.button);\n"
+" }\n"
+" }\n"
+" \n"
+" // några variabler för beräkningarna\n"
+" this.firstNumber = 0;\n"
+" this.secondNumber = 0;\n"
+" this.counter = 0;\n"
+" this.operation = \"\";\n"
+"\n"
+" // lägg till rutnätet till fönstret\n"
+" this.window.add(this.grid);\n"
+" this.window.show_all();\n"
+" }\n"
+"\n"
+" // återanropsfunktion för alla knapparna\n"
+" _buttonClicked(button) {\n"
+" this.button = button;\n"
+" // för operationerna\n"
+" if (this.button.get_label() == '+') {\n"
+" this.counter += 1 \n"
+" if (this.counter > 1)\n"
+" this._doOperation();\n"
+" this.entry.set_text('0');\n"
+" this.operation = \"plus\";\n"
+" }\n"
+"\n"
+" else if (this.button.get_label() == '-') {\n"
+" this.counter += 1;\n"
+" if (this.counter > 1)\n"
+" this._doOperation();\n"
+" this.entry.set_text('0');\n"
+" this.operation = \"minus\";\n"
+" }\n"
+"\n"
+" else if (this.button.get_label() == '*') {\n"
+" this.counter += 1; \n"
+" if (this.counter > 1)\n"
+" this._doOperation();\n"
+" this.entry.set_text('0');\n"
+" this.operation = \"multiplication\";\n"
+" }\n"
+"\n"
+" else if (this.button.get_label() == '/') {\n"
+" this.counter += 1 \n"
+" if (this.counter > 1)\n"
+" this._doOperation();\n"
+" this.entry.set_text('0');\n"
+" this.operation = \"division\";\n"
+" }\n"
+"\n"
+" // för =\n"
+" else if (this.button.get_label() == '=') {\n"
+" this._doOperation();\n"
+" this.entry.set_text(this.firstNumber.toString());\n"
+" this.counter = 1;\n"
+" }\n"
+"\n"
+" // för avbryt (C)\n"
+" else if (this.button.get_label() == 'C') {\n"
+" this.firstNumber = 0;\n"
+" this.secondNumber = 0;\n"
+" this.counter = 0;\n"
+" this.entry.set_text('0');\n"
+" this.operation = \"\";\n"
+" }\n"
+"\n"
+" // för en sifferknapp\n"
+" else {\n"
+" this.newDigit = parseInt(this.button.get_label());\n"
+" if (this.entry.get_text() == \"error\")\n"
+" this.number = 0;\n"
+" else\n"
+" this.number = parseInt(this.entry.get_text());\n"
+" this.number = this.number * 10 + this.newDigit; \n"
+" if (this.counter == 0)\n"
+" this.firstNumber = this.number;\n"
+" else\n"
+" this.secondNumber = this.number;\n"
+" this.entry.set_text(this.number.toString());\n"
+" }\n"
+" }\n"
+"\n"
+" _doOperation() {\n"
+" if (this.operation == \"plus\") {\n"
+" this.firstNumber += this.secondNumber;\n"
+" } else if (this.operation == \"minus\") {\n"
+" this.firstNumber -= this.secondNumber;\n"
+" } else if (this.operation == \"multiplication\") {\n"
+" this.firstNumber *= this.secondNumber;\n"
+" } else if (this.operation == \"division\") {\n"
+" if (this.secondNumber != 0) {\n"
+" this.firstNumber /= this.secondNumber;\n"
+" } else {\n"
+" this.firstNumber = 0; \n"
+" this.secondNumber = 0;\n"
+" this.counter = 0; \n"
+" this.entry.set_text(\"error\");\n"
+" this.operation = \"\";\n"
+"\n"
+" return\n"
+" }\n"
+" } else {\n"
+" this.firstNumber = 0;\n"
+" this.secondNumber = 0;\n"
+" this.counter = 0;\n"
+" this.entry.set_text(\"error\");\n"
+" }\n"
+" }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new ButtonBoxExample();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/buttonbox.js.page:38
@@ -5380,6 +5655,152 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Kalkylator\", application=app)\n"
+" self.set_default_size(350, 200)\n"
+" self.set_border_width(10)\n"
+"\n"
+" # ett fält\n"
+" self.entry = Gtk.Entry()\n"
+" # med en initial text\n"
+" self.entry.set_text('0')\n"
+" # text högerjusterad\n"
+" self.entry.set_alignment(1)\n"
+" # texten i fältet kan inte ändras genom att skriva i det\n"
+" self.entry.set_can_focus(False)\n"
+"\n"
+" # ett rutnät\n"
+" grid = Gtk.Grid()\n"
+" grid.set_row_spacing(5)\n"
+"\n"
+" # för att fästa rutnätet\n"
+" grid.attach(self.entry, 0, 0, 1, 1)\n"
+"\n"
+" # etiketterna för knapparna\n"
+" buttons = [7, 8, 9, '/',\n"
+" 4, 5, 6, '*',\n"
+" 1, 2, 3, '-',\n"
+" 'C', 0, '=', '+']\n"
+"\n"
+" # varje rad är en ButtonBox, fäst vid rutnätet\n"
+" for i in range(4):\n"
+" hbox = Gtk.ButtonBox.new(Gtk.Orientation.HORIZONTAL)\n"
+" hbox.set_spacing(5)\n"
+" grid.attach(hbox, 0, i + 1, 1, 1)\n"
+" # varje ButtonBox har 4 knappar, anslutna till återanropsfunktionen\n"
+" for j in range(4):\n"
+" button = Gtk.Button(label=buttons[i * 4 + j])\n"
+" button.set_can_focus(False)\n"
+" button.connect(\"clicked\", self.button_clicked)\n"
+" hbox.add(button)\n"
+"\n"
+" # några variabler för beräkningarna\n"
+" self.first_number = 0\n"
+" self.second_number = 0\n"
+" self.counter = 0\n"
+" self.operation = \"\"\n"
+"\n"
+" # lägg till rutnätet till fönstret\n"
+" self.add(grid)\n"
+"\n"
+" # återanropsfunktion för alla knapparna\n"
+" def button_clicked(self, button):\n"
+" # för operationerna\n"
+" if button.get_label() == '+':\n"
+" self.counter += 1\n"
+" if self.counter > 1:\n"
+" self.do_operation()\n"
+" self.entry.set_text('0')\n"
+" self.operation = \"plus\"\n"
+" elif button.get_label() == '-':\n"
+" self.counter += 1\n"
+" if self.counter > 1:\n"
+" self.do_operation()\n"
+" self.entry.set_text('0')\n"
+" self.operation = \"minus\"\n"
+" elif button.get_label() == '*':\n"
+" self.counter += 1\n"
+" if self.counter > 1:\n"
+" self.do_operation()\n"
+" self.entry.set_text('0')\n"
+" self.operation = \"multiplication\"\n"
+" elif button.get_label() == '/':\n"
+" self.counter += 1\n"
+" if self.counter > 1:\n"
+" self.do_operation()\n"
+" self.entry.set_text('0')\n"
+" self.operation = \"division\"\n"
+" # för =\n"
+" elif button.get_label() == '=':\n"
+" self.do_operation()\n"
+" self.entry.set_text(str(self.first_number))\n"
+" self.counter = 1\n"
+" # för avbryt (C)\n"
+" elif button.get_label() == 'C':\n"
+" self.first_number = 0\n"
+" self.second_number = 0\n"
+" self.counter = 0\n"
+" self.entry.set_text('')\n"
+" self.operation = \"\"\n"
+" # för en sifferknapp\n"
+" else:\n"
+" new_digit = int(button.get_label())\n"
+" if self.entry.get_text() == 'error':\n"
+" number = 0\n"
+" else:\n"
+" number = int(self.entry.get_text())\n"
+" number = number * 10 + new_digit\n"
+" if self.counter == 0:\n"
+" self.first_number = number\n"
+" else:\n"
+" self.second_number = number\n"
+" self.entry.set_text(str(number))\n"
+"\n"
+" def do_operation(self):\n"
+" if self.operation == \"plus\":\n"
+" self.first_number += self.second_number\n"
+" elif self.operation == \"minus\":\n"
+" self.first_number -= self.second_number\n"
+" elif self.operation == \"multiplication\":\n"
+" self.first_number *= self.second_number\n"
+" elif self.operation == \"division\":\n"
+" try:\n"
+" self.first_number /= self.second_number\n"
+" except ZeroDivisionError:\n"
+" self.first_number = 0\n"
+" self.second_number = 0\n"
+" self.counter = 0\n"
+" self.entry.set_text('error')\n"
+" self.operation = \"\"\n"
+" return\n"
+" else:\n"
+" self.first_number = 0\n"
+" self.second_number = 0\n"
+" self.counter = 0\n"
+" self.entry.set_text('error')\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/buttonbox.py.page:36
@@ -5395,6 +5816,11 @@ msgid ""
"towards the start of the box), <code>Gtk.ButtonBoxStyle.END</code> (buttons are grouped towards the end of
the "
"box), <code>Gtk.ButtonBoxStyle.CENTER</code> (buttons are centered in the box)."
msgstr ""
+"Layouten för ButtonBoxen ställs in med <code>set_layout(layout)</code>, där <code>layout</code> kan vara
<code>Gtk."
+"ButtonBoxStyle.SPREAD</code> (knappar fördelas jämnt över rutan), <code>Gtk.ButtonBoxStyle.EDGE</code>
(knappar "
+"placeras i rutans kanter), <code>Gtk.ButtonBoxStyle.START</code> (knappar grupperas mot starten på rutan), "
+"<code>Gtk.ButtonBoxStyle.END</code> (knappar grupperas mot slutet på rutan),
<code>Gtk.ButtonBoxStyle.CENTER</"
+"code> (knappar centreras i rutan)."
#. (itstool) path: item/p
#: C/buttonbox.py.page:39
@@ -5413,11 +5839,13 @@ msgid ""
"<code>set_child_non_homogeneous(button, is_non_homogeneous)</code> sets whether the child is exempted from "
"homogeneous sizing. Default value is <code>False</code>."
msgstr ""
+"<code>set_child_non_homogeneous(button, is_non_homogeneous)</code> ställer in huruvida barnet undantas från
"
+"homogen omformning. Standardvärdet är <code>False</code>."
#. (itstool) path: item/p
#: C/buttonbox.py.page:41
msgid "<code>set_spacing(spacing)</code> sets the spacing, in pixels, between the buttons of the box."
-msgstr ""
+msgstr "<code>set_spacing(utrymme)</code> ställer in utrymmet, i bildpunkter, mellan rutans knappar."
#. (itstool) path: item/p
#: C/buttonbox.py.page:49
@@ -5490,6 +5918,9 @@ msgid ""
"your GNOME application. GNOME also recommends a specific coding style and conventions which this section
will "
"elaborate further upon."
msgstr ""
+"Förutom förutsättningarna som nämnts ovan har flera verktyg utvecklats för att hjälpa dig vidare i att
utveckla "
+"ditt GNOME-program. GNOME rekommenderar även en specifik kodstil och konventioner som detta avsnitt kommer
gå in "
+"närmare på."
#. (itstool) path: section/title
#: C/c.page:52
@@ -5508,6 +5939,9 @@ msgid ""
"example <link href=\"https://wiki.gnome.org/Apps/Builder\">Builder</link> or <link
href=\"https://wiki.gnome.org/"
"Apps/Anjuta\">Anjuta</link>."
msgstr ""
+"Ett GNOME-IDE (Integrated Development Environment, Integrerad utvecklingsmiljö). Ett IDE kan hjälpa dig med
att "
+"skriva och felsöka C-kod, till exempel <link href=\"https://wiki.gnome.org/Apps/Builder\">Builder</link>
eller "
+"<link href=\"https://wiki.gnome.org/Apps/Anjuta\">Anjuta</link>."
#. (itstool) path: item/p
#: C/c.page:66
@@ -5538,11 +5972,14 @@ msgid ""
"Indent_style#GNU_style\">GNU style</link> of indentation. The tutorials and code examples presented are
following "
"this convention and you are recommended to do so too."
msgstr ""
+"De flesta program i GNOME-projektet är skrivna i <link
href=\"http://en.wikipedia.org/wiki/Indent_style#GNU_style"
+"\">GNU-stilen</link> för indentering. Handledningarna och kodexemplen som presenteras följer denna
konvention och "
+"du rekommenderas att också göra det."
#. (itstool) path: section/title
#: C/c.page:89
msgid "Executing Code"
-msgstr ""
+msgstr "Köra kod"
#. (itstool) path: item/p
#: C/c.page:95
@@ -5561,11 +5998,13 @@ msgid ""
"For more information about compiling GTK+ programs see <link
href=\"http://developer.gnome.org/gtk3/3.4/gtk-"
"compiling.html\">Compiling GTK+ Applications on UNIX</link>."
msgstr ""
+"För mer information om att kompilera GTK+-program, se <link href=\"http://developer.gnome.org/gtk3/3.4/gtk-"
+"compiling.html\">Kompilera GTK+-program i UNIX</link>."
#. (itstool) path: section/title
#: C/c.page:117
msgid "Widget Code Examples"
-msgstr ""
+msgstr "Kodexempel för gränssnittskomponenter"
#. (itstool) path: info/title
#: C/checkbutton.c.page:8
@@ -5576,7 +6015,7 @@ msgstr "CheckButton (C)"
#. (itstool) path: info/desc
#: C/checkbutton.c.page:18
msgid "Create widgets with a discrete ToggleButton"
-msgstr ""
+msgstr "Skapa komponenter med en diskret ToggleButton"
#. (itstool) path: page/title
#: C/checkbutton.c.page:21 C/checkbutton.js.page:21 C/checkbutton.py.page:22 C/checkbutton.vala.page:21
@@ -5596,7 +6035,7 @@ msgstr "external ref='media/checkbutton.png' md5='7921a6812c87dd2b3781f4fad241e8
#. (itstool) path: page/p
#: C/checkbutton.c.page:23 C/checkbutton.py.page:24 C/checkbutton.vala.page:23
msgid "This CheckButton toggles the title."
-msgstr ""
+msgstr "Denna CheckButton visar/döljer titeln."
#. (itstool) path: page/code
#: C/checkbutton.c.page:25
@@ -5649,6 +6088,52 @@ msgid ""
" return status;\n"
"}\n"
msgstr ""
+"#include <gtk/gtk.h>\n"
+"\n"
+"/* signalhanterare för ”toggled”-signalen för vår CheckButton */\n"
+"static void\n"
+"toggled_cb (GtkToggleButton *toggle_button,\n"
+" gpointer user_data)\n"
+"{\n"
+" GtkWindow *window = user_data;\n"
+"\n"
+" if (gtk_toggle_button_get_active (toggle_button))\n"
+" gtk_window_set_title (window, \"CheckButton-exempel\");\n"
+" else\n"
+" gtk_window_set_title (window, \"\");\n"
+"}\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+" gpointer user_data)\n"
+"{\n"
+" GtkWidget *window;\n"
+" GtkWidget *checkbutton;\n"
+"\n"
+" window = gtk_application_window_new (app);\n"
+" gtk_window_set_title (GTK_WINDOW (window), \"CheckButton-exempel\");\n"
+" gtk_window_set_default_size (GTK_WINDOW (window), 300, 100);\n"
+"\n"
+" checkbutton = gtk_check_button_new_with_label (\"Visa titel\");\n"
+" gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (checkbutton), TRUE);\n"
+" g_signal_connect (GTK_TOGGLE_BUTTON (checkbutton), \"toggled\", G_CALLBACK (toggled_cb), window);\n"
+" gtk_container_add (GTK_CONTAINER (window), checkbutton);\n"
+" gtk_widget_show_all (window);\n"
+"}\n"
+"\n"
+"int\n"
+"main (int argc, char **argv)\n"
+"{\n"
+" GtkApplication *app;\n"
+" int status;\n"
+"\n"
+" app = gtk_application_new (\"org.example.checkbutton\", 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/checkbutton.c.page:30
@@ -5664,7 +6149,7 @@ msgstr "CheckButton (Javascript)"
#. (itstool) path: info/desc
#: C/checkbutton.js.page:18
msgid "A box which can be checked or unchecked"
-msgstr ""
+msgstr "En ruta som kan vara ikryssad eller inte"
#. (itstool) path: page/p
#: C/checkbutton.js.page:23
@@ -5672,6 +6157,7 @@ msgid ""
"This application has a CheckButton. Whether the box is checked dictates whether the window's title bar
shows "
"anything."
msgstr ""
+"Detta program har en CheckButton. huruvida rutan är ikryssad bestämmer huruvida fönstrets namnlist visar
något."
#. (itstool) path: page/p
#: C/checkbutton.js.page:24
@@ -5679,6 +6165,8 @@ msgid ""
"A CheckButton sends the \"toggled\" signal when it's checked or unchecked. While it's checked, the
\"active\" "
"property is true. While it's not, \"active\" tests as false."
msgstr ""
+"En CheckButton skickar signalen ”toggled” när den kryssas i eller kryssas ur. Då den är ikryssad är
egenskapen "
+"”active” true (sant). Då den inte är det så har ”active” värdet false (falskt)."
#. (itstool) path: section/title
#: C/checkbutton.js.page:28 C/comboboxtext.js.page:30 C/combobox.js.page:33 C/guitar-tuner.js.page:55
@@ -5754,6 +6242,29 @@ msgid ""
" this._buildUI ();\n"
" }\n"
msgstr ""
+"\n"
+"class CheckButtonExample {\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jscheckbutton',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 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/checkbutton.js.page:66
@@ -5782,7 +6293,20 @@ msgid ""
" border_width: 10,\n"
" title: \"CheckButton Example\"});\n"
msgstr ""
+"\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: 100,\n"
+" default_width: 300,\n"
+" border_width: 10,\n"
+" title: \"CheckButton-exempel\"});\n"
+# TODO: wrong link. Should be "GtkApplicationWindow.js" without ".page".
#. (itstool) path: section/p
#: C/checkbutton.js.page:80
msgid ""
@@ -5790,11 +6314,14 @@ msgid ""
"creating a new <link href=\"GtkApplicationWindow.js.page\">Gtk.ApplicationWindow</link> to put all our
widgets "
"into."
msgstr ""
+"_buildUI-funktionen är var vi stoppar all kod för att skapa programmets användargränssnitt. Det första
steget är "
+"att skapa ett nytt <link href=\"GtkApplicationWindow.js.page\">Gtk.ApplicationWindow</link> att stoppa alla
våra "
+"komponenter i."
#. (itstool) path: section/title
#: C/checkbutton.js.page:84
msgid "Creating the checkbutton"
-msgstr ""
+msgstr "Skapa kryssrutan"
#. (itstool) path: section/code
#: C/checkbutton.js.page:85
@@ -5811,6 +6338,16 @@ msgid ""
" // Connect the button to a function that does something when it's toggled\n"
" this._button.connect (\"toggled\", this._toggledCB.bind(this));\n"
msgstr ""
+"\n"
+" // Skapa kryssrutan\n"
+" this._button = new Gtk.CheckButton ({label: \"Visa titel\"});\n"
+" this._window.add (this._button);\n"
+"\n"
+" // Låt kryssrutan vara ikryssad som standard\n"
+" this._button.set_active (true);\n"
+"\n"
+" // Anslut knappen till en funktion som gör något då den växlar tillstånd\n"
+" this._button.connect (\"toggled\", this._toggledCB.bind(this));\n"
#. (itstool) path: section/p
#: C/checkbutton.js.page:96
@@ -5820,6 +6357,10 @@ msgid ""
"is on or off, and the window title will be on to start with, we want the box to be checked by default.
Whenever "
"the user checks or unchecks the box, we call the _toggledCB function."
msgstr ""
+"Denna kod skapar själva kryssrutan. Etiketten intill kryssrutan skapas genom att ge kryssrutan egenskapen
”label” "
+"och tilldela den ett strängvärde. Då denna kryssruta växlar huruvida fönstertiteln är på eller av, och "
+"fönstertiteln kommer vara på till en början, så vill vi att rutan ska vara ikryssad som standard. Närhelst "
+"användaren kryssar i eller kryssar ur rutan anropar vi funktionen _toggledCB."
#. (itstool) path: section/code
#: C/checkbutton.js.page:97
@@ -5841,11 +6382,13 @@ msgid ""
"This code finishes up creating the UI, by telling the window to show itself and all child widgets (which is
just "
"the checkbutton in this case)."
msgstr ""
+"Denna kod slutför skapandet av användargränssnittet, genom att säga till fönstret att visa sig själv och
alla "
+"barnkomponenter (vilket bara är kryssrutan i det här fallet)."
#. (itstool) path: section/title
#: C/checkbutton.js.page:106
msgid "Function which handles the checkbutton's toggling"
-msgstr ""
+msgstr "Funktion som hanterar kryssrutans växlande av tillstånd"
#. (itstool) path: section/code
#: C/checkbutton.js.page:107
@@ -5864,6 +6407,18 @@ msgid ""
"\n"
"};\n"
msgstr ""
+"\n"
+" _toggledCB() {\n"
+"\n"
+" // Få fönstertiteln att visas eller försvinna då kryssrutan växlar tillstånd\n"
+" if (this._button.get_active() == true)\n"
+" this._window.set_title (\"CheckButton-exempel\");\n"
+" else\n"
+" this._window.set_title (\"\");\n"
+"\n"
+" }\n"
+"\n"
+"};\n"
#. (itstool) path: section/p
#: C/checkbutton.js.page:120
@@ -5873,6 +6428,10 @@ msgid ""
"or not afterwards. A simple if / else statement which calls the checkbutton's get_active() method will work
for "
"this."
msgstr ""
+"Om kryssrutan växlas från på till av vill vi att fönstertiteln ska försvinna. Om den växlas från av till på
vill "
+"vi att den ska dyka upp igen. Vi kan se vilken väg den växlades genom att testa för att se om den är aktiv "
+"(ikryssad) eller inte efteråt. En enkel if / else-sats som anropar kryssrutans get_active()-metod kommer
fungera "
+"för detta."
#. (itstool) path: section/code
#: C/checkbutton.js.page:121
@@ -5970,13 +6529,85 @@ msgid ""
"let app = new CheckButtonExample ();\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 Gtk = imports.gi.Gtk;\n"
+"\n"
+"class CheckButtonExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jscheckbutton',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 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 programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" default_height: 100,\n"
+" default_width: 300,\n"
+" border_width: 10,\n"
+" title: \"CheckButton-exempel\"});\n"
+"\n"
+" // Skapa kryssrutan\n"
+" this._button = new Gtk.CheckButton ({label: \"Visa titel\"});\n"
+" this._window.add (this._button);\n"
+"\n"
+" // Låt kryssrutan vara ikryssad som standard\n"
+" this._button.set_active (true);\n"
+"\n"
+" // Anslut kryssrutan till en funktion som gör något då den växlar tillstånd\n"
+" this._button.connect (\"toggled\", this._toggledCB.bind(this));\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" }\n"
+"\n"
+" _toggledCB() {\n"
+"\n"
+" // Få fönstertieln att visas eller försvinna då kryssrutan växlar tillstånd\n"
+" if (this._button.get_active() == true)\n"
+" this._window.set_title (\"CheckButton-exempel\");\n"
+" else\n"
+" this._window.set_title (\"\");\n"
+"\n"
+" }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new CheckButtonExample ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: section/title
#: C/checkbutton.js.page:135 C/comboboxtext.js.page:176 C/combobox.js.page:233 C/messagedialog.js.page:189
#: C/radiobutton.js.page:274 C/scale.js.page:208 C/spinbutton.js.page:199 C/statusbar.js.page:221
#: C/switch.js.page:264 C/textview.js.page:248 C/togglebutton.js.page:153
C/treeview_simple_liststore.js.page:272
msgid "In-depth documentation"
-msgstr ""
+msgstr "Djupgående dokumentation"
#. (itstool) path: item/p
#: C/checkbutton.js.page:139
@@ -5992,7 +6623,7 @@ msgstr "CheckButton (Python)"
#. (itstool) path: info/desc
#: C/checkbutton.py.page:19
msgid "A toggle button in a window"
-msgstr ""
+msgstr "En växlingsknapp i ett fönster"
#. (itstool) path: section/code
#: C/checkbutton.py.page:31
@@ -6050,6 +6681,57 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+" # a window\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"CheckButton-exempel\", application=app)\n"
+" self.set_default_size(300, 100)\n"
+" self.set_border_width(10)\n"
+"\n"
+" # en ny kryssruta\n"
+" button = Gtk.CheckButton()\n"
+" # med en etikett\n"
+" button.set_label(\"Visa titel\")\n"
+" # anslut signalen ”toggled” som utges av kryssrutan\n"
+" # med återanropsfunktionen toggled_cb\n"
+" button.connect(\"toggled\", self.toggled_cb)\n"
+" # som standard är kryssrutan aktiv\n"
+" button.set_active(True)\n"
+"\n"
+" # lägg till kryssrutan till fönstret\n"
+" self.add(button)\n"
+"\n"
+" # återanropsfunktion\n"
+" def toggled_cb(self, button):\n"
+" # om växlingsknappen är aktiv, ställ in fönstrets titel\n"
+" # till \"Checkbutton-exempel\"\n"
+" if button.get_active():\n"
+" self.set_title(\"CheckButton-exempel\")\n"
+" # ställ annars in den till \"\" (tom sträng)\n"
+" else:\n"
+" self.set_title(\"\")\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/checkbutton.py.page:36
@@ -6086,7 +6768,7 @@ msgstr "CheckButton (Vala)"
#. (itstool) path: info/desc
#: C/checkbutton.vala.page:18
msgid "Create widgets with a discrete toggle button"
-msgstr ""
+msgstr "Skapa komponenter med en diskret växlingsknapp"
#. (itstool) path: page/code
#: C/checkbutton.vala.page:25
@@ -6145,6 +6827,58 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"/* Ett fönster i programmet */\n"
+"class MyWindow : Gtk.ApplicationWindow {\n"
+"\n"
+"\t/* Konstruktorn */\n"
+"\tinternal MyWindow (MyApplication app) {\n"
+"\t\tObject (application: app, title: \"CheckButton-exempel\");\n"
+"\n"
+"\t\tthis.set_default_size (300, 100);\n"
+"\t\tthis.border_width = 10;\n"
+"\n"
+"\t\tvar checkbutton = new Gtk.CheckButton.with_label (\"Visa titel\");\n"
+"\n"
+"\t\t/* Anslut kryssrutan till\n"
+"\t\t * återanropsfunktionen (även kallad signalhanterare).\n"
+"\t\t */\n"
+"\t\tcheckbutton.toggled.connect (this.toggled_cb);\n"
+"\n"
+"\t\t/* Lägger till knappen till detta fönster */\n"
+"\t\tthis.add (checkbutton);\n"
+"\n"
+"\t\tcheckbutton.set_active (true);\n"
+"\t\tcheckbutton.show ();\n"
+"\t}\n"
+"\n"
+"\t/* Signalhanteraren för kryssrutans ”toggled”-signal. */\n"
+"\tvoid toggled_cb (Gtk.ToggleButton checkbutton) {\n"
+"\t\tif (checkbutton.get_active())\n"
+"\t\t\tthis.set_title (\"CheckButton-exempel\");\n"
+"\t\telse\n"
+"\t\t\tthis.set_title (\"\");\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* Det här är programmet */\n"
+"class MyApplication : Gtk.Application {\n"
+"\n"
+"\t/* Konstruktorn */\n"
+"\tinternal MyApplication () {\n"
+"\t\tObject (application_id: \"org.example.checkbutton\");\n"
+"\t}\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application */\n"
+"\tprotected override void activate () {\n"
+"\t\tnew MyWindow (this).show ();\n"
+"\t}\n"
+"\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet */\n"
+"int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/checkbutton.vala.page:30
@@ -6256,6 +6990,74 @@ msgid ""
"let app = new ColorbuttonExample ();\n"
"app.application.run (ARGV);\n"
msgstr ""
+"#!/usr/bin/gjs\n"
+"\n"
+"imports.gi.versions.Gdk = '3.0';\n"
+"imports.gi.versions.Gtk = '3.0';\n"
+"\n"
+"const Gdk = imports.gi.Gdk;\n"
+"const GObject = imports.gi.GObject;\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"class ColorbuttonExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application ({ application_id: 'org.example.jscolorbutton' });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 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 ({ application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"ColorButton\",\n"
+" default_width: 150,\n"
+" default_height: 50,\n"
+" border_width: 10 });\n"
+"\n"
+" this.button = new Gtk.ColorButton();\n"
+" this.color = new Gdk.RGBA();\n"
+" this.color.red = 0.0;\n"
+" this.color.green = 0.0;\n"
+" this.color.blue = 1.0;\n"
+" this.color.alpha = 0.5;\n"
+" this.button.set_rgba(this.color);\n"
+" this.button.connect(\"color-set\", this.onColorChosen.bind(this));\n"
+" this.label = new Gtk.Label();\n"
+" this.label.set_text(\"Klicka för att välja en färg\");\n"
+"\n"
+" let grid = new Gtk.Grid();\n"
+" grid.attach(this.button, 0, 0, 2, 1);\n"
+" grid.attach(this.label, 0, 1, 2, 1);\n"
+" this.window.add(grid);\n"
+" this.window.show_all();\n"
+" }\n"
+"\n"
+" onColorChosen() {\n"
+" let colorName = this.color.to_string();\n"
+" this.label.set_text(\"Du valde färgen \" + colorName);\n"
+" }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new ColorbuttonExample ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/colorbutton.js.page:36
@@ -6346,6 +7148,8 @@ msgid ""
"<code>set_color(color)</code>, where the <code>color</code> is defined as in the example, sets the color of
the "
"ColorButton, which by default is black. <code>get_color()</code> returns the color."
msgstr ""
+"<code>set_color(color)</code>, där <code>color</code> definieras som i exemplet, ställer in färgen för vår "
+"ColorButton, vilken som standard är svart. <code>get_color()</code> returnerar färgen."
#. (itstool) path: section/p
#: C/colorbutton.py.page:36
@@ -6377,11 +7181,11 @@ msgstr "ColorButton (Vala)"
#. (itstool) path: page/p
#: C/colorbutton.vala.page:25
msgid "RGB values of the selected color are shown in the label."
-msgstr ""
+msgstr "RGB-värden för den valda färgen visas i etiketten."
#. (itstool) path: page/code
#: C/colorbutton.vala.page:27
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"/* This is the application. */\n"
"public class MyApplication : Gtk.Application {\n"
@@ -6423,6 +7227,45 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"/* Det här är programmet. */\n"
+"public class MyApplication : Gtk.Application {\n"
+"\tGtk.Label label;\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application. */\n"
+"\tprotected override void activate () {\n"
+"\t\t/* Skapa fönstret för detta program och visa det. */\n"
+"\t\tvar window = new Gtk.ApplicationWindow (this);\n"
+"\t\twindow.title = \"ColorButton\";\n"
+"\t\twindow.set_default_size (150, 50);\n"
+"\t\twindow.set_border_width (10);\n"
+"\n"
+"\t\t/* Skapa en ny ColorButton med standardvärde blue. */\n"
+"\t\tvar blue = Gdk.RGBA ();\n"
+"\t\tblue.parse (\"blue\");\n"
+"\t\tvar colorbutton = new Gtk.ColorButton.with_rgba (blue);\n"
+"\n"
+"\t\tlabel = new Gtk.Label (\"Klicka för att välja en färg\");\n"
+"\n"
+"\t\tvar grid = new Gtk.Grid ();\n"
+"\t\tgrid.attach (colorbutton, 0, 0, 1, 1);\n"
+"\t\tgrid.attach_next_to (label, colorbutton, Gtk.PositionType.BOTTOM, 1, 1);\n"
+"\n"
+"\t\tcolorbutton.color_set.connect (this.on_color_set);\n"
+"\n"
+"\t\twindow.add (grid);\n"
+"\t\twindow.show_all ();\n"
+"\t}\n"
+"\n"
+"\tvoid on_color_set (Gtk.ColorButton button) {\n"
+"\t\tvar color = button.get_rgba ();\n"
+"\t\tlabel.set_text (\"RGBA: \" + color.to_string());\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet. */\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/colorbutton.vala.page:32
@@ -6462,12 +7305,17 @@ msgstr "external ref='media/combobox.png' md5='ab9e91bc1a58fe866cb00dd52159251d'
#. (itstool) path: page/p
#: C/comboboxtext.js.page:25
+#, fuzzy
msgid ""
"A ComboBox is a drop-down menu. The difference between a <link xref=\"combobox.js\">ComboBox</link> and a "
"ComboBoxText is that a ComboBoxText just has basic text options, while a full ComboBox uses a ListStore or "
"TreeStore (which are basically spreadsheets) to show things like branching options, or pictures to go
alongside "
"each choice."
msgstr ""
+"En ComboBox är en rullgardinsmeny. Skillnaden mellan en <link xref=\"combobox.js\">ComboBox</link> och en "
+"ComboBoxText är att en ComboBoxText bara har grundläggande textalternativ, medan en fullständig ComboBox
använder "
+"en ListStore eller TreeStore (vilka i princip är kalkylblad) för att visa saker som förgreningsalternativ,
eller "
+"bilder för varje val."
#. (itstool) path: note/p
#: C/comboboxtext.js.page:26
@@ -6475,6 +7323,8 @@ msgid ""
"Unless you need the added features of a full ComboBox, or are comfortable working with ListStores and
TreeStores, "
"you may find it a lot simpler to use a ComboBoxText whenever possible."
msgstr ""
+"Om du inte behöver de extra funktionerna hos en fullständig ComboBox, eller inte är bekväm med att jobba
med "
+"ListStore och TreeStore, så kan du finna det mycket enklare att använda en ComboBoxText närhelst möjligt."
#. (itstool) path: section/code
#: C/comboboxtext.js.page:31 C/textview.js.page:39
@@ -6520,6 +7370,29 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const ComboBoxTextExample = new Lang.Class ({\n"
+" Name: 'ComboBoxText-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function () {\n"
+" this.application = new Gtk.Application ({\n"
+" application_id: 'org.example.jscomboboxtext'});\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal visar fönster när den aktiveras\n"
+" _onActivate: function () {\n"
+" this._window.present ();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function () {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/comboboxtext.js.page:66 C/messagedialog.js.page:70
@@ -6548,6 +7421,17 @@ msgid ""
" default_width: 200,\n"
" border_width: 10 });\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function () {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow ({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"Välkommen till GNOME\",\n"
+" default_width: 200,\n"
+" border_width: 10 });\n"
#. (itstool) path: section/p
#: C/comboboxtext.js.page:79 C/combobox.js.page:83 C/messagedialog.js.page:84 C/radiobutton.js.page:79
@@ -6557,11 +7441,14 @@ msgid ""
"The _buildUI function is where we put all the code to create the application's user interface. The first
step is "
"creating a new <link xref=\"GtkApplicationWindow.js\">Gtk.ApplicationWindow</link> to put all our widgets
into."
msgstr ""
+"_buildUI-funktionen är var vi stoppar all kod för att skapa programmets användargränssnitt. Det första
steget är "
+"att skapa ett nytt <link xref=\"GtkApplicationWindow.js\">Gtk.ApplicationWindow</link> att stoppa alla våra
"
+"komponenter i."
#. (itstool) path: section/title
#: C/comboboxtext.js.page:83
msgid "Creating the ComboBoxText"
-msgstr ""
+msgstr "Skapa vår ComboBoxText"
#. (itstool) path: section/code
#: C/comboboxtext.js.page:84
@@ -6580,6 +7467,18 @@ msgid ""
" // Connect the combobox's 'changed' signal to our callback function\n"
" this._comboBoxText.connect ('changed', Lang.bind (this, this._onComboChanged));\n"
msgstr ""
+"\n"
+" // Skapa kombinationsrutan\n"
+" this._comboBoxText = new Gtk.ComboBoxText();\n"
+"\n"
+" // Fyll kombinationsrutan\n"
+" let distros = [\"Välj distribution\", \"Fedora\", \"Mint\", \"Suse\"];\n"
+" for (let i = 0; i < distros.length; i++)\n"
+" this._comboBoxText.append_text (distros[i]);\n"
+" this._comboBoxText.set_active (0);\n"
+"\n"
+" // Anslut kombinationsrutans ”changed”-signal till vår återanropsfunktion\n"
+" this._comboBoxText.connect ('changed', Lang.bind (this, this._onComboChanged));\n"
#. (itstool) path: section/p
#: C/comboboxtext.js.page:97
@@ -6617,6 +7516,13 @@ msgid ""
" this._window.show_all();\n"
" },\n"
msgstr ""
+"\n"
+" // Lägg till kombinationsrutan till fönstret\n"
+" this._window.add (this._comboBoxText);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" },\n"
#. (itstool) path: section/p
#: C/comboboxtext.js.page:109
@@ -6626,7 +7532,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/comboboxtext.js.page:113 C/combobox.js.page:170 C/radiobutton.js.page:181
msgid "Function which handles your selection"
-msgstr ""
+msgstr "Funktion som hanterar ditt val"
#. (itstool) path: section/code
#: C/comboboxtext.js.page:114
@@ -6641,6 +7547,14 @@ msgid ""
" \"Mint is a popular distro based on Ubuntu.\",\n"
" \"SUSE is a name shared by two separate distros.\"];\n"
msgstr ""
+"\n"
+" _onComboChanged: function () {\n"
+"\n"
+" // Svaren som vi kommer använda för vår meddelandedialog\n"
+" let responses = [\"\",\n"
+" \"Fedora är en gemenskapsdistribution sponsrad av Red Hat.\",\n"
+" \"Mint är en populär distribution baserad på Ubuntu.\",\n"
+" \"SUSE är ett namn som delas av två olika distributioner.\"];\n"
#. (itstool) path: section/p
#: C/comboboxtext.js.page:123
@@ -6712,6 +7626,14 @@ msgid ""
"\n"
"});\n"
msgstr ""
+"\n"
+" _onDialogResponse: function () {\n"
+"\n"
+" this._popUp.destroy ();\n"
+"\n"
+" }\n"
+"\n"
+"});\n"
#. (itstool) path: section/p
#: C/comboboxtext.js.page:160 C/combobox.js.page:217
@@ -7060,6 +7982,28 @@ msgid ""
" this._buildUI ();\n"
" }\n"
msgstr ""
+"\n"
+"class ComboBoxExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application ({\n"
+" application_id: 'org.example.jscombobox'});\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 bygger användargränssnittet\n"
+" _onStartup() {\n"
+" this._buildUI ();\n"
+" }\n"
#. (itstool) path: section/p
#: C/combobox.js.page:70
@@ -7087,11 +8031,22 @@ msgid ""
" default_width: 200,\n"
" border_width: 10 });\n"
msgstr ""
+"\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"
+" title: \"Välkommen till GNOME\",\n"
+" default_width: 200,\n"
+" border_width: 10 });\n"
#. (itstool) path: section/title
#: C/combobox.js.page:87 C/treeview_simple_liststore.js.page:94
msgid "Creating the ListStore"
-msgstr ""
+msgstr "Skapa vår ListStore"
#. (itstool) path: section/code
#: C/combobox.js.page:88
@@ -7112,6 +8067,9 @@ msgid ""
"We're giving it two columns, both strings, because one of them will contain the names of <link
href=\"https://"
"developer.gnome.org/gtk3/3.4/gtk3-Stock-Items.html\">stock Gtk icons</link>."
msgstr ""
+"Denna ListStore fungerar som den som användes i <link
xref=\"treeview_simple_liststore.js\">TreeView</link>-"
+"exemplet. Vi ger den två kolumner, båda strängar, eftersom en av dem kommer innehålla namnen på <link href="
+"\"https://developer.gnome.org/gtk3/3.4/gtk3-Stock-Items.html\">Gtk-standardikoner</link>."
#. (itstool) path: section/p
#: C/combobox.js.page:96
@@ -7122,18 +8080,19 @@ msgstr ""
#. (itstool) path: item/p
#: C/combobox.js.page:98 C/treeview_simple_liststore.js.page:107
+#, fuzzy
msgid "<file>GObject.TYPE_BOOLEAN</file> -- True or false"
-msgstr ""
+msgstr "<file>GObject.TYPE_BOOLEAN</file> -- True eller false"
#. (itstool) path: item/p
#: C/combobox.js.page:99 C/treeview_simple_liststore.js.page:108
msgid "<file>GObject.TYPE_FLOAT</file> -- A floating point number (one with a decimal point)"
-msgstr ""
+msgstr "<file>GObject.TYPE_FLOAT</file> -- Ett flyttal (ett med decimaltecken)"
#. (itstool) path: item/p
#: C/combobox.js.page:100 C/treeview_simple_liststore.js.page:109
msgid "<file>GObject.TYPE_STRING</file> -- A string of letters and numbers"
-msgstr ""
+msgstr "<file>GObject.TYPE_STRING</file> -- En sträng med bokstäver och siffror"
#. (itstool) path: note/p
#: C/combobox.js.page:102 C/treeview_simple_liststore.js.page:113
@@ -7176,6 +8135,8 @@ msgstr ""
msgid ""
"\"Select\" isn't really an option so much as an invitation to click on our ComboBox, so it doesn't need an
icon."
msgstr ""
+"”Välj” är egentligen inte ett alternativ utan mer en inbjudan att klicka på vår ComboBox, så den behöver
ingen "
+"ikon."
#. (itstool) path: section/title
#: C/combobox.js.page:125
@@ -7191,6 +8152,10 @@ msgid ""
" this._comboBox = new Gtk.ComboBox({\n"
" model: this._listStore});\n"
msgstr ""
+"\n"
+" // Skapa kombinationsrutan\n"
+" this._comboBox = new Gtk.ComboBox({\n"
+" model: this._listStore});\n"
#. (itstool) path: section/p
#: C/combobox.js.page:131
@@ -7254,6 +8219,12 @@ msgid ""
" // Connect the combobox's 'changed' signal to our callback function\n"
" this._comboBox.connect ('changed', this._onComboChanged.bind(this));\n"
msgstr ""
+"\n"
+" // Ställ in den första raden i kombinationsrutan att vara aktiv vid uppstart\n"
+" this._comboBox.set_active (0);\n"
+"\n"
+" // Anslut kombinationsrutans ”changed”-signal till vår återanropsfunktion\n"
+" this._comboBox.connect ('changed', this._onComboChanged.bind(this));\n"
#. (itstool) path: section/p
#: C/combobox.js.page:156
@@ -7276,6 +8247,13 @@ msgid ""
" this._window.show_all();\n"
" }\n"
msgstr ""
+"\n"
+" // Lägg till kombinationsrutan till fönstret\n"
+" this._window.add (this._comboBox);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" },\n"
#. (itstool) path: section/p
#: C/combobox.js.page:166
@@ -7695,6 +8673,8 @@ msgid ""
"<link href=\"https://gitlab.gnome.org/GNOME/pygobject/blob/master/gi/overrides/Gtk.py\">pygobject - Python "
"bindings for GObject Introspection</link>"
msgstr ""
+"<link href=\"https://gitlab.gnome.org/GNOME/pygobject/blob/master/gi/overrides/Gtk.py\">pygobject - Python-"
+"bindningar för GObject Introspection</link>"
#. (itstool) path: info/title
#: C/combobox.vala.page:8 C/combobox_multicolumn.vala.page:8
@@ -7914,7 +8894,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/combobox_multicolumn.py.page:48 C/combobox_multicolumn.vala.page:42 C/toolbar.py.page:58
msgid "<link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html\">Stock Items</link>"
-msgstr ""
+msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Stock-Items.html\">Standardobjekt</link>"
#. (itstool) path: section/code
#: C/combobox_multicolumn.vala.page:30
@@ -8538,7 +9518,7 @@ msgstr "Entry (C)"
#. (itstool) path: info/desc
#: C/entry.c.page:18 C/entry.py.page:25 C/entry.vala.page:18
msgid "A single line text entry field"
-msgstr ""
+msgstr "Ett textinmatningsfält med en rad"
#. (itstool) path: page/title
#: C/entry.c.page:21 C/entry.js.page:21 C/entry.py.page:28 C/entry.vala.page:21
@@ -8625,6 +9605,66 @@ msgid ""
" return status;\n"
"}\n"
msgstr ""
+"\n"
+"#include <gtk/gtk.h>\n"
+"\n"
+"\n"
+"\n"
+"/*Detta är återanropsfunktionen. Det är en hanterarfunktion som \n"
+"reagerar på signalen. I detta fall kommer den fånga textinmatningen \n"
+"från inmatningsrutan och skriva ut en rad till användaren.*/\n"
+"static void\n"
+"on_activate (GtkEntry *entry,\n"
+" gpointer user_data)\n"
+"{\n"
+" const char *name;\n"
+" name = gtk_entry_get_text (entry);\n"
+"\n"
+" g_print (\"\\nHej %s!\\n\\n\", name);\n"
+"}\n"
+"\n"
+"\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+" gpointer user_data)\n"
+"{\n"
+" GtkWidget *window;\n"
+" GtkWidget *entry_box;\n"
+"\n"
+" /*Skapa ett fönster med en titel, en standardstorlek, \n"
+" och en inställd kantbredd*/\n"
+" window = gtk_application_window_new (app);\n"
+" gtk_window_set_title (GTK_WINDOW (window), \"Vad heter du?\");\n"
+" gtk_window_set_default_size (GTK_WINDOW (window), 300, 100);\n"
+" gtk_container_set_border_width (GTK_CONTAINER (window), 10);\n"
+"\n"
+" /*Skapa en ny inmatningsruta, och lägg till den till fönstret*/\n"
+" entry_box = gtk_entry_new ();\n"
+" gtk_container_add (GTK_CONTAINER (window), entry_box);\n"
+"\n"
+" /*Ansluter ”activate”-signal till återanropet*/\n"
+" g_signal_connect (GTK_ENTRY (entry_box), \"activate\", \n"
+" G_CALLBACK (on_activate), NULL);\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: info/title
#: C/entry.js.page:8
@@ -8635,7 +9675,7 @@ msgstr "Entry (Javascript)"
#. (itstool) path: info/desc
#: C/entry.js.page:18
msgid "A single-line text entry field"
-msgstr ""
+msgstr "Ett textinmatningsfält med en rad"
#. (itstool) path: page/p
#: C/entry.js.page:23
@@ -8729,6 +9769,88 @@ msgid ""
"let app = new EntryExample ();\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 EntryExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsentry',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 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: 100,\n"
+" default_width: 300,\n"
+" border_width: 10,\n"
+" title: \"Vad heter du?\"});\n"
+"\n"
+" // Skapa textinmatningsrutan\n"
+" this.entry = new Gtk.Entry ();\n"
+" this._window.add(this.entry);\n"
+"\n"
+" // Anslut textinmatningsrutan till en funktion som svarar på det du skriver in\n"
+" this.entry.connect(\"activate\", this._hello.bind(this));\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" }\n"
+"\n"
+" _hello() {\n"
+"\n"
+" // Skapa en poppuppdialog som hälsar personen som skriver in sitt namn\n"
+" this._greeter = new Gtk.MessageDialog ({\n"
+" transient_for: this._window,\n"
+" modal: true,\n"
+" text: \"Hej \" + this.entry.get_text() + \"!\",\n"
+" message_type: Gtk.MessageType.OTHER,\n"
+" buttons: Gtk.ButtonsType.OK,\n"
+" });\n"
+"\n"
+" // Visa poppuppdialogen\n"
+" this._greeter.show();\n"
+"\n"
+" // Bind OK-knappen till funktionen som stänger poppuppen\n"
+" this._greeter.connect (\"response\", this._okClicked.bind(this));\n"
+" }\n"
+"\n"
+" _okClicked() {\n"
+" this._greeter.destroy();\n"
+" }\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new EntryExample ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/entry.js.page:32
@@ -8806,6 +9928,49 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Vad heter du?\", application=app)\n"
+" self.set_default_size(300, 100)\n"
+" self.set_border_width(10)\n"
+"\n"
+" # en enradsinmatning\n"
+" name_box = Gtk.Entry()\n"
+" # utger en signal när Returknappen trycks ned, ansluten till\n"
+" # återanropsfunktionen cb_activate\n"
+" name_box.connect(\"activate\", self.cb_activate)\n"
+"\n"
+" # lägg till vår Gtk.Entry till fönstret\n"
+" self.add(name_box)\n"
+"\n"
+" # innehållet i inmatningen används för att skriva i terminalen\n"
+" def cb_activate(self, entry):\n"
+" # hämta komponentens innehåll\n"
+" name = entry.get_text()\n"
+" # skriv ut det på ett vänligt sätt i terminalen\n"
+" print(\"Hej \" + name + \"!\")\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/entry.py.page:40
@@ -8842,11 +10007,14 @@ msgid ""
"<code>get_text()</code> and <code>set_text(\"some text\")</code> can be used to get and set the content for
the "
"entry."
msgstr ""
+"<code>get_text()</code> och <code>set_text(\"lite text\")</code> kan användas för att få samt ställa in
innehållet "
+"för inmatningsrutan."
+# Bara självförklarande på engelska.
#. (itstool) path: item/p
#: C/entry.py.page:45
msgid "<code>get_text_length()</code> is self-explanatory."
-msgstr ""
+msgstr "<code>get_text_length()</code> ger textens längd."
#. (itstool) path: item/p
#: C/entry.py.page:46
@@ -8887,6 +10055,8 @@ msgid ""
"<code>set_placeholder_text(\"some text\")</code> sets the text to be displayed in the entry when it is
empty and "
"unfocused."
msgstr ""
+"<code>set_placeholder_text(\"lite text\")</code> ställer in texten som ska visas i inmatningsrutan då den
är tom "
+"och ofokuserad."
#. (itstool) path: item/p
#: C/entry.py.page:52
@@ -8896,7 +10066,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/entry.py.page:53
msgid "If we have <code>set_editable(False)</code> the user cannot edit the text in the widget."
-msgstr ""
+msgstr "Om vi har <code>set_editable(False)</code> så kan användaren inte redigera texten i komponenten."
#. (itstool) path: item/p
#: C/entry.py.page:54
@@ -8998,6 +10168,57 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"/* Ett fönster i programmet. */\n"
+"class MyWindow : Gtk.ApplicationWindow {\n"
+"\n"
+"\t/* Konstruktor */\n"
+"\tinternal MyWindow (MyApplication app) {\n"
+"\t\tObject (application: app, title: \"Vad heter du?\");\n"
+"\n"
+"\t\tvar name_box = new Gtk.Entry ();\n"
+"\n"
+"\t\t/* Anslut till signalhanteraren. */\n"
+"\t\tname_box.activate.connect (this.on_activate);\n"
+"\t\tname_box.show ();\n"
+"\n"
+"\t\tthis.set_default_size (300, 100);\n"
+"\t\tthis.border_width = 10;\n"
+"\n"
+"\t\t/* Lägg till name_box till detta fönster. */\n"
+"\t\tthis.add (name_box);\n"
+"\t}\n"
+"\n"
+"\t/* Signalhanterare (även kallad återanropsfunktion) för\n"
+"\t * ”activate”-signalen för en Gtk.Entry.\n"
+"\t */\n"
+"\tvoid on_activate (Gtk.Entry entry) {\n"
+"\t\tname = entry.get_text ();\n"
+"\t\tprint (\"\\nHej \" + name + \"!\\n\\n\");\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* Det här är programmet. */\n"
+"class MyApplication : Gtk.Application {\n"
+"\n"
+"\t/* Konstruktor för programmet. */\n"
+"\tinternal MyApplication () {\n"
+"\t\tObject (application_id: \"org.example.MyApplication\");\n"
+"\t}\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application. */\n"
+"\tprotected override void activate () {\n"
+"\n"
+"\t\t/* Skapa ett nytt fönster för detta program\n"
+"\t\t * och visa det. */\n"
+"\t\tnew MyWindow (this).show ();\n"
+"\t}\n"
+"\n"
+"}\n"
+"\n"
+"/* main-funktionen skapar och kör programmet. */\n"
+"int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/entry.vala.page:30
@@ -9036,6 +10257,8 @@ msgid ""
"This FileChooserDialog saves a text document, which can be opened or written from scratch in a TextView
(see "
"below)."
msgstr ""
+"Denna FileChooserDialog sparar ett textdokument, vilket kan öppnas eller skrivas från grunden i en TextView
(se "
+"nedan)."
#. (itstool) path: page/media
#. This is a reference to an external file such as an image or video. When
@@ -9050,12 +10273,12 @@ msgstr "external ref='media/filechooserdialog_menu.png' md5='8a75f04127a70eba0ed
#. (itstool) path: page/p
#: C/filechooserdialog.py.page:29
msgid "It is also possible to call a FileChooserDialog to open a new document."
-msgstr ""
+msgstr "Det är också möjligt att anropa en FileChooserDialog för att öppna ett nytt dokument."
#. (itstool) path: section/title
#: C/filechooserdialog.py.page:34
msgid "Steps to recreate the example"
-msgstr ""
+msgstr "Steg för att återskapa exemplet"
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:36
@@ -9063,13 +10286,18 @@ msgid ""
"Create a file .ui to describe an app-menu with items \"New\", \"Open\", \"Save\", \"Save as\", and
\"Quit\". This "
"can be done with Glade or in a text editor. See <link xref=\"#xml\"/>"
msgstr ""
+"Skapa en .ui-fil för att beskriva en programmeny med objekten ”Nytt”, ”Öppna”, ”Spara”, ”Spara som” och
”Avsluta”. "
+"Detta kan göras med Glade eller i en textredigerare. Se <link xref=\"#xml\"/>"
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:37
+#, fuzzy
msgid ""
"Create a Python program for a Gtk.TextView with a Gtk.Buffer <code>self.buffer</code>, and a
<code>self.file</"
"code> which will be a Gio.File and we set initially as <code>None</code>."
msgstr ""
+"Skapa ett Python-program för en Gtk.TextView med en Gtk.Buffer <code>self.buffer</code>, och en
<code>self.file</"
+"code> vilken kommer att vara en Gio.File och som vi initialt sätter som <code>None</code>."
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:38
@@ -9077,6 +10305,8 @@ msgid ""
"In this program, create also the actions corresponding to the items in the app-menu, connect them to
callback "
"functions, and import the menu in the <code>do_startup()</code> method with a Gtk.Builder."
msgstr ""
+"I detta program, skapa också åtgärderna som motsvarar objekten i programmenyn, anslut dem till "
+"återanropsfunktioner, och importera menyn i metoden <code>do_startup()</code> med en Gtk.Builder."
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:39
@@ -9110,16 +10340,16 @@ msgstr ""
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:43
msgid "Finally, the method <code>save_to_file()</code>: see <link xref=\"#code\"/>, lines 146 - 175."
-msgstr ""
+msgstr "Slutligen har vi metoden <code>save_to_file()</code>: se <link xref=\"#code\"/>, raderna 146 - 175."
#. (itstool) path: section/title
#: C/filechooserdialog.py.page:48
msgid "XML file which creates the app-menu"
-msgstr ""
+msgstr "XML-fil som skapar programmenyn"
#. (itstool) path: section/code
#: C/filechooserdialog.py.page:49 C/filechooserdialog.vala.page:30
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"<?xml version=\"1.0\"?>\n"
"<interface>\n"
@@ -9153,6 +10383,37 @@ msgid ""
" </menu>\n"
"</interface>\n"
msgstr ""
+"<?xml version=\"1.0\"?>\n"
+"<interface>\n"
+" <menu id=\"appmenu\">\n"
+" <section>\n"
+" <item>\n"
+" <attribute name=\"label\">Nytt</attribute>\n"
+" <attribute name=\"action\">win.new</attribute>\n"
+" </item>\n"
+" <item>\n"
+" <attribute name=\"label\">Öppna</attribute>\n"
+" <attribute name=\"action\">win.open</attribute>\n"
+" </item>\n"
+" </section>\n"
+" <section>\n"
+" <item>\n"
+" <attribute name=\"label\">Spara</attribute>\n"
+" <attribute name=\"action\">win.save</attribute>\n"
+" </item>\n"
+" <item>\n"
+" <attribute name=\"label\">Spara som…</attribute>\n"
+" <attribute name=\"action\">win.save-as</attribute>\n"
+" </item>\n"
+" </section>\n"
+" <section>\n"
+" <item>\n"
+" <attribute name=\"label\">Avsluta</attribute>\n"
+" <attribute name=\"action\">app.quit</attribute>\n"
+" </item>\n"
+" </section>\n"
+" </menu>\n"
+"</interface>\n"
#. (itstool) path: section/code
#: C/filechooserdialog.py.page:54
@@ -9395,12 +10656,12 @@ msgstr ""
#. (itstool) path: section/p
#: C/filechooserdialog.py.page:60
msgid "Besides the methods used in the <link xref=\"#code\"/>, we have:"
-msgstr ""
+msgstr "Förutom metoderna som används i <link xref=\"#code\"/>, så har vi:"
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:62
msgid "<code>set_show_hidden(True)</code> is used to display hidden files and folders."
-msgstr ""
+msgstr "<code>set_show_hidden(True)</code> används för att visa dolda filer och mappar."
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:63
@@ -9408,6 +10669,8 @@ msgid ""
"<code>set_select_multiple(True)</code> sets that multiple files can be selected. This is only relevant if
the mode "
"is <code>Gtk.FileChooserAction.OPEN</code> or <code>Gtk.FileChooserAction.SELECT_FOLDER</code>."
msgstr ""
+"<code>set_select_multiple(True)</code> ställer in att flera filer kan väljas. Detta är endast relevant om
läget är "
+"<code>Gtk.FileChooserAction.OPEN</code> eller <code>Gtk.FileChooserAction.SELECT_FOLDER</code>."
#. (itstool) path: item/p
#: C/filechooserdialog.py.page:64
@@ -9493,7 +10756,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/filechooserdialog.vala.page:29
msgid "XML UI file which creates the app-menu"
-msgstr ""
+msgstr "XML-användargränssnittsfil som skapar programmenyn"
#. (itstool) path: section/title
#: C/filechooserdialog.vala.page:32
@@ -9823,6 +11086,66 @@ msgid ""
"let app = new FontChooserWidgetExample();\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 FontChooserWidgetExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({ application_id: 'org.example.fontchooserwidget' });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 bygger användargränssnittet\n"
+" _onStartup() {\n"
+" this._buildUI();\n"
+" }\n"
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI() {\n"
+" // Skapa programfönstret\n"
+" this.window = new Gtk.ApplicationWindow ({ application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"FontChooserWidget\",\n"
+" default_width: 200,\n"
+" default_height: 200,\n"
+" border_width: 10 });\n"
+"\n"
+" this.fontChooser = new Gtk.FontChooserWidget();\n"
+" // ett standardtypsnitt\n"
+" this.fontChooser.set_font(\"Sans\");\n"
+" // en text för att förhandsvisa typsnittet\n"
+" this.fontChooser.set_preview_text(\"Detta är ett exempel på förhandsvisningstext!\");\n"
+"\n"
+" // anslut signal från typsnittsväljaren till återanropsfunktionen\n"
+" this.fontChooser.connect(\"notify::font\", this._fontCb.bind(this));\n"
+"\n"
+" // lägg till typsnittsväljaren till fönstret\n"
+" this.window.add(this.fontChooser);\n"
+" this.window.show_all();\n"
+" }\n"
+"\n"
+" // återanropsfunktion:\n"
+" _fontCb() {\n"
+" // skriv i terminalen\n"
+" print(\"Du valde typsnittet \" + this.fontChooser.get_font());\n"
+" }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new FontChooserWidgetExample();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/fontchooserwidget.js.page:37 C/fontchooserwidget.py.page:47
@@ -9885,6 +11208,50 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"FontChooserWidget\", application=app)\n"
+"\n"
+" # en typsnittsväljare\n"
+" self.font_chooser = Gtk.FontChooserWidget()\n"
+" # ett standardtypsnitt\n"
+" self.font_chooser.set_font(\"Sans\")\n"
+" # en text för att förhandsvisa typsnittet\n"
+" self.font_chooser.set_preview_text(\n"
+" \"Detta är ett exempel på förhandsvisningstext!\")\n"
+"\n"
+" # anslut signal från typsnittsväljaren till återanropsfunktionen\n"
+" self.font_chooser.connect(\"notify::font\", self.font_cb)\n"
+"\n"
+" # lägg till typsnittsväljaren till fönstret\n"
+" self.add(self.font_chooser)\n"
+"\n"
+" # återanropsfunktion:\n"
+" def font_cb(self, event, user_data):\n"
+" # skriv i terminalen\n"
+" print(\"Du valde typsnittet \" + self.font_chooser.get_font())\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/fontchooserwidget.py.page:35
@@ -9908,16 +11275,18 @@ msgid ""
"To set the font which is initially selected, use <code>set_font(font)</code> (where <code>font</code> is
the font "
"name) or <code>set_font_desc(font)</code> (where <code>font</code> is the PangoFontDescription)."
msgstr ""
+"För att ställa in typsnittet som initialt är valt, använd <code>set_font(font)</code> (där
<code>font</code> är "
+"typsnittsnamnet) eller <code>set_font_desc(font)</code> (där <code>font</code> är dess
PangoFontDescription)."
#. (itstool) path: item/p
#: C/fontchooserwidget.py.page:39
msgid "To get the selected font use <code>get_font()</code> or <code>get_font_desc()</code>."
-msgstr ""
+msgstr "För att få det valda typsnittet, använd <code>get_font()</code> eller <code>get_font_desc()</code>."
#. (itstool) path: item/p
#: C/fontchooserwidget.py.page:40
msgid "To change the text which is shown in the preview area, use <code>set_preview_text()</code>."
-msgstr ""
+msgstr "För att ändra texten som visas i förhandsvisningsområdet, använd <code>set_preview_text()</code>."
#. (itstool) path: info/title
#: C/fontchooserwidget.vala.page:8
@@ -10084,6 +11453,74 @@ msgid ""
" return status;\n"
"}\n"
msgstr ""
+"\n"
+"#include <gtk/gtk.h>\n"
+"\n"
+"static void\n"
+"new_window (GSimpleAction *action,\n"
+" GVariant *parameter,\n"
+" gpointer user_data)\n"
+"{\n"
+" g_print (\"Detta gör ingenting. Det är bara en demonstration.\\n\");\n"
+"}\n"
+"\n"
+"static void\n"
+"quit (GSimpleAction *action,\n"
+" GVariant *parameter,\n"
+" gpointer user_data)\n"
+"{\n"
+" GApplication *application = user_data;\n"
+"\n"
+" g_application_quit (application);\n"
+"}\n"
+"\n"
+"static void\n"
+"startup (GtkApplication *application,\n"
+" gpointer user_data)\n"
+"{\n"
+" static const GActionEntry actions[] = {\n"
+" { \"new\", new_window },\n"
+" { \"quit\", quit }\n"
+" };\n"
+"\n"
+" GMenu *menu;\n"
+"\n"
+" g_action_map_add_action_entries (G_ACTION_MAP (application), actions, G_N_ELEMENTS (actions),
application);\n"
+"\n"
+" menu = g_menu_new ();\n"
+" g_menu_append (menu, \"Nytt\", \"app.new\");\n"
+" g_menu_append (menu, \"Avsluta\", \"app.quit\");\n"
+" gtk_application_set_app_menu (application, G_MENU_MODEL (menu));\n"
+" g_object_unref (menu);\n"
+"}\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+" gpointer user_data)\n"
+"{\n"
+" GtkWidget *window;\n"
+"\n"
+" window = gtk_application_window_new (app);\n"
+"\n"
+" gtk_window_set_application (GTK_WINDOW (window), GTK_APPLICATION (app));\n"
+" gtk_window_set_title (GTK_WINDOW (window), \"Hej GNOME\");\n"
+"\n"
+" gtk_widget_show_all (GTK_WIDGET (window));\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, \"startup\", G_CALLBACK (startup), NULL);\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"
+" return status;\n"
+"}\n"
#. (itstool) path: info/title
#: C/gmenu.js.page:8
@@ -10288,7 +11725,6 @@ msgstr "Användbara metoder för en GSimpleAction och en GMenu"
#. (itstool) path: section/p
#: C/gmenu.py.page:44
-#, fuzzy
msgid ""
"In line 33 the signal <code>\"activate\"</code> from the action <code>new_action</code> (not the menu!) is "
"connected to the callback function <code>new_cb()</code> using
<code><var>action</var>.connect(<var>signal</var>, "
@@ -10666,7 +12102,7 @@ msgstr "En knappkomponent ansluten till en förloppsindikator, inuti ett rutnät
#. (itstool) path: page/code
#: C/grid.js.page:29
-#, fuzzy, no-wrap
+#, no-wrap
msgid ""
"#!/usr/bin/gjs\n"
"\n"
@@ -10771,7 +12207,7 @@ msgstr ""
" this._buildUI();\n"
" }\n"
"\n"
-" // Build the application's UI\n"
+" // Bygg programmets användargränssnitt\n"
" _buildUI() {\n"
"\n"
" // Skapa programfönstret\n"
@@ -10784,19 +12220,19 @@ msgstr ""
"\n"
" // Skapa komponenterna i rutnätet\n"
" this.progressBar = new Gtk.ProgressBar ();\n"
-" this.Button = new Gtk.Button ({ label: \"Button\" });\n"
+" this.Button = new Gtk.Button ({ label: \"Knapp\" });\n"
" this.Button.connect (\"clicked\", this._clickHandler.bind(this));\n"
"\n"
-" // Assemble the grid\n"
+" // Sätt ihop rutnätet\n"
" this._window.add (this.Grid);\n"
" this.Grid.attach (this.Button, 1, 1, 1, 1);\n"
" this.Grid.attach_next_to (this.progressBar, this.Button, Gtk.PositionType.BOTTOM, 1, 1);\n"
"\n"
-" // Show the window and all child widgets\n"
+" // Visa fönstret och alla barnkomponenter\n"
" this._window.show_all();\n"
" }\n"
"\n"
-" // Here's the function that says what happens when the button is clicked\n"
+" // Här är funktionen som säger vad som händer när knappen klickas på\n"
" _clickHandler() {\n"
" this.progressBar.pulse ();\n"
" }\n"
@@ -10841,7 +12277,7 @@ msgstr "Några etiketter i ett rutnät."
#. (itstool) path: section/code
#: C/grid.py.page:38
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"from gi.repository import Gtk\n"
"import sys\n"
@@ -10889,6 +12325,51 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Grid-exempel\", application=app)\n"
+"\n"
+" # tre etiketter\n"
+" label_top_left = Gtk.Label(label=\"Detta är övre vänster\")\n"
+" label_top_right = Gtk.Label(label=\"Detta är övre höger\")\n"
+" label_bottom = Gtk.Label(label=\"Detta är botten\")\n"
+"\n"
+" # ett rutnät\n"
+" grid = Gtk.Grid()\n"
+"\n"
+" # lite utrymme mellan rutnätets kolumner\n"
+" grid.set_column_spacing(20)\n"
+"\n"
+" # i rutnätet:\n"
+" # attach the first label in the top left corner\n"
+" grid.attach(label_top_left, 0, 0, 1, 1)\n"
+" # attach the second label\n"
+" grid.attach(label_top_right, 1, 0, 1, 1)\n"
+" # attach the third label below the first label\n"
+" grid.attach_next_to(\n"
+" label_bottom, label_top_left, Gtk.PositionType.BOTTOM, 2, 1)\n"
+"\n"
+" # lägg till rutnätet till fönstret\n"
+" self.add(grid)\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"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/grid.py.page:42
@@ -11003,6 +12484,46 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"public class MyWindow : Gtk.ApplicationWindow {\n"
+"\n"
+"\tGtk.Widget progress_bar;\n"
+"\n"
+"\tinternal MyWindow (MyApplication app) {\n"
+"\t\tObject (application: app, title: \"Grid-exempel\");\n"
+"\t\tvar grid = new Gtk.Grid();\n"
+"\t\tprogress_bar = new Gtk.ProgressBar ();\n"
+"\t\tprogress_bar.show ();\n"
+"\n"
+"\t\tvar button = new Gtk.Button.with_label (\"Knapp\");\n"
+"\t\tbutton.clicked.connect (on_button_click);\n"
+"\t\tbutton.show ();\n"
+"\n"
+"\t\tthis.add(grid);\n"
+"\t\tgrid.attach(button, 0, 1, 1, 1);\n"
+"\t\tgrid.attach_next_to (progress_bar, button, Gtk.PositionType.BOTTOM, 1, 1);\n"
+"\t\tgrid.show ();\n"
+"\t}\n"
+"\n"
+"\tvoid on_button_click (Gtk.Button button) {\n"
+"\t\t(progress_bar as Gtk.ProgressBar).pulse ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"public class MyApplication : Gtk.Application {\n"
+"\tprotected override void activate () {\n"
+"\n"
+"\t\tnew MyWindow (this).show ();\n"
+"\t}\n"
+"\n"
+"\tinternal MyApplication () {\n"
+"\t\tObject (application_id: \"org.example.MyApplication\");\n"
+"\n"
+"\t}\n"
+"}\n"
+"\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/grid.vala.page:32
@@ -11176,6 +12697,56 @@ msgid ""
"let app = new Application ();\n"
"app.application.run (ARGV);\n"
msgstr ""
+"\n"
+"#!/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 Application {\n"
+"\n"
+" //skapa programmet\n"
+" constructor() {\n"
+" this.application = new Gtk.Application ({\n"
+" application_id: 'org.example.myapp',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" //anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', this._onActivate.bind(this));\n"
+" this.application.connect('startup', this._onStartup.bind(this));\n"
+" }\n"
+"\n"
+" //skapa användargränssnittet (i detta fall bara vårt ApplicationWindow\n"
+" _buildUI() {\n"
+" this._window = new Gtk.ApplicationWindow({ application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"Välkommen till GNOME\" });\n"
+"\n"
+" //att avkommentera raden nedan kommer ändra fönsterstorleken\n"
+" //this._window.set_default_size(600, 400);\n"
+"\n"
+" //visa fönstret och alla barnkomponenter (ingen i detta fall)\n"
+" this._window.show_all();\n"
+" }\n"
+"\n"
+" //återanropsfunktion för ”activate”-signal\n"
+" _onActivate() {\n"
+" this._window.present();\n"
+" }\n"
+"\n"
+" //återanropsfunktion för ”startup”-signal\n"
+" _onStartup() {\n"
+" this._buildUI();\n"
+" }\n"
+"};\n"
+"\n"
+"//kör programmet\n"
+"let app = new Application ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: info/title
#: C/GtkApplicationWindow.py.page:8
@@ -11185,8 +12756,9 @@ msgstr "ApplicationWindow (Python)"
#. (itstool) path: page/p
#: C/GtkApplicationWindow.py.page:30
+#, fuzzy
msgid "The simplest GtkApplication Window which can support <link xref=\"gmenu.py\"/>."
-msgstr ""
+msgstr "Det enklaste GtkApplication-fönstret som har stöd för <link xref=\"gmenu.py\"/>."
#. (itstool) path: section/code
#: C/GtkApplicationWindow.py.page:37
@@ -11244,6 +12816,9 @@ msgid ""
"<code>set_default_size(200, 100)</code> sets the default size of the window to a width of <code>200</code>
and a "
"height of <code>100</code>; if instead of a positive number we pass <code>-1</code> we have the default
size."
msgstr ""
+"<code>set_default_size(200, 100)</code> ställer in standardstorleken för fönstret till en bredd på
<code>200</"
+"code> och en höjd på <code>100</code>; om vi istället för ett positivt tal skickar med <code>-1</code> får
vi "
+"standardstorleken."
#. (itstool) path: item/p
#: C/GtkApplicationWindow.py.page:45 C/window.py.page:55
@@ -11252,6 +12827,9 @@ msgid ""
"WindowPosition.NONE, Gtk.WindowPosition.MOUSE, Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition."
"CENTER_ON_PARENT</code>."
msgstr ""
+"<code>set_position(Gtk.WindowPosition.CENTER)</code> centrerar fönstret. Andra alternativ är <code>Gtk."
+"WindowPosition.NONE, Gtk.WindowPosition.MOUSE, Gtk.WindowPosition.CENTER_ALWAYS, Gtk.WindowPosition."
+"CENTER_ON_PARENT</code>."
#. (itstool) path: info/title
#: C/GtkApplicationWindow.vala.page:8
@@ -11285,6 +12863,22 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"\n"
+"/* Det här är programmet. */\n"
+"public class MyApplication : Gtk.Application {\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application. */\n"
+"\tprotected override void activate () {\n"
+"\t\t/* Skapa fönstret för detta program och visa det. */\n"
+"\t\tvar window = new Gtk.ApplicationWindow (this);\n"
+"\t\twindow.title = \"Välkommen till GNOME\";\n"
+"\t\twindow.show ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet. */\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/GtkApplicationWindow.vala.page:31 C/label.vala.page:31
@@ -11334,9 +12928,8 @@ msgstr "Konfigurerar ett grundläggande projekt i Anjuta"
#. (itstool) path: item/p
#: C/guitar-tuner.c.page:35 C/guitar-tuner.cpp.page:33 C/guitar-tuner.py.page:40
-#, fuzzy
msgid "Create a simple GUI with Anjuta's UI designer"
-msgstr "Skapar ett enkelt grafiskt användargränssnitt (GUI) med Anjutas UI-designer"
+msgstr "Skapar ett enkelt grafiskt användargränssnitt med Anjutas användargränssnittsdesigner"
#. (itstool) path: item/p
#: C/guitar-tuner.c.page:36 C/guitar-tuner.cpp.page:34 C/guitar-tuner.py.page:41
@@ -11349,10 +12942,10 @@ msgstr "Använder GStreamer för att spela upp ljud"
msgid "You'll need the following to be able to follow this tutorial:"
msgstr "Du behöver följande för att kunna följa denna handledning:"
+# TODO: dead link
#. (itstool) path: item/p
#: C/guitar-tuner.c.page:40 C/guitar-tuner.cpp.page:38 C/guitar-tuner.py.page:45 C/image-viewer.js.page:41
#: C/image-viewer.py.page:41 C/magic-mirror.vala.page:41
-#, fuzzy
msgid "An installed copy of the <link xref=\"getting-ready\">Anjuta IDE</link>"
msgstr "En installerad kopia av den <link xref=\"getting-ready\">integrerade utvecklingsmiljön Anjuta</link>"
@@ -11415,13 +13008,18 @@ msgid ""
"Make sure that <gui>Configure external packages</gui> is switched <gui>ON</gui>. On the next page, select "
"<em>gstreamer-0.10</em> from the list to include the GStreamer library in your project."
msgstr ""
+"Säkerställ att <gui>Konfigurera externa paket</gui> är i läget <gui>PÅ</gui>. På nästa sida, välj "
+"<em>gstreamer-0.10</em> från listan för att inkludera GStreamer-biblioteket i ditt projekt."
+# TODO: Seems to be <gui>Project</gui> or <gui>Files</gui>
#. (itstool) path: item/p
#: C/guitar-tuner.c.page:62 C/image-viewer.c.page:57 C/photo-wall.c.page:71
msgid ""
"Click <gui>Apply</gui> and the project will be created for you. Open <file>src/main.c</file> from the "
"<gui>Project</gui> or <gui>File</gui> tabs. You should see some code which starts with the lines:"
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/main.c</file> från
flikarna "
+"<gui>Projekt</gui> eller <gui>Filer</gui>. Du bör se kod som börjar med raderna:"
#. (itstool) path: item/code
#: C/guitar-tuner.c.page:63 C/image-viewer.c.page:58 C/photo-wall.c.page:72
@@ -11599,7 +13197,7 @@ msgstr ""
#. (itstool) path: section/code
#: C/guitar-tuner.c.page:131
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\n"
"void on_button_clicked (GtkWidget* button, gpointer user_data)\n"
@@ -11607,6 +13205,11 @@ msgid ""
"\n"
"}"
msgstr ""
+"\n"
+"void on_button_clicked (GtkWidget* button, gpointer user_data)\n"
+"{\n"
+"\n"
+"}"
#. (itstool) path: section/p
#: C/guitar-tuner.c.page:136
@@ -11621,12 +13224,13 @@ msgstr ""
#: C/guitar-tuner.c.page:137 C/guitar-tuner.py.page:136
msgid "For now, we'll leave the signal handler empty while we work on writing the code to produce sounds."
msgstr ""
+"För tillfället kommer vi lämna signalhanteraren tom medan vi arbetar med att skriva koden för att skapa
ljud."
#. (itstool) path: section/title
#: C/guitar-tuner.c.page:141 C/guitar-tuner.cpp.page:118 C/guitar-tuner.js.page:39 C/guitar-tuner.py.page:140
#: C/guitar-tuner.vala.page:131
msgid "GStreamer pipelines"
-msgstr ""
+msgstr "GStreamer-rörledningar"
#. (itstool) path: section/p
#: C/guitar-tuner.c.page:142 C/guitar-tuner.js.page:40 C/guitar-tuner.py.page:141
@@ -11666,12 +13270,12 @@ msgstr "external ref='media/guitar-tuner-pipeline.png' md5='5adc952909d92af5dae6
#: C/guitar-tuner.c.page:146 C/guitar-tuner.cpp.page:124 C/guitar-tuner.js.page:44 C/guitar-tuner.py.page:145
#: C/guitar-tuner.vala.page:136
msgid "An example GStreamer pipeline."
-msgstr ""
+msgstr "Exempel på en GStreamer-rörledning."
#. (itstool) path: section/title
#: C/guitar-tuner.c.page:151 C/guitar-tuner.py.page:150 C/guitar-tuner.vala.page:141
msgid "Set up the pipeline"
-msgstr ""
+msgstr "Konfigurera rörledningen"
#. (itstool) path: section/p
#: C/guitar-tuner.c.page:152 C/guitar-tuner.cpp.page:135 C/guitar-tuner.py.page:151
@@ -11699,6 +13303,8 @@ msgid ""
"This includes the GStreamer library. You also need to add a line to initialize GStreamer; put the following
code "
"on the line above the <code>gtk_init</code> call in the <code>main</code> function:"
msgstr ""
+"Detta inkluderar GStreamer-biblioteket. Du behöver också lägga till en rad för att initiera GStreamer;
stoppa in "
+"följande kod på raden ovanför <code>gtk_init</code>-anropen i <code>main</code>-funktionen:"
#. (itstool) path: section/code
#: C/guitar-tuner.c.page:157
@@ -11711,6 +13317,8 @@ msgstr "gst_init (&argc, &argv);"
msgid ""
"Then, copy the following function into <file>main.c</file> above the empty <code>on_button_clicked</code>
function:"
msgstr ""
+"Kopiera sedan in följande funktion i <file>main.c</file>, ovanför den tomma funktionen
<code>on_button_clicked</"
+"code>:"
#. (itstool) path: section/code
#: C/guitar-tuner.c.page:159
@@ -11812,6 +13420,17 @@ msgid ""
"\treturn FALSE;\n"
"}"
msgstr ""
+"\n"
+"#define LENGTH 500 /* Uppspelningslängd i ms */\n"
+"\n"
+"static gboolean\n"
+"pipeline_stop (GstElement* pipeline)\n"
+"{\n"
+"\tgst_element_set_state (pipeline, GST_STATE_NULL);\n"
+"\tg_object_unref (pipeline);\n"
+"\n"
+"\treturn FALSE;\n"
+"}"
#. (itstool) path: section/p
#: C/guitar-tuner.c.page:215
@@ -11823,7 +13442,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/guitar-tuner.c.page:219 C/guitar-tuner.py.page:208
msgid "Define the tones"
-msgstr ""
+msgstr "Definiera tonerna"
#. (itstool) path: section/p
#: C/guitar-tuner.c.page:220
@@ -11831,10 +13450,12 @@ msgid ""
"We want to play the correct sound when the user clicks a button. First of all, we need to know the
frequencies for "
"the six guitar strings, which are defined (at the top of <file>main.c</file>) as follows:"
msgstr ""
+"Vi vill spela rätt ljud när användaren klickar på en knapp. Först av allt behöver vi veta frekvenserna för
de sex "
+"gitarrsträngarna, vilka är definierade (högst upp i <file>main.c</file>) enligt följande:"
#. (itstool) path: section/code
#: C/guitar-tuner.c.page:221
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\n"
"/* Frequencies of the strings */\n"
@@ -11845,6 +13466,14 @@ msgid ""
"#define NOTE_B 987.77\n"
"#define NOTE_e 1318.5"
msgstr ""
+"\n"
+"/* Strängarnas frekvenser */\n"
+"#define NOTE_E 329.63\n"
+"#define NOTE_A 440\n"
+"#define NOTE_D 587.33\n"
+"#define NOTE_G 783.99\n"
+"#define NOTE_B 987.77\n"
+"#define NOTE_e 1318.5"
#. (itstool) path: section/p
#: C/guitar-tuner.c.page:229 C/guitar-tuner.py.page:222
@@ -12019,13 +13648,19 @@ msgid ""
"Make sure that <gui>Configure external packages</gui> is selected. On the next page, select
<em>gstreamermm-0.10</"
"em> from the list to include the GStreamermm library in your project."
msgstr ""
+"Säkerställ att <gui>Konfigurera externa paket</gui> är valt. På nästa sida, välj <em>gstreamermm-0.10</em>
från "
+"listan för att inkludera GStreamermm-biblioteket i ditt projekt."
+# TODO: Finished -> Apply ?
+# <gui>File</gui> -> <gui>Files</gui>
#. (itstool) path: item/p
#: C/guitar-tuner.cpp.page:60
msgid ""
"Click <gui>Finished</gui> and the project will be created for you. Open <file>src/main.cc</file> from the "
"<gui>Project</gui> or <gui>File</gui> tabs. You should see some code which starts with the lines:"
msgstr ""
+"Klicka på <gui>Färdig</gui> så kommer projektet skapas åt dig. Öppna <file>src/main.cc</file> från flikarna
"
+"<gui>Projekt</gui> eller <gui>Filer</gui>. Du bör se kod som börjar med raderna:"
#. (itstool) path: item/code
#: C/guitar-tuner.cpp.page:61
@@ -12357,7 +13992,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/guitar-tuner.js.page:25
msgid "<link xref=\"#gstreamer\">GStreamer pipelines</link>"
-msgstr ""
+msgstr "<link xref=\"#gstreamer\">GStreamer-rörledningar</link>"
#. (itstool) path: item/p
#: C/guitar-tuner.js.page:26 C/weatherAppMain.js.page:23
@@ -12439,6 +14074,11 @@ msgid ""
"\n"
"const Mainloop = imports.mainloop;"
msgstr ""
+"\n"
+"var Gtk = imports.gi.Gtk;\n"
+"var Gst = imports.gi.Gst;\n"
+"\n"
+"const Mainloop = imports.mainloop;"
#. (itstool) path: section/p
#: C/guitar-tuner.js.page:61
@@ -12470,6 +14110,16 @@ msgid ""
"guitarwindow.show();\n"
"Gtk.main();"
msgstr ""
+"\n"
+"Gtk.init(null, 0);\n"
+"Gst.init(null, 0);\n"
+"\n"
+"var guitarwindow = new Gtk.Window({type: Gtk.WindowType.TOPLEVEL, border_width: 100});\n"
+"guitarwindow.title = \"Gitarrstämmare\";\n"
+"guitarwindow.connect(\"destroy\", function(){Gtk.main_quit()});\n"
+"\n"
+"guitarwindow.show();\n"
+"Gtk.main();"
#. (itstool) path: section/p
#: C/guitar-tuner.js.page:75
@@ -12737,13 +14387,13 @@ msgstr "Köra programmet från Terminal"
#. (itstool) path: section/p
#: C/guitar-tuner.js.page:238
msgid "To run this application open Terminal, go to the folder where your application is stored and then run"
-msgstr ""
+msgstr "För att köra detta program, öppna Terminal, gå till mappen där ditt program lagrats och kör sedan"
#. (itstool) path: section/screen
#: C/guitar-tuner.js.page:238
#, no-wrap
msgid " <output style=\"prompt\">$ </output><input> GJS_PATH=`pwd` gjs guitarTuner.js</input> "
-msgstr ""
+msgstr " <output style=\"prompt\">$ </output><input> GJS_PATH=`pwd` gjs guitarTuner.js</input> "
#. (itstool) path: section/p
#: C/guitar-tuner.js.page:243
@@ -12774,12 +14424,15 @@ msgstr ""
"Välj <gui>PyGTK (automake)</gui> från fliken <gui>Python</gui>, klicka på <gui>Fortsätt</gui>, och fyll i
dina "
"detaljer på de nästkommande sidorna. Använd <file>guitar-tuner</file> som projektnamn och katalog."
+# TODO: Seems to be <gui>Project</gui> or <gui>Files</gui>
#. (itstool) path: item/p
#: C/guitar-tuner.py.page:63
msgid ""
"Click <gui>Apply</gui> and the project will be created for you. Open <file>src/guitar_tuner.py</file> from
the "
"<gui>Project</gui> or <gui>File</gui> tabs. You should see some code which starts with the lines:"
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/guitar_tuner.py</file>
från "
+"flikarna <gui>Projekt</gui> eller <gui>Filer</gui>. Du bör se kod som börjar med raderna:"
#. (itstool) path: item/code
#: C/guitar-tuner.py.page:64
@@ -12805,12 +14458,15 @@ msgid ""
"and shows it. More details are given below; skip this list if you understand the basics:"
msgstr ""
+# TODO: remove *include the* ?
#. (itstool) path: item/p
#: C/guitar-tuner.py.page:77
msgid ""
"The <code>import</code> lines at the top include the tell Python to load the user interface and system
libraries "
"needed."
msgstr ""
+"<code>import</code>-raderna högst upp säger till Python att läsa in användargränssnittsbiblioteken och "
+"systembiblioteken som behövs."
#. (itstool) path: item/p
#: C/guitar-tuner.py.page:81
@@ -12825,6 +14481,8 @@ msgid ""
"Connecting signals is how you define what happens when you push a button, or when some other event happens.
Here, "
"the <code>destroy</code> method is called (and quits the app) when you close the window."
msgstr ""
+"Att ansluta signaler är hur du definierar vad som händer när du trycker på en knapp, eller när någon annan "
+"händelse inträffar. Här anropas funktionen <code>destroy</code> (och avslutar programmet) när du stänger
fönstret."
#. (itstool) path: item/p
#: C/guitar-tuner.py.page:87
@@ -12879,13 +14537,13 @@ msgstr ""
#. (itstool) path: section/p
#: C/guitar-tuner.py.page:153
msgid "Change the import line in <file>guitar_tuner.py</file>, just at the beginning to :"
-msgstr ""
+msgstr "Ändra importraden just i början av <file>guitar_tuner.py</file> till:"
#. (itstool) path: section/code
#: C/guitar-tuner.py.page:154
#, no-wrap
msgid "from gi.repository import Gtk, Gst, GObject "
-msgstr ""
+msgstr "from gi.repository import Gtk, Gst, GObject "
# TODO:initialized
#. (itstool) path: section/p
@@ -12894,6 +14552,8 @@ msgid ""
"The <code>Gst</code> includes the GStreamer library. You also need to initialise GStreamer properly which
is done "
"in the <code>main()</code> method with this call added above the <code>app = GUI()</code> line:"
msgstr ""
+"<code>Gst</code> inkluderar GStreamer-biblioteket. Du behöver också initiera GStreamer ordentligt vilket
görs i "
+"<code>main()</code>-metoden med detta anrop tillagt ovanför raden <code>app = GUI()</code>:"
#. (itstool) path: section/code
#: C/guitar-tuner.py.page:158
@@ -12982,6 +14642,10 @@ msgid ""
"\tpipeline.set_state(Gst.State.NULL)\n"
"\treturn False\n"
msgstr ""
+"\n"
+"def pipeline_stop(self, pipeline):\n"
+"\tpipeline.set_state(Gst.State.NULL)\n"
+"\treturn False\n"
#. (itstool) path: section/p
#: C/guitar-tuner.py.page:199
@@ -13003,7 +14667,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/guitar-tuner.py.page:204
msgid "The call to <code>pipeline.set_state</code> stops the playback of the pipeline."
-msgstr ""
+msgstr "Anropet till <code>pipeline.set_state</code> stoppar uppspelningen av rörledningen."
#. (itstool) path: section/p
#: C/guitar-tuner.py.page:209
@@ -13095,15 +14759,18 @@ msgid ""
"learn how to:"
msgstr ""
+# TODO: dead link
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:37
msgid "Set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</link>."
msgstr ""
+"Konfigurerar ett grundläggande projekt med den <link xref=\"getting-ready\">integrerade utvecklingsmiljön
Anjuta</"
+"link>."
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:38
msgid "Create a simple GUI with <app>Anjuta</app>'s UI designer."
-msgstr ""
+msgstr "Skapar ett enkelt grafiskt användargränssnitt med <app>Anjuta</app>s användargränssnittsdesigner."
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:39
@@ -13155,6 +14822,9 @@ msgid ""
"href=\"http://valadoc.org/gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> from the list to
include the "
"GStreamer library in your project. Click <gui>Continue</gui>"
msgstr ""
+"Säkerställ att <gui>Konfigurera externa paket</gui> är i läget <gui>PÅ</gui>. På nästa sida, välj <link
href="
+"\"http://valadoc.org/gstreamer-0.10/index.htm\"><em>gstreamer-0.10</em></link> från listan för att
inkludera "
+"GStreamer-biblioteket i ditt projekt. Klicka på <gui>Fortsätt</gui>"
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:65
@@ -13163,6 +14833,9 @@ msgid ""
"tab, open <file>src/guitar_tuner.vala</file> by double-clicking on it. You should see some code which
starts with "
"the lines:"
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/guitar_tuner.vala</file>
från "
+"flikarna <gui>Projekt</gui> eller <gui>Filer</gui> genom att dubbelklicka på den. Du bör se kod som börjar
med "
+"raderna:"
#. (itstool) path: item/code
#: C/guitar-tuner.vala.page:66 C/magic-mirror.vala.page:70
@@ -13186,7 +14859,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:79 C/magic-mirror.vala.page:82
msgid "The two <code>using</code> lines import namespaces so we don't have to name them explicitly."
-msgstr ""
+msgstr "De två <code>using</code>-raderna importerar namnrymder så vi inte behöver namnge dem explicit."
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:82
@@ -13203,6 +14876,9 @@ msgid ""
"Connecting signals is how you define what happens when you push a button, or when some other event happens.
Here, "
"the <code>on_destroy</code> function is called (and quits the app) when you close the window."
msgstr ""
+"Att ansluta signaler är hur du definierar vad som händer när du trycker på en knapp, eller när någon annan "
+"händelse inträffar. Här anropas funktionen <code>on_destroy</code> (och avslutar programmet) när du stänger
"
+"fönstret."
#. (itstool) path: item/p
#: C/guitar-tuner.vala.page:88
@@ -13321,7 +14997,7 @@ msgstr ""
#: C/guitar-tuner.vala.page:145
#, no-wrap
msgid "Gst.init (ref args);"
-msgstr ""
+msgstr "Gst.init (ref args);"
#. (itstool) path: section/p
#: C/guitar-tuner.vala.page:146
@@ -13456,6 +15132,9 @@ msgid ""
"\"><code>Gtk.Widget</code></link> that called the function (in our case, always a <link
href=\"http://valadoc.org/"
"gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>)."
msgstr ""
+"Denna signalhanterare har endast ett argument: den <link href=\"http://valadoc.org/gtk+-3.0/Gtk.Widget.html"
+"\"><code>Gtk.Widget</code></link> som anropade funktionen (i vårt fall alltid en <link
href=\"http://valadoc.org/"
+"gtk+-3.0/Gtk.Button.html\"><code>Gtk.Button</code></link>)."
#. (itstool) path: section/title
#: C/guitar-tuner.vala.page:219
@@ -14029,7 +15708,6 @@ msgstr ""
#. (itstool) path: section/p
#: C/hellognome.js.page:167
-#, fuzzy
msgid ""
"Each window can hold one, and only one, widget. Normally, we'd use a container widget like a <link
xref=\"grid.js"
"\">Grid</link> to put multiple widgets into, then use the window's add function to add the Grid to it.
Here, we "
@@ -14067,7 +15745,6 @@ msgstr "Köra ditt GNOME-program"
#. (itstool) path: section/p
#: C/hellognome.js.page:179
-#, fuzzy
msgid ""
"Now that we've created our first GNOME application, it's time to test it out! You don't need to compile
your app "
"or install any special software for this; GNOME has gjs built in, to let it run GNOME Shell. Just save "
@@ -14078,7 +15755,7 @@ msgstr ""
"Nu då vi skapat vårt första GNOME-program så är det dags att testa det! Du behöver inte kompilera ditt
program "
"eller installera någon speciell programvara för detta, GNOME har gjs inbyggt för att låta det köra
GNOME-skalet. "
"Spara bara <file>hellognome.html</file> och vårt faktiska program, <file>hellognome.js</file>, till en
katalog som "
-"du kan komma åt med terminalen. (De öppnas vanligen till din hemkatalog, den som namngivits av ditt
användarnamn.) "
+"du kan komma åt med terminalen. (De öppnas vanligen i din hemkatalog, den som har ditt användarnamn som
namn.) "
"Öppna efter det en terminal, gå dit, och skriv:"
#. (itstool) path: section/screen
@@ -15953,6 +17630,63 @@ msgid ""
"let app = new ImageExample ();\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 ImageExample {\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.jsimage',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 initierar menyer och 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"
+" title: \"Välkommen till GNOME\",\n"
+" default_height: 300,\n"
+" default_width: 300\n"
+" });\n"
+"\n"
+" // Skapa etiketten\n"
+" this.jsimage = new Gtk.Image ({file: \"gnome-image.png\"});\n"
+" this._window.add (this.jsimage);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new ImageExample ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/image.js.page:34
@@ -16026,6 +17760,43 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+" from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+" # create a window\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Välkommen till GNOME\", application=app)\n"
+" self.set_default_size(300, 300)\n"
+"\n"
+" # skapa en bild\n"
+" image = Gtk.Image()\n"
+" # ställ in bildens innehåll till filen filnamn.png\n"
+" image.set_from_file(\"gnome-image.png\")\n"
+" # lägg till bilden till fönstret\n"
+" self.add(image)\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
+"\n"
+" "
#. (itstool) path: section/p
#: C/image.py.page:47
@@ -16033,6 +17804,8 @@ msgid ""
"Another way to obtain what we have in the example is to create the image as an instance of another class
and add "
"it to the instance of <code>MyWindow</code> in the <code>do_activate(self)</code> method:"
msgstr ""
+"Ett annat sätt att få det som vi har i exemplet är att skapa bilden som en instans av en annan klass och
lägga "
+"till den i instansen av <code>MyWindow</code> i metoden <code>do_activate(self)</code>:"
#. (itstool) path: section/code
#: C/image.py.page:51
@@ -16064,6 +17837,31 @@ msgid ""
" win.show_all()\n"
" "
msgstr ""
+"\n"
+" # en klass för att skapa ett fönster\n"
+" class MyWindow(Gtk.ApplicationWindow):\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Välkommen till GNOME\", application=app)\n"
+" self.set_default_size(300, 300)\n"
+"\n"
+" # en klass för att skapa en bild\n"
+" class MyImage(Gtk.Image):\n"
+" def __init__(self):\n"
+" Gtk.Image.__init__(self)\n"
+" self.set_from_file(\"gnome-image.png\")\n"
+"\n"
+" class MyApplication(Gtk.Application):\n"
+" def __init__(self):\n"
+" Gtk.Application.__init__(self)\n"
+"\n"
+" def do_activate(self):\n"
+" # skapa en instans av MyWindow\n"
+" win = MyWindow(self)\n"
+" # skapa en instans av MyImage och lägg till den till fönstret\n"
+" win.add(MyImage())\n"
+" # visa fönstret och allt som finns i det\n"
+" win.show_all()\n"
+" "
#. (itstool) path: note/p
#: C/image.py.page:78
@@ -16071,6 +17869,9 @@ msgid ""
"To use this code snippet, you will need to add the code that imports <code>Gtk</code> and
<code>GdkPixbuf</code> "
"from <code>gi.repository</code> and lines that instantiate the <code>MyApplication</code> window."
msgstr ""
+"För att använda denna kodsnutt kommer du behöva lägga till koden som importerar <code>Gtk</code> och "
+"<code>GdkPixbuf</code> från <code>gi.repository</code> och rader som instansierar
<code>MyApplication</code>-"
+"fönstret."
#. (itstool) path: section/title
#: C/image.py.page:85
@@ -16083,7 +17884,10 @@ msgid ""
"To load an image over a network use <code>set_from_pixbuf(pixbuf)</code>, where <code>pixbuf</code> is a
<link "
"href=\"https://developer.gnome.org/gdk-pixbuf/unstable/index.html\"> GdkPixbuf</link>."
msgstr ""
+"För att läsa in en bild över ett nätverk, använd <code>set_from_pixbuf(pixbuf)</code>, där
<code>pixbuf</code> är "
+"en <link href=\"https://developer.gnome.org/gdk-pixbuf/unstable/index.html\"> GdkPixbuf</link>."
+# TODO: amd -> and
#. (itstool) path: item/code
#: C/image.py.page:93
#, no-wrap
@@ -16270,6 +18074,9 @@ msgid ""
"tutorial. Check the <link xref=\"guitar-tuner.c\">Guitar-Tuner</link> tutorial if you want to learn how to
use the "
"interface builder."
msgstr ""
+"Säkerställ att <gui>Använd GtkBuilder för användargränssnitt</gui> är inaktiverat då vi kommer skapa "
+"användargränssnittet manuellt i denna handledning. Se handledningen <link
xref=\"guitar-tuner.c\">Gitarrstämmare</"
+"link> om du vill lära dig hur du använder gränssnittsbyggaren."
#. (itstool) path: section/p
#: C/image-viewer.c.page:67
@@ -16285,6 +18092,8 @@ msgid ""
"The <code>create_window</code> function creates a new (empty) window and connects a signal to exit the
application "
"when that window is closed."
msgstr ""
+"Funktionen <code>create_window</code> skapar ett nytt (tomt) fönster och ansluter en signal för att avsluta
"
+"programmet då det fönstret stängs."
#. (itstool) path: section/title
#: C/image-viewer.c.page:90 C/image-viewer.cpp.page:87 C/image-viewer.vala.page:139
@@ -16298,6 +18107,9 @@ msgid ""
"that can contain other widgets and even other containers. Here we will use the simplest available
container, a "
"<code>GtkBox</code>:"
msgstr ""
+"Nu kommer vi blåsa liv i det tomma fönstret. GTK organiserar användargränssnittet med behållare av typ "
+"<code>GtkContainer</code> som kan innehålla andra komponenter och till och med andra behållare. Här kommer
vi "
+"använda den enklaste tillgängliga behållaren, en <code>GtkBox</code>:"
#. (itstool) path: section/code
#: C/image-viewer.c.page:94
@@ -16336,6 +18148,38 @@ msgid ""
"\treturn window;\n"
"}\n"
msgstr ""
+"\n"
+"static GtkWidget*\n"
+"create_window (void)\n"
+"{\n"
+"\tGtkWidget *window;\n"
+"\tGtkWidget *button;\n"
+"\tGtkWidget *image;\n"
+"\tGtkWidget *box;\n"
+"\n"
+"\t/* Konfigurera användargränssnittet */\n"
+"\twindow = gtk_window_new (GTK_WINDOW_TOPLEVEL);\n"
+"\tgtk_window_set_title (GTK_WINDOW (window), \"image-viewer-c\");\n"
+"\n"
+"\tbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 5);\n"
+"\tbutton = gtk_button_new_with_label (_(\"Öppna bild\"));\n"
+"\timage = gtk_image_new ();\n"
+"\n"
+"\tgtk_box_pack_start (GTK_BOX (box), image, TRUE, TRUE, 0);\n"
+"\tgtk_box_pack_start (GTK_BOX (box), button, FALSE, FALSE, 0);\n"
+"\n"
+"\tgtk_container_add (GTK_CONTAINER (window), box);\n"
+"\n"
+"\t/* Anslut signaler */\n"
+"\n"
+"\t/* Visa öppna-dialog då en fil öppnas */\n"
+"\tg_signal_connect (button, \"clicked\", G_CALLBACK (on_open_image), image);\n"
+"\n"
+"\t/* Avsluta då fönstret stängs */\n"
+"\tg_signal_connect (window, \"destroy\", G_CALLBACK (gtk_main_quit), NULL);\n"
+"\n"
+"\treturn window;\n"
+"}\n"
#. (itstool) path: item/p
#: C/image-viewer.c.page:129
@@ -16367,7 +18211,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/image-viewer.c.page:145
msgid "The last <code>g_signal_connect()</code> makes sure that the application exits when the window is
closed."
-msgstr ""
+msgstr "Den sista <code>g_signal_connect()</code> säkerställer att programmet avslutas när fönstret stängs."
#. (itstool) path: item/p
#: C/image-viewer.c.page:148
@@ -16387,6 +18231,8 @@ msgid ""
"We will now define the signal handler for the <em>clicked</em> signal or the button we mentioned before.
Add this "
"code before the <code>create_window()</code> method."
msgstr ""
+"Vi kommer nu definiera signalhanteraren för <em>clicked</em>-signalen eller knappen vi nämnde tidigare.
Lägg till "
+"denna kod före <code>create_window()</code>-metoden."
#. (itstool) path: section/code
#: C/image-viewer.c.page:159
@@ -16425,11 +18271,43 @@ msgid ""
"\tgtk_widget_destroy (dialog);\n"
"}\n"
msgstr ""
+"\n"
+"static void\n"
+"on_open_image (GtkButton* button, gpointer user_data)\n"
+"{\n"
+"\tGtkWidget *image = GTK_WIDGET (user_data);\n"
+"\tGtkWidget *toplevel = gtk_widget_get_toplevel (image);\n"
+"\tGtkFileFilter *filter = gtk_file_filter_new ();\n"
+"\tGtkWidget *dialog = gtk_file_chooser_dialog_new (_(\"Öppna bild\"),\n"
+"\t GTK_WINDOW (toplevel),\n"
+"\t GTK_FILE_CHOOSER_ACTION_OPEN,\n"
+"\t GTK_STOCK_OK, GTK_RESPONSE_ACCEPT,\n"
+"\t GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,\n"
+"\t NULL);\n"
+"\n"
+"\tgtk_file_filter_add_pixbuf_formats (filter);\n"
+"\tgtk_file_chooser_add_filter (GTK_FILE_CHOOSER (dialog),\n"
+"\t filter);\n"
+"\n"
+"\tswitch (gtk_dialog_run (GTK_DIALOG (dialog)))\n"
+"\t{\n"
+"\t\tcase GTK_RESPONSE_ACCEPT:\n"
+"\t\t{\n"
+"\t\t\tgchar *filename =\n"
+"\t\t\t\tgtk_file_chooser_get_filename (GTK_FILE_CHOOSER (dialog));\n"
+"\t\t\tgtk_image_set_from_file (GTK_IMAGE (image), filename);\n"
+"\t\t\tbreak;\n"
+"\t\t}\n"
+"\t\tdefault:\n"
+"\t\t\tbreak;\n"
+"\t}\n"
+"\tgtk_widget_destroy (dialog);\n"
+"}\n"
#. (itstool) path: section/p
#: C/image-viewer.c.page:192 C/image-viewer.cpp.page:178 C/image-viewer.js.page:283
C/image-viewer.py.page:197
msgid "This is a bit more complicated than anything we've attempted so far, so let's break it down:"
-msgstr ""
+msgstr "Det här är lite mer komplicerat än något som vi försökt så här långt, så låt oss dela upp det:"
#. (itstool) path: item/p
#: C/image-viewer.c.page:194
@@ -16454,6 +18332,9 @@ msgid ""
"Notice that we are using <em>stock</em> button names from Gtk, instead of manually typing \"Cancel\" or
\"Open\". "
"The advantage of using stock names is that the button labels will already be translated into the user's
language."
msgstr ""
+"Observera att vi använder <em>standard</em>knappnamn från Gtk, istället för att manuellt skriva in ”Avbryt”
eller "
+"”Öppna”. Fördelen med att använda standardnamn är att knappetiketterna redan kommer vara översatta till "
+"användarens språk."
#. (itstool) path: item/p
#: C/image-viewer.c.page:207
@@ -16511,6 +18392,8 @@ msgid ""
"Have the user select a directory rather than a file, and provide controls to cycle through all of the
images in a "
"directory."
msgstr ""
+"Låt användaren välja en katalog snarare än en fil, och tillhandahåll kontroller för att gå igenom alla
bilderna i "
+"en katalog."
#. (itstool) path: item/p
#: C/image-viewer.c.page:240 C/image-viewer.cpp.page:228 C/image-viewer.js.page:328
C/image-viewer.py.page:242
@@ -16518,12 +18401,13 @@ msgstr ""
msgid ""
"Apply random filters and effects to the image when it is loaded and allow the user to save the modified
image."
msgstr ""
+"Tillämpa slumpmässiga filter och effekter till bilden då den läses in och låt användaren spara den ändrade
bilden."
#. (itstool) path: item/p
#: C/image-viewer.c.page:241 C/image-viewer.cpp.page:229 C/image-viewer.js.page:329
C/image-viewer.py.page:243
#: C/image-viewer.vala.page:302
msgid "<link href=\"http://www.gegl.org/api.html\">GEGL</link> provides powerful image manipulation
capabilities."
-msgstr ""
+msgstr "<link href=\"http://www.gegl.org/api.html\">GEGL</link> har kraftfulla bildmanipuleringsförmågor."
#. (itstool) path: item/p
#: C/image-viewer.c.page:244 C/image-viewer.cpp.page:232 C/image-viewer.js.page:332
C/image-viewer.py.page:246
@@ -16571,13 +18455,19 @@ msgid ""
"tutorial. Check the <link xref=\"guitar-tuner.cpp\">Guitar-Tuner</link> tutorial if you want to learn how
to use "
"the interface builder."
msgstr ""
+"Säkerställ att <gui>Använd GtkBuilder för användargränssnitt</gui> är inaktiverat då vi kommer skapa "
+"användargränssnittet manuellt i denna handledning. Se handledningen <link xref=\"guitar-tuner.cpp"
+"\">Gitarrstämmare</link> om du vill lära dig hur du använder gränssnittsbyggaren."
+# TODO: Seems to be <gui>Project</gui> or <gui>Files</gui>
#. (itstool) path: item/p
#: C/image-viewer.cpp.page:55
msgid ""
"Click <gui>Apply</gui> and the project will be created for you. Open <file>src/main.cc</file> from the "
"<gui>Project</gui> or <gui>File</gui> tabs. You should see some code which starts with the lines:"
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/main.cc</file> från
flikarna "
+"<gui>Projekt</gui> eller <gui>Filer</gui>. Du bör se kod som börjar med raderna:"
#. (itstool) path: item/code
#: C/image-viewer.cpp.page:56
@@ -16606,7 +18496,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/image-viewer.cpp.page:73
msgid "The <code>main</code> function creates a new (empty) window and sets the window title."
-msgstr ""
+msgstr "<code>main</code>-funktionen skapar ett nytt (tomt) fönster och ställer in fönstertiteln."
#. (itstool) path: item/p
#: C/image-viewer.cpp.page:76
@@ -16725,7 +18615,7 @@ msgstr ""
#. (itstool) path: section/code
#: C/image-viewer.cpp.page:146
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\n"
"Gtk::Image* image = 0;\n"
@@ -16759,6 +18649,37 @@ msgid ""
"\t}\n"
"}\n"
msgstr ""
+"\n"
+"Gtk::Image* image = 0;\n"
+"\n"
+"static void\n"
+"on_open_image ()\n"
+"{\n"
+"\tGtk::FileChooserDialog dialog(\"Öppna bild\",\n"
+"\t Gtk::FILE_CHOOSER_ACTION_OPEN);\n"
+"\tdialog.add_button (Gtk::Stock::OPEN,\n"
+"\t Gtk::RESPONSE_ACCEPT);\n"
+"\tdialog.add_button (Gtk::Stock::CANCEL,\n"
+"\t Gtk::RESPONSE_CANCEL);\n"
+"\n"
+"\tGlib::RefPtr<Gtk::FileFilter> filter =\n"
+"\t\tGtk::FileFilter::create();\n"
+"\tfilter->add_pixbuf_formats();\n"
+"\tfilter->set_name(\"Bilder\");\n"
+"\tdialog.add_filter (filter);\n"
+"\n"
+"\tconst int response = dialog.run();\n"
+"\tdialog.hide();\n"
+"\n"
+"\tswitch (response)\n"
+"\t{\n"
+"\t\tcase Gtk::RESPONSE_ACCEPT:\n"
+"\t\t\timage->set(dialog.get_filename());\n"
+"\t\t\tbreak;\n"
+"\t\tdefault:\n"
+"\t\t\tbreak;\n"
+"\t}\n"
+"}\n"
#. (itstool) path: item/p
#: C/image-viewer.cpp.page:181
@@ -16864,12 +18785,12 @@ msgstr "Skriver ett enkelt GTK-användargränssnitt i Javascript"
#. (itstool) path: item/p
#: C/image-viewer.js.page:35 C/image-viewer.py.page:35
msgid "Deal with events by connecting signals to signal handlers"
-msgstr ""
+msgstr "Hanterar händelser genom att ansluta signaler till signalhanterare"
#. (itstool) path: item/p
#: C/image-viewer.js.page:36 C/image-viewer.py.page:36
msgid "Lay out GTK user interfaces using containers"
-msgstr ""
+msgstr "Gör layouter för GTK-användargränssnitt genom att använda behållare"
#. (itstool) path: item/p
#: C/image-viewer.js.page:37 C/image-viewer.py.page:37
@@ -16878,7 +18799,6 @@ msgstr "Läser in och visar bildfiler"
#. (itstool) path: item/p
#: C/image-viewer.js.page:42
-#, fuzzy
msgid "An installed copy of the <em>gjs</em> interpreter"
msgstr "En installerad kopia av <em>gjs</em>-tolken"
@@ -16896,12 +18816,15 @@ msgstr ""
"Välj <gui>Allmän Javascript</gui> från fliken <gui>JS</gui>, klicka på <gui>Framåt</gui>, och fyll i dina
detaljer "
"på de nästkommande sidorna. Använd <file>image-viewer</file> som projektnamn och katalog."
+# TODO: Seems to be <gui>Project</gui> or <gui>Files</gui>
#. (itstool) path: item/p
#: C/image-viewer.js.page:60
msgid ""
"Click <gui>Apply</gui> and the project will be created for you. Open <file>src/main.js</file> from the "
"<gui>Project</gui> or <gui>File</gui> tabs. It contains very basic example code."
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/main.js</file> från
flikarna "
+"<gui>Projekt</gui> eller <gui>Filer</gui>. Den innehåller väldigt enkel exempelkod."
#. (itstool) path: section/title
#: C/image-viewer.js.page:67
@@ -16915,6 +18838,9 @@ msgid ""
"course, your very first contact with any programming language should be the Hello World program which can
already "
"be found in <file>main.js</file>:"
msgstr ""
+"Låt oss innan vi börjar skriva bildvisaren ta reda på mer om hur Javascript används i GNOME. Din första
kontakt "
+"med alla programmeringsspråk bör förstås vara Hej världen-programmet vilket redan kan hittas i
<file>main.js</"
+"file>:"
#. (itstool) path: section/code
#: C/image-viewer.js.page:69
@@ -16929,6 +18855,9 @@ msgid ""
"<code>print</code> is called with the argument <code>\"Hello world!\"</code>, which will be printed on the
screen. "
"Note that each line of code ends with a semicolon."
msgstr ""
+"Detta bör se naturligt ut för dig om du är bekant med nästan vilket annat programmeringsspråk som helst. "
+"Funktionen <code>print</code> anropas med argumentet <code>\"Hej världen!\"</code>, vilket kommer att
skrivas ut "
+"på skärmen. Observera att varje rad kod avslutas med ett semikolon."
#. (itstool) path: section/title
#: C/image-viewer.js.page:74
@@ -16967,6 +18896,28 @@ msgid ""
"\n"
"}"
msgstr ""
+"\n"
+"function MyClass () {\n"
+" this._init ();\n"
+"}\n"
+"\n"
+"MyClass.prototype = {\n"
+"\n"
+" _init: function () {\n"
+" this.propertyA = \"Det här är ett objekts fält\";\n"
+" this.propertyB = 10;\n"
+" },\n"
+"\n"
+" aMethod: function (arg1, arg2) {\n"
+" print (\"inuti aMethod: \" + arg1 + \" \" + arg2);\n"
+" },\n"
+"\n"
+" dumpProperties: function () {\n"
+" print (this.propertyA);\n"
+" print (this.propertyB);\n"
+" }\n"
+"\n"
+"}"
#. (itstool) path: section/p
#: C/image-viewer.js.page:98
@@ -16980,6 +18931,9 @@ msgid ""
"access any member of the class by using the <code>this</code> object; here, the constructor calls the
class's "
"<code>_init</code> method."
msgstr ""
+"<code>function MyClass</code> är klassens konstruktor — dess namn måste matcha klassens namn. Du kan komma
åt alla "
+"medlemmar i klassen genom att använda objektet <code>this</code>; här anropar konstruktorn klassens
<code>_init</"
+"code>-metod."
#. (itstool) path: item/p
#: C/image-viewer.js.page:104
@@ -17038,6 +18992,11 @@ msgid ""
"o.propertyA = \"Just changed its value!\";\n"
"o.dumpProperties ();"
msgstr ""
+"\n"
+"var o = new MyClass ();\n"
+"o.aMethod (\"Hej\", \"världen\");\n"
+"o.propertyA = \"Ändrade just dess värde!\";\n"
+"o.dumpProperties ();"
#. (itstool) path: section/p
#: C/image-viewer.js.page:125
@@ -17099,11 +19058,13 @@ msgid ""
"The first line imports the Gtk namespace (that is, it includes the Gtk library). The libraries are provided
by "
"GObject Introspection (gi), which provides language bindings for many GNOME libraries."
msgstr ""
+"Den första raden importerar Gtk-namnrymden (d.v.s. inkluderar Gtk-biblioteket). Biblioteken tillhandahålls
av "
+"GObject Introspection (gi), vilket tillhandahåller språkbindningar för många GNOME-bibliotek."
#. (itstool) path: item/p
#: C/image-viewer.js.page:148
msgid "<code>Gtk.init</code> initializes the Gtk library; this statement is mandatory for all Gtk programs."
-msgstr ""
+msgstr "<code>Gtk.init</code> initierar Gtk-biblioteket; denna sats är obligatorisk för alla Gtk-program."
#. (itstool) path: item/p
#: C/image-viewer.js.page:151
@@ -17112,6 +19073,9 @@ msgid ""
"properties to the window's constructor by using the syntax <code>{property: value, property: value,
...}</code>. "
"In this case we are setting the title of the window."
msgstr ""
+"Nästa rad skapar huvudfönstret genom att skapa ett nytt <code>Gtk.Window</code>-objekt. Du kan skicka flera
"
+"egenskaper till fönstrets konstruktor genom att använda syntaxen <code>{egenskap: värde, egenskap: värde,
…}</"
+"code>. I detta fall ställer vi in fönstrets titel."
#. (itstool) path: item/p
#: C/image-viewer.js.page:152
@@ -17146,6 +19110,8 @@ msgid ""
"The proper way of doing Gtk programming is by using classes. Let's rewrite the simple code you just wrote
using "
"classes:"
msgstr ""
+"Det korrekta sättet att programmera med Gtk är att använda klasser. Låt oss skriva om den enkla koden du
just "
+"skrev med klasser:"
#. (itstool) path: section/code
#: C/image-viewer.js.page:163
@@ -17169,6 +19135,23 @@ msgid ""
"var iv = new ImageViewer ();\n"
"Gtk.main ();"
msgstr ""
+"\n"
+"const Gtk = imports.gi.Gtk;\n"
+"\n"
+"function ImageViewer () {\n"
+" this._init ();\n"
+"}\n"
+"\n"
+"ImageViewer.prototype = {\n"
+" _init: function () {\n"
+" this.window = new Gtk.Window ({title: \"Bildvisardemonstration\"});\n"
+" this.window.show ();\n"
+" }\n"
+"}\n"
+"\n"
+"Gtk.init (null, null);\n"
+"var iv = new ImageViewer ();\n"
+"Gtk.main ();"
#. (itstool) path: section/p
#: C/image-viewer.js.page:181
@@ -17208,6 +19191,12 @@ msgid ""
"var b = new Gtk.Button ({label:\"Click me\"});\n"
"b.connect (\"clicked\", button_clicked);"
msgstr ""
+"\n"
+"function button_clicked () {\n"
+" print (\"du klickade på mig!\");\n"
+"}\n"
+"var b = new Gtk.Button ({label:\"Klicka på mig\"});\n"
+"b.connect (\"clicked\", button_clicked);"
#. (itstool) path: section/p
#: C/image-viewer.js.page:194 C/image-viewer.py.page:127
@@ -17220,7 +19209,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/image-viewer.js.page:195
msgid "The syntax for connecting any signal to a function is:"
-msgstr ""
+msgstr "Syntax för att ansluta en godtycklig signal till en funktion är:"
#. (itstool) path: section/code
#: C/image-viewer.js.page:196
@@ -17229,6 +19218,8 @@ msgid ""
"\n"
"object.connect (<signal_name>, <function_to_be_called>);"
msgstr ""
+"\n"
+"object.connect (<signalnamn>, <funktion_att_anropa>);"
#. (itstool) path: section/p
#: C/image-viewer.js.page:198
@@ -17236,6 +19227,8 @@ msgid ""
"You can find signal definitions for any object in the <link href=\"https://developer.gnome.org/gtk3/stable/"
"gtkobjects.html\">GTK class reference</link>."
msgstr ""
+"Du kan hitta signaldefinitioner för alla objekt i <link
href=\"https://developer.gnome.org/gtk3/stable/gtkobjects."
+"html\">GTK-klassreferensen</link>."
#. (itstool) path: note/p
#: C/image-viewer.js.page:201
@@ -17249,6 +19242,8 @@ msgid ""
"\n"
"b.connect (\"clicked\", function () { print (\"you clicked me!\"); });"
msgstr ""
+"\n"
+"b.connect (\"clicked\", function () { print (\"du klickade på mig!\"); });"
#. (itstool) path: section/title
#: C/image-viewer.js.page:209
@@ -17275,7 +19270,7 @@ msgstr ""
#: C/image-viewer.js.page:212
#, no-wrap
msgid "this.window.connect (\"hide\", Gtk.main_quit);"
-msgstr ""
+msgstr "this.window.connect (\"hide\", Gtk.main_quit);"
#. (itstool) path: section/p
#: C/image-viewer.js.page:213
@@ -17289,7 +19284,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/image-viewer.js.page:217 C/image-viewer.py.page:131
msgid "Containers: Laying-out the user interface"
-msgstr ""
+msgstr "Behållare: göra en layout för användargränssnittet"
#. (itstool) path: section/p
#: C/image-viewer.js.page:218 C/image-viewer.py.page:132
@@ -17331,6 +19326,9 @@ msgid ""
"var main_box = new Gtk.Box ({orientation: Gtk.Orientation.VERTICAL, spacing: 0});\n"
"this.window.add (main_box);"
msgstr ""
+"\n"
+"var main_box = new Gtk.Box ({orientation: Gtk.Orientation.VERTICAL, spacing: 0});\n"
+"this.window.add (main_box);"
#. (itstool) path: section/p
#: C/image-viewer.js.page:227
@@ -17351,7 +19349,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/image-viewer.js.page:232 C/image-viewer.py.page:150
msgid "Packing: Adding widgets to the container"
-msgstr ""
+msgstr "Packning: Lägga till komponenter till behållaren"
#. (itstool) path: section/p
#: C/image-viewer.js.page:233
@@ -17368,6 +19366,9 @@ msgid ""
"this.image = new Gtk.Image ();\n"
"main_box.pack_start (this.image, true, true, 0);"
msgstr ""
+"\n"
+"this.image = new Gtk.Image ();\n"
+"main_box.pack_start (this.image, true, true, 0);"
#. (itstool) path: section/p
#: C/image-viewer.js.page:237
@@ -17409,7 +19410,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/image-viewer.js.page:241 C/image-viewer.py.page:160
msgid "Now insert these two lines, below the two you just added:"
-msgstr ""
+msgstr "Infoga nu dessa två rader under de två du just lade till:"
#. (itstool) path: section/code
#: C/image-viewer.js.page:242
@@ -17419,6 +19420,9 @@ msgid ""
"var open_button = new Gtk.Button ({label: \"Open a picture...\"});\n"
"main_box.pack_start (open_button, false, false, 0);"
msgstr ""
+"\n"
+"var open_button = new Gtk.Button ({label: \"Öppna en bild…\"});\n"
+"main_box.pack_start (open_button, false, false, 0);"
#. (itstool) path: section/p
#: C/image-viewer.js.page:245
@@ -17434,13 +19438,13 @@ msgstr ""
#. (itstool) path: section/p
#: C/image-viewer.js.page:246
msgid "Finally, we must change the <code>this.window.show ();</code> line to read:"
-msgstr ""
+msgstr "Slutligen måste vi ändra raden <code>this.window.show ();</code> så att den säger:"
#. (itstool) path: section/code
#: C/image-viewer.js.page:247
#, no-wrap
msgid "this.window.show_all ();"
-msgstr ""
+msgstr "this.window.show_all ();"
#. (itstool) path: section/p
#: C/image-viewer.js.page:248
@@ -17452,7 +19456,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/image-viewer.js.page:252 C/image-viewer.py.page:169
msgid "Loading the image: Connecting to the button's <code>clicked</code> signal"
-msgstr ""
+msgstr "Läsa in bilden: ansluta till knappens <code>clicked</code>-signal"
#. (itstool) path: section/p
#: C/image-viewer.js.page:253
@@ -17476,6 +19480,8 @@ msgid ""
"\n"
"open_button.connect (\"clicked\", Lang.bind (this, this._openClicked));"
msgstr ""
+"\n"
+"open_button.connect (\"clicked\", Lang.bind (this, this._openClicked));"
#. (itstool) path: section/p
#: C/image-viewer.js.page:257
@@ -17495,7 +19501,7 @@ msgstr "const Lang = imports.lang;"
#. (itstool) path: section/title
#: C/image-viewer.js.page:262 C/image-viewer.py.page:180
msgid "Loading the image: Writing the signal's callback"
-msgstr ""
+msgstr "Läsa in bilden: skriva signalens återanrop"
#. (itstool) path: section/p
#: C/image-viewer.js.page:263
@@ -17528,6 +19534,25 @@ msgid ""
" chooser.destroy ();\n"
" }"
msgstr ""
+"\n"
+" _openClicked: function () {\n"
+" var chooser = new Gtk.FileChooserDialog ({title: \"Välj en bild\",\n"
+" action: Gtk.FileChooserAction.OPEN,\n"
+" transient_for: this.window,\n"
+" modal: true});\n"
+" chooser.add_button (Gtk.STOCK_CANCEL, 0);\n"
+" chooser.add_button (Gtk.STOCK_OPEN, 1);\n"
+" chooser.set_default_response (1);\n"
+"\n"
+" var filter = new Gtk.FileFilter ();\n"
+" filter.add_pixbuf_formats ();\n"
+" chooser.filter = filter;\n"
+"\n"
+" if (chooser.run () == 1)\n"
+" this.image.file = chooser.get_filename ();\n"
+"\n"
+" chooser.destroy ();\n"
+" }"
#. (itstool) path: item/p
#: C/image-viewer.js.page:286
@@ -17639,18 +19664,24 @@ msgid ""
"this example. For an example of using the interface designer, check the <link
xref=\"guitar-tuner.py\">Guitar-"
"Tuner demo</link>."
msgstr ""
+"Se till att inaktivera <gui>Använd GtkBuilder för användargränssnitt</gui> då vi kommer bygga
användargränssnittet "
+"manuellt i detta exempel. Se <link xref=\"guitar-tuner.py\">gitarrstämmardemonstrationen</link> för ett
exempel på "
+"hur du använder gränssnittsbyggaren."
+# TODO: Seems to be <gui>Project</gui> or <gui>Files</gui>
#. (itstool) path: item/p
#: C/image-viewer.py.page:64
msgid ""
"Click <gui>Apply</gui> and the project will be created for you. Open <file>src/image_viewer.py</file> from
the "
"<gui>Project</gui> or <gui>File</gui> tabs. It contains very basic example code."
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/image_viewer.py</file>
från "
+"flikarna <gui>Projekt</gui> eller <gui>Filer</gui>. Den innehåller grundläggande exempelkod."
#. (itstool) path: section/p
#: C/image-viewer.py.page:71
msgid "Let's see what a very basic Gtk application looks like in Python:"
-msgstr ""
+msgstr "Låt oss se hur ett väldigt enkelt Gtk-program ser ut i Python:"
#. (itstool) path: section/code
#: C/image-viewer.py.page:72
@@ -17680,6 +19711,29 @@ msgid ""
"\n"
" "
msgstr ""
+"\n"
+"from gi.repository import Gtk, GdkPixbuf, Gdk\n"
+"import os, sys\n"
+"\n"
+"class GUI:\n"
+"\tdef __init__(self):\n"
+"\t\twindow = Gtk.Window()\n"
+"\t\twindow.set_title (\"Hej världen\")\n"
+"\t\twindow.connect_after('destroy', self.destroy)\n"
+"\n"
+"\t\twindow.show_all()\n"
+"\n"
+"\tdef destroy(window, self):\n"
+"\t\tGtk.main_quit()\n"
+"\n"
+"def main():\n"
+"\tapp = GUI()\n"
+"\tGtk.main()\n"
+"\n"
+"if __name__ == \"__main__\":\n"
+" sys.exit(main())\n"
+"\n"
+" "
#. (itstool) path: item/p
#: C/image-viewer.py.page:101
@@ -17699,7 +19753,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/image-viewer.py.page:110
msgid "The rest of the file does initialisation for Gtk and displays the GUI."
-msgstr ""
+msgstr "Resten av filen gör initiering för Gtk och visar det grafiska användargränssnittet."
#. (itstool) path: section/p
#: C/image-viewer.py.page:114
@@ -17707,6 +19761,8 @@ msgid ""
"This code is ready to run, so try it using <guiseq><gui>Run</gui><gui>Execute</gui></guiseq>. It should
show you "
"an empty window."
msgstr ""
+"Koden är redo att köras, så pröva den med <guiseq><gui>Kör</gui><gui>Kör</gui></guiseq>. Den kommer visa
ett tomt "
+"fönster."
#. (itstool) path: section/code
#: C/image-viewer.py.page:121
@@ -17719,6 +19775,12 @@ msgid ""
"b = new Gtk.Button (\"Click me\")\n"
"b.connect_after ('clicked', button_clicked)"
msgstr ""
+"\n"
+"def button_clicked () :\n"
+" print \"Du klickade på mig!\"\n"
+"\n"
+"b = new Gtk.Button (\"Klicka på mig\")\n"
+"b.connect_after ('clicked', button_clicked)"
#. (itstool) path: section/p
#: C/image-viewer.py.page:137
@@ -17738,6 +19800,12 @@ msgid ""
"window.add (box)\n"
"\n"
msgstr ""
+"\n"
+"box = Gtk.Box()\n"
+"box.set_spacing (5)\n"
+"box.set_orientation (Gtk.Orientation.VERTICAL)\n"
+"window.add (box)\n"
+"\n"
#. (itstool) path: section/p
#: C/image-viewer.py.page:145
@@ -17763,6 +19831,9 @@ msgid ""
"self.image = Gtk.Image()\n"
"box.pack_start (self.image, False, False, 0)"
msgstr ""
+"\n"
+"self.image = Gtk.Image()\n"
+"box.pack_start (self.image, False, False, 0)"
#. (itstool) path: section/p
#: C/image-viewer.py.page:155
@@ -17792,6 +19863,9 @@ msgid ""
"button = Gtk.Button (\"Open a picture...\")\n"
"box.pack_start (button, False, False, 0)\n"
msgstr ""
+"\n"
+"button = Gtk.Button (\"Öppna en bild…\")\n"
+"box.pack_start (button, False, False, 0)\n"
#. (itstool) path: section/p
#: C/image-viewer.py.page:165
@@ -17825,12 +19899,16 @@ msgid ""
"\n"
"button.connect_after('clicked', self.on_open_clicked)\n"
msgstr ""
+"\n"
+"button.connect_after('clicked', self.on_open_clicked)\n"
#. (itstool) path: section/p
#: C/image-viewer.py.page:175
msgid ""
"This will connect the <code>clicked</code> signal to <code>on_open_clicked</code> method that we will
define below."
msgstr ""
+"Detta kommer ansluta <code>clicked</code>-signalen till metoden <code>on_open_clicked</code> som vi kommer "
+"definiera nedan."
#. (itstool) path: section/p
#: C/image-viewer.py.page:181
@@ -17859,6 +19937,21 @@ msgid ""
"\n"
"\tdialog.destroy()"
msgstr ""
+"\n"
+"def on_open_clicked (self, button):\n"
+"\tdialog = Gtk.FileChooserDialog (\"Öppna bild\", button.get_toplevel(), Gtk.FileChooserAction.OPEN);\n"
+"\tdialog.add_button (Gtk.STOCK_CANCEL, 0)\n"
+"\tdialog.add_button (Gtk.STOCK_OK, 1)\n"
+"\tdialog.set_default_response(1)\n"
+"\n"
+"\tfilefilter = Gtk.FileFilter ()\n"
+"\tfilefilter.add_pixbuf_formats ()\n"
+"\tdialog.set_filter(filefilter)\n"
+"\n"
+"\tif dialog.run() == 1:\n"
+"\t\tself.image.set_from_file(dialog.get_filename())\n"
+"\n"
+"\tdialog.destroy()"
#. (itstool) path: item/p
#: C/image-viewer.py.page:200
@@ -17914,12 +20007,14 @@ msgstr "Philip Chimento"
#. (itstool) path: synopsis/p
#: C/image-viewer.vala.page:39
msgid "In this tutorial you will create an application which opens and displays an image file. You will
learn:"
-msgstr ""
+msgstr "I denna handledning kommer du skapa ett program som öppnar och visar en bildfil. Du kommer att lära
dig:"
#. (itstool) path: item/p
#: C/image-viewer.vala.page:41
msgid "How to set up a basic project using the <link xref=\"getting-ready\">Anjuta IDE</link>."
msgstr ""
+"Hur du konfigurerar ett grundläggande projekt med den <link xref=\"getting-ready\">integrerade
utvecklingsmiljön "
+"Anjuta</link>."
#. (itstool) path: item/p
#: C/image-viewer.vala.page:42
@@ -17927,11 +20022,14 @@ msgid ""
"How to write a <link href=\"http://developer.gnome.org/platform-overview/stable/gtk\">Gtk
application</link> in "
"Vala"
msgstr ""
+"Hur du skriver ett <link
href=\"http://developer.gnome.org/platform-overview/stable/gtk\">Gtk-program</link> i Vala"
#. (itstool) path: item/p
#: C/image-viewer.vala.page:43
msgid "Some basic concepts of <link href=\"http://developer.gnome.org/gobject/stable/\">GObject</link>
programming"
msgstr ""
+"Några grundläggande koncept i <link href=\"http://developer.gnome.org/gobject/stable/\">GObject</link>-"
+"programmering"
#. (itstool) path: item/p
#: C/image-viewer.vala.page:50
@@ -17939,6 +20037,8 @@ msgid ""
"You may find the <link href=\"http://valadoc.org/gtk+-3.0/\">gtk+-3.0</link> API Reference useful, although
it is "
"not necessary to follow the tutorial."
msgstr ""
+"Du kan finna API-referensen för <link href=\"http://valadoc.org/gtk+-3.0/\">gtk+-3.0</link> användbar, även
om det "
+"inte är nödvändigt att följa handledningen."
#. (itstool) path: item/p
#: C/image-viewer.vala.page:66
@@ -17955,6 +20055,8 @@ msgid ""
"Make sure that <gui>Use GtkBuilder for user interface</gui> is unchecked as we will create the UI manually
in this "
"tutorial."
msgstr ""
+"Säkerställ att <gui>Använd GtkBuilder för användargränssnitt</gui> inte är ikryssad då vi kommer skapa "
+"användargränssnittet manuellt i denna handledning."
#. (itstool) path: note/p
#: C/image-viewer.vala.page:71
@@ -17962,6 +20064,8 @@ msgid ""
"You will learn how to use the interface builder in the <link xref=\"guitar-tuner.vala\">Guitar-Tuner</link>
"
"tutorial."
msgstr ""
+"Du kommer lära dig hur du använder gränssnittsbyggaren i handledningen <link xref=\"guitar-tuner.vala"
+"\">Gitarrstämmare</link>."
#. (itstool) path: item/p
#: C/image-viewer.vala.page:75
@@ -17969,6 +20073,8 @@ msgid ""
"Click <gui>Continue</gui> then <gui>Apply</gui> and the project will be created for you. Open <file>src/"
"image_viewer.vala</file> from the <gui>Project</gui> or <gui>File</gui> tabs. You will see this code:"
msgstr ""
+"Klicka på <gui>Fortsätt</gui> sedan <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna
<file>src/"
+"image_viewer.vala</file> från flikarna <gui>Projekt</gui> eller <gui>Filer</gui>. Du kommer se denna kod:"
#. (itstool) path: item/code
#: C/image-viewer.vala.page:78
@@ -18005,6 +20111,36 @@ msgid ""
"\t}\n"
"}"
msgstr ""
+"\n"
+"using GLib;\n"
+"using Gtk;\n"
+"\n"
+"public class Main : Object\n"
+"{\n"
+"\n"
+"\tpublic Main ()\n"
+"\t{\n"
+"\t\tWindow window = new Window();\n"
+"\t\twindow.set_title (\"Hej världen\");\n"
+"\t\twindow.show_all();\n"
+"\t\twindow.destroy.connect(on_destroy);\n"
+"\t}\n"
+"\n"
+"\tpublic void on_destroy (Widget window)\n"
+"\t{\n"
+"\t\tGtk.main_quit();\n"
+"\t}\n"
+"\n"
+"\tstatic int main (string[] args)\n"
+"\t{\n"
+"\t\tGtk.init (ref args);\n"
+"\t\tvar app = new Main ();\n"
+"\n"
+"\t\tGtk.main ();\n"
+"\n"
+"\t\treturn 0;\n"
+"\t}\n"
+"}"
#. (itstool) path: section/p
#: C/image-viewer.vala.page:114
@@ -18064,11 +20200,14 @@ msgid ""
"private Window window;\n"
"private Image image;\n"
msgstr ""
+"\n"
+"private Window window;\n"
+"private Image image;\n"
#. (itstool) path: section/p
#: C/image-viewer.vala.page:150
msgid "Now replace the current constructor with the one below:"
-msgstr ""
+msgstr "Ersätt nu den aktuella konstruktorn med den nedan:"
#. (itstool) path: section/code
#: C/image-viewer.vala.page:151
@@ -18097,6 +20236,28 @@ msgid ""
"\twindow.destroy.connect (main_quit);\n"
"}\n"
msgstr ""
+"\n"
+"\n"
+"public Main () {\n"
+"\n"
+"\twindow = new Window ();\n"
+"\twindow.set_title (\"Bildvisare i Vala\");\n"
+"\n"
+"\t// Konfigurera användargränssnittet\n"
+"\tvar box = new Box (Orientation.VERTICAL, 5);\n"
+"\tvar button = new Button.with_label (\"Öppna bild\");\n"
+"\timage = new Image ();\n"
+"\n"
+"\tbox.pack_start (image, true, true, 0);\n"
+"\tbox.pack_start (button, false, false, 0);\n"
+"\twindow.add (box);\n"
+"\n"
+"\t// Visa öppna-dialog när en fil öppnas\n"
+"\tbutton.clicked.connect (on_open_image);\n"
+"\n"
+"\twindow.show_all ();\n"
+"\twindow.destroy.connect (main_quit);\n"
+"}\n"
#. (itstool) path: item/p
#: C/image-viewer.vala.page:176
@@ -18228,6 +20389,8 @@ msgid ""
"\n"
" button.clicked.connect (on_open_image);\n"
msgstr ""
+"\n"
+" button.clicked.connect (on_open_image);\n"
#. (itstool) path: item/p
#: C/image-viewer.vala.page:248
@@ -18484,7 +20647,7 @@ msgstr "En etikett som kan innehålla text"
#. (itstool) path: page/p
#: C/label.js.page:23
msgid "A label displaying a friendly message."
-msgstr ""
+msgstr "En etikett som visar ett vänligt meddelande."
#. (itstool) path: page/code
#: C/label.js.page:25
@@ -18550,6 +20713,65 @@ msgid ""
"let app = new LabelExample ();\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 LabelExample {\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.jslabel',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 initierar menyer och 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"
+" title: \"Välkommen till GNOME\",\n"
+" default_height: 100,\n"
+" default_width: 200\n"
+" });\n"
+"\n"
+" // Skapa etiketten\n"
+" this.label = new Gtk.Label({ label: \"Hej GNOME!\" });\n"
+" this._window.add(this.label);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" }\n"
+"\n"
+"\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new LabelExample ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/label.js.page:32
@@ -18565,7 +20787,7 @@ msgstr "Label (Python)"
#. (itstool) path: info/desc
#: C/label.py.page:27
msgid "A widget that displays a small to medium amount of text"
-msgstr ""
+msgstr "En komponent som visar en liten till medelstor mängd text"
#. (itstool) path: section/p
#: C/label.py.page:41
@@ -18617,6 +20839,39 @@ msgid ""
" # show the window and everything on it\n"
" win.show_all()"
msgstr ""
+"\n"
+"# en klass för att definiera ett fönster\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Välkommen till GNOME\", application=app)\n"
+" self.set_default_size(200, 100)\n"
+"\n"
+"# en klass för att definiera en etikett\n"
+"<e:hi>\n"
+"class MyLabel(Gtk.Label):\n"
+" def __init__(self):\n"
+" Gtk.Label.__init__(self)\n"
+" self.set_text(\"Hej GNOME!\")\n"
+"</e:hi>\n"
+"\n"
+"class MyApplication(Gtk.Application):\n"
+" def __init__(self):\n"
+" Gtk.Application.__init__(self)\n"
+"\n"
+" def do_activate(self):\n"
+" # skapa en instans av MyWindow\n"
+" win = MyWindow(self)\n"
+"\n"
+" # skapa en instans av MyLabel\n"
+"<e:hi>\n"
+" label = MyLabel()\n"
+"</e:hi>\n"
+" # och lägg till den till fönstret\n"
+"<e:hi>\n"
+" win.add(label)\n"
+"</e:hi>\n"
+" # visa fönstret och allt som finns i det\n"
+" win.show_all()"
#. (itstool) path: section/title
#: C/label.py.page:82
@@ -19320,13 +21575,12 @@ msgstr ""
#. (itstool) path: item/p
#: C/magic-mirror.vala.page:60
-#, fuzzy
msgid ""
"Disable <gui>Use GtkBuilder for user interface</gui> as we will create the UI manually in this tutorial.
Check the "
"<link xref=\"guitar-tuner.vala\">Guitar-Tuner</link> tutorial using the interface builder."
msgstr ""
"Inaktivera <gui>Använd GtkBuilder för användargränssnitt</gui> då vi kommer skapa användargränssnittet
manuellt i "
-"denna handledning. Se handledningen <link xref=\"guitar-tuner.vala\">Guitar-Tuner</link> för att se "
+"denna handledning. Se handledningen <link xref=\"guitar-tuner.vala\">Gitarrstämmare</link> för användning
av "
"gränssnittsbyggaren."
#. (itstool) path: item/p
@@ -19335,13 +21589,18 @@ msgid ""
"Make sure that <gui>Configure external packages</gui> is selected. On the next page, select
<em>gstreamer-0.10</"
"em> from the list to include the <app>GStreamer</app> library into your project."
msgstr ""
+"Säkerställ att <gui>Konfigurera externa paket</gui> är valt. På nästa sida, välj <em>gstreamer-0.10</em>
från "
+"listan för att inkludera <app>GStreamer</app>-biblioteket i ditt projekt."
+# TODO: Seems to be <gui>Project</gui> or <gui>Files</gui>
#. (itstool) path: item/p
#: C/magic-mirror.vala.page:69
msgid ""
"Click <gui>Apply</gui> and the project will be created for you. Open <file>src/magic_mirror.vala</file>
from the "
"<gui>Project</gui> or <gui>File</gui> tabs. You should see some code which starts with the lines:"
msgstr ""
+"Klicka på <gui>Verkställ</gui> så kommer projektet skapas åt dig. Öppna <file>src/magic_mirror.vala</file>
från "
+"flikarna <gui>Projekt</gui> eller <gui>Filer</gui>. Du bör se kod som börjar med raderna:"
#. (itstool) path: section/p
#: C/magic-mirror.vala.page:79
@@ -19481,11 +21740,13 @@ msgid ""
"To find out more about the Vala programming language you might want to check out the <link
href=\"http://live."
"gnome.org/Vala/Tutorial\">Vala Tutorial</link>."
msgstr ""
+"För att lära dig mer om programmeringsspråket Vala kan du vilja ta en titt på <link
href=\"http://live.gnome.org/"
+"Vala/Tutorial\">Vala-handledningen</link>."
#. (itstool) path: section/title
#: C/magic-mirror.vala.page:163
msgid "Conclusion"
-msgstr ""
+msgstr "Avslutning"
#. (itstool) path: section/p
#: C/magic-mirror.vala.page:164
@@ -19504,7 +21765,7 @@ msgstr ""
#. (itstool) path: info/desc
#: C/menubar.c.page:20 C/menubar.py.page:25 C/menubar.vala.page:20
msgid "A widget which holds GtkMenuItem widgets"
-msgstr ""
+msgstr "En komponent som håller GtkMenuItem-komponenter"
#. (itstool) path: page/title
#: C/menubar.c.page:23 C/menubar.vala.page:23
@@ -20003,7 +22264,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/menubar.py.page:55 C/menubar.vala.page:51
msgid "Add items to the menus"
-msgstr ""
+msgstr "Lägg till objekt till menyerna"
#. (itstool) path: section/p
#: C/menubar.py.page:56 C/menubar.vala.page:52
@@ -20109,6 +22370,11 @@ msgid ""
" <attribute name=\"action\">app.new</attribute>\n"
"</item>"
msgstr ""
+"\n"
+"<item>\n"
+" <attribute name=\"label\">Ny</attribute>\n"
+" <attribute name=\"action\">app.new</attribute>\n"
+"</item>"
#. (itstool) path: section/p
#: C/menubar.py.page:112
@@ -20135,7 +22401,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/menubar.py.page:118
msgid "See <link xref=\"signals-callbacks.py\"/> for a more detailed explanation of signals and callbacks."
-msgstr ""
+msgstr "Se <link xref=\"signals-callbacks.py\"/> för en mer detaljerad förklaring av signaler och återanrop."
#. (itstool) path: section/title
#: C/menubar.py.page:122 C/menubar.vala.page:139
@@ -20583,6 +22849,9 @@ msgid ""
"link>, it is important that the strings in your application are translatable. To make a label translatable,
simple "
"set <code>translatable=\"yes\"</code>:"
msgstr ""
+"Eftersom GNOME-program översätts till <link href=\"http://l10n.gnome.org/languages/\">många språk</link> så
är det "
+"viktigt att strängarna i ditt program går att översätta. För att göra en etikett översättningsbar, ställ
helt "
+"enkelt in <code>translatable=\"yes\"</code>:"
#. (itstool) path: section/code
#: C/menubar.py.page:179
@@ -20653,7 +22922,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/menubar.vala.page:45
msgid "Now, compile the vala file, and run it. The application should look like the picture at the top of
this page."
-msgstr ""
+msgstr "Kompilera nu vala-filen och kör den. Programmet bör se ut som bilden högst upp på denna sida."
#. (itstool) path: section/p
#: C/menubar.vala.page:80
@@ -20719,7 +22988,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/menubar.vala.page:106
msgid "Second, we create the callback functions the actions are connected to."
-msgstr ""
+msgstr "Sedan skapar vi återanropsfunktionerna som åtgärderna är anslutna till."
#. (itstool) path: item/code
#: C/menubar.vala.page:107
@@ -20740,7 +23009,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/menubar.vala.page:118
msgid "And lastly, we connect the menu items to the actions in the XML file by adding the \"action\"
attribute:"
-msgstr ""
+msgstr "Slutligen ansluter vi menyobjekten till åtgärderna i XML-filen genom att lägga till attributet
\"action\":"
#. (itstool) path: item/code
#: C/menubar.vala.page:119
@@ -21411,7 +23680,7 @@ msgstr ""
#: C/message-board.c.page:8
msgctxt "text"
msgid "Message board (C)"
-msgstr ""
+msgstr "Anslagstavla (C)"
#. (itstool) path: info/desc
#: C/message-board.c.page:11
@@ -21421,7 +23690,7 @@ msgstr "Ett enkelt program som använder WebKitGTK+ och DOM."
#. (itstool) path: page/title
#: C/message-board.c.page:26
msgid "Message board"
-msgstr ""
+msgstr "Anslagstavla"
#. (itstool) path: item/p
#: C/message-board.c.page:31
@@ -21461,6 +23730,9 @@ msgid ""
"throughout GNOME, not just to view web pages on the Internet, but also to create rich user interfaces that
can be "
"easily styled with CSS."
msgstr ""
+"GNOME-plattformen inkluderar WebKitGTK+, byggd på det kraftfulla HTML-ramverket WebKit. WebKit används runt
om i "
+"GNOME, inte bara för att visa webbsidor på internet, utan också för att skapa rika användargränssnitt som
lätt kan "
+"stilsättas med CSS."
#. (itstool) path: section/p
#: C/message-board.c.page:53
@@ -21469,6 +23741,9 @@ msgid ""
"some text and have it added to a list of messages in HTML. Before you begin, you need to set up a project
in "
"Anjuta."
msgstr ""
+"I denna handledning kommer du skapa en enkel anslagstavla med WebKit. Anslagstavlan kommer låta dig mata in
lite "
+"text och lägga till den till en lista med meddelanden i HTML. Innan du börjar behöver du konfigurera ett
projekt i "
+"Anjuta."
#. (itstool) path: item/p
#: C/message-board.c.page:59
@@ -21499,6 +23774,8 @@ msgid ""
"Disable the <gui>Use GtkBuilder for user interface</gui> option as this tutorial builds the user-interface "
"manually."
msgstr ""
+"Inaktivera alternativet <gui>Använd GtkBuilder för användargränssnitt</gui> då denna handledning bygger "
+"användargränssnittet manuellt."
#. (itstool) path: item/p
#: C/message-board.c.page:69
@@ -21507,6 +23784,9 @@ msgid ""
"<gui>Configure external packages</gui>. Click <gui>Continue</gui>. On the <gui>Configure external
packages</gui> "
"page, check <gui>webkitgtk-3.0</gui>."
msgstr ""
+"Du behöver säga till Anjuta att du använder WebKitGTK+ för detta projekt. På sidan
<gui>Projektalternativ</gui>, "
+"välj <gui>Konfigurera externa paket</gui>. Klicka på <gui>Fortsätt</gui>. På sidan <gui>Konfigurera externa
paket</"
+"gui>, kryssa i <gui>webkitgtk-3.0</gui>."
#. (itstool) path: section/p
#: C/message-board.c.page:75
@@ -21516,6 +23796,10 @@ msgid ""
"Since you are creating a WebKit project, you first need to include the WebKit headers. After the line that "
"includes <code>gtk/gtk.h</code>, add the following line:"
msgstr ""
+"Efter att du slutför guiden för nya projekt, öppna filen <file>src/main.js</file> från flikarna
<gui>Projekt</gui> "
+"eller <gui>Filer</gui>. Anjuta kommer ha fyllt i denna med lite grundläggande GTK+-kod från sina mallar.
Eftersom "
+"du skapar ett WebKit-projekt behöver du först inkludera WebKit-headerfilerna. Lägg till följande rad efter
raden "
+"som inkluderar <code>gtk/gtk.h</code>:"
#. (itstool) path: section/code
#: C/message-board.c.page:82
@@ -21541,7 +23825,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/message-board.c.page:96
msgid "Lay out your window and web view"
-msgstr ""
+msgstr "Skapa en layout för ditt fönster och din webbvy"
#. (itstool) path: section/p
#: C/message-board.c.page:98
@@ -21716,7 +24000,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/message-board.c.page:217
msgid "Hook up signals"
-msgstr ""
+msgstr "Anslut signaler"
#. (itstool) path: section/p
#: C/message-board.c.page:219
@@ -21923,6 +24207,9 @@ msgid ""
"manipulating its contents. To create a real application, you probably want to do a little bit more. Try
adding "
"features on your own. Here are a few ideas:"
msgstr ""
+"Denna handledning visade dig hur du skapar ett enkelt program med GTK+ och WebKit, inklusive att visa ett
dokument "
+"och manipulera dess innehåll. För att skapa ett riktigt program vill du förmodligen göra lite mer. Försök
lägga "
+"till egen funktionalitet. Här är några idéer:"
#. (itstool) path: item/p
#: C/message-board.c.page:377
@@ -21931,6 +24218,9 @@ msgid ""
"but increasingly more powerful. There is a wealth of CSS tutorials on the Internet, and just about
everything you "
"can do on the web, you can do in this application."
msgstr ""
+"Om du är bekväm med CSS kan du försöka ändra stilen för meddelandevisningen. CSS är enkelt att komma igång
med, "
+"men blir alltmer kraftfullt. Det finns en stor mängd CSS-handledningar på internet, och i princip allt du
kan göra "
+"på webben kan du göra i detta program."
#. (itstool) path: item/p
#: C/message-board.c.page:383
@@ -21938,6 +24228,8 @@ msgid ""
"Right now, you lose all your messages whenever you close the message board. Try saving the HTML contents
after "
"each post, and loading the saved file (if it exists) on startup."
msgstr ""
+"För tillfället förlorar du alla dina meddelanden närhelst du stänger anslagstavlan. Försök att spara HTML-"
+"innehållet efter varje post, och läsa in den sparade filen (om den finns) vid uppstart."
#. (itstool) path: item/p
#: C/message-board.c.page:391
@@ -21946,6 +24238,9 @@ msgid ""
"each message when it's posted. You'll probably want to create some additional child <code>div</code>
elements with "
"different classes that you can style in the CSS."
msgstr ""
+"Om du behåller dina meddelanden länge kommer du börja fundera när du postade dem. Lägg till en tidsstämpel
till "
+"varje meddelande då det postas. Du kommer troligen vilja skapa några <code>div</code>-barnelement med olika
"
+"klasser som du kan stilsätta i din CSS."
#. (itstool) path: item/p
#: C/message-board.c.page:398
@@ -21955,6 +24250,11 @@ msgid ""
"messages before them. Or you could add a link in each message to delete it. You could even override the
context "
"menu when you right-click on a message. These features involve exploring WebKit's DOM API more."
msgstr ""
+"Detta program behåller meddelanden för alltid. Tänk på sätt som du skulle kunna låta användaren ta bort "
+"meddelanden. Kanske du vill att meddelanden ska försvinna automatiskt efter att de blivit för gamla, eller
efter "
+"att det finns ett visst antal meddelanden före dem. Eller så skulle du kunna lägga till en länk i varje
meddelande "
+"för att ta bort det. Du skulle till och med kunna åsidosätta snabbvalsmenyn då du högerklickar på ett
meddelande. "
+"Dessa funktioner involverar att utforska WebKits DOM-API mera."
#. (itstool) path: info/title
#: C/messagedialog.c.page:8
@@ -21985,7 +24285,7 @@ msgstr "external ref='media/messagedialog.png' md5='1956288274018e2386d9cba96a21
#. (itstool) path: page/p
#: C/messagedialog.c.page:25 C/messagedialog.vala.page:23
msgid "A modal message dialog which can cause the world to explode."
-msgstr ""
+msgstr "En modal meddelandedialog som kan få världen att explodera."
#. (itstool) path: note/p
#: C/messagedialog.c.page:26
@@ -22197,7 +24497,7 @@ msgstr "MessageDialog (Javascript)"
#. (itstool) path: info/desc
#: C/messagedialog.js.page:21
msgid "A popup message attached to a window"
-msgstr ""
+msgstr "Ett poppuppmeddelande fäst vid ett fönster"
#. (itstool) path: page/p
#: C/messagedialog.js.page:26
@@ -22266,6 +24566,31 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const MessageDialogExample = new Lang.Class ({\n"
+" Name: 'MessageDialog-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function () {\n"
+" this.application = new Gtk.Application ({\n"
+" application_id: 'org.example.jsmessagedialog',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal visar fönster när den aktiveras\n"
+" _onActivate: function () {\n"
+" this._window.present ();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal initierar menyer och bygger användargränssnittet\n"
+" _onStartup: function () {\n"
+" this._initMenus();\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: note/p
#: C/messagedialog.js.page:71 C/switch.js.page:76
@@ -22291,6 +24616,17 @@ msgid ""
" default_height: 200,\n"
" default_width: 400 });\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function () {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow ({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"Gtk.MessageDialog-exempel\",\n"
+" default_height: 200,\n"
+" default_width: 400 });\n"
#. (itstool) path: section/code
#: C/messagedialog.js.page:86
@@ -22302,6 +24638,11 @@ msgid ""
" label: \"This application goes boom! (Not really.)\"});\n"
" this._window.add (this.warningLabel);\n"
msgstr ""
+"\n"
+" // Skapa ett fånigt varningsmeddelande och lägg till det till fönstret\n"
+" this.warningLabel = new Gtk.Label ({\n"
+" label: \"Detta program sprängs! (Inte på riktigt.)\"});\n"
+" this._window.add (this.warningLabel);\n"
#. (itstool) path: section/p
#: C/messagedialog.js.page:92
@@ -22313,7 +24654,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/messagedialog.js.page:96
msgid "Creating the application's menu"
-msgstr ""
+msgstr "Skapa programmets meny"
#. (itstool) path: section/code
#: C/messagedialog.js.page:97
@@ -22357,7 +24698,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/messagedialog.js.page:126
msgid "Creating the MessageDialog"
-msgstr ""
+msgstr "Skapa vår MessageDialog"
#. (itstool) path: section/code
#: C/messagedialog.js.page:127
@@ -22378,6 +24719,20 @@ msgid ""
" this._messageDialog.show();\n"
" },\n"
msgstr ""
+"\n"
+" _showMessageDialog: function () {\n"
+"\n"
+" // Skapa en modal MessageDialog vars förälder är fönstret\n"
+" this._messageDialog = new Gtk.MessageDialog ({\n"
+" transient_for: this._window,\n"
+" modal: true,\n"
+" buttons: Gtk.ButtonsType.OK_CANCEL,\n"
+" message_type: Gtk.MessageType.WARNING,\n"
+" text: \"Denna åtgärd kommer få universum att sluta existera.\" });\n"
+"\n"
+" this._messageDialog.connect ('response', Lang.bind(this, this._response_cb));\n"
+" this._messageDialog.show();\n"
+" },\n"
#. (itstool) path: section/p
#: C/messagedialog.js.page:142
@@ -22391,7 +24746,7 @@ msgstr ""
#. (itstool) path: note/p
#: C/messagedialog.js.page:143
msgid "Here are some resources for making your own MessageDialogs:"
-msgstr ""
+msgstr "Här är några resurser för att göra dina egna MessageDialoger:"
#. (itstool) path: item/p
#: C/messagedialog.js.page:145
@@ -22593,7 +24948,7 @@ msgstr "MessageDialog (Python)"
#. (itstool) path: page/p
#: C/messagedialog.py.page:24
msgid "A message dialog which prints messages on the terminal, depending on your choices."
-msgstr ""
+msgstr "En meddelandedialog som skriver ut meddelanden i terminalen, beroende på dina val."
#. (itstool) path: section/code
#: C/messagedialog.py.page:31
@@ -22727,7 +25082,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/messagedialog.py.page:42
msgid "We could substitute the default image of the MessageDialog with another image using"
-msgstr ""
+msgstr "Vi skulle kunna ersätta standardbilden för vår MessageDialog med en annan genom att använda"
#. (itstool) path: item/code
#: C/messagedialog.py.page:43
@@ -22739,7 +25094,13 @@ msgid ""
"image.show()\n"
"messagedialog.set_image(image)"
msgstr ""
+"\n"
+"image = Gtk.Image()\n"
+"image.set_from_stock(Gtk.STOCK_CAPS_LOCK_WARNING, Gtk.IconSize.DIALOG)\n"
+"image.show()\n"
+"messagedialog.set_image(image)"
+# TODO: GTK_STOCK_CAPS_LOCK_WARNING deprecated since GNOME 3.10
#. (itstool) path: item/p
#: C/messagedialog.py.page:48
msgid ""
@@ -22747,6 +25108,9 @@ msgid ""
"unstable/gtk3-Stock-Items.html\">Stock Items</link>. We could also set any image as in the Image widget, as
"
"<code>image.set_from_file(\"filename.png\")</code>."
msgstr ""
+"där <code>Gtk.STOCK_CAPS_LOCK_WARNING</code> är någon bild från <link
href=\"http://developer.gnome.org/gtk3/"
+"unstable/gtk3-Stock-Items.html\">standardobjekten</link>. Vi skulle också kunna ställa in valfri bild som i
Image-"
+"komponenten, som <code>image.set_from_file(\"filnamn.png\")</code>."
#. (itstool) path: item/p
#: C/messagedialog.py.page:49
@@ -22754,6 +25118,8 @@ msgid ""
"<code>format_secondary_text(\"some secondary message\")</code> sets a secondary message. The primary text
becomes "
"bold."
msgstr ""
+"<code>format_secondary_text(\"något sekundärt meddelande\")</code> ställer in ett sekundärt meddelande. Den
"
+"primära texten blir fet."
#. (itstool) path: item/p
#: C/messagedialog.py.page:59
@@ -23035,7 +25401,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/model-view-controller.py.page:77
msgid "The <code>Gtk.TreeViewColumn</code> is used to organize the vertical columns."
-msgstr ""
+msgstr "<code>Gtk.TreeViewColumn</code> används för att organisera de vertikala kolumnerna."
#. (itstool) path: section/p
#: C/model-view-controller.py.page:79
@@ -23429,8 +25795,9 @@ msgstr "external ref='media/paned.png' md5='8c7e1df065395c9aafcd65036a293d8a'"
#. (itstool) path: page/p
#: C/paned.c.page:23 C/paned.js.page:23 C/paned.py.page:24 C/paned.vala.page:23
+#, fuzzy
msgid "Two images in two adjustable panes, horizontally aligned."
-msgstr ""
+msgstr "Två bilder i två justerbara paneler, ordnade horisontellt."
#. (itstool) path: section/code
#: C/paned.c.page:29
@@ -23527,6 +25894,8 @@ msgid ""
"<link
href=\"http://developer.gnome.org/gtk3/stable/gtk3-Standard-Enumerations.html#GtkOrientation\">Standard "
"Enumerations</link>"
msgstr ""
+"<link href=\"http://developer.gnome.org/gtk3/stable/gtk3-Standard-Enumerations.html#GtkOrientation"
+"\">Standarduppräkningstyper</link>"
#. (itstool) path: info/title
#: C/paned.js.page:8
@@ -23599,6 +25968,66 @@ msgid ""
"let app = new PanedExample();\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 PanedExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({ application_id: 'org.example.panedexample' });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 bygger användargränssnittet\n"
+" _onStartup() {\n"
+" this._buildUI();\n"
+" }\n"
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI() {\n"
+" // Skapa programfönstret\n"
+" this.window = new Gtk.ApplicationWindow ({ application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"Paned-fönsterexempel\",\n"
+" default_width: 450,\n"
+" default_height: 350,\n"
+" border_width: 10 });\n"
+"\n"
+" // en ny komponent med två justerbara paneler,\n"
+" // en till vänster och en till höger\n"
+" this.paned = Gtk.Paned.new(Gtk.Orientation.HORIZONTAL);\n"
+"\n"
+" // två bilder\n"
+" this.image1 = new Gtk.Image();\n"
+" this.image1.set_from_file(\"gnome-image.png\");\n"
+" this.image2 = new Gtk.Image();\n"
+" this.image2.set_from_file(\"tux.png\");\n"
+"\n"
+" // lägg till den första bilden till den vänstra panelen\n"
+" this.paned.add1(this.image1);\n"
+" // lägg till den andra bilden till den högra panelen\n"
+" this.paned.add2(this.image2)\n"
+"\n"
+" // lägg till panelerna till fönstret\n"
+" this.window.add(this.paned)\n"
+" this.window.show_all();\n"
+" }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new PanedExample();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/paned.js.page:36
@@ -23665,6 +26094,50 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Paned-exempel\", application=app)\n"
+" self.set_default_size(450, 350)\n"
+"\n"
+" # en ny komponent med två justerbara paneler,\n"
+" # en till vänster och en till höger\n"
+" paned = Gtk.Paned.new(Gtk.Orientation.HORIZONTAL)\n"
+"\n"
+" # två bilder\n"
+" image1 = Gtk.Image()\n"
+" image1.set_from_file(\"gnome-image.png\")\n"
+" image2 = Gtk.Image()\n"
+" image2.set_from_file(\"tux.png\")\n"
+"\n"
+" # lägg till den första bilden till den vänstra panelen\n"
+" paned.add1(image1)\n"
+" # lägg till den andra bilden till den högra panelen\n"
+" paned.add2(image2)\n"
+"\n"
+" # lägg till panelerna till fönstret\n"
+" self.add(paned)\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/paned.py.page:34
@@ -23673,11 +26146,15 @@ msgstr "Användbara metoder för en Paned-komponent"
#. (itstool) path: section/p
#: C/paned.py.page:35
+#, fuzzy
msgid ""
"To have two vertically aligned panes, use <code>Gtk.Orientation.VERTICAL</code> instead of
<code>Gtk.Orientation."
"HORIZONTAL</code>. The method <code>add1(widget1)</code> will add the <code>widget1</code> to the top pane,
and "
"<code>add2(widget2)</code> will add the <code>widget2</code> to the bottom pane."
msgstr ""
+"För att ha två vertikalt ordnade paneler, använd <code>Gtk.Orientation.VERTICAL</code> istället för
<code>Gtk."
+"Orientation.HORIZONTAL</code>. Metoden <code>add1(widget1)</code> kommer lägga till <code>widget1</code>
till den "
+"övre panelen, och <code>add2(widget2)</code> kommer lägga till <code>widget2</code> till den nedre panelen."
#. (itstool) path: info/title
#: C/paned.vala.page:8
@@ -23725,6 +26202,41 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"/* Det här är programmet. */\n"
+"public class MyApplication : Gtk.Application {\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application. */\n"
+"\tprotected override void activate () {\n"
+"\n"
+"\t\tvar window = new Gtk.ApplicationWindow (this);\n"
+"\t\twindow.title = \"Paned-exempel\";\n"
+"\t\twindow.set_default_size (450,350);\n"
+"\n"
+"\t\t// en ny komponent med två justerbara paneler,\n"
+"\t\t// en till vänster och en till höger\n"
+"\t\tvar paned = new Gtk.Paned (Gtk.Orientation.HORIZONTAL);\n"
+"\n"
+"\t\t/* två bilder */\n"
+"\t\tvar image1 = new Gtk.Image ();\n"
+"\t\timage1.set_from_file (\"gnome-image.png\");\n"
+"\t\tvar image2 = new Gtk.Image ();\n"
+"\t\timage2.set_from_file (\"tux.png\");\n"
+"\n"
+"\t\t/* lägg till den första bilden till den vänstra panelen */\n"
+"\t\tpaned.add1 (image1);\n"
+"\n"
+"\t\t/* lägg till den andra bilden till den högra panelen */\n"
+"\t\tpaned.add2 (image2);\n"
+"\n"
+"\t\t/* lägg till panelerna till fönstret */\n"
+"\t\twindow.add (paned);\n"
+"\t\twindow.show_all ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet. */\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/paned.vala.page:36
@@ -23770,7 +26282,7 @@ msgstr "Hur du placerar en bild i en <code>ClutterActor</code>"
#. (itstool) path: item/p
#: C/photo-wall.c.page:35
msgid "How to do simple transitions using Clutter's animation framework"
-msgstr ""
+msgstr "Hur du gör enkla övergångar med Clutters animeringsramverk"
#. (itstool) path: item/p
#: C/photo-wall.c.page:36
@@ -23794,6 +26306,9 @@ msgid ""
"demonstrates a small, but central, part of the Clutter library to create a simple but attractive image
viewing "
"program."
msgstr ""
+"Clutter är ett bibliotek för att skapa dynamiska användargränssnitt med OpenGL för hårdvaruacceleration.
Detta "
+"exempel demonstrerar en liten, men central, del av Clutter-biblioteket för att skapa ett enkelt men vackert
"
+"bildvisningsprogram."
#. (itstool) path: section/p
#: C/photo-wall.c.page:46
@@ -23818,6 +26333,9 @@ msgid ""
"Make sure that <gui>Use GtkBuilder for user interface</gui> is disabled as we will create the UI manually
in this "
"tutorial. Check the <link xref=\"guitar-tuner.c\">Guitar-Tuner</link> tutorial using the interface builder."
msgstr ""
+"Säkerställ att <gui>Använd GtkBuilder för användargränssnitt</gui> är inaktiverat då vi kommer skapa "
+"användargränssnittet manuellt i denna handledning. Se handledningen <link
xref=\"guitar-tuner.c\">Gitarrstämmare</"
+"link> för användning av gränssnittsbyggaren."
#. (itstool) path: item/p
#: C/photo-wall.c.page:67
@@ -23825,6 +26343,8 @@ msgid ""
"Enable <gui>Configure external packages</gui>. On the next page, select <em>clutter-1.0</em> from the list
to "
"include the Clutter library in your project."
msgstr ""
+"Aktivera <gui>Konfigurera externa paket</gui>. På nästa sida, välj <em>clutter-1.0</em> från listan för att
"
+"inkludera Clutter-biblioteket i ditt projekt."
#. (itstool) path: section/title
#: C/photo-wall.c.page:80
@@ -23926,7 +26446,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/photo-wall.c.page:119
msgid "Jumping into the code"
-msgstr ""
+msgstr "Ett hopp in i koden"
#. (itstool) path: section/p
#: C/photo-wall.c.page:120
@@ -23938,7 +26458,7 @@ msgstr ""
#. (itstool) path: section/code
#: C/photo-wall.c.page:123
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\n"
"int\n"
@@ -24002,6 +26522,67 @@ msgid ""
" return 0;\n"
"}"
msgstr ""
+"\n"
+"int\n"
+"main(int argc, char *argv[])\n"
+"{\n"
+" ClutterColor stage_color = { 16, 16, 16, 255 };\n"
+" ClutterActor *stage = NULL;\n"
+"\n"
+" if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)\n"
+" return 1;\n"
+"\n"
+" stage = clutter_stage_new();\n"
+" clutter_actor_set_size(stage, STAGE_WIDTH, STAGE_HEIGHT);\n"
+" clutter_actor_set_background_color(stage, &stage_color);\n"
+" clutter_stage_set_title(CLUTTER_STAGE (stage), \"Fotovägg\");\n"
+" g_signal_connect(stage, \"destroy\", G_CALLBACK(clutter_main_quit), NULL);\n"
+"\n"
+" load_image_path_names();\n"
+"\n"
+" guint row = 0;\n"
+" guint col = 0;\n"
+" for(row=0; row < ROW_COUNT; ++row)\n"
+" {\n"
+" for(col=0; col < COL_COUNT; ++col)\n"
+" {\n"
+" const char *img_path = g_ptr_array_index(img_paths, (row * COL_COUNT) + col);\n"
+" GdkPixbuf *pixbuf = gdk_pixbuf_new_from_file_at_size(img_path, STAGE_HEIGHT, STAGE_HEIGHT,
NULL);\n"
+" ClutterContent *image = clutter_image_new ();\n"
+" ClutterActor *actor = clutter_actor_new ();\n"
+"\n"
+" if (pixbuf != NULL)\n"
+" {\n"
+" clutter_image_set_data(CLUTTER_IMAGE(image),\n"
+" gdk_pixbuf_get_pixels(pixbuf),\n"
+" gdk_pixbuf_get_has_alpha(pixbuf)\n"
+" ? COGL_PIXEL_FORMAT_RGBA_8888\n"
+" : COGL_PIXEL_FORMAT_RGB_888,\n"
+" gdk_pixbuf_get_width(pixbuf),\n"
+" gdk_pixbuf_get_height(pixbuf),\n"
+" gdk_pixbuf_get_rowstride(pixbuf),\n"
+" NULL);\n"
+" }\n"
+"\n"
+" clutter_actor_set_content(actor, image);\n"
+" g_object_unref(image);\n"
+" g_object_unref(pixbuf);\n"
+"\n"
+" initialize_actor(actor, row, col);\n"
+" clutter_actor_add_child(stage, actor);\n"
+" }\n"
+" }\n"
+"\n"
+" /* Visa scenen. */\n"
+" clutter_actor_show(stage);\n"
+"\n"
+" /* Starta clutters main-loop. */\n"
+" clutter_main();\n"
+"\n"
+" g_ptr_array_unref(img_paths);\n"
+"\n"
+" return 0;\n"
+"}"
#. (itstool) path: item/p
#: C/photo-wall.c.page:185
@@ -24014,6 +26595,8 @@ msgstr ""
#: C/photo-wall.c.page:186
msgid "Line 7: You must initialize Clutter. If you forget to do this, you will get very strange errors. Be
warned."
msgstr ""
+"Line 7: Du måste initiera Clutter. Om du glömmer att göra detta kommer du stöta på väldigt märkliga fel.
Detta är "
+"en varning."
#. (itstool) path: item/p
#: C/photo-wall.c.page:187
@@ -24174,7 +26757,7 @@ msgstr "Läsa in bilderna"
#. (itstool) path: section/p
#: C/photo-wall.c.page:250
msgid "Let's take a short break from Clutter to see how we can get the file names from our image directory."
-msgstr ""
+msgstr "Låt oss ta en kort rast från Clutter för att se hur vi kan få filnamnen från vår bildkatalog."
#. (itstool) path: section/code
#: C/photo-wall.c.page:251
@@ -24208,11 +26791,40 @@ msgid ""
" }\n"
"}"
msgstr ""
+"\n"
+"static void\n"
+"load_image_path_names()\n"
+"{\n"
+" /* Säkerställ att vi kan komma åt katalogen. */\n"
+" GError *error = NULL;\n"
+" GDir *dir = g_dir_open(IMAGE_DIR_PATH, 0, &error);\n"
+" if(error)\n"
+" {\n"
+" g_warning(\"g_dir_open() failed with error: %s\\n\", error->message);\n"
+" g_clear_error(&error);\n"
+" return;\n"
+" }\n"
+"\n"
+" img_paths = g_ptr_array_new_with_free_func (g_free);\n"
+"\n"
+" const gchar *filename = g_dir_read_name(dir);\n"
+" while(filename)\n"
+" {\n"
+" if(g_str_has_suffix(filename, \".jpg\") || g_str_has_suffix(filename, \".png\"))\n"
+" {\n"
+" gchar *path = g_build_filename(IMAGE_DIR_PATH, filename, NULL);\n"
+" g_ptr_array_add (img_paths, path);\n"
+" }\n"
+" filename = g_dir_read_name(dir);\n"
+" }\n"
+"}"
#. (itstool) path: item/p
#: C/photo-wall.c.page:279
msgid "Lines 5 and 12: This opens our directory or, if an error occurred, returns after printing an error
message."
msgstr ""
+"Rad 5 och 12: Detta öppnar vår katalog eller, om ett fel uppstod, returnerar efter att ha skrivit ut ett "
+"felmeddelande."
#. (itstool) path: item/p
#: C/photo-wall.c.page:280
@@ -24268,11 +26880,13 @@ msgid ""
"Line 9‒12: Now we connect the <code>button-press-event</code> to the <code>actor_clicked_cb</code> callback
which "
"we will look at next."
msgstr ""
+"Rad 9‒12: Nu ansluter vi <code>button-press-event</code> till återanropet <code>actor_clicked_cb</code> som
vi "
+"kommer ta en titt på härnäst."
#. (itstool) path: section/p
#: C/photo-wall.c.page:311
msgid "At this point we've got a wall of images that are ready to be viewed."
-msgstr ""
+msgstr "Vid denna punkt har vi en vägg av bilder som är redo att tittas på."
#. (itstool) path: section/title
#: C/photo-wall.c.page:315
@@ -24470,7 +27084,7 @@ msgstr "ProgressBar (C)"
#. (itstool) path: info/desc
#: C/progressbar.c.page:19 C/progressbar.vala.page:18
msgid "A widget which indicates progress visually"
-msgstr ""
+msgstr "En komponent som indikerar förlopp visuellt"
#. (itstool) path: page/title
#: C/progressbar.c.page:22 C/progressbar.js.page:20 C/progressbar.py.page:22 C/progressbar.vala.page:21
@@ -24490,7 +27104,7 @@ msgstr "external ref='media/progressbar_fill.ogv' md5='287763d1d3f4a328212ea2243
#. (itstool) path: page/p
#: C/progressbar.c.page:25 C/progressbar.vala.page:23
msgid "This ProgressBar \"fills in\" by a fraction of the bar until it is full."
-msgstr ""
+msgstr "Denna ProgressBar ”fylls i” med en bråkdel av raden tills den är full."
#. (itstool) path: page/code
#: C/progressbar.c.page:27
@@ -24584,7 +27198,7 @@ msgstr "ProgressBar (Javascript)"
#. (itstool) path: info/desc
#: C/progressbar.js.page:17
msgid "A bar which animates to indicate progress"
-msgstr ""
+msgstr "En rad som animeras för att indikera ett förlopp"
#. (itstool) path: page/media
#. This is a reference to an external file such as an image or video. When
@@ -24599,12 +27213,12 @@ msgstr "external ref='media/progressbar.ogv' md5='36deab3dd4b5be968828fa2ef416d6
#. (itstool) path: div/p
#: C/progressbar.js.page:25 C/progressbar.py.page:27
msgid "Pressing any key stops and starts this ProgressBar."
-msgstr ""
+msgstr "Att trycka på valfri tangent stoppar och startar denna ProgressBar."
#. (itstool) path: page/p
#: C/progressbar.js.page:32 C/progressbar.py.page:34
msgid "This ProgressBar is stopped and started by pressing any key."
-msgstr ""
+msgstr "Denna ProgressBar stoppas och startas genom att trycka på valfri tangent."
#. (itstool) path: page/code
#: C/progressbar.js.page:34
@@ -24705,7 +27319,7 @@ msgstr "ProgressBar (Python)"
#. (itstool) path: info/desc
#: C/progressbar.py.page:19
msgid "A widget which indicates progress visually."
-msgstr ""
+msgstr "En komponent som indikerar förlopp visuellt."
#. (itstool) path: section/code
#: C/progressbar.py.page:41
@@ -24806,10 +27420,11 @@ msgid ""
"link>"
msgstr ""
+# TODO: dead link
#. (itstool) path: item/p
#: C/progressbar.py.page:59
msgid "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling\">Gdk - Key Values</link>"
-msgstr ""
+msgstr "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling\">Gdk -
Tangentvärden</link>"
#. (itstool) path: info/title
#: C/progressbar.vala.page:8
@@ -24908,7 +27523,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/properties.py.page:44
msgid "Alternatively, you can define these properties separately by using the method associated with it."
-msgstr ""
+msgstr "Alternativt kan du definiera dessa egenskaper separat genom att använda metoden som är associerad
med det."
#. (itstool) path: section/code
#: C/properties.py.page:45
@@ -24932,6 +27547,8 @@ msgid ""
"Once you have created such a label, you can get the text of the label with <code>label.get_label()</code>,
and "
"analogously for the other properties."
msgstr ""
+"Då du skapat en sådan etikett kan du få texten för etiketten med <code>label.get_label()</code>, och på "
+"motsvarande sätt för de andra egenskaperna."
#. (itstool) path: section/p
#: C/properties.py.page:53
@@ -24973,7 +27590,7 @@ msgstr "RadioButton (C)"
#. (itstool) path: info/desc
#: C/radiobutton.c.page:20
msgid "A choice from multiple checkbuttons"
-msgstr ""
+msgstr "Ett val från flera kryssrutor"
#. (itstool) path: page/title
#: C/radiobutton.c.page:23 C/radiobutton.js.page:21 C/radiobutton.py.page:23 C/radiobutton.vala.page:24
@@ -24993,7 +27610,7 @@ msgstr "external ref='media/radiobutton.png' md5='d115460280d8e41493dd98054b5822
#. (itstool) path: page/p
#: C/radiobutton.c.page:26
msgid "These radiobuttons report their activity in the terminal."
-msgstr ""
+msgstr "Dessa radioknappar rapporterar sin aktivitet i terminalen."
#. (itstool) path: page/code
#: C/radiobutton.c.page:28
@@ -25171,6 +27788,31 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const RadioButtonExample = new Lang.Class({\n"
+" Name: 'RadioButton-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsradiobutton',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
+" _onActivate: function() {\n"
+" this._window.present();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function() {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:67 C/togglebutton.js.page:67
@@ -25197,6 +27839,16 @@ msgid ""
" border_width: 20,\n"
" title: \"Travel Planning\"});\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function() {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" border_width: 20,\n"
+" title: \"Reseplanering\"});\n"
#. (itstool) path: section/title
#: C/radiobutton.js.page:83
@@ -25211,6 +27863,9 @@ msgid ""
" // Create a label for the first group of buttons\n"
" this._placeLabel = new Gtk.Label ({label: \"Where would you like to travel to?\"});\n"
msgstr ""
+"\n"
+" // Skapa en etikett för den första gruppen knappar\n"
+" this._placeLabel = new Gtk.Label ({label: \"Vart vill du resa?\"});\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:89
@@ -25234,6 +27889,15 @@ msgid ""
" this._place3 = Gtk.RadioButton.new_with_label_from_widget (this._place1, \"Antarctica\");\n"
" // this._place3.set_active (true);\n"
msgstr ""
+"\n"
+" // Skapa tre radioknappar på tre olika sätt\n"
+" this._place1 = new Gtk.RadioButton ({label: \"Stranden\"});\n"
+"\n"
+" this._place2 = Gtk.RadioButton.new_from_widget (this._place1);\n"
+" this._place2.set_label (\"Månen\");\n"
+"\n"
+" this._place3 = Gtk.RadioButton.new_with_label_from_widget (this._place1, \"Antarktis\");\n"
+" // this._place3.set_active (true);\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:102
@@ -25265,11 +27929,19 @@ msgid ""
" this._thing2 = new Gtk.RadioButton ({label: \"Sunscreen\", group: this._thing1 });\n"
" this._thing3 = new Gtk.RadioButton ({label: \"A spacesuit\", group: this._thing1 });\n"
msgstr ""
+"\n"
+" // Skapa en etikett för den andra gruppen knappar\n"
+" this._thingLabel = new Gtk.Label ({label: \"Och vad skulle du vilja ta med dig?\" });\n"
+"\n"
+" // Skapa tre till radioknappar\n"
+" this._thing1 = new Gtk.RadioButton ({label: \"Pingviner\" });\n"
+" this._thing2 = new Gtk.RadioButton ({label: \"Sololja\", group: this._thing1 });\n"
+" this._thing3 = new Gtk.RadioButton ({label: \"En rymddräkt\", group: this._thing1 });\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:114
msgid "Here we create the label for the second group of buttons, and then create them all the same way."
-msgstr ""
+msgstr "Här skapar vi etiketten för den andra gruppen knappar, och skapar sedan dem alla på samma sätt."
#. (itstool) path: section/title
#: C/radiobutton.js.page:118 C/textview.js.page:132
@@ -25290,6 +27962,15 @@ msgid ""
" // Connect the button to the function which handles clicking it\n"
" this._okButton.connect ('clicked', Lang.bind (this, this._okClicked));\n"
msgstr ""
+"\n"
+" // Skapa en OK-standardknapp\n"
+" this._okButton = new Gtk.Button ({\n"
+" label: 'gtk-ok',\n"
+" use_stock: 'true',\n"
+" halign: Gtk.Align.END });\n"
+"\n"
+" // Anslut knappen till funktionen som hanterar att klicka på den\n"
+" this._okButton.connect ('clicked', Lang.bind (this, this._okClicked));\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:130
@@ -25297,6 +27978,8 @@ msgid ""
"This code creates a <link xref=\"button.js\">Gtk.Button</link> and binds it to a function which will show
people a "
"silly message when they click OK, depending on which RadioButtons were selected."
msgstr ""
+"Denna kod skapar en <link xref=\"button.js\">Gtk.Button</link> och binder den till en funktion som kommer
visa ett "
+"fånigt meddelande för folk när de klickar OK, beroende på vilken RadioButton som valts."
#. (itstool) path: section/p
#: C/radiobutton.js.page:131
@@ -25402,6 +28085,24 @@ msgid ""
"\n"
" },\n"
msgstr ""
+"\n"
+" _okClicked: function () {\n"
+"\n"
+" // Skapa en poppupp som visar ett fånigt meddelande\n"
+" this._travel = new Gtk.MessageDialog ({\n"
+" transient_for: this._window,\n"
+" modal: true,\n"
+" message_type: Gtk.MessageType.OTHER,\n"
+" buttons: Gtk.ButtonsType.OK,\n"
+" text: this._messageText() });\n"
+"\n"
+" // Visa poppuppen\n"
+" this._travel.show();\n"
+"\n"
+" // Bind OK-knappen till funktionen som stänger poppuppen\n"
+" this._travel.connect (\"response\", Lang.bind (this, this._clearTravelPopUp));\n"
+"\n"
+" },\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:201
@@ -25482,6 +28183,14 @@ msgid ""
"\n"
"});\n"
msgstr ""
+"\n"
+" _clearTravelPopUp: function () {\n"
+"\n"
+" this._travel.destroy();\n"
+"\n"
+" }\n"
+"\n"
+"});\n"
#. (itstool) path: section/p
#: C/radiobutton.js.page:258
@@ -25829,6 +28538,8 @@ msgid ""
"As seen in <link xref=\"properties.py\"/>, instead of <code>button1 = Gtk.RadioButton(label=\"Button
1\")</code> "
"we could create the button and label it with"
msgstr ""
+"Som kan ses i <link xref=\"properties.py\"/>, skulle vi istället för <code>button1 =
Gtk.RadioButton(label=\"Knapp "
+"1\")</code> kunna skapa knappen och etikettera den med"
#. (itstool) path: section/code
#: C/radiobutton.py.page:39
@@ -25838,6 +28549,9 @@ msgid ""
"button1 = Gtk.RadioButton()\n"
"button1.set_label(\"Button 1\")."
msgstr ""
+"\n"
+"button1 = Gtk.RadioButton()\n"
+"button1.set_label(\"Knapp 1\")."
#. (itstool) path: section/p
#: C/radiobutton.py.page:42
@@ -25846,6 +28560,9 @@ msgid ""
"\"Button 1\")</code> (the first argument is the group of the radiobuttons, which we can get with "
"<code>get_group()</code>, the second argument is the label)."
msgstr ""
+"Ännu ett annat sätt att skapa en ny RadioButton med en etikett är <code>button1 = Gtk.RadioButton."
+"new_with_label(None, \"Knapp 1\")</code> (det första argumentet är radioknapparnas grupp, vilken vi kan få
med "
+"<code>get_group()</code>, det andra argumentet är etiketten)."
#. (itstool) path: item/p
#: C/radiobutton.py.page:51
@@ -26004,12 +28721,16 @@ msgstr ""
"Välj <gui>Allmän Javascript</gui> från fliken <gui>JS</gui>, klicka på <gui>Framåt</gui>, och fyll i dina
detaljer "
"på de nästkommande sidorna. Använd <file>record-collection</file> som projektnamn och katalog."
+# TODO: Finished -> Apply ?
+# <gui>File</gui> -> <gui>Files</gui>
#. (itstool) path: item/p
#: C/record-collection.js.page:63
msgid ""
"Click <gui>Finished</gui> and the project will be created for you. Open <file>src/main.js</file> from the "
"<gui>Project</gui> or <gui>File</gui> tabs. It contains very basic example code."
msgstr ""
+"Klicka på <gui>Färdig</gui> så kommer projektet skapas åt dig. Öppna <file>src/main.js</file> från flikarna
"
+"<gui>Projekt</gui> eller <gui>Filer</gui>. Den innehåller väldigt enkel exempelkod."
#. (itstool) path: section/title
#: C/record-collection.js.page:69
@@ -26106,6 +28827,8 @@ msgid ""
"Lines 1‒4: Initial imports. Pay special attention to line 3, which tells Javascript to import the GDA
library, our "
"focus in this tutorial."
msgstr ""
+"Rad 1‒4: Initiala importer. Var särskilt uppmärksam på rad 3, som säger till Javascript att importera GDA-"
+"biblioteket, vårt fokus i denna handledning."
#. (itstool) path: item/p
#: C/record-collection.js.page:104
@@ -26113,6 +28836,8 @@ msgid ""
"Lines 6‒17: Define our <code>Demo</code> class. Pay special attention to lines 13‒15, where we call 3
methods "
"which will do the whole job. They will be detailed below."
msgstr ""
+"Rad 6‒17: Definiera vår klass <code>Demo</code>. Var särskilt uppmärksam på rad 13‒15, där vi anropar tre
metoder "
+"som gör hela jobbet. De kommer beskrivas i detalj nedan."
#. (itstool) path: item/p
#: C/record-collection.js.page:105
@@ -26130,6 +28855,8 @@ msgid ""
"Let's take a look at the <code>setupWindow</code> method. It is responsible for creating the User Interface
(UI). "
"As UI is not our focus, we will explain only the relevant parts."
msgstr ""
+"Låt oss ta en titt på metoden <code>setupWindow</code>. Den ansvarar för att skapa användargränssnittet
(UI). Då "
+"UI inte är vårt fokus kommer vi endast förklara de relevanta delarna."
#. (itstool) path: section/code
#: C/record-collection.js.page:112
@@ -26203,7 +28930,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/record-collection.js.page:164
msgid "Line 39: Create the widget (<code>TextView</code>) where we will show the contents of the table."
-msgstr ""
+msgstr "Rad 39: Skapa komponenten (<code>TextView</code>) där vi kommer visa tabellens innehåll."
#. (itstool) path: item/p
#: C/record-collection.js.page:165
@@ -26220,7 +28947,7 @@ msgstr "Ansluta till och initiera databasen"
#. (itstool) path: section/p
#: C/record-collection.js.page:171
msgid "The code which makes the connection to the database is in the <code>setupDatabase</code> method
below:"
-msgstr ""
+msgstr "Koden som skapar anslutningen till databasen är i metoden <code>setupDatabase</code> nedan:"
#. (itstool) path: section/code
#: C/record-collection.js.page:174
@@ -26487,7 +29214,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/record-collection.js.page:284
msgid "Line 12: Finally, execute the SQL statement (<code>INSERT</code>)."
-msgstr ""
+msgstr "Rad 12: Exekvera slutligen SQL-satsen (<code>INSERT</code>)."
#. (itstool) path: item/p
#: C/record-collection.js.page:285
@@ -26565,7 +29292,7 @@ msgstr "ResponseType.DELETE_EVENT = -4"
#. (itstool) path: item/p
#: C/response-type.page:34
msgid "Returned if the dialog is deleted"
-msgstr ""
+msgstr "Returneras om dialogrutan tas bort"
#. (itstool) path: item/title
#: C/response-type.page:37
@@ -26922,6 +29649,30 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const ScaleExample = new Lang.Class({\n"
+" Name: 'Scale-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsscale'\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
+" _onActivate: function() {\n"
+" this._window.present();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function() {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/scale.js.page:66
@@ -26948,6 +29699,16 @@ msgid ""
" border_width: 20,\n"
" title: \"Birds on a Floe\"});\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function() {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" border_width: 20,\n"
+" title: \"Fåglar på ett isflak\"});\n"
#. (itstool) path: section/title
#: C/scale.js.page:82
@@ -27079,6 +29840,18 @@ msgid ""
" this._UIGrid.attach (this._hScale, 0, 1, 1, 1);\n"
" this._UIGrid.attach (this._vScale, 1, 0, 1, 1);\n"
msgstr ""
+"\n"
+" // Skapa ett rutnät att arrangera saker i\n"
+" this._UIGrid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER,\n"
+" margin_top: 20,\n"
+" margin_left: 20});\n"
+"\n"
+" // Fäst allting till rutnätet\n"
+" this._UIGrid.attach (this._label, 0, 0, 1, 1);\n"
+" this._UIGrid.attach (this._hScale, 0, 1, 1, 1);\n"
+" this._UIGrid.attach (this._vScale, 1, 0, 1, 1);\n"
#. (itstool) path: section/p
#: C/scale.js.page:149
@@ -27086,6 +29859,9 @@ msgid ""
"Here we create a <link xref=\"grid.js\">Grid</link> to put everything in, then attach all our widgets to
it. Note "
"that here and on some of the widgets themselves we're using margins to keep things neatly spaced."
msgstr ""
+"Här skapar vi en <link xref=\"grid.js\">Grid</link> att stoppa allting i, och fäster sedan alla våra
komponenter "
+"till den. Observera att här och på några av komponenterna själva använder vi marginaler för att få saker
att hålla "
+"bra avstånd."
#. (itstool) path: section/code
#: C/scale.js.page:150
@@ -27099,11 +29875,20 @@ msgid ""
" this._window.show_all();\n"
" },\n"
msgstr ""
+"\n"
+" // Lägg till rutnätet till fönstret\n"
+" this._window.add (this._comboBoxText);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" },\n"
#. (itstool) path: section/p
#: C/scale.js.page:158
msgid "Finally, we add the Grid to the window, then tell the window to show itself and all the widgets
inside of it."
msgstr ""
+"Slutligen lägger vi till vår Grid till fönstret, och säger sedan till fönstret att visa sig själv och alla "
+"komponenterna i det."
#. (itstool) path: section/title
#: C/scale.js.page:162
@@ -27507,6 +30292,8 @@ msgid ""
"<link href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Standard-Enumerations.html\">Standard
Enumerations</"
"link>"
msgstr ""
+"<link
href=\"http://developer.gnome.org/gtk3/unstable/gtk3-Standard-Enumerations.html\">Standarduppräkningstyper</"
+"link>"
#. (itstool) path: info/title
#: C/scale.vala.page:8
@@ -27601,7 +30388,7 @@ msgstr "ScrolledWindow (C)"
#. (itstool) path: info/desc
#: C/scrolledwindow.c.page:20 C/scrolledwindow.js.page:18 C/scrolledwindow.py.page:19
C/scrolledwindow.vala.page:19
msgid "Adds scrollbars to its child widget"
-msgstr ""
+msgstr "Lägger till rullningslister till sin barnkomponent"
#. (itstool) path: page/title
#: C/scrolledwindow.c.page:23 C/scrolledwindow.js.page:21 C/scrolledwindow.py.page:22
C/scrolledwindow.vala.page:22
@@ -27621,7 +30408,7 @@ msgstr "external ref='media/scrolledwindow.png' md5='697bb3205d5c4fb0b4ea8db4358
#. (itstool) path: page/p
#: C/scrolledwindow.c.page:26 C/scrolledwindow.js.page:23 C/scrolledwindow.py.page:24
C/scrolledwindow.vala.page:24
msgid "An image in a scrolled window."
-msgstr ""
+msgstr "En bild i ett rullat fönster."
#. (itstool) path: page/code
#: C/scrolledwindow.c.page:28
@@ -27912,6 +30699,29 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"/* Det här är programmet. */\n"
+"public class MyApplication : Gtk.Application {\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application. */\n"
+"\tprotected override void activate () {\n"
+"\t\t/* Skapa fönstret för detta program. */\n"
+"\t\tvar window = new Gtk.ApplicationWindow (this);\n"
+"\t\twindow.title = \"ScrolledWindow-exempel\";\n"
+"\t\twindow.set_default_size (200, 200);\n"
+"\n"
+"\t\tvar scrolled_window = new Gtk.ScrolledWindow (null, null);\n"
+"\t\tscrolled_window.set_border_width (10);\n"
+"\t\tscrolled_window.add_with_viewport (new Gtk.Image.from_file (\"gnome-image.png\"));\n"
+"\t\tscrolled_window.set_policy (Gtk.PolicyType.AUTOMATIC, Gtk.PolicyType.AUTOMATIC);\n"
+"\n"
+"\t\twindow.add (scrolled_window);\n"
+"\t\twindow.show_all ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet. */\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/scrolledwindow.vala.page:31 C/textview.vala.page:37
@@ -27932,7 +30742,7 @@ msgstr "Separator (C)"
#. (itstool) path: info/desc
#: C/separator.c.page:19 C/separator.py.page:20 C/separator.vala.page:21
msgid "A separator widget"
-msgstr ""
+msgstr "En avskiljarkomponent"
#. (itstool) path: page/title
#: C/separator.c.page:22 C/separator.py.page:23 C/separator.vala.page:24
@@ -27952,7 +30762,7 @@ 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
msgid "A horizontal and a vertical separator divide some labels."
-msgstr ""
+msgstr "En horisontell och en vertikal avskiljare delar på några etiketter."
#. (itstool) path: section/code
#: C/separator.c.page:31
@@ -28010,6 +30820,57 @@ msgid ""
" return status;\n"
"}\n"
msgstr ""
+"#include <gtk/gtk.h>\n"
+"\n"
+"static void\n"
+"activate (GtkApplication *app,\n"
+" gpointer user_data)\n"
+"{\n"
+" GtkWidget *grid;\n"
+" GtkWidget *window;\n"
+" GtkWidget *label1;\n"
+" GtkWidget *label2;\n"
+" GtkWidget *label3;\n"
+" GtkWidget *hseparator;\n"
+" GtkWidget *vseparator;\n"
+"\n"
+" window = gtk_application_window_new (app);\n"
+" gtk_window_set_title (GTK_WINDOW (window), \"Separator-exempel\");\n"
+"\n"
+" label1 = gtk_label_new (\"Nedan, en horisontell avskiljare.\");\n"
+" label2 = gtk_label_new (\"Till höger, en vertikal avskiljare.\");\n"
+" label3 = gtk_label_new (\"Till vänster, en vertikal avskiljare.\");\n"
+"\n"
+" vseparator = gtk_separator_new (GTK_ORIENTATION_VERTICAL);\n"
+" hseparator = gtk_separator_new (GTK_ORIENTATION_HORIZONTAL);\n"
+"\n"
+" grid = gtk_grid_new ();\n"
+"\n"
+" gtk_grid_attach (GTK_GRID (grid), label1, 0, 0, 3, 1);\n"
+" gtk_grid_attach (GTK_GRID (grid), hseparator, 0, 1, 3, 1);\n"
+" gtk_grid_attach (GTK_GRID (grid), label2, 0, 2, 1, 1);\n"
+" gtk_grid_attach (GTK_GRID (grid), vseparator, 1, 2, 1, 1);\n"
+" gtk_grid_attach (GTK_GRID (grid), label3, 2, 2, 1, 1);\n"
+"\n"
+" gtk_grid_set_column_homogeneous (GTK_GRID (grid), TRUE);\n"
+"\n"
+" gtk_container_add (GTK_CONTAINER (window), grid);\n"
+"\n"
+" gtk_widget_show_all (window);\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"
+" return status;\n"
+"}\n"
#. (itstool) path: section/title
#: C/separator.c.page:35 C/separator.py.page:36 C/separator.vala.page:37
@@ -28135,6 +30996,49 @@ msgid ""
"\treturn app.run (args);\n"
"}\n"
msgstr ""
+"/* Det här är programmet. */\n"
+"public class Application : Gtk.Application {\n"
+"\n"
+"\tpublic Application () {\n"
+"\t\tObject (application_id: \"org.example.window\");\n"
+"\t}\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application,\n"
+"\t * vilken ärvs av Gtk.Application. */\n"
+"\tpublic override void activate () {\n"
+"\n"
+"\t\tvar window = new Gtk.Window ();\n"
+"\t\twindow.title = \"Separator-exempel\";\n"
+"\n"
+"\t\tvar label1 = new Gtk.Label (\"Nedan, en horisontell avskiljare.\");\n"
+"\t\tvar label2 = new Gtk.Label (\"Till höger, en vertikal avskiljare.\");\n"
+"\t\tvar label3 = new Gtk.Label (\"Till vänster, en vertikal avskiljare.\");\n"
+"\n"
+"\t\tvar hseparator = new Gtk.Separator (Gtk.Orientation.HORIZONTAL);\n"
+"\t\tvar vseparator = new Gtk.Separator (Gtk.Orientation.VERTICAL);\n"
+"\n"
+"\t\tvar grid = new Gtk.Grid();\n"
+"\n"
+"\t\tgrid.attach (label1, 0, 0, 3, 1);\n"
+"\t\tgrid.attach (hseparator, 0, 1, 3, 1);\n"
+"\t\tgrid.attach (label2, 0, 2, 1, 1);\n"
+"\t\tgrid.attach (vseparator, 1, 2, 1, 1);\n"
+"\t\tgrid.attach (label3, 2, 2, 1, 1);\n"
+"\n"
+"\t\tgrid.set_column_homogeneous(true);\n"
+"\n"
+"\t\twindow.add (grid);\n"
+"\t\tthis.add_window (window);\n"
+"\n"
+"\t\twindow.show_all ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main-funktionen skapar programmet och kör det.*/\n"
+"int main (string[] args) {\n"
+"\tvar app = new Application ();\n"
+"\treturn app.run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/separator.vala.page:41
@@ -28346,7 +31250,7 @@ msgstr "SpinButton (C)"
#. (itstool) path: info/desc
#: C/spinbutton.c.page:21
msgid "Retrieve an integer or floating point number"
-msgstr ""
+msgstr "Erhåll ett heltal eller ett flyttal"
#. (itstool) path: page/title
#: C/spinbutton.c.page:24 C/spinbutton.js.page:24 C/spinbutton.py.page:23 C/spinbutton.vala.page:23
@@ -28366,7 +31270,7 @@ msgstr "external ref='media/spinbutton.png' md5='993cbb7d9bd271a329727a926195712
#. (itstool) path: page/p
#: C/spinbutton.c.page:27 C/spinbutton.py.page:25 C/spinbutton.vala.page:25
msgid "Choose a number, by entering it or by clicking on the -/+ buttons!"
-msgstr ""
+msgstr "Välj ett tal genom att mata in det eller genom att klicka på knapparna -/+!"
#. (itstool) path: page/code
#: C/spinbutton.c.page:29
@@ -28483,7 +31387,7 @@ msgstr "SpinButton (Javascript)"
#. (itstool) path: info/desc
#: C/spinbutton.js.page:21
msgid "A number entry field that has + and - buttons"
-msgstr ""
+msgstr "Ett talinmatningsfält som har knapparna + och -"
#. (itstool) path: page/media
#. This is a reference to an external file such as an image or video. When
@@ -28502,6 +31406,9 @@ msgid ""
"accepts numbers, and which has plus and minus buttons to let you change the value without having to type
anything "
"in."
msgstr ""
+"En SpinButton är inte relaterad till en <link xref=\"spinner.js\">Spinner</link>. Den är ett
textinmatningsfält "
+"som bara accepterar tal, och som har plus- och minus-knappar för att låta dig ändra värdet utan att behöva
skriva "
+"in något."
#. (itstool) path: page/p
#: C/spinbutton.js.page:27
@@ -28539,6 +31446,30 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const SpinButtonExample = new Lang.Class({\n"
+" Name: 'SpinButton-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsspinbutton'\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
+" _onActivate: function() {\n"
+" this._window.present();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function() {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/spinbutton.js.page:69
@@ -28565,6 +31496,16 @@ msgid ""
" border_width: 20,\n"
" title: \"Kitten Feeder\"});\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function() {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" border_width: 20,\n"
+" title: \"Kattmatare\"});\n"
#. (itstool) path: section/title
#: C/spinbutton.js.page:85
@@ -28580,6 +31521,10 @@ msgid ""
" this._kittens = Gtk.SpinButton.new_with_range (1, 9001, 1);\n"
" this._kittens.connect (\"value-changed\", Lang.bind (this, this._newValue));\n"
msgstr ""
+"\n"
+" // Skapa den första stegningsrutan med en funktion\n"
+" this._kittens = Gtk.SpinButton.new_with_range (1, 9001, 1);\n"
+" this._kittens.connect (\"value-changed\", Lang.bind (this, this._newValue));\n"
#. (itstool) path: section/p
#: C/spinbutton.js.page:92
@@ -28616,6 +31561,21 @@ msgid ""
" // this._tuna.set_digits (1);\n"
" // this._tuna.set_wrap (true);\n"
msgstr ""
+"\n"
+" // Skapa en justering att använda för den andra stegningsrutan\n"
+" this._adjustment = new Gtk.Adjustment ({\n"
+" value: 1,\n"
+" lower: 0,\n"
+" upper: 9001,\n"
+" step_increment: 1,\n"
+" page_increment: 10 });\n"
+"\n"
+" // skapa den andra stegningsrutan\n"
+" this._tuna = new Gtk.SpinButton ({ adjustment: this._adjustment });\n"
+" this._tuna.connect (\"value-changed\", Lang.bind (this, this._newValue));\n"
+"\n"
+" // this._tuna.set_digits (1);\n"
+" // this._tuna.set_wrap (true);\n"
#. (itstool) path: section/p
#: C/spinbutton.js.page:112
@@ -28638,12 +31598,12 @@ msgstr ""
#. (itstool) path: note/p
#: C/spinbutton.js.page:114
msgid "For the kitties' sake, please don't use set_digits to allow a decimal number of kittens."
-msgstr ""
+msgstr "Var snäll mot kattungarna, använd inte set_digits så att decimalkatter är tillåtna."
#. (itstool) path: section/title
#: C/spinbutton.js.page:118
msgid "Creating the rest of the UI"
-msgstr ""
+msgstr "Skapa resten av användargränssnittet"
#. (itstool) path: section/code
#: C/spinbutton.js.page:120
@@ -28696,13 +31656,38 @@ msgid ""
" this._mainGrid.attach (this._spinGrid, 0, 0, 1, 1);\n"
" this._mainGrid.attach (this._lastLabel, 0, 1, 1, 1);\n"
msgstr ""
+"\n"
+" // Skapa ett rutnät att stoppa stegningsrutorna och deras etiketter i\n"
+" this._spinGrid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER,\n"
+" margin_bottom: 20 });\n"
+"\n"
+" // Fäst allting vid rutnätet\n"
+" this._spinGrid.attach (this._startLabel, 0, 0, 1, 1);\n"
+" this._spinGrid.attach (this._kittens, 1, 0, 1, 1);\n"
+" this._spinGrid.attach (this._kittenLabel, 2, 0, 1, 1);\n"
+" this._spinGrid.attach (this._tuna, 3, 0, 1, 1);\n"
+" this._spinGrid.attach (this._tunaLabel, 4, 0, 1, 1);\n"
+"\n"
+" // Skapa ett huvudrutnät för att hålla det och den sista etiketten\n"
+" this._mainGrid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER });\n"
+"\n"
+" // Fäst det mindre rutnätet och den sista etiketten vid huvudrutnätet\n"
+" this._mainGrid.attach (this._spinGrid, 0, 0, 1, 1);\n"
+" this._mainGrid.attach (this._lastLabel, 0, 1, 1, 1);\n"
#. (itstool) path: section/p
#: C/spinbutton.js.page:155
+#, fuzzy
msgid ""
"Here we use <link xref=\"grid.js\">Grid</link> widgets to keep everything organized. One Grid holds the
labels and "
"SpinButtons in order, while the next puts that Grid on top and the final Label on the bottom."
msgstr ""
+"Här använder vi <link xref=\"grid.js\">Grid</link>-komponenter för att hålla allt i ordning. En Grid håller
"
+"etiketterna och SpinButton i ordning, medan nästa stoppar denna Grid överst och den slutgiltiga Labeln
längst ner."
#. (itstool) path: section/p
#: C/spinbutton.js.page:156
@@ -28724,6 +31709,13 @@ msgid ""
" this._window.show_all();\n"
" },\n"
msgstr ""
+"\n"
+" // Lägg till huvudrutnätet till fönstret\n"
+" this._window.add (this._mainGrid);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" },\n"
#. (itstool) path: section/p
#: C/spinbutton.js.page:166 C/switch.js.page:154
@@ -28731,6 +31723,8 @@ msgid ""
"Finally, we add the larger Grid to the window, then tell the window to show itself and all the widgets
inside of "
"it."
msgstr ""
+"Slutligen lägger vi till vår större Grid till fönstret, och säger sedan till fönstret att visa sig själv
och alla "
+"komponenterna i det."
#. (itstool) path: section/title
#: C/spinbutton.js.page:170
@@ -28906,7 +31900,7 @@ msgstr "SpinButton (Python)"
#. (itstool) path: info/desc
#: C/spinbutton.py.page:20
msgid "Retrieve an integer or floating-point number from the user."
-msgstr ""
+msgstr "Erhåll ett heltal eller ett flyttal från användaren."
#. (itstool) path: section/code
#: C/spinbutton.py.page:31
@@ -29002,20 +31996,24 @@ msgstr ""
#. (itstool) path: item/p
#: C/spinbutton.py.page:39
+#, fuzzy
msgid ""
"If you want the value of the spinbutton to wrap around when they exceed the maximum or the minimum, set "
"<code>set_wrap(True)</code>. The <code>\"wrapped\"</code> signal is emitted when this happens."
msgstr ""
+"Om du vill att stegningsrutans värde ska börja om från början då den överstigit maximum eller minimum,
ställ in "
+"<code>set_wrap(True)</code>. Signalen <code>\"wrapped\"</code> skickas då detta händer."
#. (itstool) path: item/p
#: C/spinbutton.py.page:40
msgid "<code>set_digits(digits)</code> sets the precision to be displayed by the spinbutton, up to 20
digits."
msgstr ""
+"<code>set_digits(siffror)</code> ställer in precisionen som ska visas av stegningsrutan, upp till 20
siffror."
#. (itstool) path: item/p
#: C/spinbutton.py.page:41
msgid "To get the value of the spinbutton as an integer, use <code>get_value_as_int()</code>."
-msgstr ""
+msgstr "För att få värdet hos stegningsrutan som ett heltal, använd <code>get_value_as_int()</code>."
#. (itstool) path: item/p
#: C/spinbutton.py.page:49
@@ -29031,7 +32029,7 @@ msgstr "SpinButton (Vala)"
#. (itstool) path: info/desc
#: C/spinbutton.vala.page:20
msgid "Retrieve an integer or floating point number."
-msgstr ""
+msgstr "Erhåll ett heltal eller ett flyttal."
#. (itstool) path: page/code
#: C/spinbutton.vala.page:27
@@ -29073,6 +32071,41 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"/* Det här är programmet. */\n"
+"public class MyApplication : Gtk.Application {\n"
+"\tGtk.Label label;\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application. */\n"
+"\tprotected override void activate () {\n"
+"\t\tvar window = new Gtk.ApplicationWindow (this);\n"
+"\t\twindow.title = \"SpinButton-exempel\";\n"
+"\t\twindow.set_default_size (210, 70);\n"
+"\t\twindow.set_border_width (5);\n"
+"\n"
+"\t\tvar spinbutton = new Gtk.SpinButton.with_range (0, 100, 1);\n"
+"\t\tspinbutton.set_hexpand (true);\n"
+"\n"
+"\t\tlabel = new Gtk.Label (\"Välj ett tal\");\n"
+"\n"
+"\t\tvar grid = new Gtk.Grid ();\n"
+"\t\tgrid.attach (spinbutton, 0, 0, 1, 1);\n"
+"\t\tgrid.attach (label, 0, 1, 1, 1);\n"
+"\n"
+"\t\tspinbutton.value_changed.connect (this.value_changed_cb);\n"
+"\n"
+"\t\twindow.add (grid);\n"
+"\t\twindow.show_all ();\n"
+"\t}\n"
+"\n"
+"\tvoid value_changed_cb (Gtk.SpinButton spin) {\n"
+"\t\tlabel.set_text (\"Talet du valde är %.0f.\".printf (spin.get_value()));\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main skapar och kör programmet. */\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/spinbutton.vala.page:32
@@ -29310,7 +32343,7 @@ msgstr ""
#. (itstool) path: item/p
#: C/spinner.js.page:30
msgid "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gdk.html\">Gdk - Key Values</link>"
-msgstr ""
+msgstr "<link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gdk.html\">Gdk - Tangentvärden</link>"
#. (itstool) path: item/p
#: C/spinner.js.page:33 C/togglebutton.js.page:158
@@ -29397,10 +32430,11 @@ msgstr ""
msgid "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSpinner.html\">GtkSpinner</link>"
msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkSpinner.html\">GtkSpinner</link>"
+# TODO: Dead link
#. (itstool) path: item/p
#: C/spinner.py.page:43
msgid "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling.html\">Key Values</link>"
-msgstr ""
+msgstr "<link href=\"http://developer.gnome.org/gdk/stable/gdk-Keyboard-Handling.html\">Tangentvärden</link>"
#. (itstool) path: info/title
#: C/spinner.vala.page:8
@@ -29751,6 +32785,31 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const StatusbarExample = new Lang.Class({\n"
+" Name: 'Statusbar-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsstatusbar',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
+" _onActivate: function() {\n"
+" this._window.present();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function() {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/statusbar.js.page:67
@@ -29782,9 +32841,27 @@ msgid ""
" this._panes = new Gtk.Paned ({\n"
" orientation: Gtk.Orientation.VERTICAL });\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function() {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" default_height: 120,\n"
+" default_width: 300,\n"
+" title: \"Knappklickare\"});\n"
+"\n"
+" // Skapa ett gränssnitt med paneler\n"
+" this._panes = new Gtk.Paned ({\n"
+" orientation: Gtk.Orientation.VERTICAL });\n"
+# TODO: wrong link. Should be
+# "GtkApplicationWindow.js" without ".page".
#. (itstool) path: section/p
#: C/statusbar.js.page:84
+#, fuzzy
msgid ""
"The _buildUI function is where we put all the code to create the application's user interface. The first
step is "
"creating a new <link href=\"GtkApplicationWindow.js.page\">Gtk.ApplicationWindow</link> to put all our
widgets "
@@ -29792,6 +32869,11 @@ msgid ""
"sections. This way the statusbar looks like those used in other applications, and it stays at the bottom of
the "
"window, even if the user resizes it."
msgstr ""
+"_buildUI-funktionen är var vi stoppar all kod för att skapa programmets användargränssnitt. Det första
steget är "
+"att skapa ett nytt <link href=\"GtkApplicationWindow.js.page\">Gtk.ApplicationWindow</link> att stoppa alla
våra "
+"komponenter i. Nästa steg är att skapa ett vertikalt orienterat Gtk.Paned-gränssnitt, för att dela upp
fönstret i "
+"två delar. På detta sätt ser statusraden ut som de som används i andra program, och stannar längst ner i
fönstret "
+"även om användaren ändrar storlek på det."
#. (itstool) path: section/title
#: C/statusbar.js.page:88
@@ -29820,7 +32902,26 @@ msgid ""
" use_stock: true });\n"
" this._clearButton.connect (\"clicked\", Lang.bind (this, this._clear));\n"
msgstr ""
+"\n"
+" // Skapa huvudknappen\n"
+" this._clickMe = new Gtk.Button ({\n"
+" label: \"Klicka på mig!\" });\n"
+" this._clickMe.connect (\"clicked\", Lang.bind (this, this._clicked));\n"
+"\n"
+" // Skapa bakåtknappen\n"
+" this._backButton = new Gtk.Button ({\n"
+" label: \"gtk-go-back\",\n"
+" use_stock: true });\n"
+" this._backButton.connect (\"clicked\", Lang.bind (this, this._back));\n"
+"\n"
+" // Skapa tömningsknappen\n"
+" this._clearButton = new Gtk.Button ({\n"
+" label: \"gtk-clear\",\n"
+" use_stock: true });\n"
+" this._clearButton.connect (\"clicked\", Lang.bind (this, this._clear));\n"
+# TODO: wrong link. Should be
+# "button.js" without ".page".
#. (itstool) path: section/p
#: C/statusbar.js.page:107
msgid ""
@@ -29851,6 +32952,8 @@ msgid ""
" this._topFrame.add (this._grid);\n"
msgstr ""
+# TODO: wrong link. Should be
+# "grid.js" and "paned.js" without ".page".
#. (itstool) path: section/p
#: C/statusbar.js.page:125
msgid ""
@@ -29863,7 +32966,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/statusbar.js.page:129
msgid "Creating the statusbar"
-msgstr ""
+msgstr "Skapa statusraden"
#. (itstool) path: section/code
#: C/statusbar.js.page:130
@@ -29937,7 +33040,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/statusbar.js.page:165
msgid "Functions for interacting with the statusbar"
-msgstr ""
+msgstr "Funktioner för att interagera med statusraden"
#. (itstool) path: section/code
#: C/statusbar.js.page:166
@@ -30190,7 +33293,7 @@ msgstr "external ref='media/statusbar.png' md5='eb1aca55315d6cda57b12a5f36058ba8
#. (itstool) path: page/p
#: C/statusbar.py.page:25
msgid "This statusbar tells you if you click the button or if you press any key (and which key)."
-msgstr ""
+msgstr "Denna statusrad säger till dig om du klickar på knappen eller trycker ner en tangent (och vilken
tangent)."
#. (itstool) path: section/code
#: C/statusbar.py.page:32
@@ -30318,6 +33421,7 @@ msgstr "<link href=\"http://developer.gnome.org/gtk3/unstable/GtkStatusbar.html\
#: C/statusbar.py.page:54
msgid "<link href=\"https://developer.gnome.org/gdk3/stable/gdk3-Keyboard-Handling.html\">Gdk - Key
Values</link>"
msgstr ""
+"<link href=\"https://developer.gnome.org/gdk3/stable/gdk3-Keyboard-Handling.html\">Gdk -
Tangentvärden</link>"
#. (itstool) path: info/title
#: C/statusbar.vala.page:8
@@ -30548,7 +33652,7 @@ msgstr ""
#. (itstool) path: section/p
#: C/strings.py.page:96
msgid "Furthermore:"
-msgstr ""
+msgstr "Vidare skulle:"
#. (itstool) path: section/code
#: C/strings.py.page:98
@@ -30557,6 +33661,8 @@ msgid ""
"\n"
">>> txt == unicode_string"
msgstr ""
+"\n"
+">>> txt == unicode_string"
#. (itstool) path: section/p
#: C/strings.py.page:101
@@ -30566,6 +33672,10 @@ msgid ""
"get_text()</code> will always return a <code>str</code> instance; therefore, <code>txt</code> and "
"<code>unicode_string</code> are not equal)."
msgstr ""
+"returnera <code>False</code>, med varningen <code>__main__:1: UnicodeWarning: Unicode equal comparison
failed to "
+"convert both arguments to Unicode - interpreting them as being unequal</code>
(<code>Gtk.Label.get_text()</code> "
+"kommer alltid returnera en <code>str</code>-instans; därför är <code>txt</code> och
<code>unicode_string</code> "
+"inte lika)."
#. (itstool) path: section/p
#: C/strings.py.page:103
@@ -30596,6 +33706,8 @@ msgid ""
"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/unicode.html\">How To Deal With Strings
- The "
"Python GTK+ 3 Tutorial</link>"
msgstr ""
+"<link href=\"http://python-gtk-3-tutorial.readthedocs.org/en/latest/unicode.html\">Hur du hanterar strängar
- GTK+ "
+"3-handledningen för Python</link>"
#. (itstool) path: info/title
#: C/switch.c.page:8
@@ -30636,7 +33748,7 @@ msgstr "external ref='media/switch_on.png' md5='95e8769f758c2d95ace0fa8ecf30b29d
#. (itstool) path: page/p
#: C/switch.c.page:25
msgid "This switch toggles the title of the window."
-msgstr ""
+msgstr "Denna brytare växlar fönstrets titel."
#. (itstool) path: page/code
#: C/switch.c.page:27
@@ -30751,6 +33863,10 @@ msgid ""
"\"https://live.gnome.org/TarynFox?action=AttachFile&do=get&target=Animal+Photos.zip\">can be
downloaded "
"here</link>."
msgstr ""
+"En Switch har två lägen, på och av. Detta exempel visar hur du kan använda flera brytare tillsammans för
att styra "
+"vilken <link xref=\"image.js\">Image</link> som visas i fönstret. Bilderna som används i detta exempel
<link href="
+"\"https://live.gnome.org/TarynFox?action=AttachFile&do=get&target=Animal+Photos.zip\">kan hämtas
här</"
+"link>."
#. (itstool) path: note/p
#: C/switch.js.page:24
@@ -30760,6 +33876,10 @@ msgid ""
"directory. You can change the code and the pictures around as you like, but the Creative Commons-licensed
photos "
"used in this example were taken from the following sources and cropped to 640x425:"
msgstr ""
+"Fönstret kommer innehålla en ”trasig bild”-ikon istället för en bild om bildfiler med namnen
<file>redfox.png</"
+"file>, <file>muteswan.png</file>, <file>fruitbat.png</file> och <file>gentoopenguin.png</file> inte finns i
samma "
+"katalog. Du kan ändra koderna och bilderna som du vill, men de Creative Commons-licensierade fotona som
används i "
+"detta exempel togs från följande källor och beskars till 640x425:"
#. (itstool) path: item/p
#: C/switch.js.page:26
@@ -30838,6 +33958,32 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const SwitchExample = new Lang.Class({\n"
+" Name: 'Switch-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jsswitch',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
+" _onActivate: function() {\n"
+" this._window.present();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal skapar menyn och bygger användargränssnittet\n"
+" _onStartup: function() {\n"
+" this._initMenus();\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/switch.js.page:75
@@ -30898,6 +34044,8 @@ msgid ""
"We first create the <link xref=\"image.js\">Image</link> that the switches will control. Remember that a
file "
"named <file>redfox.png</file> needs to be in the same directory as this application."
msgstr ""
+"Vi skapar först den <link xref=\"image.js\">Image</link> som brytarna kommer styra. Kom ihåg att en fil med
namnet "
+"<file>redfox.png</file> behöver finnas i samma katalog som detta program."
#. (itstool) path: section/code
#: C/switch.js.page:100
@@ -30922,6 +34070,24 @@ msgid ""
" this._birdSwitch = new Gtk.Switch ({active: false});\n"
" this._birdSwitch.connect ('notify::active', Lang.bind (this, this._switchFlip));\n"
msgstr ""
+"\n"
+" // Skapa en etikett för den första brytaren\n"
+" this._flyLabel = new Gtk.Label ({\n"
+" label: \"Få den att flyga\",\n"
+" margin_right: 30});\n"
+"\n"
+" // Skapa den första brytaren och ställ in dess standardposition\n"
+" this._flySwitch = new Gtk.Switch ({active: false});\n"
+" this._flySwitch.connect ('notify::active', Lang.bind (this, this._switchFlip));\n"
+"\n"
+" // Skapa en etikett för den andra brytaren\n"
+" this._birdLabel = new Gtk.Label ({\n"
+" label: \"Gör den till en fågel\",\n"
+" margin_right: 30});\n"
+"\n"
+" // Skapa den andra brytaren\n"
+" this._birdSwitch = new Gtk.Switch ({active: false});\n"
+" this._birdSwitch.connect ('notify::active', Lang.bind (this, this._switchFlip));\n"
#. (itstool) path: section/p
#: C/switch.js.page:120
@@ -30930,6 +34096,9 @@ msgid ""
"that they aren't crammed right next to the Switches. After that we create the Switches, and set them to be "
"switched off by default."
msgstr ""
+"Vi använder en <link xref=\"label.js\">Label</link> för att märka varje Switch, och ger dem lite marginal
till "
+"höger så de inte är ihopträngda just intill Switcharna. Efter det skapar vi Switcharna, och ställer in dem
att "
+"vara avstängda som standard."
#. (itstool) path: section/p
#: C/switch.js.page:121
@@ -30939,6 +34108,10 @@ msgid ""
"something different, you might want to connect them to different functions, but here they're both used for
the "
"same thing: To control what picture's displayed by _image."
msgstr ""
+"Signalen som en brytare sänder ut när den slås på eller av kallas för notify::active. Efter att vi skapar
varje "
+"brytare ansluter vi dess notify::active-signal till en funktion som kallas _switchFlip. Om du har flera
brytare "
+"som gör olika saker, så kan du vilja ansluta dem till olika funktioner, men här används de båda för samma
sak: att "
+"styra vilken bild som visas av _image."
#. (itstool) path: section/code
#: C/switch.js.page:123
@@ -30966,6 +34139,27 @@ msgid ""
" this._mainGrid.attach (this._image, 0, 0, 1, 1);\n"
" this._mainGrid.attach (this._UIGrid, 0, 1, 1, 1);\n"
msgstr ""
+"\n"
+" // Skapa ett rutnät för etiketterna och brytarna under bilden\n"
+" this._UIGrid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER,\n"
+" margin_top: 20});\n"
+"\n"
+" // Fäst etiketterna och brytarna vid det rutnätet\n"
+" this._UIGrid.attach (this._flyLabel, 0, 0, 1, 1);\n"
+" this._UIGrid.attach (this._flySwitch, 1, 0, 1, 1);\n"
+" this._UIGrid.attach (this._birdLabel, 0, 1, 1, 1);\n"
+" this._UIGrid.attach (this._birdSwitch, 1, 1, 1, 1);\n"
+"\n"
+" // Skapa ett huvudrutnät att stoppa både användargränssnittet och bilden i\n"
+" this._mainGrid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER });\n"
+"\n"
+" // Fäst bilden och användargränssnittsrutnätet vid huvudrutnätet\n"
+" this._mainGrid.attach (this._image, 0, 0, 1, 1);\n"
+" this._mainGrid.attach (this._UIGrid, 0, 1, 1, 1);\n"
#. (itstool) path: section/p
#: C/switch.js.page:145
@@ -30987,11 +34181,18 @@ msgid ""
" this._window.show_all();\n"
" },\n"
msgstr ""
+"\n"
+" // Lägg till huvudrutnätet till fönstret\n"
+" this._window.add (this._mainGrid);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" },\n"
#. (itstool) path: section/title
#: C/switch.js.page:158
msgid "Function which handles the switches being flipped"
-msgstr ""
+msgstr "Funktion som hanterar att brytarna ändrar tillstånd"
#. (itstool) path: section/code
#: C/switch.js.page:160
@@ -31018,6 +34219,26 @@ msgid ""
"\n"
" },\n"
msgstr ""
+"\n"
+" _switchFlip: function() {\n"
+"\n"
+" // Ändra bilden beroende på vilka brytare som ändrar tillstånd\n"
+" if (this._flySwitch.get_active()) {\n"
+"\n"
+" if (this._birdSwitch.get_active()) this._image.set_from_file (\"muteswan.png\");\n"
+"\n"
+" else this._image.set_from_file (\"fruitbat.png\");\n"
+" }\n"
+"\n"
+" else {\n"
+"\n"
+" if (this._birdSwitch.get_active()) this._image.set_from_file (\"gentoopenguin.png\");\n"
+"\n"
+" else this._image.set_from_file (\"redfox.png\");\n"
+"\n"
+" }\n"
+"\n"
+" },\n"
#. (itstool) path: section/p
#: C/switch.js.page:181
@@ -31393,6 +34614,66 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+" # ett fönster\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Switch-exempel\", application=app)\n"
+" self.set_default_size(300, 100)\n"
+" self.set_border_width(10)\n"
+"\n"
+" # en brytare\n"
+" switch = Gtk.Switch()\n"
+" # påslagen som standard\n"
+" switch.set_active(True)\n"
+" # anslut signalen notify::active som utges av brytaren\n"
+" # till återanropsfunktionen activate_cb\n"
+" switch.connect(\"notify::active\", self.activate_cb)\n"
+"\n"
+" # en etikett\n"
+" label = Gtk.Label()\n"
+" label.set_text(\"Titel\")\n"
+"\n"
+" # ett rutnät för att allokera komponenterna\n"
+" grid = Gtk.Grid()\n"
+" grid.set_column_spacing(10)\n"
+" grid.attach(label, 0, 0, 1, 1)\n"
+" grid.attach(switch, 1, 0, 1, 1)\n"
+"\n"
+" # lägg till rutnätet till fönstret\n"
+" self.add(grid)\n"
+"\n"
+" # Återanropsfunktion. Då signalen är notify::active\n"
+" # behöver vi argumentet ”active”\n"
+" def activate_cb(self, button, active):\n"
+" # om knappen (d.v.s. brytaren) är aktiv, ställ in titeln\n"
+" # på fönstret till \"Switch-exempel\"\n"
+" if button.get_active():\n"
+" self.set_title(\"Switch-exempel\")\n"
+" # ställ annars in den till \"\" (tom sträng)\n"
+" else:\n"
+" self.set_title(\"\")\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/switch.py.page:37
@@ -31424,7 +34705,7 @@ msgstr "Switch (Vala)"
#. (itstool) path: page/p
#: C/switch.vala.page:29
msgid "This Switch toggles the title."
-msgstr ""
+msgstr "Denna Switch växlar titeln."
#. (itstool) path: page/code
#: C/switch.vala.page:31
@@ -31477,6 +34758,52 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"class MyWindow : Gtk.ApplicationWindow {\n"
+"\n"
+"\tinternal MyWindow (MyApplication app) {\n"
+"\t\tObject (application: app, title: \"Switch-exempel\");\n"
+"\n"
+"\t\tthis.set_default_size (300, 100);\n"
+"\t\tthis.border_width = 10;\n"
+"\n"
+"\t\tvar label = new Gtk.Label (\"Titel\");\n"
+"\t\tvar switcher = new Gtk.Switch ();\n"
+"\n"
+"\t\tswitcher.set_active (true);\n"
+"\n"
+"\t\tswitcher.notify[\"active\"].connect (switcher_cb);\n"
+"\n"
+"\t\tvar grid = new Gtk.Grid ();\n"
+"\t\tgrid.set_column_spacing (10);\n"
+"\t\tgrid.attach (label, 0, 0, 1, 1);\n"
+"\t\tgrid.attach (switcher, 1, 0, 1, 1);\n"
+"\n"
+"\t\tthis.add (grid);\n"
+"\t}\n"
+"\n"
+"\tvoid switcher_cb (Object switcher, ParamSpec pspec) {\n"
+"\t\tif ((switcher as Gtk.Switch).get_active())\n"
+"\t\t\tthis.set_title (\"Switch-exempel\");\n"
+"\t\telse\n"
+"\t\t\tthis.set_title (\"\");\n"
+"\t}\n"
+"}\n"
+"\n"
+"class MyApplication : Gtk.Application {\n"
+"\tprotected override void activate () {\n"
+"\n"
+"\t\tvar window = new MyWindow (this);\n"
+"\t\twindow.show_all (); //visa allting\n"
+"\t}\n"
+"\n"
+"\tinternal MyApplication () {\n"
+"\t\tObject (application_id: \"org.example.checkbutton\");\n"
+"\t}\n"
+"}\n"
+"\n"
+"int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/switch.vala.page:36
@@ -31519,13 +34846,13 @@ msgstr ""
msgid "If we write a long sentence, the text will wrap breaking lines between words."
msgstr "Om vi skriver en lång mening kommer texten radbrytas mellan ord."
+# TODO: remove asterisk.
#. (itstool) path: note/p
#: C/textview.c.page:25
-#, fuzzy
msgid ""
"If we have a loooooooooooooooooooooooooooooooooooong (that was long) word, a* horizontal scrollbar will
appear."
msgstr ""
-"Om vi har ett låååååååååååååååååååååååååååååååååångt (det var långt) ord, så* kommer en horisontell
rullningslist "
+"Om vi har ett låååååååååååååååååååååååååååååååååångt (det var långt) ord, så kommer en horisontell
rullningslist "
"att visas."
#. (itstool) path: page/media
@@ -31663,6 +34990,8 @@ msgid ""
"At the bottom there is a <link href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.TextBuffer.html"
"\">TextBuffer</link>. This holds the text itself."
msgstr ""
+"Längst ner är en <link
href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.TextBuffer.html\">TextBuffer</"
+"link>. Den innehåller själva texten."
#. (itstool) path: item/p
#: C/textview.js.page:30
@@ -31671,6 +35000,9 @@ msgid ""
"\">TextView</link>, which is a widget that lets you see and edit the text in the buffer. It automatically
resizes "
"itself depending on how much text there is."
msgstr ""
+"I mitten finns en <link
href=\"http://www.roojs.org/seed/gir-1.2-gtk-3.0/gjs/Gtk.TextView.html\">TextView</link>, "
+"som är en komponent som låter dig se och redigera texten i bufferten. Den ändrar automatiskt storlek på sig
själv "
+"beroende på hur mycket text det är."
#. (itstool) path: item/p
#: C/textview.js.page:31
@@ -31696,6 +35028,9 @@ msgid ""
"killing the fish that they eat. If you'd like to play a (somewhat silly) GNOME game based on this premise,
take a "
"look at <link href=\"http://pingus.seul.org/\">Pingus</link>."
msgstr ""
+"Pingvinpopulationer i verkligheten minskar snabbt, eftersom klimatförändring smälter isen som de lever på
och "
+"dödar fisken som de äter. Om du vill spela ett (aningen fånigt) GNOME-spel som är baserat på de premisserna
kan du "
+"ta en titt på <link href=\"http://pingus.seul.org/\">Pingus</link>."
#. (itstool) path: section/code
#: C/textview.js.page:50
@@ -31725,6 +35060,29 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const TextViewExample = new Lang.Class ({\n"
+" Name: 'TextView-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function () {\n"
+" this.application = new Gtk.Application ({\n"
+" application_id: 'org.example.jstextview' });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal visar fönster när den aktiveras\n"
+" _onActivate: function () {\n"
+" this._window.present ();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function () {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/p
#: C/textview.js.page:74
@@ -31753,15 +35111,27 @@ msgid ""
" default_width: 440,\n"
" border_width: 20 });\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function () {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow ({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" title: \"Prata med en pingvin\",\n"
+" default_height: 400,\n"
+" default_width: 440,\n"
+" border_width: 20 });\n"
#. (itstool) path: section/title
#: C/textview.js.page:92
msgid "Creating the TextView"
-msgstr ""
+msgstr "Skapa vår TextView"
#. (itstool) path: section/code
#: C/textview.js.page:93
-#, no-wrap
+#, fuzzy, no-wrap
msgid ""
"\n"
" // Create a label for the penguin to talk to you\n"
@@ -31771,6 +35141,13 @@ msgid ""
" label: \"Squaaaak?\",\n"
" wrap: true });\n"
msgstr ""
+"\n"
+" // Skapa en etikett så pingvinen kan prata med dig\n"
+" this._penguin = new Gtk.Label ({\n"
+" height_request: 180,\n"
+" width_request: 400,\n"
+" label: \"Squaaaak?\",\n"
+" wrap: true });\n"
#. (itstool) path: section/p
#: C/textview.js.page:102
@@ -31792,6 +35169,13 @@ msgid ""
" editable: true,\n"
" wrap_mode: Gtk.WrapMode.WORD });\n"
msgstr ""
+"\n"
+" // Skapa en textvy så att du kan prata med pingvinen\n"
+" this.buffer = new Gtk.TextBuffer();\n"
+" this._textView = new Gtk.TextView ({\n"
+" buffer: this.buffer,\n"
+" editable: true,\n"
+" wrap_mode: Gtk.WrapMode.WORD });\n"
#. (itstool) path: section/p
#: C/textview.js.page:113
@@ -31849,11 +35233,20 @@ msgid ""
" this._grid.attach (this._penguin, 0, 0, 1, 1);\n"
" this._grid.attach (this._scrolled, 0, 1, 1, 1);\n"
msgstr ""
+"\n"
+" // Skapa ett rutnät att organisera dem i\n"
+" this._grid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER });\n"
+"\n"
+" // Stoppa etiketten och textvyn i rutnätet, den ena ovanpå den andra\n"
+" this._grid.attach (this._penguin, 0, 0, 1, 1);\n"
+" this._grid.attach (this._scrolled, 0, 1, 1, 1);\n"
#. (itstool) path: section/p
#: C/textview.js.page:144
msgid "The first <link xref=\"grid.js\">Grid</link> we create only has the Label and the ScrolledWindow
inside it."
-msgstr ""
+msgstr "Den första <link xref=\"grid.js\">Grid</link> vi skapar har bara vår Label och vårt ScrolledWindow i
sig."
#. (itstool) path: section/code
#: C/textview.js.page:146
@@ -31876,6 +35269,22 @@ msgid ""
" this._mainGrid.attach (this._grid, 0, 0, 1, 1);\n"
" this._mainGrid.attach (this._send, 0, 1, 1, 1);\n"
msgstr ""
+"\n"
+" // Skapa en knapp för att skicka ditt meddelande till pingvinen\n"
+" this._send = new Gtk.Button ({\n"
+" halign: Gtk.Align.END,\n"
+" margin_top: 20,\n"
+" label: \"Skicka\" });\n"
+" this._send.connect ('clicked', Lang.bind (this, this._chat));\n"
+"\n"
+" // Skapa ett rutnät som kommer ha det andra rutnätet överst och knappen nederst\n"
+" this._mainGrid = new Gtk.Grid ({\n"
+" halign: Gtk.Align.CENTER,\n"
+" valign: Gtk.Align.CENTER });\n"
+"\n"
+" // Lägg till det andra rutnätet och knappen till huvudrutnätet\n"
+" this._mainGrid.attach (this._grid, 0, 0, 1, 1);\n"
+" this._mainGrid.attach (this._send, 0, 1, 1, 1);\n"
#. (itstool) path: section/p
#: C/textview.js.page:163
@@ -31884,6 +35293,9 @@ msgid ""
"the other one on top and the Button on the bottom. The Button has a margin on top, so that it isn't
squished up "
"against the ScrolledWindow."
msgstr ""
+"Vi skapar en <link xref=\"button.js\">Button</link> för att skicka ditt meddelande till pingvinen, och en
ny Grid "
+"som har den andra överst och vår Button nederst. Denna Button har en marginal uppåt så att den inte trycks
upp mot "
+"vårt ScrolledWindow."
#. (itstool) path: section/code
#: C/textview.js.page:165
@@ -31897,6 +35309,13 @@ msgid ""
" this._window.show_all();\n"
" },\n"
msgstr ""
+"\n"
+" // Fäst huvudrutnätet vid fönstret\n"
+" this._window.add (this._mainGrid);\n"
+"\n"
+" // Visa fönstret och alla barnkomponenter\n"
+" this._window.show_all();\n"
+" },\n"
#. (itstool) path: section/p
#: C/textview.js.page:174
@@ -31904,11 +35323,13 @@ msgid ""
"Finally, we attach the main Grid to the window, then we tell the window and everything inside it to become
visible "
"when the application is run."
msgstr ""
+"Slutligen fäster vi vår huvud-Grid till fönstret, och säger sedan till fönstret och allting i det att bli
synliga "
+"då programmet körs."
#. (itstool) path: section/title
#: C/textview.js.page:179
msgid "Function which handles the penguin's response"
-msgstr ""
+msgstr "Funktion som hanterar pingvinens svar"
#. (itstool) path: section/code
#: C/textview.js.page:180
@@ -32550,7 +35971,7 @@ msgstr "ToggleButton (C)"
#. (itstool) path: info/desc
#: C/togglebutton.c.page:22 C/togglebutton.py.page:19 C/togglebutton.vala.page:21
msgid "A button which retains state"
-msgstr ""
+msgstr "En knapp som behåller sitt tillstånd"
#. (itstool) path: page/title
#: C/togglebutton.c.page:25 C/togglebutton.js.page:21 C/togglebutton.py.page:22 C/togglebutton.vala.page:24
@@ -32570,7 +35991,7 @@ msgstr "external ref='media/togglebutton.png' md5='791e062613d4f9bd5936390b0aa18
#. (itstool) path: page/p
#: C/togglebutton.c.page:28 C/togglebutton.py.page:24 C/togglebutton.vala.page:26
msgid "When this ToggleButton is in an active state, the spinner spins."
-msgstr ""
+msgstr "När denna ToggleButton är i aktivt läge så snurrar väntesnurran."
#. (itstool) path: page/code
#: C/togglebutton.c.page:30
@@ -32680,6 +36101,9 @@ msgid ""
"click it. You can use it like an on/off switch, to control things like the <link
xref=\"spinner.js\">Spinner</"
"link> in this example."
msgstr ""
+"En ToggleButton är som en vanlig <link xref=\"button.js\">Button</link>, förutom att den förblir nedtryckt
då du "
+"klickar på den. Du kan använda den som en av/på-brytare. för att styra saker som en <link xref=\"spinner.js"
+"\">Spinner</link> i detta exempel."
#. (itstool) path: page/p
#: C/togglebutton.js.page:24
@@ -32689,6 +36113,10 @@ msgid ""
"popped out and vice-versa, it sends out the \"toggled\" signal, which you can connect to a function to do "
"something."
msgstr ""
+"get_active-metoden för en ToggleButton returnerar true om den är nedtryckt, och false om den inte är det.
Dess "
+"set_active-metod används om du vill ändra dess tillstånd utan att behöva klicka på den. När den växlar
tillstånd "
+"från nedtryckt till utstickande och tvärtom, så skickar den signalen ”toggled”, vilken du kan ansluta till
en "
+"signal för att göra något."
#. (itstool) path: section/code
#: C/togglebutton.js.page:41
@@ -32720,6 +36148,31 @@ msgid ""
" this._buildUI ();\n"
" },\n"
msgstr ""
+"\n"
+"const ToggleButtonExample = new Lang.Class({\n"
+" Name: 'ToggleButton-exempel',\n"
+"\n"
+" // Skapa programmet i sig\n"
+" _init: function() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jstogglebutton',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler till återanropsfunktionerna\n"
+" this.application.connect('activate', Lang.bind(this, this._onActivate));\n"
+" this.application.connect('startup', Lang.bind(this, this._onStartup));\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”activate”-signal, visar fönstret när den aktiveras\n"
+" _onActivate: function() {\n"
+" this._window.present();\n"
+" },\n"
+"\n"
+" // Återanropsfunktion för ”startup”-signal bygger användargränssnittet\n"
+" _onStartup: function() {\n"
+" this._buildUI ();\n"
+" },\n"
#. (itstool) path: section/code
#: C/togglebutton.js.page:68
@@ -32738,11 +36191,23 @@ msgid ""
" border_width: 30,\n"
" title: \"ToggleButton Example\"});\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function() {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" default_height: 300,\n"
+" default_width: 300,\n"
+" border_width: 30,\n"
+" title: \"ToggleButton-exempel\"});\n"
#. (itstool) path: section/title
#: C/togglebutton.js.page:85
msgid "Creating the ToggleButton and other widgets"
-msgstr ""
+msgstr "Skapa vår ToggleButton och andra komponenter"
#. (itstool) path: section/code
#: C/togglebutton.js.page:86
@@ -32752,6 +36217,9 @@ msgid ""
" // Create the spinner that the button stops and starts\n"
" this._spinner = new Gtk.Spinner ({hexpand: true, vexpand: true});\n"
msgstr ""
+"\n"
+" // Skapa väntesnurran som knappen stoppar och startar\n"
+" this._spinner = new Gtk.Spinner ({hexpand: true, vexpand: true});\n"
#. (itstool) path: section/p
#: C/togglebutton.js.page:91
@@ -32759,6 +36227,8 @@ msgid ""
"We want this <link xref=\"spinner.js\">Spinner</link> to expand vertically and horizontally, to take up as
much "
"space as possible inside the window."
msgstr ""
+"Vi vill att denna <link xref=\"spinner.js\">Spinner</link> ska expanderas vertikalt och horisontellt så att
den "
+"tar upp så mycket utrymme som möjligt i fönstret."
#. (itstool) path: section/code
#: C/togglebutton.js.page:93
@@ -32769,6 +36239,10 @@ msgid ""
" this._toggleButton = new Gtk.ToggleButton ({label: \"Start/Stop\"});\n"
" this._toggleButton.connect ('toggled', Lang.bind (this, this._onToggle));\n"
msgstr ""
+"\n"
+" // Skapa växlingsknappen som startar och stoppar väntesnurran\n"
+" this._toggleButton = new Gtk.ToggleButton ({label: \"Starta/stoppa\"});\n"
+" this._toggleButton.connect ('toggled', Lang.bind (this, this._onToggle));\n"
#. (itstool) path: section/p
#: C/togglebutton.js.page:99
@@ -32777,6 +36251,9 @@ msgid ""
"difference is that you're handling a \"toggled\" signal instead of a \"clicked\" signal. This code binds
the "
"_onToggle function to that signal, so that it's called whenever our ToggleButton is toggled."
msgstr ""
+"Att skapa en ToggleButton är mycket som att skapa en vanlig <link xref=\"button.js\">Button</link>. Den
största "
+"skillnaden är att du hanterar en ”toggled”-signal istället för en ”clicked”-signal. Denna kod binder
_onToggle-"
+"funktionen till den signalen, så att den anropas närhelst vår ToggleButton växlar tillstånd."
#. (itstool) path: section/code
#: C/togglebutton.js.page:101
@@ -32790,6 +36267,13 @@ msgid ""
" this._grid.attach (this._spinner, 0, 0, 1, 1);\n"
" this._grid.attach (this._toggleButton, 0, 1, 1, 1);\n"
msgstr ""
+"\n"
+" // Skapa ett rutnät och stoppa allting i det\n"
+" this._grid = new Gtk.Grid ({\n"
+" row_homogeneous: false,\n"
+" row_spacing: 15});\n"
+" this._grid.attach (this._spinner, 0, 0, 1, 1);\n"
+" this._grid.attach (this._toggleButton, 0, 1, 1, 1);\n"
#. (itstool) path: section/p
#: C/togglebutton.js.page:109
@@ -32797,6 +36281,8 @@ msgid ""
"Here we create a simple <link xref=\"grid.js\">Grid</link> to organize everything in, then attach the
Spinner and "
"ToggleButton to it."
msgstr ""
+"Här skapar vi en enkel <link xref=\"grid.js\">Grid</link> för att organisera allting i, och fäster sedan
vår "
+"Spinner och ToggleButton till den."
#. (itstool) path: section/code
#: C/togglebutton.js.page:111
@@ -32810,6 +36296,13 @@ msgid ""
" this._window.show_all();\n"
" },\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"
#. (itstool) path: section/p
#: C/togglebutton.js.page:119
@@ -32817,11 +36310,13 @@ msgid ""
"Now we add the Grid to the Window, and tell the Window to show itself and its child widgets when the
application "
"is started."
msgstr ""
+"Nu lägger vi till vår Grid till detta Window, och säger till fönstret att visa sig själv och sina
barnkomponenter "
+"då programmet startas."
#. (itstool) path: section/title
#: C/togglebutton.js.page:123
msgid "Making something happen when the ToggleButton is toggled"
-msgstr ""
+msgstr "Få något att hända när vår ToggleButton växlar tillstånd"
#. (itstool) path: section/code
#: C/togglebutton.js.page:125
@@ -32839,6 +36334,17 @@ msgid ""
"\n"
"});\n"
msgstr ""
+"\n"
+" _onToggle: function() {\n"
+"\n"
+" // Starta eller stoppa väntesnurran\n"
+" if (this._toggleButton.get_active ())\n"
+" this._spinner.start ();\n"
+" else this._spinner.stop ();\n"
+"\n"
+" }\n"
+"\n"
+"});\n"
#. (itstool) path: section/p
#: C/togglebutton.js.page:137
@@ -32847,6 +36353,9 @@ msgid ""
"or stops the spinner accordingly. We want it to spin only while the button is pressed in, so if get_active
returns "
"true we start the spinner. Otherwise, we tell it to stop."
msgstr ""
+"Närhelst någon klickar på knappen ser denna funktion vad dess tillstånd är efteråt med get_active, och
startar "
+"eller stoppar väntesnurran enligt detta. Vi vill att den endast ska snurra när knappen är nedtryckt, så om "
+"get_active returnerar true startar vi väntesnurran. Annars säger vi till den att stoppa."
#. (itstool) path: section/code
#: C/togglebutton.js.page:139
@@ -32944,6 +36453,83 @@ msgid ""
"let app = new ToggleButtonExample ();\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 Gtk = imports.gi.Gtk;\n"
+"\n"
+"class ToggleButtonExample {\n"
+"\n"
+" // Skapa programmet i sig\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.jstogglebutton',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" // Anslut ”activate”- och ”startup”-signaler 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 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 programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" default_height: 300,\n"
+" default_width: 300,\n"
+" border_width: 30,\n"
+" title: \"ToggleButton-exempel\"});\n"
+"\n"
+" // Skapa väntesnurran som knappen stoppar och startar\n"
+" this._spinner = new Gtk.Spinner ({hexpand: true, vexpand: true});\n"
+"\n"
+" // Skapa växlingsknappen som startar och stoppar väntesnurran\n"
+" this._toggleButton = new Gtk.ToggleButton ({label: \"Starta/stoppa\"});\n"
+" this._toggleButton.connect ('toggled', this._onToggle.bind(this));\n"
+"\n"
+" // Skapa ett rutnät och stoppa allting i det\n"
+" this._grid = new Gtk.Grid ({\n"
+" row_homogeneous: false,\n"
+" row_spacing: 15});\n"
+" this._grid.attach (this._spinner, 0, 0, 1, 1);\n"
+" this._grid.attach (this._toggleButton, 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"
+" _onToggle() {\n"
+"\n"
+" // Starta eller stoppa väntesnurran\n"
+" if (this._toggleButton.get_active ())\n"
+" this._spinner.start ();\n"
+" else this._spinner.stop ();\n"
+"\n"
+" }\n"
+"};\n"
+"\n"
+"// Kör programmet\n"
+"let app = new ToggleButtonExample ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: item/p
#: C/togglebutton.js.page:159
@@ -33022,6 +36608,67 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+" # a window\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(\n"
+" self, title=\"ToggleButton-exempel\", application=app)\n"
+" self.set_default_size(300, 300)\n"
+" self.set_border_width(30)\n"
+"\n"
+" # en väntesnurreanimering\n"
+" self.spinner = Gtk.Spinner()\n"
+" # med extra horisontellt utrymme\n"
+" self.spinner.set_hexpand(True)\n"
+" # med extra vertikalt utrymme\n"
+" self.spinner.set_vexpand(True)\n"
+"\n"
+" # en växlingsknapp\n"
+" button = Gtk.ToggleButton.new_with_label(\"Starta/stoppa\")\n"
+" # anslut signalen \"toggled\" som utges av växlingsknappen\n"
+" # när dess tillstånd ändras till återanropsfunktionen toggled_cb\n"
+" button.connect(\"toggled\", self.toggled_cb)\n"
+"\n"
+" # ett rutnät för att allokera komponenterna\n"
+" grid = Gtk.Grid()\n"
+" grid.set_row_homogeneous(False)\n"
+" grid.set_row_spacing(15)\n"
+" grid.attach(self.spinner, 0, 0, 1, 1)\n"
+" grid.attach(button, 0, 1, 1, 1)\n"
+"\n"
+" # lägg till rutnätet till fönstret\n"
+" self.add(grid)\n"
+"\n"
+" # återanropsfunktion för signalen \"toggled\"\n"
+" def toggled_cb(self, button):\n"
+" # starta väntesnurran om växlingsknappen är aktiv\n"
+" if button.get_active():\n"
+" self.spinner.start()\n"
+" # stoppa den annars\n"
+" else:\n"
+" self.spinner.stop()\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/togglebutton.py.page:36
@@ -33110,6 +36757,61 @@ msgid ""
"\treturn new MyApplication ().run (args);\n"
"}\n"
msgstr ""
+"public class MyWindow : Gtk.ApplicationWindow {\n"
+"\n"
+"\tGtk.Spinner spinner;\n"
+"\n"
+"\tinternal MyWindow (MyApplication app) {\n"
+"\t\tObject (application: app, title: \"ToggleButton-exempel\");\n"
+"\n"
+"\t\tthis.set_default_size (300, 300);\n"
+"\t\tthis.border_width = 30;\n"
+"\n"
+"\t\t/*Spinner*/\n"
+"\t\tspinner = new Gtk.Spinner ();\n"
+"\t\tspinner.set_hexpand (true);\n"
+"\t\tspinner.set_vexpand (true);\n"
+"\n"
+"\t\t/*ToggleButton*/\n"
+"\t\tvar togglebutton = new Gtk.ToggleButton.with_label (\"Starta/stoppa\");\n"
+"\t\ttogglebutton.toggled.connect (toggled_cb);\n"
+"\n"
+"\t\t/*Grid*/\n"
+"\t\tvar grid = new Gtk.Grid ();\n"
+"\t\tgrid.set_row_homogeneous (false);\n"
+"\t\tgrid.set_row_spacing (15);\n"
+"\t\tgrid.attach (spinner, 0, 0, 1, 1);\n"
+"\t\tgrid.attach (togglebutton, 0, 1, 1, 1);\n"
+"\n"
+"\t\tthis.add (grid);\n"
+"\t}\n"
+"\n"
+"\tvoid toggled_cb (Gtk.ToggleButton button) {\n"
+"\t\tif (button.get_active()) {\n"
+"\t\t\tspinner.start ();\n"
+"\t\t}\n"
+"\t\telse {\n"
+"\t\t\tspinner.stop ();\n"
+"\t\t}\n"
+"\t}\n"
+"}\n"
+"\n"
+"public class MyApplication : Gtk.Application {\n"
+"\n"
+"\tprotected override void activate () {\n"
+"\n"
+"\t\t//Visa allting\n"
+"\t\tnew MyWindow (this).show_all ();\n"
+"\t}\n"
+"\n"
+"\tinternal MyApplication () {\n"
+"\t\tObject (application_id: \"org.example.spinner\");\n"
+"\t}\n"
+"}\n"
+"\n"
+"public int main (string[] args) {\n"
+"\treturn new MyApplication ().run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/togglebutton.vala.page:33
@@ -33125,7 +36827,7 @@ msgstr "Toolbar (C)"
#. (itstool) path: info/desc
#: C/toolbar.c.page:20 C/toolbar.vala.page:19 C/toolbar_builder.vala.page:20
msgid "A bar of buttons"
-msgstr ""
+msgstr "En rad med knappar"
#. (itstool) path: page/title
#: C/toolbar.c.page:23 C/toolbar.js.page:21 C/toolbar.py.page:23 C/toolbar.vala.page:22
@@ -33149,6 +36851,8 @@ msgid ""
"Toolbar can contain either text or stock icons. In this sample we use stock icons. This example has
fullscreen "
"functionality."
msgstr ""
+"Toolbar kan innehålla antingen text eller standardikoner. I detta exempel använder vi standardikoner. Detta
"
+"exempel har helskärmsfunktionalitet."
#. (itstool) path: page/p
#: C/toolbar.c.page:27
@@ -33403,6 +37107,7 @@ msgstr "Toolbar (Javascript)"
msgid "A bar of tools"
msgstr "En rad med verktyg"
+# TODO: the the -> to the
#. (itstool) path: page/p
#: C/toolbar.js.page:24 C/toolbar.vala.page:26
msgid "This example uses SimpleActions (window and app). App actions can easily be added the the app menu."
@@ -33794,6 +37499,8 @@ msgid ""
"<code>get_n_items()</code> returns the number of items on the toolbar; <code>get_nth_item(position)</code>
returns "
"the item in position <code>position</code>."
msgstr ""
+"<code>get_n_items()</code> returnerar antalet objekt i verktygsfältet; <code>get_nth_item(position)</code> "
+"returnerar objektet på positionen <code>position</code>."
#. (itstool) path: item/p
#: C/toolbar.py.page:44
@@ -33801,6 +37508,8 @@ msgid ""
"If the toolbar does not have room for all the menu items, and <code>set_show_arrow(True)</code>, the items
that do "
"not have room are shown through an overflow menu."
msgstr ""
+"Om verktygsfältet inte har plats för alla menyobjekt, och <code>set_show_arrow(True)</code>, så kommer
objekten "
+"som inte har plats att visas via en överspillsmeny."
#. (itstool) path: item/p
#: C/toolbar.py.page:45
@@ -34012,12 +37721,12 @@ msgstr "<link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Stock.html\">Gtk.Stock<
#: C/toolbar_builder.py.page:8
msgctxt "text"
msgid "Toolbar created using Glade (Python)"
-msgstr ""
+msgstr "Toolbar skapad med Glade (Python)"
#. (itstool) path: page/title
#: C/toolbar_builder.py.page:36 C/toolbar_builder.vala.page:23
msgid "Toolbar created using Glade"
-msgstr ""
+msgstr "Toolbar skapad med Glade"
#. (itstool) path: page/p
#: C/toolbar_builder.py.page:39
@@ -34025,6 +37734,8 @@ msgid ""
"This example is similar to <link xref=\"toolbar.py\"/>, except we use Glade to create the toolbar in an XML
.ui "
"file."
msgstr ""
+"Detta exempel liknar <link xref=\"toolbar.py\"/>, förutom att vi använder Glade för att skapa
verktygsfältet i en "
+"XML .ui-fil."
#. (itstool) path: section/title
#: C/toolbar_builder.py.page:44
@@ -34035,12 +37746,12 @@ msgstr "Skapa verktygsfältet med Glade"
#. (itstool) path: page/p
#: C/toolbar_builder.py.page:45 C/toolbar_builder.vala.page:28
msgid "To create the toolbar using the <link href=\"http://glade.gnome.org/\">Glade Interface
Designer</link>:"
-msgstr ""
+msgstr "För att skapa verktygsfältet med <link href=\"http://glade.gnome.org/\">gränssnittsbyggaren
Glade</link>:"
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:49 C/toolbar_builder.vala.page:32
msgid "Open Glade, and save the file as <file>toolbar_builder.ui</file>"
-msgstr ""
+msgstr "Öppna Glade, och spara filen som <file>toolbar_builder.ui</file>"
#. (itstool) path: p/media
#. This is a reference to an external file such as an image or video. When
@@ -34056,6 +37767,7 @@ msgstr "external ref='media/glade_ui.png' md5='baea74fe213bc12ea934f64f6977215a'
#: C/toolbar_builder.py.page:50 C/toolbar_builder.vala.page:33
msgid "<media type=\"image\" src=\"media/glade_ui.png\" width=\"900\"> Screenshot of Glade ui </media>"
msgstr ""
+"<media type=\"image\" src=\"media/glade_ui.png\" width=\"900\"> Skärmbild av Glades användargränssnitt
</media>"
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:55 C/toolbar_builder.vala.page:38
@@ -34063,6 +37775,8 @@ msgid ""
"Under <gui>Containers</gui> on the left hand side, right click on the toolbar icon and select <gui>Add
widget as "
"toplevel</gui>."
msgstr ""
+"Under <gui>Behållare</gui> på vänster sida, högerklicka på verktygsfältsikonen och välj <gui>Lägg till
komponent "
+"som toppnivå</gui>."
#. (itstool) path: p/media
#. This is a reference to an external file such as an image or video. When
@@ -34078,13 +37792,18 @@ msgstr "external ref='media/glade_select_toolbar.png' md5='f7b5b224050b2e387eb04
#: C/toolbar_builder.py.page:56 C/toolbar_builder.vala.page:39
msgid "<media type=\"image\" src=\"media/glade_select_toolbar.png\"> Screenshot of toolbar icon in Glade ui
</media>"
msgstr ""
+"<media type=\"image\" src=\"media/glade_select_toolbar.png\"> Skärmbild av verktygsfältsikon i Glades "
+"användargränssnitt </media>"
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:61 C/toolbar_builder.vala.page:44
+#, fuzzy
msgid ""
"Under the <gui>General</gui> tab on the bottom right, change the <gui>Name</gui> to <input>toolbar</input>
and "
"<gui>Show Arrow</gui> to <gui>No</gui>."
msgstr ""
+"Under fliken <gui>Allmänt</gui> längst ner till höger, ändra <gui>Namn</gui> till <input>toolbar</input>
och "
+"<gui>Visa pil</gui> till <gui>Nej</gui>."
#. (itstool) path: p/media
#. This is a reference to an external file such as an image or video. When
@@ -34099,12 +37818,12 @@ msgstr "external ref='media/glade_toolbar_general.png' md5='e31daba6e8a3e526aca8
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:62 C/toolbar_builder.vala.page:45
msgid "<media type=\"image\" src=\"media/glade_toolbar_general.png\"> Screenshot of General tab </media>"
-msgstr ""
+msgstr "<media type=\"image\" src=\"media/glade_toolbar_general.png\"> Skärmbild av fliken Allmänt </media>"
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:67 C/toolbar_builder.vala.page:50
msgid "Under the <gui>Common</gui> tab, set <gui>Horizontal Expand</gui> to <gui>Yes</gui>."
-msgstr ""
+msgstr "Under fliken <gui>Gemensamma</gui>, ställ in <gui>Vågrät expansion</gui> till <gui>Ja</gui>."
#. (itstool) path: p/media
#. This is a reference to an external file such as an image or video. When
@@ -34119,7 +37838,7 @@ msgstr "external ref='media/glade_toolbar_common.png' md5='d5ec6cc0218ca98e195db
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:68 C/toolbar_builder.vala.page:51
msgid "<media type=\"image\" src=\"media/glade_toolbar_common.png\"> Screenshot of Common tab </media>"
-msgstr ""
+msgstr "<media type=\"image\" src=\"media/glade_toolbar_common.png\"> Skärmbild av fliken Gemensam </media>"
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:73 C/toolbar_builder.vala.page:56
@@ -34127,6 +37846,8 @@ msgid ""
"Right click on the toolbar in the top right and select <gui>Edit</gui>. The <gui>Tool Bar Editor</gui>
window will "
"appear."
msgstr ""
+"Högerklicka på verktygsfältet i det övre högra hörnet och välj <gui>Redigera</gui>. Fönstret "
+"<gui>Verktygsfältsredigerare</gui> kommer visas."
#. (itstool) path: p/media
#. This is a reference to an external file such as an image or video. When
@@ -34144,23 +37865,28 @@ msgid ""
"<media type=\"image\" src=\"media/glade_toolbar_edit.png\"> Screenshot of where to right click to edit
toolbar. </"
"media>"
msgstr ""
+"<media type=\"image\" src=\"media/glade_toolbar_edit.png\"> Skärmbild av var högerklick ska ske för att
redigera "
+"verktygsfält. </media>"
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:79 C/toolbar_builder.vala.page:62
+#, fuzzy
msgid ""
"We want to add 5 ToolButtons: New, Open, Undo, Fullscreen and Leave Fullscreen. First, we will add the New "
"ToolButton."
msgstr ""
+"Vi vill lägga till 5 ToolButtons: Ny, Öppna, Ångra, Helskärm och Lämna helskärmsläge. Först kommer vi lägga
till "
+"en ToolButton för Ny."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:82 C/toolbar_builder.vala.page:65
msgid "Under <gui>Hierarchy</gui> tab, click <gui>Add</gui>."
-msgstr ""
+msgstr "Under fliken <gui>Hierarki</gui>, klicka på <gui>Lägg till</gui>."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:83 C/toolbar_builder.vala.page:66
msgid "Change the name of the ToolItem to <input>new_button</input>."
-msgstr ""
+msgstr "Ändra namnet på detta ToolItem till <input>new_button</input>."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:84 C/toolbar_builder.vala.page:67
@@ -34168,16 +37894,18 @@ msgid ""
"Scroll down and set <gui>Is important</gui> to <gui>Yes</gui>. This will cause the label of the ToolButton
to be "
"shown, when you view the toolbar."
msgstr ""
+"Rulla ner och ställ in <gui>Är viktig</gui> till <gui>Ja</gui>. Detta kommer få etiketten för vår
ToolButton att "
+"visas när verktygsfältet visas."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:85 C/toolbar_builder.vala.page:68
msgid "Enter the <gui>action name</gui>: <input>app.new</input>."
-msgstr ""
+msgstr "Ange <gui>Åtgärdsnamn</gui>et: <input>app.new</input>."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:86 C/toolbar_builder.vala.page:69
msgid "Change the <gui>Label</gui> to <input>New</input>."
-msgstr ""
+msgstr "Ändra <gui>Etikett</gui> till <input>Ny</input>."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:87 C/toolbar_builder.vala.page:70
@@ -34214,7 +37942,7 @@ msgstr "open_button"
#: C/toolbar_builder.py.page:126 C/toolbar_builder.vala.page:88 C/toolbar_builder.vala.page:95
#: C/toolbar_builder.vala.page:102 C/toolbar_builder.vala.page:109
msgid "Yes"
-msgstr ""
+msgstr "Ja"
#. (itstool) path: td/p
#: C/toolbar_builder.py.page:106 C/toolbar_builder.vala.page:89
@@ -34300,7 +38028,7 @@ msgstr "external ref='media/glade_toolbar_editor.png' md5='8af65241e5ca47d5494a7
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:138 C/toolbar_builder.vala.page:121
msgid "Close the <gui>Tool Bar Editor</gui>."
-msgstr ""
+msgstr "Stäng <gui>Verktygsfältsredigerare</gui>n."
#. (itstool) path: item/p
#: C/toolbar_builder.py.page:141
@@ -34649,7 +38377,7 @@ msgstr ""
#: C/toolbar_builder.vala.page:8
msgctxt "text"
msgid "Toolbar created using Glade (Vala)"
-msgstr ""
+msgstr "Toolbar skapad med Glade (Vala)"
#. (itstool) path: page/p
#: C/toolbar_builder.vala.page:26
@@ -34785,7 +38513,7 @@ msgstr "Tooltip (C)"
#. (itstool) path: info/desc
#: C/tooltip.c.page:19 C/tooltip.js.page:19 C/tooltip.py.page:20 C/tooltip.vala.page:19
msgid "Add tips to your widgets"
-msgstr ""
+msgstr "Lägg till inforutor till dina komponenter"
#. (itstool) path: page/title
#: C/tooltip.c.page:22 C/tooltip.js.page:22 C/tooltip.py.page:23 C/tooltip.vala.page:22
@@ -34805,7 +38533,7 @@ msgstr "external ref='media/tooltip.png' md5='41e35860a51e39cb48c71e57bb8fb1d0'"
#. (itstool) path: page/p
#: C/tooltip.c.page:24 C/tooltip.js.page:24 C/tooltip.py.page:25 C/tooltip.vala.page:24
msgid "A toolbar with a tooltip (with an image) for a button."
-msgstr ""
+msgstr "Ett verktygsfält med en inforuta (med en bild) för en knapp."
#. (itstool) path: note/p
#: C/tooltip.c.page:26
@@ -35361,11 +39089,13 @@ msgid ""
"<code>set_tooltip_text(text)</code> and <code>set_tooltip_markup(text)</code> can be used to add a tooltip
of "
"plain text (or text in the Pango Markup Language) to a widget."
msgstr ""
+"<code>set_tooltip_text(text)</code> och <code>set_tooltip_markup(text)</code> kan användas för att lägga
till en "
+"inforuta med vanlig text (eller text i märkspråket Pango) till en komponent."
#. (itstool) path: section/p
#: C/tooltip.py.page:39
msgid "For more complex tooltips, for instance for a tooltip with an image:"
-msgstr ""
+msgstr "För mer komplexa inforutor, exempelvis för en inforuta med en bild:"
#. (itstool) path: item/p
#: C/tooltip.py.page:41
@@ -35373,9 +39103,13 @@ msgid ""
"Set the <code>\"has-tooltip\"</code> property of the widget to <code>True</code>; this will make GTK+
monitor the "
"widget for motion and related events which are needed to determine when and where to show a tooltip."
msgstr ""
+"Ställ in egenskapen <code>\"has-tooltip\"</code> för komponenten till <code>True</code>; detta kommer få
GTK+ att "
+"övervaka komponenten efter rörelse och relaterade händelser som behövs för att avgöra när och var en
inforuta ska "
+"visas."
#. (itstool) path: item/p
#: C/tooltip.py.page:42
+#, fuzzy
msgid ""
"Connect to the <code>\"query-tooltip\"</code> signal. This signal will be emitted when a tooltip is
supposed to be "
"shown. One of the arguments passed to the signal handler is a GtkTooltip object. This is the object that we
are "
@@ -35384,13 +39118,22 @@ msgid ""
"a stock icon (<code>set_icon_from_stock(stock_id, size)</code>), or even putting in a custom widget "
"(<code>set_custom(widget)</code>)."
msgstr ""
+"Anslut till signalen <code>\"query-tooltip\"</code>. Denna signal kommer att skickas när en inforuta ska
visas. "
+"Ett av argumenten som skickas till signalhanteraren är ett GtkTooltip-objekt. Detta är objektet som vi är
på väg "
+"att visa som en inforuta, och kan manipuleras i ditt återanrop genom att använda funktioner som
<code>set_icon()</"
+"code>. Det finns funktioner för att ställa in inforutans markup (<code>set_markup(text)</code>), ställa in
en bild "
+"från en standardikon (<code>set_icon_from_stock(stock_id, storlek)</code>), eller till och med stoppa in en
"
+"anpassad komponent (<code>set_custom(widget)</code>)."
+# TODO: to be show*n*
#. (itstool) path: item/p
#: C/tooltip.py.page:43
msgid ""
"Return <code>True</code> from your query-tooltip handler. This causes the tooltip to be show. If you return
"
"<code>False</code>, it will not be shown."
msgstr ""
+"Returnera <code>True</code> från din query-tooltip-hanterare. Detta får inforutan att visas. Om du
returnerar "
+"<code>False</code> kommer den inte att visas."
#. (itstool) path: section/p
#: C/tooltip.py.page:46
@@ -35402,12 +39145,14 @@ msgstr ""
#. (itstool) path: item/p
#: C/tooltip.py.page:48
msgid "Set <code>\"has-tooltip\"</code> and connect to <code>\"query-tooltip\"</code> as before."
-msgstr ""
+msgstr "Ställ in <code>\"has-tooltip\"</code> och anslut till <code>\"query-tooltip\"</code> som tidigare."
#. (itstool) path: item/p
#: C/tooltip.py.page:49
msgid "Use <code>set_tooltip_window()</code> on the widget to set a GtkWindow created by you as tooltip
window."
msgstr ""
+"Använd <code>set_tooltip_window()</code> på komponenten för att ställa in ett GtkWindow skapat av dig som "
+"inforutefönster."
#. (itstool) path: item/p
#: C/tooltip.py.page:50
@@ -36129,6 +39874,18 @@ msgid ""
" border_width: 20,\n"
" title: \"My Phone Book\"});\n"
msgstr ""
+"\n"
+" // Bygg programmets användargränssnitt\n"
+" _buildUI: function() {\n"
+"\n"
+" // Skapa programfönstret\n"
+" this._window = new Gtk.ApplicationWindow({\n"
+" application: this.application,\n"
+" window_position: Gtk.WindowPosition.CENTER,\n"
+" default_height: 250,\n"
+" default_width: 100,\n"
+" border_width: 20,\n"
+" title: \"Min telefonkatalog\"});\n"
#. (itstool) path: section/code
#: C/treeview_simple_liststore.js.page:95
@@ -36244,7 +40001,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/treeview_simple_liststore.js.page:148
msgid "Creating the TreeView"
-msgstr ""
+msgstr "Skapa vår TreeView"
#. (itstool) path: section/code
#: C/treeview_simple_liststore.js.page:149
@@ -36274,6 +40031,11 @@ msgid ""
" let lastName = new Gtk.TreeViewColumn ({ title: \"Last Name\" });\n"
" let phone = new Gtk.TreeViewColumn ({ title: \"Phone Number\" });\n"
msgstr ""
+"\n"
+" // Skapa kolumnerna för adressboken\n"
+" let firstName = new Gtk.TreeViewColumn ({ title: \"Förnamn\" });\n"
+" let lastName = new Gtk.TreeViewColumn ({ title: \"Efternamn\" });\n"
+" let phone = new Gtk.TreeViewColumn ({ title: \"Telefonnummer\" });\n"
#. (itstool) path: section/p
#: C/treeview_simple_liststore.js.page:163
@@ -36332,6 +40094,15 @@ msgid ""
" this._treeView.insert_column (lastName, 1);\n"
" this._treeView.insert_column (phone, 2);\n"
msgstr ""
+"\n"
+" firstName.add_attribute (bold, \"text\", 0);\n"
+" lastName.add_attribute (normal, \"text\", 1);\n"
+" phone.add_attribute (normal, \"text\", 2);\n"
+"\n"
+" // Infoga kolumnerna i trädvyn\n"
+" this._treeView.insert_column (firstName, 0);\n"
+" this._treeView.insert_column (lastName, 1);\n"
+" this._treeView.insert_column (phone, 2);\n"
#. (itstool) path: section/p
#: C/treeview_simple_liststore.js.page:191
@@ -36437,8 +40208,9 @@ msgstr ""
#. (itstool) path: section/title
#: C/treeview_simple_liststore.js.page:235
+#, fuzzy
msgid "Function which handles a changed selection"
-msgstr ""
+msgstr "Funktion som hanterar ett ändrat val"
#. (itstool) path: section/code
#: C/treeview_simple_liststore.js.page:237
@@ -37108,6 +40880,12 @@ msgid ""
"org/en/latest/index.html\">The Python GTK+ 3 Tutorial</link>. Once you master the basics, be sure to come
back and "
"check out these tutorials."
msgstr ""
+"Om du aldrig har programmerat förr, eller inte är bekant med koncepten i objektorienterad programmering, så
kan du "
+"behöva lära dig lite grunder först. Boken <link href=\"http://learnpythonthehardway.org/book/\">Learn
Python the "
+"Hard Way</link> eller <link href=\"http://docs.python.org/tutorial/index.html\">Python-handledningen</link>
kan "
+"vara ett bättre ställe för dig att börja. Du kan också vara intresserad av <link
href=\"http://python-gtk-3-"
+"tutorial.readthedocs.org/en/latest/index.html\">GTK+ 3-handledningen för Python</link>. Se till att komma
tillbaka "
+"och ta en titt på de här handledningarna då du bemästrat grunderna."
#. (itstool) path: section/title
#: C/tutorial.py.page:42
@@ -37141,11 +40919,13 @@ msgid ""
"After executing the code, you will either see the widget on your screen, or (if you have mistyped some of
the "
"code) you will see an error message that will help you identify the problem."
msgstr ""
+"Efter att du kör koden kommer du antingen se komponenten på din skärm, eller (om du skrivit någon del av
koden "
+"fel) så kommer du se ett felmeddelande som kommer hjälpa dig att identifiera felet."
#. (itstool) path: section/title
#: C/tutorial.py.page:55
msgid "A path through the widgets (with some theory)"
-msgstr ""
+msgstr "En väg genom komponenterna (med lite teori)"
#. (itstool) path: section/p
#: C/tutorial.py.page:56
@@ -37153,6 +40933,8 @@ msgid ""
"The tutorial will walk you through increasingly complex examples and programming theory, but you can also
feel "
"free to just go directly to the tutorial that is most helpful to you."
msgstr ""
+"Handledningen kommer följa dig genom alltmer komplexa exempel och programmeringsteori, men känn dig även
fri att "
+"bara gå direkt till den handledning som är till mest hjälp för dig."
#. (itstool) path: steps/title
#: C/tutorial.py.page:58
@@ -37177,7 +40959,7 @@ msgstr "Introduktion till egenskaper"
#. (itstool) path: steps/title
#: C/tutorial.py.page:75
msgid "Grid, separator and scrolling"
-msgstr ""
+msgstr "Rutnät, avskiljare och rullning"
#. (itstool) path: steps/title
#: C/tutorial.py.page:82
@@ -37192,7 +40974,7 @@ msgstr "Andra visningskomponenter"
#. (itstool) path: steps/title
#: C/tutorial.py.page:102
msgid "Entry widgets"
-msgstr ""
+msgstr "Inmatningskomponenter"
#. (itstool) path: steps/title
#: C/tutorial.py.page:108
@@ -37284,7 +41066,7 @@ msgstr "<link xref=\"#asynchronous\">Asynkrona anrop</link>"
#. (itstool) path: item/p
#: C/weatherApp.js.page:34
msgid "<link xref=\"#main\">The main program file</link>"
-msgstr ""
+msgstr "<link xref=\"#main\">Huvudprogramfilen</link>"
#. (itstool) path: item/p
#: C/weatherApp.js.page:35
@@ -37322,6 +41104,13 @@ msgid ""
"in relation to other widgets, so after the first widget is in place, placing widgets can be done in
relation to "
"any widget on the grid."
msgstr ""
+"Att strukturera ett program för GNOME 3 betyder att du kommer använda <link
href=\"http://developer.gnome.org/"
+"platform-overview/stable/gtk\">GTK+</link>. Den viktigaste saken att komma ihåg är att huvudfönstret endast
kommer "
+"acceptera en komponent. Du måste planera din struktur enligt detta (detta exempel använder Gtk.Grid). En
användbar "
+"metod är att rita ut huvudfönstret och placera varje komponent som behövs i den rutan. Genom att titta på
en bild "
+"på ditt framtida program är det lättare att säga vad relationerna mellan komponenter är. Exempelvis så
placerar "
+"Gtk.Grid dina komponenter i relation till andra komponenter, så efter att den första komponenten är på
plats kan "
+"placering av komponenter göras i förhållande till någon annan komponent i rutnätet."
#. (itstool) path: section/title
#: C/weatherApp.js.page:48
@@ -37356,8 +41145,9 @@ msgstr "Programmets olika delar"
#. (itstool) path: page/title
#: C/weatherAppMain.js.page:19
msgid "The main program file"
-msgstr ""
+msgstr "Huvudprogramfilen"
+# TODO: we'll
#. (itstool) path: synopsis/p
#: C/weatherAppMain.js.page:21
msgid ""
@@ -37369,17 +41159,17 @@ msgstr ""
#. (itstool) path: item/p
#: C/weatherAppMain.js.page:26
msgid "<link xref=\"#widgets\">Adding a grid and all the necessary widgets to it</link>"
-msgstr ""
+msgstr "<link xref=\"#widgets\">Lägga till ett rutnät och alla nödvändiga komponenter i det</link>"
#. (itstool) path: item/p
#: C/weatherAppMain.js.page:27
msgid "<link xref=\"#asynccall\">Requesting the weather information asynchronously</link>"
-msgstr ""
+msgstr "<link xref=\"#asynccall\">Begära väderinformationen asynkront</link>"
#. (itstool) path: item/p
#: C/weatherAppMain.js.page:28
msgid "<link xref=\"#connectingbuttons\">Connecting signals to button and entry</link>."
-msgstr ""
+msgstr "<link xref=\"#connectingbuttons\">Ansluta signaler till knapp och inmatning</link>."
#. (itstool) path: item/p
#: C/weatherAppMain.js.page:29
@@ -37436,7 +41226,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/weatherAppMain.js.page:64
msgid "Adding a grid and all the necessary widgets to it"
-msgstr ""
+msgstr "Lägga till ett rutnät och alla nödvändiga komponenter i det"
#. (itstool) path: section/code
#: C/weatherAppMain.js.page:65
@@ -37468,6 +41258,31 @@ msgid ""
"grid.attach_next_to(button1,entry,1,1,1);\n"
"grid.attach_next_to(weatherIcon,label2,1,1,1)\n"
msgstr ""
+"\n"
+"var grid = new Gtk.Grid();\n"
+"weatherwindow.add(grid);\n"
+"\n"
+"//Vi initierar ikonen här, men bestämmer filen senare i geonames.js.\n"
+"var weatherIcon = new Gtk.Image();\n"
+"\n"
+"//Ställ in några etiketter till ditt fönster\n"
+"var label1 = new Gtk.Label({label: \"\"});\n"
+"var label2 = new Gtk.Label({label: \"Söker i himlen…\"});\n"
+"var label3 = new Gtk.Label({label: \"\"});\n"
+"\n"
+"var entry = new Gtk.Entry();\n"
+"entry.set_width_chars(4);\n"
+"entry.set_max_length(4);\n"
+"var label4 = new Gtk.Label({label: \"Ange ICAO-station för väder: \"});\n"
+"var button1 = new Gtk.Button({label: \"sök!\"});\n"
+"\n"
+"grid.attach(label4, 2, 1, 1, 1);\n"
+"grid.attach_next_to(label1,label4,3,1,1);\n"
+"grid.attach_next_to(label2,label1,3,1,1);\n"
+"grid.attach_next_to(label3,label2,3,1,1);\n"
+"grid.attach_next_to(entry,label4,1,1,1);\n"
+"grid.attach_next_to(button1,entry,1,1,1);\n"
+"grid.attach_next_to(weatherIcon,label2,1,1,1)\n"
#. (itstool) path: section/p
#: C/weatherAppMain.js.page:91
@@ -37484,7 +41299,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/weatherAppMain.js.page:95
msgid "Requesting the weather information asynchronously"
-msgstr ""
+msgstr "Begära väderinformationen asynkront"
#. (itstool) path: section/code
#: C/weatherAppMain.js.page:96
@@ -37516,6 +41331,7 @@ msgid ""
"}\n"
msgstr ""
+# TODO: The first thing
#. (itstool) path: section/p
#: C/weatherAppMain.js.page:121
msgid ""
@@ -37530,7 +41346,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/weatherAppMain.js.page:125
msgid "Connecting signals to button and entry."
-msgstr ""
+msgstr "Ansluta signaler till knapp och inmatning."
#. (itstool) path: section/code
#: C/weatherAppMain.js.page:126
@@ -37549,6 +41365,18 @@ msgid ""
" getWeatherForStation();\n"
"});"
msgstr ""
+"\n"
+"entry.connect(\"key_press_event\", function(widget, event) {\n"
+" if (entry.get_text().length === 4) {\n"
+" // Nu räcker det\n"
+" getWeatherForStation();\n"
+" }\n"
+" return false;\n"
+"});\n"
+"\n"
+"button1.connect(\"clicked\", function(){\n"
+" getWeatherForStation();\n"
+"});"
#. (itstool) path: section/p
#: C/weatherAppMain.js.page:138
@@ -37947,7 +41775,7 @@ msgstr "<link xref=\"#geonamesimports\">Lokalt bibliotek för att erhålla vädr
#. (itstool) path: item/p
#: C/weatherGeonames.js.page:25
msgid "<link xref=\"#geonamesfunction\">Creating function geoNames</link>"
-msgstr ""
+msgstr "<link xref=\"#geonamesfunction\">Skapa funktionen geoNames</link>"
#. (itstool) path: item/p
#: C/weatherGeonames.js.page:26
@@ -37989,6 +41817,8 @@ msgid ""
"In the first lines we'll import and initialize the libraries we need to use in this local library. Soup
handles "
"all the requests we have to make with http."
msgstr ""
+"I de första raderna kommer vi importera och initiera de bibliotek vi behöver använda i detta lokala
bibliotek. "
+"Soup hanterar alla begäranden som vi behöver göra med http."
#. (itstool) path: section/title
#: C/weatherGeonames.js.page:43
@@ -38073,6 +41903,44 @@ msgid ""
" return \"weather-fog.svg\";\n"
"}\n"
msgstr ""
+"\n"
+"getWeather: function(callback) {\n"
+" var request = Soup.Message.new('GET', 'http://api.geonames.org/weatherIcaoJSON?ICAO=' + this.station +
'&username=demo');\n"
+" _httpSession.queue_message(request, function(_httpSession, message) {\n"
+" if (message.status_code !== 200) {\n"
+" callback(message.status_code, null);\n"
+" return;\n"
+" }\n"
+" var weatherJSON = request.response_body.data;\n"
+" var weather = JSON.parse(weatherJSON);\n"
+" callback(null, weather);\n"
+" });\n"
+"},\n"
+"\n"
+"getIcon: function(weather){\n"
+" switch (weather.weatherObservation.weatherCondition){\n"
+" case \"drizzle\":\n"
+" case \"light showers rain\":\n"
+" case \"light rain\":\n"
+" return \"weather-showers-scattered.svg\";\n"
+" case \"rain\":\n"
+" return \"weather-showers.svg\";\n"
+" case \"light snow\":\n"
+" case \"snow grains\":\n"
+" return \"weather-snow.svg\";\n"
+" }\n"
+" switch (weather.weatherObservation.clouds){\n"
+" case \"few clouds\":\n"
+" case \"scattered clouds\":\n"
+" return \"weather-few-clouds.svg\";\n"
+" case \"clear sky\":\n"
+" return \"weather-clear.svg\"\n"
+" case \"broken clouds\":\n"
+" case \"overcast\":\n"
+" return \"weather-overcast.svg\";\n"
+" }\n"
+" return \"weather-fog.svg\";\n"
+"}\n"
#. (itstool) path: section/p
#: C/weatherGeonames.js.page:97
@@ -38091,7 +41959,7 @@ msgstr "geonames.js"
#. (itstool) path: section/p
#: C/weatherGeonames.js.page:103
msgid "Here is the entire code for our local library. The main program file calls this asynchronously."
-msgstr ""
+msgstr "Här är hela koden för vårt lokala bibliotek. Huvudprogramfilen anropar detta asynkront."
#. (itstool) path: section/code
#: C/weatherGeonames.js.page:104
@@ -38147,6 +42015,55 @@ msgid ""
"}\n"
"} "
msgstr ""
+"\n"
+"const Soup = imports.gi.Soup;\n"
+"const _httpSession = new Soup.SessionAsync();\n"
+"Soup.Session.prototype.add_feature.call(_httpSession, new Soup.ProxyResolverDefault());\n"
+"\n"
+"function GeoNames(station) {\n"
+" this.station = station;\n"
+"}\n"
+"\n"
+"GeoNames.prototype = {\n"
+" getWeather: function(callback) {\n"
+" var request = Soup.Message.new('GET', 'http://api.geonames.org/weatherIcaoJSON?ICAO=' + this.station +
'&username=demo');\n"
+" _httpSession.queue_message(request, function(_httpSession, message) {\n"
+" if (message.status_code !== 200) {\n"
+" callback(message.status_code, null);\n"
+" return;\n"
+" }\n"
+" var weatherJSON = request.response_body.data;\n"
+" var weather = JSON.parse(weatherJSON);\n"
+" callback(null, weather);\n"
+" });\n"
+" },\n"
+"\n"
+" getIcon: function(weather){\n"
+" switch (weather.weatherObservation.weatherCondition){\n"
+" case \"drizzle\":\n"
+" case \"light showers rain\":\n"
+" case \"light rain\":\n"
+" return \"weather-showers-scattered.svg\";\n"
+" case \"rain\":\n"
+" return \"weather-showers.svg\";\n"
+" case \"light snow\":\n"
+" case \"snow grains\":\n"
+" return \"weather-snow.svg\";\n"
+" }\n"
+" switch (weather.weatherObservation.clouds){\n"
+" case \"few clouds\":\n"
+" case \"scattered clouds\":\n"
+" return \"weather-few-clouds.svg\";\n"
+" case \"clear sky\":\n"
+" return \"weather-clear.svg\"\n"
+" case \"broken clouds\":\n"
+" case \"overcast\":\n"
+" return \"weather-overcast.svg\";\n"
+" }\n"
+" return \"weather-fog.svg\";\n"
+" }\n"
+"}\n"
+"} "
#. (itstool) path: info/title
#: C/widget_drawing.py.page:8
@@ -38157,7 +42074,7 @@ msgstr ""
#. (itstool) path: info/desc
#: C/widget_drawing.py.page:18
msgid "A widget that uses the Cairo library to draw"
-msgstr ""
+msgstr "En komponent som använder Cairo-biblioteket för utritning"
#. (itstool) path: page/title
#: C/widget_drawing.py.page:21
@@ -38272,6 +42189,93 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"from gi.repository import cairo\n"
+"import sys\n"
+"import math\n"
+"\n"
+"\n"
+"class MyWindow(Gtk.ApplicationWindow):\n"
+"\n"
+" def __init__(self, app):\n"
+" Gtk.Window.__init__(self, title=\"Välj en vinkel\", application=app)\n"
+" self.set_default_size(400, 400)\n"
+" self.set_border_width(10)\n"
+"\n"
+" # en standardvinkel\n"
+" self.angle = 360\n"
+"\n"
+" grid = Gtk.Grid()\n"
+"\n"
+" # en stegningsruta som använder ett värde som vinkel\n"
+" ad = Gtk.Adjustment(360, 0, 360, 1, 0, 0)\n"
+" self.spin = Gtk.SpinButton(adjustment=ad, climb_rate=1, digits=0)\n"
+" self.spin.connect(\"value-changed\", self.get_angle)\n"
+"\n"
+" # en rityta för att rita vad vi vill\n"
+" self.darea = Gtk.DrawingArea()\n"
+" # som vi beskriver i metoden draw(), ansluten till signalen ”draw”\n"
+" self.darea.connect(\"draw\", self.draw)\n"
+" # vi måste begära en minsta storlek för ritytan, annars försvinner den\n"
+" self.darea.set_size_request(300, 300)\n"
+"\n"
+" grid.attach(self.spin, 0, 0, 1, 1)\n"
+" grid.attach(self.darea, 0, 1, 1, 1)\n"
+"\n"
+" self.add(grid)\n"
+"\n"
+" # närhelst vi får en ny vinkel i stegningsrutan\n"
+" def get_angle(self, event):\n"
+" self.angle = self.spin.get_value_as_int()\n"
+" # rita om det som finns i ritytan\n"
+" self.darea.queue_draw()\n"
+"\n"
+" def draw(self, darea, cr):\n"
+" # en 10 bildpunkter bred linje\n"
+" cr.set_line_width(10)\n"
+" # röd\n"
+" cr.set_source_rgba(0.5, 0.0, 0.0, 1.0)\n"
+"\n"
+" # få bredden och höjden på ritytan\n"
+" w = self.darea.get_allocated_width()\n"
+" h = self.darea.get_allocated_height()\n"
+"\n"
+" # gå till mitten på ritytan\n"
+" # (translatera från övre vänstra hörnet till w/2, h/2)\n"
+" cr.translate(w / 2, h / 2)\n"
+" # rita en linje till (55, 0)\n"
+" cr.line_to(55, 0)\n"
+" # och gå tillbaka till (0, 0)\n"
+" cr.line_to(0, 0)\n"
+" # rita en båge centrerad i origo, 50 bildpunkter bred, från vinkel 0\n"
+" # (i radianer) till vinkeln angiven av stegningsrutan (i grader)\n"
+" cr.arc(0, 0, 50, 0, self.angle * (math.pi / 180))\n"
+" # rita en linje tillbaka till origo\n"
+" cr.line_to(0, 0)\n"
+" # ritar banan, och behåller banan för framtida användning\n"
+" cr.stroke_preserve()\n"
+"\n"
+" # ställ in en färg\n"
+" cr.set_source_rgba(0.0, 0.5, 0.5, 1.0)\n"
+" # och använd den för att fylla banan (som vi hade behållit)\n"
+" cr.fill()\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 do_startup(self):\n"
+" Gtk.Application.do_startup(self)\n"
+"\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: item/p
#: C/widget_drawing.py.page:39
@@ -38440,6 +42444,47 @@ msgid ""
"let app = new Application ();\n"
"app.application.run (ARGV);\n"
msgstr ""
+"\n"
+"#!/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 Application {\n"
+" //skapa programmet\n"
+" constructor() {\n"
+" this.application = new Gtk.Application({\n"
+" application_id: 'org.example.myapp',\n"
+" flags: Gio.ApplicationFlags.FLAGS_NONE\n"
+" });\n"
+"\n"
+" this.application.connect('activate', this._onActivate.bind(this));\n"
+" }\n"
+"\n"
+" //återanropsfunktion för ”activate”-signal\n"
+" _onActivate() {\n"
+" let myWindow = new Gtk.Window({type: Gtk.WindowType.TOPLEVEL});\n"
+" myWindow.title = \"Välkommen till GNOME\";\n"
+"\n"
+" /* Här är några sätt vi kan anpassa våra fönster.\n"
+" Pröva att avkommentera dem eller ändra deras värden! */\n"
+" //myWindow.set_default_size (400,200);\n"
+" //myWindow.set_has_resize_grip (false);\n"
+" //myWindow.set_opacity (0.5);\n"
+" //myWindow.maximize ();\n"
+"\n"
+" //visa fönstret och alla barnkomponenter (ingen i detta fall)\n"
+" myWindow.show_all();\n"
+" this.application.add_window(myWindow);\n"
+" }\n"
+"};\n"
+"\n"
+"//kör programmet\n"
+"let app = new Application ();\n"
+"app.application.run (ARGV);\n"
#. (itstool) path: page/p
#: C/window.js.page:35
@@ -38491,6 +42536,25 @@ msgid ""
"exit_status = app.run(sys.argv)\n"
"sys.exit(exit_status)\n"
msgstr ""
+"from gi.repository import Gtk\n"
+"import sys\n"
+"\n"
+"\n"
+"class MyApplication(Gtk.Application):\n"
+"\n"
+" def do_activate(self):\n"
+" # skapa ett Gtk.Window som tillhör programmet i sig\n"
+" window = Gtk.Window(application=self)\n"
+" # ställ in titeln\n"
+" window.set_title(\"Välkommen till GNOME\")\n"
+" # visa fönstret\n"
+" window.show_all()\n"
+"\n"
+"# skapa och kör programmet, avsluta med värdet som returneras\n"
+"# av att köra programmet\n"
+"app = MyApplication()\n"
+"exit_status = app.run(sys.argv)\n"
+"sys.exit(exit_status)\n"
#. (itstool) path: section/title
#: C/window.py.page:52
@@ -38555,6 +42619,43 @@ msgid ""
"\treturn app.run (args);\n"
"}\n"
msgstr ""
+"/* Det här är programmet. */\n"
+"public class Application : Gtk.Application {\n"
+"\n"
+"\t/* Konstruktor */\n"
+"\tpublic Application () {\n"
+"\t\tObject (application_id: \"org.example.window\");\n"
+"\t}\n"
+"\n"
+"\t/* Åsidosätt ”activate”-signalen för GLib.Application,\n"
+"\t * vilken ärvs av Gtk.Application. */\n"
+"\tpublic override void activate () {\n"
+"\n"
+"\t\tvar window = new Gtk.Window ();\n"
+"\t\twindow.title = \"Välkommen till GNOME\";\n"
+"\n"
+"\t\t/* De följande tre raderna inkluderas här för att visa\n"
+"\t\t * dig sätt du kan justera toppnivåfönstret enligt dina\n"
+"\t\t * behov. Avkommentera dem för att se vad de gör.\n"
+"\t\t */\n"
+"\n"
+"\t\t//window.border_width = 10;\n"
+"\t\t//window.set_default_size (350, 70);\n"
+"\t\t//window.window_position = Gtk.WindowPosition.CENTER;\n"
+"\n"
+"\t\t/* Lägg till fönstret till detta program. */\n"
+"\t\tthis.add_window (window);\n"
+"\n"
+"\t\t/* Visa fönstret. */\n"
+"\t\twindow.show ();\n"
+"\t}\n"
+"}\n"
+"\n"
+"/* main-funktionen skapar programmet och kör det.*/\n"
+"int main (string[] args) {\n"
+"\tvar app = new Application ();\n"
+"\treturn app.run (args);\n"
+"}\n"
#. (itstool) path: item/p
#: C/window.vala.page:39
@@ -38565,6 +42666,7 @@ msgstr "Komponenten <link href=\"http://www.valadoc.org/gtk+-3.0/Gtk.Window.html
#: C/window.vala.page:41
msgid "The enum <link
href=\"http://www.valadoc.org/gtk+-3.0/Gtk.WindowPosition.html\">Gtk.WindowPosition</link>"
msgstr ""
+"Uppräkningstypen <link
href=\"http://www.valadoc.org/gtk+-3.0/Gtk.WindowPosition.html\">Gtk.WindowPosition</link>"
#. (itstool) path: item/p
#: C/window.vala.page:43
@@ -38615,6 +42717,9 @@ msgid ""
"<link href=\"https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#GSource\">GLib API
reference</"
"link>."
msgstr ""
+"Denna artikel är en handledning i hur du skapar en anpassad <code>GSource</code>. För
referensdokumentationen, se "
+"<link href=\"https://developer.gnome.org/glib/stable/glib-The-Main-Event-Loop.html#GSource\">API-referensen
för "
+"GLib</link>."
#. (itstool) path: section/title
#: C/custom-gsource.c.page:37
@@ -38780,7 +42885,7 @@ msgstr ""
#. (itstool) path: section/title
#: C/custom-gsource.c.page:169
msgid "Callback Functions"
-msgstr ""
+msgstr "Återanropsfunktioner"
#. (itstool) path: section/p
#: C/custom-gsource.c.page:171
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]