summaryrefslogtreecommitdiffstats
path: root/perl-install/share/po/th.po
diff options
context:
space:
mode:
authorFunda Wang <fwang@mandriva.org>2005-10-22 11:57:19 +0000
committerFunda Wang <fwang@mandriva.org>2005-10-22 11:57:19 +0000
commit5c6c363296975aaca9a5f0f185fb487b03d66c0d (patch)
treec0c0a2d6cf35a57f202c5e5fe962bbe99405e689 /perl-install/share/po/th.po
parent0e42fec0ad4e3a7dc1830018ac451192ece5dcbf (diff)
downloaddrakx-5c6c363296975aaca9a5f0f185fb487b03d66c0d.tar
drakx-5c6c363296975aaca9a5f0f185fb487b03d66c0d.tar.gz
drakx-5c6c363296975aaca9a5f0f185fb487b03d66c0d.tar.bz2
drakx-5c6c363296975aaca9a5f0f185fb487b03d66c0d.tar.xz
drakx-5c6c363296975aaca9a5f0f185fb487b03d66c0d.zip
Updated POT file.
Diffstat (limited to 'perl-install/share/po/th.po')
-rw-r--r--perl-install/share/po/th.po202
1 files changed, 108 insertions, 94 deletions
diff --git a/perl-install/share/po/th.po b/perl-install/share/po/th.po
index a70f71b62..db18318ce 100644
--- a/perl-install/share/po/th.po
+++ b/perl-install/share/po/th.po
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: DrakX\n"
-"POT-Creation-Date: 2005-10-15 15:03+0800\n"
+"POT-Creation-Date: 2005-10-22 19:23+0800\n"
"PO-Revision-Date: 2001-09-10 14:24GMT+7\n"
"Last-Translator: Wachara Chinsettawong <wachara@yahoo.com>\n"
"Language-Team: Thai <th@li.org>\n"
@@ -339,22 +339,22 @@ msgstr "32 MB"
msgid "64 MB or more"
msgstr "64 MB หรือมากกว่า"
-#: Xconfig/card.pm:161
+#: Xconfig/card.pm:162
#, c-format
msgid "X server"
msgstr "X เซิร์ฟเวอร์"
-#: Xconfig/card.pm:162
+#: Xconfig/card.pm:163
#, fuzzy, c-format
msgid "Choose an X server"
msgstr "เลือก X เซิร์ฟเวอร์"
-#: Xconfig/card.pm:194
+#: Xconfig/card.pm:195
#, c-format
msgid "Multi-head configuration"
msgstr "Multi-head configuration"
-#: Xconfig/card.pm:195
+#: Xconfig/card.pm:196
#, fuzzy, c-format
msgid ""
"Your system supports multiple head configuration.\n"
@@ -363,62 +363,62 @@ msgstr ""
"เครื่องของคุณสนับสนุนการคอนฟิกแบบ multihead \n"
"คุณต้องการทำอะไร?"
-#: Xconfig/card.pm:264
+#: Xconfig/card.pm:265
#, fuzzy, c-format
msgid "Can not install Xorg package: %s"
msgstr "กำลังติดตั้งแพ็คเก็จ %s"
-#: Xconfig/card.pm:274
+#: Xconfig/card.pm:275
#, c-format
msgid "Select the memory size of your graphics card"
msgstr "เลือกขนาดหน่วยความจำของกราฟฟิคการ์ด"
-#: Xconfig/card.pm:365
+#: Xconfig/card.pm:367
#, c-format
msgid "Xorg configuration"
msgstr "การคอนฟิก Xorg"
-#: Xconfig/card.pm:367
+#: Xconfig/card.pm:369
#, c-format
msgid "Which configuration of Xorg do you want to have?"
msgstr "Xorg ชนิดใหนที่คุณต้องการมี"
-#: Xconfig/card.pm:400
+#: Xconfig/card.pm:402
#, c-format
msgid "Configure all heads independently"
msgstr "Configure all heads independently"
-#: Xconfig/card.pm:401
+#: Xconfig/card.pm:403
#, c-format
msgid "Use Xinerama extension"
msgstr "Use Xinerama extension"
-#: Xconfig/card.pm:406
+#: Xconfig/card.pm:408
#, fuzzy, c-format
msgid "Configure only card \"%s\"%s"
msgstr "คอนฟิกเฉพาะการ์ด \"%s\" (%s)"
-#: Xconfig/card.pm:418 Xconfig/various.pm:23
+#: Xconfig/card.pm:420 Xconfig/various.pm:23
#, c-format
msgid "Xorg %s"
msgstr "Xorg %s"
-#: Xconfig/card.pm:425 Xconfig/various.pm:22
+#: Xconfig/card.pm:427 Xconfig/various.pm:22
#, c-format
msgid "Xorg %s with 3D hardware acceleration"
msgstr "Xorg %s with 3D hardware acceleration"
-#: Xconfig/card.pm:427
+#: Xconfig/card.pm:429
#, c-format
msgid "Your card can have 3D hardware acceleration support with Xorg %s."
msgstr "Your card can have 3D hardware acceleration support with Xorg %s."
-#: Xconfig/card.pm:433
+#: Xconfig/card.pm:435
#, c-format
msgid "Xorg %s with EXPERIMENTAL 3D hardware acceleration"
msgstr "Xorg %s with EXPERIMENTAL 3D hardware acceleration"
-#: Xconfig/card.pm:435
+#: Xconfig/card.pm:437
#, c-format
msgid ""
"Your card can have 3D hardware acceleration support with Xorg %s,\n"
@@ -768,7 +768,7 @@ msgstr ""
#: any.pm:142 harddrake/sound.pm:192 interactive.pm:474 pkgs.pm:473
#: standalone/drakconnect:160 standalone/drakconnect:635 standalone/draksec:68
-#: standalone/drakups:101 standalone/drakxtv:92 standalone/harddrake2:356
+#: standalone/drakups:101 standalone/drakxtv:92 standalone/harddrake2:376
#: standalone/service_harddrake:208
#, c-format
msgid "Please wait"
@@ -2878,7 +2878,7 @@ msgstr "กำลังติดตั้งแพ็คเก็จ %s"
msgid "Mandatory package %s is missing"
msgstr ""
-#: do_pkgs.pm:35 harddrake/sound.pm:271 install_steps_interactive.pm:1317
+#: do_pkgs.pm:35 harddrake/sound.pm:274 install_steps_interactive.pm:1317
#: keyboard.pm:388 network/ndiswrapper.pm:95 network/netconnect.pm:472
#: printer/printerdrake.pm:1416 printer/printerdrake.pm:2494
#: printer/printerdrake.pm:2609 printer/printerdrake.pm:2930
@@ -2889,13 +2889,14 @@ msgstr ""
#: standalone/drakTermServ:1935 standalone/drakbackup:510
#: standalone/drakbackup:609 standalone/drakboot:133 standalone/drakclock:224
#: standalone/drakconnect:973 standalone/drakperm:380 standalone/drakperm:390
-#: standalone/drakups:27 standalone/harddrake2:490 standalone/localedrake:43
-#: standalone/scannerdrake:51 standalone/scannerdrake:940
+#: standalone/drakups:27 standalone/harddrake2:511 standalone/harddrake2:527
+#: standalone/localedrake:43 standalone/scannerdrake:51
+#: standalone/scannerdrake:940
#, c-format
msgid "Warning"
msgstr "คำเตือน"
-#: do_pkgs.pm:35 standalone/harddrake2:490
+#: do_pkgs.pm:35 standalone/harddrake2:527
#, fuzzy, c-format
msgid "The following packages need to be installed:\n"
msgstr "แพ็คเก็จเหล่านี้กำลังจะถูกติดตั้ง"
@@ -3041,12 +3042,12 @@ msgstr ""
msgid "Give read-only access to ordinary users"
msgstr ""
-#: fs/type.pm:376
+#: fs/type.pm:363
#, c-format
msgid "You can not use JFS for partitions smaller than 16MB"
msgstr "คุณไม่สามารถใช้ JFS สำหรับพาร์ติชั่นที่น้อยกว่า 16MB ได้"
-#: fs/type.pm:377
+#: fs/type.pm:364
#, c-format
msgid "You can not use ReiserFS for partitions smaller than 32MB"
msgstr "คุณไม่สามารถใช้ ReiserFS สำหรับพาร์ติชั่นที่น้อยกว่า 32MB ได้"
@@ -3079,22 +3080,22 @@ msgstr ""
"\n"
"คุณแน่ใจว่าจะยอมให้พาร์ติชั่นทั้งหมดถูกลบไป\n"
-#: fsedit.pm:385
+#: fsedit.pm:381
#, c-format
msgid "Mount points must begin with a leading /"
msgstr "จุดเม้าท์จะต้องเริ่มด้วย /"
-#: fsedit.pm:386
+#: fsedit.pm:382
#, c-format
msgid "Mount points should contain only alphanumerical characters"
msgstr ""
-#: fsedit.pm:387
+#: fsedit.pm:383
#, c-format
msgid "There is already a partition with mount point %s\n"
msgstr "มีพาร์ติชั่นที่เป็นจุดเม้าท์ที่ %s เรียบร้อยแล้ว\n"
-#: fsedit.pm:389
+#: fsedit.pm:385
#, fuzzy, c-format
msgid ""
"You've selected a software RAID partition as root (/).\n"
@@ -3105,14 +3106,14 @@ msgstr ""
"bootloader ไม่สามารถทำงานโดยไม่มี /boot พาร์ติชั่น \n"
"เพราะฉนั้นจำเป็นต้องเพิ่ม /boot พาร์ติชั่น"
-#: fsedit.pm:394
+#: fsedit.pm:390
#, fuzzy, c-format
msgid ""
"You can not use the LVM Logical Volume for mount point %s since it spans "
"physical volumes"
msgstr "คุณไม่สามารถใช้ LVM Logical Volume สำหรับ %s"
-#: fsedit.pm:396
+#: fsedit.pm:392
#, fuzzy, c-format
msgid ""
"You've selected the LVM Logical Volume as root (/).\n"
@@ -3124,29 +3125,29 @@ msgstr ""
"bootloader ไม่สามารถทำงานโดยไม่มี /boot พาร์ติชั่น \n"
"เพราะฉนั้นจำเป็นต้องเพิ่ม /boot พาร์ติชั่น"
-#: fsedit.pm:400 fsedit.pm:402
+#: fsedit.pm:396 fsedit.pm:398
#, c-format
msgid "This directory should remain within the root filesystem"
msgstr "This directory should remain within the root filesystem"
-#: fsedit.pm:404 fsedit.pm:406
+#: fsedit.pm:400 fsedit.pm:402
#, fuzzy, c-format
msgid ""
"You need a true filesystem (ext2/ext3, reiserfs, xfs, or jfs) for this mount "
"point\n"
msgstr "You need a true filesystem (ext2, reiserfs) for this mount point\n"
-#: fsedit.pm:408
+#: fsedit.pm:404
#, fuzzy, c-format
msgid "You can not use an encrypted file system for mount point %s"
msgstr "คุณไม่สามารถใช้ LVM Logical Volume สำหรับ %s"
-#: fsedit.pm:469
+#: fsedit.pm:465
#, fuzzy, c-format
msgid "Not enough free space for auto-allocating"
msgstr "ไม่มีพื้นที่เพียงพอสำหรับการแบ่งสัดส่วนพาร์ติชั่นแบบออโต้"
-#: fsedit.pm:471
+#: fsedit.pm:467
#, c-format
msgid "Nothing to do"
msgstr ""
@@ -3369,7 +3370,7 @@ msgstr "HFS"
msgid "Scanner"
msgstr "เลือกกราฟฟิคการ์ด"
-#: harddrake/data.pm:504 standalone/harddrake2:454
+#: harddrake/data.pm:504 standalone/harddrake2:476
#, fuzzy, c-format
msgid "Unknown/Others"
msgstr "Generic"
@@ -3441,17 +3442,17 @@ msgid ""
"the ALSA library.\n"
msgstr ""
-#: harddrake/sound.pm:258 harddrake/sound.pm:343 standalone/drakups:146
+#: harddrake/sound.pm:258 harddrake/sound.pm:346 standalone/drakups:146
#, fuzzy, c-format
msgid "Driver:"
msgstr "Driver"
-#: harddrake/sound.pm:263
+#: harddrake/sound.pm:266
#, c-format
msgid "Trouble shooting"
msgstr ""
-#: harddrake/sound.pm:271
+#: harddrake/sound.pm:274
#, c-format
msgid ""
"The old \"%s\" driver is blacklisted.\n"
@@ -3461,45 +3462,45 @@ msgid ""
"The new \"%s\" driver will only be used on next bootstrap."
msgstr ""
-#: harddrake/sound.pm:279
+#: harddrake/sound.pm:282
#, c-format
msgid "No open source driver"
msgstr ""
-#: harddrake/sound.pm:280
+#: harddrake/sound.pm:283
#, c-format
msgid ""
"There's no free driver for your sound card (%s), but there's a proprietary "
"driver at \"%s\"."
msgstr ""
-#: harddrake/sound.pm:283
+#: harddrake/sound.pm:286
#, c-format
msgid "No known driver"
msgstr ""
-#: harddrake/sound.pm:284
+#: harddrake/sound.pm:287
#, c-format
msgid "There's no known driver for your sound card (%s)"
msgstr ""
-#: harddrake/sound.pm:288
+#: harddrake/sound.pm:291
#, c-format
msgid "Unknown driver"
msgstr ""
-#: harddrake/sound.pm:289
+#: harddrake/sound.pm:292
#, c-format
msgid "Error: The \"%s\" driver for your sound card is unlisted"
msgstr ""
-#: harddrake/sound.pm:303
+#: harddrake/sound.pm:306
#, c-format
msgid "Sound trouble shooting"
msgstr ""
#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
-#: harddrake/sound.pm:306
+#: harddrake/sound.pm:309
#, c-format
msgid ""
"The classic bug sound tester is to run the following commands:\n"
@@ -3523,18 +3524,18 @@ msgid ""
"- \"/sbin/fuser -v /dev/dsp\" will tell which program uses the sound card.\n"
msgstr ""
-#: harddrake/sound.pm:332
+#: harddrake/sound.pm:335
#, c-format
msgid "Let me pick any driver"
msgstr ""
-#: harddrake/sound.pm:335
+#: harddrake/sound.pm:338
#, c-format
msgid "Choosing an arbitrary driver"
msgstr ""
#. -PO: keep the double empty lines between sections, this is formatted a la LaTeX
-#: harddrake/sound.pm:338
+#: harddrake/sound.pm:341
#, c-format
msgid ""
"If you really think that you know which driver is the right one for your "
@@ -3872,7 +3873,7 @@ msgstr ""
#: help.pm:180 help.pm:285 help.pm:313 help.pm:444 install_any.pm:946
#: interactive.pm:161 modules/interactive.pm:71 standalone/drakbackup:2613
-#: standalone/draksec:54 standalone/harddrake2:312 ugtk2.pm:898 wizards.pm:156
+#: standalone/draksec:54 standalone/harddrake2:332 ugtk2.pm:898 wizards.pm:156
#, c-format
msgid "No"
msgstr "ไม่ต้อง"
@@ -3880,7 +3881,7 @@ msgstr "ไม่ต้อง"
#: help.pm:180 help.pm:285 help.pm:444 install_any.pm:946 interactive.pm:161
#: modules/interactive.pm:71 printer/printerdrake.pm:883
#: printer/printerdrake.pm:898 standalone/drakbackup:2613
-#: standalone/draksec:55 standalone/harddrake2:311 ugtk2.pm:898 wizards.pm:156
+#: standalone/draksec:55 standalone/harddrake2:331 ugtk2.pm:898 wizards.pm:156
#, c-format
msgid "Yes"
msgstr "ใช่"
@@ -4150,7 +4151,7 @@ msgstr "ใช้พาร์ติชั่นที่มีอยู่"
msgid "Use the free space on the Windows partition"
msgstr "ใช้พื้นที่ที่ว่างใน Windows partition"
-#: help.pm:374 install_interactive.pm:213
+#: help.pm:374
#, c-format
msgid "Erase entire disk"
msgstr "ลบ disk ทั้งหมด"
@@ -5311,6 +5312,11 @@ msgstr "ไม่มี พาร์ติชั่น FAT เพื่อทำ
msgid "Remove Windows(TM)"
msgstr "ลบ Windows(TM)"
+#: install_interactive.pm:213
+#, fuzzy, c-format
+msgid "Erase and use entire disk"
+msgstr "ลบ disk ทั้งหมด"
+
#: install_interactive.pm:215
#, c-format
msgid "You have more than one hard drive, which one do you install linux on?"
@@ -9003,7 +9009,7 @@ msgstr "กำลังตรวจสอบพอร์ต"
#: standalone/drakids:33 standalone/drakids:136 standalone/drakids:145
#: standalone/drakids:170 standalone/drakids:179 standalone/drakids:189
#: standalone/drakids:265 standalone/net_applet:59 standalone/net_applet:202
-#: standalone/net_applet:381 standalone/net_applet:418
+#: standalone/net_applet:385 standalone/net_applet:422
#, fuzzy, c-format
msgid "Interactive Firewall"
msgstr "ตรวจพบคอนฟิกของ Firewall"
@@ -9172,7 +9178,7 @@ msgstr ""
"Rest of the world \n"
"No D-Channel (leased lines)"
-#: network/netconnect.pm:103 standalone/harddrake2:309
+#: network/netconnect.pm:103 standalone/harddrake2:329
#: standalone/net_monitor:102 standalone/net_monitor:103
#: standalone/net_monitor:108
#, c-format
@@ -11940,7 +11946,7 @@ msgstr "ชื่อโฮสต์รีโมท"
#: standalone/drakbackup:618 standalone/drakbackup:653
#: standalone/drakbackup:754 standalone/draknfs:203
#: standalone/draksambashare:629 standalone/draksambashare:796
-#: standalone/harddrake2:256
+#: standalone/harddrake2:276
#, c-format
msgid "Information"
msgstr "ข้อมูล"
@@ -18923,12 +18929,12 @@ msgstr "บันทึกการทำงาน"
msgid "Clear logs"
msgstr "ล้างทั้งหมด"
-#: standalone/drakids:62 standalone/drakids:67 standalone/net_applet:466
+#: standalone/drakids:62 standalone/drakids:67 standalone/net_applet:470
#, c-format
msgid "Blacklist"
msgstr ""
-#: standalone/drakids:63 standalone/drakids:80 standalone/net_applet:471
+#: standalone/drakids:63 standalone/drakids:80 standalone/net_applet:475
#, c-format
msgid "Whitelist"
msgstr ""
@@ -18950,7 +18956,7 @@ msgstr "ลบออกจาก LVM"
#: standalone/drakids:136 standalone/drakids:145 standalone/drakids:170
#: standalone/drakids:179 standalone/drakids:189 standalone/drakids:265
-#: standalone/drakroam:182 standalone/net_applet:202 standalone/net_applet:381
+#: standalone/drakroam:182 standalone/net_applet:202 standalone/net_applet:385
#, fuzzy, c-format
msgid "Unable to contact daemon"
msgstr "ไม่สามารถ forkได้.%s"
@@ -19921,7 +19927,7 @@ msgstr ""
msgid "User name:"
msgstr ""
-#: standalone/draksambashare:935 standalone/harddrake2:564
+#: standalone/draksambashare:935 standalone/harddrake2:601
#, c-format
msgid "Password:"
msgstr "รหัสผ่าน:"
@@ -20021,7 +20027,7 @@ msgstr ""
msgid "NONE"
msgstr ""
-#: standalone/draksec:53 standalone/net_applet:476
+#: standalone/draksec:53 standalone/net_applet:480
#, c-format
msgid "Ignore"
msgstr "ไม่สนใจ"
@@ -20363,7 +20369,7 @@ msgstr ""
msgid "Autodetection"
msgstr "ใช้ auto detection"
-#: standalone/drakups:101 standalone/harddrake2:356
+#: standalone/drakups:101 standalone/harddrake2:376
#, fuzzy, c-format
msgid "Detection in progress"
msgstr "ค้นหาเจอบน port %s"
@@ -22358,7 +22364,7 @@ msgstr ""
#: standalone/harddrake2:128 standalone/harddrake2:137
#: standalone/harddrake2:144 standalone/harddrake2:152
-#: standalone/harddrake2:322
+#: standalone/harddrake2:342
#, fuzzy, c-format
msgid "Identification"
msgstr "การตรวจสอบสิทธิ์การใช้งาน"
@@ -22486,74 +22492,82 @@ msgid ""
"\n"
msgstr ""
-#: standalone/harddrake2:242
+#: standalone/harddrake2:243
#, fuzzy, c-format
msgid "Harddrake2"
msgstr "ฮาร์ดแวร์"
-#: standalone/harddrake2:253
+#: standalone/harddrake2:273
#, fuzzy, c-format
msgid "Detected hardware"
msgstr "อ่านต่อข้อมูลของฮาร์ดแวร์"
-#: standalone/harddrake2:258
+#: standalone/harddrake2:278
#, fuzzy, c-format
msgid "Configure module"
msgstr "คอนฟิกเม้าส์"
-#: standalone/harddrake2:265
+#: standalone/harddrake2:285
#, c-format
msgid "Run config tool"
msgstr ""
-#: standalone/harddrake2:289
+#: standalone/harddrake2:309
#, c-format
msgid ""
"Click on a device in the left tree in order to display its information here."
msgstr ""
-#: standalone/harddrake2:310 standalone/printerdrake:306
+#: standalone/harddrake2:330 standalone/printerdrake:306
#: standalone/printerdrake:320
#, c-format
msgid "Unknown"
msgstr "ไม่รู้จัก"
-#: standalone/harddrake2:330
+#: standalone/harddrake2:350
#, c-format
msgid "Misc"
msgstr "เบ็ดเตล็ด"
-#: standalone/harddrake2:406
+#: standalone/harddrake2:428
#, fuzzy, c-format
msgid "secondary"
msgstr "%d วินาที"
-#: standalone/harddrake2:406
+#: standalone/harddrake2:428
#, c-format
msgid "primary"
msgstr ""
-#: standalone/harddrake2:410
+#: standalone/harddrake2:432
#, fuzzy, c-format
msgid "burner"
msgstr "เครื่องพิมพ์"
-#: standalone/harddrake2:410
+#: standalone/harddrake2:432
#, c-format
msgid "DVD"
msgstr "ดีวีดี"
-#: standalone/harddrake2:558 standalone/harddrake2:561
+#: standalone/harddrake2:512
+#, c-format
+msgid ""
+"The following devices needs proprietary drivers or firmwares in order to "
+"operate smoothly. The appropriate packages can be retrieved from the "
+"Mandriva Club. Do you want to subscribe to the Mandriva Club?"
+msgstr ""
+
+#: standalone/harddrake2:595 standalone/harddrake2:598
#, c-format
msgid "Upload the hardware list"
msgstr ""
-#: standalone/harddrake2:563
+#: standalone/harddrake2:600
#, c-format
msgid "Account:"
msgstr "บัญชีผู้ใช้:"
-#: standalone/harddrake2:565
+#: standalone/harddrake2:602
#, c-format
msgid "Hostname:"
msgstr "ชื่อโฮสต์:"
@@ -22692,7 +22706,7 @@ msgstr "ค้นหา"
msgid "A tool to monitor your logs"
msgstr "อุปกรณ์ตรวจสอบ logs"
-#: standalone/logdrake:128 standalone/net_applet:343 standalone/net_monitor:93
+#: standalone/logdrake:128 standalone/net_applet:347 standalone/net_monitor:93
#, c-format
msgid "Settings"
msgstr "ค่าติดตั้ง"
@@ -22927,82 +22941,82 @@ msgstr "โปรไฟล์"
msgid "Get Online Help"
msgstr ""
-#: standalone/net_applet:331
+#: standalone/net_applet:335
#, c-format
msgid "Interactive Firewall automatic mode"
msgstr ""
-#: standalone/net_applet:336
+#: standalone/net_applet:340
#, c-format
msgid "Always launch on startup"
msgstr ""
-#: standalone/net_applet:340
+#: standalone/net_applet:344
#, fuzzy, c-format
msgid "Wireless networks"
msgstr "ไร้สาย"
-#: standalone/net_applet:425
+#: standalone/net_applet:429
#, fuzzy, c-format
msgid "Interactive Firewall: intrusion detected"
msgstr "ตรวจพบคอนฟิกของ Firewall"
-#: standalone/net_applet:438
+#: standalone/net_applet:442
#, fuzzy, c-format
msgid "What do you want to do with this attacker?"
msgstr "จะเริ่มใช้แป้นเหนียวไหม?"
-#: standalone/net_applet:441
+#: standalone/net_applet:445
#, fuzzy, c-format
msgid "Attack details"
msgstr "รายละเอียด"
-#: standalone/net_applet:445
+#: standalone/net_applet:449
#, fuzzy, c-format
msgid "Attack time: %s"
msgstr "ปฏิบัติการ: %s"
-#: standalone/net_applet:446
+#: standalone/net_applet:450
#, fuzzy, c-format
msgid "Network interface: %s"
msgstr "แผงวงจรระบบเครือข่าย"
-#: standalone/net_applet:447
+#: standalone/net_applet:451
#, fuzzy, c-format
msgid "Attack type: %s"
msgstr "ประเภท: "
-#: standalone/net_applet:448
+#: standalone/net_applet:452
#, fuzzy, c-format
msgid "Protocol: %s"
msgstr "โปรโตคอล"
-#: standalone/net_applet:449
+#: standalone/net_applet:453
#, fuzzy, c-format
msgid "Attacker IP address: %s"
msgstr "ที่อยู่ไอพีตายตัว"
-#: standalone/net_applet:450
+#: standalone/net_applet:454
#, fuzzy, c-format
msgid "Attacker hostname: %s"
msgstr "ไม่สามารถอ่านชื่อโฮสต์: %s\n"
-#: standalone/net_applet:453
+#: standalone/net_applet:457
#, fuzzy, c-format
msgid "Service attacked: %s"
msgstr "ชนิด_บริการ:"
-#: standalone/net_applet:454
+#: standalone/net_applet:458
#, fuzzy, c-format
msgid "Port attacked: %s"
msgstr "Port"
-#: standalone/net_applet:456
+#: standalone/net_applet:460
#, c-format
msgid "Type of ICMP attack: %s"
msgstr ""
-#: standalone/net_applet:461
+#: standalone/net_applet:465
#, c-format
msgid "Always blacklist (do not ask again)"
msgstr ""
ver}}; my @old = map { "# nameserver $_\n" } @{$prev{nameserver}}; @new, @old; }; output_with_perm($file, 0644, @search, @nameserver, (map { "# $_\n" } @unknown), "\n# ppp temp entry\n"); #-res_init(); # reinit the resolver so DNS changes take affect 1; } else { log::explanations("neither domain name nor dns server are configured"); 0; } } sub write_interface_conf { my ($file, $intf, $_netc, $_prefix) = @_; require network::ethernet; my (undef, $mac_address) = network::ethernet::get_eth_card_mac_address($intf->{DEVICE}); $intf->{HWADDR} &&= $mac_address; #- set HWADDR to MAC address if required my @ip = split '\.', $intf->{IPADDR}; my @mask = split '\.', $intf->{NETMASK}; add2hash($intf, { BROADCAST => join('.', mapn { int($_[0]) | ((~int($_[1])) & 255) } \@ip, \@mask), NETWORK => join('.', mapn { int($_[0]) & $_[1] } \@ip, \@mask), ONBOOT => bool2yesno(!member($intf->{DEVICE}, map { $_->{device} } detect_devices::pcmcia_probe())), }); defined($intf->{METRIC}) or $intf->{METRIC} = network::tools::get_default_metric(network::tools::get_interface_type($intf)), $intf->{BOOTPROTO} =~ s/dhcp.*/dhcp/; if (local $intf->{WIRELESS_ENC_KEY} = $intf->{WIRELESS_ENC_KEY}) { network::tools::convert_wep_key_for_iwconfig($intf->{WIRELESS_ENC_KEY}); } setVarsInSh($file, $intf, qw(DEVICE BOOTPROTO IPADDR NETMASK NETWORK BROADCAST ONBOOT HWADDR METRIC MII_NOT_SUPPORTED TYPE), qw(WIRELESS_MODE WIRELESS_ESSID WIRELESS_NWID WIRELESS_FREQ WIRELESS_SENS WIRELESS_RATE WIRELESS_ENC_KEY WIRELESS_RTS WIRELESS_FRAG WIRELESS_IWCONFIG WIRELESS_IWSPY WIRELESS_IWPRIV), if_($intf->{BOOTPROTO} eq "dhcp", qw(DHCP_HOSTNAME NEEDHOSTNAME)), if_($intf->{DEVICE} =~ /^ippp\d+$/, qw(DIAL_ON_IFUP)) ); substInFile { s/^DEVICE='(`.*`)'/DEVICE=$1/g } $file; #- remove quotes if DEVICE is the result of a command chmod $intf->{WIRELESS_ENC_KEY} ? 0700 : 0755, $file; #- hide WEP key for non-root users log::explanations("written $intf->{DEVICE} interface configuration in $file"); } sub add2hosts { my ($file, $hostname, @ips) = @_; my ($sub_hostname) = $hostname =~ /(.*?)\./; my %l; foreach (cat_($file)) { my ($ip, $aliases) = /^\s*(\S+)\s+(\S+.*)$/ or next; push @{$l{$ip}}, difference2([ split /\s+/, $aliases ], [ $hostname, $sub_hostname ]); } cat_($file); push @{$l{$_}}, $hostname, if_($sub_hostname, $sub_hostname) foreach grep { $_ } @ips; log::explanations("writing host information to $file"); output($file, map { "$_\t\t" . join(" ", @{$l{$_}}) . "\n" } keys %l); } # The interface/gateway needs to be configured before this will work! sub guessHostname { my ($_prefix, $netc, $intf) = @_; $intf->{isUp} && dnsServers($netc) or return 0; $netc->{HOSTNAME} && $netc->{DOMAINNAME} and return 1; write_resolv_conf("$::prefix/etc/resolv.conf", $netc); my $name = gethostbyaddr(Socket::inet_aton($intf->{IPADDR}), Socket::AF_INET()) or log::explanations("reverse name lookup failed"), return 0; log::explanations("reverse name lookup worked"); add2hash($netc, { HOSTNAME => $name }); 1; } sub addDefaultRoute { my ($netc) = @_; c::addDefaultRoute($netc->{GATEWAY}) if $netc->{GATEWAY}; } sub sethostname { my ($netc) = @_; my $text; syscall_("sethostname", $netc->{HOSTNAME}, length $netc->{HOSTNAME}) ? ($text="set sethostname to $netc->{HOSTNAME}") : ($text="sethostname failed: $!"); log::explanations($text); if (!$::isInstall) { run_program::run("/usr/bin/run-parts", "--arg", $netc->{HOSTNAME}, "/etc/sysconfig/network-scripts/hostname.d"); } } sub resolv($) { my ($name) = @_; is_ip($name) and return $name; my $a = join(".", unpack "C4", (gethostbyname $name)[4]); #-log::explanations("resolved $name in $a"); $a; } sub dnsServers { my ($netc) = @_; my %used_dns; @used_dns{$netc->{dnsServer}, $netc->{dnsServer2}, $netc->{dnsServer3}} = (1, 2, 3); sort { $used_dns{$a} <=> $used_dns{$b} } grep { $_ } keys %used_dns; } sub findIntf { my ($intf, $device) = @_; $intf->{$device}{DEVICE} = undef; $intf->{$device}; } my $ip_regexp = qr/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/; sub is_ip { my ($ip) = @_; my @fields = $ip =~ $ip_regexp or return; every { 0 <= $_ && $_ <= 255 } @fields or return; @fields; } sub ip_compare { my ($ip1, $ip2) = @_; my (@ip1_fields) = $ip1 =~ $ip_regexp; my (@ip2_fields) = $ip2 =~ $ip_regexp; every { $ip1_fields[$_] eq $ip2_fields[$_] } (0 .. 3); } sub is_ip_forbidden { my ($ip) = @_; my @forbidden = ('127.0.0.1', '255.255.255.255'); any { ip_compare($ip, $_) } @forbidden; } sub is_domain_name { my ($name) = @_; my @fields = split /\./, $name; $name !~ /\.$/ && @fields > 0 && @fields == grep { /^[[:alnum:]](?:[\-[:alnum:]]{0,61}[[:alnum:]])?$/ } @fields; } sub netmask { my ($ip) = @_; return "255.255.255.0" unless is_ip($ip); $ip =~ $ip_regexp or warn "IP_regexp failed\n" and return "255.255.255.0"; if ($1 >= 1 && $1 < 127) { "255.0.0.0"; #-1.0.0.0 to 127.0.0.0 } elsif ($1 >= 128 && $1 <= 191) { "255.255.0.0"; #-128.0.0.0 to 191.255.0.0 } elsif ($1 >= 192 && $1 <= 223) { "255.255.255.0"; } else { "255.255.255.255"; #-experimental classes } } sub masked_ip { my ($ip) = @_; my @ip = is_ip($ip) or return ''; my @mask = netmask($ip) =~ $ip_regexp; for (my $i = 0; $i < @ip; $i++) { $ip[$i] &= int $mask[$i]; } join(".", @ip); } sub dns { my ($ip) = @_; my @masked = masked_ip($ip) =~ $ip_regexp; $masked[3] = 2; join(".", @masked); } sub gateway { my ($ip) = @_; my @masked = masked_ip($ip) =~ $ip_regexp; $masked[3] = 1; join(".", @masked); } sub miscellaneous_choose { my ($in, $u) = @_; $in->ask_from('', N("Proxies configuration"), [ { label => N("HTTP proxy"), val => \$u->{http_proxy} }, { label => N("FTP proxy"), val => \$u->{ftp_proxy} }, ], complete => sub { $u->{http_proxy} =~ m,^($|http://), or $in->ask_warn('', N("Proxy should be http://...")), return 1,0; $u->{ftp_proxy} =~ m,^($|ftp://|http://), or $in->ask_warn('', N("URL should begin with 'ftp:' or 'http:'")), return 1,1; 0; } ) or return; 1; } sub proxy_configure { my ($u) = @_; setExportedVarsInSh("$::prefix/etc/profile.d/proxy.sh", $u, qw(http_proxy ftp_proxy)); chmod 0755, "$::prefix/etc/profile.d/proxy.sh"; setExportedVarsInCsh("$::prefix/etc/profile.d/proxy.csh", $u, qw(http_proxy ftp_proxy)); chmod 0755, "$::prefix/etc/profile.d/proxy.csh"; #- KDE proxy settings my $kde_config_file = "$::prefix/usr/share/config/kioslaverc"; update_gnomekderc($kde_config_file, undef, PersistentProxyConnection => "false" ); update_gnomekderc($kde_config_file, "Proxy Settings", AuthMode => 0, ProxyType => $u->{http_proxy} || $u->{ftp_proxy} ? 4 : 0, ftpProxy => "ftp_proxy", httpProxy => "http_proxy", httpsProxy => "http_proxy" ); #- Gnome proxy settings if (-d "$::prefix/etc/gconf/2/") { my $defaults_dir = "/etc/gconf/gconf.xml.local-defaults"; my $p_defaults_dir = "$::prefix$defaults_dir"; my $p_defaults_path = "$::prefix/etc/gconf/2/local-defaults.path"; -r $p_defaults_path or output_with_perm($p_defaults_path, 0755, qq( # System local settings xml:readonly:$defaults_dir )); -d $p_defaults_dir or mkdir $p_defaults_dir, 0755; my $use_alternate_proxy; my $gconf_set = sub { my ($key, $type, $value) = @_; #- gconftool-2 is available since /etc/gconf/2/ exists system("gconftool-2", "--config-source=xml::$p_defaults_dir", "--direct", "--set", "--type=$type", $key, $value); }; #- http proxy if (my ($user, $password, $host, $port) = $u->{http_proxy} =~ m,^http://(?:([^:\@]+)(?::([^:\@]+))?\@)?([^\:]+)(?::(\d+))?$,) { $port ||= 80; $gconf_set->("/system/http_proxy/use_http_proxy", "bool", 1); $gconf_set->("/system/http_proxy/host", "string", $host); $gconf_set->("/system/http_proxy/port", "int", $port); $gconf_set->("/system/http_proxy/use_authentication", "bool", to_bool($user)); $user and $gconf_set->("/system/http_proxy/authentication_user", "string", $user); $password and $gconf_set->("/system/http_proxy/authentication_password", "string", $password); #- https proxy (ssl) $gconf_set->("/system/proxy/secure_host", "string", $host); $gconf_set->("/system/proxy/secure_port", "int", $port); $use_alternate_proxy = 1; } else { $gconf_set->("/system/http_proxy/use_http_proxy", "bool", 0); #- clear the ssl host so that it isn't used if the manual proxy is activated for ftp $gconf_set->("/system/proxy/secure_host", "string", ""); } #- ftp proxy if (my ($host, $port) = $u->{ftp_proxy} =~ m,^(?:http|ftp)://(?:[^:\@]+(?::[^:\@]+)?\@)?([^\:]+)(?::(\d+))?$,) { $port ||= 21; $gconf_set->("/system/proxy/mode", "string", "manual"); $gconf_set->("/system/proxy/ftp_host", "string", $host); $gconf_set->("/system/proxy/ftp_port", "int", $port); $use_alternate_proxy = 1; } else { #- clear the ftp host so that it isn't used if the manual proxy is activated for ssl $gconf_set->("/system/proxy/ftp_host", "string", ""); } #- set proxy mode to manual if either https or ftp is used $gconf_set->("/system/proxy/mode", "string", $use_alternate_proxy ? "manual" : "none"); #- make gconf daemons reload their settings system("killall -s HUP gconfd-2"); } } sub read_all_conf { my ($_prefix, $netc, $intf, $o_netcnx) = @_; $netc ||= {}; $intf ||= {}; my $netcnx = $o_netcnx || {}; add2hash($netc, read_conf("$::prefix/etc/sysconfig/network")) if -r "$::prefix/etc/sysconfig/network"; add2hash($netc, read_resolv_conf()); add2hash($netc, read_tmdns_conf()); foreach (all("$::prefix/etc/sysconfig/network-scripts")) { my ($device) = /^ifcfg-([A-Za-z0-9.:]+)$/; next if $device =~ /.rpmnew$|.rpmsave$/; if ($device && $device ne 'lo') { my $intf = findIntf($intf, $device); add2hash($intf, { getVarsFromSh("$::prefix/etc/sysconfig/network-scripts/$_") }); $intf->{DEVICE} ||= $device; $intf->{WIRELESS_ENC_KEY} = network::tools::get_wep_key_from_iwconfig($intf->{WIRELESS_ENC_KEY}); } } if (my $default_intf = network::tools::get_default_gateway_interface($netc, $intf)) { $netcnx->{type} ||= network::tools::get_interface_type($intf->{$default_intf}); } } #- FIXME: this is buggy, use network::tools::get_default_gateway_interface sub probe_netcnx_type { my ($_prefix, $_netc, $intf, $netcnx) = @_; #- try to probe $netcnx->{type} which is used almost everywhere. unless ($netcnx->{type}) { #- ugly hack to determine network type (avoid saying not configured in summary). -e "$::prefix/etc/ppp/peers/adsl" and $netcnx->{type} ||= 'adsl'; # enough ? -e "$::prefix/etc/ppp/ioptions1B" || -e "$::prefix/etc/ppp/ioptions2B" and $netcnx->{type} ||= 'isdn'; # enough ? $intf->{ppp0} and $netcnx->{type} ||= 'modem'; $intf->{eth0} and $netcnx->{type} ||= 'lan'; } } sub easy_dhcp { my ($modules_conf, $netc, $intf) = @_; return if text2bool($netc->{NETWORKING}); require modules; require network::ethernet; modules::load_category($modules_conf, list_modules::ethernet_categories()); my @all_dev = sort map { $_->[0] } network::ethernet::get_eth_cards($modules_conf); #- only for a single ethernet network card my @ether_dev = grep { /^eth[0-9]+$/ && `LC_ALL= LANG= $::prefix/sbin/ip -o link show $_ 2>/dev/null` =~ m|\slink/ether\s| } @all_dev; @ether_dev == 1 or return; my $dhcp_intf = $ether_dev[0]; log::explanations("easy_dhcp: found $dhcp_intf"); put_in_hash($netc, { NETWORKING => "yes", DHCP => "yes", NET_DEVICE => $dhcp_intf, NET_INTERFACE => $dhcp_intf, }); $intf->{$dhcp_intf} ||= {}; put_in_hash($intf->{$dhcp_intf}, { DEVICE => $dhcp_intf, BOOTPROTO => 'dhcp', NETMASK => '255.255.255.0', ONBOOT => 'yes' }); 1; } sub wpa_supplicant_add_network { my ($new_network) = @_; my $wpa_supplicant_conf = "$::prefix/etc/wpa_supplicant.conf"; my $s; my %network; foreach (cat_($wpa_supplicant_conf)) { if (%network) { #- in a "network = {}" block if (/^\s*(\w+)\s*=\s*(.*?)(\s*#.*)?$/) { push @{$network{entries}}, { key => $1, value => $2, comment => $3 }; $1 eq 'ssid' and $network{ssid} = $2; } elsif (/^*\}/) { #- end of network block, write it $s .= "network = { $network{comment}\n"; my $update = $network{ssid} eq $new_network->{ssid}; foreach (@{$network{entries}}) { my $key = $_->{key}; if ($update) { #- do not write entry if not provided in the new network exists $new_network->{$key} or next; #- update value from the new network $_->{value} = delete $new_network->{$key}; } if ($key) { $s .= " $key = $_->{value}$_->{comment}\n"; } else { $s .= " $_->{comment}\n"; } } if ($update) { while (my ($key, $value) = each(%$new_network)) { $s .= " $key = $value\n"; } } $s .= "}\n"; undef %network; $update and undef $new_network; } else { #- unrecognized, keep it anyway push @{$network{entries}}, { comment => $_ }; } } else { if (/^\s*network\s*=\s*\{(.*)/) { #- beginning of a new network block $network{comment} = $1; } else { #- keep other options, comments $s .= $_; } } } if ($new_network) { #- network wasn't found, write it $s .= "\nnetwork = {\n"; #- write ssid first if (my $ssid = delete $new_network->{ssid}) { $s .= " ssid = $ssid\n"; } while (my ($key, $value) = each(%$new_network)) { $s .= " $key = $value\n"; } $s .= "}\n"; } output($wpa_supplicant_conf, $s); } #- configureNetwork2 : configure the network interfaces. #- input #- $prefix #- $netc #- $intf #- $netc input #- NETWORKING : networking flag : string : "yes" by default #- FORWARD_IPV4 : forward IP flag : string : "false" by default #- HOSTNAME : hostname : string : "localhost.localdomain" by default #- DOMAINNAME : domainname : string : $netc->{HOSTNAME} =~ /\.(.*)/ by default #- DOMAINNAME2 : well it's another domainname : have to look further why we used 2 #- The following are facultatives #- DHCP_HOSTNAME : If you have a dhcp and want to set the hostname #- GATEWAY : gateway #- GATEWAYDEV : gateway interface #- NISDOMAIN : nis domain