Compare commits

...

6 Commits

Author SHA1 Message Date
Benoît Dejean e34f38d3fc Released 2.19.5.
svn path=/trunk/; revision=2621
2007-07-09 19:54:17 +00:00
Felix I a207cc1580 updated ta translation
svn path=/trunk/; revision=2620
2007-07-09 11:21:44 +00:00
Takeshi AIHANA b219d3181e Updated Japanese translation.
2007-07-07  Takeshi AIHANA <takeshi.aihana@gmail.com>

        * ja.po: Updated Japanese translation.

svn path=/trunk/; revision=2619
2007-07-07 16:23:51 +00:00
Benoît Dejean bc848239ff Forgot to add these files.
svn path=/trunk/; revision=2618
2007-07-02 15:47:24 +00:00
Benoît Dejean 0285e018f4 Fixe some problems as well as implements procwd and procopenfiles for
2007-07-01  Benoît Dejean  <benoit@placenet.org>

	Fixe some problems as well as implements procwd and procopenfiles
	for FreeBSD using a wrapper around lsof. This same backend should
	also work on kFreeBSD.

	Patch by Joe Marcus Clarke <marcus@freebsd.org>

svn path=/trunk/; revision=2617
2007-07-01 13:21:07 +00:00
Clytie Siddall 01f1e7e955 Updated Vietnamese translation.
svn path=/trunk/; revision=2616
2007-06-27 08:13:35 +00:00
14 changed files with 648 additions and 244 deletions
+8
View File
@@ -1,3 +1,11 @@
9 July 2007: Overview of changes in 2.19.5
==========================================
* linux:
- fixed proc_map for >= 2.6.22
* freebsd:
- implemented procwd and procopenfiles
Joe Marcus Clarke
18 June 2007: Overview of changes in 2.19.4 18 June 2007: Overview of changes in 2.19.4
=========================================== ===========================================
* solaris: * solaris:
+1 -1
View File
@@ -4,7 +4,7 @@ dnl
m4_define([libgtop_major_version], [2]) m4_define([libgtop_major_version], [2])
m4_define([libgtop_minor_version], [19]) m4_define([libgtop_minor_version], [19])
m4_define([libgtop_micro_version], [4]) m4_define([libgtop_micro_version], [5])
m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version]) m4_define([libgtop_version], [libgtop_major_version.libgtop_minor_version.libgtop_micro_version])
dnl increment if the interface has additions, changes, removals. dnl increment if the interface has additions, changes, removals.
+12
View File
@@ -1,3 +1,15 @@
2007-07-09 I. Felix <ifelix@svn.gnome.org>
* ta.po: Tamil Translation updated by Tirumurthi Vasudevan
2007-07-07 Takeshi AIHANA <takeshi.aihana@gmail.com>
* ja.po: Updated Japanese translation.
2007-06-27 Clytie Siddall <clytie@riverland.net.au>
* vi.po: Updated Vietnamese translation.
2007-06-23 Kjartan Maraas <kmaraas@gnome.org> 2007-06-23 Kjartan Maraas <kmaraas@gnome.org>
* nb.po: Updated Norwegian bokmål translation. * nb.po: Updated Norwegian bokmål translation.
+63 -79
View File
@@ -1,208 +1,192 @@
# libgtop ja.po. # libgtop ja.po.
# Copyright (C) 1998,2000,2002-2005 Free Software Foundation, Inc. # Copyright (C) 1998,2000,2002-2007 Free Software Foundation, Inc.
# Eiichiro ITANI <emu@ceres.dti.ne.jp>, 1998 # Eiichiro ITANI <emu@ceres.dti.ne.jp>, 1998
# Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2000, 2002. # Takayuki KUSANO <AE5T-KSN@asahi-net.or.jp>, 2000, 2002.
# Yukihiro Nakai <nakai@gnome.gr.jp>, 2000. # Yukihiro Nakai <nakai@gnome.gr.jp>, 2000.
# KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>, 2003. # KAMAGASAKO Masatoshi <emerald@gnome.gr.jp>, 2003.
# Takeshi AIHANA <aihana@gnome.gr.jp>, 2004,2005. # Takeshi AIHANA <takeshi.aihana@gmail.com>, 2004-2007.
# #
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: libgtop HEAD\n" "Project-Id-Version: libgtop trunk\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2006-10-30 01:37+0900\n" "POT-Creation-Date: 2007-07-08 01:03+0900\n"
"PO-Revision-Date: 2006-10-30 01:38+0900\n" "PO-Revision-Date: 2007-07-08 01:03+0900\n"
"Last-Translator: Satoru SATOH <ss@gnome.gr.jp>\n" "Last-Translator: Takeshi AIHANA <takeshi.aihana@gmail.com>\n"
"Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n" "Language-Team: Japanese <gnome-translation@gnome.gr.jp>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../lib/read.c:65 #: ../lib/read.c:51
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "%d バイト読み込み" msgstr[0] " %dバイト読み込み"
msgstr[1] " %dバイト読み込み"
#: ../lib/read_data.c:53 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "データの読み込みサイズ" msgstr "データの読み込みサイズ"
#: ../lib/read_data.c:72 #: ../lib/read_data.c:70
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "%lu バイトデータの読み込み" msgstr[0] " %luバイトデータの読み込み"
msgstr[1] " %luバイトデータの読み込み"
#: ../lib/write.c:53 #: ../lib/write.c:51
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "%d バイトの書き込み" msgstr[0] " %dバイトの書き込み"
msgstr[1] " %dバイトの書き込み"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:458
msgid "Enable debugging" msgid "Enable debugging"
msgstr "デバッグを有効にする" msgstr "デバッグを有効にする"
#: ../src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "DEBUG"
#: ../src/daemon/gnuserv.c:462
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "詳細な出力にする" msgstr "詳細な出力にする"
#: ../src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "VERBOSE"
#: ../src/daemon/gnuserv.c:464
msgid "Don't fork into background" msgid "Don't fork into background"
msgstr "子プロセスをバックグラウンドに回さない" msgstr "子プロセスをバックグラウンドに回さない"
#: ../src/daemon/gnuserv.c:464 #: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON"
#: ../src/daemon/gnuserv.c:466
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "`inetd` から起動する" msgstr "`inetd` から起動する"
#: ../src/daemon/gnuserv.c:466 #: ../src/daemon/gnuserv.c:498
msgid "INETD"
msgstr "INETD"
#: ../src/daemon/gnuserv.c:500
#, c-format #, c-format
msgid "" msgid "Run '%s --help' to see a full list of available command line options.\n"
"Error on option %s: %s.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr "" msgstr ""
"オプション%sでエラー: %s\n" "利用可能なコマンド・ラインのオプション一覧を表示する場合は '%s --help' を実行"
"コマンドラインオプションに使えるもの一覧を見るには'%s --help'を実行してくださ" "して下さい\n"
"い。\n"
#: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29 #: ../sysdeps/osf1/siglist.c:27 ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "ハングアップ" msgstr "ハングアップ"
#: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:28 ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "インタラプト" msgstr "インタラプト"
#: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:29 ../sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "終了" msgstr "終了"
#: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:30 ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "不正なインストラクション" msgstr "不正なインストラクション"
#: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:31 ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "トレーストラップ" msgstr "トレーストラップ"
#: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:32 ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "終了" msgstr "停止"
#: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:33 ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMTエラー" msgstr "EMT エラー"
#: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:34 ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "浮動小数点例外" msgstr "浮動小数点例外"
#: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:35 ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "kill" msgstr "強制終了"
#: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:36 ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "バスエラー" msgstr "バスエラー"
#: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:37 ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "セグメンテーションバイオレーション" msgstr "セグメンテーションバイオレーション"
#: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:38 ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "システムコールの引数が誤っています" msgstr "システムコールの引数が誤っています"
#: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:39 ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "パイプ破壊" msgstr "パイプ破壊"
#: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:40 ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "アラームクロック" msgstr "アラームクロック"
#: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43 #: ../sysdeps/osf1/siglist.c:41 ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "ターミネーション" msgstr "ターミネーション"
#: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44 #: ../sysdeps/osf1/siglist.c:42 ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "ソケットの緊急状態" msgstr "ソケットの緊急状態"
#: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45 #: ../sysdeps/osf1/siglist.c:43 ../sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "ストップ" msgstr "ストップ"
#: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:44 ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "キーボードストップ" msgstr "キーボード停止"
#: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:45 ../sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "コンティニュー" msgstr "コンティニュー"
#: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48 #: ../sysdeps/osf1/siglist.c:46 ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "子プロセス状態が変更された" msgstr "子プロセス状態が変更された"
#: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:47 ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "ttyからのバックグラウンド読み込み" msgstr "TTY からのバックグラウンド読み込み"
#: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:48 ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "ttyへのバックグラウンド書き込み" msgstr "TTY へのバックグラウンド書き込み"
#: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:49 ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/Oが使用可能" msgstr "I/Oが使用可能"
#: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:50 ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "CPU限界を越えた" msgstr "CPU限界を越えた"
#: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:51 ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "ファイルサイズ限界を越えた" msgstr "ファイルサイズ限界を越えた"
#: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54 #: ../sysdeps/osf1/siglist.c:52 ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "仮想アラームクロック" msgstr "仮想アラームクロック"
#: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55 #: ../sysdeps/osf1/siglist.c:53 ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "アラームクロックのプロファイル" msgstr "アラームクロックのプロファイル"
#: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56 #: ../sysdeps/osf1/siglist.c:54 ../sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "ウィンドウサイズの変更" msgstr "ウィンドウサイズの変更"
#: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57 #: ../sysdeps/osf1/siglist.c:55 ../sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "情報リクエスト" msgstr "情報リクエスト"
#: ../sysdeps/osf1/siglist.c:58 ../sysdeps/sun4/siglist.c:58 #: ../sysdeps/osf1/siglist.c:56 ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "ユーザ定義シグナル 1" msgstr "ユーザ定義シグナル"
#: ../sysdeps/osf1/siglist.c:59 ../sysdeps/sun4/siglist.c:59 #: ../sysdeps/osf1/siglist.c:57 ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "ユーザ定義シグナル 2" msgstr "ユーザ定義シグナル"
+85 -67
View File
@@ -9,205 +9,223 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: ta\n" "Project-Id-Version: ta\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n" "POT-Creation-Date: 2007-05-14 03:41+0100\n"
"PO-Revision-Date: 2007-04-27 11:03+0530\n" "PO-Revision-Date: 2007-07-08 17:29+0530\n"
"Last-Translator: \n" "Last-Translator: Dr.T.Vasudevan <agnihot3@gmail.com>\n"
"Language-Team: <en@li.org>\n" "Language-Team: <en@li.org>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"0500\n"
"X-Generator: KBabel 1.11.4\n" "X-Generator: KBabel 1.11.4\n"
"Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: Plural-Forms: nplurals=2; plural=(n != 1);\n"
"\n"
#: lib/read.c:65 #: ../lib/read.c:51
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "%d பைட்கள் படி" msgstr[0] "%d பைட்கள் படி"
msgstr[1] "%d பைட்கள் படி" msgstr[1] "%d பைட்கள் படி"
#: lib/read_data.c:53 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "படித்த தகவல் அளவு" msgstr "படித்த தகவல் அளவு"
#: lib/read_data.c:72 #: ../lib/read_data.c:70
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "தரவின் %lu பைட்டை வாசிக்கவும்" msgstr[0] "தரவின் %lu பைட்டை வாசிக்கவும்"
msgstr[1] "தரவின் %lu பைட்டுக்களை வாசிக்கவும்" msgstr[1] "தரவின் %lu பைட்டுக்களை வாசிக்கவும்"
#: lib/write.c:52 #: ../lib/write.c:51
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "எழுதிய %d பைட்" msgstr[0] "எழுதிய %d பைட்"
msgstr[1] "எழுதிய %d பைட்டுகள்" msgstr[1] "எழுதிய %d பைட்டுகள்"
#: src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:458
msgid "Enable debugging" msgid "Enable debugging"
msgstr "பிழை திருத்தலை செயல்படுத்து" msgstr "பிழை திருத்தலை செயல்படுத்து"
#: src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "DEBUG(டீபக்)"
#: src/daemon/gnuserv.c:462
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "வெர்போஸ் விளைவை செயல்படுத்து" msgstr "வெர்போஸ் விளைவை செயல்படுத்து"
#: src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "VERBOSE(வெற்போஸ்)"
#: src/daemon/gnuserv.c:464
msgid "Don't fork into background" msgid "Don't fork into background"
msgstr "பின்னனியை பிளக்காதே" msgstr "பின்னனியை பிளக்காதே"
#: src/daemon/gnuserv.c:464 #: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "NO-DAEMON(நோ-டொமொன்)"
#: src/daemon/gnuserv.c:466
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "inetd லிருந்து செயல்படுத்து" msgstr "inetd லிருந்து செயல்படுத்து"
#: src/daemon/gnuserv.c:466 #: ../src/daemon/gnuserv.c:498
msgid "INETD"
msgstr "INETD(இனிட்டி)"
#: src/daemon/gnuserv.c:500
#, c-format #, c-format
msgid "" msgid "Run '%s --help' to see a full list of available command line options.\n"
"Error on option %s: %s.\n" msgstr "Rus '%s--help' இயக்கி கட்டளைவரி தேர்வுகளை காணவும்.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"தேர்வில் பிழை %s: %s.\n"
"Rus '%s--help' இயக்கி கட்டளைவரி தேர்வுகளை பெற்றுக்கொள்ளவும் \n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 #: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "தொங்கியது" msgstr "தொங்கியது"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 #: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "தடை" msgstr "தடை"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "வெளிச்செல்" msgstr "வெளிச்செல்"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "தவறான செய்தி" msgstr "தவறான செய்தி"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "தடம் காண்" msgstr "தடம் காண்"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "தடைசெய்" msgstr "தடைசெய்"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "EMT பிழை" msgstr "EMT பிழை"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "பின்ன பிழை" msgstr "பின்ன பிழை"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "கொலை செய்" msgstr "கொலை செய்"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "பஸ் பிழை" msgstr "பஸ் பிழை"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "செக்மன்டேஷன் மீறல்" msgstr "செக்மன்டேஷன் மீறல்"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "கணினி அழைப்புக்கு மோசமான அளவுரு" msgstr "கணினி அழைப்புக்கு மோசமான அளவுரு"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "உடைந்த பாதை" msgstr "உடைந்த பாதை"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "அல்லாரம் கடிகாரம்" msgstr "அல்லாரம் கடிகாரம்"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "முடிவு" msgstr "முடிவு"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 #: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "சாக்கெட்டின் அவசர நிலை" msgstr "சாக்கெட்டின் அவசர நிலை"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 #: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "நிறுத்து" msgstr "நிறுத்து"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 #: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "விசைப்பலகை நிறுத்தம்" msgstr "விசைப்பலகை நிறுத்தம்"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "தொடரவும்" msgstr "தொடரவும்"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "சேய்நிலை மாற்றப்பட்டது" msgstr "சேய்நிலை மாற்றப்பட்டது"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 #: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "tty யின் பின்னியில் படி" msgstr "tty யின் பின்னியில் படி"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "tty யின் பின்னியில் எழுது" msgstr "tty யின் பின்னியில் எழுது"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "I/O இப்போது முடியும்" msgstr "I/O இப்போது முடியும்"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "CPU எல்லை கடந்தது" msgstr "CPU எல்லை கடந்தது"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "முழு அளவு எல்லை கடந்தது" msgstr "முழு அளவு எல்லை கடந்தது"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "மெய்நிகர் எச்சரிக்கை கடிகாரம்" msgstr "மெய்நிகர் எச்சரிக்கை கடிகாரம்"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 #: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "எச்சரிக்கை கடிகாத்தின் விவரம்" msgstr "எச்சரிக்கை கடிகாத்தின் விவரம்"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 #: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "சாளர அளவு மாற்றம்" msgstr "சாளர அளவு மாற்றம்"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 #: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "தகவல் கோரிக்கை" msgstr "தகவல் கோரிக்கை"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 #: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 1" msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 1"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 #: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 2" msgstr "பயனீட்டாளர் குறித்த சங்கேதம் 2"
#~ msgid "DEBUG"
#~ msgstr "DEBUG(டீபக்)"
#~ msgid "VERBOSE"
#~ msgstr "VERBOSE(வெற்போஸ்)"
#~ msgid "NO-DAEMON"
#~ msgstr "NO-DAEMON(நோ-டொமொன்)"
#~ msgid "INETD"
#~ msgstr "INETD(இனிட்டி)"
+106 -83
View File
@@ -1,205 +1,228 @@
# Vietnamese translation for libgtop. # Vietnamese translation for libgtop.
# Copyright © 2005 Gnome i18n Project for Vietnamese. # Copyright © 2007 Gnome i18n Project for Vietnamese.
# pclouds <pclouds@gmx.net>, 2002. # Nguyễn Thái Ngọc Duy <pclouds@gmx.net>, 2002.
# Clytie Siddall <clytie@riverland.net.au>, 2005. # Clytie Siddall <clytie@riverland.net.au>, 2005-2007.
# #
msgid "" msgid ""
msgstr "" ""
"Project-Id-Version: libgtop GNOME 2.10\n" msgstr "Project-Id-Version: libgtop GNOME 2.20\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2005-09-25 18:15+0200\n" "POT-Creation-Date: 2007-05-14 03:41+0100\n"
"PO-Revision-Date: 2005-07-01 18:03+0930\n" "PO-Revision-Date: 2007-06-27 17:37+09300\n"
"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n" "Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n" "Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: LocFactoryEditor 1.2.2\n" "X-Generator: LocFactoryEditor 1.6.4a5\n"
#: lib/read.c:65 #: ../lib/read.c:51
#, c-format #, c-format
msgid "read %d byte" msgid "read %d byte"
msgid_plural "read %d bytes" msgid_plural "read %d bytes"
msgstr[0] "đã đọc %d byte" msgstr[0] "đã đọc %d byte"
#: lib/read_data.c:53 #: ../lib/read_data.c:51
msgid "read data size" msgid "read data size"
msgstr "đã đọc kích thước dữ liệu" msgstr "đã đọc kích c dữ liệu"
#: lib/read_data.c:72 #: ../lib/read_data.c:70
#, c-format #, c-format
msgid "read %lu byte of data" msgid "read %lu byte of data"
msgid_plural "read %lu bytes of data" msgid_plural "read %lu bytes of data"
msgstr[0] "đã đọc %lu byte dữ liệu" msgstr[0] "đã đọc %lu byte dữ liệu"
#: lib/write.c:52 #: ../lib/write.c:51
#, c-format #, c-format
msgid "wrote %d byte" msgid "wrote %d byte"
msgid_plural "wrote %d bytes" msgid_plural "wrote %d bytes"
msgstr[0] "đã ghi %d byte" msgstr[0] "đã ghi %d byte"
#: src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:458
msgid "Enable debugging" msgid "Enable debugging"
msgstr "Bật gỡ lỗi" msgstr "Bật khả năng gỡ lỗi"
#: src/daemon/gnuserv.c:460 #: ../src/daemon/gnuserv.c:460
msgid "DEBUG"
msgstr "GỠ LỖI"
#: src/daemon/gnuserv.c:462
msgid "Enable verbose output" msgid "Enable verbose output"
msgstr "Bật xuất chi tiết" msgstr "Bật khả năng xuất chi tiết"
#: src/daemon/gnuserv.c:462 #: ../src/daemon/gnuserv.c:462
msgid "VERBOSE"
msgstr "CHI TIẾT"
#: src/daemon/gnuserv.c:464
msgid "Don't fork into background" msgid "Don't fork into background"
msgstr "Không tạo tiến trình con vào nền" msgstr "Không tạo tiến trình con vào nền"
#: src/daemon/gnuserv.c:464 #: ../src/daemon/gnuserv.c:464
msgid "NO-DAEMON"
msgstr "KHÔNG TRÌNH NỀN"
#: src/daemon/gnuserv.c:466
msgid "Invoked from inetd" msgid "Invoked from inetd"
msgstr "Được gọi từ inetd" msgstr "Được gọi từ inetd"
#: src/daemon/gnuserv.c:466 #: ../src/daemon/gnuserv.c:498
msgid "INETD"
msgstr "INETD"
#: src/daemon/gnuserv.c:500
#, c-format #, c-format
msgid "" msgid "Run '%s --help' to see a full list of available command line options.\n"
"Error on option %s: %s.\n" msgstr "Chạy lệnh « %s --help » để xem danh sách các tùy chọn dòng lệnh sẵn sàng.\n"
"Run '%s --help' to see a full list of available command line options.\n"
msgstr ""
"Lỗi tùy chọn %s: %s.\n"
"Chạy «%s --help» để xem danh sách toàn bộ các tùy chọn có thể.\n"
#: sysdeps/osf1/siglist.c:28 sysdeps/sun4/siglist.c:28 #: ../sysdeps/osf1/siglist.c:27
#: ../sysdeps/sun4/siglist.c:27
msgid "Hangup" msgid "Hangup"
msgstr "Treo máy" msgstr "Treo máy"
#: sysdeps/osf1/siglist.c:29 sysdeps/sun4/siglist.c:29 #: ../sysdeps/osf1/siglist.c:28
#: ../sysdeps/sun4/siglist.c:28
msgid "Interrupt" msgid "Interrupt"
msgstr "Ngắt" msgstr "Ngắt"
#: sysdeps/osf1/siglist.c:30 sysdeps/sun4/siglist.c:30 #: ../sysdeps/osf1/siglist.c:29
#: ../sysdeps/sun4/siglist.c:29
msgid "Quit" msgid "Quit"
msgstr "Thoát" msgstr "Thoát"
#: sysdeps/osf1/siglist.c:31 sysdeps/sun4/siglist.c:31 #: ../sysdeps/osf1/siglist.c:30
#: ../sysdeps/sun4/siglist.c:30
msgid "Illegal instruction" msgid "Illegal instruction"
msgstr "Lệnh bị cấm" msgstr "Lệnh bị cấm"
#: sysdeps/osf1/siglist.c:32 sysdeps/sun4/siglist.c:32 #: ../sysdeps/osf1/siglist.c:31
#: ../sysdeps/sun4/siglist.c:31
msgid "Trace trap" msgid "Trace trap"
msgstr "Bẫy theo vết" msgstr "Bẫy theo vết"
#: sysdeps/osf1/siglist.c:33 sysdeps/sun4/siglist.c:33 #: ../sysdeps/osf1/siglist.c:32
#: ../sysdeps/sun4/siglist.c:32
msgid "Abort" msgid "Abort"
msgstr "Hủy" msgstr "Hủy"
#: sysdeps/osf1/siglist.c:34 sysdeps/sun4/siglist.c:34 #: ../sysdeps/osf1/siglist.c:33
#: ../sysdeps/sun4/siglist.c:33
msgid "EMT error" msgid "EMT error"
msgstr "Lỗi EMT" msgstr "Lỗi EMT"
#: sysdeps/osf1/siglist.c:35 sysdeps/sun4/siglist.c:35 #: ../sysdeps/osf1/siglist.c:34
#: ../sysdeps/sun4/siglist.c:34
msgid "Floating-point exception" msgid "Floating-point exception"
msgstr "Ngoại lệ điểm phù động" msgstr "Ngoại lệ điểm phù động"
#: sysdeps/osf1/siglist.c:36 sysdeps/sun4/siglist.c:36 #: ../sysdeps/osf1/siglist.c:35
#: ../sysdeps/sun4/siglist.c:35
msgid "Kill" msgid "Kill"
msgstr "Buộc chấm dứt" msgstr "Buộc chấm dứt"
#: sysdeps/osf1/siglist.c:37 sysdeps/sun4/siglist.c:37 #: ../sysdeps/osf1/siglist.c:36
#: ../sysdeps/sun4/siglist.c:36
msgid "Bus error" msgid "Bus error"
msgstr "Lỗi Bus" msgstr "Lỗi mạch"
#: sysdeps/osf1/siglist.c:38 sysdeps/sun4/siglist.c:38 #: ../sysdeps/osf1/siglist.c:37
#: ../sysdeps/sun4/siglist.c:37
msgid "Segmentation violation" msgid "Segmentation violation"
msgstr "Vi phạm phân đoạn" msgstr "Vi phạm phân đoạn"
#: sysdeps/osf1/siglist.c:39 sysdeps/sun4/siglist.c:39 #: ../sysdeps/osf1/siglist.c:38
#: ../sysdeps/sun4/siglist.c:38
msgid "Bad argument to system call" msgid "Bad argument to system call"
msgstr "Đối số sai với lời gọi hệ thống" msgstr "Đối số sai với cuộc gọi hệ thống"
#: sysdeps/osf1/siglist.c:40 sysdeps/sun4/siglist.c:40 #: ../sysdeps/osf1/siglist.c:39
#: ../sysdeps/sun4/siglist.c:39
msgid "Broken pipe" msgid "Broken pipe"
msgstr "Ống dẫn bị gãy" msgstr "Ống dẫn bị ngắt"
#: sysdeps/osf1/siglist.c:41 sysdeps/sun4/siglist.c:41 #: ../sysdeps/osf1/siglist.c:40
#: ../sysdeps/sun4/siglist.c:40
msgid "Alarm clock" msgid "Alarm clock"
msgstr "Đồng hồ báo động" msgstr "Đồng hồ báo động"
#: sysdeps/osf1/siglist.c:42 sysdeps/sun4/siglist.c:42 #: ../sysdeps/osf1/siglist.c:41
#: ../sysdeps/sun4/siglist.c:41
msgid "Termination" msgid "Termination"
msgstr "Kết thúc" msgstr "Kết thúc"
#: sysdeps/osf1/siglist.c:43 sysdeps/sun4/siglist.c:43 #: ../sysdeps/osf1/siglist.c:42
#: ../sysdeps/sun4/siglist.c:42
msgid "Urgent condition on socket" msgid "Urgent condition on socket"
msgstr "Hoàn cảnh khẩn trên ổ cắm" msgstr "Hoàn cảnh khẩn trên ổ cắm"
#: sysdeps/osf1/siglist.c:44 sysdeps/sun4/siglist.c:44 #: ../sysdeps/osf1/siglist.c:43
#: ../sysdeps/sun4/siglist.c:43
msgid "Stop" msgid "Stop"
msgstr "Dừng" msgstr "Dừng"
#: sysdeps/osf1/siglist.c:45 sysdeps/sun4/siglist.c:45 #: ../sysdeps/osf1/siglist.c:44
#: ../sysdeps/sun4/siglist.c:44
msgid "Keyboard stop" msgid "Keyboard stop"
msgstr "Dừng bàn phím" msgstr "Dừng bàn phím"
#: sysdeps/osf1/siglist.c:46 sysdeps/sun4/siglist.c:46 #: ../sysdeps/osf1/siglist.c:45
#: ../sysdeps/sun4/siglist.c:45
msgid "Continue" msgid "Continue"
msgstr "Tiếp tục" msgstr "Tiếp tục"
#: sysdeps/osf1/siglist.c:47 sysdeps/sun4/siglist.c:47 #: ../sysdeps/osf1/siglist.c:46
#: ../sysdeps/sun4/siglist.c:46
msgid "Child status has changed" msgid "Child status has changed"
msgstr "Trạng thái tiến trình con đã thay đổi" msgstr "Trạng thái tiến trình con đã thay đổi"
#: sysdeps/osf1/siglist.c:48 sysdeps/sun4/siglist.c:48 #: ../sysdeps/osf1/siglist.c:47
#: ../sysdeps/sun4/siglist.c:47
msgid "Background read from tty" msgid "Background read from tty"
msgstr "Đọc từ tty (chế độ nền)" msgstr "Đọc từ tty (chế độ nền)"
#: sysdeps/osf1/siglist.c:49 sysdeps/sun4/siglist.c:49 #: ../sysdeps/osf1/siglist.c:48
#: ../sysdeps/sun4/siglist.c:48
msgid "Background write to tty" msgid "Background write to tty"
msgstr "Ghi vào tty (chế độ nền)" msgstr "Ghi vào tty (chế độ nền)"
#: sysdeps/osf1/siglist.c:50 sysdeps/sun4/siglist.c:50 #: ../sysdeps/osf1/siglist.c:49
#: ../sysdeps/sun4/siglist.c:49
msgid "I/O now possible" msgid "I/O now possible"
msgstr "mới có thể dùng gõ/xuất" msgstr "giờ có thể dùng Vào/Ra"
#: sysdeps/osf1/siglist.c:51 sysdeps/sun4/siglist.c:51 #: ../sysdeps/osf1/siglist.c:50
#: ../sysdeps/sun4/siglist.c:50
msgid "CPU limit exceeded" msgid "CPU limit exceeded"
msgstr "Vượt quá giới hạn CPU" msgstr "Vượt quá giới hạn CPU"
#: sysdeps/osf1/siglist.c:52 sysdeps/sun4/siglist.c:52 #: ../sysdeps/osf1/siglist.c:51
#: ../sysdeps/sun4/siglist.c:51
msgid "File size limit exceeded" msgid "File size limit exceeded"
msgstr "Vượt quá giới hạn kích thước tập tin" msgstr "Vượt quá giới hạn kích c tập tin"
#: sysdeps/osf1/siglist.c:53 sysdeps/sun4/siglist.c:53 #: ../sysdeps/osf1/siglist.c:52
#: ../sysdeps/sun4/siglist.c:52
msgid "Virtual alarm clock" msgid "Virtual alarm clock"
msgstr "Đồng hồ báo động ảo" msgstr "Đồng hồ báo động ảo"
#: sysdeps/osf1/siglist.c:54 sysdeps/sun4/siglist.c:54 #: ../sysdeps/osf1/siglist.c:53
#: ../sysdeps/sun4/siglist.c:53
msgid "Profiling alarm clock" msgid "Profiling alarm clock"
msgstr "Lấy thông tin về đồng hồ bảo động" msgstr "Đồng hồ bảo động đo hiệu suất"
#: sysdeps/osf1/siglist.c:55 sysdeps/sun4/siglist.c:55 #: ../sysdeps/osf1/siglist.c:54
#: ../sysdeps/sun4/siglist.c:54
msgid "Window size change" msgid "Window size change"
msgstr "Thay đổi kích thước cửa sổ" msgstr "Thay đổi kích c cửa sổ"
#: sysdeps/osf1/siglist.c:56 sysdeps/sun4/siglist.c:56 #: ../sysdeps/osf1/siglist.c:55
#: ../sysdeps/sun4/siglist.c:55
msgid "Information request" msgid "Information request"
msgstr "Yêu cầu thông tin" msgstr "Yêu cầu thông tin"
#: sysdeps/osf1/siglist.c:57 sysdeps/sun4/siglist.c:57 #: ../sysdeps/osf1/siglist.c:56
#: ../sysdeps/sun4/siglist.c:56
msgid "User defined signal 1" msgid "User defined signal 1"
msgstr "Tín hiệu do người dùng định nghĩa 1" msgstr "Tín hiệu do người dùng xác định 1"
#: sysdeps/osf1/siglist.c:58 sysdeps/sun4/siglist.c:58 #: ../sysdeps/osf1/siglist.c:57
#: ../sysdeps/sun4/siglist.c:57
msgid "User defined signal 2" msgid "User defined signal 2"
msgstr "Tín hiệu do người dùng định nghĩa 2" msgstr "Tín hiệu do người dùng xác định 2"
#~ msgid "DEBUG"
#~ msgstr "GỠ LỖI"
#~ msgid "VERBOSE"
#~ msgstr "CHI TIẾT"
#~ msgid "NO-DAEMON"
#~ msgstr "KHÔNG TRÌNH NỀN"
#~ msgid "INETD"
#~ msgstr "INETD"
+8
View File
@@ -1,3 +1,11 @@
2007-07-01 Benoît Dejean <benoit@placenet.org>
Fixe some problems as well as implements procwd and procopenfiles
for FreeBSD using a wrapper around lsof. This same backend should
also work on kFreeBSD.
Patch by Joe Marcus Clarke <marcus@freebsd.org>
2007-02-18 Benoît Dejean <benoit@placenet.org> 2007-02-18 Benoît Dejean <benoit@placenet.org>
* AUTHORS: * AUTHORS:
+5 -3
View File
@@ -5,7 +5,9 @@ noinst_LTLIBRARIES = libgtop_sysdeps-2.0.la libgtop_sysdeps_suid-2.0.la
libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c sysinfo.c shm_limits.c \ libgtop_sysdeps_2_0_la_SOURCES = nosuid.c siglist.c sysinfo.c shm_limits.c \
cpu.c msg_limits.c sem_limits.c loadavg.c \ cpu.c msg_limits.c sem_limits.c loadavg.c \
uptime.c netlist.c fsusage.c mem.c uptime.c netlist.c fsusage.c mem.c \
procopenfiles.c procwd.c \
glibtop_private.c
libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO) libgtop_sysdeps_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
@@ -14,11 +16,11 @@ libgtop_sysdeps_suid_2_0_la_SOURCES = open.c close.c swap.c \
proclist.c procstate.c procuid.c \ proclist.c procstate.c procuid.c \
proctime.c procmem.c procsignal.c \ proctime.c procmem.c procsignal.c \
prockernel.c procsegment.c procargs.c \ prockernel.c procsegment.c procargs.c \
procmap.c netload.c ppp.c procopenfiles.c procmap.c netload.c ppp.c
libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO) libgtop_sysdeps_suid_2_0_la_LDFLAGS = $(LT_VERSION_INFO)
libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h \ libgtopinclude_HEADERS = glibtop_server.h glibtop_machine.h \
glibtop_suid.h glibtop_suid.h glibtop_private.h
libgtopincludedir = $(includedir)/libgtop-2.0 libgtopincludedir = $(includedir)/libgtop-2.0
+54
View File
@@ -0,0 +1,54 @@
#include <config.h>
#include <glibtop.h>
#include <glibtop/error.h>
#include "glibtop_private.h"
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <glib.h>
#include <errno.h>
char *
execute_lsof(pid_t pid) {
char *output = NULL;
char *lsof;
char *command;
int exit_status;
lsof = g_find_program_in_path("lsof");
if (lsof == NULL)
return NULL;
command = g_strdup_printf("%s -n -P -Fftn -p %d", lsof, pid);
g_free(lsof);
if (g_spawn_command_line_sync (command, &output, NULL, &exit_status, NULL)) {
if (exit_status != 0) {
g_warning("Could not execute \"%s\" (%i)", command,
exit_status);
output = NULL;
}
}
g_free(command);
return output;
}
/* Ported from linux/glibtop_private.c */
gboolean
safe_readlink(const char *path, char *buf, int bufsiz)
{
int ret;
ret = readlink(path, buf, bufsiz - 1);
if (ret == -1) {
g_warning("Could not read link %s : %s", path, strerror(errno));
return FALSE;
}
buf[ret] = '\0';
return TRUE;
}
+40
View File
@@ -0,0 +1,40 @@
/* Copyright (C) 2007 Joe Marcus Clarke
This file is part of LibGTop 2.0.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#ifndef __FREEBSD__GLIBTOP_PRIVATE_H__
#define __FREEBSD__GLIBTOP_PRIVATE_H__
#include <glibtop.h>
#include <glibtop/error.h>
#include <glib.h>
#include <sys/types.h>
#include <unistd.h>
#include <string.h>
#include <errno.h>
G_BEGIN_DECLS
char *execute_lsof(pid_t pid);
gboolean safe_readlink(const char *path, char *buf, int bufsiz);
G_END_DECLS
#endif /* __FREEBSD__GLIBTOP_PRIVATE_H__ */
+1
View File
@@ -45,6 +45,7 @@ G_BEGIN_DECLS
#define GLIBTOP_SUID_MSG_LIMITS 0 #define GLIBTOP_SUID_MSG_LIMITS 0
#define GLIBTOP_SUID_SEM_LIMITS 0 #define GLIBTOP_SUID_SEM_LIMITS 0
#define GLIBTOP_SUID_NETLIST 0 #define GLIBTOP_SUID_NETLIST 0
#define GLIBTOP_SUID_PROC_WD 0
G_END_DECLS G_END_DECLS
+8 -8
View File
@@ -40,7 +40,7 @@ static const unsigned long _glibtop_sysdeps_proclist =
* buf->flags is only set if the call succeeded, in this case pids_chain, * buf->flags is only set if the call succeeded, in this case pids_chain,
* a list of the pids of all currently running processes is returned, * a list of the pids of all currently running processes is returned,
* buf->number is the number of elements of this list and buf->size is * buf->number is the number of elements of this list and buf->size is
* the size of one single element (sizeof (unsigned)). The total size is * the size of one single element (sizeof (pid_t)). The total size is
* stored in buf->total. * stored in buf->total.
* *
* The calling function has to free the memory to which a pointer is returned. * The calling function has to free the memory to which a pointer is returned.
@@ -61,7 +61,7 @@ _glibtop_init_proclist_p (glibtop *server)
server->sysdeps.proclist = _glibtop_sysdeps_proclist; server->sysdeps.proclist = _glibtop_sysdeps_proclist;
} }
unsigned * pid_t *
glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf, glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
gint64 which, gint64 arg) gint64 which, gint64 arg)
{ {
@@ -90,18 +90,18 @@ glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
len /= sizeof (struct kinfo_proc); len /= sizeof (struct kinfo_proc);
pids = g_array_sized_new (FALSE, FALSE, sizeof (unsigned), len); pids = g_array_sized_new (FALSE, FALSE, sizeof (pid_t), len);
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
unsigned pid; pid_t pid;
pid = (unsigned) pinfo[i].ki_pid; pid = (pid_t) pinfo[i].ki_pid;
switch (which & GLIBTOP_KERN_PROC_MASK) { switch (which & GLIBTOP_KERN_PROC_MASK) {
case GLIBTOP_KERN_PROC_ALL: case GLIBTOP_KERN_PROC_ALL:
break; break;
case GLIBTOP_KERN_PROC_PID: case GLIBTOP_KERN_PROC_PID:
if ((unsigned) arg != pid) if ((pid_t) arg != pid)
continue; continue;
break; break;
case GLIBTOP_KERN_PROC_UID: case GLIBTOP_KERN_PROC_UID:
@@ -144,9 +144,9 @@ glibtop_get_proclist_p (glibtop *server, glibtop_proclist *buf,
g_free (pinfo); g_free (pinfo);
buf->flags = _glibtop_sysdeps_proclist; buf->flags = _glibtop_sysdeps_proclist;
buf->size = sizeof (unsigned); buf->size = sizeof (pid_t);
buf->number = pids->len; buf->number = pids->len;
buf->total = buf->number * buf->size; buf->total = buf->number * buf->size;
return (unsigned *) g_array_free (pids, FALSE); return (pid_t *) g_array_free (pids, FALSE);
} }
+136 -3
View File
@@ -1,5 +1,6 @@
/* Copyright (C) 1998-99 Martin Baulig /* Copyright (C) 1998-99 Martin Baulig
Copyright (C) 2004 Nicolás Lichtmaier Copyright (C) 2004 Nicolás Lichtmaier
Copyright (C) 2007 Joe Marcus Clarke
This file is part of LibGTop 1.0. This file is part of LibGTop 1.0.
Modified by Nicolás Lichtmaier to give a process open files. Modified by Nicolás Lichtmaier to give a process open files.
@@ -26,8 +27,11 @@
#include <glibtop.h> #include <glibtop.h>
#include <glibtop/error.h> #include <glibtop/error.h>
#include <glibtop/procopenfiles.h> #include <glibtop/procopenfiles.h>
#include <sys/types.h>
#include <string.h>
#include <stdlib.h>
#include <glibtop_suid.h> #include "glibtop_private.h"
static const unsigned long _glibtop_sysdeps_proc_open_files = static const unsigned long _glibtop_sysdeps_proc_open_files =
(1L << GLIBTOP_PROC_OPEN_FILES_NUMBER)| (1L << GLIBTOP_PROC_OPEN_FILES_NUMBER)|
@@ -42,10 +46,139 @@ _glibtop_init_proc_open_files_s (glibtop *server)
server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files; server->sysdeps.proc_open_files = _glibtop_sysdeps_proc_open_files;
} }
static GArray *
parse_output(const char *output) {
GArray *entries;
char **lines;
char *ftype = NULL;
char *fname = NULL;
guint i;
guint len;
int fd = -1;
entries = g_array_new(FALSE, FALSE, sizeof(glibtop_open_files_entry));
lines = g_strsplit(output, "\n", 0);
len = g_strv_length(lines);
for (i = 0; i < len && lines[i]; i++) {
glibtop_open_files_entry entry = {0};
if (strlen(lines[i]) < 2)
continue;
if (!g_str_has_prefix(lines[i], "f") &&
!g_str_has_prefix(lines[i], "t") &&
!g_str_has_prefix(lines[i], "n"))
continue;
if (g_str_has_prefix(lines[i], "f")) {
if (!g_ascii_isdigit(*(lines[i] + 1)))
i += 2;
else
fd = atoi(lines[i] + 1);
continue;
}
if (g_str_has_prefix(lines[i], "t")) {
ftype = lines[i];
ftype++;
continue;
} else {
fname = lines[i];
fname++;
}
if (ftype == NULL || fname == NULL)
continue;
if (!strcmp(ftype, "unix")) {
entry.type = GLIBTOP_FILE_TYPE_LOCALSOCKET;
g_strlcpy(entry.info.localsock.name, fname,
sizeof(entry.info.localsock.name));
} else if (!strcmp(ftype, "PIPE")) {
entry.type = GLIBTOP_FILE_TYPE_PIPE;
} else if (!strcmp(ftype, "VREG") ||
!strcmp(ftype, "GDIR") ||
!strcmp(ftype, "GREG") ||
!strcmp(ftype, "VCHR") ||
!strcmp(ftype, "VBLK") ||
!strcmp(ftype, "DIR") ||
!strcmp(ftype, "LINK") ||
!strcmp(ftype, "REG") ||
!strcmp(ftype, "VDIR")) {
entry.type = GLIBTOP_FILE_TYPE_FILE;
g_strlcpy(entry.info.file.name, fname,
sizeof(entry.info.file.name));
} else if (!strcmp(ftype, "IPv4")) {
char **hosts;
char **remote_host;
if (!strstr(fname, "->")) {
remote_host = g_strsplit(fname, ":", 0);
} else {
hosts = g_strsplit(fname, "->", 0);
if (g_strv_length(hosts) < 2) {
g_strfreev(hosts);
continue;
}
remote_host = g_strsplit(hosts[1], ":", 0);
g_strfreev(hosts);
}
if (g_strv_length(remote_host) < 2) {
g_strfreev(remote_host);
continue;
}
entry.type = GLIBTOP_FILE_TYPE_INETSOCKET;
if (!strcmp(remote_host[0], "*"))
g_strlcpy(entry.info.sock.dest_host, "0.0.0.0",
sizeof(entry.info.sock.dest_host));
else
g_strlcpy(entry.info.sock.dest_host,
remote_host[0],
sizeof(entry.info.sock.dest_host));
entry.info.sock.dest_port = atoi(remote_host[1]);
g_strfreev(remote_host);
} else
continue;
entry.fd = fd;
fd = -1;
ftype = NULL;
fname = NULL;
g_array_append_val(entries, entry);
}
g_strfreev(lines);
return entries;
}
/* XXX Unimplemented on FreeBSD */
glibtop_open_files_entry * glibtop_open_files_entry *
glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid) glibtop_get_proc_open_files_s (glibtop *server, glibtop_proc_open_files *buf, pid_t pid)
{ {
return NULL; char *output;
GArray *entries;
memset(buf, 0, sizeof (glibtop_proc_open_files));
output = execute_lsof(pid);
if (output == NULL) return NULL;
entries = parse_output(output);
g_free(output);
buf->flags = _glibtop_sysdeps_proc_open_files;
buf->number = entries->len;
buf->size = sizeof(glibtop_open_files_entry);
buf->total = buf->number * buf->size;
return (glibtop_open_files_entry*)g_array_free(entries, FALSE);
} }
+121
View File
@@ -0,0 +1,121 @@
/* Copyright (C) 2007 Joe Marcus Clarke
This file is part of LibGTop 2.
LibGTop is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License,
or (at your option) any later version.
LibGTop is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with LibGTop; see the file COPYING. If not, write to the
Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
#include <config.h>
#include <glibtop/procwd.h>
#include <glibtop/error.h>
#include <glibtop_private.h>
#include <sys/types.h>
#include <sys/param.h>
#include <string.h>
static const unsigned long _glibtop_sysdeps_proc_wd =
(1 << GLIBTOP_PROC_WD_EXE) |
(1 << GLIBTOP_PROC_WD_ROOT) |
(1 << GLIBTOP_PROC_WD_NUMBER);
void
_glibtop_init_proc_wd_s(glibtop *server)
{
server->sysdeps.proc_wd = _glibtop_sysdeps_proc_wd;
}
static GPtrArray *
parse_output(const char *output, glibtop_proc_wd *buf)
{
GPtrArray *dirs;
char **lines;
gboolean nextwd = FALSE;
gboolean nextrtd = FALSE;
gboolean havertd = FALSE;
guint i;
guint len;
dirs = g_ptr_array_sized_new(1);
lines = g_strsplit(output, "\n", 0);
len = g_strv_length(lines);
for (i = 0; i < len && lines[i]; i++) {
if (strlen(lines[i]) < 2)
continue;
if (!strcmp(lines[i], "fcwd")) {
nextwd = TRUE;
continue;
}
if (!strcmp(lines[i], "frtd")) {
nextrtd = TRUE;
continue;
}
if (!g_str_has_prefix(lines[i], "n"))
continue;
if (nextwd) {
g_ptr_array_add(dirs, g_strdup(lines[i] + 1));
nextwd = FALSE;
}
if (nextrtd && !havertd) {
g_strlcpy(buf->root, lines[i] + 1,
sizeof(buf->root));
buf->flags |= (1 << GLIBTOP_PROC_WD_ROOT);
nextrtd = FALSE;
havertd = TRUE;
}
}
g_strfreev(lines);
return dirs;
}
char**
glibtop_get_proc_wd_s(glibtop *server, glibtop_proc_wd *buf, pid_t pid)
{
char path[MAXPATHLEN];
char *output;
memset (buf, 0, sizeof (glibtop_proc_wd));
g_snprintf(path, sizeof(path), "/proc/%u/file", pid);
if (safe_readlink(path, buf->exe, sizeof(buf->exe)))
buf->flags |= (1 << GLIBTOP_PROC_WD_EXE);
output = execute_lsof(pid);
if (output != NULL) {
GPtrArray *dirs;
dirs = parse_output(output, buf);
g_free(output);
buf->number = dirs->len;
buf->flags |= (1 << GLIBTOP_PROC_WD_NUMBER);
g_ptr_array_add(dirs, NULL);
return (char **)g_ptr_array_free(dirs, FALSE);
}
return NULL;
}