aboutsummaryrefslogtreecommitdiffstats
path: root/po/sr.po
diff options
context:
space:
mode:
Diffstat (limited to 'po/sr.po')
-rw-r--r--po/sr.po154
1 files changed, 83 insertions, 71 deletions
diff --git a/po/sr.po b/po/sr.po
index 31b1a1e..12fe334 100644
--- a/po/sr.po
+++ b/po/sr.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: isodumper\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-15 16:43+0200\n"
+"POT-Creation-Date: 2014-06-30 17:50+0200\n"
"PO-Revision-Date: 2011-03-17 11:58+0000\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Launchpad Serbian Translators\n"
@@ -19,115 +19,115 @@ msgstr ""
"X-Launchpad-Export-Date: 2013-07-03 20:32+0000\n"
"X-Generator: Launchpad (build 16692)\n"
-#: lib/isodumper.py:146
+#: lib/isodumper.py:153
msgid "Mb"
msgstr ""
-#: lib/isodumper.py:234
+#: lib/isodumper.py:162 lib/isodumper.py:289
+msgid "Target Device: "
+msgstr "Циљни уређај: "
+
+#: lib/isodumper.py:241
msgid "The device was formatted successfully."
msgstr ""
-#: lib/isodumper.py:238
+#: lib/isodumper.py:245
msgid "An error occured while creating a partition."
msgstr ""
-#: lib/isodumper.py:240
+#: lib/isodumper.py:247
msgid "Authentication error."
msgstr ""
-#: lib/isodumper.py:242
+#: lib/isodumper.py:249
msgid "An error occurred."
msgstr ""
-#: lib/isodumper.py:265 share/isodumper/isodumper.glade.h:31
+#: lib/isodumper.py:272 share/isodumper/isodumper.glade.h:32
msgid "Backup in:"
msgstr ""
-#: lib/isodumper.py:281
+#: lib/isodumper.py:288
msgid "Image: "
msgstr "Одраз: "
-#: lib/isodumper.py:282
-msgid "Target Device: "
-msgstr "Циљни уређај: "
-
-#: lib/isodumper.py:285
+#: lib/isodumper.py:292
msgid "The device is too small to contain the ISO file."
msgstr ""
-#: lib/isodumper.py:292
+#: lib/isodumper.py:299
msgid "The device is bigger than 32 Gbytes. Are you sure you want use it?"
msgstr ""
-#: lib/isodumper.py:319
+#: lib/isodumper.py:326
msgid "Unmounting all partitions of "
msgstr "Демонтирам све партиције на "
-#: lib/isodumper.py:321
+#: lib/isodumper.py:328
msgid "Trying to unmount "
msgstr "Покушавам да демонтирам "
-#: lib/isodumper.py:327
+#: lib/isodumper.py:334
msgid " was terminated by signal "
msgstr " је окончан сигналом "
-#: lib/isodumper.py:327 lib/isodumper.py:333
+#: lib/isodumper.py:334 lib/isodumper.py:340
msgid "Error, umount "
msgstr "Грешка, демонтирам "
-#: lib/isodumper.py:331
+#: lib/isodumper.py:338
msgid " successfully unmounted"
msgstr " је успешно демонтиран"
-#: lib/isodumper.py:333
+#: lib/isodumper.py:340
msgid " returned "
msgstr " је вратио "
-#: lib/isodumper.py:336
+#: lib/isodumper.py:343
msgid "Execution failed: "
msgstr "Извршавање није успело: "
-#: lib/isodumper.py:344
+#: lib/isodumper.py:351
msgid "Could not read mtab !"
msgstr "Не могу да прочитам мтаб !"
-#: lib/isodumper.py:352 lib/isodumper.py:375
+#: lib/isodumper.py:360 lib/isodumper.py:384
msgid "Reading error."
msgstr ""
-#: lib/isodumper.py:358
+#: lib/isodumper.py:366
msgid "You have not the rights for writing on the device"
msgstr ""
-#: lib/isodumper.py:363 lib/isodumper.py:364
+#: lib/isodumper.py:372 lib/isodumper.py:373
msgid " to "
msgstr " на "
-#: lib/isodumper.py:363
+#: lib/isodumper.py:372
msgid "Writing "
msgstr "Записујем "
-#: lib/isodumper.py:364
+#: lib/isodumper.py:373
msgid "Executing copy from "
msgstr ""
-#: lib/isodumper.py:380 lib/isodumper.py:393 lib/isodumper.py:402
+#: lib/isodumper.py:389 lib/isodumper.py:402 lib/isodumper.py:411
msgid "Writing error."
msgstr ""
-#: lib/isodumper.py:385
+#: lib/isodumper.py:394
msgid "Wrote: "
msgstr "Записах: "
-#: lib/isodumper.py:397
+#: lib/isodumper.py:406
msgid " successfully written to "
msgstr " је успешно записан на "
-#: lib/isodumper.py:397
+#: lib/isodumper.py:406 lib/isodumper.py:495
msgid "Image "
msgstr "Одраз "
-#: lib/isodumper.py:398
+#: lib/isodumper.py:407
msgid "Bytes written: "
msgstr ""
@@ -150,14 +150,21 @@ msgstr ""
#: share/isodumper/isodumper.glade.h:2
msgid ""
+"Writing is in progress. Exiting will occur that the device will be "
+"unusable.\n"
+"Are you sure you want to quit during writing on the device?"
+msgstr ""
+
+#: share/isodumper/isodumper.glade.h:4
+msgid ""
"A tool for writing ISO images on a USB stick. It's a fork of usb-imagewriter."
msgstr ""
-#: share/isodumper/isodumper.glade.h:3
+#: share/isodumper/isodumper.glade.h:5
msgid "Select"
msgstr ""
-#: share/isodumper/isodumper.glade.h:4
+#: share/isodumper/isodumper.glade.h:6
msgid ""
"<b>Warning</b>\n"
" This will <b>destroy all data</b> on the target\n"
@@ -173,111 +180,101 @@ msgstr ""
" Ако овде кажете у реду, молим <b>немојте откачињати</b>\n"
" уређај за време следеће операције."
-#: share/isodumper/isodumper.glade.h:10
+#: share/isodumper/isodumper.glade.h:12
msgid ""
"<b>Error</b>\n"
" Something went wrong, please see the details\n"
" window for the exact error.\n"
-" \n"
-" A logfile isodumper.log with the content will be saved in your\n"
-" homedir/.isodumper when the application is closed."
-msgstr ""
-"<b>Грешка</b>\n"
-" Нешто је пошло наопако, молим погледајте прозор\n"
-" са сетаљима за тачну грешку.\n"
-" \n"
-" Датотека дневника са садржајем ће бити сачувана у\n"
-" вашој личној фасцикли ако је програм затворен."
-
-#: share/isodumper/isodumper.glade.h:16
-msgid "Formatting the device"
+"\n"
+" The application will be closed with this window, and a logfile\n"
+" isodumper.log will be saved in your homedir/.isodumper "
msgstr ""
-#: share/isodumper/isodumper.glade.h:17
+#: share/isodumper/isodumper.glade.h:18
msgid "Label for the device:"
msgstr ""
-#: share/isodumper/isodumper.glade.h:18
+#: share/isodumper/isodumper.glade.h:19
msgid "FAT 32 (Windows)"
msgstr ""
-#: share/isodumper/isodumper.glade.h:19
+#: share/isodumper/isodumper.glade.h:20
msgid "The standard. The size of files are limited to 4Gb"
msgstr ""
-#: share/isodumper/isodumper.glade.h:20
+#: share/isodumper/isodumper.glade.h:21
msgid "NTFS (Windows)"
msgstr ""
-#: share/isodumper/isodumper.glade.h:21
+#: share/isodumper/isodumper.glade.h:22
msgid "To handle files bigger than 4Gb"
msgstr ""
-#: share/isodumper/isodumper.glade.h:22
+#: share/isodumper/isodumper.glade.h:23
msgid "ext4 (Linux)"
msgstr ""
-#: share/isodumper/isodumper.glade.h:23
+#: share/isodumper/isodumper.glade.h:24
msgid "Only for Linux systems"
msgstr ""
-#: share/isodumper/isodumper.glade.h:24
+#: share/isodumper/isodumper.glade.h:25
msgid "Device to work on:"
msgstr ""
-#: share/isodumper/isodumper.glade.h:25
+#: share/isodumper/isodumper.glade.h:26
msgid "Select target device to write the image to"
msgstr "Изаберите циљну уређај на коме ће бити записан одраз"
-#: share/isodumper/isodumper.glade.h:26
+#: share/isodumper/isodumper.glade.h:27
msgid "Write Image:"
msgstr "Запиши одраз:"
-#: share/isodumper/isodumper.glade.h:27
+#: share/isodumper/isodumper.glade.h:28
msgid "Select an image file to be written to the device"
msgstr "Изаберите датотеку одраза који ће бити записан на уређај"
-#: share/isodumper/isodumper.glade.h:28
+#: share/isodumper/isodumper.glade.h:29
msgid "Select Image"
msgstr "Изабери одраз"
-#: share/isodumper/isodumper.glade.h:29
+#: share/isodumper/isodumper.glade.h:30
msgid "Write to device"
msgstr "Запиши на уређај"
-#: share/isodumper/isodumper.glade.h:30
+#: share/isodumper/isodumper.glade.h:31
msgid "Create a backup of the device as image to restore it later"
msgstr ""
-#: share/isodumper/isodumper.glade.h:33
+#: share/isodumper/isodumper.glade.h:34
msgid "(None)"
msgstr ""
-#: share/isodumper/isodumper.glade.h:34
+#: share/isodumper/isodumper.glade.h:35
msgid "Select a folder in which to write the backup image"
msgstr ""
-#: share/isodumper/isodumper.glade.h:35
+#: share/isodumper/isodumper.glade.h:36
msgid "Backup the device"
msgstr ""
-#: share/isodumper/isodumper.glade.h:36
+#: share/isodumper/isodumper.glade.h:37
msgid "Format the device in FAT, NTFS or ext:"
msgstr ""
-#: share/isodumper/isodumper.glade.h:37
+#: share/isodumper/isodumper.glade.h:38
msgid "Choose the format. The device will be formatted in one partition"
msgstr ""
-#: share/isodumper/isodumper.glade.h:38
+#: share/isodumper/isodumper.glade.h:39
msgid "Format the device"
msgstr ""
-#: share/isodumper/isodumper.glade.h:39
+#: share/isodumper/isodumper.glade.h:40
msgid "Details"
msgstr "Детаљи"
-#: share/isodumper/isodumper.glade.h:40
+#: share/isodumper/isodumper.glade.h:41
msgid ""
"<b>Warning</b>\n"
" No target devices were found. \n"
@@ -286,7 +283,7 @@ msgid ""
" to which the image can be written."
msgstr ""
-#: share/isodumper/isodumper.glade.h:45
+#: share/isodumper/isodumper.glade.h:46
msgid ""
"<b>Success</b>\n"
" The image was successfully written to the\n"
@@ -303,6 +300,21 @@ msgstr ""
" о операцији ће бити сачуван у вашој личној\n"
" фасцикли ако затворите програм."
+#~ msgid ""
+#~ "<b>Error</b>\n"
+#~ " Something went wrong, please see the details\n"
+#~ " window for the exact error.\n"
+#~ " \n"
+#~ " A logfile isodumper.log with the content will be saved in your\n"
+#~ " homedir/.isodumper when the application is closed."
+#~ msgstr ""
+#~ "<b>Грешка</b>\n"
+#~ " Нешто је пошло наопако, молим погледајте прозор\n"
+#~ " са сетаљима за тачну грешку.\n"
+#~ " \n"
+#~ " Датотека дневника са садржајем ће бити сачувана у\n"
+#~ " вашој личној фасцикли ако је програм затворен."
+
#~ msgid "to"
#~ msgstr "на"
lass="hl com"> are not modules nor symlinks to modules. The prune list skips known additional files, if a distribution wants to store additional text files in the top level directory they should be added to the prune list. A type 2 directory must contain only modules or symlinks to modules. They are processed in alphabetical order, without pruning. Symlinks to directories are an error in type 2 directories. The user function is not called for type 1 directories, nor for pruned entries. It is called for type 2 directories and their contents. It is also called for any files left in a type 1 directory after pruning and processing type 2 subdirectories. The user function never sees symlinks, they are resolved before calling the function. Why have different directory types? The original file tree walk was not well defined. Some users specified each directory individually, others just pointed at the top level directory. Either version worked until the "build" symlink was added. Now users who specify the top level directory end up running the entire kernel source tree looking for modules, not nice. We cannot just ignore symlinks because pcmcia uses symlinks to modules for backwards compatibility. Type 1 is when a user specifies the top level directory which needs special processing, type 2 is individual subdirectories. But the only way to tell the difference is by looking at the contents. The "/kernel" directory introduced in 2.3.12 either contains nothing (old make modules_install) or contains all the kernel modules using the same tree structure as the source. Because "/kernel" can contain old names but is really a type 2 directory, it is detected as a special case. */ #include <dirent.h> #include <errno.h> #include <limits.h> #include <malloc.h> #include <stdlib.h> #include <string.h> #include <sys/stat.h> #include "util.h" #include "config.h" extern char *tbpath[]; extern OPT_LIST *prune_list; extern int n_prune_list; extern char *tbtype[]; struct xftw_dirent { struct stat statbuf; char *name; char *fullname; }; #define XFTW_MAXDEPTH 64 /* Maximum directory depth handled */ typedef struct { struct xftw_dirent *contents; int size; int used; } xftw_tree_t; static xftw_tree_t tree[XFTW_MAXDEPTH]; /* Free all data for one tree level */ static void xftw_free_tree(int depth) { int i; xftw_tree_t *t = tree+depth; for (i = 0; i < t->size; ++i) { free(t->contents[i].name); free(t->contents[i].fullname); } free(t->contents); t->contents = NULL; t->size = 0; t->used = 0; } /* Increment dirents used at this depth, resizing if necessary */ static void xftw_add_dirent(int depth) { xftw_tree_t *t = tree+depth; int i, size = t->size; if (++t->used < size) return; size += 10; /* arbitrary increment */ t->contents = xrealloc(t->contents, size*sizeof(*(t->contents))); for (i = t->size; i < size; ++i) { memset(&(t->contents[i].statbuf), 0, sizeof(t->contents[i].statbuf)); t->contents[i].name = NULL; t->contents[i].fullname = NULL; } t->size = size; } /* Concatenate directory name and entry name into one string. * Note: caller must free result or leak. */ static char *xftw_dir_name(const char *directory, const char *entry) { int i = strlen(directory); char *name; if (entry) i += strlen(entry); i += 2; name = xmalloc(i); strcpy(name, directory); /* safe, xmalloc */ if (*directory && entry) strcat(name, "/"); /* safe, xmalloc */ if (entry) strcat(name, entry); /* safe, xmalloc */ return(name); } /* Call the user function for a directory entry */ static int xftw_do_name(const char *directory, const char *entry, struct stat *sb, xftw_func_t funcptr) { int ret = 0; char *name = xftw_dir_name(directory, entry); if (S_ISLNK(sb->st_mode)) { char real[PATH_MAX], *newname; verbose("resolving %s symlink to ", name); if (!(newname = realpath(name, real))) { if (errno == ENOENT) { verbose("%s: does not exist, dangling symlink ignored\n", real); goto cleanup; } perror("... failed"); goto cleanup; } verbose("%s ", newname); if (lstat(newname, sb)) { error("lstat on %s failed ", newname); perror(""); goto cleanup; } free(name); name = xstrdup(newname); } if (!S_ISREG(sb->st_mode) && !S_ISDIR(sb->st_mode)) { error("%s is not plain file nor directory\n", name); goto cleanup; } verbose("user function %s\n", name); ret = (*funcptr)(name, sb); cleanup: free(name); return(ret); } /* Sort directory entries into alphabetical order */ static int xftw_sortdir(const void *a, const void *b) { return(strcmp(((struct xftw_dirent *)a)->name, ((struct xftw_dirent *)b)->name)); } /* Read a directory and sort it, ignoring "." and ".." */ static int xftw_readdir(const char *directory, int depth) { DIR *d; struct dirent *ent; verbose("xftw_readdir %s\n", directory); if (!(d = opendir(directory))) { perror(directory); return(1); } while ((ent = readdir(d))) { char *name; struct xftw_dirent *f; if (strcmp(ent->d_name, ".") == 0 || strcmp(ent->d_name, "..") == 0) continue; name = xftw_dir_name(directory, ent->d_name); xftw_add_dirent(depth); f = tree[depth].contents+tree[depth].used-1; f->name = xstrdup(ent->d_name); f->fullname = name; /* do not free name, it is in use */ if (lstat(name, &(f->statbuf))) { perror(name); return(1); } } closedir(d); qsort(tree[depth].contents, tree[depth].used, sizeof(*(tree[0].contents)), &xftw_sortdir); return(0); } /* Process a type 2 directory */ int xftw_type2(const char *directory, const char *entry, int depth, xftw_func_t funcptr) { int ret, i; xftw_tree_t *t = tree+depth; struct stat statbuf; char *dirname = xftw_dir_name(directory, entry); verbose("type 2 %s\n", dirname); if (depth > XFTW_MAXDEPTH) { error("xftw_type2 exceeded maxdepth\n"); ret = 1; goto cleanup; } if ((ret = xftw_readdir(dirname, depth))) goto cleanup; t = tree+depth; /* user function sees type 2 directories */ if ((ret = lstat(dirname, &statbuf)) || (ret = xftw_do_name("", dirname, &statbuf, funcptr))) goto cleanup; /* user sees all contents of type 2 directory, no pruning */ for (i = 0; i < t->used; ++i) { struct xftw_dirent *c = t->contents+i; if (S_ISLNK(c->statbuf.st_mode)) { if (!stat(c->name, &(c->statbuf))) { if (S_ISDIR(c->statbuf.st_mode)) { error("symlink to directory is not allowed, %s ignored\n", c->name); *(c->name) = '\0'; /* ignore it */ } } }