diff --git a/include/NetworkManager.h b/include/NetworkManager.h
index 63b9dd18b..c8d5074a1 100644
--- a/include/NetworkManager.h
+++ b/include/NetworkManager.h
@@ -174,7 +174,7 @@ typedef enum
* Allowed next states:
* UNAVAILABLE: the device is now managed by NetworkManager
*/
- NM_DEVICE_STATE_UNMANAGED,
+ NM_DEVICE_STATE_UNMANAGED = 1,
/* Indicates the device is not yet ready for use, but is managed by
* NetworkManager. For Ethernet devices, the device may not have an
@@ -185,7 +185,7 @@ typedef enum
* UNMANAGED: the device is no longer managed by NetworkManager
* DISCONNECTED: the device is now ready for use
*/
- NM_DEVICE_STATE_UNAVAILABLE,
+ NM_DEVICE_STATE_UNAVAILABLE = 2,
/* Indicates the device does not have an activate connection to anything.
*
@@ -194,7 +194,7 @@ typedef enum
* UNAVAILABLE: the device is no longer ready for use (rfkill, no carrier, etc)
* PREPARE: the device has started activation
*/
- NM_DEVICE_STATE_DISCONNECTED,
+ NM_DEVICE_STATE_DISCONNECTED = 3,
/* Indicate states in device activation.
*
@@ -206,10 +206,10 @@ typedef enum
* ACTIVATED: (IP_CONFIG only) activation was successful
* DISCONNECTED: the device's connection is no longer valid, or NetworkManager went to sleep
*/
- NM_DEVICE_STATE_PREPARE,
- NM_DEVICE_STATE_CONFIG,
- NM_DEVICE_STATE_NEED_AUTH,
- NM_DEVICE_STATE_IP_CONFIG,
+ NM_DEVICE_STATE_PREPARE = 4,
+ NM_DEVICE_STATE_CONFIG = 5,
+ NM_DEVICE_STATE_NEED_AUTH = 6,
+ NM_DEVICE_STATE_IP_CONFIG = 7,
/* Indicates the device is part of an active network connection.
*
@@ -219,7 +219,7 @@ typedef enum
* FAILED: a DHCP lease was not renewed, or another error
* DISCONNECTED: the device's connection is no longer valid, or NetworkManager went to sleep
*/
- NM_DEVICE_STATE_ACTIVATED,
+ NM_DEVICE_STATE_ACTIVATED = 8,
/* Indicates the device's activation failed.
*
@@ -228,7 +228,7 @@ typedef enum
* UNAVAILABLE: the device is no longer ready for use (rfkill, no carrier, etc)
* DISCONNECTED: the device's connection is ready for activation, or NetworkManager went to sleep
*/
- NM_DEVICE_STATE_FAILED
+ NM_DEVICE_STATE_FAILED = 9
} NMDeviceState;
@@ -362,6 +362,9 @@ typedef enum {
/* The device's existing connection was assumed */
NM_DEVICE_STATE_REASON_CONNECTION_ASSUMED,
+ /* The supplicant is now available */
+ NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE,
+
/* Unused */
NM_DEVICE_STATE_REASON_LAST = 0xFFFF
} NMDeviceStateReason;
diff --git a/introspection/nm-device.xml b/introspection/nm-device.xml
index 3dbb6e229..a8362acba 100644
--- a/introspection/nm-device.xml
+++ b/introspection/nm-device.xml
@@ -380,6 +380,11 @@
The device's existing connection was assumed.
+
+
+
+ The 802.1x supplicant is now available.
+
diff --git a/libnm-glib/Makefile.am b/libnm-glib/Makefile.am
index ddbb33a92..8d659ea0b 100644
--- a/libnm-glib/Makefile.am
+++ b/libnm-glib/Makefile.am
@@ -118,7 +118,7 @@ libnm_glib_vpn_la_SOURCES = nm-vpn-plugin.c nm-vpn-plugin-ui-interface.c
libnm_glib_vpn_la_CFLAGS = $(GLIB_CFLAGS) $(DBUS_CFLAGS)
libnm_glib_vpn_la_LIBADD = $(top_builddir)/libnm-util/libnm-util.la $(GLIB_LIBS) $(DBUS_LIBS)
libnm_glib_vpn_la_LDFLAGS = -Wl,--version-script=$(srcdir)/libnm-glib-vpn.ver \
- -version-info "0:0:0"
+ -version-info "1:0:0"
nm-client-bindings.h: $(top_srcdir)/introspection/nm-manager-client.xml
diff --git a/libnm-util/COPYING b/libnm-util/COPYING
index 838e9020d..2ec1380e3 100644
--- a/libnm-util/COPYING
+++ b/libnm-util/COPYING
@@ -470,8 +470,8 @@ convey the exclusion of warranty; and each file should have at least the
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the
- Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307 USA.
+ Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
diff --git a/po/LINGUAS b/po/LINGUAS
index 948978d98..4ab6fac7b 100644
--- a/po/LINGUAS
+++ b/po/LINGUAS
@@ -1,8 +1,10 @@
# please keep this list sorted alphabetically
#
ar
+as
be@latin
bg
+bn_IN
bs
ca
cs
@@ -26,11 +28,13 @@ id
it
ja
ka
+kn
ko
ku
lt
lv
mk
+mr
nb
ne
nl
@@ -46,8 +50,9 @@ sk
sl
sq
sr
-sr@Latn
+sr@latin
sv
+te
th
uk
vi
diff --git a/po/POTFILES.in b/po/POTFILES.in
index 0ea7f211f..e635f92c4 100644
--- a/po/POTFILES.in
+++ b/po/POTFILES.in
@@ -7,6 +7,7 @@ libnm-util/crypto_nss.c
src/nm-netlink-monitor.c
src/NetworkManager.c
src/dhcp-manager/nm-dhcp-dhclient.c
+src/ip6-manager/nm-netlink-listener.c
src/named-manager/nm-named-manager.c
src/system-settings/nm-default-wired-connection.c
system-settings/plugins/ifcfg-rh/crypto.c
diff --git a/po/as.po b/po/as.po
new file mode 100644
index 000000000..55a17a7cb
--- /dev/null
+++ b/po/as.po
@@ -0,0 +1,333 @@
+# translation of NetworkManager.po.master.as.po to Assamese
+# Assamese translation of NetworkManager.
+# Copyright (C) 2009 NetworkManager's COPYRIGHT HOLDER
+# This file is distributed under the same license as the NetworkManager package.
+#
+# Amitakhya Phukan , 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: NetworkManager.po.master.as\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-06-09 03:24+0000\n"
+"PO-Revision-Date: 2009-06-10 17:20+0530\n"
+"Last-Translator: Amitakhya Phukan \n"
+"Language-Team: Assamese \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=n != 1;\n"
+
+#: ../libnm-util/crypto.c:120
+#, c-format
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM চাবি নথিপত্ৰৰ কোনো সমাপ্তিৰ টেগ উপস্থিত নাই '%s' ।"
+
+#: ../libnm-util/crypto.c:130
+#, c-format
+msgid "Doesn't look like a PEM private key file."
+msgstr "এটা PEM গোপনীয় চাবি নথিপত্ৰ নহয় ।"
+
+#: ../libnm-util/crypto.c:138
+#, c-format
+msgid "Not enough memory to store PEM file data."
+msgstr "PEM নথিপত্ৰৰ তথ্যে সংৰক্ষণৰ বাবে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto.c:154
+#, c-format
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "ভুল PEM নথিপত্ৰ: প্ৰথম টেগ ৰূপে Proc-Type ব্যৱহাৰ কৰা নহয় ।"
+
+#: ../libnm-util/crypto.c:162
+#, c-format
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "ভুল PEM নথিপত্ৰ: অজ্ঞাত Proc-Type টেগ '%s' ।"
+
+#: ../libnm-util/crypto.c:172
+#, c-format
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "ভুল PEM নথিপত্ৰ: দ্বিতীয় টেগ ৰূপে DEK-Info ধাৰ্য কৰা নহয় ।"
+
+#: ../libnm-util/crypto.c:183
+#, c-format
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "ভুল PEM নথিপত্ৰ: DEK-Info টেগত কোনো IV পোৱা নাযায় ।"
+
+#: ../libnm-util/crypto.c:190
+#, c-format
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "ভুল PEM নথিপত্ৰ: DEK-Info টেগত IV-ৰ বিন্যাস বৈধ নহয় ।"
+
+#: ../libnm-util/crypto.c:203
+#, c-format
+msgid "Malformed PEM file: unknown private key cipher '%s'."
+msgstr "ভুল PEM নথিপত্ৰ: ব্যক্তিগত-চাবিৰ অজ্ঞাত ছাইফাৰ '%s' ।"
+
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "ব্যক্তিগত চাবি ডিকোড কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "'%s' PEM প্ৰমাণপত্ৰত সমাপ্তিৰ টেগ '%s' উপস্থিত নাই ।"
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "প্ৰমাণপত্ৰ ডিকোড কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "প্ৰমাণপত্ৰৰ তথ্য সংৰক্ষণৰ উদ্দেশ্যে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "নথিপত্ৰৰ তথ্য সংৰক্ষণৰ উদ্দেশ্যে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
+msgstr "IV-ৰ দৈৰ্ঘ্যৰ পৰিমাণ যুগ্ম সংখ্যক বাইটৰ হোৱা আৱশ্যক ।"
+
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "IV সংৰক্ষণৰ বাবে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "IV-ত hexadecimal-নোহোৱা অন্য সংখ্যা উপস্থিত ।"
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
+msgstr "ব্যক্তিগত চাবিৰ ছাইফাৰ '%s' অজ্ঞাত ।"
+
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "ব্যক্তিগত চাবি ডিক্ৰিপ্ট কৰাৰ বাবে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "ব্যক্তিগত চাবিৰ ধৰন নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "ডিক্ৰিপ্ট কৰা ব্যক্তিগত চাবি সংৰক্ষণৰ বাবে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "ক্ৰিপ্টো কলঘৰ আৰম্ভ কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "MD5 কলঘৰ আৰম্ভ কৰিবলৈ ব্যৰ্থ: %s / %s ।"
+
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "ডিক্ৰিপ্ট কৰা কি-বাফাৰৰ বাবে পৰ্যাপ্ত স্মৃতিশক্তি অনুপস্থিত ।"
+
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
+msgstr "ডিক্ৰিপছন ছাইফাৰৰ সন্দৰ্ভ আৰম্ভ কৰিবলৈ ব্যৰ্থ: %s / %s ।"
+
+#: ../libnm-util/crypto_gnutls.c:169
+#, c-format
+msgid "Failed to set symmetric key for decryption: %s / %s."
+msgstr "ডিক্ৰিপছনৰ বাবে চিমেট্ৰিক চাবি নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ: %s / %s ।"
+
+#: ../libnm-util/crypto_gnutls.c:178
+#, c-format
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "ডিক্ৰিপছনৰ উদ্দেশ্যে IV নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ: %s / %s ।"
+
+#: ../libnm-util/crypto_gnutls.c:187
+#, c-format
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "ব্যক্তিগত চাবি ডিক্ৰিপ্ট কৰিবলৈ ব্যৰ্থ: %s / %s ।"
+
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "ব্যক্তিগত চাবি ডিক্ৰিপ্ট কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto_gnutls.c:235
+#, c-format
+msgid "Error initializing certificate data: %s"
+msgstr "প্ৰমাণপত্ৰৰ তথ্য আৰম্ভ কৰিবলৈ সমস্যা: %s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "প্ৰমাণপত্ৰ ডি-কোড কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "PKCS#12 ডিকোডাৰ আৰম্ভ কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "PKCS#12 নথিপত্ৰ ডিকোড কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "PKCS#12 নথিপত্ৰ প্ৰমাণিত কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "ক্ৰিপ্টো কলঘৰ আৰম্ভ কৰিবলৈ ব্যৰ্থ: %d ।"
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "MD5 সন্দৰ্ভ আৰম্ভ কৰিবলৈ ব্যৰ্থ: %d ।"
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
+msgstr "ডিক্ৰিপছন ছাইফাৰ স্লট আৰম্ভ কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
+msgstr "ডিক্ৰিপছনৰ উদ্দেশ্যে চিমেট্ৰিক চাবি নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto_nss.c:206
+#, c-format
+msgid "Failed to set IV for decryption."
+msgstr "ডিক্ৰিপছনৰ উদ্দেশ্যে IV নিৰ্ধাৰণ কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto_nss.c:214
+#, c-format
+msgid "Failed to initialize the decryption context."
+msgstr "ডিক্ৰিপছন সন্দৰ্ভ আৰম্ভ কৰিবলৈ ব্যৰ্থ ।"
+
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "ব্যক্তিগত চাবি ডিক্ৰিপ্ট কৰিবলৈ ব্যৰ্থ: %d ।"
+
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "ব্যক্তিগত চাবিৰ ডিক্ৰিপছন সমাপ্ত কৰিবলৈ ব্যৰ্থ: %d ।"
+
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "প্ৰমাণপত্ৰ ডিকোড কৰিবলৈ ব্যৰ্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "গুপ্তশব্দক UCS2 লৈ ৰূপান্তৰ কৰিবলৈ ব্যৰ্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "PKCS#12 ডিকোডাৰ আৰম্ভ কৰিবলৈ ব্যৰ্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "PKCS#12 নথিপত্ৰ ডিকোড কৰিবলৈ ব্যৰ্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "PKCS#12 নথিপত্ৰ প্ৰমাণিত কৰিবলৈ ব্যৰ্থ: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "netlink বাৰ্তা প্ৰক্ৰিয়াকৰণত ভুল: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "লিংকৰ অৱস্থা নিৰীক্ষণৰ উদ্দেশ্যে netlink হেন্ডেল বিতৰণ কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "লিংকৰ অৱস্থা নিৰীক্ষণৰ উদ্দেশ্যে netlink-ৰ সৈতে সংযোগ কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "লিংকৰ অৱস্থা নিৰীক্ষণৰ উদ্দেশ্যে netlink দলত যোগ কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "লিংকৰ অৱস্থা নিৰীক্ষণৰ উদ্দেশ্যে netlink লিংক কেশ্বে বিতৰণ কৰিবলৈ ব্যৰ্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "লিংক কোশ্বে উন্নত কৰিবলৈ সমস্যা: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "তথ্যৰ বাবে ছকেটত অপেক্ষা কৰোঁতে সমস্যা"
+
+#: ../src/NetworkManager.c:296
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "অবৈধ বিকল্প । বৈধ বিকল্পসমূহৰ তালিকা চোৱাৰ বাবে অনুগ্ৰহ কৰি --help প্ৰয়োগ কৰক ।\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97
+msgid "# Created by NetworkManager\n"
+msgstr "# NetworkManager দ্বাৰা নিৰ্মিত\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# %s ৰ পৰা একত্ৰিত কৰা হৈছে\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:255
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "মন কৰিব: libc resolver ৰ দ্বাৰা ৩ তকৈ অধিক নামৰ সেৱক সমৰ্থিত ন'হ'বও পাৰে ।"
+
+#: ../src/named-manager/nm-named-manager.c:257
+msgid "The nameservers listed below may not be recognized."
+msgstr "নিম্নলিখিত নাম-সেৱকসমূহ চিনাক্ত ন'হ'বও পাৰে ।"
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2142
+msgid "System"
+msgstr "প্ৰণালী"
+
+#: ../system-settings/src/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "স্বয়ংক্ৰিয় %s"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Modify system connections"
+msgstr "প্ৰণালীৰ সংযোগ পৰিবৰ্তন কৰক"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "System policy prevents modification of system settings"
+msgstr "প্ৰণালীত ব্যৱহৃত নিয়ম-নীতিৰ বিধিনিষেধৰ কাৰণে প্ৰণালীৰ বৈশিষ্ট্য পৰিবৰ্তন কৰা সম্ভৱ নহয়"
+
diff --git a/po/bn_IN.po b/po/bn_IN.po
new file mode 100644
index 000000000..9a71891b9
--- /dev/null
+++ b/po/bn_IN.po
@@ -0,0 +1,333 @@
+# translation of NetworkManager.po.master.po to Bengali INDIA
+# Bengali (India) translation of NetworkManager.
+# Copyright (C) 2009 NetworkManager's COPYRIGHT HOLDER
+# This file is distributed under the same license as the NetworkManager package.
+#
+# Runa Bhattacharjee , 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: NetworkManager.po.master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-06-04 03:24+0000\n"
+"PO-Revision-Date: 2009-06-05 18:45+0530\n"
+"Last-Translator: Runa Bhattacharjee \n"
+"Language-Team: Bengali INDIA \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../libnm-util/crypto.c:120
+#, c-format
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM কি ফাইলের কোনো সমাপ্তির ট্যাগ উপস্থিত নেই '%s'।"
+
+#: ../libnm-util/crypto.c:130
+#, c-format
+msgid "Doesn't look like a PEM private key file."
+msgstr "সম্ভব PEM-র গোপনীয় কি ফাইল নয়।"
+
+#: ../libnm-util/crypto.c:138
+#, c-format
+msgid "Not enough memory to store PEM file data."
+msgstr "PEM ফাইলের তথ্যে সংরক্ষণের জন্য পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto.c:154
+#, c-format
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "ত্রুটিপূর্ণ PEM ফাইল: প্রথম ট্যাগ রূপে Proc-Type ব্যবহার করা হয়নি।"
+
+#: ../libnm-util/crypto.c:162
+#, c-format
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "ত্রুটিপূর্ণ PEM ফাইল: অজানা Proc-Type ট্যাগ '%s'।"
+
+#: ../libnm-util/crypto.c:172
+#, c-format
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "ত্রুটিপূর্ণ PEM ফাইল: দ্বিতীয় ট্যাগ রূপে DEK-Info ধার্য করা হয়নি।"
+
+#: ../libnm-util/crypto.c:183
+#, c-format
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "ত্রুটিপূর্ণ PEM ফাইল: DEK-Info ট্যাগের মধ্যে কোনো IV পাওয়া যায়নি।"
+
+#: ../libnm-util/crypto.c:190
+#, c-format
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "ত্রুটিপূর্ণ PEM ফাইল: DEK-Info ট্যাগের মধ্যে IV-র বিন্যাস বৈধ নয়।"
+
+#: ../libnm-util/crypto.c:203
+#, c-format
+msgid "Malformed PEM file: unknown private key cipher '%s'."
+msgstr "ত্রুটিপূর্ণ PEM ফাইল: ব্যক্তিগত-কি'র অজানা সাইফার '%s'।"
+
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "ব্যক্তিগত-কি ডিকোডর করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "'%s' PEM সার্টিফিকেটের মধ্যে সমাপ্তির ট্যাগ '%s' উপস্থিত নেই।"
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "সার্টিফিকেট ডি-কোড করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "সার্টিফিকেটের তথ্য সংরক্ষণের উদ্দেশ্যে পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "ফাইলের তথ্য সংরক্ষণের উদ্দেশ্যে পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
+msgstr "IV-র দৈঘ্যের পরিমাণ জোড় সংখ্যক বাইটের হওয়া আবশ্যক।"
+
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "IV সংরক্ষণের জন্য পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "IV-র মধ্যে হেক্সাডেসিম্যাল-ভিন্ন অন্যান্য সংখ্যা উপস্থিত রয়েছে।"
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
+msgstr "ব্যক্তিগত-কি'র সাইফার '%s' অজানা।"
+
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "ব্যক্তিগত-কি ডিক্রিপ্ট করার জন্য পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "ব্যক্তিগত-কি'র ধরন নির্ধারণ করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "ডিক্রিপ্ট করা ব্যক্তিগত-কি সংরক্ষণের জন্য পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "ক্রিপ্টো ইঞ্জিন আরম্ভ করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "MD5 ইঞ্জিন আরম্ভ করতে ব্যর্থ: %s / %s।"
+
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "ডিক্রিপ্ট করা কি-বাফারের জন্য পর্যাপ্ত মেমরি অনুপস্থিত।"
+
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
+msgstr "ডিক্রিপশন সাইফারের কনটেক্সট আরম্ভ করতে ব্যর্থ: %s / %s।"
+
+#: ../libnm-util/crypto_gnutls.c:169
+#, c-format
+msgid "Failed to set symmetric key for decryption: %s / %s."
+msgstr "ডিক্রিপশনের জন্য সিমেট্রিক-কি নির্ধারণ করতে ব্যর্থ: %s / %s।"
+
+#: ../libnm-util/crypto_gnutls.c:178
+#, c-format
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "ডিক্রিপশনের উদ্দেশ্যে IV নির্ধারণ করতে ব্যর্থ: %s / %s।"
+
+#: ../libnm-util/crypto_gnutls.c:187
+#, c-format
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "ব্যক্তিগত-কি ডিক্রিপ্ট করতে ব্যর্থ: %s / %s।"
+
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "ব্যক্তিগত-কি ডিক্রিপ্ট করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto_gnutls.c:235
+#, c-format
+msgid "Error initializing certificate data: %s"
+msgstr "সার্টিফিকেটের তথ্য আরম্ভ করতে সমস্যা: %s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "সার্টিফিকেট ডি-কোড করতে ব্যর্থ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "PKCS#12 ডিকোডার আরম্ভ করতে ব্যর্থ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "PKCS#12 ফাইল ডিকোড করতে ব্যর্থ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "PKCS#12 ফাইল যাচাই করতে ব্যর্থ: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "ক্রিপ্টো ইঞ্জিন আরম্ভ করতে ব্যর্থ: %d।"
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "MD5 কনটেক্সট আরম্ভ করতে ব্যর্থ: %d।"
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
+msgstr "ডিক্রিপশন সাইফার স্লট আরম্ভ করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
+msgstr "ডিক্রিপশনের উদ্দেশ্যে সিমেট্রিক-কি নির্ধারণ করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto_nss.c:206
+#, c-format
+msgid "Failed to set IV for decryption."
+msgstr "ডিক্রিপশনের উদ্দেশ্যে IV নির্ধারণ করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto_nss.c:214
+#, c-format
+msgid "Failed to initialize the decryption context."
+msgstr "ডিক্রিপশন কনটেক্সট আরম্ভ করতে ব্যর্থ।"
+
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "ব্যক্তিগত-কি ডিক্রিপ্ট করতে ব্যর্থ: %d।"
+
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "ব্যক্তিগত-কি'র ডিক্রিপশন সমাপ্ত করতে ব্যর্থ: %d।"
+
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "সার্টিফিকেট ডিকোড করতে ব্যর্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "পাসওয়ার্ডকে UCS2-তে রূপান্তর করতে ব্যর্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "PKCS#12 ডিকোডার আরম্ভ করতে ব্যর্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "PKCS#12 ফাইল ডিকোড করতে ব্যর্থ: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "PKCS#12 ফাইল যাচাই করতে ব্যর্থ: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "netlink বার্তা প্রক্রিয়াকরণে ত্রুটি: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "লিংকের অবস্থা নিরীক্ষণের উদ্দেশ্যে netlink হ্যান্ডেল বরাদ্দ করতে ব্যর্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "লিংকের অবস্থা নিরীক্ষণের উদ্দেশ্যে netlink-র সাথে সংযোগ করতে ব্যর্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "লিংকের অবস্থা নিরীক্ষণের উদ্দেশ্যে netlink দলে যোগ করতে ব্যর্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "লিংকের অবস্থা নিরীক্ষণের উদ্দেশ্যে netlink লিংক ক্যাশে বরাদ্দ করতে ব্যর্থ: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "লিংক ক্যাশে আপডেট করতে সমস্যা: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "তথ্যের জন্য সকেটে অপেক্ষাকালে সমস্যা"
+
+#: ../src/NetworkManager.c:296
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "অবৈধ বিকল্প। বৈধ বিকল্পগুলির তালিকা দেখার জন্য অনুগ্রহ করে --help প্রয়োগ করুন।\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97
+msgid "# Created by NetworkManager\n"
+msgstr "# NetworkManager দ্বারা নির্মিত\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# %s থেকে মার্জ করা হয়েছে\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:255
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "উল্লেখ্য: libc resolver দ্বারা ৩-টির বেশি নেম-সার্ভার সমর্থিত না হওয়ার সম্ভাবনা রয়েছে।"
+
+#: ../src/named-manager/nm-named-manager.c:257
+msgid "The nameservers listed below may not be recognized."
+msgstr "নিম্নলিখিত নেম-সার্ভারগুলি সনাক্ত না হওয়ার সম্ভাবনা রয়েছে।"
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2149
+msgid "System"
+msgstr "সিস্টেম"
+
+#: ../system-settings/src/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "স্বয়ংক্রিয় %s"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Modify system connections"
+msgstr "সিস্টেমের সংযোগ পরিবর্তন করুন"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "System policy prevents modification of system settings"
+msgstr "সিস্টেমে ব্যবহৃত নিয়ম-নীতির বিধিনিষেধের কারণে সিস্টেমের বৈশিষ্ট্য পরিবর্তন করা সম্ভব নয়"
+
diff --git a/po/gu.po b/po/gu.po
index b44ba6256..bc2cd27dc 100644
--- a/po/gu.po
+++ b/po/gu.po
@@ -1,190 +1,334 @@
-# translation of NetworkManager.HEAD.po to Gujarati
+# translation of NetworkManager.master.gu.po to Gujarati
# This file is distributed under the same license as the PACKAGE package.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER.
-# Ankit Patel , 2004.
#
+# Ankit Patel , 2004.
+# Sweta Kothari , 2009.
msgid ""
msgstr ""
-"Project-Id-Version: NetworkManager.HEAD\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2004-10-19 13:38-0400\n"
-"PO-Revision-Date: 2004-09-09 14:24+0530\n"
-"Last-Translator: Ankit Patel \n"
+"Project-Id-Version: NetworkManager.master.gu\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-05-19 03:24+0000\n"
+"PO-Revision-Date: 2009-06-08 11:07+0530\n"
+"Last-Translator: Sweta Kothari \n"
"Language-Team: Gujarati\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.3.1\n"
-"Plural-Forms: Plural-Forms: nplurals=2; plural=(n!=1);\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
"\n"
-#: info-daemon/networks.glade:11
-msgid "Modify Wireless Networks"
-msgstr "વાયરલેસ નેટવર્કો સુધારો"
+#: ../libnm-util/crypto.c:120
+#, c-format
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM કી ફાઇલ પાસે છેલ્લો ટેગ '%s' ન હતો."
-#: info-daemon/networks.glade:92
-msgid "Wireless Networks:"
-msgstr "વાયરલેસ નેટવર્કો:"
+#: ../libnm-util/crypto.c:130
+#, c-format
+msgid "Doesn't look like a PEM private key file."
+msgstr "PEM ખાનગી કી ફાઇલ જેવી દેખાતી નથી."
-#: info-daemon/passphrase.glade:9
-msgid "Wireless Network Key Required"
-msgstr "વાયરલેસ નેટવર્ક કી જરુરી છે"
+#: ../libnm-util/crypto.c:138
+#, c-format
+msgid "Not enough memory to store PEM file data."
+msgstr "PEM ફાઇલ માહિતી ને સંગ્રહ કરવા માટે મેમરી પૂરતી નથી."
-#: info-daemon/passphrase.glade:52
-msgid "_Login to Network"
-msgstr "નેટવર્કમાં પ્રવેશો (_L)"
+#: ../libnm-util/crypto.c:154
+#, c-format
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "મેલફોર્મ થયેલ PEM ફાઇલ: Proc-Type એ પહેલો ટેગ ન હતો."
-#: info-daemon/passphrase.glade:100
-#, fuzzy
+#: ../libnm-util/crypto.c:162
+#, c-format
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "મેલફોર્મ થયેલ PEM ફાઇલ: અજ્ઞાત Proc-Type ટેગ '%s'."
+
+#: ../libnm-util/crypto.c:172
+#, c-format
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "મેલફોર્મ થયેલ PEM ફાઇલ: DEK-Info એ બીજો ટેગ હતો નહિં."
+
+#: ../libnm-util/crypto.c:183
+#, c-format
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "મેલફોર્મ થયેલ PEM ફાઇલ: IV એ DEK-Info ટેગમાં શોધાયુ નહિં."
+
+#: ../libnm-util/crypto.c:190
+#, c-format
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "મેલફોર્મ થયેલ PEM ફાઇલ: DEK-Info ટેગમાં IV નું અયોગ્ય બંધારણ."
+
+#: ../libnm-util/crypto.c:203
+#, c-format
+msgid "Malformed PEM file: unknown private key cipher '%s'."
+msgstr "મેલફોર્મ થયેલ PEM ફાઇલ: અજ્ઞાત ખાનગી કી સાઇફર '%s'."
+
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "ખાનગી કીને ડિકોડ કરી શકાયુ નહિં."
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "PEM પ્રમાણપત્ર '%s' પાસે અંત ટેગ '%s' ન હતો."
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "પ્રમાણપત્રને ડિકોડ કરવાનું નિષ્ફળ."
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "પ્રમાણપત્ર માહિતીને સંગ્રહ કરવા માટે મેમરી પૂરતી નથી."
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "ફાઇલ માહિતીને સંગ્રહ કરવા માટે મેમરી પૂરતી નથી."
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
+msgstr "IV એ લંબાઇમાં બાઇટોનું બેકી નંબર જ હોવુ જ જોઇએ."
+
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "IV ને સંગ્રહ કરવા માટે પૂરતી મેમરી નથી."
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "IV એ બિન-હેક્ઝાડેસિમલ આંકડાઓને સમાવે છે."
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
+msgstr "ખાનગી કી સાઇફર '%s' એ અજ્ઞાત હતુ."
+
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "ખાનગી કીને ડિક્રિપ્ટ કરવા માટે મેમરી પૂરતી નથી."
+
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "ખાનગી કી પ્રકાર ને નક્કી કરવાનું નિષ્ફળ."
+
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "ડિક્રિપ્ટ થયેલ ખાનગી કીને સંગ્રહ કરવા માટે મેમરી પૂરતી નથી."
+
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "ક્રિપ્ટો એંજિન ને પ્રારંભ કરવાનું નિષ્ફળ."
+
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "MD5 એંજિનને પ્રારંભ કરવાનું નિષ્ફળ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "ડિક્રિપ્ટ થયેલ કી બફર માટે પૂરતી મેમરી નથી."
+
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
+msgstr "ડિક્રિપ્શન સાઇફર સંદર્ભને પ્રારંભ કરવાનું નિષ્ફળ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:169
+#, c-format
+msgid "Failed to set symmetric key for decryption: %s / %s."
+msgstr "ડિક્રિપ્શન માટે સમપ્રમાણ કીને સુયોજિત કરવામાં નિષ્ફળ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:178
+#, c-format
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "ડિક્રિપ્શન માટે IV ને સુયોજિત કરવાનું નિષ્ફળ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:187
+#, c-format
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "ખાનગી કીને ડિક્રિપ્ટ કરવાનું નિષ્ફળ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "ખાનગી કીને ડિક્રિપ્ટ કરવાનું નિષ્ફળ."
+
+#: ../libnm-util/crypto_gnutls.c:235
+#, c-format
+msgid "Error initializing certificate data: %s"
+msgstr "પ્રમાણપત્ર માહિતીને પ્રારંભ કરતી વખતે ભૂલ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "પ્રમાણપત્રને ડિકોડ કરી શકાયુ નહિં: %s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "PKCS#12 ડિકોડરને પ્રારંભ કરી શકાયુ નહિં: %s "
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "PKCS#12 ફાઇલને ડિકોડ કરી શકાયુ નહિં: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "PKCS#12 ફાઇલને ચકાસી શકાયુ નહિં: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "ક્રિપ્ટો એંજિનને પ્રારંભ કરવાનું નિષ્ફળ: %d."
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "MD5 સંદર્ભને પ્રારંભ કરવાનું નિષ્ફળ: %d."
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
+msgstr "ડિક્રિપ્શન સાઇફર સ્લોટને પ્રારંભ કરવાનું નિષ્ફળ."
+
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
+msgstr "ડિક્રિપ્શન માટે સમપ્રમાણ કીને સુયોજિત કરવામાં નિષ્ફળ."
+
+#: ../libnm-util/crypto_nss.c:206
+#, c-format
+msgid "Failed to set IV for decryption."
+msgstr "ડિક્રિપ્શન માટે IV ને સુયોજિત કરવામાં નિષ્ફળ."
+
+#: ../libnm-util/crypto_nss.c:214
+#, c-format
+msgid "Failed to initialize the decryption context."
+msgstr "ડિક્રિપ્શન સંદર્ભને આખરી રૂપ આપવામાં નિષ્ફળ."
+
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "ખાનગી કી ને ડિક્રિપ્ટ કરવાનું નિષ્ફળ: %d."
+
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "ખાનગી કીનાં ડિક્રિપ્શનનને આખરી રૂપ આપવાનું નિષ્ફળ: %d."
+
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "પ્રમાણપત્રને ડિકોડ કરી શકાયુ નહિં: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "UCS2 માં પાસવર્ડને રૂપાંતરિત કરી શકાયુ નહિં: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "PKCS#12 ડિકોડરને પ્રારંભ કરી શકાયુ નહિં: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "PKCS#12 ફાઇલને ડિકોડ કરી શકાયુ નહિં: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "PKCS#12 ફાઇલને ચકાસી શકાયુ નહિં: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "નેટલિંક સંદેશ ને પ્રક્રિયા કરવામાં ભૂલ: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "કડી સ્થિતિને મોનિટર કરવા માટે નેટલિંકને સંભાળવાનું ફાળવવામાં અસમર્થ: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "કડી સ્થિતિને મોનિટર કરવા માટે નેટલિંકને જોડવામાં અસમર્થ: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "કડી પરિસ્થિતિને મોનિટર કરવા માટે નેટલીંક જૂથ ને જોડાવવાનું અસમર્થ: %s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "કડી સ્થિતિને મોનિટર કરવા માટે નેટલિંક કડી કેશને ફાળવવામાં અસમર્થ: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "કડી કેશને સુધારો કરતી વખતે ભૂલ: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "ભૂલ ઉદ્ભવી જ્યારે સોકેટ પર માહિતી માટે રાહ જોઇ રહ્યા હોય"
+
+#: ../src/NetworkManager.c:294
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "અયોગ્ય વિકલ્પ. મહેરબાની કરીને યોગ્ય વિકલ્પોની યાદી ને જોવા માટે --help ને વાપરો.\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97
+msgid "# Created by NetworkManager\n"
+msgstr "# ને NetworkManager દ્દારા બનાવેલ છે\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103
+#, c-format
msgid ""
-"Passphrase Required by Wireless "
-"Network\n"
+"# Merged from %s\n"
"\n"
-"A passphrase or encryption key is required to access the wireless network '%"
-"s'."
msgstr ""
-"વાયરલેસ નેટવર્ક દ્વારા પાસફ્રેઝ જરુરી છે"
-"span>\n"
+"# ને %s માંથી ભેગુ કરેલ છે\n"
"\n"
-"પાસફ્રેઝ અથવા WEP કી એ વાયરલેસ નેટવર્ક '%s' ને ચલાવવા માટે જરુરી છે."
-#: info-daemon/passphrase.glade:129
-msgid "Key Type:"
-msgstr ""
+#: ../src/named-manager/nm-named-manager.c:255
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "નોંધ: libc સુધારનાર એ ૩ નામ સર્વરો કરતા વધારે આધારને સમાવી શકતુ નથી."
-#: info-daemon/passphrase.glade:150
-msgid ""
-"128-bit Passphrase\n"
-"128-bit Raw Hex Key"
-msgstr ""
+#: ../src/named-manager/nm-named-manager.c:257
+msgid "The nameservers listed below may not be recognized."
+msgstr "નીચે યાદી થયેલ નામસર્વરો એ ઓળખી શકાતા નથી."
-#: info-daemon/passphrase.glade:180
-#: info-daemon/NetworkManagerInfoPassphraseDialog.c:101
-msgid "Passphrase:"
-msgstr "પાસફ્રેઝ:"
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2149
+msgid "System"
+msgstr "સિસ્ટમ"
-#: info-daemon/passphrase.glade:208 panel-applet/essid.glade:162
-msgid "*"
-msgstr "*"
+#: ../system-settings/src/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "%s સ્વયં કરો"
-#: info-daemon/NetworkManagerInfoPassphraseDialog.c:104
-msgid "Key:"
-msgstr ""
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Modify system connections"
+msgstr "સિસ્ટમ જોડાણોને બદલો"
-#. Reuse the above string to make the translators less angry.
-#: panel-applet/NMWirelessApplet.c:691 panel-applet/NMWirelessApplet.c:701
-msgid ""
-"The NetworkManager Applet could not find some required resources (the glade "
-"file was not found)."
-msgstr "નેટવર્ક વ્યવસ્થાપક એપ્લેટ અમુક જરુરી સ્રોતો શોધી શકી નહિં (glade ફાઈલ મળી નથી)."
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "System policy prevents modification of system settings"
+msgstr "સિસ્ટમ પોલિસી એ સિસ્ટમ સુયોજનોનાં બદલાવને અટકાવે છે"
-#: panel-applet/NMWirelessApplet.c:716
-#, fuzzy
-msgid "Custom wireless network"
-msgstr "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/NMWirelessApplet.c:717
-msgid "Enter the ESSID of the wireless network to which you wish to connect."
-msgstr ""
-
-#: panel-applet/NMWirelessApplet.c:800
-#, fuzzy
-msgid "Other Wireless Networks..."
-msgstr "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/NMWirelessApplet.c:911
-msgid "No network devices have been found"
-msgstr ""
-
-#: panel-applet/NMWirelessApplet.c:1028
-msgid "NetworkManager is not running..."
-msgstr "નેટવર્ક વ્યવસ્થાપક ચાલતું નથી..."
-
-#: panel-applet/essid.glade:52
-msgid "C_onnect"
-msgstr ""
-
-#: panel-applet/essid.glade:131
-#, fuzzy
-msgid "Wireless _Network:"
-msgstr "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/essid.glade:177
-#, fuzzy
-msgid "Wireless _adapter:"
-msgstr "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/menu-info.c:101
-#, fuzzy, c-format
-msgid "Wired Network (%s)"
-msgstr "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/menu-info.c:103
-#, fuzzy
-msgid "Wired Network"
-msgstr "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/menu-info.c:168
-#, fuzzy, c-format
-msgid "Wireless Network (%s)"
-msgid_plural "Wireless Networks (%s)"
-msgstr[0] "વાયરલેસ નેટવર્કો"
-msgstr[1] "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/menu-info.c:170
-#, fuzzy
-msgid "Wireless Network"
-msgid_plural "Wireless Networks"
-msgstr[0] "વાયરલેસ નેટવર્કો"
-msgstr[1] "વાયરલેસ નેટવર્કો"
-
-#: panel-applet/menu-info.c:307
-msgid " (invalid Unicode)"
-msgstr ""
-
-#: examples/python/systray/eggtrayicon.c:111
-msgid "Orientation"
-msgstr ""
-
-#: examples/python/systray/eggtrayicon.c:112
-msgid "The orientation of the tray."
-msgstr ""
-
-#~ msgid "There are no network devices..."
-#~ msgstr "ત્યાં કોઈ નેટવર્ક ઉપકરણો નથી..."
-
-#~ msgid "There are no wireless networks..."
-#~ msgstr "ત્યાં કોઈ વાયરલેસ નેટવર્ક નથી..."
-
-#~ msgid "Network Connections"
-#~ msgstr "નેટવર્ક જોડાણો"
-
-#~ msgid "No network connection is currently active..."
-#~ msgstr "કોઈ નેટવર્ક જોડાણો વર્તમાનમાં સક્રિય નથી..."
-
-#~ msgid "A wired network connection is currently active..."
-#~ msgstr "વાયરવાળું નેટવર્ક જોડાણ વર્તમાનમાં સક્રિય છે..."
-
-#~ msgid "_About..."
-#~ msgstr "વિશે (_A)..."
-
-#~ msgid " "
-#~ msgstr " "
-
-#~ msgid ""
-#~ "Wireless Network Login "
-#~ "Confirmation\n"
-#~ "\n"
-#~ "You have chosen log in to the wireless network '%s'. If you are sure "
-#~ "this wireless network is secure, click the checkbox below and "
-#~ "NetworkManager will no longer pester you with stupid questions when you "
-#~ "connect to it."
-#~ msgstr ""
-#~ "વાયરલેસ નેટવર્ક પ્રવેશ ખાતરી\n"
-#~ "\n"
-#~ "તમે વાયરલેસ નેટવર્ક '%s' માં પ્રવેશવાનું પસંદ કરેલ છે. જો તમે ચોક્કસ હોયકે આ વાયરલેસ "
-#~ "નેટવર્ક સુરક્ષિત છે, તો નીચેના ચકાસણીબોક્સમાં ક્લિક કરો અને નેટવર્ક વ્યવસ્થાપક તમને લાંબા "
-#~ "સમય સુધી નકામા પ્રશ્નો પૂછવા માટે સમર્થ નહિં હોય તેની સાથે જોડાવા માટે."
-
-#~ msgid "Always Trust this Wireless Network"
-#~ msgstr "હંમેશા આ વાયરલેસ નેટવર્કનો વિશ્વાસ કરો"
diff --git a/po/it.po b/po/it.po
index 1fbc52d88..75fec3465 100644
--- a/po/it.po
+++ b/po/it.po
@@ -1,14 +1,15 @@
# Italian translation for NetworkManager
-# Copyright (C) 2004-2008 THE NetworkManager CopyRight Holder
+# Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009 the NetworkManager CopyRight Holder
# This file is distributed under the same license as the NetworkManager package.
-# Francesco Marletta , 2004-2008.
+# Francesco Marletta , 2004, 2005, 2006, 2007, 2008, 2009.
#
msgid ""
msgstr ""
-"Project-Id-Version: NetworkManager 0.7\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-09-17 04:41+0000\n"
-"PO-Revision-Date: 2008-09-17 15:27-0400\n"
+"Project-Id-Version: NetworkManager 0.7.1\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
+"product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-04-18 15:24+0000\n"
+"PO-Revision-Date: 2009-04-18 18:09+0200\n"
"Last-Translator: Francesco Marletta \n"
"Language-Team: Italian \n"
"MIME-Version: 1.0\n"
@@ -16,189 +17,122 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/nm-netlink-monitor.c:193 ../src/nm-netlink-monitor.c:474
-#, c-format
-msgid "error processing netlink message: %s"
-msgstr "errore nell'elaborazione del messaggio netlink: %s"
-
-#: ../src/nm-netlink-monitor.c:250
-#, c-format
-msgid "unable to allocate netlink handle for monitoring link status: %s"
-msgstr ""
-"impossibile allocare un handle netlink per monitorare lo stato del "
-"collegamento: %s"
-
-#: ../src/nm-netlink-monitor.c:260
-#, c-format
-msgid "unable to connect to netlink for monitoring link status: %s"
-msgstr ""
-"impossibile collegarsi a netlink per monitorare lo stato del collegamento: %s"
-
-#: ../src/nm-netlink-monitor.c:268
-#, c-format
-msgid "unable to join netlink group for monitoring link status: %s"
-msgstr ""
-"impossibile unirsi a un gruppo netlink per monitorare lo stato del "
-"collegamento: %s"
-
-#: ../src/nm-netlink-monitor.c:276
-#, c-format
-msgid "unable to allocate netlink link cache for monitoring link status: %s"
-msgstr ""
-"impossibile allocare la cache dei collegamenti netlink per monitorare lo "
-"stato del collegamento: %s"
-
-#: ../src/nm-netlink-monitor.c:439
-#, c-format
-msgid "error updating link cache: %s"
-msgstr "errore nell'aggiornamento della cache del collegamento: %s"
-
-#: ../src/nm-netlink-monitor.c:497
-#, c-format
-msgid "error occurred while waiting for data on socket"
-msgstr "si è verificato un errore durante l'attesa dei dati sul socket"
-
-#: ../src/NetworkManager.c:250
-#, c-format
-msgid "Invalid option. Please use --help to see a list of valid options.\n"
-msgstr ""
-"Opzione non valida. Usare --help per ottenere un elenco delle opzioni "
-"valide.\n"
-
-#: ../src/dhcp-manager/nm-dhcp-dhclient.c:89
-msgid "# Created by NetworkManager\n"
-msgstr "# Creato da NetworkManager\n"
-
-#: ../src/dhcp-manager/nm-dhcp-dhclient.c:95
-#, c-format
-msgid ""
-"# Merged from %s\n"
-"\n"
-msgstr ""
-"# Unito da %s\n"
-"\n"
-
-#: ../src/named-manager/nm-named-manager.c:256
-msgid "NOTE: the libc resolver may not support more than 3 nameservers."
-msgstr "NOTA: il risolutore glibc non supporta più di 3 server di nomi."
-
-#: ../src/named-manager/nm-named-manager.c:258
-msgid "The nameservers listed below may not be recognized."
-msgstr "I server di nomi elencati sotto non possono essere riconosciuti."
-
-#: ../system-settings/src/main.c:366
-#, c-format
-msgid "Auto %s"
-msgstr "Auto %s"
-
-#: ../libnm-util/crypto.c:125
+#: ../libnm-util/crypto.c:120
#, c-format
msgid "PEM key file had no end tag '%s'."
msgstr "Il file di chiave PEM non ha tag di chiusura \"%s\""
-#: ../libnm-util/crypto.c:135
+#: ../libnm-util/crypto.c:130
#, c-format
msgid "Doesn't look like a PEM private key file."
msgstr "Non sembra un file di chiave privata PEM."
-#: ../libnm-util/crypto.c:143
+#: ../libnm-util/crypto.c:138
#, c-format
msgid "Not enough memory to store PEM file data."
-msgstr "Memoria non sufficiente per memorizzare i dati del file PEM."
+msgstr "Memoria non sufficiente per archiviare i dati del file PEM."
-#: ../libnm-util/crypto.c:159
+#: ../libnm-util/crypto.c:154
#, c-format
msgid "Malformed PEM file: Proc-Type was not first tag."
msgstr "File PEM malformato: Proc-Type non è il primo tag."
-#: ../libnm-util/crypto.c:167
+#: ../libnm-util/crypto.c:162
#, c-format
msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
msgstr "File PEM malformato: tag Proc-Type \"%s\" sconosciuto."
-#: ../libnm-util/crypto.c:177
+#: ../libnm-util/crypto.c:172
#, c-format
msgid "Malformed PEM file: DEK-Info was not the second tag."
msgstr "File PEM malformato: DEK-Info non è il secondo tag."
-#: ../libnm-util/crypto.c:188
+#: ../libnm-util/crypto.c:183
#, c-format
msgid "Malformed PEM file: no IV found in DEK-Info tag."
msgstr "File PEM malformato: IV non trovato nel tag DEK-Info."
-#: ../libnm-util/crypto.c:195
+#: ../libnm-util/crypto.c:190
#, c-format
msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
-msgstr "File PEM malformato: formato di IV nel tag DEK-Info non valido. "
+msgstr "File PEM malformato: formato di IV nel tag DEK-Info non valido."
-#: ../libnm-util/crypto.c:208
+#: ../libnm-util/crypto.c:203
#, c-format
msgid "Malformed PEM file: unknown private key cipher '%s'."
-msgstr "File PEM malformato: cifrario chiave privata \"%s\" sconosciuto."
+msgstr "File PEM malformato: cifrario a chiave privata \"%s\" sconosciuto."
-#: ../libnm-util/crypto.c:227
+#: ../libnm-util/crypto.c:222
#, c-format
msgid "Could not decode private key."
msgstr "Impossibile decodificare la chiave privata."
-#: ../libnm-util/crypto.c:271
+#: ../libnm-util/crypto.c:267
#, c-format
msgid "PEM certificate '%s' had no end tag '%s'."
msgstr "Il certificato PEM \"%s\" non ha il tag di chiusura \"%s\"."
-#: ../libnm-util/crypto.c:281
+#: ../libnm-util/crypto.c:277
#, c-format
msgid "Failed to decode certificate."
msgstr "Decodifica del certificato fallita."
-#: ../libnm-util/crypto.c:290 ../libnm-util/crypto.c:298
+#: ../libnm-util/crypto.c:286
#, c-format
msgid "Not enough memory to store certificate data."
msgstr "Memoria non sufficiente per archiviare i dati del certificato."
-#: ../libnm-util/crypto.c:328
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "Memoria non sufficiente per archiviare i dati del file."
+
+#: ../libnm-util/crypto.c:324
#, c-format
msgid "IV must be an even number of bytes in length."
msgstr "IV deve essere lungo un numero pari di byte"
-#: ../libnm-util/crypto.c:337
+#: ../libnm-util/crypto.c:333
#, c-format
msgid "Not enough memory to store the IV."
msgstr "Memoria non sufficiente per archiviare l'IV."
-#: ../libnm-util/crypto.c:348
+#: ../libnm-util/crypto.c:344
#, c-format
msgid "IV contains non-hexadecimal digits."
msgstr "IV contiene cifre non esadecimali."
-#: ../libnm-util/crypto.c:386 ../libnm-util/crypto_gnutls.c:143
-#: ../libnm-util/crypto_nss.c:157
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
#, c-format
msgid "Private key cipher '%s' was unknown."
-msgstr "Il cifrario di chiave privata \"%s\" è sconosciuto."
+msgstr "Il cifrario a chiave privata \"%s\" è sconosciuto."
-#: ../libnm-util/crypto.c:395
+#: ../libnm-util/crypto.c:391
#, c-format
-msgid "Not enough memory to create private key decryption key."
-msgstr ""
-"Memoria non sufficiente per creare la chiave di decifrazione della chiave "
-"privata."
+msgid "Not enough memory to decrypt private key."
+msgstr "Memoria non sufficiente per decifrare la chiave privata."
-#: ../libnm-util/crypto.c:513
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "Impossibile determinare il tipo di chiave privata."
+
+#: ../libnm-util/crypto.c:530
#, c-format
msgid "Not enough memory to store decrypted private key."
msgstr "Memoria non sufficiente per archiviare la chiave privata decifrata."
-#: ../libnm-util/crypto_gnutls.c:45
+#: ../libnm-util/crypto_gnutls.c:46
msgid "Failed to initialize the crypto engine."
msgstr "Inizializzazione del motore di cifratura fallita."
-#: ../libnm-util/crypto_gnutls.c:89
+#: ../libnm-util/crypto_gnutls.c:90
#, c-format
msgid "Failed to initialize the MD5 engine: %s / %s."
-msgstr "Inizializzazione del motore MD5 fallita: %s /%s"
+msgstr "Inizializzazione del motore MD5 fallita: %s / %s"
-#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:166
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
#, c-format
msgid "Not enough memory for decrypted key buffer."
msgstr "Memoria non sufficiente per il buffer della chiave decifrata."
@@ -226,57 +160,177 @@ msgstr "Impostazione di IV per la decifrazione fallita: %s / %s."
msgid "Failed to decrypt the private key: %s / %s."
msgstr "Decifrazione della chiave privata fallita: %s / %s."
-#: ../libnm-util/crypto_gnutls.c:225
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "Decifrazione della chiave privata fallita."
+
+#: ../libnm-util/crypto_gnutls.c:235
#, c-format
msgid "Error initializing certificate data: %s"
msgstr "Errore nell'inizializzare i dati dei certificati: %s"
-#: ../libnm-util/crypto_gnutls.c:237
+#: ../libnm-util/crypto_gnutls.c:257
#, c-format
msgid "Couldn't decode certificate: %s"
-msgstr "Impossibile decodificare il certificato: %s"
+msgstr "Impossibile decifrare il certificato: %s"
-#: ../libnm-util/crypto_nss.c:52
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "Impossibile inizializzare il decifratore PKCS#12: %s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "Impossibile decifrare il file PKCS#12: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "Impossibile verificare il file PKCS#12: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
#, c-format
msgid "Failed to initialize the crypto engine: %d."
msgstr "Inizializzazione del motore di cifratura fallita: %d."
-#: ../libnm-util/crypto_nss.c:98
+#: ../libnm-util/crypto_nss.c:111
#, c-format
msgid "Failed to initialize the MD5 context: %d."
msgstr "Inizializzazione del contesto MD5 fallita: %d."
-#: ../libnm-util/crypto_nss.c:174
+#: ../libnm-util/crypto_nss.c:186
#, c-format
msgid "Failed to initialize the decryption cipher slot."
-msgstr "Inizializzazione del slot del decifratore fallita."
+msgstr "Inizializzazione dello slot del decifratore fallita."
-#: ../libnm-util/crypto_nss.c:184
+#: ../libnm-util/crypto_nss.c:196
#, c-format
msgid "Failed to set symmetric key for decryption."
msgstr "Impostazione della chiave simmetrica di decifrazione fallita."
-#: ../libnm-util/crypto_nss.c:194
+#: ../libnm-util/crypto_nss.c:206
#, c-format
msgid "Failed to set IV for decryption."
msgstr "Impostazione di IV per la decifrazione fallita."
-#: ../libnm-util/crypto_nss.c:202
+#: ../libnm-util/crypto_nss.c:214
#, c-format
msgid "Failed to initialize the decryption context."
msgstr "Inizializzazione del contesto di decifrazione fallita."
-#: ../libnm-util/crypto_nss.c:215
+#: ../libnm-util/crypto_nss.c:227
#, c-format
msgid "Failed to decrypt the private key: %d."
msgstr "Decifrazione della chiave privata fallita: %d."
-#: ../libnm-util/crypto_nss.c:227
+#: ../libnm-util/crypto_nss.c:239
#, c-format
msgid "Failed to finalize decryption of the private key: %d."
msgstr "Finalizzazione della decifrazione della chiave privata fallita: %d."
-#: ../libnm-util/crypto_nss.c:271
+#: ../libnm-util/crypto_nss.c:284
#, c-format
msgid "Couldn't decode certificate: %d"
-msgstr "Impossibile decodificare il certificato: %d"
+msgstr "Impossibile decifrare il certificato: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "Impossibile convertire la password in UCS2: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "Impossibile inizializzare il decifratore PKCS#12: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "Impossibile decifrare il file PKCS#12: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "Impossibile verificare il file PKCS#12: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "errore nell'elaborazione del messaggio netlink: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr ""
+"impossibile allocare un handle netlink per monitorare lo stato del "
+"collegamento: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr ""
+"impossibile collegarsi a netlink per monitorare lo stato del collegamento: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr ""
+"impossibile unirsi a un gruppo netlink per monitorare lo stato del "
+"collegamento: %s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr ""
+"impossibile allocare la cache dei collegamenti netlink per monitorare lo "
+"stato del collegamento: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "errore nell'aggiornamento della cache del collegamento: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "si è verificato un errore durante l'attesa dei dati sul socket"
+
+#: ../src/NetworkManager.c:294
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr ""
+"Opzione non valida. Usare --help per ottenere un elenco delle opzioni "
+"valide.\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:96
+msgid "# Created by NetworkManager\n"
+msgstr "# Creato da NetworkManager\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:102
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# Unito da %s\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:256
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr ""
+"NOTA: il risolutore glibc potrebbe non supportare più di 3 server di nomi."
+
+#: ../src/named-manager/nm-named-manager.c:258
+msgid "The nameservers listed below may not be recognized."
+msgstr "I server di nomi elencati sotto potrebbero non essere riconosciuti."
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2149
+msgid "System"
+msgstr "Sistema"
+
+#: ../system-settings/src/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "Auto %s"
diff --git a/po/kn.po b/po/kn.po
new file mode 100644
index 000000000..999ee84b0
--- /dev/null
+++ b/po/kn.po
@@ -0,0 +1,333 @@
+# translation of NetworkManager.po.master.kn.po to Kannada
+# Kannada translation of NetworkManager.
+# Copyright (C) 2009 NetworkManager's COPYRIGHT HOLDER
+# This file is distributed under the same license as the NetworkManager package.
+#
+# Shankar Prasad , 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: NetworkManager.po.master.kn\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-06-15 03:24+0000\n"
+"PO-Revision-Date: 2009-06-15 14:24+0530\n"
+"Last-Translator: Shankar Prasad \n"
+"Language-Team: Kannada \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#: ../libnm-util/crypto.c:120
+#, c-format
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM ಕೀಲಿ ಕಡತವು ಯಾವುದೆ ಅಂತ್ಯ ಟ್ಯಾಗ್ '%s' ಅನ್ನು ಹೊಂದಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:130
+#, c-format
+msgid "Doesn't look like a PEM private key file."
+msgstr "ಒಂದು PEM ಖಾಸಗಿ ಕೀಲಿ ಕಡತದಂತೆ ತೋರುತ್ತಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:138
+#, c-format
+msgid "Not enough memory to store PEM file data."
+msgstr "PEM ಕಡತ ದತ್ತಾಂಶವನ್ನು ಶೇಖರಿಸಿಡಲು ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto.c:154
+#, c-format
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "ತಪ್ಪಾಗಿರುವ PEM ಕಡತ: Proc-ಬಗೆಯು ಮೊದಲಿನ ಟ್ಯಾಗ್ ಆಗಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:162
+#, c-format
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "ತಪ್ಪಾಗಿರುವ PEM ಕಡತ: ಗೊತ್ತಿರದ Proc-ಬಗೆಯ ಟ್ಯಾಗ್ '%s'."
+
+#: ../libnm-util/crypto.c:172
+#, c-format
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "ತಪ್ಪಾಗಿರುವ PEM ಕಡತ: DEK-Info ಯು ಎರಡನೆ ಟ್ಯಾಗ್ ಆಗಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:183
+#, c-format
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "ತಪ್ಪಾಗಿರುವ PEM ಕಡತ: DEK-Info ಟ್ಯಾಗ್ನಲ್ಲಿ ಯಾವುದೆ IV ಕಂಡುಬಂದಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:190
+#, c-format
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "ತಪ್ಪಾಗಿರುವ PEM ಕಡತ: DEK-Info ಟ್ಯಾಗ್ನಲ್ಲಿ IV ಯ ಅಮಾನ್ಯವಾದ ವಿನ್ಯಾಸ."
+
+#: ../libnm-util/crypto.c:203
+#, c-format
+msgid "Malformed PEM file: unknown private key cipher '%s'."
+msgstr "ತಪ್ಪಾಗಿರುವ PEM ಕಡತ: ಗೊತ್ತಿರದ ಖಾಸಗಿ ಕೀಲಿ ಸಿಫರ್ '%s'."
+
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕೋಡ್ ಮಾಡಲಾಗಲಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "PEM ಪ್ರಮಾಣಪತ್ರ '%s' ಯಾವುದೆ ಅಂತ್ಯ ಟ್ಯಾಗ್ '%s' ಅನ್ನು ಹೊಂದಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು ಡೀಕೋಡ್ ಮಾಡಲು ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "ಪ್ರಮಾಣಪತ್ರ ದತ್ತಾಂಶವನ್ನು ಶೇಖರಿಸಿಡಲು ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "ಕಡತ ದತ್ತಾಂಶವನ್ನು ಶೇಖರಿಸಿಡಲು ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
+msgstr "IV ಯ ಉದ್ದವು ಸರಿ ಸಂಖ್ಯೆಯ ಬೈಟ್ಗಳಂದ ಆಗಿರಬೇಕು."
+
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "IV ಅನ್ನು ಶೇಖರಿಸಿಡಲು ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "IV ಯು ಹೆಕ್ಸಾ-ದಶಮಾಂಶ ಅಲ್ಲದ ಅಂಕೆಗಳನ್ನು ಹೊಂದಿದೆ."
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
+msgstr "ಖಾಸಗಿ ಕೀಲಿ ಸಿಫರ್ '%s' ತಿಳಿದಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯ ಬಗೆಯನ್ನು ನಿರ್ಧರಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ."
+
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಶೇಖರಿಸಿಡಲು ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "ಕ್ರಿಪ್ಟೋ ಎಂಜಿನ್ ಅನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "MD5 ಎಂಜಿನ್ ಅನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲಾದ ಬಫರಿಗಾಗಿ ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ."
+
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
+msgstr "ಡೀಕ್ರಿಪ್ಸ್ ಮಾಡುವ ಸಿಫರ್ ಸಂದರ್ಭವನ್ನು ಆರಂಭಗೊಳಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:169
+#, c-format
+msgid "Failed to set symmetric key for decryption: %s / %s."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸಿಮಿಟ್ರಿಕ್ ಕೀಲಿಯನ್ನು ಹೊಂದಿಸಲು ವಿಫಲಗೊಂಡಿದೆ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:178
+#, c-format
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು IV ಅನ್ನು ಹೊಂದಿಸಲು ವಿಫಲಗೊಂಡಿದೆ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:187
+#, c-format
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto_gnutls.c:235
+#, c-format
+msgid "Error initializing certificate data: %s"
+msgstr "ಪ್ರಮಾಣಪತ್ರ ದತ್ತಾಂಶವನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ದೋಷ ಉಂಟಾಗಿದೆ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು ಡೀಕೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "PKCS#12 ಡೀಕೋಡರ್ ಅನ್ನು ಆರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "PKCS#12 ಕಡತವನ್ನು ಡೀಕೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "PKCS#12 ಕಡತವನ್ನು ಪರಿಶೀಲಿಸಲಾಗಿಲ್ಲ: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "ಕ್ರಿಪ್ಟೊ ಎಂಜಿನ್ ಅನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %d."
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "MD5 ಸಂದರ್ಭವನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %d."
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
+msgstr "ಡೀಕ್ರಪ್ಟ್ ಮಾಡಲಾಗುವ ಸಿಫರ್ ಜಾಗವನ್ನು ಆರಂಭಿಸಲು ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು ಸಿಮಿಟ್ರಿಕ್ ಕೀಲಿಯನ್ನು ಹೊಂದಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto_nss.c:206
+#, c-format
+msgid "Failed to set IV for decryption."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲು IV ಅನ್ನು ಹೊಂದಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto_nss.c:214
+#, c-format
+msgid "Failed to initialize the decryption context."
+msgstr "ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವ ಸನ್ನಿವೇಶವನ್ನು ಆರಂಭಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ."
+
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %d."
+
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "ಖಾಸಗಿ ಕೀಲಿಯನ್ನು ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡುವಿಕೆಯನ್ನು ಪೂರ್ಣಗೊಳಿಸುವಲ್ಲಿ ವಿಫಲಗೊಂಡಿದೆ: %d."
+
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "ಪ್ರಮಾಣಪತ್ರವನ್ನು ಡೀಕೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "ಗುಪ್ತಪದವನ್ನು UCS2 ಗೆ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "PKCS#12 ಡೀಕೋಡರ್ ಅನ್ನು ಆರಂಭಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "PKCS#12 ಕಡತವನ್ನು ಡೀಕೋಡ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "PKCS#12 ಕಡತವನ್ನು ಖಚಿತಪಡಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "ನೆಟ್ಲಿಂಕ್ ಸಂದೇಶವನ್ನು ಸಂಸ್ಕರಿಸುವಲ್ಲಿ ದೋಷ ಉಂಟಾಗಿದೆ: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "ಕೊಂಡಿಯ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ನಡೆಸಲು ನೆಟ್ಲಿಂಕ್ ಹ್ಯಾಂಡಲ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "ಕೊಂಡಿಯ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ನಡೆಸಲು ನೆಟ್ಲಿಂಕ್ನೊಂದಿಗೆ ಸಂಪರ್ಕ ಜೋಡಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "ಕೊಂಡಿಯ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ನಡೆಸಲು ನೆಟ್ಲಿಂಕ್ ಗುಂಪನ್ನು ಸೇರಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "ಕೊಂಡಿಯ ಸ್ಥಿತಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ನಡೆಸಲು ನೆಟ್ಲಿಂಕ್ ಕೊಂಡಿ ಕ್ಯಾಶೆಯನ್ನು ನಿಯೋಜಿಸಲು ಸಾಧ್ಯವಾಗಿಲ್ಲ: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "ಕೊಂಡಿ ಕ್ಯಾಶೆಯನ್ನು ಅಪ್ಡೇಟ್ ಮಾಡುವಾಗ ದೋಷ ಉಂಟಾಗಿದೆ: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "ಸಾಕೆಟ್ನಲ್ಲಿ ದತ್ತಾಂಶಕ್ಕಾಗಿ ಕಾಯುವಾಗ ದೋಷವು ಎದುರಾಗಿದೆ"
+
+#: ../src/NetworkManager.c:329
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "ಅಮಾನ್ಯವಾದ ಆಯ್ಕೆ. ಮಾನ್ಯವಾದ ಆಯ್ಕೆಗಳಿಗಾಗಿ ದಯವಿಟ್ಟು --help ಅನ್ನು ನೋಡಿ.\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97
+msgid "# Created by NetworkManager\n"
+msgstr "# NetworkManager ನಿಂದ ನಿರ್ಮಿಸಲಾಗಿದೆ\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# %s ಇಂದ ಒಗ್ಗೂಡಿಸಲಾಗಿದೆ\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:255
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "ಸೂಚನೆ: libc ಪರಿಹಾರಕವು(ರಿಸಾಲ್ವರ್) ೩ ನಾಮಪರಿಚಾರಕಗಳಿಗಿಂತ ಹೆಚ್ಚಿನವುಗಳನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ."
+
+#: ../src/named-manager/nm-named-manager.c:257
+msgid "The nameservers listed below may not be recognized."
+msgstr "ಈ ಕೆಳಗೆ ಸೂಚಿಸಲಾದ ನಾಮಪರಿಚಾರಕಗಳನ್ನು ಗುರುತಿಸಲಾಗಿಲ್ಲ."
+
+#: ../src/system-settings/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "ಸ್ವಯಂ %s"
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2168
+msgid "System"
+msgstr "ಗಣಕ"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Modify system connections"
+msgstr "ವ್ಯವಸ್ಥೆಯ ಸಂಪರ್ಕಗಳನ್ನು ಮಾರ್ಪಡಿಸು"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "System policy prevents modification of system settings"
+msgstr "ವ್ಯವಸ್ಥೆಯ ಸಂಪರ್ಕಗಳನ್ನು ಮಾರ್ಪಡಿಸದಂತೆ ವ್ಯವಸ್ಥೆಯ ನಿಯಮಗಳು ತಡೆಯುತ್ತಿವೆ"
+
diff --git a/po/mr.po b/po/mr.po
new file mode 100644
index 000000000..97988390d
--- /dev/null
+++ b/po/mr.po
@@ -0,0 +1,332 @@
+# translation of NetworkManager.master.po to marathi
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Sandeep Shedmake , 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: NetworkManager.master\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-06-08 03:24+0000\n"
+"PO-Revision-Date: 2009-06-08 13:08+0530\n"
+"Last-Translator: Sandeep Shedmake \n"
+"Language-Team: marathi\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n"
+
+#: ../libnm-util/crypto.c:120
+#, c-format
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM कि फाइल अंतर्गत समाप्त टॅघ '%s' आढळले नाही."
+
+#: ../libnm-util/crypto.c:130
+#, c-format
+msgid "Doesn't look like a PEM private key file."
+msgstr "PEM वैयक्तिक कि फाइल नुरूप आढळले नाही."
+
+#: ../libnm-util/crypto.c:138
+#, c-format
+msgid "Not enough memory to store PEM file data."
+msgstr "PEM फाइल माहिती साठवण्याकरीता स्मृती शिल्लक नाही."
+
+#: ../libnm-util/crypto.c:154
+#, c-format
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "सदोषीत PEM फाइल: Proc-Type प्रथम टॅग नव्हते."
+
+#: ../libnm-util/crypto.c:162
+#, c-format
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "सदोषीत PEM फाइल: अपरिचीत Proc-Type टॅग '%s'."
+
+#: ../libnm-util/crypto.c:172
+#, c-format
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "सदोषीत PEM फाइल: DEK-Info दूसरे टॅग नव्हते."
+
+#: ../libnm-util/crypto.c:183
+#, c-format
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "सदोषीत PEM फाइल: DEK-Info टॅग अंतर्गत IV आढळले नाही."
+
+#: ../libnm-util/crypto.c:190
+#, c-format
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "सदोषीत PEM फाइल:DEK-Info टॅग अंतर्गत IV चे अवैध स्वरूप आढळे."
+
+#: ../libnm-util/crypto.c:203
+#, c-format
+msgid "Malformed PEM file: unknown private key cipher '%s'."
+msgstr "सदोषीत PEM फाइल: अपरिचीत वैयक्तिक सीफर कि '%s'."
+
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "वैयक्तिक कि डिकोड करू शकले नाही."
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "PEM प्रमाणपत्र '%s' had no end tag '%s'."
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "प्रमाणपत्र डिकोड करण्यास अपयशी."
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "प्रमाणपत्र माहिती साठवण्याकरीता स्मृती शिल्लक नाही."
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "फाइल माहिती साठवण्याकरीता स्मृती शिल्लक नाही."
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
+msgstr "IV ची लांबी सम बाईटस् ची संख्या असायला हवी."
+
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "IV साठवण्याकरीता स्मृती शिल्ल्क नाही."
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "IV अंतर्गत non-hexadecimal अंक."
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
+msgstr "वैयक्तिक कि सिफर '%s' अपरिचीत नुरूप आढळले."
+
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "फाइल माहिती साठवण्याकरीता स्मृती शिल्लक नाही."
+
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "वैयक्तिक कि प्रकार ओळखणे अशक्य."
+
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "जुणी वैयक्तिक कि साठवण्याकरीता स्मृती शिल्ल्क नाही."
+
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "क्रिप्टो इंजीन प्रारंभ करण्यास अपयशी."
+
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "MD5 इंजीन प्रारंभ करण्यास अपयशी: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "जुणे कि बफर करीता स्मृती शिल्लक नाही."
+
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
+msgstr "डिक्रीपशन सिफर संदर्भ प्रारंभ करण्यास अपयशी: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:169
+#, c-format
+msgid "Failed to set symmetric key for decryption: %s / %s."
+msgstr "डिक्रीपशन करीता सम कि निश्चित करण्यास अपयशी: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:178
+#, c-format
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "डिक्रीपशन करीता IV निश्चित करण्यास अपयशी: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:187
+#, c-format
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "वैयक्तिक कि डिक्रीप्ट करण्यास अपयशी: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "वैयक्तिक कि डिक्रीप्ट करण्यास अपयशी."
+
+#: ../libnm-util/crypto_gnutls.c:235
+#, c-format
+msgid "Error initializing certificate data: %s"
+msgstr "प्रमाण माहिती प्रारंभ करण्यास त्रुटी: %s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "प्रमाणपत्र डिकोड करण्यास अशक्य: %s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "PKCS#12 डिकोडर प्रारंभ करण्यास अशक्य: %s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "PKCS#12 फाइल डिकोड करण्यास अपयशी: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "PKCS#12 फाइल तपासण्यास अशक्य: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "क्रिप्टो इंजीन प्रारंभ करण्यास अपयशी: %d."
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "MD5 संदर्भ प्रारंभ करण्यास अपयशी: %d."
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
+msgstr "डिक्रीपशन सिफर क्षेत्र प्रारंभ करण्यास अपयशी."
+
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
+msgstr "डिक्रीपशन करीता सम कि निश्चित करण्यास अपयशी."
+
+#: ../libnm-util/crypto_nss.c:206
+#, c-format
+msgid "Failed to set IV for decryption."
+msgstr "डिक्रीपशन करीता IV निश्चित करण्यास अपयशी."
+
+#: ../libnm-util/crypto_nss.c:214
+#, c-format
+msgid "Failed to initialize the decryption context."
+msgstr "डिक्रीपशन संदर्भ प्रारंभ करण्यास अपयशी."
+
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "वैयक्तिक कि डिक्रीप्ट करण्यास अपयशी: %d."
+
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "वैयक्तिक किचे डिक्रीपशन ठरविण्यास अपयशी: %d."
+
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "प्रमाणपत्र डिकोड करणे अशक्य: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "परवलीचा शब्द UCS2 नुरूप रूपांतरन अशक्य: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "PKCS#12 डिकोडर प्रारंभ करण्यास अशक्य: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "PKCS#12 फाइल डिकोड करण्यास अशक्य: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "PKCS#12 फाइल तपास करण्यास अशक्य: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "netlink संदेश विश्लेषीत करतेवेळी त्रुटी: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "दुवा स्थिती नियंत्रीत करण्याकरीता netlink handle चे वाटप अशक्य: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "दुवा स्थिती नियंत्रीत करण्याकरीता netlink शी जुळवणी स्थापीत करणे अशक्य: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "दुवा स्थिती नियंत्रीत करण्याकरीता netlink गट शी जुळवणी स्थापीत करणे अशक्य: %s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "दुवा स्थिती नियंत्रीत करण्याकरीता netlink दुवा कॅशे वाटप करणे अशक्य: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "दुवा कॅशे अद्ययावत करतेवेळी त्रुटी: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "सॉकेट वरील माहिती करीता प्रतिक्षा करतेवेळी त्रुटी आढळली"
+
+#: ../src/NetworkManager.c:296
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "अवैध पर्याय. वैध पर्यायची यादी पहाण्याकरीता कृपया --help वापरा.\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97
+msgid "# Created by NetworkManager\n"
+msgstr "# NetworkManager द्वारे निर्मीत\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# %s पासून एकत्रीत केले\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:255
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "NOTE: libc resolver 3 पेक्षा जास्त nameservers करीता समर्थन पुरवू शकणार नाही."
+
+#: ../src/named-manager/nm-named-manager.c:257
+msgid "The nameservers listed below may not be recognized."
+msgstr "खालिल यादीतील nameservers अनोळखी राहतील."
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2142
+msgid "System"
+msgstr "प्रणाली"
+
+#: ../system-settings/src/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "स्वयं %s"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Modify system connections"
+msgstr "प्रणाली जुळवणी संपादीत करा"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "System policy prevents modification of system settings"
+msgstr "प्रणाली करार, प्रणाली संयोजना संपादीत करण्यापासून रोखतो"
+
diff --git a/po/pl.po b/po/pl.po
index 26f5e1292..bcee37a9b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,5 +1,3 @@
-# translation of networkmanager to Polish
-# Copyright (C) 2001-2008 Free Software Foundation, Inc.
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
# Aviary.pl
# Jeśli masz jakiekolwiek uwagi odnoszące się do tłumaczenia lub chcesz
@@ -8,12 +6,12 @@
# -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
msgid ""
msgstr ""
-"Project-Id-Version: networkmanager\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-15 20:58+0100\n"
-"PO-Revision-Date: 2008-11-19 20:18+0100\n"
-"Last-Translator: Tomasz Dominikowski \n"
-"Language-Team: Aviary.pl \n"
+"Project-Id-Version: NetworkManager\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-08-27 03:24+0000\n"
+"PO-Revision-Date: 2009-09-09 01:47+0200\n"
+"Last-Translator: Piotr Drąg \n"
+"Language-Team: Polish \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -21,73 +19,6 @@ msgstr ""
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: Poland\n"
-#: ../src/nm-netlink-monitor.c:195
-#: ../src/nm-netlink-monitor.c:476
-#, c-format
-msgid "error processing netlink message: %s"
-msgstr "błąd podczas przetwarzania komunikatu netlink: %s"
-
-#: ../src/nm-netlink-monitor.c:252
-#, c-format
-msgid "unable to allocate netlink handle for monitoring link status: %s"
-msgstr "nie można utworzyć uchwytu netlink dla monitorowania statusu połączenia: %s"
-
-#: ../src/nm-netlink-monitor.c:262
-#, c-format
-msgid "unable to connect to netlink for monitoring link status: %s"
-msgstr "nie można połączyć się z netlink dla monitorowania statusu połączenia: %s"
-
-#: ../src/nm-netlink-monitor.c:270
-#, c-format
-msgid "unable to join netlink group for monitoring link status: %s"
-msgstr "nie można dołączyć do grupy netlink dla monitorowania statusu połączenia: %s"
-
-#: ../src/nm-netlink-monitor.c:278
-#, c-format
-msgid "unable to allocate netlink link cache for monitoring link status: %s"
-msgstr "nie można utworzyć buforów połączenia netlink dla monitorowania statusu połączenia: %s"
-
-#: ../src/nm-netlink-monitor.c:441
-#, c-format
-msgid "error updating link cache: %s"
-msgstr "błąd podczas aktualizacji bufora link: %s"
-
-#: ../src/nm-netlink-monitor.c:499
-#, c-format
-msgid "error occurred while waiting for data on socket"
-msgstr "napotkano błąd podczas oczekiwania na dane"
-
-#: ../src/NetworkManager.c:252
-#, c-format
-msgid "Invalid option. Please use --help to see a list of valid options.\n"
-msgstr "Błędna opcja. Parametr --help wyświetla listę poprawnych opcji.\n"
-
-#: ../src/dhcp-manager/nm-dhcp-dhclient.c:88
-msgid "# Created by NetworkManager\n"
-msgstr "# Utworzony przez NetworkManager\n"
-
-#: ../src/dhcp-manager/nm-dhcp-dhclient.c:94
-#, c-format
-msgid ""
-"# Merged from %s\n"
-"\n"
-msgstr ""
-"# Scalony od %s\n"
-"\n"
-
-#: ../src/named-manager/nm-named-manager.c:256
-msgid "NOTE: the libc resolver may not support more than 3 nameservers."
-msgstr "UWAGA: obsługa nazw libc nie obsługuje więcej niż 3 serwery nazw."
-
-#: ../src/named-manager/nm-named-manager.c:258
-msgid "The nameservers listed below may not be recognized."
-msgstr "Poniższe serwery nazw nie mogą nie zostać rozpoznane."
-
-#: ../system-settings/src/main.c:376
-#, c-format
-msgid "Auto %s"
-msgstr "Auto %s"
-
#: ../libnm-util/crypto.c:120
#, c-format
msgid "PEM key file had no end tag '%s'."
@@ -183,7 +114,7 @@ msgstr "Nieznany szyfr klucza prywatnego \"%s\"."
#: ../libnm-util/crypto.c:391
#, c-format
msgid "Not enough memory to decrypt private key."
-msgstr "Brak wystarczającej ilości pamięci do zdeszyfrowania klucza prywatnego."
+msgstr "Brak wystarczającej ilości pamięci do odszyfrowania klucza prywatnego."
#: ../libnm-util/crypto.c:511
#, c-format
@@ -193,7 +124,7 @@ msgstr "Nieudane określenie typu klucza prywatnego."
#: ../libnm-util/crypto.c:530
#, c-format
msgid "Not enough memory to store decrypted private key."
-msgstr "Brak wystarczającej ilości pamięci do przechowania zdeszyfrowanego klucza prywatnego."
+msgstr "Brak wystarczającej ilości pamięci do przechowania odszyfrowanego klucza prywatnego."
#: ../libnm-util/crypto_gnutls.c:46
msgid "Failed to initialize the crypto engine."
@@ -208,32 +139,32 @@ msgstr "Nieudana inicjacja modułu MD5: %s / %s."
#: ../libnm-util/crypto_nss.c:178
#, c-format
msgid "Not enough memory for decrypted key buffer."
-msgstr "Brak wystarczającej ilości pamięci dla zdeszyfrowanego bufora klucza."
+msgstr "Brak wystarczającej ilości pamięci dla bufora odszyfrowanego klucza."
#: ../libnm-util/crypto_gnutls.c:160
#, c-format
msgid "Failed to initialize the decryption cipher context: %s / %s."
-msgstr "Nieudana inicjacja kontekstu szyfru do deszyfrowania: %s / %s."
+msgstr "Nieudana inicjacja kontekstu szyfru do odszyfrowania: %s / %s."
#: ../libnm-util/crypto_gnutls.c:169
#, c-format
msgid "Failed to set symmetric key for decryption: %s / %s."
-msgstr "Nieudane ustawienie klucza symetrycznego do deszyfrowania: %s / %s."
+msgstr "Nieudane ustawienie klucza symetrycznego do odszyfrowania: %s / %s."
#: ../libnm-util/crypto_gnutls.c:178
#, c-format
msgid "Failed to set IV for decryption: %s / %s."
-msgstr "Nieudane ustawienie IV do deszyfrowania: %s / %s."
+msgstr "Nieudane ustawienie IV do odszyfrowania: %s / %s."
#: ../libnm-util/crypto_gnutls.c:187
#, c-format
msgid "Failed to decrypt the private key: %s / %s."
-msgstr "Nieudane zdeszyfrowanie klucza prywatnego: %s / %s."
+msgstr "Nieudane odszyfrowanie klucza prywatnego: %s / %s."
#: ../libnm-util/crypto_gnutls.c:200
#, c-format
msgid "Failed to decrypt the private key."
-msgstr "Nieudane zdeszyfrowanie klucza prywatnego."
+msgstr "Nieudane odszyfrowanie klucza prywatnego."
#: ../libnm-util/crypto_gnutls.c:235
#, c-format
@@ -253,7 +184,7 @@ msgstr "Nie można zainicjować dekodera PKCS#12: %s"
#: ../libnm-util/crypto_gnutls.c:294
#, c-format
msgid "Couldn't decode PKCS#12 file: %s"
-msgstr "Nie można było zdeszyfrować pliku PKCS#12: %s"
+msgstr "Nie można było odszyfrować pliku PKCS#12: %s"
#: ../libnm-util/crypto_gnutls.c:306
#, c-format
@@ -261,6 +192,7 @@ msgid "Couldn't verify PKCS#12 file: %s"
msgstr "Nie można było zweryfikować pliku PKCS#12: %s"
#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
#, c-format
msgid "Failed to initialize the crypto engine: %d."
msgstr "Nieudana inicjacja modułu szyfrowania: %d."
@@ -273,32 +205,32 @@ msgstr "Nieudana inicjacja kontekstu MD5: %d."
#: ../libnm-util/crypto_nss.c:186
#, c-format
msgid "Failed to initialize the decryption cipher slot."
-msgstr "Nieudana inicjacja slotu szyfru do deszyfrowania."
+msgstr "Nieudana inicjacja slotu szyfru do odszyfrowania."
#: ../libnm-util/crypto_nss.c:196
#, c-format
msgid "Failed to set symmetric key for decryption."
-msgstr "Nieudane ustawienie klucza symetrycznego do deszyfrowania."
+msgstr "Nieudane ustawienie klucza symetrycznego do odszyfrowania."
#: ../libnm-util/crypto_nss.c:206
#, c-format
msgid "Failed to set IV for decryption."
-msgstr "Nieudane ustawienie IV do deszyfrowania."
+msgstr "Nieudane ustawienie IV do odszyfrowania."
#: ../libnm-util/crypto_nss.c:214
#, c-format
msgid "Failed to initialize the decryption context."
-msgstr "Nieudana inicjacja kontekstu deszyfrowania."
+msgstr "Nieudana inicjacja kontekstu odszyfrowania."
#: ../libnm-util/crypto_nss.c:227
#, c-format
msgid "Failed to decrypt the private key: %d."
-msgstr "Nieudane zdeszyfrowanie klucza prywatnego: %d."
+msgstr "Nieudane odszyfrowanie klucza prywatnego: %d."
#: ../libnm-util/crypto_nss.c:239
#, c-format
msgid "Failed to finalize decryption of the private key: %d."
-msgstr "Nieudane ukończenie deszyfrowania klucza prywatnego: %d."
+msgstr "Nieudane ukończenie odszyfrowania klucza prywatnego: %d."
#: ../libnm-util/crypto_nss.c:284
#, c-format
@@ -318,278 +250,106 @@ msgstr "Nie można zainicjować dekodera PKCS#12: %d"
#: ../libnm-util/crypto_nss.c:356
#, c-format
msgid "Couldn't decode PKCS#12 file: %d"
-msgstr "Nie można było zdeszyfrować pliku PKCS#12: %d"
+msgstr "Nie można było odszyfrować pliku PKCS#12: %d"
#: ../libnm-util/crypto_nss.c:365
#, c-format
msgid "Couldn't verify PKCS#12 file: %d"
msgstr "Nie można było zweryfikować pliku PKCS#12: %d"
-#~ msgid "Not enough memory to create private key decryption key."
-#~ msgstr ""
-#~ "Brak wystarczającej ilości pamięci do utworzenia klucza deszyfrującego "
-#~ "dla klucza prywatnego."
-#~ msgid "Cannot add VPN connection"
-#~ msgstr "Nie można dodać połączenia VPN"
-#~ msgid ""
-#~ "No suitable VPN software was found on your system. Contact your system "
-#~ "administrator."
-#~ msgstr ""
-#~ "Nie znaleziono oprogramowania dla VPN. Proszę skontaktować się z "
-#~ "administratorem."
-#~ msgid "Cannot import VPN connection"
-#~ msgstr "Nie można zaimportować połączenia VPN"
-#~ msgid ""
-#~ "Cannot find suitable software for VPN connection type '%s' to import the "
-#~ "file '%s'. Contact your system administrator."
-#~ msgstr ""
-#~ "Nie znaleziono oprogramowania dla połączenia VPN typu '%s' do importu "
-#~ "pliku '%s'. Proszę skontaktować się z administratorem."
-#~ msgid "Error retrieving VPN connection '%s'"
-#~ msgstr "Napotkano błąd podczas wyszukiwania połączenia VPN '%s'"
-#~ msgid ""
-#~ "Could not find the UI files for VPN connection type '%s'. Contact your "
-#~ "system administrator."
-#~ msgstr ""
-#~ "Nie znaleziono plików interfejsu dla połączenia VPN typu: '%s'. Proszę "
-#~ "skontaktować się z administratorem."
-#~ msgid "Delete VPN connection \"%s\"?"
-#~ msgstr "Naprawdę usunąć połączenie VPN \"%s\"?"
-#~ msgid ""
-#~ "All information about the VPN connection \"%s\" will be lost and you may "
-#~ "need your system administrator to provide information to create a new "
-#~ "connection."
-#~ msgstr ""
-#~ "Wszystkie dane połączenia VPN \"%s\" zostaną utracone. Utworzenie nowego "
-#~ "połączenia może wymagać udziału administratora sieci."
-#~ msgid "Unable to load"
-#~ msgstr "Nie można odczytać"
-#~ msgid "Cannot find some needed resources (the glade file)!"
-#~ msgstr "Nie można znaleźć plików zasobów (pliki glade)."
-#~ msgid "Create VPN Connection"
-#~ msgstr "Tworzenie połączenia VPN"
-#~ msgid "Edit VPN Connection"
-#~ msgstr "Edytuj połączenia VPN"
-#~ msgid "Add a new VPN connection"
-#~ msgstr "Dodaj połączenie VPN"
-#~ msgid "Delete the selected VPN connection"
-#~ msgstr "Usuń wybrane połączenie VPN"
-#~ msgid "E_xport"
-#~ msgstr "E_ksportuj"
-#~ msgid "Edit the selected VPN connection"
-#~ msgstr "Edytuj wybrane połączenie VPN"
-#~ msgid "Export the VPN settings to a file"
-#~ msgstr "Eksportuj ustawienia VPN do pliku"
-#~ msgid "Export the selected VPN connection to a file"
-#~ msgstr "Eksportuj wybrane połączenie VPN do pliku"
-#~ msgid "Manage Virtual Private Network Connections"
-#~ msgstr "Zarządzanie połączeniami Virtual Private Network"
-#~ msgid "VPN Connections"
-#~ msgstr "Połączenia VPN"
-#~ msgid "40-bit WEP"
-#~ msgstr "40 bitowy WEP"
-#~ msgid "104-bit WEP"
-#~ msgstr "104 bitowy WEP"
-#~ msgid "WPA TKIP"
-#~ msgstr "WPA TKIP"
-#~ msgid "WPA CCMP"
-#~ msgstr "WPA CCMP"
-#~ msgid "WPA Automatic"
-#~ msgstr "WPA Automatic"
-#~ msgid "WPA2 TKIP"
-#~ msgstr "WPA2 TKIP"
-#~ msgid "WPA2 CCMP"
-#~ msgstr "WPA2 CCMP"
-#~ msgid "WPA2 Automatic"
-#~ msgstr "WPA2 Automatic"
-#~ msgid "none"
-#~ msgstr "brak"
-#~ msgid "operation took too long"
-#~ msgstr "operacja zajęła zbyt dużo czasu"
-#~ msgid "received data from wrong type of sender"
-#~ msgstr "otrzymano dane od nadawcy nieprawidłowego typu"
-#~ msgid "received data from unexpected sender"
-#~ msgstr "otrzymano dane od nieoczekiwanego nadawcy"
-#~ msgid "too much data was sent over socket and some of it was lost"
-#~ msgstr "część danych została utracona, ponieważ wysłano ich zbyt dużo"
-#~ msgid "WPA2 Enterprise"
-#~ msgstr "WPA2 Enterprise"
-#~ msgid "WPA Enterprise"
-#~ msgstr "WPA Enterprise"
-#~ msgid "LEAP"
-#~ msgstr "LEAP"
-#~ msgid "Passphrase for wireless network %s"
-#~ msgstr "Hasło dla sieci bezprzewodowej %s"
-#~ msgid "Connection to the wireless network '%s' failed."
-#~ msgstr "Połączenie z siecią bezprzewodową '%s' zakończone niepowodzeniem."
-#~ msgid "Connection to the wired network failed."
-#~ msgstr "Połączenie z siecią przewodową zakończone niepowodzeniem."
-#~ msgid "Error displaying connection information:"
-#~ msgstr "Błąd podczas wyświetlania informacji o połączeniu:"
-#~ msgid "Could not find some required resources (the glade file)!"
-#~ msgstr "Nie znaleziono wymaganych plików zasobów (plik glade)."
-#~ msgid "No active connections!"
-#~ msgstr "Brak aktywnych połączeń."
-#~ msgid "Wired Ethernet (%s)"
-#~ msgstr "Ethernet przewodowy (%s)"
-#~ msgid "Wireless Ethernet (%s)"
-#~ msgstr "Ethernet bezprzewodowy (%s)"
-#~ msgid "NetworkManager Applet"
-#~ msgstr "Aplet NetworkManager"
-#~ msgid ""
-#~ "Copyright © 2004-2006 Red Hat, Inc.\n"
-#~ "Copyright © 2005-2006 Novell, Inc."
-#~ msgstr ""
-#~ "Copyright © 2004-2006 Red Hat, Inc.\n"
-#~ "Copyright © 2005-2006 Novell, Inc."
-#~ msgid ""
-#~ "Notification area applet for managing your network devices and "
-#~ "connections."
-#~ msgstr ""
-#~ "Aplet paska systemowego do zarządzania urządzeniami i połączeniami "
-#~ "sieciowymi."
-#~ msgid "translator-credits"
-#~ msgstr "AviaryPL dla Novell Polska sp. z o.o. 2006"
-#~ msgid ""
-#~ "Copyright © 2004-2005 Red Hat, Inc.\n"
-#~ "Copyright © 2005-2006 Novell, Inc."
-#~ msgstr ""
-#~ "Copyright © 2004-2006 Red Hat, Inc.\n"
-#~ "Copyright © 2005-2006 Novell, Inc."
-#~ msgid "VPN Login Failure"
-#~ msgstr "Błąd logowania VPN"
-#~ msgid "Could not start the VPN connection '%s' due to a login failure."
-#~ msgstr "Nie można uruchomić połączenia VPN '%s' z powodu błędu logowania."
-#~ msgid "VPN Start Failure"
-#~ msgstr "Błąd uruchamiania VPN"
-#~ msgid ""
-#~ "Could not start the VPN connection '%s' due to a failure launching the "
-#~ "VPN program."
-#~ msgstr ""
-#~ "Nie można uruchomić połączenia VPN '%s' z powodu błędu uruchamiania "
-#~ "programu VPN."
-#~ msgid "VPN Connect Failure"
-#~ msgstr "Błąd połączenia VPN"
-#~ msgid "Could not start the VPN connection '%s' due to a connection error."
-#~ msgstr "Nie można uruchomić połączenia VPN '%s' z powodu błędu połączenia."
-#~ msgid "VPN Configuration Error"
-#~ msgstr "Błąd konfiguracji VPN"
-#~ msgid "The VPN connection '%s' was not correctly configured."
-#~ msgstr "Połączenie VPN '%s' nie zostało poprawnie skonfigurowane."
-#~ msgid ""
-#~ "Could not start the VPN connection '%s' because the VPN server did not "
-#~ "return an adequate network configuration."
-#~ msgstr ""
-#~ "Nie można uruchomić połączenia VPN '%s' ponieważ serwer VPN nie zwrócił "
-#~ "odpowiedniej konfiguracji sieci."
-#~ msgid "VPN Login Message"
-#~ msgstr "Wiadomość logowania VPN"
-#~ msgid ""
-#~ "The NetworkManager Applet could not find some required resources (the "
-#~ "glade file was not found)."
-#~ msgstr ""
-#~ "Nie znaleziono wymaganych przez aplet NetworkManager plików zasobów "
-#~ "(pliku glade)."
-#~ msgid "The network device \"%s (%s)\" does not support wireless scanning."
-#~ msgstr "Urządzenie \"%s (%s)\" nie obsługuje skanowania bezprzewodowego."
-#~ msgid "The network device \"%s (%s)\" does not support link detection."
-#~ msgstr "Urządzenie \"%s (%s)\" nie obsługuje wykrywania połączenia."
-#~ msgid "Preparing device %s for the wired network..."
-#~ msgstr "Przygotowywanie urządzenia %s do sieci przewodowej..."
-#~ msgid "Preparing device %s for the wireless network '%s'..."
-#~ msgstr "Przygotowywanie urządzenia %s do sieci bezprzewodowej '%s'..."
-#~ msgid "Configuring device %s for the wired network..."
-#~ msgstr "Konfigurowanie urządzenia %s dla sieci przewodowej..."
-#~ msgid "Attempting to join the wireless network '%s'..."
-#~ msgstr "Próba dołączenia do sieci bezprzewodowej '%s'..."
-#~ msgid "Waiting for Network Key for the wireless network '%s'..."
-#~ msgstr "Oczekiwanie na klucz sieci bezprzewodowej '%s'..."
-#~ msgid "Requesting a network address from the wired network..."
-#~ msgstr "Wysyłanie żądania adresu do sieci przewodowej..."
-#~ msgid "Requesting a network address from the wireless network '%s'..."
-#~ msgstr "Wysyłanie żądania adresu do sieci bezprzewodowej '%s'..."
-#~ msgid "Finishing connection to the wired network..."
-#~ msgstr "Zamykanie połączenia z siecią przewodową..."
-#~ msgid "Finishing connection to the wireless network '%s'..."
-#~ msgstr "Zamykanie połączenia z siecią bezprzewodową '%s'..."
-#~ msgid "NetworkManager is not running"
-#~ msgstr "Aplet NetworkManager nie jest uruchomiony"
-#~ msgid "Networking disabled"
-#~ msgstr "Sieć wyłączona"
-#~ msgid "No network connection"
-#~ msgstr "Brak połączenia sieciowego"
-#~ msgid "Wired network connection"
-#~ msgstr "Połączenie przewodowe"
-#~ msgid "Connected to an Ad-Hoc wireless network"
-#~ msgstr "Połączono z siecią bezprzewodową Ad-Hoc"
-#~ msgid "Wireless network connection to '%s' (%d%%)"
-#~ msgstr "Połączenie bezprzewodowe z '%s' (%d%%)"
-#~ msgid "VPN connection to '%s'"
-#~ msgstr "Połączenie VPN z '%s'"
-#~ msgid "VPN connecting to '%s'"
-#~ msgstr "Łączenie VPN z '%s'"
-#~ msgid "_Connect to Other Wireless Network..."
-#~ msgstr "_Połącz z inną siecią bezprzewodową..."
-#~ msgid "Create _New Wireless Network..."
-#~ msgstr "Utwórz _nową sieć bezprzewodową..."
-#~ msgid "_VPN Connections"
-#~ msgstr "Połączenia _VPN"
-#~ msgid "_Configure VPN..."
-#~ msgstr "_Skonfiguruj VPN..."
-#~ msgid "_Disconnect VPN..."
-#~ msgstr "_Rozłącz VPN..."
-#~ msgid "_Dial Up Connections"
-#~ msgstr "Połączenia wdzwaniane"
-#~ msgid "Connect to %s..."
-#~ msgstr "Połącz z '%s'..."
-#~ msgid "Disconnect from %s..."
-#~ msgstr "Rozłącz z '%s'"
-#~ msgid "No network devices have been found"
-#~ msgstr "Nie znaleziono urządzeń sieciowych"
-#~ msgid "NetworkManager is not running..."
-#~ msgstr "Aplet NetworkManager nie jest uruchomiony..."
-#~ msgid "Enable _Networking"
-#~ msgstr "_Włącz sieć"
-#~ msgid "Enable _Wireless"
-#~ msgstr "Włącz _bezprzewodowe"
-#~ msgid "Connection _Information"
-#~ msgstr "_Informacje o połączeniu"
-#~ msgid "_Help"
-#~ msgstr "_Pomoc"
-#~ msgid "_About"
-#~ msgstr "Inform_acje"
-#~ msgid ""
-#~ "The NetworkManager applet could not find some required resources. It "
-#~ "cannot continue.\n"
-#~ msgstr ""
-#~ "Nie znaleziono wymaganych zasobów. Program NetworkManager zostanie "
-#~ "zamknięty.\n"
-#~ msgid "Open System"
-#~ msgstr "System otwarty"
-#~ msgid "Shared Key"
-#~ msgstr "Klucz współdzielony"
-#~ msgid "Automatic (Default)"
-#~ msgstr "Automatyczny (domyślny)"
-#~ msgid "AES-CCMP"
-#~ msgstr "AES-CCMP"
-#~ msgid "TKIP"
-#~ msgstr "TKIP"
-#~ msgid "Dynamic WEP"
-#~ msgstr "Dynamiczny WEP"
-#~ msgid "None"
-#~ msgstr "Brak"
-#~ msgid "WEP 64/128-bit ASCII"
-#~ msgstr "WEP 64/128-bit ASCII"
-#~ msgid "WEP 64/128-bit Hex"
-#~ msgstr "WEP 64/128-bit Hex"
-#~ msgid "WEP 128-bit Passphrase"
-#~ msgstr "WEP z 128 bitowym hasłem"
-#~ msgid "TLS"
-#~ msgstr "TLS"
-#~ msgid "TTLS"
-#~ msgstr "TTLS"
-#~ msgid "WPA2 Personal"
-#~ msgstr "WPA2 Personal"
-#~ msgid "WPA Personal"
-#~ msgstr "WPA Personal"
+#: ../src/nm-netlink-monitor.c:194
+#: ../src/nm-netlink-monitor.c:464
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "błąd podczas przetwarzania komunikatu netlink: %s"
+#: ../src/nm-netlink-monitor.c:260
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "nie można utworzyć uchwytu netlink dla monitorowania statusu połączenia: %s"
+
+#: ../src/nm-netlink-monitor.c:270
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "nie można połączyć się z netlink dla monitorowania statusu połączenia: %s"
+
+#: ../src/nm-netlink-monitor.c:278
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "nie można dołączyć do grupy netlink dla monitorowania statusu połączenia: %s"
+
+#: ../src/nm-netlink-monitor.c:286
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "nie można utworzyć buforów połączenia netlink dla monitorowania statusu połączenia: %s"
+
+#: ../src/nm-netlink-monitor.c:494
+msgid "error occurred while waiting for data on socket"
+msgstr "napotkano błąd podczas oczekiwania na dane"
+
+#: ../src/NetworkManager.c:330
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "Błędna opcja. Parametr --help wyświetla listę poprawnych opcji.\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304
+msgid "# Created by NetworkManager\n"
+msgstr "# Utworzony przez NetworkManager\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# Scalony od %s\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:315
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "UWAGA: obsługa nazw libc nie obsługuje więcej niż 3 serwery nazw."
+
+#: ../src/named-manager/nm-named-manager.c:317
+msgid "The nameservers listed below may not be recognized."
+msgstr "Poniższe serwery nazw nie mogą nie zostać rozpoznane."
+
+#: ../src/system-settings/nm-default-wired-connection.c:194
+#, c-format
+msgid "Auto %s"
+msgstr "Auto %s"
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2446
+msgid "System"
+msgstr "System"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Connection sharing via a protected WiFi network"
+msgstr "Współdzielenie połączenia przez chronioną sieć WiFi"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "Connection sharing via an open WiFi network"
+msgstr "Współdzielenie połączenia przez otwartą sieć WiFi"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3
+msgid "Modify persistent system hostname"
+msgstr "Modyfikacja trwałej systemowej nazwy komputera"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4
+msgid "Modify system connections"
+msgstr "Modyfikacja połączeń systemowych"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5
+msgid "System policy prevents modification of system settings"
+msgstr "Polityka systemu powstrzymuje modyfikację ustawień systemowych"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6
+msgid "System policy prevents modification of the persistent system hostname"
+msgstr "Polityka systemu powstrzymuje modyfikację trwałej systemowej nazwy komputera"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7
+msgid "System policy prevents sharing connections via a protected WiFi network"
+msgstr "Polityka systemu powstrzymuje współdzielenie połączeń przez chronioną sieć WiFi"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8
+msgid "System policy prevents sharing connections via an open WiFi network"
+msgstr "Polityka systemu powstrzymuje współdzielenie połączeń przez otwartą sieć WiFi"
diff --git a/po/sr@Latn.po b/po/sr@latin.po
similarity index 100%
rename from po/sr@Latn.po
rename to po/sr@latin.po
diff --git a/po/sv.po b/po/sv.po
index 6f3d6d204..f8f2d2b6f 100644
--- a/po/sv.po
+++ b/po/sv.po
@@ -1,16 +1,16 @@
# Swedish messages for NetworkManager.
-# Copyright (C) 2004, 2005, 2006, 2008 Free Software Foundation, Inc.
-# Daniel Nylander , 2006, 2008.
+# Copyright (C) 2004, 2005, 2006, 2008, 2009 Free Software Foundation, Inc.
# Christian Rose , 2004, 2005, 2006.
+# Daniel Nylander , 2006, 2008, 2009.
#
# $Id: sv.po,v 1.14 2006/12/10 18:34:55 dnylande Exp $
#
msgid ""
msgstr ""
"Project-Id-Version: NetworkManager\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2008-11-27 20:53+0100\n"
-"PO-Revision-Date: 2008-11-27 20:55+0100\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-08-27 03:24+0000\n"
+"PO-Revision-Date: 2009-09-05 09:45+0100\n"
"Last-Translator: Daniel Nylander \n"
"Language-Team: Swedish \n"
"MIME-Version: 1.0\n"
@@ -191,6 +191,7 @@ msgid "Couldn't verify PKCS#12 file: %s"
msgstr "Kunde inte verifiera PKCS#12-fil: %s"
#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
#, c-format
msgid "Failed to initialize the crypto engine: %d."
msgstr "Misslyckades med att initiera krypteringsmotorn: %d."
@@ -256,50 +257,45 @@ msgid "Couldn't verify PKCS#12 file: %d"
msgstr "Kunde inte verifiera PKCS#12-fil: %d"
#: ../src/nm-netlink-monitor.c:194
-#: ../src/nm-netlink-monitor.c:454
+#: ../src/nm-netlink-monitor.c:464
#, c-format
msgid "error processing netlink message: %s"
msgstr "fel vid behandling av netlink-meddelande: %s"
-#: ../src/nm-netlink-monitor.c:251
+#: ../src/nm-netlink-monitor.c:260
#, c-format
msgid "unable to allocate netlink handle for monitoring link status: %s"
msgstr "kan inte allokera netlink-handtag för övervakning av länkstatus: %s"
-#: ../src/nm-netlink-monitor.c:261
+#: ../src/nm-netlink-monitor.c:270
#, c-format
msgid "unable to connect to netlink for monitoring link status: %s"
msgstr "kan inte ansluta till netlink för övervakning av länkstatus: %s"
-#: ../src/nm-netlink-monitor.c:269
+#: ../src/nm-netlink-monitor.c:278
#, c-format
msgid "unable to join netlink group for monitoring link status: %s"
msgstr "kan inte gå med i netlink-grupp för övervakning av länkstatus: %s"
-#: ../src/nm-netlink-monitor.c:277
+#: ../src/nm-netlink-monitor.c:286
#, c-format
msgid "unable to allocate netlink link cache for monitoring link status: %s"
msgstr "kan inte allokera netlink-länkcache för övervakning av länkstatus: %s"
-#: ../src/nm-netlink-monitor.c:418
-#, c-format
-msgid "error updating link cache: %s"
-msgstr "fel vid uppdatering av länkcache: %s"
-
-#: ../src/nm-netlink-monitor.c:484
+#: ../src/nm-netlink-monitor.c:494
msgid "error occurred while waiting for data on socket"
msgstr "fel inträffade vid väntan på data i uttaget"
-#: ../src/NetworkManager.c:293
+#: ../src/NetworkManager.c:330
#, c-format
msgid "Invalid option. Please use --help to see a list of valid options.\n"
msgstr "Ogiltig flagga. Använd --help för att se en lista över giltiga flaggor.\n"
-#: ../src/dhcp-manager/nm-dhcp-dhclient.c:88
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304
msgid "# Created by NetworkManager\n"
msgstr "# Skapad av Nätverkshanterare\n"
-#: ../src/dhcp-manager/nm-dhcp-dhclient.c:94
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310
#, c-format
msgid ""
"# Merged from %s\n"
@@ -308,19 +304,59 @@ msgstr ""
"# Sammanfogad från %s\n"
"\n"
-#: ../src/named-manager/nm-named-manager.c:256
+#: ../src/named-manager/nm-named-manager.c:315
msgid "NOTE: the libc resolver may not support more than 3 nameservers."
msgstr "OBSERVERA: uppslag via glibc kanske inte har stöd för fler än 3 namnservrar."
-#: ../src/named-manager/nm-named-manager.c:258
+#: ../src/named-manager/nm-named-manager.c:317
msgid "The nameservers listed below may not be recognized."
msgstr "Namnservrarna listade nedan kanske inte kommer att kännas igen."
-#: ../system-settings/src/main.c:380
+#: ../src/system-settings/nm-default-wired-connection.c:194
#, c-format
msgid "Auto %s"
msgstr "Automatisk %s"
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2446
+#| msgid "Open System"
+msgid "System"
+msgstr "System"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Connection sharing via a protected WiFi network"
+msgstr "Anslutningsdelning via ett skyddat trådlöst nätverk"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "Connection sharing via an open WiFi network"
+msgstr "Anslutningsdelning via ett öppet trådlöst nätverk"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3
+msgid "Modify persistent system hostname"
+msgstr "Ändra bestående värdnamn för systemet"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4
+#| msgid "No active connections!"
+msgid "Modify system connections"
+msgstr "Ändra systemanslutningar"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5
+msgid "System policy prevents modification of system settings"
+msgstr "Systemets policy förhindrar ändring av systeminställningar"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6
+msgid "System policy prevents modification of the persistent system hostname"
+msgstr "Systemets policy förhindrar ändring av bestående värdnamn för systemet"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7
+msgid "System policy prevents sharing connections via a protected WiFi network"
+msgstr "Systemets policy förhindrar delning av anslutningar via ett skyddat trådlöst nätverk"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8
+msgid "System policy prevents sharing connections via an open WiFi network"
+msgstr "Systemets policy förhindrar delning av anslutningar via ett öppet trådlöst nätverk"
+
+#~ msgid "error updating link cache: %s"
+#~ msgstr "fel vid uppdatering av länkcache: %s"
#~ msgid "Not enough memory to create private key decryption key."
#~ msgstr ""
#~ "Inte tillräckligt mycket minne för att skapa dekrypteringsnyckel för "
@@ -343,8 +379,6 @@ msgstr "Automatisk %s"
#~ msgstr "Fel vid visning av anslutningsinformation:"
#~ msgid "Could not find some required resources (the glade file)!"
#~ msgstr "Kunde inte hitta en del nödvändiga resurser (glade-filen)!"
-#~ msgid "No active connections!"
-#~ msgstr "Inga aktiva anslutningar!"
#~ msgid "%d Mb/s"
#~ msgstr "%d Mb/s"
#~ msgid "Wired Ethernet (%s)"
@@ -492,8 +526,6 @@ msgstr "Automatisk %s"
#~ msgstr ""
#~ "Panelprogrammet för nätverkshantering kunde inte hitta en del nödvändiga "
#~ "resurser. Det kan inte fortsätta.\n"
-#~ msgid "Open System"
-#~ msgstr "Öppet system"
#~ msgid "Shared Key"
#~ msgstr "Delad nyckel"
#~ msgid "Automatic (Default)"
diff --git a/po/te.po b/po/te.po
new file mode 100644
index 000000000..5dd39f996
--- /dev/null
+++ b/po/te.po
@@ -0,0 +1,333 @@
+# translation of NetworkManager.po.master.te.po to Telugu
+# Telugu translation of NetworkManager.
+# Copyright (C) 2009 NetworkManager's COPYRIGHT HOLDER
+# This file is distributed under the same license as the NetworkManager package.
+#
+# Krishna Babu K , 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: NetworkManager.po.master.te\n"
+"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=NetworkManager&component=general\n"
+"POT-Creation-Date: 2009-06-12 03:24+0000\n"
+"PO-Revision-Date: 2009-06-12 17:50+0530\n"
+"Last-Translator: Krishna Babu K \n"
+"Language-Team: Telugu \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n!=1);\n\n"
+
+#: ../libnm-util/crypto.c:120
+#, c-format
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM కీ ఫైలు అంత్య టాగ్ '%s' కలిగిలేదు."
+
+#: ../libnm-util/crypto.c:130
+#, c-format
+msgid "Doesn't look like a PEM private key file."
+msgstr "PEM వ్యక్తిగత కీ ఫైలువలె అనిపించుటలేదు."
+
+#: ../libnm-util/crypto.c:138
+#, c-format
+msgid "Not enough memory to store PEM file data."
+msgstr "PEM ఫైలు డాటాను నిల్వవుంచుటకు సరిపోవు మెమొరి లేదు."
+
+#: ../libnm-util/crypto.c:154
+#, c-format
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "తప్పుగావున్న PEM ఫైలు: Proc-Type మొదటి టాగ్ కాదు."
+
+#: ../libnm-util/crypto.c:162
+#, c-format
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "తప్పుగావున్న PEM ఫైలు: తెలియని Proc-Type టాగ్ '%s'."
+
+#: ../libnm-util/crypto.c:172
+#, c-format
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "తప్పుగావున్న PEM దస్త్రము: DEK-Info రెండవ టాగ్ కాదు."
+
+#: ../libnm-util/crypto.c:183
+#, c-format
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "తప్పుగావున్న PEM ఫైలు: DEK-Info టాగ్నందు IV కనబడలేదు."
+
+#: ../libnm-util/crypto.c:190
+#, c-format
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "తప్పుగావున్న PEM ఫైలు: DEK-Info టాగ్నందు చెల్లని ఫార్మాట్."
+
+#: ../libnm-util/crypto.c:203
+#, c-format
+msgid "Malformed PEM file: unknown private key cipher '%s'."
+msgstr "తప్పుగావున్న PEM ఫైలు: తెలియని వ్యక్తిగత కీ సైఫర్ '%s'."
+
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "వ్యక్తిగత కీను డీకోడ్ చేయలేక పోయింది."
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "PEM దృవీకరణపత్రము '%s' అంత్య టాగ్ '%s'ను కలిగిలేదు."
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "దృవీకరణపత్రమును డీకోడ్ చేయుటకు విఫలమైంది."
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "దృవీకరణపత్రము డాటాను నిల్వవుంచుటకు సరిపోని మెమొరి."
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "ఫైల్ డాటాను నిల్వవుంచుటకు సరిపోవు మెమొరీ లేదు."
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
+msgstr "IV పొడవు తప్పక సరిసంఖ్య బైట్లలోనే వుండాలి."
+
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "IV నిల్వవుంచుటకు సరిపోవునంత మెమొరి లేదు."
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "IV నాన్-హెక్సాడెసిమల్ సంఖ్యలను కలిగివుంది."
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
+msgstr "వ్యక్తిగత కీ సైఫర్ '%s' అనునది తెలియనిది."
+
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటకు సరిపోవునంత మెమొరీలేదు."
+
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "వ్యక్తిగత కీ రకమును నిర్ణయించలేక పోయింది."
+
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "డీక్రిప్టు చేసిన వ్యక్తిగత కీను నిల్వవుంచుటకు సరిపోవునంత మెమొరీలేదు."
+
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "క్రిప్టో యింజన్ను సిద్దముచేయుటలో విఫలమైంది."
+
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "MD5 యింజన్ సిద్దము చేయుటలో విఫలమైంది: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "డిక్రిప్టెడ్ కీ బఫర్ కొరకు సరిపోవునంత మెమొరి లేదు."
+
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
+msgstr "డిక్రిప్షన్ సైఫర్ కాంటెస్టును సిద్దము చేయుటలో విఫలమైంది: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:169
+#, c-format
+msgid "Failed to set symmetric key for decryption: %s / %s."
+msgstr "వివరణ కొరకు సిమెట్రిక్ కీను అమర్చుటలో విఫలమైంది: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:178
+#, c-format
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "వివరణ కొరకు IV అమర్చుటలో విఫలమైంది: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:187
+#, c-format
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది: %s / %s."
+
+#: ../libnm-util/crypto_gnutls.c:200
+#, c-format
+msgid "Failed to decrypt the private key."
+msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది."
+
+#: ../libnm-util/crypto_gnutls.c:235
+#, c-format
+msgid "Error initializing certificate data: %s"
+msgstr "దృవీకరణపత్రం డాటాను సిద్దపరచుటలో దోషము: %s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "దృవీకరణపత్రమును డీకోడ్ చేయలేక పోయింది: %s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "PKCS#12 డీకోడర్ను సిద్దపరచలేక పోయింది: %s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "PKCS#12 ఫైలును డీకోడ్ పరచలేక పోయింది: %s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "PKCS#12 ఫైలును నిర్ధారించలేక పోయింది: %s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "క్రిప్టో యింజన్ సిద్దము చేయుటలో విఫలమైంది: %d."
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "MD5 కాంటెస్టును సిద్దము చేయుటలో విఫలమైంది: %d."
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
+msgstr "డిక్రిప్షన్ సైఫర్ స్లాట్ను సిద్దము చేయుటలో విఫలమైంది."
+
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
+msgstr "వివరణ కొరకు సిమెట్రిక్ కీ అమర్చుటలో విఫలమైంది."
+
+#: ../libnm-util/crypto_nss.c:206
+#, c-format
+msgid "Failed to set IV for decryption."
+msgstr "వివరణ కొరకు IV అమర్చుటలో విఫలమైంది."
+
+#: ../libnm-util/crypto_nss.c:214
+#, c-format
+msgid "Failed to initialize the decryption context."
+msgstr "వివరణ సందర్భమును సిద్దపరచుటలో విఫలమైంది."
+
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "వ్యక్తిగత కీను డిక్రిప్టు చేయుటలో విఫలమైంది: %d."
+
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "వ్యక్తిగత కీ యొక్క డిక్రిప్షన్ ఖరారు చేయుటలో విఫలమైంది: %d."
+
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "దృవీకరణపత్రమును డీకోడ్ చేయలేక పోయింది: %d"
+
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "సంకేతపదమును UCS2కు మార్చలేక పోయింది: %d"
+
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "PKCS#12 డీకోడర్ను సిద్దము చేయలేక పోయింది: %d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "PKCS#12 ఫైలు డీకోడ్ చేయలేక పోయింది: %d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "PKCS#12 ఫైలు నిర్దారించలేక పోయింది: %d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:458
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "నెట్లింక్ సందేశమును ప్రోసెసింగ్ చేయుటలో దోషము: %s"
+
+#: ../src/nm-netlink-monitor.c:255
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్లింకు హాండిల్ను కేటాయించలేక పోయింది: %s"
+
+#: ../src/nm-netlink-monitor.c:265
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్లింకుకు అనుసంధానము కాలేకపోయింది: %s"
+
+#: ../src/nm-netlink-monitor.c:273
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్లింకు సమూహమును కలుపలేక పోయింది:%s"
+
+#: ../src/nm-netlink-monitor.c:281
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "లింకు స్థితిని పర్యవేక్షించుటకు నెట్లింకు క్యాచీని కేటాయించలేక పోయింది: %s"
+
+#: ../src/nm-netlink-monitor.c:422
+#, c-format
+msgid "error updating link cache: %s"
+msgstr "లింకు క్యాచీని నవీకరించుటలో దోషము: %s"
+
+#: ../src/nm-netlink-monitor.c:488
+msgid "error occurred while waiting for data on socket"
+msgstr "సాకెట్ నందు డాటా కొరకు వేచివుండునప్పుడు దోషము సంభవించినది"
+
+#: ../src/NetworkManager.c:329
+#, c-format
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "చెల్లని ఐచ్చికము. చెల్లునటువంటి ఐచ్చికముల జాబితా కొరకు --help వుపయోగించండి.\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:97
+msgid "# Created by NetworkManager\n"
+msgstr "# నెట్వర్కునిర్వాహిక ద్వారా సృష్టించబడింది\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:103
+#, c-format
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# %sనుండి కలుపబడింది\n"
+"\n"
+
+#: ../src/named-manager/nm-named-manager.c:255
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "గమనిక: libc రిజాల్వర్ 3 నామపు సేవికలకన్నా యెక్కువ వాటికి మద్దతివ్వలేదు."
+
+#: ../src/named-manager/nm-named-manager.c:257
+msgid "The nameservers listed below may not be recognized."
+msgstr "క్రిందన జాబితాచేసివున్న నామపుసేవికలు గుర్తించబడక పోవచ్చును."
+
+#: ../src/system-settings/nm-default-wired-connection.c:182
+#, c-format
+msgid "Auto %s"
+msgstr "స్వయంచాలక %s"
+
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2168
+msgid "System"
+msgstr "సిస్టమ్"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Modify system connections"
+msgstr "సిస్టమ్ అనుసంధానములను సవరించుము"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "System policy prevents modification of system settings"
+msgstr "సిస్టమ్ అమరికలు సవరించుటకు సిస్టమ్ పాలసి నిరోధిస్తుంది"
+
diff --git a/po/zh_CN.po b/po/zh_CN.po
index fe3eff50a..cf10ebec7 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -1,914 +1,990 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
+# Simplified Chinese translation to NetworkManager
+# Copyright (C) 2009 Free Software Foundation, Inc.
+# This file is distributed under the same license as the NetworkManager package.
# Funda Wang , 2004.
+# Aron Xu , 2009.
#
msgid ""
msgstr ""
"Project-Id-Version: NetworkManager\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2006-05-27 12:26+0200\n"
-"PO-Revision-Date: 2006-05-27 23:35+0800\n"
-"Last-Translator: Funda Wang \n"
-"Language-Team: zh_CN \n"
+"POT-Creation-Date: 2009-09-06 21:44+0800\n"
+"PO-Revision-Date: 2009-09-06 22:25+0800\n"
+"Last-Translator: Aron Xu \n"
+"Language-Team: Simplified Chinese \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
-#: ../gnome/applet/applet-compat.c:171 ../gnome/applet/applet-dbus-info.c:919
+#: ../libnm-util/crypto.c:120
#, c-format
-msgid "Passphrase for wireless network %s"
-msgstr "无线网络 %s 的密码句"
+msgid "PEM key file had no end tag '%s'."
+msgstr "PEM 密钥文件没有结束标记“%s”。"
-#: ../gnome/applet/applet-dbus.c:383
+#: ../libnm-util/crypto.c:130
#, c-format
-msgid "Connection to the wireless network '%s' failed."
-msgstr "到无线网络“%s”的连接失败。"
+msgid "Doesn't look like a PEM private key file."
+msgstr "不像是一个 PEM 私钥文件。"
-#: ../gnome/applet/applet-dbus.c:388
-msgid "Connection to the wired network failed."
-msgstr "连接到有线网络失败。"
-
-#: ../gnome/applet/applet.c:184
-msgid "Error displaying connection information:"
-msgstr "显示连接信息出错:"
-
-#: ../gnome/applet/applet.c:202
-msgid "Could not find some required resources (the glade file)!"
-msgstr "序找不到所需的资源(glade 文件未找到)!"
-
-#: ../gnome/applet/applet.c:213
-msgid "No active connections!"
-msgstr "没有活动的连接!"
-
-#: ../gnome/applet/applet.c:234
+#: ../libnm-util/crypto.c:138
#, c-format
-msgid "Wired Ethernet (%s)"
-msgstr "有线以太网(%s)"
+msgid "Not enough memory to store PEM file data."
+msgstr "没有足够的空间储存 PEM 文件数据"
-#: ../gnome/applet/applet.c:236
+#: ../libnm-util/crypto.c:154
#, c-format
-msgid "Wireless Ethernet (%s)"
-msgstr "无线以太网(%s)"
+msgid "Malformed PEM file: Proc-Type was not first tag."
+msgstr "错误的 PEM 文件格式:Proc-Type 不是第一个标记。"
-#: ../gnome/applet/applet.c:337 ../gnome/applet/applet.c:362
-msgid "NetworkManager Applet"
-msgstr "网络管理器小程序"
-
-#: ../gnome/applet/applet.c:339 ../gnome/applet/applet.c:364
-msgid "Copyright © 2004-2005 Red Hat, Inc."
-msgstr "版权 (C) 2004-2005 Red Hat, Inc."
-
-#: ../gnome/applet/applet.c:340 ../gnome/applet/applet.c:365
-msgid ""
-"Notification area applet for managing your network devices and connections."
-msgstr "管理您网络设备和连接的通知区域小程序"
-
-#: ../gnome/applet/applet.c:343 ../gnome/applet/applet.c:370
-msgid "translator-credits"
-msgstr "Funda Wang "
-
-#: ../gnome/applet/applet.c:426
-msgid "VPN Login Failure"
-msgstr "VPN 登录失败"
-
-#: ../gnome/applet/applet.c:427
+#: ../libnm-util/crypto.c:162
#, c-format
-msgid "Could not start the VPN connection '%s' due to a login failure."
-msgstr "无法启动 VPN 连接“%s”,原因是登录失败。"
+msgid "Malformed PEM file: unknown Proc-Type tag '%s'."
+msgstr "错误的 PEM 文件格式:未知的 Proc-Type 标记“%s”。"
-#: ../gnome/applet/applet.c:431
-msgid "VPN Start Failure"
-msgstr "VPN 启动失败"
-
-#: ../gnome/applet/applet.c:432
+#: ../libnm-util/crypto.c:172
#, c-format
-msgid ""
-"Could not start the VPN connection '%s' due to a failure launching the VPN "
-"program."
-msgstr "无法启动 VPN 连接“%s”,原因是调用 VPN 程序失败。"
+msgid "Malformed PEM file: DEK-Info was not the second tag."
+msgstr "错误的 PEM 文件格式:DEK-Info 不是第二个标记。"
-#: ../gnome/applet/applet.c:436 ../gnome/applet/applet.c:446
-msgid "VPN Connect Failure"
-msgstr "VPN 连接失败"
-
-#: ../gnome/applet/applet.c:437
+#: ../libnm-util/crypto.c:183
#, c-format
-msgid "Could not start the VPN connection '%s' due to a connection error."
-msgstr "无法启动 VPN 连接“%s”,原因是连接出错。"
+msgid "Malformed PEM file: no IV found in DEK-Info tag."
+msgstr "错误的 PEM 文件格式:没有在 DEK-Info 标签找到初始向量。"
-#: ../gnome/applet/applet.c:441
-msgid "VPN Configuration Error"
-msgstr "VPN 配置错误"
-
-#: ../gnome/applet/applet.c:442
+#: ../libnm-util/crypto.c:190
#, c-format
-msgid "The VPN connection '%s' was not correctly configured."
-msgstr "VPN 连接“%s”未正确配置。"
+msgid "Malformed PEM file: invalid format of IV in DEK-Info tag."
+msgstr "错误的 PEM 文件格式:DEK-Info 标签中的初始向量格式无效。"
-#: ../gnome/applet/applet.c:447
+#: ../libnm-util/crypto.c:203
#, c-format
-msgid ""
-"Could not start the VPN connection '%s' because the VPN server did not "
-"return an adequate network configuration."
-msgstr "无法启动 VPN 连接“%s”,原因是 VPN 服务器未返回足够的网络配置。"
-
-#: ../gnome/applet/applet.c:517
-msgid "VPN Login Message"
-msgstr "VPN 登录消息"
-
-#: ../gnome/applet/applet.c:741 ../gnome/applet/applet.c:2508
-#: ../gnome/applet/other-network-dialog.c:453
-#: ../gnome/applet/passphrase-dialog.c:228
-msgid ""
-"The NetworkManager Applet could not find some required resources (the glade "
-"file was not found)."
-msgstr "网络管理器小程序找不到所需的资源(glade 文件未找到)。"
-
-#: ../gnome/applet/applet.c:753
-#, c-format
-msgid "The network device \"%s (%s)\" does not support wireless scanning."
-msgstr "网络设备“%s(%s)”不支持无线扫描。"
-
-#: ../gnome/applet/applet.c:761
-#, c-format
-msgid "The network device \"%s (%s)\" does not support link detection."
-msgstr "网络设备“%s(%s)”不支持链接检测。"
-
-#: ../gnome/applet/applet.c:908
-#, c-format
-msgid "Preparing device %s for the wired network..."
-msgstr "正在为有线网络准备设备 %s..."
-
-#: ../gnome/applet/applet.c:910
-#, c-format
-msgid "Preparing device %s for the wireless network '%s'..."
-msgstr "正在为无线网络“%2$s”准备设备 %1$s..."
-
-#: ../gnome/applet/applet.c:918
-#, c-format
-msgid "Configuring device %s for the wired network..."
-msgstr "正在为有线网络配置设备 %s..."
-
-#: ../gnome/applet/applet.c:920
-#, c-format
-msgid "Attempting to join the wireless network '%s'..."
-msgstr "正在试图加入无线网络“%s”..."
-
-#: ../gnome/applet/applet.c:928
-#, c-format
-msgid "Waiting for Network Key for the wireless network '%s'..."
-msgstr "正在等待无线网络“%s”的网络密钥..."
-
-#: ../gnome/applet/applet.c:936 ../gnome/applet/applet.c:946
-msgid "Requesting a network address from the wired network..."
-msgstr "正在从有线网络请求网络地址..."
-
-#: ../gnome/applet/applet.c:938 ../gnome/applet/applet.c:948
-#, c-format
-msgid "Requesting a network address from the wireless network '%s'..."
-msgstr "正在从无线网络“%s”请求网络地址..."
-
-#: ../gnome/applet/applet.c:956
-msgid "Finishing connection to the wired network..."
-msgstr "正在完成到有线网络的连接..."
-
-#: ../gnome/applet/applet.c:958
-#, c-format
-msgid "Finishing connection to the wireless network '%s'..."
-msgstr "正在完成到无线网络“%s”的连接..."
-
-#: ../gnome/applet/applet.c:1075
-msgid "NetworkManager is not running"
-msgstr "网络管理器未运行"
-
-#: ../gnome/applet/applet.c:1083 ../gnome/applet/applet.c:1828
-msgid "Networking disabled"
-msgstr "网络已禁用"
-
-#: ../gnome/applet/applet.c:1088
-msgid "No network connection"
-msgstr "没有网络连接"
-
-#: ../gnome/applet/applet.c:1093
-msgid "Wired network connection"
-msgstr "有线网络连接"
-
-#: ../gnome/applet/applet.c:1097
-msgid "Connected to an Ad-Hoc wireless network"
-msgstr "已连接到 Ad-Hoc 无线网络"
-
-#: ../gnome/applet/applet.c:1099
-#, c-format
-msgid "Wireless network connection to '%s' (%d%%)"
-msgstr "到“%s”的无线网络连接(%d%%)"
-
-#: ../gnome/applet/applet.c:1120
-#, c-format
-msgid "VPN connection to '%s'"
-msgstr "到“%s”的 VPN 连接"
-
-#: ../gnome/applet/applet.c:1128
-#, c-format
-msgid "VPN connecting to '%s'"
-msgstr "连接到“%s”的 VPN"
-
-#: ../gnome/applet/applet.c:1541
-msgid "_Connect to Other Wireless Network..."
-msgstr "连接到其它无线网络(_C)..."
-
-#: ../gnome/applet/applet.c:1562
-msgid "Create _New Wireless Network..."
-msgstr "创建新的无线网络(_N)..."
-
-#: ../gnome/applet/applet.c:1685
-msgid "_VPN Connections"
-msgstr "_VPN 连接"
-
-#: ../gnome/applet/applet.c:1730
-msgid "_Configure VPN..."
-msgstr "配置 VPN(_C)..."
-
-#: ../gnome/applet/applet.c:1734
-msgid "_Disconnect VPN..."
-msgstr "断开 VPN(_D)..."
-
-#: ../gnome/applet/applet.c:1756
-msgid "_Dial Up Connections"
-msgstr "拨号连接(_D)"
-
-#. FIXME: We should save and then check the state of the devices and show Connect _or_ Disconnect for each item
-#: ../gnome/applet/applet.c:1767
-#, c-format
-msgid "Connect to %s..."
-msgstr "正在连接到 %s..."
-
-#: ../gnome/applet/applet.c:1773
-#, c-format
-msgid "Disconnect from %s..."
-msgstr "正在从 %s 断开..."
-
-#: ../gnome/applet/applet.c:1822
-msgid "No network devices have been found"
-msgstr "没有发现网络设备"
-
-#: ../gnome/applet/applet.c:2014
-msgid "NetworkManager is not running..."
-msgstr "网络管理器未运行..."
-
-#. 'Enable Networking' item
-#: ../gnome/applet/applet.c:2170
-msgid "Enable _Networking"
-msgstr "启用联网(_N)"
-
-#. 'Enable Wireless' item
-#: ../gnome/applet/applet.c:2176
-msgid "Enable _Wireless"
-msgstr "启用无线(_W)"
-
-#. 'Connection Information' item
-#: ../gnome/applet/applet.c:2182
-msgid "Connection _Information"
-msgstr "连接信息(_I)"
-
-#. Help item
-#: ../gnome/applet/applet.c:2193
-msgid "_Help"
-msgstr "帮助(_H)"
-
-#. About item
-#: ../gnome/applet/applet.c:2202
-msgid "_About"
-msgstr "关于(_A)"
-
-#: ../gnome/applet/applet.c:2667
-msgid ""
-"The NetworkManager applet could not find some required resources. It cannot "
-"continue.\n"
-msgstr "网络管理器小程序找不到所需的资源。无法继续。\n"
-
-#: ../gnome/applet/wireless-security-option.c:157
-msgid "Open System"
-msgstr "开放式系统"
-
-#: ../gnome/applet/wireless-security-option.c:160
-msgid "Shared Key"
-msgstr "共享密钥"
-
-#: ../gnome/applet/wireless-security-option.c:208
-msgid "Automatic (Default)"
-msgstr "自动(默认)"
-
-#: ../gnome/applet/wireless-security-option.c:215
-msgid "AES-CCMP"
-msgstr "AES-CCMP"
-
-#: ../gnome/applet/wireless-security-option.c:223
-msgid "TKIP"
-msgstr "TKIP"
-
-#: ../gnome/applet/wireless-security-option.c:231
-msgid "Dynamic WEP"
-msgstr "动态 WEP"
-
-#: ../gnome/applet/wso-none.c:53
-msgid "None"
-msgstr "无"
-
-#: ../gnome/applet/wso-wep-ascii.c:138
-msgid "WEP 64/128-bit ASCII"
-msgstr "WEP 64/128 位 ASCII"
-
-#: ../gnome/applet/wso-wep-hex.c:135
-msgid "WEP 64/128-bit Hex"
-msgstr "WEP 64/128 位十六进制"
-
-#: ../gnome/applet/wso-wep-passphrase.c:135
-msgid "WEP 128-bit Passphrase"
-msgstr "WEP 128 位密码句"
-
-#: ../gnome/applet/wso-wpa-eap.c:237
-msgid "PEAP"
-msgstr "PEAP"
-
-#: ../gnome/applet/wso-wpa-eap.c:238
-msgid "TLS"
-msgstr "TLS"
-
-#: ../gnome/applet/wso-wpa-eap.c:239
-msgid "TTLS"
-msgstr "TTLS"
-
-#: ../gnome/applet/wso-wpa-eap.c:247 ../src/nm-ap-security-wpa-eap.c:92
-#: ../src/nm-ap-security-wpa-eap.c:116
-msgid "WPA2 Enterprise"
-msgstr "WPA2 企业"
-
-#: ../gnome/applet/wso-wpa-eap.c:249 ../src/nm-ap-security-wpa-eap.c:94
-#: ../src/nm-ap-security-wpa-eap.c:121
-msgid "WPA Enterprise"
-msgstr "WPA 企业"
-
-#: ../gnome/applet/wso-wpa-psk.c:178
-msgid "WPA2 Personal"
-msgstr "WPA2 个人"
-
-#: ../gnome/applet/wso-wpa-psk.c:180
-msgid "WPA Personal"
-msgstr "WPA 个人"
-
-#: ../gnome/applet/eggtrayicon.c:134
-msgid "Orientation"
-msgstr "方向"
-
-#: ../gnome/applet/eggtrayicon.c:135
-msgid "The orientation of the tray."
-msgstr "托盘方向。"
-
-#: ../gnome/applet/menu-items.c:88
-#, c-format
-msgid "Wired Network (%s)"
-msgstr "有线网络(%s)"
-
-#: ../gnome/applet/menu-items.c:91
-msgid "_Wired Network"
-msgstr "有线网络(_W)"
-
-#: ../gnome/applet/menu-items.c:162
-#, c-format
-msgid "Wireless Network (%s)"
-msgid_plural "Wireless Networks (%s)"
-msgstr[0] "无线网络(%s)"
-
-#: ../gnome/applet/menu-items.c:164
-msgid "Wireless Network"
-msgid_plural "Wireless Networks"
-msgstr[0] "无线网络"
-
-#: ../gnome/applet/menu-items.c:343
-msgid " (invalid Unicode)"
-msgstr " (无效的 Unicode)"
-
-#: ../gnome/applet/other-network-dialog.c:352
-#, c-format
-msgid ""
-"By default, the wireless network's name is set to your computer's name, %s, "
-"with no encryption enabled"
-msgstr "默认情况下,无线网络的名称会设定为您的计算机名称,%s,如果没有加密的话"
-
-#: ../gnome/applet/other-network-dialog.c:358
-msgid "Create new wireless network"
-msgstr "创建新的无线网络"
-
-#: ../gnome/applet/other-network-dialog.c:359
-msgid ""
-"Enter the name and security settings of the wireless network you wish to "
-"create."
-msgstr "输入您想要创建的无线网络的名称和安全设置。"
-
-#: ../gnome/applet/other-network-dialog.c:363
-msgid "Create New Wireless Network"
-msgstr "创建新的无线网络"
-
-#: ../gnome/applet/other-network-dialog.c:368
-msgid "Existing wireless network"
-msgstr "现有无线网络"
-
-#: ../gnome/applet/other-network-dialog.c:369
-msgid "Enter the name of the wireless network to which you wish to connect."
-msgstr "输入您想要连接的无线网络的名称。"
-
-#: ../gnome/applet/other-network-dialog.c:371
-msgid "Connect to Other Wireless Network"
-msgstr "连接到其它无线网络"
-
-#: ../gnome/applet/passphrase-dialog.c:215
-msgid "Error connecting to wireless network"
-msgstr "连接到无线网络出错"
-
-#: ../gnome/applet/passphrase-dialog.c:216
-msgid ""
-"The requested wireless network requires security capabilities unsupported by "
-"your hardware."
-msgstr "您的硬件不支持请求的无线网络所需的安全特性。"
-
-#: ../gnome/applet/vpn-password-dialog.c:151
-#: ../gnome/applet/vpn-password-dialog.c:188
-#, c-format
-msgid "Cannot start VPN connection '%s'"
-msgstr "无法启动 VPN 连接“%s”"
-
-#: ../gnome/applet/vpn-password-dialog.c:154
-#, c-format
-msgid ""
-"Could not find the authentication dialog for VPN connection type '%s'. "
-"Contact your system administrator."
-msgstr "找不到 VPN 连接类型“%s”的身份验证对话。请联系您的系统管理员。"
-
-#: ../gnome/applet/vpn-password-dialog.c:191
-#, c-format
-msgid ""
-"There was a problem launching the authentication dialog for VPN connection "
-"type '%s'. Contact your system administrator."
-msgstr "调用 VPN 连接类型“%s”的身份验证对话有问题。请联系您的系统管理员。"
-
-#: ../gnome/applet/applet.glade.h:1
-msgid " "
-msgstr " "
-
-#: ../gnome/applet/applet.glade.h:2
-msgid ""
-"Active Connection Information"
-msgstr "活动连接信息"
-
-#: ../gnome/applet/applet.glade.h:4
-#, no-c-format
-msgid ""
-"Passphrase Required by Wireless "
-"Network\n"
-"\n"
-"A passphrase or encryption key is required to access the wireless network '%"
-"s'."
+msgid "Malformed PEM file: unknown private key cipher '%s'."
msgstr ""
-"无线网络需要密码句\n"
-"\n"
-"要访问无线网络“%s”,需要提供密码句或加密密钥。"
-#: ../gnome/applet/applet.glade.h:8
-#, no-c-format
-msgid ""
-"Reduced Network Functionality\n"
-"\n"
-"%s It will not be completely functional."
+#: ../libnm-util/crypto.c:222
+#, c-format
+msgid "Could not decode private key."
+msgstr "无法解码私钥。"
+
+#: ../libnm-util/crypto.c:267
+#, c-format
+msgid "PEM certificate '%s' had no end tag '%s'."
+msgstr "PEM 证书“%s”没有结束标记“%s”。"
+
+#: ../libnm-util/crypto.c:277
+#, c-format
+msgid "Failed to decode certificate."
+msgstr "无法解码证书。"
+
+#: ../libnm-util/crypto.c:286
+#, c-format
+msgid "Not enough memory to store certificate data."
+msgstr "没有足够的空间存储证书数据。"
+
+#: ../libnm-util/crypto.c:294
+#, c-format
+msgid "Not enough memory to store file data."
+msgstr "没有足够的空间储存文件数据。"
+
+#: ../libnm-util/crypto.c:324
+#, c-format
+msgid "IV must be an even number of bytes in length."
msgstr ""
-"削减的网络功能\n"
-"\n"
-"%s 该网络无法完整工作。"
-#: ../gnome/applet/applet.glade.h:12
-#, no-c-format
-msgid ""
-"Wireless Network Login Confirmation"
-"span>\n"
-"\n"
-"You have chosen to log in to the wireless network '%s'. If you are sure "
-"that this wireless network is secure, click the checkbox below and "
-"NetworkManager will not require confirmation on subsequent log ins."
+#: ../libnm-util/crypto.c:333
+#, c-format
+msgid "Not enough memory to store the IV."
+msgstr "没有足够的空间储存初始向量。"
+
+#: ../libnm-util/crypto.c:344
+#, c-format
+msgid "IV contains non-hexadecimal digits."
+msgstr "初始向量中包含非十六进制数字。"
+
+#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143
+#: ../libnm-util/crypto_nss.c:169
+#, c-format
+msgid "Private key cipher '%s' was unknown."
msgstr ""
-"无线网络登录确认\n"
-"\n"
-"您选择登录到无线网络“%s”。如果您确定此无线网络是安全的,请选中下面的复选框,"
-"网络管理器在以后登录时将不会请求确认。"
-#: ../gnome/applet/applet.glade.h:15
-msgid "Anonymous Identity:"
-msgstr "匿名身份:"
+#: ../libnm-util/crypto.c:391
+#, c-format
+msgid "Not enough memory to decrypt private key."
+msgstr "没有足够的空间解密私钥。"
-#: ../gnome/applet/applet.glade.h:16
-msgid "Authentication:"
-msgstr "认证:"
+#: ../libnm-util/crypto.c:511
+#, c-format
+msgid "Unable to determine private key type."
+msgstr "无法确定私钥类型。"
-#: ../gnome/applet/applet.glade.h:17
-msgid "Broadcast Address:"
-msgstr "广播地址:"
+#: ../libnm-util/crypto.c:530
+#, c-format
+msgid "Not enough memory to store decrypted private key."
+msgstr "没有足够的空间储存解密后的私钥。"
-#: ../gnome/applet/applet.glade.h:18
-msgid "CA Certificate File:"
-msgstr "CA 证书文件:"
+#: ../libnm-util/crypto_gnutls.c:46
+msgid "Failed to initialize the crypto engine."
+msgstr "初始化加密引擎失败。"
-#: ../gnome/applet/applet.glade.h:19
-msgid "C_onnect"
-msgstr "连接(_O)"
+#: ../libnm-util/crypto_gnutls.c:90
+#, c-format
+msgid "Failed to initialize the MD5 engine: %s / %s."
+msgstr "初始化 MD5 引擎失败:%s / %s。"
-#: ../gnome/applet/applet.glade.h:20
-msgid "Client Certificate File:"
-msgstr "客户端证书文件:"
+#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178
+#, c-format
+msgid "Not enough memory for decrypted key buffer."
+msgstr "没有足够的空间作为已解密密钥缓冲。"
-#: ../gnome/applet/applet.glade.h:21
-msgid "Connection Information"
-msgstr "连接信息"
-
-#: ../gnome/applet/applet.glade.h:22
-msgid "Default Route:"
-msgstr "默认路由:"
-
-#: ../gnome/applet/applet.glade.h:23
-msgid "Destination Address:"
-msgstr "目的地址:"
-
-#: ../gnome/applet/applet.glade.h:24
-msgid "Driver:"
-msgstr "驱动程序:"
-
-#: ../gnome/applet/applet.glade.h:25
-msgid "EAP Method:"
-msgstr "EAP 方法:"
-
-#: ../gnome/applet/applet.glade.h:26
-msgid "Hardware Address:"
-msgstr "硬件地址:"
-
-#: ../gnome/applet/applet.glade.h:27
-msgid "IP Address:"
-msgstr "IP 地址:"
-
-#: ../gnome/applet/applet.glade.h:28
-msgid "Identity:"
-msgstr "身份:"
-
-#: ../gnome/applet/applet.glade.h:29
-msgid "Interface:"
-msgstr "接口:"
-
-#: ../gnome/applet/applet.glade.h:30
-msgid "Key Type:"
-msgstr "密钥类型:"
-
-#: ../gnome/applet/applet.glade.h:31
-msgid "Key:"
-msgstr "密钥:"
-
-#: ../gnome/applet/applet.glade.h:32
-msgid ""
-"None\n"
-"WEP 128-bit Passphrase\n"
-"WEP 64/128-bit Hex\n"
-"WEP 64/128-bit ASCII\n"
+#: ../libnm-util/crypto_gnutls.c:160
+#, c-format
+msgid "Failed to initialize the decryption cipher context: %s / %s."
msgstr ""
-"无\n"
-"WEP 128 位密码句\n"
-"WEP 64/128 位十六进制\n"
-"WEP 64/128 位 ASCII\n"
-#: ../gnome/applet/applet.glade.h:37
-msgid ""
-"Open System\n"
-"Shared Key"
-msgstr "开放式系统\n共享密钥"
-
-#: ../gnome/applet/applet.glade.h:39
-msgid "Other Wireless Network..."
-msgstr "其它无线网络..."
-
-#: ../gnome/applet/applet.glade.h:40
-msgid "Passphrase:"
-msgstr "密码句:"
-
-#: ../gnome/applet/applet.glade.h:41
-msgid "Password:"
-msgstr "密码:"
-
-#: ../gnome/applet/applet.glade.h:42
-msgid "Primary DNS:"
-msgstr "主 DNS:"
-
-#: ../gnome/applet/applet.glade.h:43
-msgid "Private Key File:"
-msgstr "私钥文件:"
-
-#: ../gnome/applet/applet.glade.h:44
-msgid "Private Key Password:"
-msgstr "私用密钥密码:"
-
-#: ../gnome/applet/applet.glade.h:45
-msgid "Secondary DNS:"
-msgstr "辅 DNS:"
-
-#: ../gnome/applet/applet.glade.h:46
-msgid "Select the CA Certificate File"
-msgstr "选择 CA 证书文件"
-
-#: ../gnome/applet/applet.glade.h:47
-msgid "Select the Client Certificate File"
-msgstr "选择客户端证书文件"
-
-#: ../gnome/applet/applet.glade.h:48
-msgid "Select the Private Key File"
-msgstr "选择私钥文件"
-
-#: ../gnome/applet/applet.glade.h:49
-msgid "Show key"
-msgstr "显示密钥"
-
-#: ../gnome/applet/applet.glade.h:50
-msgid "Show passphrase"
-msgstr "显示密码句"
-
-#: ../gnome/applet/applet.glade.h:51
-msgid "Show password"
-msgstr "显示密码"
-
-#: ../gnome/applet/applet.glade.h:52
-msgid "Show passwords"
-msgstr "显示密码"
-
-#: ../gnome/applet/applet.glade.h:53
-msgid "Speed:"
-msgstr "速度:"
-
-#: ../gnome/applet/applet.glade.h:54
-msgid "Subnet Mask:"
-msgstr "子网掩码:"
-
-#: ../gnome/applet/applet.glade.h:55
-msgid "Type:"
-msgstr "类型:"
-
-#: ../gnome/applet/applet.glade.h:56
-msgid "User Name:"
-msgstr "用户名:"
-
-#: ../gnome/applet/applet.glade.h:57
-msgid "Wireless Network Key Required"
-msgstr "需要无线网络密钥"
-
-#: ../gnome/applet/applet.glade.h:58
-msgid "Wireless _adapter:"
-msgstr "无线适配器(_A):"
-
-#: ../gnome/applet/applet.glade.h:59
-msgid "_Always Trust this Wireless Network"
-msgstr "总是信任此无线网络(_A)"
-
-#: ../gnome/applet/applet.glade.h:60
-msgid "_Don't remind me again"
-msgstr "以后不再提醒(_D)"
-
-#: ../gnome/applet/applet.glade.h:61
-msgid "_Login to Network"
-msgstr "登录到网络(_L)"
-
-#: ../gnome/applet/applet.glade.h:62
-msgid "_Network Name:"
-msgstr "网络名称(_N):"
-
-#: ../gnome/applet/applet.glade.h:63
-msgid "_Wireless Security:"
-msgstr "无线安全性(_W):"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.c:378
-msgid "Cannot add VPN connection"
-msgstr "无法添加 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.c:380
-msgid ""
-"No suitable VPN software was found on your system. Contact your system "
-"administrator."
-msgstr "您的系统上未找到合适的 VPN 软件。请联系您的系统管理员。"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.c:432
-msgid "Cannot import VPN connection"
-msgstr "无法导入 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.c:434
+#: ../libnm-util/crypto_gnutls.c:169
#, c-format
-msgid ""
-"Cannot find suitable software for VPN connection type '%s' to import the "
-"file '%s'. Contact your system administrator."
+msgid "Failed to set symmetric key for decryption: %s / %s."
msgstr ""
-"找不到合适的软件来导入 VPN 连接类型“%s”的文件“%s”。请联系您的系统管理员。"
-#: ../gnome/vpn-properties/nm-vpn-properties.c:574
+#: ../libnm-util/crypto_gnutls.c:178
#, c-format
-msgid "Error retrieving VPN connection '%s'"
-msgstr "获取 VPN 连接“%s”出错"
+msgid "Failed to set IV for decryption: %s / %s."
+msgstr "为解密设置初始向量失败:%s / %s。"
-#: ../gnome/vpn-properties/nm-vpn-properties.c:577
+#: ../libnm-util/crypto_gnutls.c:187
#, c-format
-msgid ""
-"Could not find the UI files for VPN connection type '%s'. Contact your "
-"system administrator."
-msgstr "找不到 VPN 连接类型“%s”的用户界面文件。请联系您的系统管理员。"
+msgid "Failed to decrypt the private key: %s / %s."
+msgstr "解密私钥失败:%s / %s"
-#: ../gnome/vpn-properties/nm-vpn-properties.c:734
+#: ../libnm-util/crypto_gnutls.c:200
#, c-format
-msgid "Delete VPN connection \"%s\"?"
-msgstr "删除 VPN 连接“%s”吗?"
+msgid "Failed to decrypt the private key."
+msgstr "解密私钥失败。"
-#: ../gnome/vpn-properties/nm-vpn-properties.c:737
+#: ../libnm-util/crypto_gnutls.c:235
#, c-format
-msgid ""
-"All information about the VPN connection \"%s\" will be lost and you may "
-"need your system administrator to provide information to create a new "
-"connection."
+msgid "Error initializing certificate data: %s"
+msgstr "初始化证书数据出错:%s"
+
+#: ../libnm-util/crypto_gnutls.c:257
+#, c-format
+msgid "Couldn't decode certificate: %s"
+msgstr "无法解码证书:%s"
+
+#: ../libnm-util/crypto_gnutls.c:281
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %s"
+msgstr "无法初始化 PKCS#12 解码器:%s"
+
+#: ../libnm-util/crypto_gnutls.c:294
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %s"
+msgstr "无法解码 PKCS#12 文件:%s"
+
+#: ../libnm-util/crypto_gnutls.c:306
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %s"
+msgstr "无法校验 PKCS#12 文件:%s"
+
+#: ../libnm-util/crypto_nss.c:57
+#: ../system-settings/plugins/ifcfg-rh/crypto.c:52
+#, c-format
+msgid "Failed to initialize the crypto engine: %d."
+msgstr "初始化加密引擎失败:%d。"
+
+#: ../libnm-util/crypto_nss.c:111
+#, c-format
+msgid "Failed to initialize the MD5 context: %d."
+msgstr "初始化 MD5 环境失败:%d。"
+
+#: ../libnm-util/crypto_nss.c:186
+#, c-format
+msgid "Failed to initialize the decryption cipher slot."
msgstr ""
-"关于 VPN 连接“%s”的全部信息都将丢失。要创建新连接的话,您就必须请求您的系统管"
-"理员提供相应信息。"
-#: ../gnome/vpn-properties/nm-vpn-properties.c:947
-msgid "Unable to load"
-msgstr "无法装入"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.c:949
-msgid "Cannot find some needed resources (the glade file)!"
-msgstr "找不到所需的资源(glade 文件)!"
-
-#. Edit dialog
-#: ../gnome/vpn-properties/nm-vpn-properties.c:1058
-msgid "Edit VPN Connection"
-msgstr "编辑 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:1
-msgid "Add a new VPN connection"
-msgstr "添加新的 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:2
-msgid "Choose which type of VPN connection you wish to create."
-msgstr "选择您想要创建的 VPN 连接类型。"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:3
-msgid "Connect to:"
-msgstr "连接到:"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:4
-msgid "Create VPN Connection"
-msgstr "创建 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:5
-msgid "Create VPN Connection - 1 of 2"
-msgstr "创建 VPN 连接 - 第一步,共两步"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:6
-msgid "Create VPN Connection - 2 of 2"
-msgstr "创建 VPN 连接 - 第二步,共两步"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:7
-msgid "Delete the selected VPN connection"
-msgstr "删除选中的 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:8
-msgid "E_xport"
-msgstr "导出(_X)"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:9
-msgid "Edit the selected VPN connection"
-msgstr "编辑选中的 VPN 连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:10
-msgid "Export the VPN settings to a file"
-msgstr "将 VPN 设置导出到文件"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:11
-msgid "Export the selected VPN connection to a file"
-msgstr "将选中的 VPN 连接导出到文件"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:12
-msgid "Finish Creating VPN Connection"
-msgstr "创建 VPN 连接完成"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:13
-msgid "Manage Virtual Private Network Connections"
-msgstr "管理虚拟私网连接"
-
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:14
-msgid ""
-"This assistant will guide you through the creation of a connection to a "
-"Virtual Private Network (VPN).\n"
-"\n"
-"It will require some information, such as IP addresses and secrets. Please "
-"see your system administrator to obtain this information."
+#: ../libnm-util/crypto_nss.c:196
+#, c-format
+msgid "Failed to set symmetric key for decryption."
msgstr ""
-"此助手将指引您创建到虚拟私网(VPN)的连接。\n"
-"\n"
-"此向导需要您提供的某些信息,比如 IP 地址和机密问题,您可能需要求助系统管理员"
-"才能知晓。"
-#: ../gnome/vpn-properties/nm-vpn-properties.glade.h:17
-msgid "VPN Connections"
-msgstr "VPN 连接"
-
-#: ../src/nm-ap-security-wep.c:52
-msgid "40-bit WEP"
-msgstr "40 位 WEP"
-
-#: ../src/nm-ap-security-wep.c:54
-msgid "104-bit WEP"
-msgstr "104 位 WEP"
-
-#: ../src/nm-ap-security-wpa-psk.c:50
-msgid "WPA TKIP"
-msgstr "WPA TKIP"
-
-#: ../src/nm-ap-security-wpa-psk.c:52
-msgid "WPA CCMP"
-msgstr "WPA CCMP"
-
-#: ../src/nm-ap-security-wpa-psk.c:54
-msgid "WPA Automatic"
-msgstr "WPA 自动"
-
-#: ../src/nm-ap-security-wpa-psk.c:59
-msgid "WPA2 TKIP"
-msgstr "WPA2 TKIP"
-
-#: ../src/nm-ap-security-wpa-psk.c:61
-msgid "WPA2 CCMP"
-msgstr "WPA2 CCMP"
-
-#: ../src/nm-ap-security-wpa-psk.c:63
-msgid "WPA2 Automatic"
-msgstr "WPA2 自动"
-
-#: ../src/nm-ap-security.c:320
-msgid "none"
-msgstr "无"
-
-#: ../src/nm-netlink-monitor.c:170
+#: ../libnm-util/crypto_nss.c:206
#, c-format
-msgid ""
-"unable to create netlink socket for monitoring wired ethernet devices - %s"
-msgstr "无法创建监视有线以太网设备的网络连接套接字 - %s"
+msgid "Failed to set IV for decryption."
+msgstr "为解密设置初始向量失败。"
-#: ../src/nm-netlink-monitor.c:188
+#: ../libnm-util/crypto_nss.c:214
#, c-format
-msgid ""
-"unable to bind to netlink socket for monitoring wired ethernet devices - %s"
-msgstr "无法绑定到监视有线以太网设备的网络连接套接字 - %s"
+msgid "Failed to initialize the decryption context."
+msgstr "初始化解密环境失败。"
-#: ../src/nm-netlink-monitor.c:425
-msgid "operation took too long"
-msgstr "操作时间太长"
+#: ../libnm-util/crypto_nss.c:227
+#, c-format
+msgid "Failed to decrypt the private key: %d."
+msgstr "解密私钥失败:%d。"
-#: ../src/nm-netlink-monitor.c:522
-msgid "received data from wrong type of sender"
-msgstr "从错误的发送者类型收到数据"
+#: ../libnm-util/crypto_nss.c:239
+#, c-format
+msgid "Failed to finalize decryption of the private key: %d."
+msgstr "结束解密私钥失败:%d。"
-#: ../src/nm-netlink-monitor.c:535
-msgid "received data from unexpected sender"
-msgstr "从未知的发送者收到数据"
+#: ../libnm-util/crypto_nss.c:284
+#, c-format
+msgid "Couldn't decode certificate: %d"
+msgstr "无法解码证书:%d"
-#: ../src/nm-netlink-monitor.c:664
-msgid "too much data was sent over socket and some of it was lost"
-msgstr "向套接字发送的数据太多,其中有些已经丢失"
+#: ../libnm-util/crypto_nss.c:319
+#, c-format
+msgid "Couldn't convert password to UCS2: %d"
+msgstr "无法将密码转换为 USC2 方式:%d"
-#: ../src/nm-netlink-monitor.c:774
+#: ../libnm-util/crypto_nss.c:347
+#, c-format
+msgid "Couldn't initialize PKCS#12 decoder: %d"
+msgstr "无法初始化 PKCS#12 解码器:%d"
+
+#: ../libnm-util/crypto_nss.c:356
+#, c-format
+msgid "Couldn't decode PKCS#12 file: %d"
+msgstr "无法解码 PKCS#12 文件:%d"
+
+#: ../libnm-util/crypto_nss.c:365
+#, c-format
+msgid "Couldn't verify PKCS#12 file: %d"
+msgstr "无法校验 PKCS#12 文件:%d"
+
+#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:464
+#, c-format
+msgid "error processing netlink message: %s"
+msgstr "处理网路信息出错:%s"
+
+#: ../src/nm-netlink-monitor.c:260
+#, c-format
+msgid "unable to allocate netlink handle for monitoring link status: %s"
+msgstr "无法为监视连接状态分配网路句柄:%s"
+
+#: ../src/nm-netlink-monitor.c:270
+#, c-format
+msgid "unable to connect to netlink for monitoring link status: %s"
+msgstr "无法为监视连接状态连接到网路:%s"
+
+#: ../src/nm-netlink-monitor.c:278
+#, c-format
+msgid "unable to join netlink group for monitoring link status: %s"
+msgstr "无法为监视连接状态加入网路组:%s"
+
+#: ../src/nm-netlink-monitor.c:286
+#, c-format
+msgid "unable to allocate netlink link cache for monitoring link status: %s"
+msgstr "无法为监视连接状态分配网路连接:%s"
+
+#: ../src/nm-netlink-monitor.c:494
msgid "error occurred while waiting for data on socket"
msgstr "等候套接字上的数据时发生了错误"
-#: ../gnome/applet/applet-dbus-devices.c:922
+#: ../src/NetworkManager.c:330
#, c-format
-msgid "You are now connected to the Ad-Hoc wireless network '%s'."
-msgstr "您现在已连接到 Ad-Hoc 无线网络“%s”。"
+msgid "Invalid option. Please use --help to see a list of valid options.\n"
+msgstr "无效选项。请使用 --help 查看有效选项列表。\n"
-#: ../gnome/applet/applet-dbus-devices.c:927
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304
+msgid "# Created by NetworkManager\n"
+msgstr "# 由 NetworkManger 创建\n"
+
+#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310
#, c-format
-msgid "You are now connected to the wireless network '%s'."
-msgstr "您现在已连接到无线网络“%s”。"
+msgid ""
+"# Merged from %s\n"
+"\n"
+msgstr ""
+"# 合并自 %s\n"
+"\n"
-#: ../gnome/applet/applet-dbus-devices.c:934
-msgid "You are now connected to the wired network."
-msgstr "您现在已连接到有线网络。"
+#: ../src/named-manager/nm-named-manager.c:315
+msgid "NOTE: the libc resolver may not support more than 3 nameservers."
+msgstr "注意:libc 解析器可能不支持超过三个名字服务器。"
-#: ../gnome/applet/applet-dbus-devices.c:940
-msgid "Connection Established"
-msgstr "连接已建立"
+#: ../src/named-manager/nm-named-manager.c:317
+msgid "The nameservers listed below may not be recognized."
+msgstr "以下列出的名字服务器可能无法被识别。"
-#: ../gnome/applet/applet-dbus-devices.c:983
-msgid "Disconnected"
-msgstr "已断开连接"
+#: ../src/system-settings/nm-default-wired-connection.c:194
+#, c-format
+msgid "Auto %s"
+msgstr "自动 %s"
-#: ../gnome/applet/applet-dbus-devices.c:984
-msgid "The network connection has been disconnected."
-msgstr "网络连接现已断开。"
+#: ../system-settings/plugins/ifcfg-rh/reader.c:2446
+msgid "System"
+msgstr "系统"
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1
+msgid "Connection sharing via a protected WiFi network"
+msgstr "通过受保护的 WiFi 网络共享连接"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:2
+msgid "Connection sharing via an open WiFi network"
+msgstr "通过公开 WiFi 网络共享连接"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:3
+msgid "Modify persistent system hostname"
+msgstr "更改系统固有主机名"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:4
+msgid "Modify system connections"
+msgstr "更改系统连接"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:5
+msgid "System policy prevents modification of system settings"
+msgstr "系统策略阻止更改系统设置"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6
+msgid "System policy prevents modification of the persistent system hostname"
+msgstr "系统策略阻止更改系统固有主机名"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:7
+msgid "System policy prevents sharing connections via a protected WiFi network"
+msgstr "系统策略阻止使用受保护的 WiFi 网络共享连接"
+
+#: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:8
+msgid "System policy prevents sharing connections via an open WiFi network"
+msgstr "系统策略组织使用公开 WiFi 网络共享连接"
+
+#~ msgid "Passphrase for wireless network %s"
+#~ msgstr "无线网络 %s 的密码句"
+
+#~ msgid "Connection to the wireless network '%s' failed."
+#~ msgstr "到无线网络“%s”的连接失败。"
+
+#~ msgid "Connection to the wired network failed."
+#~ msgstr "连接到有线网络失败。"
+
+#~ msgid "Error displaying connection information:"
+#~ msgstr "显示连接信息出错:"
+
+#~ msgid "Could not find some required resources (the glade file)!"
+#~ msgstr "序找不到所需的资源(glade 文件未找到)!"
+
+#~ msgid "Wired Ethernet (%s)"
+#~ msgstr "有线以太网(%s)"
+
+#~ msgid "Wireless Ethernet (%s)"
+#~ msgstr "无线以太网(%s)"
+
+#~ msgid "NetworkManager Applet"
+#~ msgstr "网络管理器小程序"
+
+#~ msgid "Copyright © 2004-2005 Red Hat, Inc."
+#~ msgstr "版权 (C) 2004-2005 Red Hat, Inc."
+
+#~ msgid ""
+#~ "Notification area applet for managing your network devices and "
+#~ "connections."
+#~ msgstr "管理您网络设备和连接的通知区域小程序"
+
+#~ msgid "translator-credits"
+#~ msgstr "Funda Wang "
+
+#~ msgid "VPN Login Failure"
+#~ msgstr "VPN 登录失败"
+
+#~ msgid "Could not start the VPN connection '%s' due to a login failure."
+#~ msgstr "无法启动 VPN 连接“%s”,原因是登录失败。"
+
+#~ msgid "VPN Start Failure"
+#~ msgstr "VPN 启动失败"
+
+#~ msgid ""
+#~ "Could not start the VPN connection '%s' due to a failure launching the "
+#~ "VPN program."
+#~ msgstr "无法启动 VPN 连接“%s”,原因是调用 VPN 程序失败。"
+
+#~ msgid "VPN Connect Failure"
+#~ msgstr "VPN 连接失败"
+
+#~ msgid "Could not start the VPN connection '%s' due to a connection error."
+#~ msgstr "无法启动 VPN 连接“%s”,原因是连接出错。"
+
+#~ msgid "VPN Configuration Error"
+#~ msgstr "VPN 配置错误"
+
+#~ msgid "The VPN connection '%s' was not correctly configured."
+#~ msgstr "VPN 连接“%s”未正确配置。"
+
+#~ msgid ""
+#~ "Could not start the VPN connection '%s' because the VPN server did not "
+#~ "return an adequate network configuration."
+#~ msgstr "无法启动 VPN 连接“%s”,原因是 VPN 服务器未返回足够的网络配置。"
+
+#~ msgid "VPN Login Message"
+#~ msgstr "VPN 登录消息"
+
+#~ msgid ""
+#~ "The NetworkManager Applet could not find some required resources (the "
+#~ "glade file was not found)."
+#~ msgstr "网络管理器小程序找不到所需的资源(glade 文件未找到)。"
+
+#~ msgid "The network device \"%s (%s)\" does not support wireless scanning."
+#~ msgstr "网络设备“%s(%s)”不支持无线扫描。"
+
+#~ msgid "The network device \"%s (%s)\" does not support link detection."
+#~ msgstr "网络设备“%s(%s)”不支持链接检测。"
+
+#~ msgid "Preparing device %s for the wired network..."
+#~ msgstr "正在为有线网络准备设备 %s..."
+
+#~ msgid "Preparing device %s for the wireless network '%s'..."
+#~ msgstr "正在为无线网络“%2$s”准备设备 %1$s..."
+
+#~ msgid "Configuring device %s for the wired network..."
+#~ msgstr "正在为有线网络配置设备 %s..."
+
+#~ msgid "Attempting to join the wireless network '%s'..."
+#~ msgstr "正在试图加入无线网络“%s”..."
+
+#~ msgid "Waiting for Network Key for the wireless network '%s'..."
+#~ msgstr "正在等待无线网络“%s”的网络密钥..."
+
+#~ msgid "Requesting a network address from the wired network..."
+#~ msgstr "正在从有线网络请求网络地址..."
+
+#~ msgid "Requesting a network address from the wireless network '%s'..."
+#~ msgstr "正在从无线网络“%s”请求网络地址..."
+
+#~ msgid "Finishing connection to the wired network..."
+#~ msgstr "正在完成到有线网络的连接..."
+
+#~ msgid "Finishing connection to the wireless network '%s'..."
+#~ msgstr "正在完成到无线网络“%s”的连接..."
+
+#~ msgid "NetworkManager is not running"
+#~ msgstr "网络管理器未运行"
+
+#~ msgid "Networking disabled"
+#~ msgstr "网络已禁用"
+
+#~ msgid "No network connection"
+#~ msgstr "没有网络连接"
+
+#~ msgid "Wired network connection"
+#~ msgstr "有线网络连接"
+
+#~ msgid "Connected to an Ad-Hoc wireless network"
+#~ msgstr "已连接到 Ad-Hoc 无线网络"
+
+#~ msgid "Wireless network connection to '%s' (%d%%)"
+#~ msgstr "到“%s”的无线网络连接(%d%%)"
+
+#~ msgid "VPN connection to '%s'"
+#~ msgstr "到“%s”的 VPN 连接"
+
+#~ msgid "VPN connecting to '%s'"
+#~ msgstr "连接到“%s”的 VPN"
+
+#~ msgid "_Connect to Other Wireless Network..."
+#~ msgstr "连接到其它无线网络(_C)..."
+
+#~ msgid "Create _New Wireless Network..."
+#~ msgstr "创建新的无线网络(_N)..."
+
+#~ msgid "_VPN Connections"
+#~ msgstr "_VPN 连接"
+
+#~ msgid "_Configure VPN..."
+#~ msgstr "配置 VPN(_C)..."
+
+#~ msgid "_Disconnect VPN..."
+#~ msgstr "断开 VPN(_D)..."
+
+#~ msgid "_Dial Up Connections"
+#~ msgstr "拨号连接(_D)"
+
+#~ msgid "Connect to %s..."
+#~ msgstr "正在连接到 %s..."
+
+#~ msgid "Disconnect from %s..."
+#~ msgstr "正在从 %s 断开..."
+
+#~ msgid "No network devices have been found"
+#~ msgstr "没有发现网络设备"
+
+#~ msgid "NetworkManager is not running..."
+#~ msgstr "网络管理器未运行..."
+
+#~ msgid "Enable _Networking"
+#~ msgstr "启用联网(_N)"
+
+#~ msgid "Enable _Wireless"
+#~ msgstr "启用无线(_W)"
+
+#~ msgid "Connection _Information"
+#~ msgstr "连接信息(_I)"
+
+#~ msgid "_Help"
+#~ msgstr "帮助(_H)"
+
+#~ msgid "_About"
+#~ msgstr "关于(_A)"
+
+#~ msgid ""
+#~ "The NetworkManager applet could not find some required resources. It "
+#~ "cannot continue.\n"
+#~ msgstr "网络管理器小程序找不到所需的资源。无法继续。\n"
+
+#~ msgid "Shared Key"
+#~ msgstr "共享密钥"
+
+#~ msgid "Automatic (Default)"
+#~ msgstr "自动(默认)"
+
+#~ msgid "AES-CCMP"
+#~ msgstr "AES-CCMP"
+
+#~ msgid "TKIP"
+#~ msgstr "TKIP"
+
+#~ msgid "Dynamic WEP"
+#~ msgstr "动态 WEP"
+
+#~ msgid "None"
+#~ msgstr "无"
+
+#~ msgid "WEP 64/128-bit ASCII"
+#~ msgstr "WEP 64/128 位 ASCII"
+
+#~ msgid "WEP 64/128-bit Hex"
+#~ msgstr "WEP 64/128 位十六进制"
+
+#~ msgid "WEP 128-bit Passphrase"
+#~ msgstr "WEP 128 位密码句"
+
+#~ msgid "PEAP"
+#~ msgstr "PEAP"
+
+#~ msgid "TLS"
+#~ msgstr "TLS"
+
+#~ msgid "TTLS"
+#~ msgstr "TTLS"
+
+#~ msgid "WPA2 Enterprise"
+#~ msgstr "WPA2 企业"
+
+#~ msgid "WPA Enterprise"
+#~ msgstr "WPA 企业"
+
+#~ msgid "WPA2 Personal"
+#~ msgstr "WPA2 个人"
+
+#~ msgid "WPA Personal"
+#~ msgstr "WPA 个人"
+
+#~ msgid "Orientation"
+#~ msgstr "方向"
+
+#~ msgid "The orientation of the tray."
+#~ msgstr "托盘方向。"
+
+#~ msgid "Wired Network (%s)"
+#~ msgstr "有线网络(%s)"
+
+#~ msgid "_Wired Network"
+#~ msgstr "有线网络(_W)"
+
+#~ msgid "Wireless Network (%s)"
+#~ msgid_plural "Wireless Networks (%s)"
+#~ msgstr[0] "无线网络(%s)"
+
+#~ msgid "Wireless Network"
+#~ msgid_plural "Wireless Networks"
+#~ msgstr[0] "无线网络"
+
+#~ msgid " (invalid Unicode)"
+#~ msgstr " (无效的 Unicode)"
+
+#~ msgid ""
+#~ "By default, the wireless network's name is set to your computer's name, %"
+#~ "s, with no encryption enabled"
+#~ msgstr ""
+#~ "默认情况下,无线网络的名称会设定为您的计算机名称,%s,如果没有加密的话"
+
+#~ msgid "Create new wireless network"
+#~ msgstr "创建新的无线网络"
+
+#~ msgid ""
+#~ "Enter the name and security settings of the wireless network you wish to "
+#~ "create."
+#~ msgstr "输入您想要创建的无线网络的名称和安全设置。"
+
+#~ msgid "Create New Wireless Network"
+#~ msgstr "创建新的无线网络"
+
+#~ msgid "Existing wireless network"
+#~ msgstr "现有无线网络"
+
+#~ msgid "Enter the name of the wireless network to which you wish to connect."
+#~ msgstr "输入您想要连接的无线网络的名称。"
+
+#~ msgid "Connect to Other Wireless Network"
+#~ msgstr "连接到其它无线网络"
+
+#~ msgid "Error connecting to wireless network"
+#~ msgstr "连接到无线网络出错"
+
+#~ msgid ""
+#~ "The requested wireless network requires security capabilities unsupported "
+#~ "by your hardware."
+#~ msgstr "您的硬件不支持请求的无线网络所需的安全特性。"
+
+#~ msgid "Cannot start VPN connection '%s'"
+#~ msgstr "无法启动 VPN 连接“%s”"
+
+#~ msgid ""
+#~ "Could not find the authentication dialog for VPN connection type '%s'. "
+#~ "Contact your system administrator."
+#~ msgstr "找不到 VPN 连接类型“%s”的身份验证对话。请联系您的系统管理员。"
+
+#~ msgid ""
+#~ "There was a problem launching the authentication dialog for VPN "
+#~ "connection type '%s'. Contact your system administrator."
+#~ msgstr "调用 VPN 连接类型“%s”的身份验证对话有问题。请联系您的系统管理员。"
+
+#~ msgid " "
+#~ msgstr " "
+
+#~ msgid ""
+#~ "Active Connection Information"
+#~ msgstr "活动连接信息"
+
+#~ msgid ""
+#~ "Passphrase Required by Wireless "
+#~ "Network\n"
+#~ "\n"
+#~ "A passphrase or encryption key is required to access the wireless network "
+#~ "'%s'."
+#~ msgstr ""
+#~ "无线网络需要密码句\n"
+#~ "\n"
+#~ "要访问无线网络“%s”,需要提供密码句或加密密钥。"
+
+#~ msgid ""
+#~ "Reduced Network Functionality"
+#~ "span>\n"
+#~ "\n"
+#~ "%s It will not be completely functional."
+#~ msgstr ""
+#~ "削减的网络功能\n"
+#~ "\n"
+#~ "%s 该网络无法完整工作。"
+
+#~ msgid ""
+#~ "Wireless Network Login "
+#~ "Confirmation\n"
+#~ "\n"
+#~ "You have chosen to log in to the wireless network '%s'. If you are sure "
+#~ "that this wireless network is secure, click the checkbox below and "
+#~ "NetworkManager will not require confirmation on subsequent log ins."
+#~ msgstr ""
+#~ "无线网络登录确认\n"
+#~ "\n"
+#~ "您选择登录到无线网络“%s”。如果您确定此无线网络是安全的,请选中下面的复选"
+#~ "框,网络管理器在以后登录时将不会请求确认。"
+
+#~ msgid "Anonymous Identity:"
+#~ msgstr "匿名身份:"
+
+#~ msgid "Authentication:"
+#~ msgstr "认证:"
+
+#~ msgid "Broadcast Address:"
+#~ msgstr "广播地址:"
+
+#~ msgid "CA Certificate File:"
+#~ msgstr "CA 证书文件:"
+
+#~ msgid "C_onnect"
+#~ msgstr "连接(_O)"
+
+#~ msgid "Client Certificate File:"
+#~ msgstr "客户端证书文件:"
+
+#~ msgid "Connection Information"
+#~ msgstr "连接信息"
+
+#~ msgid "Default Route:"
+#~ msgstr "默认路由:"
+
+#~ msgid "Destination Address:"
+#~ msgstr "目的地址:"
+
+#~ msgid "Driver:"
+#~ msgstr "驱动程序:"
+
+#~ msgid "EAP Method:"
+#~ msgstr "EAP 方法:"
+
+#~ msgid "Hardware Address:"
+#~ msgstr "硬件地址:"
+
+#~ msgid "IP Address:"
+#~ msgstr "IP 地址:"
+
+#~ msgid "Identity:"
+#~ msgstr "身份:"
+
+#~ msgid "Interface:"
+#~ msgstr "接口:"
+
+#~ msgid "Key Type:"
+#~ msgstr "密钥类型:"
+
+#~ msgid "Key:"
+#~ msgstr "密钥:"
+
+#~ msgid ""
+#~ "None\n"
+#~ "WEP 128-bit Passphrase\n"
+#~ "WEP 64/128-bit Hex\n"
+#~ "WEP 64/128-bit ASCII\n"
+#~ msgstr ""
+#~ "无\n"
+#~ "WEP 128 位密码句\n"
+#~ "WEP 64/128 位十六进制\n"
+#~ "WEP 64/128 位 ASCII\n"
+
+#~ msgid ""
+#~ "Open System\n"
+#~ "Shared Key"
+#~ msgstr ""
+#~ "开放式系统\n"
+#~ "共享密钥"
+
+#~ msgid "Other Wireless Network..."
+#~ msgstr "其它无线网络..."
+
+#~ msgid "Passphrase:"
+#~ msgstr "密码句:"
+
+#~ msgid "Password:"
+#~ msgstr "密码:"
+
+#~ msgid "Primary DNS:"
+#~ msgstr "主 DNS:"
+
+#~ msgid "Private Key File:"
+#~ msgstr "私钥文件:"
+
+#~ msgid "Private Key Password:"
+#~ msgstr "私用密钥密码:"
+
+#~ msgid "Secondary DNS:"
+#~ msgstr "辅 DNS:"
+
+#~ msgid "Select the CA Certificate File"
+#~ msgstr "选择 CA 证书文件"
+
+#~ msgid "Select the Client Certificate File"
+#~ msgstr "选择客户端证书文件"
+
+#~ msgid "Select the Private Key File"
+#~ msgstr "选择私钥文件"
+
+#~ msgid "Show key"
+#~ msgstr "显示密钥"
+
+#~ msgid "Show passphrase"
+#~ msgstr "显示密码句"
+
+#~ msgid "Show password"
+#~ msgstr "显示密码"
+
+#~ msgid "Show passwords"
+#~ msgstr "显示密码"
+
+#~ msgid "Speed:"
+#~ msgstr "速度:"
+
+#~ msgid "Subnet Mask:"
+#~ msgstr "子网掩码:"
+
+#~ msgid "Type:"
+#~ msgstr "类型:"
+
+#~ msgid "User Name:"
+#~ msgstr "用户名:"
+
+#~ msgid "Wireless Network Key Required"
+#~ msgstr "需要无线网络密钥"
+
+#~ msgid "Wireless _adapter:"
+#~ msgstr "无线适配器(_A):"
+
+#~ msgid "_Always Trust this Wireless Network"
+#~ msgstr "总是信任此无线网络(_A)"
+
+#~ msgid "_Don't remind me again"
+#~ msgstr "以后不再提醒(_D)"
+
+#~ msgid "_Login to Network"
+#~ msgstr "登录到网络(_L)"
+
+#~ msgid "_Network Name:"
+#~ msgstr "网络名称(_N):"
+
+#~ msgid "_Wireless Security:"
+#~ msgstr "无线安全性(_W):"
+
+#~ msgid "Cannot add VPN connection"
+#~ msgstr "无法添加 VPN 连接"
+
+#~ msgid ""
+#~ "No suitable VPN software was found on your system. Contact your system "
+#~ "administrator."
+#~ msgstr "您的系统上未找到合适的 VPN 软件。请联系您的系统管理员。"
+
+#~ msgid "Cannot import VPN connection"
+#~ msgstr "无法导入 VPN 连接"
+
+#~ msgid ""
+#~ "Cannot find suitable software for VPN connection type '%s' to import the "
+#~ "file '%s'. Contact your system administrator."
+#~ msgstr ""
+#~ "找不到合适的软件来导入 VPN 连接类型“%s”的文件“%s”。请联系您的系统管理员。"
+
+#~ msgid "Error retrieving VPN connection '%s'"
+#~ msgstr "获取 VPN 连接“%s”出错"
+
+#~ msgid ""
+#~ "Could not find the UI files for VPN connection type '%s'. Contact your "
+#~ "system administrator."
+#~ msgstr "找不到 VPN 连接类型“%s”的用户界面文件。请联系您的系统管理员。"
+
+#~ msgid "Delete VPN connection \"%s\"?"
+#~ msgstr "删除 VPN 连接“%s”吗?"
+
+#~ msgid ""
+#~ "All information about the VPN connection \"%s\" will be lost and you may "
+#~ "need your system administrator to provide information to create a new "
+#~ "connection."
+#~ msgstr ""
+#~ "关于 VPN 连接“%s”的全部信息都将丢失。要创建新连接的话,您就必须请求您的系"
+#~ "统管理员提供相应信息。"
+
+#~ msgid "Unable to load"
+#~ msgstr "无法装入"
+
+#~ msgid "Cannot find some needed resources (the glade file)!"
+#~ msgstr "找不到所需的资源(glade 文件)!"
+
+#~ msgid "Edit VPN Connection"
+#~ msgstr "编辑 VPN 连接"
+
+#~ msgid "Add a new VPN connection"
+#~ msgstr "添加新的 VPN 连接"
+
+#~ msgid "Choose which type of VPN connection you wish to create."
+#~ msgstr "选择您想要创建的 VPN 连接类型。"
+
+#~ msgid "Connect to:"
+#~ msgstr "连接到:"
+
+#~ msgid "Create VPN Connection"
+#~ msgstr "创建 VPN 连接"
+
+#~ msgid "Create VPN Connection - 1 of 2"
+#~ msgstr "创建 VPN 连接 - 第一步,共两步"
+
+#~ msgid "Create VPN Connection - 2 of 2"
+#~ msgstr "创建 VPN 连接 - 第二步,共两步"
+
+#~ msgid "Delete the selected VPN connection"
+#~ msgstr "删除选中的 VPN 连接"
+
+#~ msgid "E_xport"
+#~ msgstr "导出(_X)"
+
+#~ msgid "Edit the selected VPN connection"
+#~ msgstr "编辑选中的 VPN 连接"
+
+#~ msgid "Export the VPN settings to a file"
+#~ msgstr "将 VPN 设置导出到文件"
+
+#~ msgid "Export the selected VPN connection to a file"
+#~ msgstr "将选中的 VPN 连接导出到文件"
+
+#~ msgid "Finish Creating VPN Connection"
+#~ msgstr "创建 VPN 连接完成"
+
+#~ msgid "Manage Virtual Private Network Connections"
+#~ msgstr "管理虚拟私网连接"
+
+#~ msgid ""
+#~ "This assistant will guide you through the creation of a connection to a "
+#~ "Virtual Private Network (VPN).\n"
+#~ "\n"
+#~ "It will require some information, such as IP addresses and secrets. "
+#~ "Please see your system administrator to obtain this information."
+#~ msgstr ""
+#~ "此助手将指引您创建到虚拟私网(VPN)的连接。\n"
+#~ "\n"
+#~ "此向导需要您提供的某些信息,比如 IP 地址和机密问题,您可能需要求助系统管理"
+#~ "员才能知晓。"
+
+#~ msgid "VPN Connections"
+#~ msgstr "VPN 连接"
+
+#~ msgid "40-bit WEP"
+#~ msgstr "40 位 WEP"
+
+#~ msgid "104-bit WEP"
+#~ msgstr "104 位 WEP"
+
+#~ msgid "WPA TKIP"
+#~ msgstr "WPA TKIP"
+
+#~ msgid "WPA CCMP"
+#~ msgstr "WPA CCMP"
+
+#~ msgid "WPA Automatic"
+#~ msgstr "WPA 自动"
+
+#~ msgid "WPA2 TKIP"
+#~ msgstr "WPA2 TKIP"
+
+#~ msgid "WPA2 CCMP"
+#~ msgstr "WPA2 CCMP"
+
+#~ msgid "WPA2 Automatic"
+#~ msgstr "WPA2 自动"
+
+#~ msgid "none"
+#~ msgstr "无"
+
+#~ msgid "operation took too long"
+#~ msgstr "操作时间太长"
+
+#~ msgid "received data from wrong type of sender"
+#~ msgstr "从错误的发送者类型收到数据"
+
+#~ msgid "received data from unexpected sender"
+#~ msgstr "从未知的发送者收到数据"
+
+#~ msgid "too much data was sent over socket and some of it was lost"
+#~ msgstr "向套接字发送的数据太多,其中有些已经丢失"
+
+#~ msgid "You are now connected to the Ad-Hoc wireless network '%s'."
+#~ msgstr "您现在已连接到 Ad-Hoc 无线网络“%s”。"
+
+#~ msgid "You are now connected to the wireless network '%s'."
+#~ msgstr "您现在已连接到无线网络“%s”。"
+
+#~ msgid "You are now connected to the wired network."
+#~ msgstr "您现在已连接到有线网络。"
+
+#~ msgid "Connection Established"
+#~ msgstr "连接已建立"
+
+#~ msgid "Disconnected"
+#~ msgstr "已断开连接"
+
+#~ msgid "The network connection has been disconnected."
+#~ msgstr "网络连接现已断开。"
diff --git a/src/NetworkManagerPolicy.c b/src/NetworkManagerPolicy.c
index 2cb39cb9e..cd10b493f 100644
--- a/src/NetworkManagerPolicy.c
+++ b/src/NetworkManagerPolicy.c
@@ -42,6 +42,8 @@
#include "nm-vpn-manager.h"
#include "nm-modem.h"
+#define STATE_IN_ACTIVATION_PHASE(state) ((state > NM_DEVICE_STATE_DISCONNECTED) && (state < NM_DEVICE_STATE_ACTIVATED))
+
typedef struct LookupThread LookupThread;
typedef void (*LookupCallback) (LookupThread *thread, gpointer user_data);
@@ -710,7 +712,7 @@ hostname_changed (NMManager *manager, GParamSpec *pspec, gpointer user_data)
}
static void
-schedule_activate_check (NMPolicy *policy, NMDevice *device)
+schedule_activate_check (NMPolicy *policy, NMDevice *device, guint delay_seconds)
{
ActivateData *data;
GSList *iter;
@@ -723,7 +725,7 @@ schedule_activate_check (NMPolicy *policy, NMDevice *device)
if (state < NM_DEVICE_STATE_DISCONNECTED)
return;
- if (!nm_device_can_activate (device) || !nm_device_autoconnect_allowed (device))
+ if (!nm_device_autoconnect_allowed (device))
return;
for (iter = policy->pending_activation_checks; iter; iter = g_slist_next (iter)) {
@@ -737,7 +739,7 @@ schedule_activate_check (NMPolicy *policy, NMDevice *device)
data->policy = policy;
data->device = g_object_ref (device);
- data->id = g_idle_add (auto_activate_device, data);
+ data->id = delay_seconds ? g_timeout_add_seconds (delay_seconds, auto_activate_device, data) : g_idle_add (auto_activate_device, data);
policy->pending_activation_checks = g_slist_append (policy->pending_activation_checks, data);
}
@@ -765,13 +767,15 @@ device_state_changed (NMDevice *device,
switch (new_state) {
case NM_DEVICE_STATE_FAILED:
- /* Mark the connection invalid so it doesn't get automatically chosen */
- if (connection) {
+ /* Mark the connection invalid if it failed during activation so that
+ * it doesn't get automatically chosen over and over and over again.
+ */
+ if (connection && STATE_IN_ACTIVATION_PHASE (old_state)) {
g_object_set_data (G_OBJECT (connection), INVALID_TAG, GUINT_TO_POINTER (TRUE));
nm_info ("Marking connection '%s' invalid.", get_connection_id (connection));
nm_connection_clear_secrets (connection);
}
- schedule_activate_check (policy, device);
+ schedule_activate_check (policy, device, 3);
break;
case NM_DEVICE_STATE_ACTIVATED:
/* Clear the invalid tag on the connection */
@@ -784,7 +788,7 @@ device_state_changed (NMDevice *device,
case NM_DEVICE_STATE_UNAVAILABLE:
case NM_DEVICE_STATE_DISCONNECTED:
update_routing_and_dns (policy, FALSE);
- schedule_activate_check (policy, device);
+ schedule_activate_check (policy, device, 0);
break;
default:
break;
@@ -802,7 +806,7 @@ device_ip4_config_changed (NMDevice *device,
static void
wireless_networks_changed (NMDeviceWifi *device, NMAccessPoint *ap, gpointer user_data)
{
- schedule_activate_check ((NMPolicy *) user_data, NM_DEVICE (device));
+ schedule_activate_check ((NMPolicy *) user_data, NM_DEVICE (device), 0);
}
typedef struct {
@@ -898,7 +902,7 @@ schedule_activate_all (NMPolicy *policy)
devices = nm_manager_get_devices (policy->manager);
for (iter = devices; iter; iter = g_slist_next (iter))
- schedule_activate_check (policy, NM_DEVICE (iter->data));
+ schedule_activate_check (policy, NM_DEVICE (iter->data), 0);
}
static void
diff --git a/src/modem-manager/nm-modem-manager.c b/src/modem-manager/nm-modem-manager.c
index e3be114a6..3b9f6438a 100644
--- a/src/modem-manager/nm-modem-manager.c
+++ b/src/modem-manager/nm-modem-manager.c
@@ -47,6 +47,25 @@ nm_modem_manager_get (void)
return singleton;
}
+gboolean
+nm_modem_manager_has_modem_for_iface (NMModemManager *manager,
+ const gchar *iface)
+{
+ NMModemManagerPrivate *priv = NM_MODEM_MANAGER_GET_PRIVATE (manager);
+ GList *iter;
+ g_assert (manager);
+ g_assert (NM_IS_MODEM_MANAGER(manager));
+ g_assert (iface);
+
+ for (iter = g_hash_table_get_values(priv->modems); iter != NULL; iter = iter->next) {
+ NMDevice *device = NM_DEVICE(iter->data);
+ const gchar *device_iface = nm_device_get_iface (device);
+ if (!g_strcmp0 (iface, device_iface))
+ return TRUE;
+ }
+ return FALSE;
+}
+
static gboolean
get_modem_properties (DBusGConnection *connection,
const char *path,
diff --git a/src/modem-manager/nm-modem-manager.h b/src/modem-manager/nm-modem-manager.h
index fb51f7398..34e99f1ec 100644
--- a/src/modem-manager/nm-modem-manager.h
+++ b/src/modem-manager/nm-modem-manager.h
@@ -32,4 +32,7 @@ GType nm_modem_manager_get_type (void);
NMModemManager *nm_modem_manager_get (void);
+gboolean nm_modem_manager_has_modem_for_iface (NMModemManager *manager,
+ const gchar *iface);
+
#endif /* NM_MODEM_MANAGER_H */
diff --git a/src/modem-manager/nm-modem.c b/src/modem-manager/nm-modem.c
index 03fe5a814..508ff6a44 100644
--- a/src/modem-manager/nm-modem.c
+++ b/src/modem-manager/nm-modem.c
@@ -38,8 +38,6 @@ typedef struct {
guint32 ip_method;
char *device;
- guint state_to_disconnected_id;
-
/* PPP stats */
guint32 in_bytes;
guint32 out_bytes;
@@ -105,18 +103,12 @@ ppp_state_changed (NMPPPManager *ppp_manager, NMPPPStatus status, gpointer user_
NMDevice *device = NM_DEVICE (user_data);
switch (status) {
- case NM_PPP_STATUS_NETWORK:
- nm_device_state_changed (device, NM_DEVICE_STATE_IP_CONFIG, NM_DEVICE_STATE_REASON_NONE);
- break;
case NM_PPP_STATUS_DISCONNECT:
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_PPP_DISCONNECT);
break;
case NM_PPP_STATUS_DEAD:
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_PPP_FAILED);
break;
- case NM_PPP_STATUS_AUTHENTICATE:
- nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);
- break;
default:
break;
}
@@ -135,6 +127,10 @@ ppp_ip4_config (NMPPPManager *ppp_manager,
guint32 bad_dns2 = htonl (0x0A0B0C0E);
guint32 good_dns2 = htonl (0x04020202); /* GTE nameserver */
+ /* Ignore PPP IP4 events that come in after initial configuration */
+ if (nm_device_get_state (device) != NM_DEVICE_STATE_IP_CONFIG)
+ return;
+
/* Work around a PPP bug (#1732) which causes many mobile broadband
* providers to return 10.11.12.13 and 10.11.12.14 for the DNS servers.
* Apparently fixed in ppp-2.4.5 but we've had some reports that this is
@@ -417,15 +413,6 @@ real_get_generic_capabilities (NMDevice *dev)
return NM_DEVICE_CAP_NM_SUPPORTED;
}
-static gboolean
-unavailable_to_disconnected (gpointer user_data)
-{
- nm_device_state_changed (NM_DEVICE (user_data),
- NM_DEVICE_STATE_DISCONNECTED,
- NM_DEVICE_STATE_REASON_NONE);
- return FALSE;
-}
-
static void
device_state_changed (NMDeviceInterface *device,
NMDeviceState new_state,
@@ -436,19 +423,6 @@ device_state_changed (NMDeviceInterface *device,
NMModem *self = NM_MODEM (user_data);
NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (self);
- /* Remove any previous delayed transition to disconnected */
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
- /* If transitioning to UNAVAILBLE and we have a carrier, transition to
- * DISCONNECTED because the device is ready to use. Otherwise the carrier-on
- * handler will handle the transition to DISCONNECTED when the carrier is detected.
- */
- if (new_state == NM_DEVICE_STATE_UNAVAILABLE)
- priv->state_to_disconnected_id = g_idle_add (unavailable_to_disconnected, user_data);
-
/* Make sure we don't leave the serial device open */
switch (new_state) {
case NM_DEVICE_STATE_NEED_AUTH:
@@ -460,7 +434,9 @@ device_state_changed (NMDeviceInterface *device,
case NM_DEVICE_STATE_FAILED:
case NM_DEVICE_STATE_DISCONNECTED:
dbus_g_proxy_call_no_reply (nm_modem_get_proxy (self, NULL),
- "Disconnect", G_TYPE_INVALID);
+ "Enable",
+ G_TYPE_BOOLEAN, FALSE,
+ G_TYPE_INVALID);
break;
default:
break;
@@ -601,11 +577,6 @@ finalize (GObject *object)
{
NMModemPrivate *priv = NM_MODEM_GET_PRIVATE (object);
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
if (priv->proxy)
g_object_unref (priv->proxy);
diff --git a/src/nm-device-bt.c b/src/nm-device-bt.c
index 43e3a44eb..0ced44fd2 100644
--- a/src/nm-device-bt.c
+++ b/src/nm-device-bt.c
@@ -51,7 +51,6 @@ typedef struct {
char *name;
guint32 capabilities;
- guint state_to_disconnected_id;
DBusGProxy *type_proxy;
NMPPPManager *ppp_manager;
@@ -287,18 +286,12 @@ ppp_state_changed (NMPPPManager *ppp_manager, NMPPPStatus status, gpointer user_
NMDevice *device = NM_DEVICE (user_data);
switch (status) {
- case NM_PPP_STATUS_NETWORK:
- nm_device_state_changed (device, NM_DEVICE_STATE_IP_CONFIG, NM_DEVICE_STATE_REASON_NONE);
- break;
case NM_PPP_STATUS_DISCONNECT:
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_PPP_DISCONNECT);
break;
case NM_PPP_STATUS_DEAD:
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_PPP_FAILED);
break;
- case NM_PPP_STATUS_AUTHENTICATE:
- nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);
- break;
default:
break;
}
@@ -312,6 +305,10 @@ ppp_ip4_config (NMPPPManager *ppp_manager,
{
NMDevice *device = NM_DEVICE (user_data);
+ /* Ignore PPP IP4 events that come in after initial configuration */
+ if (nm_device_get_state (device) != NM_DEVICE_STATE_IP_CONFIG)
+ return;
+
nm_device_set_ip_iface (device, iface);
NM_DEVICE_BT_GET_PRIVATE (device)->pending_ip4_config = g_object_ref (config);
nm_device_activate_schedule_stage4_ip4_config_get (device);
@@ -717,55 +714,6 @@ nm_device_bt_init (NMDeviceBt *self)
{
}
-static gboolean
-unavailable_to_disconnected (gpointer user_data)
-{
- nm_device_state_changed (NM_DEVICE (user_data),
- NM_DEVICE_STATE_DISCONNECTED,
- NM_DEVICE_STATE_REASON_NONE);
- return FALSE;
-}
-
-static void
-device_state_changed (NMDeviceInterface *device,
- NMDeviceState new_state,
- NMDeviceState old_state,
- NMDeviceStateReason reason,
- gpointer user_data)
-{
- NMDeviceBt *self = NM_DEVICE_BT (user_data);
- NMDeviceBtPrivate *priv = NM_DEVICE_BT_GET_PRIVATE (self);
-
- /* Remove any previous delayed transition to disconnected */
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
- /* Transition to DISCONNECTED from an idle handler */
- if (new_state == NM_DEVICE_STATE_UNAVAILABLE)
- priv->state_to_disconnected_id = g_idle_add (unavailable_to_disconnected, self);
-}
-
-static GObject*
-constructor (GType type,
- guint n_construct_params,
- GObjectConstructParam *construct_params)
-{
- GObject *object;
-
- object = G_OBJECT_CLASS (nm_device_bt_parent_class)->constructor (type,
- n_construct_params,
- construct_params);
- if (!object)
- return NULL;
-
- g_signal_connect (NM_DEVICE (object), "state-changed",
- G_CALLBACK (device_state_changed), NM_DEVICE_BT (object));
-
- return object;
-}
-
static void
set_property (GObject *object, guint prop_id,
const GValue *value, GParamSpec *pspec)
@@ -824,11 +772,6 @@ finalize (GObject *object)
g_free (priv->bdaddr);
g_free (priv->name);
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
G_OBJECT_CLASS (nm_device_bt_parent_class)->finalize (object);
}
@@ -840,7 +783,6 @@ nm_device_bt_class_init (NMDeviceBtClass *klass)
g_type_class_add_private (object_class, sizeof (NMDeviceBtPrivate));
- object_class->constructor = constructor;
object_class->get_property = get_property;
object_class->set_property = set_property;
object_class->finalize = finalize;
diff --git a/src/nm-device-ethernet.c b/src/nm-device-ethernet.c
index ef4d58e15..1282ff4c7 100644
--- a/src/nm-device-ethernet.c
+++ b/src/nm-device-ethernet.c
@@ -106,10 +106,10 @@ typedef struct {
struct ether_addr hw_addr;
gboolean carrier;
guint32 ifindex;
- guint state_to_disconnected_id;
- gulong link_connected_id;
- gulong link_disconnected_id;
+ NMNetlinkMonitor * monitor;
+ gulong link_connected_id;
+ gulong link_disconnected_id;
Supplicant supplicant;
guint link_timeout_id;
@@ -200,73 +200,44 @@ nm_info ("(%s): carrier now %s (device state %d)", nm_device_get_iface (NM_DEVIC
}
static void
-nm_device_ethernet_carrier_on (NMNetlinkMonitor *monitor,
- int idx,
- gpointer user_data)
+carrier_on (NMNetlinkMonitor *monitor,
+ int idx,
+ gpointer user_data)
{
- NMDevice *dev = NM_DEVICE (user_data);
- guint32 caps;
-
- /* Make sure signal is for us */
- if (nm_netlink_iface_to_index (nm_device_get_iface (dev)) == idx) {
- /* Ignore spurious netlink messages */
- caps = nm_device_get_capabilities (dev);
- if (!(caps & NM_DEVICE_CAP_CARRIER_DETECT))
- return;
-
- set_carrier (NM_DEVICE_ETHERNET (dev), TRUE);
- }
-}
-
-static void
-nm_device_ethernet_carrier_off (NMNetlinkMonitor *monitor,
- int idx,
- gpointer user_data)
-{
- NMDevice *dev = NM_DEVICE (user_data);
- guint32 caps;
-
- /* Make sure signal is for us */
- if (nm_netlink_iface_to_index (nm_device_get_iface (dev)) == idx) {
- /* Ignore spurious netlink messages */
- caps = nm_device_get_capabilities (dev);
- if (!(caps & NM_DEVICE_CAP_CARRIER_DETECT))
- return;
-
- set_carrier (NM_DEVICE_ETHERNET (dev), FALSE);
- }
-}
-
-static gboolean
-unavailable_to_disconnected (gpointer user_data)
-{
- nm_device_state_changed (NM_DEVICE (user_data), NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_NONE);
- return FALSE;
-}
-
-static void
-device_state_changed (NMDeviceInterface *device,
- NMDeviceState new_state,
- NMDeviceState old_state,
- NMDeviceStateReason reason,
- gpointer user_data)
-{
- NMDeviceEthernet *self = NM_DEVICE_ETHERNET (user_data);
+ NMDevice *device = NM_DEVICE (user_data);
+ NMDeviceEthernet *self = NM_DEVICE_ETHERNET (device);
NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
+ guint32 caps;
- /* Remove any previous delayed transition to disconnected */
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
+ /* Make sure signal is for us */
+ if (idx == priv->ifindex) {
+ /* Ignore spurious netlink messages */
+ caps = nm_device_get_capabilities (device);
+ if (!(caps & NM_DEVICE_CAP_CARRIER_DETECT))
+ return;
+
+ set_carrier (NM_DEVICE_ETHERNET (device), TRUE);
}
+}
- /* If transitioning to UNAVAILBLE and we have a carrier, transition to
- * DISCONNECTED because the device is ready to use. Otherwise the carrier-on
- * handler will handle the transition to DISCONNECTED when the carrier is detected.
- */
- if ((new_state == NM_DEVICE_STATE_UNAVAILABLE) && priv->carrier) {
- priv->state_to_disconnected_id = g_idle_add (unavailable_to_disconnected, self);
- return;
+static void
+carrier_off (NMNetlinkMonitor *monitor,
+ int idx,
+ gpointer user_data)
+{
+ NMDevice *device = NM_DEVICE (user_data);
+ NMDeviceEthernet *self = NM_DEVICE_ETHERNET (device);
+ NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
+ guint32 caps;
+
+ /* Make sure signal is for us */
+ if (idx == priv->ifindex) {
+ /* Ignore spurious netlink messages */
+ caps = nm_device_get_capabilities (device);
+ if (!(caps & NM_DEVICE_CAP_CARRIER_DETECT))
+ return;
+
+ set_carrier (NM_DEVICE_ETHERNET (device), FALSE);
}
}
@@ -276,8 +247,8 @@ constructor (GType type,
GObjectConstructParam *construct_params)
{
GObject *object;
- NMDeviceEthernetPrivate * priv;
- NMDevice * dev;
+ NMDeviceEthernetPrivate *priv;
+ NMDevice *self;
guint32 caps;
object = G_OBJECT_CLASS (nm_device_ethernet_parent_class)->constructor (type,
@@ -286,41 +257,34 @@ constructor (GType type,
if (!object)
return NULL;
- dev = NM_DEVICE (object);
- priv = NM_DEVICE_ETHERNET_GET_PRIVATE (dev);
+ self = NM_DEVICE (object);
+ priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
- caps = nm_device_get_capabilities (dev);
+ caps = nm_device_get_capabilities (self);
if (caps & NM_DEVICE_CAP_CARRIER_DETECT) {
GError *error = NULL;
/* Only listen to netlink for cards that support carrier detect */
- NMNetlinkMonitor * monitor = nm_netlink_monitor_get ();
+ priv->monitor = nm_netlink_monitor_get ();
- priv->link_connected_id = g_signal_connect (monitor, "carrier-on",
- G_CALLBACK (nm_device_ethernet_carrier_on),
- dev);
- priv->link_disconnected_id = g_signal_connect (monitor, "carrier-off",
- G_CALLBACK (nm_device_ethernet_carrier_off),
- dev);
+ priv->link_connected_id = g_signal_connect (priv->monitor, "carrier-on",
+ G_CALLBACK (carrier_on),
+ self);
+ priv->link_disconnected_id = g_signal_connect (priv->monitor, "carrier-off",
+ G_CALLBACK (carrier_off),
+ self);
- if (!nm_netlink_monitor_request_status (monitor, &error)) {
+ if (!nm_netlink_monitor_request_status (priv->monitor, &error)) {
nm_warning ("couldn't request carrier state: %s", error ? error->message : "unknown");
g_error_free (error);
}
-
- g_object_unref (monitor);
} else {
nm_info ("(%s): driver '%s' does not support carrier detection.",
- nm_device_get_iface (NM_DEVICE (object)),
- nm_device_get_driver (NM_DEVICE (object)));
-
- priv->link_connected_id = 0;
- priv->link_disconnected_id = 0;
+ nm_device_get_iface (self),
+ nm_device_get_driver (self));
priv->carrier = TRUE;
}
- g_signal_connect (dev, "state-changed", G_CALLBACK (device_state_changed), dev);
-
return object;
}
@@ -413,17 +377,6 @@ nm_device_ethernet_get_address (NMDeviceEthernet *self, struct ether_addr *addr)
memcpy (addr, &(NM_DEVICE_ETHERNET_GET_PRIVATE (self)->hw_addr), sizeof (struct ether_addr));
}
-/*
- * Get/set functions for carrier
- */
-gboolean
-nm_device_ethernet_get_carrier (NMDeviceEthernet *self)
-{
- g_return_val_if_fail (self != NULL, FALSE);
-
- return NM_DEVICE_ETHERNET_GET_PRIVATE (self)->carrier;
-}
-
guint32
nm_device_ethernet_get_ifindex (NMDeviceEthernet *self)
{
@@ -531,19 +484,19 @@ real_can_interrupt_activation (NMDevice *dev)
* if the link becomes inactive.
*/
if (nm_device_get_capabilities (dev) & NM_DEVICE_CAP_CARRIER_DETECT) {
- if (nm_device_ethernet_get_carrier (self) == FALSE)
+ if (NM_DEVICE_ETHERNET_GET_PRIVATE (self)->carrier == FALSE)
interrupt = TRUE;
}
return interrupt;
}
static gboolean
-real_can_activate (NMDevice *dev)
+real_is_available (NMDevice *dev)
{
NMDeviceEthernet *self = NM_DEVICE_ETHERNET (dev);
/* Can't do anything if there isn't a carrier */
- if (!nm_device_ethernet_get_carrier (self))
+ if (!NM_DEVICE_ETHERNET_GET_PRIVATE (self)->carrier)
return FALSE;
return TRUE;
@@ -1229,18 +1182,12 @@ ppp_state_changed (NMPPPManager *ppp_manager, NMPPPStatus status, gpointer user_
NMDevice *device = NM_DEVICE (user_data);
switch (status) {
- case NM_PPP_STATUS_NETWORK:
- nm_device_state_changed (device, NM_DEVICE_STATE_IP_CONFIG, NM_DEVICE_STATE_REASON_NONE);
- break;
case NM_PPP_STATUS_DISCONNECT:
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_PPP_DISCONNECT);
break;
case NM_PPP_STATUS_DEAD:
nm_device_state_changed (device, NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_PPP_FAILED);
break;
- case NM_PPP_STATUS_AUTHENTICATE:
- nm_device_state_changed (device, NM_DEVICE_STATE_NEED_AUTH, NM_DEVICE_STATE_REASON_NONE);
- break;
default:
break;
}
@@ -1254,6 +1201,10 @@ ppp_ip4_config (NMPPPManager *ppp_manager,
{
NMDevice *device = NM_DEVICE (user_data);
+ /* Ignore PPP IP4 events that come in after initial configuration */
+ if (nm_device_get_state (device) != NM_DEVICE_STATE_IP_CONFIG)
+ return;
+
nm_device_set_ip_iface (device, iface);
NM_DEVICE_ETHERNET_GET_PRIVATE (device)->pending_ip4_config = g_object_ref (config);
nm_device_activate_schedule_stage4_ip4_config_get (device);
@@ -1683,7 +1634,6 @@ dispose (GObject *object)
{
NMDeviceEthernet *self = NM_DEVICE_ETHERNET (object);
NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
- NMNetlinkMonitor *monitor;
if (priv->disposed) {
G_OBJECT_CLASS (nm_device_ethernet_parent_class)->dispose (object);
@@ -1698,20 +1648,18 @@ dispose (GObject *object)
while (priv->supplicant.mgr_tasks)
finish_supplicant_task ((SupplicantStateTask *) priv->supplicant.mgr_tasks->data, TRUE);
- monitor = nm_netlink_monitor_get ();
if (priv->link_connected_id) {
- g_signal_handler_disconnect (monitor, priv->link_connected_id);
+ g_signal_handler_disconnect (priv->monitor, priv->link_connected_id);
priv->link_connected_id = 0;
}
if (priv->link_disconnected_id) {
- g_signal_handler_disconnect (monitor, priv->link_disconnected_id);
+ g_signal_handler_disconnect (priv->monitor, priv->link_disconnected_id);
priv->link_disconnected_id = 0;
}
- g_object_unref (monitor);
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
+ if (priv->monitor) {
+ g_object_unref (priv->monitor);
+ priv->monitor = NULL;
}
G_OBJECT_CLASS (nm_device_ethernet_parent_class)->dispose (object);
@@ -1719,24 +1667,25 @@ dispose (GObject *object)
static void
get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
+ GValue *value, GParamSpec *pspec)
{
- NMDeviceEthernet *device = NM_DEVICE_ETHERNET (object);
+ NMDeviceEthernet *self = NM_DEVICE_ETHERNET (object);
+ NMDeviceEthernetPrivate *priv = NM_DEVICE_ETHERNET_GET_PRIVATE (self);
struct ether_addr hw_addr;
switch (prop_id) {
case PROP_HW_ADDRESS:
- nm_device_ethernet_get_address (device, &hw_addr);
+ nm_device_ethernet_get_address (self, &hw_addr);
g_value_take_string (value, nm_ether_ntop (&hw_addr));
break;
case PROP_SPEED:
- g_value_set_uint (value, nm_device_ethernet_get_speed (device));
+ g_value_set_uint (value, nm_device_ethernet_get_speed (self));
break;
case PROP_CARRIER:
- g_value_set_boolean (value, nm_device_ethernet_get_carrier (device));
+ g_value_set_boolean (value, priv->carrier);
break;
case PROP_IFINDEX:
- g_value_set_uint (value, nm_device_ethernet_get_ifindex (device));
+ g_value_set_uint (value, priv->ifindex);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
@@ -1785,7 +1734,7 @@ nm_device_ethernet_class_init (NMDeviceEthernetClass *klass)
parent_class->can_interrupt_activation = real_can_interrupt_activation;
parent_class->update_hw_address = real_update_hw_address;
parent_class->get_best_auto_connection = real_get_best_auto_connection;
- parent_class->can_activate = real_can_activate;
+ parent_class->is_available = real_is_available;
parent_class->connection_secrets_updated = real_connection_secrets_updated;
parent_class->check_connection_compatible = real_check_connection_compatible;
diff --git a/src/nm-device-ethernet.h b/src/nm-device-ethernet.h
index 313f8537a..643572f70 100644
--- a/src/nm-device-ethernet.h
+++ b/src/nm-device-ethernet.h
@@ -64,8 +64,6 @@ NMDevice *nm_device_ethernet_new (const char *udi,
void nm_device_ethernet_get_address (NMDeviceEthernet *dev,
struct ether_addr *addr);
-gboolean nm_device_ethernet_get_carrier (NMDeviceEthernet *dev);
-
guint32 nm_device_ethernet_get_ifindex (NMDeviceEthernet *dev);
G_END_DECLS
diff --git a/src/nm-device-wifi.c b/src/nm-device-wifi.c
index eefb1366a..f2c9350fd 100644
--- a/src/nm-device-wifi.c
+++ b/src/nm-device-wifi.c
@@ -156,7 +156,6 @@ struct _NMDeviceWifiPrivate {
NMAccessPoint * current_ap;
guint32 rate;
gboolean enabled; /* rfkilled or not */
- guint state_to_disconnected_id;
glong scheduled_scan_time;
guint8 scan_interval; /* seconds */
@@ -1131,7 +1130,7 @@ real_check_connection_compatible (NMDevice *device,
}
static gboolean
-real_can_activate (NMDevice *dev)
+real_is_available (NMDevice *dev)
{
NMDeviceWifi *self = NM_DEVICE_WIFI (dev);
NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
@@ -2249,6 +2248,15 @@ supplicant_iface_state_cb_handler (gpointer user_data)
/* Request a scan to get latest results */
cancel_pending_scan (self);
request_wireless_scan (self);
+
+ /* If the interface can now be activated because the supplicant is now
+ * available, transition to DISCONNECTED.
+ */
+ if ( (nm_device_get_state (NM_DEVICE (self)) == NM_DEVICE_STATE_UNAVAILABLE)
+ && nm_device_is_available (NM_DEVICE (self))) {
+ nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_DISCONNECTED,
+ NM_DEVICE_STATE_REASON_SUPPLICANT_AVAILABLE);
+ }
} else if (task->new_state == NM_SUPPLICANT_INTERFACE_STATE_DOWN) {
cleanup_association_attempt (self, FALSE);
supplicant_interface_release (self);
@@ -3224,15 +3232,6 @@ spec_match_list (NMDevice *device, const GSList *specs)
return matched;
}
-static gboolean
-unavailable_to_disconnected (gpointer user_data)
-{
- nm_device_state_changed (NM_DEVICE (user_data),
- NM_DEVICE_STATE_DISCONNECTED,
- NM_DEVICE_STATE_REASON_NONE);
- return FALSE;
-}
-
static void
device_state_changed (NMDevice *device,
NMDeviceState new_state,
@@ -3244,12 +3243,6 @@ device_state_changed (NMDevice *device,
NMDeviceWifiPrivate *priv = NM_DEVICE_WIFI_GET_PRIVATE (self);
gboolean clear_aps = FALSE;
- /* Remove any previous delayed transition to disconnected */
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
if (new_state <= NM_DEVICE_STATE_UNAVAILABLE) {
/* Clean up the supplicant interface because in these states the
* device cannot be used.
@@ -3276,9 +3269,6 @@ device_state_changed (NMDevice *device,
if (!priv->supplicant.iface)
supplicant_interface_acquire (self);
-
- if (priv->supplicant.iface)
- priv->state_to_disconnected_id = g_idle_add (unavailable_to_disconnected, self);
}
clear_aps = TRUE;
break;
@@ -3459,11 +3449,6 @@ dispose (GObject *object)
set_current_ap (self, NULL);
remove_all_aps (self);
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
G_OBJECT_CLASS (nm_device_wifi_parent_class)->dispose (object);
}
@@ -3548,7 +3533,7 @@ nm_device_wifi_class_init (NMDeviceWifiClass *klass)
parent_class->take_down = real_take_down;
parent_class->update_hw_address = real_update_hw_address;
parent_class->get_best_auto_connection = real_get_best_auto_connection;
- parent_class->can_activate = real_can_activate;
+ parent_class->is_available = real_is_available;
parent_class->connection_secrets_updated = real_connection_secrets_updated;
parent_class->check_connection_compatible = real_check_connection_compatible;
diff --git a/src/nm-device.c b/src/nm-device.c
index f2367163c..ec08f5810 100644
--- a/src/nm-device.c
+++ b/src/nm-device.c
@@ -77,6 +77,7 @@ typedef struct {
NMDeviceState state;
guint failed_to_disconnected_id;
+ guint unavailable_to_disconnected_id;
char * udi;
char * path;
@@ -389,10 +390,10 @@ nm_device_get_act_request (NMDevice *self)
gboolean
-nm_device_can_activate (NMDevice *self)
+nm_device_is_available (NMDevice *self)
{
- if (NM_DEVICE_GET_CLASS (self)->can_activate)
- return NM_DEVICE_GET_CLASS (self)->can_activate (self);
+ if (NM_DEVICE_GET_CLASS (self)->is_available)
+ return NM_DEVICE_GET_CLASS (self)->is_available (self);
return TRUE;
}
@@ -1960,6 +1961,21 @@ clear_act_request (NMDevice *self)
priv->act_request = NULL;
}
+static void
+delayed_transitions_clear (NMDevice *self)
+{
+ NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
+
+ if (priv->failed_to_disconnected_id) {
+ g_source_remove (priv->failed_to_disconnected_id);
+ priv->failed_to_disconnected_id = 0;
+ }
+ if (priv->unavailable_to_disconnected_id) {
+ g_source_remove (priv->unavailable_to_disconnected_id);
+ priv->unavailable_to_disconnected_id = 0;
+ }
+}
+
/*
* nm_device_deactivate_quickly
*
@@ -1981,10 +1997,8 @@ nm_device_deactivate_quickly (NMDevice *self)
activation_source_clear (self, TRUE, AF_INET);
activation_source_clear (self, TRUE, AF_INET6);
- if (priv->failed_to_disconnected_id) {
- g_source_remove (priv->failed_to_disconnected_id);
- priv->failed_to_disconnected_id = 0;
- }
+ /* Clear any delayed transitions */
+ delayed_transitions_clear (self);
/* Stop any ongoing DHCP transaction on this device */
if (nm_device_get_act_request (self)) {
@@ -2723,10 +2737,8 @@ dispose (GObject *object)
}
}
- if (priv->failed_to_disconnected_id) {
- g_source_remove (priv->failed_to_disconnected_id);
- priv->failed_to_disconnected_id = 0;
- }
+ /* Clear any delayed transitions */
+ delayed_transitions_clear (self);
if (priv->managed && take_down) {
NMDeviceStateReason ignored = NM_DEVICE_STATE_REASON_NONE;
@@ -2985,6 +2997,17 @@ failed_to_disconnected (gpointer user_data)
return FALSE;
}
+static gboolean
+unavailable_to_disconnected (gpointer user_data)
+{
+ NMDevice *self = NM_DEVICE (user_data);
+ NMDevicePrivate *priv = NM_DEVICE_GET_PRIVATE (self);
+
+ priv->unavailable_to_disconnected_id = 0;
+ nm_device_state_changed (self, NM_DEVICE_STATE_DISCONNECTED, NM_DEVICE_STATE_REASON_NONE);
+ return FALSE;
+}
+
void
nm_device_state_changed (NMDevice *device,
NMDeviceState state,
@@ -3006,10 +3029,8 @@ nm_device_state_changed (NMDevice *device,
nm_info ("(%s): device state change: %d -> %d (reason %d)",
nm_device_get_iface (device), old_state, state, reason);
- if (priv->failed_to_disconnected_id) {
- g_source_remove (priv->failed_to_disconnected_id);
- priv->failed_to_disconnected_id = 0;
- }
+ /* Clear any delayed transitions */
+ delayed_transitions_clear (device);
/* Cache the activation request for the dispatcher */
req = priv->act_request ? g_object_ref (priv->act_request) : NULL;
@@ -3049,12 +3070,26 @@ nm_device_state_changed (NMDevice *device,
/* Post-process the event after internal notification */
switch (state) {
+ case NM_DEVICE_STATE_UNAVAILABLE:
+ /* If the device can activate now (ie, it's got a carrier, the supplicant
+ * is active, or whatever) schedule a delayed transition to DISCONNECTED
+ * to get things rolling. The device can't transition immediately becuase
+ * we can't change states again from the state handler for a variety of
+ * reasons.
+ */
+ if (nm_device_is_available (device))
+ priv->unavailable_to_disconnected_id = g_idle_add (unavailable_to_disconnected, device);
+ break;
case NM_DEVICE_STATE_ACTIVATED:
nm_info ("Activation (%s) successful, device activated.", nm_device_get_iface (device));
nm_utils_call_dispatcher ("up", nm_act_request_get_connection (req), device, NULL);
break;
case NM_DEVICE_STATE_FAILED:
nm_info ("Activation (%s) failed.", nm_device_get_iface (device));
+ /* Schedule the transition to DISCONNECTED. The device can't transition
+ * immediately becuase we can't change states again from the state
+ * handler for a variety of reasons.
+ */
priv->failed_to_disconnected_id = g_idle_add (failed_to_disconnected, device);
break;
default:
diff --git a/src/nm-device.h b/src/nm-device.h
index d06375cc6..c8f67dcc7 100644
--- a/src/nm-device.h
+++ b/src/nm-device.h
@@ -74,7 +74,7 @@ typedef struct {
guint32 (* get_type_capabilities) (NMDevice *self);
guint32 (* get_generic_capabilities) (NMDevice *self);
- gboolean (* can_activate) (NMDevice *self);
+ gboolean (* is_available) (NMDevice *self);
NMConnection * (* get_best_auto_connection) (NMDevice *self,
GSList *connections,
@@ -152,7 +152,7 @@ void * nm_device_get_system_config_data (NMDevice *dev);
NMActRequest * nm_device_get_act_request (NMDevice *dev);
-gboolean nm_device_can_activate (NMDevice *dev);
+gboolean nm_device_is_available (NMDevice *dev);
NMConnection * nm_device_get_best_auto_connection (NMDevice *dev,
GSList *connections,
diff --git a/src/nm-gsm-device.c b/src/nm-gsm-device.c
deleted file mode 100644
index b0337f476..000000000
--- a/src/nm-gsm-device.c
+++ /dev/null
@@ -1,1084 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
-/* NetworkManager -- Network link manager
- *
- * This program 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.
- *
- * This program 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 this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Copyright (C) 2007 - 2008 Novell, Inc.
- * Copyright (C) 2007 - 2008 Red Hat, Inc.
- */
-
-#include
-#include
-#include "nm-glib-compat.h"
-#include "nm-gsm-device.h"
-#include "nm-device-interface.h"
-#include "nm-device-private.h"
-#include "nm-setting-gsm.h"
-#include "nm-utils.h"
-#include "nm-properties-changed-signal.h"
-#include "nm-gsm-device-glue.h"
-#include "nm-setting-connection.h"
-
-G_DEFINE_TYPE (NMGsmDevice, nm_gsm_device, NM_TYPE_SERIAL_DEVICE)
-
-#define NM_GSM_DEVICE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), NM_TYPE_GSM_DEVICE, NMGsmDevicePrivate))
-
-typedef enum {
- NM_GSM_SECRET_NONE = 0,
- NM_GSM_SECRET_PIN,
- NM_GSM_SECRET_PUK
-} NMGsmSecret;
-
-typedef struct {
- char *monitor_iface;
- NMSerialDevice *monitor_device;
-
- guint pending_id;
- guint state_to_disconnected_id;
-
- guint reg_tries;
- guint init_tries;
-} NMGsmDevicePrivate;
-
-enum {
- PROP_0,
- PROP_MONITOR_IFACE,
-
- LAST_PROP
-};
-
-enum {
- PROPERTIES_CHANGED,
-
- LAST_SIGNAL
-};
-
-static guint signals[LAST_SIGNAL] = { 0 };
-
-/* Various possible init sequences */
-const gchar *modem_init_sequences[] = {
- "ATZ E0 V1 X4 &C1 +FCLASS=0",
- "ATZ E0 V1 &C1",
- "AT&F E0 V1 X4 &C1 +FCLASS=0",
- "AT&F E0 V1 &C1",
- "AT&F E0 V1",
- "\rAT&F E0 V1 X4 &C1 +CREG=0 +FCLASS=0", /* USBModem by MobileStream for Palm */
- NULL
-};
-
-static void enter_pin (NMGsmDevice *device, NMGsmSecret secret_type, gboolean retry);
-static void manual_registration (NMGsmDevice *device);
-static void automatic_registration (NMGsmDevice *device);
-static void init_modem (NMSerialDevice *device);
-
-NMGsmDevice *
-nm_gsm_device_new (const char *udi,
- const char *data_iface,
- const char *monitor_iface,
- const char *driver,
- gboolean managed)
-{
- g_return_val_if_fail (udi != NULL, NULL);
- g_return_val_if_fail (data_iface != NULL, NULL);
- g_return_val_if_fail (driver != NULL, NULL);
-
- return (NMGsmDevice *) g_object_new (NM_TYPE_GSM_DEVICE,
- NM_DEVICE_INTERFACE_UDI, udi,
- NM_DEVICE_INTERFACE_IFACE, data_iface,
- NM_DEVICE_INTERFACE_DRIVER, driver,
- NM_GSM_DEVICE_MONITOR_IFACE, monitor_iface,
- NM_DEVICE_INTERFACE_MANAGED, managed,
- NULL);
-}
-
-static void
-modem_wait_for_reply (NMGsmDevice *self,
- const char *command,
- guint timeout,
- const char **responses,
- const char **terminators,
- NMSerialWaitForReplyFn callback,
- gpointer user_data)
-{
- NMSerialDevice *serial = NM_SERIAL_DEVICE (self);
- guint id = 0;
-
- if (nm_serial_device_send_command_string (serial, command))
- id = nm_serial_device_wait_for_reply (serial, timeout, responses, terminators, callback, user_data);
-
- if (id == 0)
- nm_device_state_changed (NM_DEVICE (self), NM_DEVICE_STATE_FAILED, NM_DEVICE_STATE_REASON_UNKNOWN);
-}
-
-static NMSetting *
-gsm_device_get_setting (NMGsmDevice *device, GType setting_type)
-{
- NMActRequest *req;
- NMSetting *setting = NULL;
-
- req = nm_device_get_act_request (NM_DEVICE (device));
- if (req) {
- NMConnection *connection;
-
- connection = nm_act_request_get_connection (req);
- if (connection)
- setting = nm_connection_get_setting (connection, setting_type);
- }
-
- return setting;
-}
-
-static void
-dial_done (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- gboolean success = FALSE;
- NMDeviceStateReason reason = NM_DEVICE_STATE_REASON_UNKNOWN;
-
- switch (reply_index) {
- case 0:
- nm_info ("Connected, Woo!");
- success = TRUE;
- break;
- case 1:
- nm_info ("Busy");
- reason = NM_DEVICE_STATE_REASON_MODEM_BUSY;
- break;
- case 2:
- nm_warning ("No dial tone");
- reason = NM_DEVICE_STATE_REASON_MODEM_NO_DIAL_TONE;
- break;
- case 3:
- nm_warning ("No carrier");
- reason = NM_DEVICE_STATE_REASON_MODEM_NO_CARRIER;
- break;
- case -1:
- nm_warning ("Dialing timed out");
- reason = NM_DEVICE_STATE_REASON_MODEM_DIAL_TIMEOUT;
- break;
- default:
- nm_warning ("Dialing failed");
- reason = NM_DEVICE_STATE_REASON_MODEM_DIAL_FAILED;
- break;
- }
-
- if (success)
- nm_device_activate_schedule_stage2_device_config (NM_DEVICE (device));
- else
- nm_device_state_changed (NM_DEVICE (device), NM_DEVICE_STATE_FAILED, reason);
-}
-
-static void
-real_do_dial (NMGsmDevice *device, guint cid)
-{
- NMSettingGsm *setting;
- char *command;
- const char *number;
- const char *responses[] = { "CONNECT", "BUSY", "NO DIAL TONE", "NO CARRIER", NULL };
-
- setting = NM_SETTING_GSM (gsm_device_get_setting (NM_GSM_DEVICE (device), NM_TYPE_SETTING_GSM));
- number = nm_setting_gsm_get_number (setting);
-
- if (cid) {
- GString *str;
-
- str = g_string_new ("ATD");
- if (g_str_has_suffix (number, "#"))
- str = g_string_append_len (str, number, strlen (number) - 1);
- else
- str = g_string_append (str, number);
-
- g_string_append_printf (str, "***%d#", cid);
- command = g_string_free (str, FALSE);
- } else
- command = g_strconcat ("ATDT", number, NULL);
-
- modem_wait_for_reply (device, command, 60, responses, responses, dial_done, NULL);
- g_free (command);
-}
-
-static void
-set_apn_done (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- switch (reply_index) {
- case 0:
- NM_GSM_DEVICE_GET_CLASS (device)->do_dial (NM_GSM_DEVICE (device), GPOINTER_TO_UINT (user_data));
- break;
- default:
- nm_warning ("Setting APN failed");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_APN_FAILED);
- break;
- }
-}
-
-static void
-set_apn (NMGsmDevice *device)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
- NMSettingGsm *setting;
- char *command;
- const char *apn;
- const char *responses[] = { "OK", "ERROR", NULL };
- guint cid = 1;
-
- priv->reg_tries = 0;
-
- setting = NM_SETTING_GSM (gsm_device_get_setting (NM_GSM_DEVICE (device), NM_TYPE_SETTING_GSM));
-
- apn = nm_setting_gsm_get_apn (setting);
- if (!apn) {
- /* APN not set, nothing to do */
- NM_GSM_DEVICE_GET_CLASS (device)->do_dial (NM_GSM_DEVICE (device), 0);
- return;
- }
-
- command = g_strdup_printf ("AT+CGDCONT=%d,\"IP\",\"%s\"", cid, apn);
- modem_wait_for_reply (device, command, 7, responses, responses, set_apn_done, GUINT_TO_POINTER (cid));
- g_free (command);
-}
-
-static gboolean
-manual_registration_again (gpointer data)
-{
- manual_registration (NM_GSM_DEVICE (data));
- return FALSE;
-}
-
-static void
-schedule_manual_registration_again (NMGsmDevice *self)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (self);
-
- if (priv->pending_id)
- g_source_remove (priv->pending_id);
-
- priv->pending_id = g_idle_add (manual_registration_again, self);
-}
-
-static void
-manual_registration_response (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
-
- switch (reply_index) {
- case 0:
- set_apn (NM_GSM_DEVICE (device));
- break;
- case -1:
- /* Some cards (ex. Sierra AC860) don't immediately respond to commands
- * after they are powered up with CFUN=1, but take a few seconds to come
- * back to life. So try registration a few times.
- */
- if (priv->reg_tries++ < 6) {
- schedule_manual_registration_again (NM_GSM_DEVICE (device));
- } else {
- nm_warning ("Manual registration timed out");
- priv->reg_tries = 0;
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT);
- }
- break;
- default:
- nm_warning ("Manual registration failed");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED);
- break;
- }
-}
-
-static void
-manual_registration (NMGsmDevice *device)
-{
- NMSettingGsm *setting;
- char *command;
- const char *responses[] = { "OK", "ERROR", "ERR", NULL };
-
- setting = NM_SETTING_GSM (gsm_device_get_setting (device, NM_TYPE_SETTING_GSM));
-
- command = g_strdup_printf ("AT+COPS=1,2,\"%s\"", nm_setting_gsm_get_network_id (setting));
- modem_wait_for_reply (device, command, 15, responses, responses, manual_registration_response, NULL);
- g_free (command);
-}
-
-static void
-get_network_response (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- switch (reply_index) {
- case 0:
- nm_info ("Associated with network: %s", reply);
- break;
- default:
- nm_warning ("Couldn't read active network name");
- break;
- }
-
- set_apn (NM_GSM_DEVICE (device));
-}
-
-static void
-automatic_registration_get_network (NMGsmDevice *device)
-{
- const char *responses[] = { "+COPS: ", NULL };
- const char *terminators[] = { "OK", "ERROR", "ERR", NULL };
-
- modem_wait_for_reply (device, "AT+COPS?", 10, responses, terminators, get_network_response, NULL);
-}
-
-static gboolean
-automatic_registration_again (gpointer data)
-{
- automatic_registration (NM_GSM_DEVICE (data));
- return FALSE;
-}
-
-static void
-schedule_automatic_registration_again (NMGsmDevice *self)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (self);
-
- if (priv->pending_id)
- g_source_remove (priv->pending_id);
-
- priv->pending_id = g_timeout_add_seconds (1, automatic_registration_again, self);
-}
-
-static void
-automatic_registration_response (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
-
- switch (reply_index) {
- case 0:
- /* Try autoregistration a few times here because the card is actually
- * responding to the query and thus we aren't waiting as long for
- * each CREG request. Some cards (ex. Option iCON 225) return OK
- * immediately from CFUN, but take a bit to start searching for a network.
- */
- if (priv->reg_tries++ < 15) {
- /* Can happen a few times while the modem is powering up */
- schedule_automatic_registration_again (NM_GSM_DEVICE (device));
- } else {
- priv->reg_tries = 0;
- nm_warning ("Automatic registration failed: not registered and not searching.");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_REGISTRATION_NOT_SEARCHING);
- }
- break;
- case 1:
- nm_info ("Registered on Home network");
- automatic_registration_get_network (NM_GSM_DEVICE (device));
- break;
- case 2:
- nm_info ("Searching for a network...");
- schedule_automatic_registration_again (NM_GSM_DEVICE (device));
- break;
- case 3:
- nm_warning ("Automatic registration failed: registration denied.");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_REGISTRATION_DENIED);
- break;
- case 4:
- nm_info ("Registered on Roaming network");
- automatic_registration_get_network (NM_GSM_DEVICE (device));
- break;
- case -1:
- /* Some cards (ex. Sierra AC860) don't immediately respond to commands
- * after they are powered up with CFUN=1, but take a few seconds to come
- * back to life. So try registration a few times.
- */
- nm_warning ("Automatic registration timed out");
- if (priv->reg_tries++ < 6) {
- schedule_automatic_registration_again (NM_GSM_DEVICE (device));
- } else {
- priv->reg_tries = 0;
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_REGISTRATION_TIMEOUT);
- }
- break;
- default:
- nm_warning ("Automatic registration failed");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_REGISTRATION_FAILED);
- break;
- }
-}
-
-static void
-automatic_registration (NMGsmDevice *device)
-{
- const char *responses[] = { "+CREG: 0,0", "+CREG: 0,1", "+CREG: 0,2", "+CREG: 0,3", "+CREG: 0,5", NULL };
- const char *terminators[] = { "OK", "ERROR", "ERR", NULL };
-
- modem_wait_for_reply (device, "AT+CREG?", 15, responses, terminators, automatic_registration_response, NULL);
-}
-
-static void
-do_register (NMGsmDevice *device)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
- NMSettingGsm *setting;
-
- setting = NM_SETTING_GSM (gsm_device_get_setting (device, NM_TYPE_SETTING_GSM));
-
- priv->reg_tries = 0;
- if (nm_setting_gsm_get_network_id (setting))
- manual_registration (device);
- else
- automatic_registration (device);
-}
-
-static void
-power_up_response (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- /* Ignore errors */
- do_register (NM_GSM_DEVICE (device));
-}
-
-static void
-power_up (NMGsmDevice *device)
-{
- const char *responses[] = { "OK", "ERROR", "ERR", NULL };
-
- nm_info ("(%s): powering up...", nm_device_get_iface (NM_DEVICE (device)));
- modem_wait_for_reply (device, "AT+CFUN=1", 10, responses, responses, power_up_response, NULL);
-}
-
-static void
-init_full_done (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- switch (reply_index) {
- case 0:
- power_up (NM_GSM_DEVICE (device));
- break;
- case -1:
- nm_warning ("Modem second stage initialization timed out");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED);
- break;
- default:
- nm_warning ("Modem second stage initialization failed");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED);
- return;
- }
-}
-
-static void
-init_modem_full (NMGsmDevice *device)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
- const char *responses[] = { "OK", "ERROR", "ERR", NULL };
-
- /* Send E0 too because some devices turn echo back on after CPIN which
- * just breaks stuff since echo-ed commands are interpreted as replies.
- * rh #456770
- */
- modem_wait_for_reply (device, modem_init_sequences[priv->init_tries], 10, responses, responses, init_full_done, NULL);
-}
-
-static void
-enter_pin_done (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- NMSettingGsm *setting;
- NMGsmSecret secret = GPOINTER_TO_UINT (user_data);
-
- switch (reply_index) {
- case 0:
- init_modem_full (NM_GSM_DEVICE (device));
- break;
- case -1:
- nm_warning ("Did not receive response for secret");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_NO_SECRETS);
- break;
- default:
- nm_warning ("Invalid secret");
- setting = NM_SETTING_GSM (gsm_device_get_setting (NM_GSM_DEVICE (device), NM_TYPE_SETTING_GSM));
-
- /* Make sure we don't use the invalid PIN/PUK again
- as it may lock up the SIM card */
-
- switch (secret) {
- case NM_GSM_SECRET_PIN:
- g_object_set (setting, NM_SETTING_GSM_PIN, NULL, NULL);
- break;
- case NM_GSM_SECRET_PUK:
- g_object_set (setting, NM_SETTING_GSM_PUK, NULL, NULL);
- break;
- default:
- break;
- }
-
- enter_pin (NM_GSM_DEVICE (device), secret, TRUE);
- break;
- }
-}
-
-static void
-enter_pin (NMGsmDevice *device, NMGsmSecret secret_type, gboolean retry)
-{
- NMSettingGsm *setting;
- NMActRequest *req;
- NMConnection *connection;
- const char *secret;
- char *secret_name = NULL;
-
- req = nm_device_get_act_request (NM_DEVICE (device));
- g_assert (req);
- connection = nm_act_request_get_connection (req);
- g_assert (connection);
-
- setting = NM_SETTING_GSM (nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM));
-
- switch (secret_type) {
- case NM_GSM_SECRET_PIN:
- secret_name = NM_SETTING_GSM_PIN;
- break;
- case NM_GSM_SECRET_PUK:
- secret_name = NM_SETTING_GSM_PUK;
- break;
- default:
- power_up (device);
- return;
- }
-
- g_object_get (setting, secret_name, &secret, NULL);
- if (secret) {
- char *command;
- const char *responses[] = { "OK", "ERROR", "ERR", NULL };
-
- command = g_strdup_printf ("AT+CPIN=\"%s\"", secret);
- modem_wait_for_reply (device, command, 3, responses, responses, enter_pin_done, GUINT_TO_POINTER (secret_type));
- g_free (command);
- } else {
- nm_info ("(%s): GSM %s secret required", nm_device_get_iface (NM_DEVICE (device)), secret_name);
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_NEED_AUTH,
- NM_DEVICE_STATE_REASON_NONE);
- nm_act_request_request_connection_secrets (req,
- NM_SETTING_GSM_SETTING_NAME,
- retry,
- SECRETS_CALLER_GSM,
- secret_name,
- NULL);
- }
-}
-
-static void
-check_pin_done (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- switch (reply_index) {
- case 0:
- init_modem_full (NM_GSM_DEVICE (device));
- break;
- case 1:
- enter_pin (NM_GSM_DEVICE (device), NM_GSM_SECRET_PIN, FALSE);
- break;
- case 2:
- enter_pin (NM_GSM_DEVICE (device), NM_GSM_SECRET_PUK, FALSE);
- break;
- case -1:
- nm_warning ("PIN checking timed out");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED);
- break;
- default:
- nm_warning ("PIN checking failed");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_GSM_PIN_CHECK_FAILED);
- return;
- }
-}
-
-static void
-check_pin (NMGsmDevice *self)
-{
- const char *responses[] = { "READY", "SIM PIN", "SIM PUK", "ERROR", "ERR", NULL };
- const char *terminators[] = { "OK", "ERROR", "ERR", NULL };
-
- modem_wait_for_reply (self, "AT+CPIN?", 3, responses, terminators, check_pin_done, NULL);
-}
-
-static void
-init_done (NMSerialDevice *device,
- int reply_index,
- const char *reply,
- gpointer user_data)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
-
- switch (reply_index) {
- case 0:
- check_pin (NM_GSM_DEVICE (device));
- break;
- case -1:
- nm_warning ("Modem initialization timed out");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED);
- break;
- default:
- priv->init_tries++;
- if (modem_init_sequences[priv->init_tries] != NULL) {
- nm_warning ("Trying alternate modem initialization (%d)",
- priv->init_tries);
- init_modem (device);
- } else {
- nm_warning ("Modem initialization failed");
- nm_device_state_changed (NM_DEVICE (device),
- NM_DEVICE_STATE_FAILED,
- NM_DEVICE_STATE_REASON_MODEM_INIT_FAILED);
- }
- break;
- }
-}
-
-static void
-init_modem (NMSerialDevice *device)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
- const char *responses[] = { "OK", "ERROR", "ERR", NULL };
- const char *init_string = modem_init_sequences[priv->init_tries];
-
- modem_wait_for_reply (NM_GSM_DEVICE (device), init_string, 10, responses, responses, init_done, NULL);
-}
-
-static NMActStageReturn
-real_act_stage1_prepare (NMDevice *device, NMDeviceStateReason *reason)
-{
- NMSerialDevice *serial_device = NM_SERIAL_DEVICE (device);
- NMSettingSerial *setting;
- guint id;
-
- setting = NM_SETTING_SERIAL (gsm_device_get_setting (NM_GSM_DEVICE (device), NM_TYPE_SETTING_SERIAL));
-
- if (!nm_serial_device_open (serial_device, setting)) {
- *reason = NM_DEVICE_STATE_REASON_CONFIG_FAILED;
- return NM_ACT_STAGE_RETURN_FAILURE;
- }
-
- NM_GSM_DEVICE_GET_PRIVATE (device)->init_tries = 0;
-
- id = nm_serial_device_flash (serial_device, 100, (NMSerialFlashFn) init_modem, NULL);
- if (!id)
- *reason = NM_DEVICE_STATE_REASON_UNKNOWN;
-
- return id ? NM_ACT_STAGE_RETURN_POSTPONE : NM_ACT_STAGE_RETURN_FAILURE;
-}
-
-static NMConnection *
-real_get_best_auto_connection (NMDevice *dev,
- GSList *connections,
- char **specific_object)
-{
- GSList *iter;
-
- for (iter = connections; iter; iter = g_slist_next (iter)) {
- NMConnection *connection = NM_CONNECTION (iter->data);
- NMSettingConnection *s_con;
-
- s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION);
- g_assert (s_con);
-
- if (!nm_setting_connection_get_autoconnect (s_con))
- continue;
-
- if (strcmp (nm_setting_connection_get_connection_type (s_con), NM_SETTING_GSM_SETTING_NAME))
- continue;
-
- return connection;
- }
- return NULL;
-}
-
-static guint32
-real_get_generic_capabilities (NMDevice *dev)
-{
- return NM_DEVICE_CAP_NM_SUPPORTED;
-}
-
-static void
-real_connection_secrets_updated (NMDevice *dev,
- NMConnection *connection,
- GSList *updated_settings,
- RequestSecretsCaller caller)
-{
- NMActRequest *req;
- gboolean found = FALSE;
- GSList *iter;
-
- if (caller == SECRETS_CALLER_PPP) {
- NMPPPManager *ppp_manager;
- NMSettingGsm *s_gsm = NULL;
-
- ppp_manager = nm_serial_device_get_ppp_manager (NM_SERIAL_DEVICE (dev));
- g_return_if_fail (ppp_manager != NULL);
-
- s_gsm = (NMSettingGsm *) nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM);
- if (!s_gsm) {
- /* Shouldn't ever happen */
- nm_ppp_manager_update_secrets (ppp_manager,
- nm_device_get_iface (dev),
- NULL,
- NULL,
- "missing GSM setting; no secrets could be found.");
- } else {
- const char *gsm_username = nm_setting_gsm_get_username (s_gsm);
- const char *gsm_password = nm_setting_gsm_get_password (s_gsm);
-
- nm_ppp_manager_update_secrets (ppp_manager,
- nm_device_get_iface (dev),
- gsm_username ? gsm_username : "",
- gsm_password ? gsm_password : "",
- NULL);
- }
- return;
- }
-
- g_return_if_fail (caller == SECRETS_CALLER_GSM);
- g_return_if_fail (nm_device_get_state (dev) == NM_DEVICE_STATE_NEED_AUTH);
-
- for (iter = updated_settings; iter; iter = g_slist_next (iter)) {
- const char *setting_name = (const char *) iter->data;
-
- if (!strcmp (setting_name, NM_SETTING_GSM_SETTING_NAME))
- found = TRUE;
- else
- nm_warning ("Ignoring updated secrets for setting '%s'.", setting_name);
- }
-
- if (!found)
- return;
-
- req = nm_device_get_act_request (dev);
- g_assert (req);
-
- g_return_if_fail (nm_act_request_get_connection (req) == connection);
-
- nm_device_activate_schedule_stage1_device_prepare (dev);
-}
-
-static void
-real_deactivate_quickly (NMDevice *device)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
-
- priv->reg_tries = 0;
-
- if (priv->pending_id) {
- g_source_remove (priv->pending_id);
- priv->pending_id = 0;
- }
-
- if (NM_DEVICE_CLASS (nm_gsm_device_parent_class)->deactivate_quickly)
- NM_DEVICE_CLASS (nm_gsm_device_parent_class)->deactivate_quickly (device);
-}
-
-static const char *
-real_get_ppp_name (NMSerialDevice *device, NMActRequest *req)
-{
- NMConnection *connection;
- NMSettingGsm *s_gsm;
-
- connection = nm_act_request_get_connection (req);
- g_assert (connection);
-
- s_gsm = (NMSettingGsm *) nm_connection_get_setting (connection, NM_TYPE_SETTING_GSM);
- g_assert (s_gsm);
-
- return nm_setting_gsm_get_username (s_gsm);
-}
-
-/*****************************************************************************/
-/* Monitor device handling */
-
-static gboolean
-monitor_device_got_data (GIOChannel *source,
- GIOCondition condition,
- gpointer data)
-{
- gsize bytes_read;
- char buf[4096];
- GIOStatus status;
-
- if (condition & G_IO_IN) {
- do {
- status = g_io_channel_read_chars (source, buf, 4096, &bytes_read, NULL);
-
- if (bytes_read) {
- buf[bytes_read] = '\0';
- /* Do nothing with the data for now */
- nm_debug ("Monitor got unhandled data: '%s'", buf);
- }
- } while (bytes_read == 4096 || status == G_IO_STATUS_AGAIN);
- }
-
- if (condition & G_IO_HUP || condition & G_IO_ERR) {
- return FALSE;
- }
-
- return TRUE;
-}
-
-static gboolean
-setup_monitor_device (NMGsmDevice *device)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (device);
- GIOChannel *channel;
- NMSettingSerial *setting;
-
- if (!priv->monitor_iface) {
- nm_debug ("No monitoring udi provided");
- return FALSE;
- }
-
- priv->monitor_device = g_object_new (NM_TYPE_SERIAL_DEVICE,
- NM_DEVICE_INTERFACE_UDI, nm_device_get_udi (NM_DEVICE (device)),
- NM_DEVICE_INTERFACE_IFACE, priv->monitor_iface,
- NULL);
-
- if (!priv->monitor_device) {
- nm_warning ("Creation of the monitoring device failed");
- return FALSE;
- }
-
- setting = NM_SETTING_SERIAL (nm_setting_serial_new ());
- if (!nm_serial_device_open (priv->monitor_device, setting)) {
- nm_warning ("Monitoring device open failed");
- g_object_unref (setting);
- g_object_unref (priv->monitor_device);
- return FALSE;
- }
-
- g_object_unref (setting);
-
- channel = nm_serial_device_get_io_channel (priv->monitor_device);
- g_io_add_watch (channel, G_IO_IN | G_IO_ERR | G_IO_HUP,
- monitor_device_got_data, device);
-
- g_io_channel_unref (channel);
-
- return TRUE;
-}
-
-/*****************************************************************************/
-
-static void
-nm_gsm_device_init (NMGsmDevice *self)
-{
- nm_device_set_device_type (NM_DEVICE (self), NM_DEVICE_TYPE_GSM);
-}
-
-static gboolean
-unavailable_to_disconnected (gpointer user_data)
-{
- nm_device_state_changed (NM_DEVICE (user_data),
- NM_DEVICE_STATE_DISCONNECTED,
- NM_DEVICE_STATE_REASON_NONE);
- return FALSE;
-}
-
-static void
-device_state_changed (NMDeviceInterface *device,
- NMDeviceState new_state,
- NMDeviceState old_state,
- NMDeviceStateReason reason,
- gpointer user_data)
-{
- NMGsmDevice *self = NM_GSM_DEVICE (user_data);
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (self);
-
- /* Remove any previous delayed transition to disconnected */
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
- /* Transition to DISCONNECTED from an idle handler */
- if (new_state == NM_DEVICE_STATE_UNAVAILABLE)
- priv->state_to_disconnected_id = g_idle_add (unavailable_to_disconnected, self);
-
- /* Make sure we don't leave the serial device open */
- switch (new_state) {
- case NM_DEVICE_STATE_UNMANAGED:
- case NM_DEVICE_STATE_UNAVAILABLE:
- case NM_DEVICE_STATE_FAILED:
- case NM_DEVICE_STATE_DISCONNECTED:
- nm_serial_device_close (NM_SERIAL_DEVICE (self));
- break;
- default:
- break;
- }
-}
-
-static GObject*
-constructor (GType type,
- guint n_construct_params,
- GObjectConstructParam *construct_params)
-{
- GObject *object;
-
- object = G_OBJECT_CLASS (nm_gsm_device_parent_class)->constructor (type,
- n_construct_params,
- construct_params);
- if (!object)
- return NULL;
-
- /* FIXME: Make the monitor device not required for now */
- setup_monitor_device (NM_GSM_DEVICE (object));
-#if 0
- if (!setup_monitor_device (NM_GSM_DEVICE (object))) {
- g_object_unref (object);
- object = NULL;
- }
-#endif
-
- g_signal_connect (NM_DEVICE (object), "state-changed",
- G_CALLBACK (device_state_changed), NM_GSM_DEVICE (object));
-
- return object;
-}
-
-static void
-set_property (GObject *object, guint prop_id,
- const GValue *value, GParamSpec *pspec)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_MONITOR_IFACE:
- /* Construct only */
- priv->monitor_iface = g_value_dup_string (value);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-get_property (GObject *object, guint prop_id,
- GValue *value, GParamSpec *pspec)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (object);
-
- switch (prop_id) {
- case PROP_MONITOR_IFACE:
- g_value_set_string (value, priv->monitor_iface);
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-finalize (GObject *object)
-{
- NMGsmDevicePrivate *priv = NM_GSM_DEVICE_GET_PRIVATE (object);
-
- if (priv->monitor_device)
- g_object_unref (priv->monitor_device);
-
- g_free (priv->monitor_iface);
-
- if (priv->state_to_disconnected_id) {
- g_source_remove (priv->state_to_disconnected_id);
- priv->state_to_disconnected_id = 0;
- }
-
- G_OBJECT_CLASS (nm_gsm_device_parent_class)->finalize (object);
-}
-
-static void
-nm_gsm_device_class_init (NMGsmDeviceClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
- NMDeviceClass *device_class = NM_DEVICE_CLASS (klass);
- NMSerialDeviceClass *serial_class = NM_SERIAL_DEVICE_CLASS (klass);
-
- g_type_class_add_private (object_class, sizeof (NMGsmDevicePrivate));
-
- object_class->constructor = constructor;
- object_class->get_property = get_property;
- object_class->set_property = set_property;
- object_class->finalize = finalize;
-
- device_class->get_best_auto_connection = real_get_best_auto_connection;
- device_class->get_generic_capabilities = real_get_generic_capabilities;
- device_class->act_stage1_prepare = real_act_stage1_prepare;
- device_class->connection_secrets_updated = real_connection_secrets_updated;
- device_class->deactivate_quickly = real_deactivate_quickly;
-
- klass->do_dial = real_do_dial;
-
- serial_class->get_ppp_name = real_get_ppp_name;
-
- /* Properties */
- g_object_class_install_property
- (object_class, PROP_MONITOR_IFACE,
- g_param_spec_string (NM_GSM_DEVICE_MONITOR_IFACE,
- "Monitoring interface",
- "Monitoring interface",
- NULL,
- G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | NM_PROPERTY_PARAM_NO_EXPORT));
-
- /* Signals */
- signals[PROPERTIES_CHANGED] =
- nm_properties_changed_signal_new (object_class,
- G_STRUCT_OFFSET (NMGsmDeviceClass, properties_changed));
-
- dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass),
- &dbus_glib_nm_gsm_device_object_info);
-}
diff --git a/src/nm-manager.c b/src/nm-manager.c
index 7a1ab2f38..f37146af8 100644
--- a/src/nm-manager.c
+++ b/src/nm-manager.c
@@ -30,6 +30,7 @@
#include "nm-dbus-manager.h"
#include "nm-vpn-manager.h"
#include "nm-modem-manager.h"
+#include "nm-modem.h"
#include "nm-device-bt.h"
#include "nm-device-interface.h"
#include "nm-device-private.h"
@@ -124,6 +125,16 @@ static const char *internal_activate_device (NMManager *manager,
gboolean assumed,
GError **error);
+static NMDevice *
+find_device_by_iface (NMManager *self, const gchar *iface);
+
+static GSList *
+remove_one_device (NMManager *manager,
+ GSList *list,
+ NMDevice *device,
+ gboolean quitting,
+ gboolean force_unmanage);
+
#define SSD_POKE_INTERVAL 120
#define ORIGDEV_TAG "originating-device"
@@ -281,8 +292,13 @@ modem_added (NMModemManager *modem_manager,
NMDevice *modem,
gpointer user_data)
{
+ NMManagerPrivate *priv;
NMDeviceType type;
+ NMDevice *replace_device;
const char *type_name;
+ const char *ip_iface;
+
+ priv = NM_MANAGER_GET_PRIVATE (user_data);
type = nm_device_get_device_type (NM_DEVICE (modem));
if (type == NM_DEVICE_TYPE_GSM)
@@ -292,6 +308,17 @@ modem_added (NMModemManager *modem_manager,
else
type_name = "Unknown modem";
+ ip_iface = nm_device_get_ip_iface (modem);
+
+ replace_device = find_device_by_iface (NM_MANAGER (user_data), ip_iface);
+ if (replace_device) {
+ priv->devices = remove_one_device (NM_MANAGER (user_data),
+ priv->devices,
+ replace_device,
+ FALSE,
+ TRUE);
+ }
+
add_device (NM_MANAGER (user_data), NM_DEVICE (g_object_ref (modem)));
}
@@ -362,7 +389,8 @@ static GSList *
remove_one_device (NMManager *manager,
GSList *list,
NMDevice *device,
- gboolean quitting)
+ gboolean quitting,
+ gboolean force_unmanage)
{
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager);
@@ -374,7 +402,7 @@ remove_one_device (NMManager *manager,
&& nm_device_get_state (device) == NM_DEVICE_STATE_ACTIVATED)
unmanage = FALSE;
- if (unmanage)
+ if (unmanage || force_unmanage)
nm_device_set_managed (device, FALSE, NM_DEVICE_STATE_REASON_REMOVED);
}
@@ -395,7 +423,7 @@ modem_removed (NMModemManager *modem_manager,
NMManager *self = NM_MANAGER (user_data);
NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
- priv->devices = remove_one_device (self, priv->devices, modem, FALSE);
+ priv->devices = remove_one_device (self, priv->devices, modem, FALSE, TRUE);
}
static void
@@ -1176,6 +1204,14 @@ add_device (NMManager *self, NMDevice *device)
priv->devices = g_slist_append (priv->devices, device);
+ iface = nm_device_get_ip_iface (device);
+ g_assert (iface);
+
+ if (!NM_IS_MODEM(device) && nm_modem_manager_has_modem_for_iface (priv->modem_manager, iface)) {
+ g_object_unref (device);
+ return;
+ }
+
g_signal_connect (device, "state-changed",
G_CALLBACK (manager_device_state_changed),
self);
@@ -1194,8 +1230,6 @@ add_device (NMManager *self, NMDevice *device)
type_desc = nm_device_get_type_desc (device);
g_assert (type_desc);
- iface = nm_device_get_iface (device);
- g_assert (iface);
driver = nm_device_get_driver (device);
if (!driver)
driver = "unknown";
@@ -1359,7 +1393,7 @@ bluez_manager_resync_devices (NMManager *self)
priv->devices = keep;
while (g_slist_length (gone))
- gone = remove_one_device (self, gone, NM_DEVICE (gone->data), FALSE);
+ gone = remove_one_device (self, gone, NM_DEVICE (gone->data), FALSE, TRUE);
} else {
g_slist_free (keep);
g_slist_free (gone);
@@ -1429,12 +1463,26 @@ bluez_manager_bdaddr_removed_cb (NMBluezManager *bluez_mgr,
NMDevice *device = NM_DEVICE (iter->data);
if (!strcmp (nm_device_get_udi (device), object_path)) {
- priv->devices = remove_one_device (self, priv->devices, device, FALSE);
+ priv->devices = remove_one_device (self, priv->devices, device, FALSE, TRUE);
break;
}
}
}
+static NMDevice *
+find_device_by_iface (NMManager *self, const gchar *iface)
+{
+ NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self);
+ GSList *iter;
+ for (iter = priv->devices; iter; iter = g_slist_next (iter)) {
+ NMDevice *device = NM_DEVICE (iter->data);
+ const gchar *d_iface = nm_device_get_ip_iface (device);
+ if (!strcmp (d_iface, iface))
+ return device;
+ }
+ return NULL;
+}
+
static NMDevice *
find_device_by_ifindex (NMManager *self, guint32 ifindex)
{
@@ -1492,7 +1540,7 @@ udev_device_removed_cb (NMUdevManager *manager,
ifindex = g_udev_device_get_property_as_int (udev_device, "IFINDEX");
device = find_device_by_ifindex (self, ifindex);
if (device)
- priv->devices = remove_one_device (self, priv->devices, device, FALSE);
+ priv->devices = remove_one_device (self, priv->devices, device, FALSE, TRUE);
}
static void
@@ -1654,6 +1702,7 @@ user_get_secrets_cb (DBusGProxy *proxy,
NMManagerPrivate *priv;
GHashTable *settings = NULL;
GError *error = NULL;
+ GObject *provider;
g_return_if_fail (info != NULL);
g_return_if_fail (info->provider);
@@ -1661,6 +1710,8 @@ user_get_secrets_cb (DBusGProxy *proxy,
priv = NM_MANAGER_GET_PRIVATE (info->manager);
+ provider = g_object_ref (info->provider);
+
if (dbus_g_proxy_end_call (proxy, call, &error,
DBUS_TYPE_G_MAP_OF_MAP_OF_VARIANT, &settings,
G_TYPE_INVALID)) {
@@ -1681,6 +1732,8 @@ user_get_secrets_cb (DBusGProxy *proxy,
info->call = NULL;
free_get_secrets_info (info);
+
+ g_object_ref (provider);
}
static GetSecretsInfo *
@@ -1744,6 +1797,9 @@ system_get_secrets_reply_cb (NMSettingsConnectionInterface *connection,
gpointer user_data)
{
GetSecretsInfo *info = user_data;
+ GObject *provider;
+
+ provider = g_object_ref (info->provider);
nm_secrets_provider_interface_get_secrets_result (info->provider,
info->setting_name,
@@ -1751,6 +1807,7 @@ system_get_secrets_reply_cb (NMSettingsConnectionInterface *connection,
error ? NULL : secrets,
error);
free_get_secrets_info (info);
+ g_object_unref (provider);
}
static gboolean
@@ -2590,16 +2647,15 @@ dispose (GObject *object)
pending_connection_info_destroy (priv->pending_connection_info);
priv->pending_connection_info = NULL;
- while (g_slist_length (priv->secrets_calls)) {
- GetSecretsInfo *info = priv->secrets_calls->data;
-
- free_get_secrets_info (info);
- }
+ while (g_slist_length (priv->secrets_calls))
+ free_get_secrets_info ((GetSecretsInfo *) priv->secrets_calls->data);
while (g_slist_length (priv->devices)) {
- NMDevice *device = NM_DEVICE (priv->devices->data);
-
- priv->devices = remove_one_device (manager, priv->devices, device, TRUE);
+ priv->devices = remove_one_device (manager,
+ priv->devices,
+ NM_DEVICE (priv->devices->data),
+ TRUE,
+ FALSE);
}
user_destroy_connections (manager);
diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c
index 3ae30940b..a89c7101f 100644
--- a/src/vpn-manager/nm-vpn-connection.c
+++ b/src/vpn-manager/nm-vpn-connection.c
@@ -209,7 +209,8 @@ device_ip4_config_changed (NMDevice *device,
NMVPNConnection *vpn = NM_VPN_CONNECTION (user_data);
NMVPNConnectionPrivate *priv = NM_VPN_CONNECTION_GET_PRIVATE (vpn);
- if (priv->vpn_state != NM_VPN_CONNECTION_STATE_ACTIVATED)
+ if ( (priv->vpn_state != NM_VPN_CONNECTION_STATE_ACTIVATED)
+ || !nm_device_get_ip4_config (device))
return;
if (priv->gw_route)
diff --git a/system-settings/plugins/ifupdown/plugin.c b/system-settings/plugins/ifupdown/plugin.c
index fcda2da99..c1f2b47d6 100644
--- a/system-settings/plugins/ifupdown/plugin.c
+++ b/system-settings/plugins/ifupdown/plugin.c
@@ -75,6 +75,7 @@ typedef struct {
GHashTable *iface_connections;
gchar* hostname;
+ GHashTable *well_known_interfaces;
GHashTable *well_known_ifaces;
gboolean unmanage_well_known;
@@ -247,7 +248,13 @@ udev_device_added (SCPluginIfupdown *self, GUdevDevice *device)
* we want to either unmanage the device or lock it
*/
exported = (NMIfupdownConnection *) g_hash_table_lookup (priv->iface_connections, iface);
- if (!exported)
+ if (!exported) {
+ PLUGIN_PRINT("SCPlugin-Ifupdown",
+ "device added (path: %s, iface: %s): no exported connection", path, iface);
+ return;
+ }
+
+ if (!g_hash_table_lookup (priv->well_known_interfaces, iface))
return;
g_hash_table_insert (priv->well_known_ifaces, g_strdup (iface), g_object_ref (device));
@@ -322,6 +329,9 @@ SCPluginIfupdown_init (NMSystemConfigInterface *config)
if(!priv->well_known_ifaces)
priv->well_known_ifaces = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref);
+ if(!priv->well_known_interfaces)
+ priv->well_known_interfaces = g_hash_table_new (g_str_hash, g_str_equal);
+
PLUGIN_PRINT("SCPlugin-Ifupdown", "init!");
priv->client = g_udev_client_new (subsys);
@@ -365,8 +375,11 @@ SCPluginIfupdown_init (NMSystemConfigInterface *config)
exported = nm_ifupdown_connection_new (block);
if (exported) {
g_hash_table_insert (priv->iface_connections, block->name, exported);
+ g_hash_table_insert (priv->well_known_interfaces, block->name, "known");
g_signal_emit_by_name (self, NM_SYSTEM_CONFIG_INTERFACE_CONNECTION_ADDED, exported);
}
+ } else if (!strcmp ("mapping", block->type)) {
+ g_hash_table_insert (priv->well_known_interfaces, block->name, "known");
}
block = block->next;
}
@@ -448,6 +461,11 @@ SCPluginIfupdown_get_connections (NMSystemConfigInterface *config)
PLUGIN_PRINT("SCPlugin-Ifupdown", "(%d) ... get_connections.", GPOINTER_TO_UINT(config));
+ if(priv->unmanage_well_known) {
+ PLUGIN_PRINT("SCPlugin-Ifupdown", "(%d) ... get_connections (managed=false): return empty list.", GPOINTER_TO_UINT(config));
+ return NULL;
+ }
+
g_hash_table_iter_init (&iter, priv->iface_connections);
while (g_hash_table_iter_next (&iter, NULL, &value))
connections = g_slist_prepend (connections, value);
@@ -620,6 +638,9 @@ GObject__dispose (GObject *object)
if (priv->well_known_ifaces)
g_hash_table_destroy(priv->well_known_ifaces);
+ if (priv->well_known_interfaces)
+ g_hash_table_destroy(priv->well_known_interfaces);
+
if (priv->client)
g_object_unref (priv->client);