summaryrefslogtreecommitdiff
authordavipt <davipt>2002-06-20 19:10:03 (UTC)
committer davipt <davipt>2002-06-20 19:10:03 (UTC)
commit8c55fec6394ca27aebf49692c643d71db32b7ebf (patch) (unidiff)
tree652f92eb31431ddae39fa6e7cb58e8f1e8b9d5af
parente3b199e4b3ad71cb8d046e33e792402250a8faec (diff)
downloadopie-8c55fec6394ca27aebf49692c643d71db32b7ebf.zip
opie-8c55fec6394ca27aebf49692c643d71db32b7ebf.tar.gz
opie-8c55fec6394ca27aebf49692c643d71db32b7ebf.tar.bz2
Fix cardmon applet visibility (now visible is some card is plugged) and added
popup on succesfull ejection or insertion of a card.
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--core/applets/cardmon/cardmon.cpp84
-rw-r--r--core/applets/cardmon/cardmon.h5
-rw-r--r--core/applets/cardmon/cardmon.pro28
-rw-r--r--i18n/de/libcardmonapplet.ts44
-rw-r--r--i18n/en/libcardmonapplet.ts44
-rw-r--r--i18n/es/libcardmonapplet.ts53
-rw-r--r--i18n/fr/libcardmonapplet.ts44
-rw-r--r--i18n/hu/libcardmonapplet.ts44
-rw-r--r--i18n/ja/libcardmonapplet.ts44
-rw-r--r--i18n/ko/libcardmonapplet.ts44
-rw-r--r--i18n/no/libcardmonapplet.ts44
-rw-r--r--i18n/pl/libcardmonapplet.ts44
-rw-r--r--i18n/pt/libcardmonapplet.ts44
-rw-r--r--i18n/pt_BR/libcardmonapplet.ts44
-rw-r--r--i18n/sl/libcardmonapplet.ts44
-rw-r--r--i18n/zh_CN/libcardmonapplet.ts44
-rw-r--r--i18n/zh_TW/libcardmonapplet.ts44
17 files changed, 672 insertions, 70 deletions
diff --git a/core/applets/cardmon/cardmon.cpp b/core/applets/cardmon/cardmon.cpp
index 9522b88..ac2aea2 100644
--- a/core/applets/cardmon/cardmon.cpp
+++ b/core/applets/cardmon/cardmon.cpp
@@ -37,194 +37,222 @@
37#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 37#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
38#include <sys/vfs.h> 38#include <sys/vfs.h>
39#include <mntent.h> 39#include <mntent.h>
40#endif 40#endif
41 41
42CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ), 42CardMonitor::CardMonitor( QWidget *parent ) : QWidget( parent ),
43 pm( Resource::loadPixmap( "cardmon/pcmcia" ) ) { 43 pm( Resource::loadPixmap( "cardmon/pcmcia" ) ) {
44 44
45 QCopChannel* pcmciaChannel = new QCopChannel( "QPE/Card", this ); 45 QCopChannel* pcmciaChannel = new QCopChannel( "QPE/Card", this );
46 connect( pcmciaChannel, SIGNAL(received(const QCString &, const QByteArray &)), 46 connect( pcmciaChannel, SIGNAL(received(const QCString &, const QByteArray &)),
47 this, SLOT(cardMessage( const QCString &, const QByteArray &)) ); 47 this, SLOT(cardMessage( const QCString &, const QByteArray &)) );
48 48
49 QCopChannel* sdChannel = new QCopChannel( "QPE/Card", this ); 49 QCopChannel* sdChannel = new QCopChannel( "QPE/Card", this );
50 connect( sdChannel, SIGNAL(received(const QCString &, const QByteArray &)), 50 connect( sdChannel, SIGNAL(received(const QCString &, const QByteArray &)),
51 this, SLOT(cardMessage( const QCString &, const QByteArray &)) ); 51 this, SLOT(cardMessage( const QCString &, const QByteArray &)) );
52 52
53
54 setFixedSize( pm.size() ); 53 setFixedSize( pm.size() );
55 hide(); 54 getStatusPcmcia(TRUE);
56 getStatusPcmcia(); 55 getStatusSd(TRUE);
56 repaint(FALSE);
57} 57}
58 58
59CardMonitor::~CardMonitor() { 59CardMonitor::~CardMonitor() {
60} 60}
61 61
62void CardMonitor::mousePressEvent( QMouseEvent * ) { 62void CardMonitor::mousePressEvent( QMouseEvent * ) {
63 QPopupMenu *menu = new QPopupMenu(); 63 QPopupMenu *menu = new QPopupMenu();
64 QString cmd; 64 QString cmd;
65 int err=0; 65 int err=0;
66 66
67 if ( cardInSd ) { 67 if ( cardInSd ) {
68 menu->insertItem( tr("Eject SD/ MMC card"), 0 ); 68 menu->insertItem( tr("Eject SD/MMC card"), 0 );
69 } 69 }
70 70
71 if ( cardInPcmcia0 ) { 71 if ( cardInPcmcia0 ) {
72 menu->insertItem( tr("Eject card (0) %1").arg(cardInPcmcia0Name), 1 ); 72 menu->insertItem( tr("Eject card 0: %1").arg(cardInPcmcia0Name), 1 );
73 } 73 }
74 74
75 if ( cardInPcmcia1 ) { 75 if ( cardInPcmcia1 ) {
76 menu->insertItem( tr("Eject card (1) %1").arg(cardInPcmcia1Name), 2 ); 76 menu->insertItem( tr("Eject card 1: %1").arg(cardInPcmcia1Name), 2 );
77 } 77 }
78 78
79 QPoint p = mapToGlobal( QPoint(1, -menu->sizeHint().height()-1) ); 79 QPoint p = mapToGlobal ( QPoint ( 0, 0 ));
80 QSize s = menu->sizeHint ( );
81 int opt = menu->exec( QPoint (
82 p. x ( ) + ( width ( ) / 2 ) - ( s. width ( ) / 2 ),
83 p. y ( ) - s. height ( ) ), 0);
80 84
81 if ( menu->exec( p, 1 ) == 1 ) { 85 if ( opt == 1 ) {
82 86
83 cmd = "/sbin/cardctl eject 0"; 87 cmd = "/sbin/cardctl eject 0";
84 err = system( (const char *) cmd ); 88 err = system( (const char *) cmd );
85 if ( ( err == 127 ) || ( err < 0 ) ) { 89 if ( ( err == 127 ) || ( err < 0 ) ) {
86 qDebug("Could not execute `/sbin/cardctl eject 0'! err=%d", err); 90 qDebug("Could not execute `/sbin/cardctl eject 0'! err=%d", err);
87 QMessageBox::warning( this, tr("CardMonitor"), tr("CF/PCMCIA card eject failed!"), 91 QMessageBox::warning( this, tr("CardMonitor"), tr("CF/PCMCIA card eject failed!"),
88 tr("&OK") ); 92 tr("&OK") );
89 } 93 }
90 } else if ( menu->exec( p, 1 ) == 0 ) { 94 } else if ( opt == 0 ) {
91 cmd = "/etc/sdcontrol compeject"; 95 cmd = "/etc/sdcontrol compeject";
92 err = system( (const char *) cmd ); 96 err = system( (const char *) cmd );
93 if ( ( err != 0 ) ) { 97 if ( ( err != 0 ) ) {
94 qDebug("Could not execute `/etc/sdcontrol comeject'! err=%d", err); 98 qDebug("Could not execute `/etc/sdcontrol comeject'! err=%d", err);
95 QMessageBox::warning( this, tr("CardMonitor"), tr("SD/MMC card eject failed!"), 99 QMessageBox::warning( this, tr("CardMonitor"), tr("SD/MMC card eject failed!"),
96 tr("&OK") ); 100 tr("&OK") );
97 } 101 }
98 } else if ( menu->exec( p, 1 ) == 2 ) { 102 } else if ( opt == 2 ) {
99 cmd = "/sbin/cardctl eject 1"; 103 cmd = "/sbin/cardctl eject 1";
100 err = system( (const char *) cmd ); 104 err = system( (const char *) cmd );
101 if ( ( err == 127 ) || ( err < 0 ) ) { 105 if ( ( err == 127 ) || ( err < 0 ) ) {
102 qDebug("Could not execute `/sbin/cardctl eject 1'! err=%d", err); 106 qDebug("Could not execute `/sbin/cardctl eject 1'! err=%d", err);
103 QMessageBox::warning( this, tr("CardMonitor"), tr("CF/PCMCIA card eject failed!"), 107 QMessageBox::warning( this, tr("CardMonitor"), tr("CF/PCMCIA card eject failed!"),
104 tr("&OK") ); 108 tr("&OK") );
105 } 109 }
106 } 110 }
107 111
108 delete menu; 112 delete menu;
109} 113}
110 114
111 115
112void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) { 116void CardMonitor::cardMessage( const QCString &msg, const QByteArray & ) {
113 if ( msg == "stabChanged()" ) { 117 if ( msg == "stabChanged()" ) {
118 // qDebug("Pcmcia: stabchanged");
114 if ( getStatusPcmcia() ) { 119 if ( getStatusPcmcia() ) {
115 repaint(FALSE); 120 repaint(FALSE);
116 } 121 }
117 } else if ( msg == "mtabChanged()" ) { 122 } else if ( msg == "mtabChanged()" ) {
123 // qDebug("Pcmcia: mtabchanged");
118 if ( getStatusSd() ) { 124 if ( getStatusSd() ) {
119 repaint(FALSE); 125 repaint(FALSE);
120 } 126 }
121 } 127 }
122} 128}
123 129
124bool CardMonitor::getStatusPcmcia( void ) { 130bool CardMonitor::getStatusPcmcia( int showPopUp = FALSE ) {
125 131
126 bool cardWas0 = cardInPcmcia0; // remember last state 132 bool cardWas0 = cardInPcmcia0; // remember last state
127 bool cardWas1 = cardInPcmcia1; 133 bool cardWas1 = cardInPcmcia1;
128 134
129 QString fileName; 135 QString fileName;
130 136
131 // one of these 3 files should exist 137 // one of these 3 files should exist
132 if (QFile::exists("/var/run/stab")) { 138 if (QFile::exists("/var/run/stab")) {
133 fileName = "/var/run/stab"; 139 fileName = "/var/run/stab";
134 } else if (QFile::exists("/var/state/pcmcia/stab")) { 140 } else if (QFile::exists("/var/state/pcmcia/stab")) {
135 fileName="/var/state/pcmcia/stab"; 141 fileName="/var/state/pcmcia/stab";
136 } else { 142 } else {
137 fileName="/var/lib/pcmcia/stab"; 143 fileName="/var/lib/pcmcia/stab";
138 } 144 }
139 145
140 QFile f(fileName); 146 QFile f(fileName);
141 147
142 if ( f.open(IO_ReadOnly) ) { 148 if ( f.open(IO_ReadOnly) ) {
143 QStringList list; 149 QStringList list;
144 QTextStream stream ( &f); 150 QTextStream stream ( &f);
145 QString streamIn; 151 QString streamIn;
146 streamIn = stream.read(); 152 streamIn = stream.read();
147 list = QStringList::split("\n", streamIn); 153 list = QStringList::split("\n", streamIn);
148 for(QStringList::Iterator line=list.begin(); line!=list.end(); line++) { 154 for(QStringList::Iterator line=list.begin(); line!=list.end(); line++) {
149 if( (*line).startsWith("Socket 0:") ){ 155 if( (*line).startsWith("Socket 0:") ){
150 // extendable, maybe read out card name
151 if( (*line).startsWith("Socket 0: empty") && cardInPcmcia0 ){ 156 if( (*line).startsWith("Socket 0: empty") && cardInPcmcia0 ){
152 cardInPcmcia0 = FALSE; 157 cardInPcmcia0 = FALSE;
153 hide();
154 } else if ( !(*line).startsWith("Socket 0: empty") && !cardInPcmcia0 ){ 158 } else if ( !(*line).startsWith("Socket 0: empty") && !cardInPcmcia0 ){
155 cardInPcmcia0Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 ); 159 cardInPcmcia0Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 );
160 cardInPcmcia0Name.stripWhiteSpace();
156 cardInPcmcia0 = TRUE; 161 cardInPcmcia0 = TRUE;
157 show(); 162 show();
158 } 163 }
159 } 164 }
160 if( (*line).startsWith("Socket 1:") ){ 165 if( (*line).startsWith("Socket 1:") ){
161 if( (*line).startsWith("Socket 1: empty") && cardInPcmcia1 ){ 166 if( (*line).startsWith("Socket 1: empty") && cardInPcmcia1 ){
162 cardInPcmcia1 = FALSE; 167 cardInPcmcia1 = FALSE;
163 hide();
164 } else if ( !(*line).startsWith("Socket 1: empty") && !cardInPcmcia1 ){ 168 } else if ( !(*line).startsWith("Socket 1: empty") && !cardInPcmcia1 ){
165 cardInPcmcia1Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 ); 169 cardInPcmcia1Name = (*line).mid(((*line).find(':')+1), (*line).length()-9 );
170 cardInPcmcia1Name.stripWhiteSpace();
166 cardInPcmcia1 = TRUE; 171 cardInPcmcia1 = TRUE;
167 show(); 172 show();
168 } 173 }
169 } 174 }
170 } 175 }
171 } else { 176 } else {
172 // no file found 177 // no file found
173 qDebug("no file found"); 178 qDebug("no file found");
174 cardInPcmcia0 = FALSE; 179 cardInPcmcia0 = FALSE;
175 cardInPcmcia1 = FALSE; 180 cardInPcmcia1 = FALSE;
176 hide();
177 return FALSE; 181 return FALSE;
178 182
179 } 183 }
180 184
185 if(!cardInPcmcia0 && !cardInPcmcia1) {
186 qDebug("Pcmcia: no cards");
187 }
188
189 if( !showPopUp && (cardWas0 != cardInPcmcia0 || cardWas1 != cardInPcmcia1)) {
190 QString text = "";
191 if(cardWas0 != cardInPcmcia0) {
192 if(cardInPcmcia0) { text += tr("New card: "); }
193 else { text += tr("Ejected: "); }
194 text += cardInPcmcia0Name;
195 }
196 if(cardWas0 != cardInPcmcia0 && cardWas1 != cardInPcmcia1) {
197 text += "\n";
198 }
199 if(cardWas1 != cardInPcmcia1) {
200 if(cardInPcmcia1) { text += tr("New card: "); }
201 else { text += tr("Ejected: "); }
202 text += cardInPcmcia1Name;
203 }
204 QMessageBox::warning( this, tr("CardMonitor"), text,
205 tr("&OK") );
206 }
207
181 f.close(); 208 f.close();
182 209
183 return ((cardWas0 == cardInPcmcia0 || cardWas1 == cardInPcmcia1) ? FALSE : TRUE); 210 return ((cardWas0 == cardInPcmcia0 || cardWas1 == cardInPcmcia1) ? FALSE : TRUE);
184} 211}
185 212
186 213
187bool CardMonitor::getStatusSd( void ) { 214bool CardMonitor::getStatusSd( int showPopUp = FALSE ) {
188 215
189 bool cardWas=cardInSd; // remember last state 216 bool cardWas=cardInSd; // remember last state
190 cardInSd=false; 217 cardInSd=false;
191 218
192#if defined(_OS_LINUX_) || defined(Q_OS_LINUX) 219#if defined(_OS_LINUX_) || defined(Q_OS_LINUX)
193 struct mntent *me; 220 struct mntent *me;
194 FILE *mntfp = setmntent( "/etc/mtab", "r" ); 221 FILE *mntfp = setmntent( "/etc/mtab", "r" );
195 222
196 if ( mntfp ) { 223 if ( mntfp ) {
197 while ( (me = getmntent( mntfp )) != 0 ) { 224 while ( (me = getmntent( mntfp )) != 0 ) {
198 QString fs = me->mnt_fsname; 225 QString fs = me->mnt_fsname;
199 if ( fs.left(7)=="/dev/sd" || fs.left(9) == "/dev/mmcd" ) { 226 if ( fs.left(7)=="/dev/sd" || fs.left(9) == "/dev/mmcd" ) {
200 cardInSd=true; 227 cardInSd=true;
201 } 228 }
202 } 229 }
203 endmntent( mntfp ); 230 endmntent( mntfp );
204 if (cardInSd!=cardWas) {
205 if (cardInSd) {
206 show();
207 } else {
208 hide();
209 }
210 }
211 } else {
212 hide();
213 } 231 }
232 if(!showPopUp && cardWas != cardInSd) {
233 QString text = "";
234 if(cardInSd) { text += "SD Inserted"; }
235 else { text += "SD Removed"; }
236 QMessageBox::warning( this, tr("CardMonitor"), text,
237 tr("&OK") );
238 }
239
214#else 240#else
215#error "Not on Linux" 241#error "Not on Linux"
216#endif 242#endif
217 return ((cardWas == cardInSd) ? FALSE : TRUE); 243 return ((cardWas == cardInSd) ? FALSE : TRUE);
218} 244}
219 245
220void CardMonitor::paintEvent( QPaintEvent * ) { 246void CardMonitor::paintEvent( QPaintEvent * ) {
221 QPainter p( this ); 247 QPainter p( this );
222 248
223 if ( cardInPcmcia0 || cardInPcmcia1 || cardInSd ) { 249 if ( cardInPcmcia0 || cardInPcmcia1 || cardInSd ) {
224 p.drawPixmap( 0, 0, pm ); 250 p.drawPixmap( 0, 0, pm );
251 show();
225 } else { 252 } else {
226 p.eraseRect( rect() ); 253 p.eraseRect( rect() );
254 hide();
227 } 255 }
228} 256}
229 257
230 258
diff --git a/core/applets/cardmon/cardmon.h b/core/applets/cardmon/cardmon.h
index 2a90c90..f9e3819 100644
--- a/core/applets/cardmon/cardmon.h
+++ b/core/applets/cardmon/cardmon.h
@@ -14,39 +14,40 @@
14 * the Free Software Foundation; either version 2 of the License, or * 14 * the Free Software Foundation; either version 2 of the License, or *
15 * (at your option) any later version. * 15 * (at your option) any later version. *
16 * * 16 * *
17 ***************************************************************************/ 17 ***************************************************************************/
18 18
19#ifndef CARDMON_H 19#ifndef CARDMON_H
20#define CARDMON_H 20#define CARDMON_H
21 21
22#include <qwidget.h> 22#include <qwidget.h>
23#include <qpixmap.h> 23#include <qpixmap.h>
24 24
25class CardMonitor : public QWidget { 25class CardMonitor : public QWidget {
26 Q_OBJECT 26 Q_OBJECT
27public: 27public:
28 CardMonitor( QWidget *parent = 0 ); 28 CardMonitor( QWidget *parent = 0 );
29 ~CardMonitor(); 29 ~CardMonitor();
30 bool getStatusPcmcia( void ); 30 bool getStatusPcmcia( int showPopUp = FALSE );
31 bool getStatusSd( void ); 31 bool getStatusSd( int showPopUp = FALSE );
32 32
33private slots: 33private slots:
34 void cardMessage( const QCString &msg, const QByteArray & ); 34 void cardMessage( const QCString &msg, const QByteArray & );
35 35
36protected: 36protected:
37 void paintEvent( QPaintEvent* ); 37 void paintEvent( QPaintEvent* );
38 void mousePressEvent( QMouseEvent * ); 38 void mousePressEvent( QMouseEvent * );
39private: 39private:
40 QPixmap pm; 40 QPixmap pm;
41 // pcmcia socket 0 41 // pcmcia socket 0
42 bool cardInPcmcia0; 42 bool cardInPcmcia0;
43 QString cardInPcmcia0Name; 43 QString cardInPcmcia0Name;
44 // pcmcia socket 1 44 // pcmcia socket 1
45 bool cardInPcmcia1; 45 bool cardInPcmcia1;
46 QString cardInPcmcia1Name; 46 QString cardInPcmcia1Name;
47 bool cardInSd; 47 bool cardInSd;
48 void iconShow();
48 49
49}; 50};
50 51
51#endif 52#endif
52 53
diff --git a/core/applets/cardmon/cardmon.pro b/core/applets/cardmon/cardmon.pro
index ff3463c..e79e91a 100644
--- a/core/applets/cardmon/cardmon.pro
+++ b/core/applets/cardmon/cardmon.pro
@@ -1,25 +1,25 @@
1 TEMPLATE= lib 1 TEMPLATE= lib
2 CONFIG += qt warn_on release 2 CONFIG += qt warn_on release
3 HEADERS =cardmon.h cardmonimpl.h 3 HEADERS =cardmon.h cardmonimpl.h
4 SOURCES =cardmon.cpp cardmonimpl.cpp 4 SOURCES =cardmon.cpp cardmonimpl.cpp
5 TARGET = cardmonapplet 5 TARGET = cardmonapplet
6 DESTDIR = $(OPIEDIR)/plugins/applets 6 DESTDIR = $(OPIEDIR)/plugins/applets
7INCLUDEPATH += $(OPIEDIR)/include 7INCLUDEPATH += $(OPIEDIR)/include
8DEPENDPATH += $(OPIEDIR)/include ../launcher 8DEPENDPATH += $(OPIEDIR)/include ../launcher
9LIBS += -lqpe 9LIBS += -lqpe
10 VERSION = 1.0.0 10 VERSION = 1.0.0
11 11
12TRANSLATIONS = ../i18n/de/libcardmonapplet.ts 12TRANSLATIONS = ../../i18n/de/libcardmonapplet.ts
13TRANSLATIONS += ../i18n/es/libcardmonapplet.ts 13TRANSLATIONS += ../../i18n/es/libcardmonapplet.ts
14TRANSLATIONS += ../i18n/pt/libcardmonapplet.ts 14TRANSLATIONS += ../../i18n/pt/libcardmonapplet.ts
15TRANSLATIONS += ../i18n/pt_BR/libcardmonapplet.ts 15TRANSLATIONS += ../../i18n/pt_BR/libcardmonapplet.ts
16TRANSLATIONS += ../i18n/en/libcardmonapplet.ts 16TRANSLATIONS += ../../i18n/en/libcardmonapplet.ts
17TRANSLATIONS += ../i18n/hu/libcardmonapplet.ts 17TRANSLATIONS += ../../i18n/hu/libcardmonapplet.ts
18TRANSLATIONS += ../i18n/sl/libcardmonapplet.ts 18TRANSLATIONS += ../../i18n/sl/libcardmonapplet.ts
19TRANSLATIONS += ../i18n/pl/libcardmonapplet.ts 19TRANSLATIONS += ../../i18n/pl/libcardmonapplet.ts
20TRANSLATIONS += ../i18n/ja/libcardmonapplet.ts 20TRANSLATIONS += ../../i18n/ja/libcardmonapplet.ts
21TRANSLATIONS += ../i18n/fr/libcardmonapplet.ts 21TRANSLATIONS += ../../i18n/fr/libcardmonapplet.ts
22TRANSLATIONS += ../i18n/ko/libcardmonapplet.ts 22TRANSLATIONS += ../../i18n/ko/libcardmonapplet.ts
23TRANSLATIONS += ../i18n/no/libcardmonapplet.ts 23TRANSLATIONS += ../../i18n/no/libcardmonapplet.ts
24TRANSLATIONS += ../i18n/zh_CN/libcardmonapplet.ts 24TRANSLATIONS += ../../i18n/zh_CN/libcardmonapplet.ts
25TRANSLATIONS += ../i18n/zh_TW/libcardmonapplet.ts 25TRANSLATIONS += ../../i18n/zh_TW/libcardmonapplet.ts
diff --git a/i18n/de/libcardmonapplet.ts b/i18n/de/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/de/libcardmonapplet.ts
+++ b/i18n/de/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/en/libcardmonapplet.ts b/i18n/en/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/en/libcardmonapplet.ts
+++ b/i18n/en/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/es/libcardmonapplet.ts b/i18n/es/libcardmonapplet.ts
new file mode 100644
index 0000000..4882e21
--- a/dev/null
+++ b/i18n/es/libcardmonapplet.ts
@@ -0,0 +1,53 @@
1<!DOCTYPE TS><TS>
2<context>
3 <name>CardMonitor</name>
4 <message>
5 <source>Eject SD/ MMC card</source>
6 <translation type="obsolete"></translation>
7 </message>
8 <message>
9 <source>Eject %1 (0)</source>
10 <translation type="obsolete"></translation>
11 </message>
12 <message>
13 <source>Eject %1 (1)</source>
14 <translation type="obsolete"></translation>
15 </message>
16 <message>
17 <source>CardMonitor</source>
18 <translation type="unfinished"></translation>
19 </message>
20 <message>
21 <source>CF/PCMCIA card eject failed!</source>
22 <translation type="unfinished"></translation>
23 </message>
24 <message>
25 <source>&amp;OK</source>
26 <translation type="unfinished"></translation>
27 </message>
28 <message>
29 <source>SD/MMC card eject failed!</source>
30 <translation type="unfinished"></translation>
31 </message>
32 <message>
33 <source>New card: </source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>Ejected: </source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>Eject SD/MMC card</source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Eject card 0: %1</source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject card 1: %1</source>
50 <translation type="unfinished"></translation>
51 </message>
52</context>
53</TS>
diff --git a/i18n/fr/libcardmonapplet.ts b/i18n/fr/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/fr/libcardmonapplet.ts
+++ b/i18n/fr/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/hu/libcardmonapplet.ts b/i18n/hu/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/hu/libcardmonapplet.ts
+++ b/i18n/hu/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/ja/libcardmonapplet.ts b/i18n/ja/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/ja/libcardmonapplet.ts
+++ b/i18n/ja/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/ko/libcardmonapplet.ts b/i18n/ko/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/ko/libcardmonapplet.ts
+++ b/i18n/ko/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/no/libcardmonapplet.ts b/i18n/no/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/no/libcardmonapplet.ts
+++ b/i18n/no/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/pl/libcardmonapplet.ts b/i18n/pl/libcardmonapplet.ts
index 89d8876..d3732e0 100644
--- a/i18n/pl/libcardmonapplet.ts
+++ b/i18n/pl/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation>Wyjmij karte</translation> 6 <translation type="obsolete">Wyjmij karte</translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation>MonitorKart</translation> 10 <translation>MonitorKart</translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation>Wyjmowanie karty nie powiodlo sie!</translation> 14 <translation type="obsolete">Wyjmowanie karty nie powiodlo sie!</translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/pt/libcardmonapplet.ts b/i18n/pt/libcardmonapplet.ts
index edc52e8..4ec1872 100644
--- a/i18n/pt/libcardmonapplet.ts
+++ b/i18n/pt/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation>Ejectar cartão</translation> 6 <translation type="obsolete">Ejectar cartão</translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation>Monitor de cartões</translation> 10 <translation>Monitor de cartões</translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation>Falhou a ejeção do cartão!</translation> 14 <translation type="obsolete">Falhou a ejeção do cartão!</translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation>&amp;Ok</translation> 18 <translation>&amp;Ok</translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete">Ejectar SD/MMC</translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete">Ejectar %1 (0)</translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete">Ejectar %1 (1)</translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation>Ejecção do cartão CF/PCMCIA falhou!</translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation>Ejecção do cartão SD/MMC falhou!</translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation>Novo cartão:</translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation>Removido:</translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation>Ejectar SD/MMC</translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation>Ejectar cartão 0: %1</translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation>Ejectar cartão 1: %1</translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/pt_BR/libcardmonapplet.ts b/i18n/pt_BR/libcardmonapplet.ts
index f2aee65..38dd9b8 100644
--- a/i18n/pt_BR/libcardmonapplet.ts
+++ b/i18n/pt_BR/libcardmonapplet.ts
@@ -1,22 +1,62 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<defaultcodec>iso8859-1</defaultcodec> 2<defaultcodec>iso8859-1</defaultcodec>
3<context> 3<context>
4 <name>CardMonitor</name> 4 <name>CardMonitor</name>
5 <message> 5 <message>
6 <source>&amp;OK</source> 6 <source>&amp;OK</source>
7 <translation>&amp;OK</translation> 7 <translation>&amp;OK</translation>
8 </message> 8 </message>
9 <message> 9 <message>
10 <source>CardMonitor</source> 10 <source>CardMonitor</source>
11 <translation>Monitor de Cartão</translation> 11 <translation>Monitor de Cartão</translation>
12 </message> 12 </message>
13 <message> 13 <message>
14 <source>Eject card</source> 14 <source>Eject card</source>
15 <translation>Desativar cartão</translation> 15 <translation type="obsolete">Desativar cartão</translation>
16 </message> 16 </message>
17 <message> 17 <message>
18 <source>Card eject failed!</source> 18 <source>Card eject failed!</source>
19 <translation>Falhou ao desativar o cartão!</translation> 19 <translation type="obsolete">Falhou ao desativar o cartão!</translation>
20 </message>
21 <message>
22 <source>Eject SD/ MMC card</source>
23 <translation type="obsolete"></translation>
24 </message>
25 <message>
26 <source>Eject %1 (0)</source>
27 <translation type="obsolete"></translation>
28 </message>
29 <message>
30 <source>Eject %1 (1)</source>
31 <translation type="obsolete"></translation>
32 </message>
33 <message>
34 <source>CF/PCMCIA card eject failed!</source>
35 <translation type="unfinished"></translation>
36 </message>
37 <message>
38 <source>SD/MMC card eject failed!</source>
39 <translation type="unfinished"></translation>
40 </message>
41 <message>
42 <source>New card: </source>
43 <translation type="unfinished"></translation>
44 </message>
45 <message>
46 <source>Ejected: </source>
47 <translation type="unfinished"></translation>
48 </message>
49 <message>
50 <source>Eject SD/MMC card</source>
51 <translation type="unfinished"></translation>
52 </message>
53 <message>
54 <source>Eject card 0: %1</source>
55 <translation type="unfinished"></translation>
56 </message>
57 <message>
58 <source>Eject card 1: %1</source>
59 <translation type="unfinished"></translation>
20 </message> 60 </message>
21</context> 61</context>
22</TS> 62</TS>
diff --git a/i18n/sl/libcardmonapplet.ts b/i18n/sl/libcardmonapplet.ts
index 1dd8995..5dd8592 100644
--- a/i18n/sl/libcardmonapplet.ts
+++ b/i18n/sl/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation>Vstavite kartico</translation> 6 <translation type="obsolete">Vstavite kartico</translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation>NadzorKartic</translation> 10 <translation>NadzorKartic</translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation>Vstavitev kartice je spodletela!</translation> 14 <translation type="obsolete">Vstavitev kartice je spodletela!</translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation>&amp;Vredu</translation> 18 <translation>&amp;Vredu</translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/zh_CN/libcardmonapplet.ts b/i18n/zh_CN/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/zh_CN/libcardmonapplet.ts
+++ b/i18n/zh_CN/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>
diff --git a/i18n/zh_TW/libcardmonapplet.ts b/i18n/zh_TW/libcardmonapplet.ts
index 67c09b9..687958e 100644
--- a/i18n/zh_TW/libcardmonapplet.ts
+++ b/i18n/zh_TW/libcardmonapplet.ts
@@ -1,21 +1,61 @@
1<!DOCTYPE TS><TS> 1<!DOCTYPE TS><TS>
2<context> 2<context>
3 <name>CardMonitor</name> 3 <name>CardMonitor</name>
4 <message> 4 <message>
5 <source>Eject card</source> 5 <source>Eject card</source>
6 <translation type="unfinished"></translation> 6 <translation type="obsolete"></translation>
7 </message> 7 </message>
8 <message> 8 <message>
9 <source>CardMonitor</source> 9 <source>CardMonitor</source>
10 <translation type="unfinished"></translation> 10 <translation type="unfinished"></translation>
11 </message> 11 </message>
12 <message> 12 <message>
13 <source>Card eject failed!</source> 13 <source>Card eject failed!</source>
14 <translation type="unfinished"></translation> 14 <translation type="obsolete"></translation>
15 </message> 15 </message>
16 <message> 16 <message>
17 <source>&amp;OK</source> 17 <source>&amp;OK</source>
18 <translation type="unfinished"></translation> 18 <translation type="unfinished"></translation>
19 </message> 19 </message>
20 <message>
21 <source>Eject SD/ MMC card</source>
22 <translation type="obsolete"></translation>
23 </message>
24 <message>
25 <source>Eject %1 (0)</source>
26 <translation type="obsolete"></translation>
27 </message>
28 <message>
29 <source>Eject %1 (1)</source>
30 <translation type="obsolete"></translation>
31 </message>
32 <message>
33 <source>CF/PCMCIA card eject failed!</source>
34 <translation type="unfinished"></translation>
35 </message>
36 <message>
37 <source>SD/MMC card eject failed!</source>
38 <translation type="unfinished"></translation>
39 </message>
40 <message>
41 <source>New card: </source>
42 <translation type="unfinished"></translation>
43 </message>
44 <message>
45 <source>Ejected: </source>
46 <translation type="unfinished"></translation>
47 </message>
48 <message>
49 <source>Eject SD/MMC card</source>
50 <translation type="unfinished"></translation>
51 </message>
52 <message>
53 <source>Eject card 0: %1</source>
54 <translation type="unfinished"></translation>
55 </message>
56 <message>
57 <source>Eject card 1: %1</source>
58 <translation type="unfinished"></translation>
59 </message>
20</context> 60</context>
21</TS> 61</TS>