summaryrefslogtreecommitdiffstats
path: root/perl-install/install/share/po/pa_IN.po
diff options
context:
space:
mode:
authorThierry Vignaud <tv@mageia.org>2012-03-11 01:03:44 +0000
committerThierry Vignaud <tv@mageia.org>2012-03-11 01:03:44 +0000
commit766bd3690c286d38ff11f5b1fcdce506afe93e1b (patch)
treeb3d5c184aa34a15362d37d16229b811772a06b98 /perl-install/install/share/po/pa_IN.po
parent8661af21d156b8e7b27335e5557a0a6e9f6c51d7 (diff)
downloaddrakx-766bd3690c286d38ff11f5b1fcdce506afe93e1b.tar
drakx-766bd3690c286d38ff11f5b1fcdce506afe93e1b.tar.gz
drakx-766bd3690c286d38ff11f5b1fcdce506afe93e1b.tar.bz2
drakx-766bd3690c286d38ff11f5b1fcdce506afe93e1b.tar.xz
drakx-766bd3690c286d38ff11f5b1fcdce506afe93e1b.zip
sync with latest ads
Diffstat (limited to 'perl-install/install/share/po/pa_IN.po')
-rw-r--r--perl-install/install/share/po/pa_IN.po388
1 files changed, 210 insertions, 178 deletions
diff --git a/perl-install/install/share/po/pa_IN.po b/perl-install/install/share/po/pa_IN.po
index 5f3c2e5a0..d76c2ef59 100644
--- a/perl-install/install/share/po/pa_IN.po
+++ b/perl-install/install/share/po/pa_IN.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: DrakX\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2011-05-19 02:52+0200\n"
+"POT-Creation-Date: 2012-03-11 02:03+0100\n"
"PO-Revision-Date: 2005-03-27 17:55+0530\n"
"Last-Translator: Jaswinder Singh Phulewala <jaswinderphulewala@yahoo.com>\n"
"Language-Team: Punjabi <punlinux-i18n@lists.soruceforge.net>\n"
@@ -19,19 +19,48 @@ msgstr ""
"X-Generator: KBabel 1.9.1\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
-#: ../../advertising/01_IM_mageia.pl:1 ../../advertising/02_IM_mageia.pl:1
+#: ../../advertising/01_IM_mageia.pl:1
+#, c-format
+msgid "Welcome"
+msgstr ""
+
+#: ../../advertising/02_IM_mageia.pl:1
+#, c-format
+msgid "People!"
+msgstr ""
+
#: ../../advertising/03_IM_mageia.pl:1
#, c-format
-msgid "Mageia, the new Linux distribution"
+msgid "For people"
+msgstr ""
+
+#: ../../advertising/04_IM_mageia.pl:1
+#, c-format
+msgid "For developers"
+msgstr ""
+
+#: ../../advertising/05_IM_mageia.pl:1
+#, c-format
+msgid "For contributors"
+msgstr ""
+
+#: ../../advertising/06_IM_mageia.pl:1
+#, c-format
+msgid "For you"
+msgstr ""
+
+#: ../../advertising/07_IM_mageia.pl:1
+#, c-format
+msgid "Welcome!"
msgstr ""
-#: any.pm:109
+#: any.pm:110
#, c-format
msgid "Do you have further supplementary media?"
msgstr "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ਅੱਗੇ ਅਨੁਪੂਰਕ ਮਾਧਿਅਮ ਹੈ?"
#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
-#: any.pm:112
+#: any.pm:113
#, c-format
msgid ""
"The following media have been found and will be used during install: %s.\n"
@@ -40,110 +69,110 @@ msgid ""
"Do you have a supplementary installation medium to configure?"
msgstr ""
-#: any.pm:120
+#: any.pm:121
#, c-format
msgid "CD-ROM"
msgstr "CD-ROM"
-#: any.pm:121
+#: any.pm:122
#, c-format
msgid "Network (HTTP)"
msgstr "ਨੈੱਟਵਰਕ (HTTP)"
-#: any.pm:122
+#: any.pm:123
#, c-format
msgid "Network (FTP)"
msgstr "ਨੈੱਟਵਰਕ (FTP)"
-#: any.pm:123
+#: any.pm:124
#, c-format
msgid "Network (NFS)"
msgstr ""
-#: any.pm:165
+#: any.pm:166
#, c-format
msgid "URL of the mirror?"
msgstr "ਪ੍ਰਤਿਬਿੰਬ ਦਾ URL?"
-#: any.pm:171
+#: any.pm:172
#, c-format
msgid "URL must start with ftp:// or http://"
msgstr ""
-#: any.pm:182
+#: any.pm:183
#, c-format
msgid "Contacting %s web site to get the list of available mirrors..."
msgstr "ਉਪਲੱਬਧ ਪ੍ਰਤੀਬਿੰਬਾਂ ਦੀ ਸੂਚੀ ਵੇਖਣ ਲਈ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਵੈਬ ਸਾਈਟ ਨਾਲ ਸੰਪਰਕ ਜਾਰੀ ਹੈ..."
-#: any.pm:187
+#: any.pm:188
#, fuzzy, c-format
msgid "Failed contacting %s web site to get the list of available mirrors"
msgstr "ਉਪਲੱਬਧ ਪ੍ਰਤੀਬਿੰਬਾਂ ਦੀ ਸੂਚੀ ਵੇਖਣ ਲਈ ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਵੈਬ ਸਾਈਟ ਨਾਲ ਸੰਪਰਕ ਜਾਰੀ ਹੈ..."
-#: any.pm:197
+#: any.pm:198
#, c-format
msgid "Choose a mirror from which to get the packages"
msgstr "ਪੈਕੇਜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਪ੍ਰਤੀਬਿੰਬ ਚੁਣੋ"
-#: any.pm:227
+#: any.pm:228
#, c-format
msgid "NFS setup"
msgstr ""
-#: any.pm:228
+#: any.pm:229
#, c-format
msgid "Please enter the hostname and directory of your NFS media"
msgstr ""
-#: any.pm:232
+#: any.pm:233
#, c-format
msgid "Hostname missing"
msgstr ""
-#: any.pm:233
+#: any.pm:234
#, c-format
msgid "Directory must begin with \"/\""
msgstr ""
-#: any.pm:237
+#: any.pm:238
#, c-format
msgid "Hostname of the NFS mount ?"
msgstr ""
-#: any.pm:238
+#: any.pm:239
#, c-format
msgid "Directory"
msgstr "ਡਾਇਰੈਕਟਰੀ"
-#: any.pm:260
+#: any.pm:261
#, c-format
msgid "Supplementary"
msgstr ""
-#: any.pm:295
+#: any.pm:296
#, c-format
msgid ""
"Can't find a package list file on this mirror. Make sure the location is "
"correct."
msgstr "ਇਸ ਪ੍ਰਤੀਬਿੰਬ ਤੇ ਪੈਕੇਜ ਸੂਚੀ ਫਾਇਲ ਨਹੀਂ ਲੱਭ ਸਕੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਸਥਿਤੀ ਠੀਕ ਹੈ।"
-#: any.pm:334
+#: any.pm:335
#, c-format
msgid "Looking at packages already installed..."
msgstr "ਪਹਿਲਾਂ ਇੰਸਟਾਲ ਕੀਤੇ ਪੈਕੇਜਾਂ ਸੀ ਜਾਂਚ ਕਰ ਰਿਹਾ ਹੈ..."
-#: any.pm:369
+#: any.pm:370
#, c-format
msgid "Finding packages to upgrade..."
msgstr "ਨਵੀਨੀਕਰਨ ਲਈ ਪੈਕੇਜਾਂ ਦੀ ਖੋਜ..."
-#: any.pm:388
+#: any.pm:389
#, c-format
msgid "Removing packages prior to upgrade..."
msgstr ""
#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
-#: any.pm:594
+#: any.pm:612
#, c-format
msgid ""
"The following packages will be removed to allow upgrading your system: %s\n"
@@ -156,72 +185,72 @@ msgstr ""
"\n"
"ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਇਹ ਪੈਕੇਜ ਹਟਾਉਣੇ ਚਾਹੁੰਦੇ ਹੋ?\n"
-#: any.pm:813
+#: any.pm:831
#, c-format
msgid "Error reading file %s"
msgstr "ਫਾਇਲ %s ਪੜਨ ਵਿੱਚ ਗਲਤੀ"
-#: any.pm:1020
+#: any.pm:1038
#, c-format
msgid "The following disk(s) were renamed:"
msgstr "ਹੇਠਲੀਆਂ ਡਿਸਕਾਂ ਦੇ ਨਾਂ ਤਬਦੀਲ ਕੀਤੇ ਹਨ:"
-#: any.pm:1022
+#: any.pm:1040
#, c-format
msgid "%s (previously named as %s)"
msgstr "%s (ਪਹਿਲਾਂ %s ਨਾਂ ਸੀ)"
-#: any.pm:1079
+#: any.pm:1097
#, c-format
msgid "HTTP"
msgstr ""
-#: any.pm:1079
+#: any.pm:1097
#, fuzzy, c-format
msgid "FTP"
msgstr "ਵੈਬ/FTP"
-#: any.pm:1079
+#: any.pm:1097
#, fuzzy, c-format
msgid "NFS"
msgstr "PFS"
-#: any.pm:1098 steps_interactive.pm:938
+#: any.pm:1116 steps_interactive.pm:946
#, c-format
msgid "Network"
msgstr "ਨੈੱਟਵਰਕ"
-#: any.pm:1102
+#: any.pm:1120
#, fuzzy, c-format
msgid "Please choose a media"
msgstr "ਕਿਰਪਾ ਕਰਕੇ ਬੈਕਅੱਪ ਲਈ ਮਾਧਿਅਮ ਚੁਣੋ।"
-#: any.pm:1118
+#: any.pm:1136
#, fuzzy, c-format
msgid "File already exists. Overwrite it?"
msgstr "ਫਾਇਲ ਪਹਿਲਾਂ ਮੌਜੂਦ ਹੈ, ਇਹ ਵਰਤੋ?"
-#: any.pm:1122
+#: any.pm:1140
#, fuzzy, c-format
msgid "Permission denied"
msgstr "ਅਧਿਕਾਰ"
-#: any.pm:1170
+#: any.pm:1188
#, c-format
msgid "Bad NFS name"
msgstr ""
-#: any.pm:1191
+#: any.pm:1209
#, c-format
msgid "Bad media %s"
msgstr ""
-#: any.pm:1234
+#: any.pm:1252
#, c-format
msgid "Cannot make screenshots before partitioning"
msgstr "ਵਿਭਾਗੀਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਰਦਾ-ਤਸਵੀਰ ਨਹੀਂ ਬਣਾ ਸਕਦਾ"
-#: any.pm:1242
+#: any.pm:1260
#, c-format
msgid "Screenshots will be available after install in %s"
msgstr "ਪਰਦਾ-ਤਸਵੀਰਾਂ %s ਵਿੱਚ ਇੰਸਟਾਲੇਸ਼ਨ ਤੋਂ ਬਾਅਦ ਉਪਲੱਬਧ ਹੋਣਗੀਆਂ"
@@ -260,69 +289,74 @@ msgstr "ਨੈੱਟਵਰਕ ਚਲਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"
msgid "Bringing down the network"
msgstr "ਨੈੱਟਵਰਕ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"
-#: media.pm:399
+#: media.pm:409
#, c-format
msgid "Please wait, retrieving file"
msgstr ""
-#: media.pm:715
+#: media.pm:724
#, c-format
msgid "unable to add medium"
msgstr ""
-#: media.pm:755
+#: media.pm:764
#, c-format
msgid "Copying some packages on disks for future use"
msgstr ""
-#: media.pm:808
+#: media.pm:817
#, c-format
msgid "Copying in progress"
msgstr "ਨਕਲ ਜਾਰੀ ਹੈ"
-#: pkgs.pm:32
+#: pkgs.pm:33
#, c-format
msgid "must have"
msgstr "ਹੋਣਾ ਜਰੂਰੀ ਹੈ"
-#: pkgs.pm:33
+#: pkgs.pm:34
#, c-format
msgid "important"
msgstr "ਜਰੂਰੀ"
-#: pkgs.pm:34
+#: pkgs.pm:35
#, c-format
msgid "very nice"
msgstr "ਬਹੁਤ ਵਧੀਆ"
-#: pkgs.pm:35
+#: pkgs.pm:36
#, c-format
msgid "nice"
msgstr "ਵਧੀਆ"
-#: pkgs.pm:36
+#: pkgs.pm:37
#, c-format
msgid "maybe"
msgstr "ਹੋ ਸਕਦਾ ਹੈ"
-#: pkgs.pm:239
+#: pkgs.pm:246
#, c-format
msgid ""
"Some packages requested by %s cannot be installed:\n"
"%s"
msgstr ""
-#: pkgs.pm:327
+#: pkgs.pm:334
#, fuzzy, c-format
msgid "An error occurred:"
msgstr "ਇੱਕ ਗਲਤੀ ਆਈ ਹੈ"
-#: pkgs.pm:814
+#: pkgs.pm:807
+#, c-format
+msgid "Do not ask again"
+msgstr ""
+
+#: pkgs.pm:823
#, c-format
msgid "%d installation transactions failed"
msgstr "%d ਇੰਸਟਾਲੇਸ਼ਨ ਸੰਚਾਰ ਅਸਫਲ"
-#: pkgs.pm:815
+#: pkgs.pm:824
#, fuzzy, c-format
msgid "Installation of packages failed:"
msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੀ ਹੈ"
@@ -654,7 +688,7 @@ msgstr ""
"ਗਲਤੀ ਹੋਈ ਹੈ, ਪਰ ਮੈਂ ਨਹੀਂ ਜਾਣਦਾ ਕਿ ਇਸ ਦਾ ਕਿਸ ਤਰਾਂ ਪ੍ਰਬੰਧਨ ਕਰਨਾ ਹੈ।\n"
"ਆਪਣੇ ਖਤਰੇ ਤੇ ਜਾਰੀ ਕਰੋ।"
-#: steps.pm:443
+#: steps.pm:451
#, c-format
msgid ""
"Some important packages did not get installed properly.\n"
@@ -681,12 +715,12 @@ msgstr "ਮੈਂਡਰਿਵ-ਲੀਨਕਸ ਇੰਸਟਾਲੇਸ਼ਨ %s "
msgid "<Tab>/<Alt-Tab> between elements"
msgstr "<Tab>/<Alt-Tab> ਇਕਾਈਆਂ ਵਿੱਚ "
-#: steps_gtk.pm:89
+#: steps_gtk.pm:149
#, c-format
msgid "Xorg server is slow to start. Please wait..."
msgstr ""
-#: steps_gtk.pm:206
+#: steps_gtk.pm:213
#, c-format
msgid ""
"Your system is low on resources. You may have some problem installing\n"
@@ -697,226 +731,226 @@ msgstr ""
"ਆ ਸਕਦੀ ਹੈ। ਜੇ ਅਜਿਹਾ ਹੋਇਆ, ਤੁਸੀਂ ਪਾਠ ਇੰਸਟਾਲੇਸ਼ਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਇਸ ਲਈ,\n"
"`F1' ਦਬਾਓ ਜਦੋਂ CDROM ਤੋਂ ਬੂਟ ਕਰਦੇ ਹੋ, ਫਿਰ `ਪਾਠ' ਭਰੋ।"
-#: steps_gtk.pm:239
+#: steps_gtk.pm:246
#, c-format
msgid "Install %s KDE Desktop"
msgstr ""
-#: steps_gtk.pm:240
+#: steps_gtk.pm:247
#, c-format
msgid "Install %s GNOME Desktop"
msgstr ""
-#: steps_gtk.pm:241
+#: steps_gtk.pm:248
#, fuzzy, c-format
msgid "Custom install"
msgstr "ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ"
-#: steps_gtk.pm:262
+#: steps_gtk.pm:269
#, fuzzy, c-format
msgid "KDE Desktop"
msgstr "ਵਿਹੜਾ"
-#: steps_gtk.pm:263
+#: steps_gtk.pm:270
#, fuzzy, c-format
msgid "GNOME Desktop"
msgstr "ਵਿਹੜਾ"
-#: steps_gtk.pm:264
+#: steps_gtk.pm:271
#, fuzzy, c-format
msgid "Custom Desktop"
msgstr "ਵਿਹੜਾ"
-#: steps_gtk.pm:270
+#: steps_gtk.pm:277
#, c-format
msgid "Here's a preview of the '%s' desktop."
msgstr ""
-#: steps_gtk.pm:298
+#: steps_gtk.pm:305
#, c-format
msgid "Click on images in order to see a bigger preview"
msgstr ""
-#: steps_gtk.pm:316 steps_interactive.pm:609 steps_list.pm:30
+#: steps_gtk.pm:323 steps_interactive.pm:617 steps_list.pm:30
#, c-format
msgid "Package Group Selection"
msgstr "ਪੈਕੇਜ ਸਮੂਹ ਚੋਣ"
-#: steps_gtk.pm:337 steps_interactive.pm:626
+#: steps_gtk.pm:344 steps_interactive.pm:634
#, c-format
msgid "Individual package selection"
msgstr "ਵੱਖ-ਵੱਖ ਪੈਕੇਜ ਚੋਣ"
-#: steps_gtk.pm:361 steps_interactive.pm:546
+#: steps_gtk.pm:368 steps_interactive.pm:554
#, c-format
msgid "Total size: %d / %d MB"
msgstr "ਕੁੱਲ ਅਕਾਰ: %d / %d ਮੈਬਾ"
-#: steps_gtk.pm:403
+#: steps_gtk.pm:410
#, c-format
msgid "Bad package"
msgstr "ਗਲਤ ਪੈਕੇਜ"
-#: steps_gtk.pm:405
+#: steps_gtk.pm:412
#, c-format
msgid "Version: "
msgstr "ਵਰਜਨ:"
-#: steps_gtk.pm:406
+#: steps_gtk.pm:413
#, c-format
msgid "Size: "
msgstr "ਅਕਾਰ:"
-#: steps_gtk.pm:406
+#: steps_gtk.pm:413
#, c-format
msgid "%d KB\n"
msgstr "%d ਕਿਬਾ\n"
-#: steps_gtk.pm:407
+#: steps_gtk.pm:414
#, c-format
msgid "Importance: "
msgstr "ਖਾਸੀਅਤ:"
-#: steps_gtk.pm:441
+#: steps_gtk.pm:448
#, c-format
msgid "You cannot select/unselect this package"
msgstr "ਤੁਸੀਂ ਇਹ ਪੈਕੇਜ ਚੁਣ/ਨਾ-ਚੁਣ ਨਹੀਂ ਸਕਦੇ"
-#: steps_gtk.pm:445
+#: steps_gtk.pm:452
#, c-format
msgid "due to missing %s"
msgstr "%s ਗੁੰਮ ਹੋਣ ਕਾਰਨ"
-#: steps_gtk.pm:446
+#: steps_gtk.pm:453
#, c-format
msgid "due to unsatisfied %s"
msgstr "%s ਲੋੜ ਪੂਰੀ ਨਾ ਹੋਣ ਕਰਕੇ"
-#: steps_gtk.pm:447
+#: steps_gtk.pm:454
#, c-format
msgid "trying to promote %s"
msgstr "%s ਵਰਤੋਂ ਦੀ ਸਿਫਾਰਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ"
-#: steps_gtk.pm:448
+#: steps_gtk.pm:455
#, c-format
msgid "in order to keep %s"
msgstr "%s ਰੱਖਣ ਲਈ"
-#: steps_gtk.pm:453
+#: steps_gtk.pm:460
#, c-format
msgid ""
"You cannot select this package as there is not enough space left to install "
"it"
msgstr "ਤੁਸੀਂ ਇਹ ਪੈਕੇਜ ਨਹੀਂ ਚੁਣ ਸਕਦੇ ਕਿਉਂਕਿ ਇੱਥੇ ਇਸ ਨੂੰ ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਲੋੜੀਂਦੀ ਥਾਂ ਨਹੀਂ ਹੈ।"
-#: steps_gtk.pm:456
+#: steps_gtk.pm:463
#, c-format
msgid "The following packages are going to be installed"
msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
-#: steps_gtk.pm:457
+#: steps_gtk.pm:464
#, c-format
msgid "The following packages are going to be removed"
msgstr "ਹੇਠਲੇ ਪੈਕੇਜ ਹਟਾਏ ਜਾ ਰਹੇ ਹਨ"
-#: steps_gtk.pm:482
+#: steps_gtk.pm:489
#, c-format
msgid "This is a mandatory package, it cannot be unselected"
msgstr "ਇਹ ਲਾਜ਼ਮੀ ਪੈਕੇਜ ਹੈ, ਇਸ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾਈ ਜਾ ਸਕਦੀ"
-#: steps_gtk.pm:484
+#: steps_gtk.pm:491
#, c-format
msgid "You cannot unselect this package. It is already installed"
msgstr "ਤੁਸੀਂ ਇਸ ਪੈਕੇਜ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾ ਸਕਦੇ। ਇਹ ਪਹਿਲਾਂ ਹੀ ਇੰਸਟਾਲ ਹੈ।"
-#: steps_gtk.pm:486
+#: steps_gtk.pm:493
#, c-format
msgid "You cannot unselect this package. It must be upgraded"
msgstr "ਤੁਸੀਂ ਇਸ ਪੈਕੇਜ ਦੀ ਚੋਣ ਨਹੀਂ ਹਟਾ ਸਕਦੇ। ਇਸ ਦਾ ਨਵੀਨੀਕਰਨ ਜਰੂਰੀ ਹੈ।"
-#: steps_gtk.pm:490
+#: steps_gtk.pm:497
#, c-format
msgid "Show automatically selected packages"
msgstr "ਚੁਣੇ ਪੈਕੇਜ ਸਵੈ ਹੀ ਵਿਖਾਓ"
-#: steps_gtk.pm:496
+#: steps_gtk.pm:503
#, c-format
msgid "Install"
msgstr "ਇੰਸਟਾਲ"
-#: steps_gtk.pm:499
+#: steps_gtk.pm:506
#, fuzzy, c-format
msgid "Load/Save selection"
msgstr "ਪੈਕੇਜ ਚੋਣ"
-#: steps_gtk.pm:500
+#: steps_gtk.pm:507
#, c-format
msgid "Updating package selection"
msgstr "ਪੈਕੇਜ ਚੋਣ ਨਵੀਨੀਕਰਨ ਜਾਰੀ ਹੈ"
-#: steps_gtk.pm:505
+#: steps_gtk.pm:512
#, c-format
msgid "Minimal install"
msgstr "ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ"
-#: steps_gtk.pm:518
+#: steps_gtk.pm:525
#, c-format
msgid "Software Management"
msgstr "ਸਾਫਟਵੇਅਰ ਪ੍ਰਬੰਧਨ"
-#: steps_gtk.pm:518 steps_interactive.pm:431
+#: steps_gtk.pm:525 steps_interactive.pm:439
#, c-format
msgid "Choose the packages you want to install"
msgstr "ਇੰਸਟਾਲ ਕਰਨ ਲਈ ਪੈਕੇਜ ਚੁਣੋ"
-#: steps_gtk.pm:535 steps_interactive.pm:640 steps_list.pm:32
+#: steps_gtk.pm:542 steps_interactive.pm:648 steps_list.pm:32
#, c-format
msgid "Installing"
msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
-#: steps_gtk.pm:565
+#: steps_gtk.pm:572
#, c-format
msgid "No details"
msgstr "ਕੋਈ ਵੇਰਵਾ ਨਹੀਂ"
-#: steps_gtk.pm:584
+#: steps_gtk.pm:591
#, fuzzy, c-format
msgid "Time remaining:"
msgstr "ਬਾਕੀ ਸਮਾਂ"
-#: steps_gtk.pm:585
+#: steps_gtk.pm:592
#, fuzzy, c-format
msgid "(estimating...)"
msgstr "ਅਨੁਮਾਨ ਜਾਰੀ ਹੈ"
-#: steps_gtk.pm:615
+#: steps_gtk.pm:622
#, fuzzy, c-format
msgid "%d package"
msgid_plural "%d packages"
msgstr[0] "%d ਪੈਕੇਜ"
msgstr[1] "%d ਪੈਕੇਜ"
-#: steps_gtk.pm:670 steps_interactive.pm:804 steps_list.pm:43
+#: steps_gtk.pm:677 steps_interactive.pm:812 steps_list.pm:43
#, c-format
msgid "Summary"
msgstr "ਸਾਰ"
-#: steps_gtk.pm:689
+#: steps_gtk.pm:696
#, c-format
msgid "Configure"
msgstr "ਸੰਰਚਨਾ"
-#: steps_gtk.pm:706 steps_interactive.pm:800 steps_interactive.pm:950
+#: steps_gtk.pm:713 steps_interactive.pm:808 steps_interactive.pm:958
#, c-format
msgid "not configured"
msgstr "ਸੰਰਚਿਤ ਨਹੀਂ"
-#: steps_gtk.pm:740
+#: steps_gtk.pm:747
#, fuzzy, c-format
msgid "Media Selection"
msgstr "ਪੈਕੇਜ ਸਮੂਹ ਚੋਣ"
-#: steps_gtk.pm:749 steps_interactive.pm:332
+#: steps_gtk.pm:756 steps_interactive.pm:340
#, c-format
msgid ""
"The following installation media have been found.\n"
@@ -925,7 +959,7 @@ msgstr ""
"ਹੇਠਲੇ ਇੰਸਟਾਲੇਸ਼ਨ ਮਾਧਿਅਨ ਲੱਭੇ ਹਨ।\n"
"ਜੇ ਤੁਸੀਂ ਇਹਨਾਂ ਵਿੱਚੋਂ ਕੁਝ ਛੱਡਣੇ ਚਾਹੁੰਦੇ ਹੋ, ਤੁਸੀਂ ਹੁਣ ਰੱਦ ਕਰ ਸਕਦੇ ਹੋ।"
-#: steps_gtk.pm:765 steps_interactive.pm:338
+#: steps_gtk.pm:772 steps_interactive.pm:346
#, c-format
msgid ""
"You have the option to copy the contents of the CDs onto the hard disk drive "
@@ -937,7 +971,7 @@ msgstr ""
"ਇਹ ਫਿਰ ਹਾਰਡ ਡਰਾਈਵ ਤੋਂ ਜਾਰੀ ਕਰੇਗਾ ਅਤੇ ਪੈਕੇਜ ਸਿਸਟਮ ਪੂਰੀ ਤਰਾਂ ਇੰਸਟਾਲ ਹੋਣ ਤੋਂ ਬਾਅਦ ਵੀ ਉਪਲੱਬਧ "
"ਰਹਿਣਗੇ।"
-#: steps_gtk.pm:767 steps_interactive.pm:340
+#: steps_gtk.pm:774 steps_interactive.pm:348
#, c-format
msgid "Copy whole CDs"
msgstr "ਪੂਰੀ CDs ਨਕਲ ਕਰੋ"
@@ -957,49 +991,49 @@ msgstr "ਕਿਰਪਾ ਕਰਕੇ ਆਪਣਾ ਕੀਬੋਰਡ ਖਾਕ
msgid "Here is the full list of available keyboards:"
msgstr "ਇੱਥੇ ਉਪਲੱਬਧ ਕੀਬੋਰਡਾਂ ਦੀ ਸੂਚੀ ਹੈ"
-#: steps_interactive.pm:146
+#: steps_interactive.pm:151
#, c-format
msgid "Install/Upgrade"
msgstr "ਇੰਸਟਾਲ/ਨਵੀਨੀਕਰਨ"
-#: steps_interactive.pm:150
+#: steps_interactive.pm:155
#, c-format
msgid "Is this an install or an upgrade?"
msgstr "ਕੀ ਇਹ ਇੰਸਟਾਲ ਜਾਂ ਨਵੀਨੀਕਰਨ ਹੈ?"
-#: steps_interactive.pm:152
+#: steps_interactive.pm:157
#, fuzzy, c-format
msgid ""
"_: This is a noun:\n"
"Install"
msgstr "ਇੰਸਟਾਲ"
-#: steps_interactive.pm:154
+#: steps_interactive.pm:159
#, c-format
msgid "Upgrade %s"
msgstr "ਨਵੀਨੀਕਰਨ %s"
-#: steps_interactive.pm:172
+#: steps_interactive.pm:182
#, c-format
msgid "Encryption key for %s"
msgstr "%s ਲਈ ਇਨਕ੍ਰਿਪਸ਼ਨ ਕੁੰਜੀ"
-#: steps_interactive.pm:205
+#: steps_interactive.pm:213
#, c-format
msgid "Cancel installation, reboot system"
msgstr ""
-#: steps_interactive.pm:206
+#: steps_interactive.pm:214
#, fuzzy, c-format
msgid "New Installation"
msgstr "ਇੰਸਟਾਲ ਹੋ ਰਹੇ ਹਨ"
-#: steps_interactive.pm:207
+#: steps_interactive.pm:215
#, c-format
msgid "Upgrade previous installation (not recommended)"
msgstr ""
-#: steps_interactive.pm:211
+#: steps_interactive.pm:219
#, c-format
msgid ""
"Installer has detected that your installed Linux system could not\n"
@@ -1011,17 +1045,17 @@ msgid ""
"Installation\"."
msgstr ""
-#: steps_interactive.pm:253
+#: steps_interactive.pm:261
#, c-format
msgid "IDE"
msgstr "IDE"
-#: steps_interactive.pm:253
+#: steps_interactive.pm:261
#, c-format
msgid "Configuring IDE"
msgstr "IDE ਸੰਰਚਨਾ ਹੋ ਰਹੀ ਹੈ"
-#: steps_interactive.pm:290
+#: steps_interactive.pm:298
#, c-format
msgid ""
"No free space for 1MB bootstrap! Install will continue, but to boot your "
@@ -1030,7 +1064,7 @@ msgstr ""
"1ਮੈਬਾ ਬੂਟਸਟਰੈਪ ਲਈ ਕੋਈ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੈ! ਇੰਸਟਾਲ ਜਾਰੀ ਰਹੇਗੀ, ਪਰ ਤੁਹਾਡਾ ਸਿਸਟਮ ਬੂਟ ਕਰਨ ਲਈ, "
"ਤੁਹਾਨੂੰ DiskDrake ਵਿੱਚ ਬੂਟਸਟਰੈਪ ਭਾਗ ਬਣਾਉਣ ਦੀ ਲੋੜ ਪਵੇਗੀ।"
-#: steps_interactive.pm:295
+#: steps_interactive.pm:303
#, c-format
msgid ""
"You'll need to create a PPC PReP Boot bootstrap! Install will continue, but "
@@ -1040,7 +1074,7 @@ msgstr ""
"PPC PReP Boot ਬੂਟਸਟਰੈਪ ਲਈ ਕੋਈ ਖਾਲੀ ਥਾਂ ਨਹੀਂ ਹੈ! ਇੰਸਟਾਲ ਜਾਰੀ ਰਹੇਗੀ, ਪਰ ਤੁਹਾਡਾ ਸਿਸਟਮ ਬੂਟ "
"ਕਰਨ ਲਈ, ਤੁਹਾਨੂੰ DiskDrake ਵਿੱਚ ਬੂਟਸਟਰੈਪ ਭਾਗ ਬਣਾਉਣ ਦੀ ਲੋੜ ਪਵੇਗੀ।"
-#: steps_interactive.pm:371
+#: steps_interactive.pm:379
#, c-format
msgid ""
"Change your Cd-Rom!\n"
@@ -1052,19 +1086,19 @@ msgstr ""
"ਕਿਰਪਾ ਕਰਕੇ \"%s\" ਲੇਬਲ ਵਾਲੀ Cd-Rom ਆਪਣੀ ਡਰਾਈਵ ਵਿੱਚ ਪਾਓ ਅਤੇ ਸਮਾਪਤੀ ਤੇ ਠੀਕ ਹੈ ਦਬਾਓ\n"
"ਜੇ ਤੁਹਾਡੇ ਕੋਲ ਇਹ ਨਹੀਂ ਹੈ, ਇਸ Cd-Rom ਤੋਂ ਇੰਸਟਾਲੇਸ਼ਨ ਰੋਕਣ ਲਈ ਰੱਦ ਕਰੋ ਦਬਾਓ।"
-#: steps_interactive.pm:388
+#: steps_interactive.pm:396
#, c-format
msgid "Looking for available packages..."
msgstr "ਉਪਲੱਬਧ ਪੈਕੇਜ ਲੋਡ ਕਰ ਰਿਹਾ ਹੈ..."
-#: steps_interactive.pm:396
+#: steps_interactive.pm:404
#, c-format
msgid ""
"Your system does not have enough space left for installation or upgrade "
"(%dMB > %dMB)"
msgstr ""
-#: steps_interactive.pm:443
+#: steps_interactive.pm:451
#, fuzzy, c-format
msgid ""
"Please choose load or save package selection.\n"
@@ -1073,52 +1107,52 @@ msgstr ""
"ਕਿਰਪਾ ਕਰਕੇ ਫਲਾਪੀ ਤੇ ਪੈਕੇਜ ਲੋਡ ਜਾਂ ਸੰਭਾਲ ਚੁਣੋ।\n"
"ਫਾਰਮਿਟ ਫਲਾਪੀਆਂ ਦੁਆਰਾ ਬਣਾਏ auto_install ਵਾਂਗ ਹੈ।"
-#: steps_interactive.pm:445
+#: steps_interactive.pm:453
#, fuzzy, c-format
msgid "Load"
msgstr "ਪੋਲੈਂਡ"
-#: steps_interactive.pm:445
+#: steps_interactive.pm:453
#, c-format
msgid "Save"
msgstr "ਸੰਭਾਲੋ"
-#: steps_interactive.pm:453
+#: steps_interactive.pm:461
#, fuzzy, c-format
msgid "Bad file"
msgstr "ਅਸਲੀ ਫਾਇਲ"
-#: steps_interactive.pm:469
+#: steps_interactive.pm:477
#, fuzzy, c-format
msgid "KDE"
msgstr "IDE"
-#: steps_interactive.pm:470
+#: steps_interactive.pm:478
#, c-format
msgid "GNOME"
msgstr "ਗਨੋਮ"
-#: steps_interactive.pm:473
+#: steps_interactive.pm:481
#, fuzzy, c-format
msgid "Desktop Selection"
msgstr "ਪੈਕੇਜ ਸਮੂਹ ਚੋਣ"
-#: steps_interactive.pm:474
+#: steps_interactive.pm:482
#, c-format
msgid "You can choose your workstation desktop profile."
msgstr ""
-#: steps_interactive.pm:560
+#: steps_interactive.pm:568
#, c-format
msgid "Selected size is larger than available space"
msgstr "ਚੁਣਿਆ ਅਕਾਰ ਉਪਲੱਬਧ ਥਾਂ ਨਾਲੋਂ ਜਿਆਦਾ ਹੈ"
-#: steps_interactive.pm:576
+#: steps_interactive.pm:584
#, c-format
msgid "Type of install"
msgstr "ਇੰਸਟਾਲ ਦੀ ਕਿਸਮ"
-#: steps_interactive.pm:577
+#: steps_interactive.pm:585
#, c-format
msgid ""
"You have not selected any group of packages.\n"
@@ -1127,87 +1161,87 @@ msgstr ""
"ਤੁਸੀਂ ਪੈਕੇਜਾਂ ਦਾ ਕੋਈ ਸਮੂਹ ਨਹੀਂ ਚੁਣਿਆ।\n"
"ਕਿਰਪਾ ਕਰਕੇ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲੇਸ਼ਨ ਚੁਣੋ:"
-#: steps_interactive.pm:582
+#: steps_interactive.pm:590
#, c-format
msgid "With X"
msgstr "X ਨਾਲ"
-#: steps_interactive.pm:583
+#: steps_interactive.pm:591
#, fuzzy, c-format
msgid "Install suggested packages"
msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੀ ਹੈ"
-#: steps_interactive.pm:584
+#: steps_interactive.pm:592
#, c-format
msgid "With basic documentation (recommended!)"
msgstr "ਮੁੱਢਲੀ ਦਸਤਾਵੇਜ਼ੀ ਨਾਲ (ਸਿਫਾਰਸ਼ੀ)"
-#: steps_interactive.pm:585
+#: steps_interactive.pm:593
#, c-format
msgid "Truly minimal install (especially no urpmi)"
msgstr "ਯਕੀਨਨ ਘੱਟੋ-ਘੱਟ ਇੰਸਟਾਲ (ਖਾਸ ਤੌਰ ਤੇ urpmi)"
-#: steps_interactive.pm:641
+#: steps_interactive.pm:649
#, c-format
msgid "Preparing installation"
msgstr "ਇੰਸਟਾਲੇਸ਼ਨ ਤਿਆਰੀ ਹੋ ਰਹੀ ਹੈ"
-#: steps_interactive.pm:649
+#: steps_interactive.pm:657
#, c-format
msgid "Installing package %s"
msgstr "%s ਪੈਕੇਜ ਇੰਸਟਾਲ ਹੋ ਰਹੀ ਹੈ"
-#: steps_interactive.pm:673
+#: steps_interactive.pm:681
#, c-format
msgid "There was an error ordering packages:"
msgstr "ਪੈਕੇਜ ਕ੍ਰਮਬੱਧ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ:"
-#: steps_interactive.pm:673
+#: steps_interactive.pm:681
#, c-format
msgid "Go on anyway?"
msgstr "ਕਿਸੇ ਤਰਾਂ ਜਾਰੀ ਰੱਖੋ?"
-#: steps_interactive.pm:677
+#: steps_interactive.pm:685
#, c-format
msgid "Retry"
msgstr ""
-#: steps_interactive.pm:678
+#: steps_interactive.pm:686
#, c-format
msgid "Skip this package"
msgstr ""
-#: steps_interactive.pm:679
+#: steps_interactive.pm:687
#, c-format
msgid "Skip all packages from medium \"%s\""
msgstr ""
-#: steps_interactive.pm:680
+#: steps_interactive.pm:688
#, fuzzy, c-format
msgid "Go back to media and packages selection"
msgstr "ਪੈਕੇਜ ਚੋਣ ਸੰਭਾਲੋ"
-#: steps_interactive.pm:683
+#: steps_interactive.pm:691
#, fuzzy, c-format
msgid "There was an error installing package %s."
msgstr "ਪੈਕੇਜ ਇੰਸਟਾਲ ਕਰਨ ਦੌਰਾਨ ਗਲਤੀ:"
-#: steps_interactive.pm:702
+#: steps_interactive.pm:710
#, c-format
msgid "Post-install configuration"
msgstr "ਪੋਸਟ-ਇੰਸਟਾਲ ਸੰਰਚਨਾ"
-#: steps_interactive.pm:709
+#: steps_interactive.pm:717
#, c-format
msgid "Please ensure the Update Modules media is in drive %s"
msgstr ""
-#: steps_interactive.pm:737 steps_list.pm:47
+#: steps_interactive.pm:745 steps_list.pm:47
#, c-format
msgid "Updates"
msgstr "ਨਵਿਨੀਕਰਨ"
-#: steps_interactive.pm:738
+#: steps_interactive.pm:746
#, c-format
msgid ""
"You now have the opportunity to download updated packages. These packages\n"
@@ -1220,95 +1254,95 @@ msgid ""
"Do you want to install the updates?"
msgstr ""
-#: steps_interactive.pm:846
+#: steps_interactive.pm:854
#, c-format
msgid "%s on %s"
msgstr "%s, %s ਉੱਪਰ"
-#: steps_interactive.pm:878 steps_interactive.pm:885 steps_interactive.pm:898
-#: steps_interactive.pm:915 steps_interactive.pm:930
+#: steps_interactive.pm:886 steps_interactive.pm:893 steps_interactive.pm:906
+#: steps_interactive.pm:923 steps_interactive.pm:938
#, c-format
msgid "Hardware"
msgstr "ਜੰਤਰ"
-#: steps_interactive.pm:899 steps_interactive.pm:916
+#: steps_interactive.pm:907 steps_interactive.pm:924
#, c-format
msgid "Sound card"
msgstr "ਸਾਊਂਡ ਕਾਰਡ"
-#: steps_interactive.pm:919
+#: steps_interactive.pm:927
#, c-format
msgid "Do you have an ISA sound card?"
msgstr "ਕੀ ਤੁਹਾਡੇ ਕੋਲ ISA ਸਾਊਂਡ ਕਾਰਡ ਹੈ?"
-#: steps_interactive.pm:921
+#: steps_interactive.pm:929
#, c-format
msgid ""
"Run \"alsaconf\" or \"sndconfig\" after installation to configure your sound "
"card"
msgstr "ਆਪਣੀ ਸਾਊਂਡ ਕਾਰਡ ਸੰਰਚਨਾ ਲਈ ਇੰਸਟਾਲੇਸ਼ਨ ਮਗਰੋਂ \"alsaconf\" ਜਾਂ \"sndconfig\" ਚਲਾਓ"
-#: steps_interactive.pm:923
+#: steps_interactive.pm:931
#, c-format
msgid "No sound card detected. Try \"harddrake\" after installation"
msgstr "ਕੋਈ ਸਾਊਂਡ ਕਾਰਡ ਨਹੀਂ ਲੱਭਿਆ। ਇੰਸਟਾਲੇਸ਼ਨ ਮਗਰੋਂ \"harddrake\" ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ"
-#: steps_interactive.pm:931
+#: steps_interactive.pm:939
#, c-format
msgid "Graphical interface"
msgstr "ਗਰਾਫੀਕਲ ਇੰਟਰਫੇਸ"
-#: steps_interactive.pm:937 steps_interactive.pm:948
+#: steps_interactive.pm:945 steps_interactive.pm:956
#, c-format
msgid "Network & Internet"
msgstr "ਨੈੱਟਵਰਕ ਤੇ ਇੰਟਰਨੈੱਟ"
-#: steps_interactive.pm:949
+#: steps_interactive.pm:957
#, c-format
msgid "Proxies"
msgstr "ਪਰਾਕਸੀ"
-#: steps_interactive.pm:950
+#: steps_interactive.pm:958
#, c-format
msgid "configured"
msgstr "ਸੰਰਚਿਤ"
-#: steps_interactive.pm:960
+#: steps_interactive.pm:968
#, c-format
msgid "Security Level"
msgstr "ਸੁਰੱਖਿਆ ਪੱਧਰ"
-#: steps_interactive.pm:979
+#: steps_interactive.pm:987
#, c-format
msgid "Firewall"
msgstr "ਫਾਇਰਵਾਲ"
-#: steps_interactive.pm:983
+#: steps_interactive.pm:991
#, c-format
msgid "activated"
msgstr "ਸਰਗਰਮ"
-#: steps_interactive.pm:983
+#: steps_interactive.pm:991
#, c-format
msgid "disabled"
msgstr "ਅਯੋਗ"
-#: steps_interactive.pm:997
+#: steps_interactive.pm:1005
#, c-format
msgid "You have not configured X. Are you sure you really want this?"
msgstr "ਤੁਸੀਂ X ਸੰਰਚਿਤ ਨਹੀਂ ਕੀਤਾ। ਕੀ ਤੁਸੀਂ ਯਕੀਨਨ ਇਸ ਨੂੰ ਚਾਹੁੰਦੇ ਹੋ?"
-#: steps_interactive.pm:1026
+#: steps_interactive.pm:1034
#, c-format
msgid "Preparing bootloader..."
msgstr "ਬੂਟ-ਲੋਡਰ ਤਿਆਰ ਕਰ ਰਿਹਾ ਹੈ..."
-#: steps_interactive.pm:1027
+#: steps_interactive.pm:1035
#, c-format
msgid "Be patient, this may take a while..."
msgstr ""
-#: steps_interactive.pm:1038
+#: steps_interactive.pm:1046
#, c-format
msgid ""
"You appear to have an OldWorld or Unknown machine, the yaboot bootloader "
@@ -1320,24 +1354,24 @@ msgstr ""
"ਜਾਰੀ ਰਹੇਗਾ, ਪਰ ਤੁਹਾਨੂੰ ਆਪਣੀ ਮਸ਼ੀਨ ਬੂਟ ਕਰਨ ਲਈ BootX ਜਾਂ ਹੋਰ ਢੰਗ ਵਰਤਣ ਦੀ ਲੋੜ ਪਵੇਗੀ। ਰੂਟ "
"ਫਾਇਲ ਸਿਸਟਮ ਲਈ ਕਰਨਲ ਆਰਗੂਮੈਂਟ ਹਨ: root=%s"
-#: steps_interactive.pm:1051
+#: steps_interactive.pm:1059
#, c-format
msgid ""
"In this security level, access to the files in the Windows partition is "
"restricted to the administrator."
msgstr "ਇਸ ਸੁਰੱਖਿਆ ਪੱਧਰ ਵਿੱਚ, Windows ਭਾਗ ਵਿਚਲੀ ਫਾਇਲਾਂ ਵਰਤਣ ਲਈ ਪ੍ਰਬੰਧਕ ਨੂੰ ਮਨਾਹੀ ਹੈ।"
-#: steps_interactive.pm:1083
+#: steps_interactive.pm:1091
#, c-format
msgid "Insert a blank floppy in drive %s"
msgstr "ਡਰਾਈਵ %s ਵਿੱਚ ਖਾਲੀ ਫਲਾਪੀ ਪਾਓ"
-#: steps_interactive.pm:1085
+#: steps_interactive.pm:1093
#, c-format
msgid "Creating auto install floppy..."
msgstr "ਸਵੈ ਇੰਸਟਾਲ ਫਲਾਪੀ ਬਣਾ ਰਿਹਾ ਹੈ..."
-#: steps_interactive.pm:1096
+#: steps_interactive.pm:1104
#, c-format
msgid ""
"Some steps are not completed.\n"
@@ -1348,12 +1382,12 @@ msgstr ""
"\n"
"ਕੀ ਤੁਸੀਂ ਹੁਣ ਯਕੀਨਨ ਬਾਹਰ ਜਾਣਾ ਹੈ?"
-#: steps_interactive.pm:1106
+#: steps_interactive.pm:1114
#, c-format
msgid "Congratulations"
msgstr "ਮੁਬਾਰਕਾਂ"
-#: steps_interactive.pm:1109
+#: steps_interactive.pm:1117
#, c-format
msgid "Reboot"
msgstr "ਮੁੜ-ਚਾਲੂ"
@@ -1448,13 +1482,6 @@ msgid ""
"Users"
msgstr "ਉਪਭੋਗੀ"
-#: steps_list.pm:36 steps_list.pm:37
-#, c-format
-msgid ""
-"_: Keep these entry short\n"
-"Networking"
-msgstr "ਨੈਟਵਰਕਿੰਗ"
-
#: steps_list.pm:38 steps_list.pm:39
#, c-format
msgid ""
@@ -1498,6 +1525,11 @@ msgid ""
msgstr "ਬਾਹਰ"
#~ msgid ""
+#~ "_: Keep these entry short\n"
+#~ "Networking"
+#~ msgstr "ਨੈਟਵਰਕਿੰਗ"
+
+#~ msgid ""
#~ "Office programs: wordprocessors (kword, abiword), spreadsheets (kspread, "
#~ "gnumeric), pdf viewers, etc"
#~ msgstr ""
th->new_from_string($path_str); $tree->expand_to_path($path); $path->free; $path = Gtk2::TreePath->new_from_string($path_str); $tree->set_cursor($path, undef, 0); $tree->scroll_to_cell($path, undef, 1, 0.5, 0); $path->free; }; my $curr = $tree_model->get_iter_first; #- default value $tree->expand_all if $tree_expanded; $tree->get_selection->signal_connect(changed => sub { my ($model, $iter) = $_[0]->get_selected; $model && $iter or return; $curr->free if ref $curr; my $path = $tree_model->get_path($curr = $iter); if (!$tree_model->iter_has_child($iter)) { ${$e->{val}} = $precomp{$path->to_string}{listvalue}; &$changed; } else { $tree->expand_row($path, 0) if $selected_via_click; } $path->free; }); my ($starting_word, $start_reg) = ('', "^"); my $timeout; my $toggle = sub { if ($tree_model->iter_has_child($curr)) { my $path = $tree_model->get_path($curr); $tree->toggle_expansion($path, 0); $path->free; } else { &$may_go_to_next; } }; $tree->signal_connect(key_press_event => sub { my ($_w, $event) = @_; $selected_via_click = 0; my $c = chr($event->keyval & 0xff); $curr or return; Gtk2->timeout_remove($timeout) if $timeout; $timeout = ''; if ($event->keyval >= 0x100) { &$toggle if member($event->keyval, (Gtk2::Gdk::Event::Key->Sym_Return, Gtk2::Gdk::Event::Key->Sym_KP_Enter)); $starting_word = '' if !member($event->keyval, (Gtk2::Gdk::Event::Key->Sym_Control_L, Gtk2::Gdk::Event::Key->Sym_Control_R)); } else { my $next; if (member('control-mask', @{$event->state})) { $c eq "s" or return 1; $start_reg and $start_reg = '', return 1; $next = 1; } else { &$toggle if $c eq ' '; $next = 1 if $starting_word eq '' || $starting_word eq $c; $starting_word .= $c unless $starting_word eq $c; } my $word = quotemeta $starting_word; my ($after, $best); my $currpath = $tree_model->get_path_str($curr); foreach my $v (@ordered_keys) { $next &&= !$after; $after ||= $v eq $currpath; if ($precomp{$v}{value} =~ /$start_reg$word/i) { if ($after && !$next) { ($best, $after) = ($v, 0); } else { $best ||= $v; } } } if (defined $best) { $select->($best); } else { $starting_word = ''; } $timeout = Gtk2->timeout_add($forgetTime, sub { $timeout = $starting_word = ''; 0 }); } 0; }); $tree->signal_connect(button_press_event => sub { $selected_via_click = 1; &$double_click if !$tree_model->iter_has_child($curr) && $double_click; }); $tree, sub { my $v = may_apply($e->{format}, $_[0]); my ($model, $iter) = $tree->get_selection->get_selected; $select->($wleaves{$v} || return) if !$model || $wleaves{$v} ne $model->get_path_str($iter); $iter->free if ref $iter; }, $size; } sub create_list { my ($e, $may_go_to_next, $changed, $double_click) = @_; my $l = $e->{list}; my $list = Gtk2::List->new; $list->set_selection_mode('browse'); my $select = sub { $list->select_item($_[0]); }; my $tips = Gtk2::Tooltips->new; each_index { my $item = Gtk2::ListItem->new(may_apply($e->{format}, $_)); $item->signal_connect(key_press_event => sub { my ($_w, $event) = @_; my $c = chr($event->keyval & 0xff); &$may_go_to_next if $event->keyval < 0x100 ? $c eq ' ' : $c eq "\r" || $c eq "\x8d"; 0; }); $list->append_items($item); $item->show; if ($e->{help}) { gtkset_tip($tips, $item, ref($e->{help}) eq 'HASH' ? $e->{help}{$_} : ref($e->{help}) eq 'CODE' ? $e->{help}($_) : $e->{help}); } $item->grab_focus if ${$e->{val}} && $_ eq ${$e->{val}}; } @$l; #- signal_connect'ed after append_items otherwise it is called and destroys the default value $list->signal_connect(select_child => sub { my ($_w, $row) = @_; ${$e->{val}} = $l->[$list->child_position($row)]; &$changed; }); $list->signal_connect(button_press_event => $double_click) if $double_click; $list, sub { my ($v) = @_; eval { $select->(find_index { $_ eq $v } @$l); }; }; } sub ask_fromW { my ($o, $common, $l, $l2) = @_; my $ignore = 0; #-to handle recursivity my $mainw = ugtk2->new($common->{title}, %$o, if__($::main_window, transient => $::main_window)); #-the widgets my (@widgets, @widgets_always, @widgets_advanced, $advanced, $advanced_pack, $has_horiz_scroll, $has_scroll, $max_width); my $total_size = 0; my $tooltips = Gtk2::Tooltips->new; my $set_all = sub { $ignore = 1; $_->{set}->(${$_->{e}{val}}, $_) foreach @widgets_always, @widgets_advanced; $_->{real_w}->set_sensitive(!$_->{e}{disabled}()) foreach @widgets_always, @widgets_advanced; $mainw->{ok}->set_sensitive(!$common->{callbacks}{ok_disabled}()) if $common->{callbacks}{ok_disabled}; $ignore = 0; }; my $get_all = sub { ${$_->{e}{val}} = $_->{get}->() foreach @widgets_always, @widgets_advanced; }; my $update = sub { my ($f) = @_; return if $ignore; $get_all->(); $f->(); $set_all->(); }; my $create_widget = sub { my ($e, $ind) = @_; my $may_go_to_next = sub { my (undef, $event) = @_; if (!$event || ($event->keyval & 0x7f) == 0xd) { if ($ind == $#widgets) { @widgets == 1 ? $mainw->{ok}->clicked : $mainw->{ok}->grab_focus; } else { $widgets[$ind+1]{focus_w}->grab_focus; } return 1; #- prevent an action on the just grabbed focus } }; my $changed = sub { $update->(sub { $common->{callbacks}{changed}($ind) }) }; my ($w, $real_w, $focus_w, $set, $get, $expand, $size, $width); if ($e->{type} eq 'iconlist') { $w = Gtk2::Button->new; $set = sub { gtkdestroy($e->{icon}); my $f = $e->{icon2f}->($_[0]); $e->{icon} = -e $f ? gtkcreate_img($f) : Gtk2::Label->new(may_apply($e->{format}, $_[0])); $w->add($e->{icon}); $e->{icon}->show; }; $w->signal_connect(clicked => sub { $set->(${$e->{val}} = next_val_in_array(${$e->{val}}, $e->{list})); $changed->(); }); $real_w = gtkpack_(Gtk2::HBox->new(0,10), 1, Gtk2::HBox->new(0,0), 0, $w, 1, Gtk2::HBox->new(0,0)); } elsif ($e->{type} eq 'bool') { if ($e->{image}) { $w = gtkadd(Gtk2::CheckButton->new, gtkshow(gtkcreate_img($e->{image}))); } else { $w = Gtk2::CheckButton->new($e->{text}); } $w->signal_connect(clicked => $changed); $set = sub { $w->set_active($_[0]) }; $get = sub { $w->get_active }; $width = length $e->{text}; } elsif ($e->{type} eq 'label') { $w = Gtk2::Label->new(${$e->{val}}); $set = sub { $w->set($_[0]) }; $width = length ${$e->{val}}; } elsif ($e->{type} eq 'button') { $w = Gtk2::Button->new(''); $w->signal_connect(clicked => sub { $get_all->(); if ($::isWizard && !$::isInstall) { $mainw->{rwindow}->set_sensitive(0); } else { $mainw->{rwindow}->hide; } if (my $v = $e->{clicked_may_quit}()) { $mainw->{retval} = $v; Gtk2->main_quit; } if ($::isWizard && !$::isInstall) { $mainw->{rwindow}->set_sensitive(1); } else { $mainw->{rwindow}->show; } $set_all->(); }); $set = sub { $w->child->set(may_apply($e->{format}, $_[0])) }; $width = length may_apply($e->{format}, ${$e->{val}}); } elsif ($e->{type} eq 'range') { my $adj = create_adjustment(${$e->{val}}, $e->{min}, $e->{max}); $adj->signal_connect(value_changed => $changed); $w = Gtk2::HScale->new($adj); $w->set_digits(0); $w->signal_connect(key_press_event => $may_go_to_next); $set = sub { $adj->set_value($_[0]) }; $get = sub { $adj->get_value }; $size = 2; } elsif ($e->{type} =~ /list/) { $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ]; $width = max(map { length } @{$e->{list}}); if (my $actions = $e->{add_modify_remove}) { my %buttons; my $do_action = sub { @{$e->{list}} || $_[0] eq 'Add' or return; my $r = $actions->{$_[0]}->(${$e->{val}}); defined $r or return; if ($_[0] eq 'Add') { ${$e->{val}} = $r; } elsif ($_[0] eq 'Remove') { ${$e->{val}} = $e->{list}[0]; } $e->{formatted_list} = [ map { may_apply($e->{format}, $_) } @{$e->{list}} ]; my $list = $w->get_model; $list->clear; $list->append_set([ 0 => $_ ])->free foreach @{$e->{formatted_list}}; $changed->(); $buttons{$_}->set_sensitive(@{$e->{list}} != ()) foreach 'Modify', 'Remove'; }; my @actions = (N_("Add"), N_("Modify"), N_("Remove")); $width += max(map { length(translate($_)) } @actions); $has_scroll = $expand = 1; $size = 6; ($w, $set, $focus_w) = create_treeview_list($e, $may_go_to_next, $changed, sub { $do_action->('Modify') if $_[1]->type =~ /^2/ }); %buttons = map { my $action = $_; $action => gtksignal_connect(Gtk2::Button->new(translate($action)), clicked => sub { $do_action->($action) }); } @actions; $real_w = gtkpack_(Gtk2::HBox->new(0,0), 1, create_scrolled_window($w), 0, gtkpack__(Gtk2::VBox->new(0,0), map { $buttons{$_} } @actions)); $real_w->set_data(must_grow => 1) } else { my $quit_if_double_click = #- i'm the only one, double click means accepting @$l == 1 || $e->{quit_if_double_click} ? sub { if ($_[1]->type =~ /^2/) { $mainw->{retval} = 1; Gtk2->main_quit } } : ''; my @para = ($e, $may_go_to_next, $changed, $quit_if_double_click); my $use_boxradio = exists $e->{gtk}{use_boxradio} ? $e->{gtk}{use_boxradio} : @{$e->{list}} <= 8; if ($e->{help}) { #- used only when needed, as key bindings are dropped by List (ListStore does not seems to accepts Tooltips). ($w, $set, $focus_w) = $use_boxradio ? create_boxradio(@para) : create_list(@para); } elsif ($e->{type} eq 'treelist') { ($w, $set, $size) = create_treeview_tree(@para, $e->{tree_expanded}); $e->{saved_default_val} = ${$e->{val}}; #- during realization, signals will mess up the default val :( } else { ($w, $set, $focus_w) = $use_boxradio ? create_boxradio(@para) : create_treeview_list(@para); } if (@{$e->{list}} > (@$l == 1 ? 10 : 4) || $e->{add_modify_remove}) { $has_scroll = $expand = 1; $real_w = create_scrolled_window($w); $size = (@$l == 1 ? 10 : 4); } else { $size ||= @{$e->{list}}; } } } else { if ($e->{type} eq "combo") { $w = Gtk2::Combo->new; $w->set_use_arrows_always(1); $w->entry->set_editable(!$e->{not_edit}); $w->disable_activate; my @formatted_list = map { may_apply($e->{format}, $_) } @{$e->{list}}; $w->set_popdown_strings(@formatted_list); ($real_w, $w) = ($w, $w->entry); $set = sub { my $s = may_apply($e->{format}, $_[0]); $w->set_text($s) if $s ne $w->get_text && $_[0] ne $w->get_text; }; $get = sub { my $s = $w->get_text; my $i = eval { find_index { $s eq $_ } @formatted_list }; defined $i ? $e->{list}[$i] : $s; }; my @l = sort { $b <=> $a } map { length } @formatted_list; $has_horiz_scroll = 1; $width = $l[@l / 16]; # take the third octile (think quartile) } else { $w = Gtk2::Entry->new; $w->signal_connect(focus_in_event => sub { $w->select_region(0, -1) }); $w->signal_connect(focus_out_event => sub { $w->select_region(0, 0) }); $set = sub { $w->set_text($_[0]) if $_[0] ne $w->get_text }; $get = sub { $w->get_text }; } $w->signal_connect(key_press_event => $may_go_to_next); $w->signal_connect(changed => $changed); $w->set_visibility(0) if $e->{hidden}; } $w->signal_connect(focus_out_event => sub { $update->(sub { $common->{callbacks}{focus_out}($ind) }); }); $tooltips->set_tip($w, $e->{help}) if $e->{help} && !ref($e->{help}); $max_width = max($max_width, $width); $total_size += $size || 1; { e => $e, w => $w, real_w => $real_w || $w, focus_w => $focus_w || $w, expand => $expand, get => $get || sub { ${$e->{val}} }, set => $set || sub {}, icon_w => $e->{icon} && eval { gtkcreate_img($e->{icon}) } }; }; @widgets_always = map_index { $create_widget->($_, $::i) } @$l; my $always_total_size = $total_size; @widgets_advanced = map_index { $create_widget->($_, $::i + @$l) } @$l2; my $advanced_total_size = $total_size - $always_total_size; my $pack = create_box_with_title($mainw, @{$common->{messages}}); my ($totalwidth, $totalheight) = (0, $mainw->{box_size}); my $set_default_size = sub { if (($has_scroll || $has_horiz_scroll) && !$mainw->{isEmbedded} && !$mainw->{isWizard}) { $mainw->{rwindow}->set_default_size($totalwidth+6+$ugtk2::shape_width, $has_scroll ? $totalheight+6+3+$ugtk2::shape_width : -1); } }; my $set_advanced = sub { ($advanced) = @_; $set_default_size->() if $advanced; $update->($common->{callbacks}{advanced}) if $advanced; $advanced ? $advanced_pack->show : $advanced_pack->hide; @widgets = (@widgets_always, if_($advanced, @widgets_advanced)); $mainw->sync; #- for $set_all below (mainly for the set of clist) $set_all->(); #- must be done when showing advanced lists (to center selected value) }; my $advanced_button = [ $common->{advanced_label}, sub { my ($w) = @_; $set_advanced->(!$advanced); $w->child->set($advanced ? $common->{advanced_label_close} : $common->{advanced_label}); } ]; my $create_widgets = sub { my ($size, @widgets) = @_; my $w = create_packtable({}, map { [($_->{icon_w}, $_->{e}{label}, $_->{real_w})] } @widgets); $size && $total_size or return $w; #- do not bother computing stupid/bad things my $ratio = max($size / $total_size, 0.2); my ($possibleheight, $possiblewidth) = $mainw->{isEmbedded} ? (450, 380) : ($::windowheight * 0.8, $::windowwidth * 0.8); $possibleheight -= $mainw->{box_size}; my $wantedwidth = max(250, $max_width * 5); my $width = min($possiblewidth, $wantedwidth); my $wantedheight = ugtk2::n_line_size($size, 'various', $mainw->{rwindow}); my $height = min($possibleheight * $ratio, max(200, $wantedheight)); $totalheight += $height; $totalwidth = max($width, $totalwidth); my $has = $wantedwidth > $width || $wantedheight > $height; $has_scroll ||= $has; $has ? create_scrolled_window($w) : $w; }; my $always_pack = $create_widgets->($always_total_size, @widgets_always); my $has_scroll_always = $has_scroll; my @adv = map { warp_text($_) } @{$common->{advanced_messages}}; $advanced_pack = gtkpack_(Gtk2::VBox->new(0,0), 0, '', (map { (0, Gtk2::Label->new($_)) } @adv), 0, Gtk2::HSeparator->new, 1, $create_widgets->($advanced_total_size, @widgets_advanced)); my @help = if_($common->{interactive_help}, [ N("Help"), sub { my $message = $common->{interactive_help}->() or return; $o->ask_warn(N("Help"), $message); }, 1 ]); my $buttons_pack = ($common->{ok} || !exists $common->{ok}) && $mainw->create_okcancel($common->{ok}, $common->{cancel}, '', @help, if_(@$l2, $advanced_button)); $pack->pack_start($always_pack, 1, 1, 0); $always_pack->show; $pack->pack_start($advanced_pack, 1, 1, 0); $pack->pack_start($buttons_pack, 0, 0, 0) if $buttons_pack; $buttons_pack->show if $buttons_pack; gtkadd($mainw->{window}, $pack); $set_default_size->() if $has_scroll_always; $set_advanced->($common->{advanced_state}); my $widget_to_focus = $common->{focus_cancel} ? $mainw->{cancel} : @widgets && ($common->{focus_first} || !$mainw->{ok} || @widgets == 1 && member(ref($widgets[0]{focus_w}), "Gtk2::TreeView", "Gtk2::RadioButton")) ? $widgets[0]{focus_w} : $mainw->{ok}; $widget_to_focus->grab_focus() if $widget_to_focus; my $check = sub { my ($f) = @_; sub { $get_all->(); my ($error, $focus) = $f->(); if ($error) { $set_all->(); $widgets[$focus || 0]{focus_w}->grab_focus(); } !$error; } }; $_->{set}->($_->{e}{saved_default_val} || next) foreach @widgets_always, @widgets_advanced; $mainw->main(map { $check->($common->{callbacks}{$_}) } 'complete', 'canceled'); } sub ask_browse_tree_info_refW { my ($o, $common) = @_; add2hash($common, { wait_message => sub { $o->wait_message(@_) } }); ugtk2::ask_browse_tree_info($common); } sub ask_from__add_modify_removeW { my ($o, $title, $message, $l, %callback) = @_; my $e = $l->[0]; my $chosen_element; put_in_hash($e, { allow_empty_list => 1, gtk => { use_boxradio => 0 }, sort => 0, val => \$chosen_element, type => 'list', add_modify_remove => \%callback }); $o->ask_from($title, $message, $l, %callback); } sub wait_messageW($$$) { my ($o, $title, $messages) = @_; my @l = map { Gtk2::Label->new(scalar warp_text($_)) } @$messages; my $w = ugtk2->new($title, %$o, grab => 1, if__($::main_window, transient => $::main_window)); gtkadd($w->{window}, my $hbox = Gtk2::HBox->new(0,0)); $hbox->pack_start(my $box = Gtk2::VBox->new(0,0), 1, 1, 10); $box->pack_start(shift @l, 0, 0, 4); $box->pack_start($_, 1, 1, 4) foreach @l; ($w->{wait_messageW} = $l[-1])->signal_connect(expose_event => sub { $w->{displayed} = 1; 0 }); $w->{rwindow}->set_position('center') if $::isStandalone && !$w->{isEmbedded} && !$w->{isWizard}; $w->{window}->show_all; $w->sync until $w->{displayed}; $w; } sub wait_message_nextW { my ($_o, $messages, $w) = @_; my $msg = warp_text(join "\n", @$messages); return if $msg eq $w->{wait_messageW}->get; #- needed otherwise no expose_event :( $w->{displayed} = 0; $w->{wait_messageW}->set($msg); $w->flush until $w->{displayed}; } sub wait_message_endW { my ($_o, $w) = @_; $w->destroy; } sub kill { my ($o) = @_; $o->{before_killing} ||= 0; while (my $e = shift @tempory::objects) { $e->destroy } while (@interactive::objects > $o->{before_killing}) { my $w = pop @interactive::objects; $w->destroy; } $o->{before_killing} = @interactive::objects; } prepare_gtk2(); 1;