Subversion Repositories Scribus

Compare Revisions

Ignore whitespace Rev 289 → Rev 290

/trunk/Scribus/configure.in
168,6 → 168,7
AC_CONFIG_FILES([scribus/plugins/svgexplugin/Makefile])
AC_CONFIG_FILES([scribus/plugins/svgimplugin/Makefile])
AC_CONFIG_FILES([scribus/plugins/fontpreview/Makefile])
AC_CONFIG_FILES([scribus/plugins/psimport/Makefile])
AC_CONFIG_FILES([scribus/plugins/printpreview/Makefile])
AC_CONFIG_FILES([scribus/plugins/pixmapexport/Makefile])
AC_CONFIG_FILES([scribus/plugins/scriptplugin/Makefile])
/trunk/Scribus/ChangeLogCVS
1,8 → 1,13
Changes since Version 1.1.6
 
20.05.2004
* bug #684: open-entry in the library should be moved
* bug #692: New Parameter for GetAllObjects
* feature #643: Enable EPS and PS Import as Vector Objects
* feature #677: Remove lingering empty messages from some .ts files
* feature #679: Update for the German language
* feature #687: put the pdf-options in the context menu in a submenu
* feature #693: Updated Russian Translation
 
19.05.2004
* bug #673: Borders of tools are messed up on startup
/trunk/Scribus/scribus/scrap.cpp
130,9 → 130,9
BiblioLayout->setMargin( 0 );
fmenu = new QPopupMenu();
fmenu->insertItem(loadIcon("DateiNeu16.png"), tr("New"), this, SLOT(NewLib()), CTRL+Key_N);
fmenu->insertItem(loadIcon("DateiOpen16.png"), tr("Load..."), this, SLOT(Load()), CTRL+Key_O);
fSave = fmenu->insertItem(loadIcon("DateiSave16.png"), tr("Save"), this, SLOT(Save()), CTRL+Key_S);
fmenu->insertItem( tr("Save as..."), this, SLOT(SaveAs()));
fmenu->insertItem(loadIcon("DateiOpen16.png"), tr("Load..."), this, SLOT(Load()), CTRL+Key_O);
fmenu->insertItem(loadIcon("DateiClos16.png"), tr("Close"), this, SLOT(CloseWin()));
vmenu = new QPopupMenu();
vS = vmenu->insertItem( tr( "Small" ) );
/trunk/Scribus/scribus/libabout/about.cpp
56,7 → 56,7
tabLayout1->addWidget( PixmapLabel1 );
BuildID = new QLabel( tab, "BB" );
BuildID->setAlignment(Qt::AlignCenter);
QString bu = tr("%1. %2 %3 ").arg("18").arg("May").arg("2004");
QString bu = tr("%1. %2 %3 ").arg("20").arg("May").arg("2004");
#ifdef HAVE_CMS
bu += "C";
#else
/trunk/Scribus/scribus/plugins/scriptplugin/cmdgetprop.cpp
229,16 → 229,38
PyObject *scribus_getallobj(PyObject *self, PyObject* args)
{
PyObject *l;
if (!PyArg_ParseTuple(args, ""))
int typ = -1;
uint counter = 0;
uint counter2 = 0;
if (!PyArg_ParseTuple(args, "|i", &typ))
return NULL;
if (Carrier->HaveDoc)
{
l = PyList_New(Carrier->doc->ActPage->Items.count());
for (uint lam=0; lam < Carrier->doc->ActPage->Items.count(); lam++)
if (typ != -1)
{
for (uint lam2 = 0; lam2 < Carrier->doc->ActPage->Items.count(); ++lam2)
{
PyList_SetItem(l, lam, PyString_FromString(Carrier->doc->ActPage->Items.at(lam)->AnName));
if (Carrier->doc->ActPage->Items.at(lam2)->PType == typ)
counter++;
}
}
else
counter = Carrier->doc->ActPage->Items.count();
l = PyList_New(counter);
for (uint lam=0; lam < Carrier->doc->ActPage->Items.count(); ++lam)
{
if (typ != -1)
{
if (Carrier->doc->ActPage->Items.at(lam)->PType == typ)
{
PyList_SetItem(l, counter2, PyString_FromString(Carrier->doc->ActPage->Items.at(lam)->AnName));
counter2++;
}
}
else
PyList_SetItem(l, lam, PyString_FromString(Carrier->doc->ActPage->Items.at(lam)->AnName));
}
}
else
l = PyList_New(0);
return l;
/trunk/Scribus/scribus/plugins/Makefile.am
3,6 → 3,6
pyt = scriptplugin
endif
 
SUBDIRS = libchar svgexplugin svgimplugin printpreview fontpreview pixmapexport $(pyt)
SUBDIRS = libchar svgexplugin svgimplugin psimport printpreview fontpreview pixmapexport $(pyt)
 
####### kdevelop will overwrite this part!!! (end)############
/trunk/Scribus/scribus/plugins/psimport/importps.h
0,0 → 1,42
#ifndef IMPORTPS_H
#define IMPORTPS_H
 
#include "scribus.h"
 
/** Calls the Plugin with the main Application window as parent
* and the main Application Class as parameter */
extern "C" void Run(QWidget *d, ScribusApp *plug);
/** Returns the Name of the Plugin.
* This name appears in the relevant Menue-Entrys */
extern "C" QString Name();
/** Returns the Type of the Plugin.
* 1 = the Plugin is a normal Plugin, which appears in the Extras Menue
* 2 = the Plugins is a import Plugin, which appears in the Import Menue
* 3 = the Plugins is a export Plugin, which appears in the Export Menue */
extern "C" int Type();
 
class EPSPlug : public QObject
{
Q_OBJECT
 
public:
EPSPlug( QWidget* parent, ScribusApp *plug, QString fName );
~EPSPlug() {};
bool convert(QString fn, double x, double y, double b, double h);
void parseOutput(QString fn);
void LineTo(FPointArray *i, QString vals);
void Curve(FPointArray *i, QString vals);
QString parseColor(QString vals);
 
ScribusDoc* Doku;
ScribusApp* Prog;
QPtrList<PageItem> Elements;
CListe CustColors;
double LineW, Opacity;
QString CurrColor;
FPointArray Coords;
bool FirstM, WasM, ClosedPath;
};
 
#endif
 
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: trunk/Scribus/scribus/plugins/psimport/Makefile.am
===================================================================
--- trunk/Scribus/scribus/plugins/psimport/Makefile.am (nonexistent)
+++ trunk/Scribus/scribus/plugins/psimport/Makefile.am (revision 290)
@@ -0,0 +1,24 @@
+pluginsdir = $(prefix)/lib/scribus/plugins
+AM_CPPFLAGS = -I$(top_builddir)/scribus
+
+SUBDIRS =
+
+plugins_LTLIBRARIES = libimportps.la
+
+INCLUDES = $(LIBFREETYPE_CFLAGS) $(all_includes)
+
+libimportps_la_LDFLAGS = -version-info 0:0:0
+libimportps_la_METASOURCES = AUTO
+libimportps_la_SOURCES = importps.cpp
+
+EXTRA_DIST = import.prolog importps.cpp importps.h
+
+install-data-local:
+ $(mkinstalldirs) $(prefix)/lib/scribus/
+ $(INSTALL_DATA) $(srcdir)/import.prolog $(prefix)/lib/scribus/import.prolog
+
+uninstall-local:
+ -rm -f $(prefix)/lib/scribus/import.prolog
+
+KDE_OPTIONS = qtonly
+AM_LDFLAGS = -s $(LIBFREETYPE_LIBS)
/trunk/Scribus/scribus/plugins/psimport/Makefile.am
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: trunk/Scribus/scribus/plugins/psimport/import.prolog
===================================================================
--- trunk/Scribus/scribus/plugins/psimport/import.prolog (nonexistent)
+++ trunk/Scribus/scribus/plugins/psimport/import.prolog (revision 290)
@@ -0,0 +1,524 @@
+%
+% psi.prolog
+%
+% Copyright (C) 1996-2000 by vhf computer GmbH + vhf interservice GmbH
+% Author: Georg Fleischmann
+%
+% created: 2000-09-09
+% modified:
+%
+% this PostScript code writes a file with the structure below.
+% # # # # l (x0 y0 x1 y1) line
+% # # # # # # # #c (x0 y0 x1 y1 x2 y2 x3 y3) curve
+% # w (width) width
+% # # # # # co (c m y k a) color
+% n new list
+% f list is a filled polygon
+% s list is a group
+% cl list is a clip list (clip with old clip list and use it)
+% gs save current clip list and width to top of stack
+% gr use last clip list (on top of stack) and width
+% # # # # # # # # # # (x y a b c d e f text font) text
+%
+% Adapted for Scribus by Franz Schmid 15.05.2004
+% Also removed the hardcoded Output Filename
+% and changed it in a way the -sOutputFile Option of Ghostscript can be used
+% Speeded up the flattening of Text by removing unneeded calculations.
+% Changed the Output slightly to ease parsing
+% m moveto
+% l # # # # (x0 y0 x1 y1) line
+% c # # # # # # # # (x0 y0 x1 y1 x2 y2 x3 y3) curve
+% w # (width) Linewidth
+% co # # # # # (c m y k a) color
+% n new list
+% f list is a filled polygon
+% s list is a stroke path
+% cp close current subpath
+% ci list is a clip list (clip with old clip list and use it)
+%
+% 15.05.2004 Added the Glyphshow Operator.
+% 17.05.2004 Made clipping working.
+% 20.05.2004 kshow is working now.
+
+/cfile OutputFile (w) file def
+/print { cfile exch writestring } bind def
+
+% whether we have to flatten the text
+/flattenText 1 def
+
+% is a Clipping there
+/clipCnt 0 def
+
+% remember the current point
+/currentX 0 def
+/currentY 0 def
+
+% 1st point of path to close the path
+/beginX 0 def
+/beginY 0 def
+
+% dummy for converting strings
+/str 50 string def
+
+% 0 = mirror at
+/mirror 0 def
+
+% mirror a at 0
+/mir
+{
+ mirror 0 ne
+ { 0 exch sub
+ }if
+} bind def
+
+% scale
+/m_a 1 def
+/m_b 0 def
+/m_c 0 def
+/m_d 1 def
+/m_x 0 def
+/m_y 0 def
+/matrix_x % x y
+{
+ % ax + cy + tx
+ m_c mul exch m_a mul add m_x add
+} bind def
+/matrix_y % x y
+{
+ % bx + dy + ty
+ m_d mul exch m_b mul add m_y add
+} bind def
+
+/writecurrentcolor
+{
+ currentcolorspace 0 get /CIEBasedABC eq
+ { currentcolor setrgbcolor
+ } if
+
+ currentcmykcolor % -> c m y k
+ (co )print
+ 3 index str cvs print
+ ( ) print
+ 2 index str cvs print
+ ( ) print
+ 1 index str cvs print
+ ( ) print
+ str cvs print
+ ( ) print
+ pop pop pop
+ .currentopacityalpha % a
+ str cvs print
+ (\n) print
+} bind def
+
+/writecurrentlinewidth
+{
+ userdict begin
+ currentlinewidth % w
+ storeMatrix
+
+ % (wb + wd + wa + wc) / 2
+ dup dup dup m_b abs mul exch m_d abs mul add exch m_a abs mul add exch m_c abs mul add 2 div abs
+ (w ) print
+ str cvs print
+ (\n) print
+ end
+} bind def
+
+/_move % x y
+{
+ userdict begin
+ (m\n) print
+ /currentY exch def
+ /currentX exch def
+ /beginX currentX def
+ /beginY currentY def
+ end
+} bind def
+
+/_line
+{
+ userdict begin
+ /y1 exch def
+ /x1 exch def
+
+ % x x1 ne y y1 ne or
+ currentX x1 sub abs 0.001 gt currentY y1 sub abs 0.001 gt or
+ {
+ (l ) print
+ currentX currentY matrix_x str cvs print
+ ( ) print
+ currentX currentY matrix_y str cvs print
+ ( ) print
+
+ x1 y1 matrix_x str cvs print
+ ( ) print
+ x1 y1 matrix_y str cvs print
+ (\n) print
+ /currentX x1 def
+ /currentY y1 def
+ }if
+ end
+} bind def
+
+/_curve
+{
+ userdict begin
+ % x1 y1 x2 y2 x3 y3
+ (c ) print
+ currentX currentY matrix_x str cvs print
+ ( ) print
+ currentX currentY matrix_y str cvs print
+ ( ) print
+ 5 index 5 index matrix_x str cvs print
+ ( ) print
+ 5 index 5 index matrix_y str cvs print
+ ( ) print
+ 3 index 3 index matrix_x str cvs print
+ ( ) print
+ 3 index 3 index matrix_y str cvs print
+ ( ) print
+
+ /currentY exch def
+ /currentX exch def
+
+ currentX currentY matrix_x str cvs print
+ ( ) print
+ currentX currentY matrix_y str cvs print
+ (\n)print
+ pop pop pop pop
+ end
+} bind def
+
+% modified: 18.10.96
+/_close
+{
+ (cp\n) print
+ beginX beginY _line
+} bind def
+
+/storeMatrix
+{
+ userdict begin
+ matrix currentmatrix
+ 0 get /m_a exch def
+ matrix currentmatrix
+ 1 get /m_b exch def
+ matrix currentmatrix
+ 2 get /m_c exch def
+ matrix currentmatrix
+ 3 get /m_d exch def
+ matrix currentmatrix
+ 4 get /m_x exch def
+ matrix currentmatrix
+ 5 get /m_y exch def
+ end
+} bind def
+
+/rectfill
+{
+ userdict begin
+ (n\n)print % start polygon
+ writecurrentcolor
+ writecurrentlinewidth
+ storeMatrix
+
+ % x y width height
+ dup type /arraytype ne
+ {
+ /hr exch def
+ /wr exch def
+ /yr exch def
+ /xr exch def
+ xr yr _move
+ xr wr add yr _line
+ xr wr add yr hr add _line
+ xr yr hr add _line
+ xr yr _line
+ }
+ % numarray
+ % numstring
+ {
+ /ar exch def
+ 0 4 ar length 1 sub
+ {
+ /n exch def
+ ar n get /xr exch def
+ ar n 1 add get /yr exch def
+ ar n 2 add get /wr exch def
+ ar n 3 add get /hr exch def
+ xr yr _move
+ xr wr add yr _line
+ xr wr add yr hr add _line
+ xr yr hr add _line
+ xr yr _line
+ } for
+ }ifelse
+
+ (f\n)print % close polygon
+ end
+} bind def
+
+/rectstroke
+{
+ userdict begin
+ (n\n)print % start rect
+ writecurrentcolor
+ writecurrentlinewidth
+ storeMatrix
+
+ % x y width height
+ dup type /arraytype ne
+ {
+ /hr exch def
+ /wr exch def
+ /yr exch def
+ /xr exch def
+ xr yr _move
+ xr wr add yr _line
+ xr wr add yr hr add _line
+ xr yr hr add _line
+ xr yr _line
+ }
+ % numarray
+ % numstring
+ {
+ /ar exch def
+ 0 4 ar length 1 sub
+ {
+ /n exch def
+ ar n get /xr exch def
+ ar n 1 add get /yr exch def
+ ar n 2 add get /wr exch def
+ ar n 3 add get /hr exch def
+ xr yr _move
+ xr wr add yr _line
+ xr wr add yr hr add _line
+ xr yr hr add _line
+ xr yr _line
+ } for
+ }ifelse
+ (n\n)print % stroke rect
+ end
+} bind def
+
+/stroke
+{
+ (n\n) print
+ writecurrentcolor
+ writecurrentlinewidth
+ clipCnt 1 eq
+ { clipsave clip newpath clippath cliprestore } if
+ storeMatrix
+ {_move} {_line} {_curve} {_close} pathforall
+ (s\n)print % stroke path
+ newpath
+} bind def
+
+/eofill
+{
+ (n\n) print % start polygon
+ writecurrentcolor % write color
+ writecurrentlinewidth
+ clipCnt 1 eq
+ { clipsave clip newpath clippath cliprestore } if
+ storeMatrix % take transformation, scaling, rotation from PostScript
+ {_move} {_line} {_curve} {_close} pathforall
+ (f\n)print % close polygon
+
+ newpath % clear stack
+} bind def
+
+/fill
+{
+ eofill
+} bind def
+
+/clip
+{
+ userdict begin
+ (n\n)print % start clip polygon
+
+ storeMatrix % take transformation, scaling, rotation from PostScript
+ {_move} {_line} {_curve} {_close} pathforall
+
+ (ci\n)print % close clip polygon begin path
+ % we have to close the path!!
+ clip
+ /clipCnt 1 def
+ newpath % clear stack
+ end
+} bind def
+
+% we don't clip
+% because this doesn't work for flattening text (show, charpath) with NeXT PostScript Code
+/rectclip
+{
+ pop pop pop pop
+} bind def
+
+/stateArray 500 array def
+/stateTop 0 def
+/gsave
+{
+ userdict begin
+% (gs\n) print
+ stateArray stateTop gstate currentgstate put
+ /stateTop stateTop 1 add def
+ end
+} bind def
+
+/grestore
+{
+ userdict begin
+ stateTop 1 lt
+ {
+ }
+ {
+% (gr\n) print
+ stateArray stateTop 1 sub get setgstate
+ /stateTop stateTop 1 sub def
+ stateArray stateTop 0 put
+ }ifelse
+ end
+} bind def
+
+% a bind def of the show operator doesn't work,
+% so this is our way to get a charpath entry for flattening text
+/root_charpath
+{
+ charpath
+} bind def
+
+/show
+{
+ userdict begin
+ storeMatrix
+ currentfont /FontName known
+ % stack: string
+ {
+ currentpoint % x y
+ newpath
+ /clipCnt 0 def
+ moveto
+ % we process each char separately to get smaller paths
+ 0 1 2 index length 1 sub
+ {
+ (n\n)print % start polygon
+ writecurrentcolor % write color
+ storeMatrix
+ currentpoint % x y
+ newpath % clear graphic stack
+ moveto
+ 1 index exch 1 getinterval false root_charpath
+ {_move} {_line} {_curve} {_close} pathforall
+ (f\n)print % close polygon
+ } for
+ currentpoint % x y
+ newpath % clear graphic stack (and current point)
+ moveto
+ } if
+ pop
+ end
+} def
+
+/ashow
+{
+ % ax ay string
+ exch pop
+ exch pop
+ show
+} bind def
+
+/widthshow % cx cy char string
+{
+ exch pop
+ exch pop
+ exch pop
+ show
+} bind def
+
+/awidthshow % cx cy char ax ay string
+{
+ exch pop
+ exch pop
+ exch pop
+ exch pop
+ exch pop
+ show
+} bind def
+
+/cshow % proc string
+{
+ exch pop
+ show
+} bind def
+
+/kshow % proc string
+{
+ dup length 1 sub
+ dup 0 ne
+ {
+ 1 index 0 1 getinterval
+ show
+ 1 sub
+ dup 0 ne
+ {
+ 1 add
+ 1 exch 1 exch
+ {
+ dup 1 sub
+ 2 index exch get
+ 2 index 2 index get
+ 4 index exec
+ 1 index exch 1 getinterval
+ show
+ } for
+ } if
+ }
+ {
+ pop dup show
+ } ifelse
+ pop pop
+} bind def
+
+/xshow % string array
+{
+ pop
+ show
+} bind def
+
+/xyshow % string array
+{
+ pop
+ show
+} bind def
+
+/yshow % string array
+{
+ pop
+ show
+} bind def
+
+/ReEnc % newfontname reencodevector origfontdict -> ReEncode -> newfontdict
+{
+ userdict begin
+ dup begin dup maxlength dict begin
+ { 1 index /FID ne {def} {pop pop} ifelse
+ } forall
+ /Encoding exch def
+ currentdict
+ end end
+ definefont
+ end
+} bind def
+
+/glyphshow {
+ save % So can reclaim VM from reencoding
+ currentfont /Encoding get dup length array copy dup 0 5 -1 roll put
+ /GlyphShowTempFont exch currentfont ReEnc
+ setfont
+ (\000) show
+ restore
+} bind def
+
/trunk/Scribus/scribus/plugins/psimport/import.prolog
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: trunk/Scribus/scribus/plugins/psimport/importps.cpp
===================================================================
--- trunk/Scribus/scribus/plugins/psimport/importps.cpp (nonexistent)
+++ trunk/Scribus/scribus/plugins/psimport/importps.cpp (revision 290)
@@ -0,0 +1,528 @@
+#include "importps.h"
+#include "importps.moc"
+
+#if (_MSC_VER >= 1200)
+ #include "win-config.h"
+#else
+ #include "config.h"
+#endif
+
+#include "customfdialog.h"
+#include "mpalette.h"
+#include "scribusXml.h"
+#include <qfile.h>
+#include <qtextstream.h>
+#include <qcursor.h>
+#include <cmath>
+#include <cstdlib>
+
+extern QPointArray FlattenPath(FPointArray ina, QValueList<uint> &Segs);
+extern QPixmap loadIcon(QString nam);
+extern FPoint GetMaxClipF(FPointArray Clip);
+
+/*!
+ \fn QString Name()
+ \author Franz Schmid
+ \date
+ \brief Returns name of plugin
+ \param None
+ \retval QString containing name of plugin: Import EPS/PDF/PS...
+ */
+QString Name()
+{
+ return QObject::tr("Import EPS/PS...");
+}
+
+/*!
+ \fn int Type()
+ \author Franz Schmid
+ \date
+ \brief Returns type of plugin
+ \param None
+ \retval int containing type of plugin (1: Extra, 2: Import, 3: Export, 4: Resident Plugin)
+ */
+int Type()
+{
+ return 2;
+}
+
+/*!
+ \fn void Run(QWidget *d, ScribusApp *plug)
+ \author Franz Schmid
+ \date
+ \brief Run the EPS import
+ \param d QWidget *
+ \param plug ScribusApp *
+ \retval None
+ */
+void Run(QWidget *d, ScribusApp *plug)
+{
+ QString fileName;
+ QString formats = QObject::tr("All Supported Formats (*.eps *.EPS *.ps *.PS);;");
+ formats += "EPS (*.eps *.EPS);;PS (*.ps *.PS);;" + QObject::tr("All Files (*)");
+ CustomFDialog diaf(d, QObject::tr("Open"), formats);
+ if (diaf.exec())
+ fileName = diaf.selectedFile();
+ else
+ return;
+ EPSPlug *dia = new EPSPlug(d, plug, fileName);
+ delete dia;
+}
+
+/*!
+ \fn EPSPlug::EPSPlug( QWidget* parent, ScribusApp *plug, QString fName )
+ \author Franz Schmid
+ \date
+ \brief Create the EPS importer window.
+ \param parent QWidget *
+ \param plug ScribusApp *
+ \param fName QString
+ \retval EPSPlug plugin
+ */
+EPSPlug::EPSPlug( QWidget* parent, ScribusApp *plug, QString fName )
+{
+ double x, y, b, h, c, m, k;
+ bool ret = false;
+ bool found = false;
+ CustColors.clear();
+ QFileInfo fi = QFileInfo(fName);
+ QString ext = fi.extension(false).lower();
+/* Set default Page to A4 Size */
+ x = 0.0;
+ y = 0.0;
+ b = 595.0;
+ h = 842.0;
+ if ((ext == "eps") || (ext == "ps"))
+ {
+ QString tmp, BBox, tmp2, dummy, FarNam;
+ QChar tc;
+ CMYKColor cc;
+ x = 0.0;
+ y = 0.0;
+ b = 595.0;
+ h = 842.0;
+ QFile f(fName);
+ if (f.open(IO_ReadOnly))
+ {
+/* Try to find Bounding Box */
+ QTextStream ts(&f);
+ while (!ts.atEnd())
+ {
+ tc = ' ';
+ tmp = "";
+ while ((tc != '\n') && (tc != '\r'))
+ {
+ ts >> tc;
+ if ((tc != '\n') && (tc != '\r'))
+ tmp += tc;
+ }
+ if (tmp.startsWith("%%BoundingBox:"))
+ {
+ found = true;
+ BBox = tmp.remove("%%BoundingBox:");
+ }
+ if (!found)
+ {
+ if (tmp.startsWith("%%BoundingBox"))
+ {
+ found = true;
+ BBox = tmp.remove("%%BoundingBox");
+ }
+ }
+/* Read CustomColors if available */
+ if (tmp.startsWith("%%CMYKCustomColor"))
+ {
+ QTextStream ts2(&tmp, IO_ReadOnly);
+ ts2 >> dummy >> c >> m >> y >> k;
+ FarNam = ts2.read();
+ FarNam = FarNam.stripWhiteSpace();
+ FarNam = FarNam.remove(0,1);
+ FarNam = FarNam.remove(FarNam.length()-1,1);
+ cc = CMYKColor(static_cast<int>(255 * c), static_cast<int>(255 * m), static_cast<int>(255 * y), static_cast<int>(255 * k));
+ CustColors.insert(FarNam, cc);
+ while (!ts.atEnd())
+ {
+ tc = ' ';
+ tmp = "";
+ while ((tc != '\n') && (tc != '\r'))
+ {
+ ts >> tc;
+ if ((tc != '\n') && (tc != '\r'))
+ tmp += tc;
+ }
+ if (!tmp.startsWith("%%+"))
+ break;
+ QTextStream ts2(&tmp, IO_ReadOnly);
+ ts2 >> dummy >> c >> m >> y >> k;
+ FarNam = ts2.read();
+ FarNam = FarNam.stripWhiteSpace();
+ FarNam = FarNam.remove(0,1);
+ FarNam = FarNam.remove(FarNam.length()-1,1);
+ cc = CMYKColor(static_cast<int>(255 * c), static_cast<int>(255 * m), static_cast<int>(255 * y), static_cast<int>(255 * k));
+ CustColors.insert(FarNam, cc);
+ }
+ }
+ if (tmp.startsWith("%%EndComments"))
+ break;
+ }
+ f.close();
+ if (found)
+ {
+ QTextStream ts2(&BBox, IO_ReadOnly);
+ ts2 >> x >> y >> b >> h;
+ }
+ }
+ }
+ Prog = plug;
+ if (!Prog->HaveDoc)
+ {
+ Prog->doFileNew(b-x, h-y, 0, 0, 0, 0, 0, 0, false, false, 0, false, 0, 1);
+ ret = true;
+ }
+ Doku = plug->doc;
+ CListe::Iterator it;
+ for (it = CustColors.begin(); it != CustColors.end(); ++it)
+ {
+ if (!Doku->PageColors.contains(it.key()))
+ Doku->PageColors.insert(it.key(), it.data());
+ }
+ Elements.clear();
+ Doku->loading = true;
+ Doku->DoDrawing = false;
+ Doku->ActPage->setUpdatesEnabled(false);
+ Prog->ScriptRunning = true;
+ qApp->setOverrideCursor(QCursor(waitCursor), true);
+ QString CurDirP = QDir::currentDirPath();
+ QDir::setCurrent(fi.dirPath());
+ if (convert(fName, x, y, b, h))
+ {
+ QDir::setCurrent(CurDirP);
+ if (Elements.count() > 0)
+ {
+ Doku->ActPage->SelItem.clear();
+ for (uint a = 0; a < Elements.count(); ++a)
+ {
+ Elements.at(a)->Groups.push(Doku->GroupCounter);
+ if (!ret)
+ Doku->ActPage->SelItem.append(Elements.at(a));
+ }
+ Doku->GroupCounter++;
+ }
+ Doku->DoDrawing = true;
+ Doku->ActPage->setUpdatesEnabled(true);
+ Prog->ScriptRunning = false;
+ qApp->setOverrideCursor(QCursor(arrowCursor), true);
+ if ((Elements.count() > 0) && (!ret))
+ {
+ Doku->DragP = true;
+ Doku->DraggedElem = 0;
+ Doku->DragElements.clear();
+ for (uint dre=0; dre<Elements.count(); ++dre)
+ {
+ Doku->DragElements.append(Elements.at(dre)->ItemNr);
+ }
+ ScriXmlDoc *ss = new ScriXmlDoc();
+ Doku->ActPage->setGroupRect();
+ QDragObject *dr = new QTextDrag(ss->WriteElem(&Doku->ActPage->SelItem, Doku), Doku->ActPage);
+ Doku->ActPage->DeleteItem();
+ dr->setPixmap(loadIcon("DragPix.xpm"));
+ dr->drag();
+ delete ss;
+ Doku->DragP = false;
+ Doku->DraggedElem = 0;
+ Doku->DragElements.clear();
+ }
+ else
+ Doku->setUnModified();
+ }
+ else
+ {
+ QDir::setCurrent(CurDirP);
+ Doku->DoDrawing = true;
+ Doku->ActPage->setUpdatesEnabled(true);
+ Prog->ScriptRunning = false;
+ qApp->setOverrideCursor(QCursor(arrowCursor), true);
+ }
+ Doku->loading = false;
+}
+
+/*!
+ \fn void EPSPlug::convert(QString fn, double b, double h)
+ \author Franz Schmid
+ \date
+ \brief Does the conversion.
+ \param fn QString
+ \param b double
+ \param h double
+ \retval bool true if conversion was ok
+ */
+bool EPSPlug::convert(QString fn, double x, double y, double b, double h)
+{
+ QString cmd1, cmd2, tmp2, tmp3, tmp4;
+ QString tmpFile = Prog->PrefsPfad+"/ps.out";
+ QString pfad = PREL;
+ QString pfad2;
+ cmd1 = Prog->Prefs.gs_exe;
+ pfad2 = QDir::convertSeparators(pfad + "/lib/scribus/import.prolog");
+ cmd1 += " -q -dNOPAUSE -dNODISPLAY";
+ cmd1 += " -dBATCH -g"+tmp2.setNum(qRound(b))+"x"+tmp3.setNum(qRound(h))+" -c "+tmp4.setNum(-x)+" 0 translate";
+ cmd1 += " -sOutputFile="+tmpFile+" "+pfad2+" ";
+ cmd2 = " -c flush cfile closefile quit";
+ bool ret = system(cmd1 + "\""+fn+"\"" + cmd2);
+ if (ret != 0)
+ {
+ QString mess = tr("Importing File:\n%1\nfailed!").arg(fn);
+ QMessageBox::critical(0, tr("Fatal Error"), mess, 1, 0, 0);
+ return false;
+ }
+ parseOutput(tmpFile);
+ system("rm -f "+tmpFile);
+ return true;
+}
+
+/*!
+ \fn void EPSPlug::parseOutput(QString fn)
+ \author Franz Schmid
+ \date
+ \brief Parses the Output Ghostscript has created.
+ \param None
+ \retval None
+ */
+void EPSPlug::parseOutput(QString fn)
+{
+ QString tmp, token, params, lasttoken, lastPath, currPath;
+ int z;
+ PageItem* ite;
+ QFile f(fn);
+ lasttoken = "";
+ if (f.open(IO_ReadOnly))
+ {
+ lastPath = "";
+ currPath = "";
+ LineW = 0;
+ Opacity = 1;
+ CurrColor = "None";
+ QTextStream ts(&f);
+ while (!ts.atEnd())
+ {
+ tmp = "";
+ tmp = ts.readLine();
+ QTextStream Code(&tmp, IO_ReadOnly);
+ Code >> token;
+ params = Code.read();
+ if (token == "n")
+ {
+ Coords.resize(0);
+ FirstM = true;
+ WasM = false;
+ ClosedPath = false;
+ }
+ else if (token == "m")
+ WasM = true;
+ else if (token == "c")
+ {
+ Curve(&Coords, params);
+ currPath += params;
+ }
+ else if (token == "l")
+ {
+ LineTo(&Coords, params);
+ currPath += params;
+ }
+ else if (token == "f")
+ {
+ if (Coords.size() != 0)
+ {
+ if ((Elements.count() != 0) && (lastPath == currPath))
+ {
+ ite = Elements.at(Elements.count()-1);
+ ite->Pcolor = CurrColor;
+ ite->Transparency = 1.0 - Opacity;
+ }
+ else
+ {
+ if (ClosedPath)
+ z = Doku->ActPage->PaintPoly(0, 0, 10, 10, LineW, CurrColor, "None");
+ else
+ z = Doku->ActPage->PaintPolyLine(0, 0, 10, 10, LineW, CurrColor, "None");
+ ite = Doku->ActPage->Items.at(z);
+ ite->PoLine = Coords.copy();
+ ite->ClipEdited = true;
+ ite->FrameType = 3;
+ FPoint wh = GetMaxClipF(ite->PoLine);
+ ite->Width = wh.x();
+ ite->Height = wh.y();
+ ite->Clip = FlattenPath(ite->PoLine, ite->Segments);
+ ite->Transparency = 1.0 - Opacity;
+ Doku->ActPage->AdjustItemSize(ite);
+ Elements.append(ite);
+ }
+ lastPath = currPath;
+ currPath = "";
+ }
+ }
+ else if (token == "s")
+ {
+ if (Coords.size() != 0)
+ {
+ LineW = QMAX(LineW, 0.1); // Set Linewidth to be a least 0.1 pts, a Stroke without a Linewidth makes no sense
+ if ((Elements.count() != 0) && (lastPath == currPath))
+ {
+ ite = Elements.at(Elements.count()-1);
+ ite->Pcolor2 = CurrColor;
+ ite->Pwidth = LineW;
+ ite->TranspStroke = 1.0 - Opacity;
+ }
+ else
+ {
+ if (ClosedPath)
+ z = Doku->ActPage->PaintPoly(0, 0, 10, 10, LineW, "None", CurrColor);
+ else
+ z = Doku->ActPage->PaintPolyLine(0, 0, 10, 10, LineW, "None", CurrColor);
+ ite = Doku->ActPage->Items.at(z);
+ ite->PoLine = Coords.copy();
+ ite->ClipEdited = true;
+ ite->FrameType = 3;
+ FPoint wh = GetMaxClipF(ite->PoLine);
+ ite->Width = wh.x();
+ ite->Height = wh.y();
+ ite->Clip = FlattenPath(ite->PoLine, ite->Segments);
+ ite->TranspStroke = 1.0 - Opacity;
+ Doku->ActPage->AdjustItemSize(ite);
+ Elements.append(ite);
+ }
+ lastPath = currPath;
+ currPath = "";
+ }
+ }
+ else if (token == "co")
+ CurrColor = parseColor(params);
+ else if (token == "ci")
+ {
+ Coords.resize(0);
+ lastPath = "";
+ currPath = "";
+ }
+ else if (token == "w")
+ {
+ QTextStream Lw(&params, IO_ReadOnly);
+ Lw >> LineW;
+ currPath += params;
+ }
+ else if (token == "cp")
+ ClosedPath = true;
+ lasttoken = token;
+ }
+ f.close();
+ }
+}
+
+/*!
+ \fn void EPSPlug::LineTo(FPointArray *i, QString vals)
+ \author Franz Schmid
+ \date
+ \brief
+ \param i FPointArray *
+ \param vals QString
+ \retval none
+*/
+
+void EPSPlug::LineTo(FPointArray *i, QString vals)
+{
+ if (vals == "")
+ return;
+ double x1, x2, y1, y2;
+ QTextStream Code(&vals, IO_ReadOnly);
+ Code >> x1;
+ Code >> y1;
+ Code >> x2;
+ Code >> y2;
+ if ((!FirstM) && (WasM))
+ i->setMarker();
+ FirstM = false;
+ WasM = false;
+ i->addPoint(FPoint(x1, y1));
+ i->addPoint(FPoint(x1, y1));
+ i->addPoint(FPoint(x2, y2));
+ i->addPoint(FPoint(x2, y2));
+}
+
+/*!
+ \fn void EPSPlug::Curve(FPointArray *i, QString vals)
+ \author Franz Schmid
+ \date
+ \brief
+ \param i FPointArray *
+ \param vals QString
+ \retval None
+ */
+void EPSPlug::Curve(FPointArray *i, QString vals)
+{
+ if (vals == "")
+ return;
+ double x1, x2, y1, y2, x3, y3, x4, y4;
+ QTextStream Code(&vals, IO_ReadOnly);
+ Code >> x1;
+ Code >> y1;
+ Code >> x2;
+ Code >> y2;
+ Code >> x3;
+ Code >> y3;
+ Code >> x4;
+ Code >> y4;
+ if ((!FirstM) && (WasM))
+ i->setMarker();
+ FirstM = false;
+ WasM = false;
+ i->addPoint(FPoint(x1, y1));
+ i->addPoint(FPoint(x2, y2));
+ i->addPoint(FPoint(x4, y4));
+ i->addPoint(FPoint(x3, y3));
+}
+
+/*!
+ \fn QString EPSPlug::parseColor(QString vals)
+ \author Franz Schmid
+ \date
+ \brief Returns a Color Name, if the Color doesn't exist it's created
+ \param vals QString
+ \retval QString Color Name
+ */
+QString EPSPlug::parseColor(QString vals)
+{
+ QString ret = "None";
+ if (vals == "")
+ return ret;
+ double c, m, y, k;
+ QTextStream Code(&vals, IO_ReadOnly);
+ Code >> c;
+ Code >> m;
+ Code >> y;
+ Code >> k;
+ Code >> Opacity;
+ int Cc = static_cast<int>(c*255);
+ int Mc = static_cast<int>(m*255);
+ int Yc = static_cast<int>(y*255);
+ int Kc = static_cast<int>(k*255);
+ int hC, hM, hY, hK;
+ CMYKColor tmp = CMYKColor(Cc, Mc, Yc, Kc);
+ CListe::Iterator it;
+ bool found = false;
+ for (it = Doku->PageColors.begin(); it != Doku->PageColors.end(); ++it)
+ {
+ Doku->PageColors[it.key()].getCMYK(&hC, &hM, &hY, &hK);
+ if ((Cc == hC) && (Mc == hM) && (Yc == hY) && (Kc == hK))
+ {
+ ret = it.key();
+ found = true;
+ }
+ }
+ if (!found)
+ {
+ Doku->PageColors.insert("FromEPS"+tmp.name(), tmp);
+ Prog->Mpal->Cpal->SetColors(Doku->PageColors);
+ ret = "FromEPS"+tmp.name();
+ }
+ return ret;
+}
+
/trunk/Scribus/scribus/plugins/psimport/importps.cpp
Property changes:
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+Author Date Id Revision
\ No newline at end of property
Index: trunk/Scribus/scribus/page.cpp
===================================================================
--- trunk/Scribus/scribus/page.cpp (revision 289)
+++ trunk/Scribus/scribus/page.cpp (revision 290)
@@ -2643,6 +2643,7 @@
qApp->setOverrideCursor(QCursor(ArrowCursor), true);
QPopupMenu *pmen4 = new QPopupMenu();
QPopupMenu *pmenLevel = new QPopupMenu();
+ QPopupMenu *pmenPDF = new QPopupMenu();
if ((b->PType == 4) || (b->PType == 2) || (b->PType == 8))
{
@@ -2763,18 +2764,19 @@
pmen->insertItem( tr("Insert Sample Text"), this, SLOT(LoremIpsum()));
if (PageNam == "")
{
- int pxb = pmen->insertItem( tr("Is PDF-Bookmark"), this, SLOT(ToggleBookmark()));
- pmen->setItemChecked(pxb, b->isBookmark);
- pxb = pmen->insertItem( tr("Is PDF-Annotation"), this, SLOT(ToggleAnnotation()));
- pmen->setItemChecked(pxb, b->isAnnotation);
+ int pxb = pmenPDF->insertItem( tr("Is PDF-Bookmark"), this, SLOT(ToggleBookmark()));
+ pmenPDF->setItemChecked(pxb, b->isBookmark);
+ pxb = pmenPDF->insertItem( tr("Is PDF-Annotation"), this, SLOT(ToggleAnnotation()));
+ pmenPDF->setItemChecked(pxb, b->isAnnotation);
if (b->isAnnotation)
{
if ((b->AnType == 0) || (b->AnType == 1) || (b->AnType > 9))
- pmen->insertItem( tr("Annotation Properties"), this, SIGNAL(AnnotProps()));
+ pmenPDF->insertItem( tr("Annotation Properties"), this, SIGNAL(AnnotProps()));
else
- pmen->insertItem( tr("Field Properties"), this, SIGNAL(AnnotProps()));
+ pmenPDF->insertItem( tr("Field Properties"), this, SIGNAL(AnnotProps()));
}
}
+ pmen->insertItem( tr("PDF-Options"), pmenPDF);
}
if (b->PType == 8)
pmen->insertItem( tr("Edit Text..."), this, SIGNAL(EditText()));
@@ -2881,6 +2883,7 @@
delete pmen3;
delete pmen4;
delete pmenLevel;
+ delete pmenPDF;
}
if (doku->AppMode == 10)
update();
/trunk/Scribus/scribus/po/scribus.ru.ts
147,6 → 147,25
<source>Online</source>
<translation>Веб-сайт</translation>
</message>
<message>
<source>Slovenian:</source>
<translation>На словенский:</translation>
</message>
<message>
<source>Basque:</source>
<translation>На баскский:</translation>
</message>
<message>
<source>This panel shows the version, build date and
compiled in library support in Scribus
The C-C-T equates to C=CUPS C=littlecms T=TIFF support.
Missing library support is indicated by a *</source>
<translation>Здесь отображается версия, дата сборки и
статус различныз библиотек вместо со Scribus.
&quot;C-C-T&quot; расшифровывается так:
C=CUPS C=littlecms T=TIFF
Отсутствующая библиотека помечается символом *</translation>
</message>
</context>
<context>
<name>AdvOptions</name>
381,7 → 400,7
</message>
<message>
<source>Inset</source>
<translation type="unfinished"></translation>
<translation>Вклейка</translation>
</message>
<message>
<source>Other</source>
485,7 → 504,7
</message>
<message>
<source>Characters</source>
<translation></translation>
<translation>Символы</translation>
</message>
<message>
<source>Do Not Scroll</source>
781,7 → 800,7
</message>
<message>
<source>Cancel</source>
<translation></translation>
<translation>Отменить</translation>
</message>
<message>
<source>Flag is ignored for PDF-1.3</source>
1092,7 → 1111,7
</message>
<message>
<source>Cancel</source>
<translation></translation>
<translation>Отменить</translation>
</message>
<message>
<source>Reset</source>
1320,6 → 1339,10
<source>Name of the Color is not unique</source>
<translation>Цвет с таким именем уже существует</translation>
</message>
<message>
<source>HSV-Colormap</source>
<translation>Карта цветов HSV</translation>
</message>
</context>
<context>
<name>Cpalette</name>
1470,6 → 1493,14
<source>Cancel</source>
<translation>Отменить</translation>
</message>
<message>
<source>This panel displays various CUPS options when printing.
The exact parameters available will depend on your printer driver.
You can confirm CUPS support by selecting Help &gt; About.
Look for the listings: C-C-T These equate to C=CUPS C=littlecms T=TIFF support.
Missing library support is indicated by a *</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>CustomFDialog</name>
1593,15 → 1624,18
</message>
<message>
<source>This field can be embedded in the Scribus document for reference, as well as in the metadata of a PDF</source>
<translation type="unfinished"></translation>
<translation>Это поле может быть встроено как в документ
Scribus для справки, так и в виде матеданных в PDF</translation>
</message>
<message>
<source>This field is for a brief description or abstract of the document. It is embedded in the PDF on export</source>
<translation type="unfinished"></translation>
<translation>Это поле хранит короткое описание документа.
Оно также встраивается в экспортируемый PDF-файл.</translation>
</message>
<message>
<source>This field is for document keywords you wish to embed in a PDF, to assist searches and indexing of PDF files</source>
<translation type="unfinished"></translation>
<translation>Это поле хранит ключевые слова, которые затем включаются в
PDF-файл, что помогает при поиске и индексировании PDF-файлов.</translation>
</message>
</context>
<context>
1758,18 → 1792,6
<translation>Кегль:</translation>
</message>
<message>
<source>Indentation</source>
<translation>Отступ</translation>
</message>
<message>
<source>Left Indent:</source>
<translation>Отступ слева:</translation>
</message>
<message>
<source>First Line:</source>
<translation>Красная строка:</translation>
</message>
<message>
<source>Vertical Spaces</source>
<translation>Междустрочные интервалы</translation>
</message>
1810,10 → 1832,6
<translation>Строк:</translation>
</message>
<message>
<source>Tabulators...</source>
<translation>Табуляторы...</translation>
</message>
<message>
<source>Effect:</source>
<translation>Эффект:</translation>
</message>
1843,7 → 1861,7
</message>
<message>
<source> in</source>
<translation>inin</translation>
<translation>in</translation>
</message>
<message>
<source> p</source>
1891,17 → 1909,13
<translation>Интервал под параграфом</translation>
</message>
<message>
<source>Indentation for first line of the paragraph</source>
<translation>Отступ первой строки параграфа</translation>
<source>Tabulators and Indentation</source>
<translation>Табуляторы и отступы</translation>
</message>
<message>
<source>Indentation from the left for the whole paragraph</source>
<translation>Отступ слева для всего параграфа</translation>
<source>Line Spacing:</source>
<translation>Между строками:</translation>
</message>
<message>
<source>Edit tab settings of text frame...</source>
<translation>Изменить табуляторы в текстовой рамке...</translation>
</message>
</context>
<context>
<name>Editor</name>
1971,6 → 1985,129
</message>
</context>
<context>
<name>ExportForm</name>
<message>
<source>Export as Image</source>
<translation>Экспортировать как изображение</translation>
</message>
<message>
<source>Export to directory:</source>
<translation>Экспортировать в каталог:</translation>
</message>
<message>
<source>&amp;Change...</source>
<translation>&amp;Изменить...</translation>
</message>
<message>
<source>Alt+C</source>
<translation>Alt+C</translation>
</message>
<message>
<source>Image type:</source>
<translation>Тип изображения:</translation>
</message>
<message>
<source>Quality :</source>
<translation>Качество :</translation>
</message>
<message>
<source>%</source>
<translation>%</translation>
</message>
<message>
<source>Size:</source>
<translation>Размер:</translation>
</message>
<message>
<source>Export </source>
<translation>Экспортировать</translation>
</message>
<message>
<source>&amp;One page</source>
<translation>&amp;Одну страницу</translation>
</message>
<message>
<source>Alt+O</source>
<translation>Alt+O</translation>
</message>
<message>
<source>&amp;All pages</source>
<translation>&amp;Все страницы</translation>
</message>
<message>
<source>Alt+A</source>
<translation>Alt+A</translation>
</message>
<message>
<source>&amp;Interval from:</source>
<translation>&amp;Диапазон от:</translation>
</message>
<message>
<source>Alt+I</source>
<translation>Alt+I</translation>
</message>
<message>
<source>to:</source>
<translation>до:</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;ОК</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>О&amp;тменить</translation>
</message>
<message>
<source>Change the output directory</source>
<translation>Сменить каталог вывода</translation>
</message>
<message>
<source>The output directory - the place to store your images.
Name of the export file will be &apos;documentname-pagenumber.filetype&apos;</source>
<translation>Каталог вывода -- каталог, в который помещаются изображения.
Файлы будут иметь имена вида &apos;&apos;имядокумента-№страницы.расширение&quot;</translation>
</message>
<message>
<source>Export only the current page</source>
<translation>Только текущую страницу</translation>
</message>
<message>
<source>Export all pages to images</source>
<translation>Все страницы в изображения</translation>
</message>
<message>
<source>Export a range of pages to images</source>
<translation>Часть страниц в изображения</translation>
</message>
<message>
<source>First page to export when exporting a range</source>
<translation>Первая страница в диапазоне экспортируемых</translation>
</message>
<message>
<source>Last page to export when exporting a range</source>
<translation>Последняя страница в диапазоне экспортируемых</translation>
</message>
<message>
<source>The height of the output images in pixels</source>
<translation>Высота экспортируемых ихображений в пикселях</translation>
</message>
<message>
<source>The quality of your images - 100% is the best, 1% the highest compression</source>
<translation>Качество изображений:
100% - наилучшее качество,
1% - наилучшее сжатие</translation>
</message>
<message>
<source>Available export formats</source>
<translation>Возможные форматы для экспорта</translation>
</message>
<message>
<source>Choose a Export Directory</source>
<translation>Выберите каталог для экспорта</translation>
</message>
</context>
<context>
<name>FDialogPreview</name>
<message>
<source>Size:</source>
2209,6 → 2346,33
</message>
</context>
<context>
<name>FontPreview</name>
<message>
<source>Font Preview</source>
<translation>Просмотр шрифтов</translation>
</message>
<message>
<source>&amp;OK</source>
<translation>&amp;ОК</translation>
</message>
<message>
<source>Alt+O</source>
<translation>Alt+O</translation>
</message>
<message>
<source>&amp;Cancel</source>
<translation>О&amp;тменить</translation>
</message>
<message>
<source>Alt+C</source>
<translation>Alt+C</translation>
</message>
<message>
<source>Woven silk pyjamas exchanged for blue quartz</source>
<translation>А ещё неплохо бы на зависть другим уметь красиво читать и писать</translation>
</message>
</context>
<context>
<name>GuideManager</name>
<message>
<source>Manage Guides</source>
2401,6 → 2565,29
</message>
</context>
<context>
<name>InsertTable</name>
<message>
<source>Insert Table</source>
<translation>Вставить таблицу</translation>
</message>
<message>
<source>Number of Rows:</source>
<translation>Строк:</translation>
</message>
<message>
<source>Number of Columns:</source>
<translation>Столбцов:</translation>
</message>
<message>
<source>OK</source>
<translation>ОК</translation>
</message>
<message>
<source>Cancel</source>
<translation>Отменить</translation>
</message>
</context>
<context>
<name>JavaDocs</name>
<message>
<source>Edit...</source>
2629,6 → 2816,41
</message>
</context>
<context>
<name>MSpinBox</name>
<message>
<source> pt</source>
<translation>pt</translation>
</message>
<message>
<source>pt</source>
<translation>pt</translation>
</message>
<message>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<source>in</source>
<translation>in</translation>
</message>
<message>
<source>p</source>
<translation>p</translation>
</message>
<message>
<source> mm</source>
<translation>mm</translation>
</message>
<message>
<source> in</source>
<translation>in</translation>
</message>
<message>
<source> p</source>
<translation>p</translation>
</message>
</context>
<context>
<name>Mdup</name>
<message>
<source>Multiple Duplicate</source>
2656,6 → 2878,61
</message>
</context>
<context>
<name>Measurements</name>
<message>
<source>Distances</source>
<translation>Расстояния</translation>
</message>
<message>
<source>X1:</source>
<translation>X1:</translation>
</message>
<message>
<source>Y1:</source>
<translation>Y1:</translation>
</message>
<message>
<source>X2:</source>
<translation>X2:</translation>
</message>
<message>
<source>Y2:</source>
<translation>Y2:</translation>
</message>
<message>
<source>DX:</source>
<translation>ДX:</translation>
</message>
<message>
<source>DY:</source>
<translation>ДY:</translation>
</message>
<message>
<source>Angle:</source>
<translation>Угол:</translation>
</message>
<message>
<source>Length:</source>
<translation>Длина:</translation>
</message>
<message>
<source> pt</source>
<translation>pt</translation>
</message>
<message>
<source> mm</source>
<translation>mm</translation>
</message>
<message>
<source> in</source>
<translation>in</translation>
</message>
<message>
<source> p</source>
<translation>p</translation>
</message>
</context>
<context>
<name>MenuTest</name>
<message>
<source>Show Console</source>
2838,10 → 3115,6
углы:</translation>
</message>
<message>
<source>Path Text Properites</source>
<translation>Параметры оконтуренного текста</translation>
</message>
<message>
<source>Show Curve</source>
<translation>Показать кривую</translation>
</message>
2874,10 → 3147,6
<translation>Справа:</translation>
</message>
<message>
<source>Size:</source>
<translation>Кегль:</translation>
</message>
<message>
<source> %</source>
<translation>%</translation>
</message>
3225,7 → 3494,7
</message>
<message>
<source>Pattern of line</source>
<translation type="unfinished"></translation>
<translation>Шаблон линии</translation>
</message>
<message>
<source>Thickness of line</source>
3332,16 → 3601,6
<translation>Стиль:</translation>
</message>
<message>
<source>Make text in lower objects flow around this frame</source>
<translation>Включить обтекание текста вокруг
этой рамки в объектах уровнем ниже</translation>
</message>
<message>
<source>Use the imaginary square border around your object, rather than its actual shape</source>
<translation>Использовать воображаемую квадратную границу
вокруг объекта вместо настоящих очертаний</translation>
</message>
<message>
<source>Keep the aspect ratio</source>
<translation>Сохранять соотношение сторон</translation>
</message>
3353,6 → 3612,35
<source>Rendering intent for the image</source>
<translation>Тип рендеринга изображения</translation>
</message>
<message>
<source>Path Text Properties</source>
<translation>Свойства текста на контуре</translation>
</message>
<message>
<source>Indicates the level the object is on, 0 means the object is at the bottom</source>
<translation>Отображает уровень объекта относительно других.
Ноль обозначает, что объект находится в самом низу.</translation>
</message>
<message>
<source>Make text in lower frames flow around the object shape</source>
<translation>Включить обтекание текста вокруг объекта уровнем выше</translation>
</message>
<message>
<source>Use the frame shape instead of the object one</source>
<translation>Использовать очертания рамки вместо очертаний объекта</translation>
</message>
<message>
<source>Switches between Gap or Column width</source>
<translation>Переключиться между интервалом и шириной столбцов</translation>
</message>
<message>
<source>Column width</source>
<translation>Ширина столбцов</translation>
</message>
<message>
<source>Font Size:</source>
<translation>Кегль шрифта:</translation>
</message>
</context>
<context>
<name>MultiLine</name>
3646,8 → 3934,8
</message>
<message>
<source>Document page size, either a standard size or a custom size</source>
<translation>Размер страницы документа -- в виде
предустановки или назначаемый пользователем</translation>
<translation>Размер страницы документа, стандартный
либо заданный пользователем</translation>
</message>
<message>
<source>Orientation of the document&apos;s pages</source>
3655,11 → 3943,11
</message>
<message>
<source>Width of the document&apos;s pages, editable if you have chosen a custom page size</source>
<translation>Изменяемая ширина страниц документа</translation>
<translation>Настраиваемая ширина страниц документа</translation>
</message>
<message>
<source>Height of the document&apos;s pages, editable if you have chosen a custom page size</source>
<translation>Изменяемая высота страниц документа</translation>
<translation>Настраиваемая высота страниц документа</translation>
</message>
<message>
<source>Enable single or spread based layout</source>
3671,13 → 3959,11
</message>
<message>
<source>Distance between the top margin guide and the edge of the page</source>
<translation>Расстояние между направляющей
верхнего поля и краем страницы</translation>
<translation>Расстояние между направляющей верхнего поля и краем страницы</translation>
</message>
<message>
<source>Distance between the bottom margin guide and the edge of the page</source>
<translation>Расстояние между направляющей
нижнего поля и краем страницы</translation>
<translation>Расстояние между направляющей нижнего поля и краем страницы</translation>
</message>
<message>
<source>Distance between the left margin guide and the edge of the page.
3690,12 → 3976,12
<source>Distance between the right margin guide and the edge of the page.
If Facing Pages is selected, this margin space can be used to achieve the correct margins for binding</source>
<translation>Расстояние между направляющей правого поля и краем страницы.
Если включён режим парных страниц, пространство полей может
быть использовано для просчёта правильных полей для переплёта</translation>
Если страницы парные, то пространство полей можно использовать
для расчёта брошюровки</translation>
</message>
<message>
<source>First page number of the document</source>
<translation>Первая страница документа</translation>
<translation>Номер первой страницы в документе</translation>
</message>
<message>
<source>Default unit of measurement for document editing</source>
3703,8 → 3989,8
</message>
<message>
<source>Create text frames automatically when new pages are added</source>
<translation>Автоматически создавать текстовые
рамки в новых страницах</translation>
<translation>Автоматически создавать текстовые рамки
при добавлении новых страниц</translation>
</message>
<message>
<source>Number of columns to create in automatically created text frames</source>
3716,6 → 4002,18
<translation>Расстояние между автоматически
создаваемыми столбцами</translation>
</message>
<message>
<source>Legal</source>
<translation>Legal</translation>
</message>
<message>
<source>Letter</source>
<translation>Letter</translation>
</message>
<message>
<source>Tabloid</source>
<translation>Таблоид</translation>
</message>
</context>
<context>
<name>NewTm</name>
4093,14 → 4391,6
<translation>Разрешить изменение документа</translation>
</message>
<message>
<source>Copying Text and Graphics is allowed</source>
<translation>Разрешить копирование текста и графики</translation>
</message>
<message>
<source>Adding Annotations and Fields is allowed</source>
<translation>Разрешить добавление аннотаций и полей</translation>
</message>
<message>
<source>Output intended for:</source>
<translation>Вывод предназначен для:</translation>
</message>
4270,14 → 4560,13
</message>
<message>
<source>Length of time the page is shown before the presentation starts on the selected page.</source>
<translation type="unfinished">Как долго отображается страница перед показом следующей</translation>
<translation type="unfinished">Как долго отображается страница</translation>
</message>
<message>
<source>Length of time the effect runs.
A shorter time will speed up the effect, a longer one will slow it down.</source>
<translation>Продолжительность выбранного эффекта.
Меньшее время ускоряет воспроизведение
эффекта, более продолжительное увеличивает его.</translation>
<translation>Продолжительность действия эффекта.
Меньшее число ускорит его, большее - замедлит.</translation>
</message>
<message>
<source>Apply the selected effect to all pages.</source>
4290,10 → 4579,6
безопасности экспортируемого PDF-файла</translation>
</message>
<message>
<source>Choose a password for users to be able to read your PDF</source>
<translation>Пароль на чтение PDF-файла для пользователей</translation>
</message>
<message>
<source>Embed a color profile for solid colors</source>
<translation>Встроить цветовой профиль для сплошных тонов</translation>
</message>
4308,23 → 4593,19
</message>
<message>
<source>Distance for bleed from the top of the physical page</source>
<translation>Расстояние от линии обреза
до верха физической страницы</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Distance for bleed from the bottom of the physical page</source>
<translation>Расстояние от линии обреза
до низа физической страницы</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Distance for bleed from the left of the physical page</source>
<translation>Расстояние от линии обреза до левой
стороны физической страницы</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Distance for bleed from the right of the physical page</source>
<translation>Расстояние от линии обреза до правой
стороны физической страницы</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>&amp;General</source>
4407,20 → 4688,9
ZIP is good for images with solid colors.
JPEG is better at creating smaller PDF files which have many photos (with slight image loss possible).
Leave it set to automatic, unless you have a need for special compression options.</source>
<translation>Способ компрессии изображений.
Автоматический -- Scribus сам выбирает оптимальный способ.
ZIP лучше подходит для изображений со сплошными тонами.
JPEG больше подходит для создания PDF меньшего размера
с большим количеством фотографий (с меньшими потерями
в качестве ).
Рекомендуется оставить автоматически определяемый способ
сжатия до тех пока не возникнет особых потребностей.</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Compression level: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%)</source>
<translation>Уровень сжатия: Минимальный (25%), Низкий (50%), Средний (75%), Высокий (85%), Максимальный (95%)</translation>
</message>
<message>
<source>Downsample your bitmap images to the selected DPI.
Leaving this unchecked will render them at their native resolution.</source>
<translation type="unfinished"></translation>
4432,18 → 4702,20
<message>
<source>Embed fonts into the PDF. Embedding the fonts
will preserve the layout and appearance of your document.</source>
<translation type="unfinished"></translation>
<translation>Встраивать шрифты в документы PDF.
Встраивание шрифтов позволит сохранить вид
документа при чтении с любого компьютера.</translation>
</message>
<message>
<source>Enables presentation effects when using Acrobat Reader in full screen mode.</source>
<translation>Включить презентационные эффекты
<translation>Разрешить презентационные эффекты
при использовании Acrobat Reader
в полноэкранном режиме.</translation>
</message>
<message>
<source>Show page previews of each page listed above.</source>
<translation>Показывать миниатюры для каждой
перечисленной выше страницы.</translation>
<translation>Показывать миниатюры каждой
указанной выше страницы.</translation>
</message>
<message>
<source>Type of the display effect.</source>
4473,27 → 4745,10
и имеет некоторые ограничения..</translation>
</message>
<message>
<source>Allow printing of the PDF</source>
<translation>Разрешить печать документа</translation>
</message>
<message>
<source>Allow modifying of the PDF</source>
<translation>Разрешить изменения в документе</translation>
</message>
<message>
<source>Allow copying of text or graphics from the PDF</source>
<translation>Разрешить копирование текста и графики из PDF</translation>
</message>
<message>
<source>Allow adding annotations and fields to the PDF</source>
<translation>Разрешить добавление аннотаций и полей в PDF</translation>
</message>
<message>
<source>Color model for the output of your PDF.
Choose Screen/Web for PDFs which are used for screen display and for printing on typical inkjets.
Choose Printer when printing to a true 4 color CMYK printer.</source>
<translation type="unfinished">Цветовая модель вывода в PDF.
Выберите </translation>
<translation type="unfinished">Цветовая модель для вывода в PDF.</translation>
</message>
<message>
<source>Color profile for solid colors</source>
4524,6 → 4779,49
<source>Save</source>
<translation>Сохранить</translation>
</message>
<message>
<source>Compression levels: Minimum (25%), Low (50%), Medium (75%), High (85%), Maximum (95%)</source>
<translation>Уровни сжатия: Минимальный (25%), Низкий (50%),
Средний (75%), Высокий (85%), Максимальный (95%)</translation>
</message>
<message>
<source>Choose a password for users to be able to read your PDF.</source>
<translation>Выберите пароль для доступа на чтение PDF-документа.</translation>
</message>
<message>
<source>Allow printing of the PDF. If un-checked, printing is prevented. </source>
<translation>Разрешить печать документа.
При невыставленном флажке печатать
файл PDF будет невозможно.</translation>
</message>
<message>
<source>Allow modifying of the PDF. If un-checked, modifying the PDF is prevented.</source>
<translation>Разрешить изменения в документе.
При невыставленном флажке изменять
файл PDF будет невозможно.</translation>
</message>
<message>
<source>Allow copying of text or graphics from the PDF.
If un-checked, text and graphics cannot be copied.</source>
<translation>Разрешить копирование текста и графики из PDF.
При невыставленном флажке копировать
текст и графику в PDF будет невозможно.</translation>
</message>
<message>
<source>Allow adding annotations and fields to the PDF.
If un-checked, editing annotations and fileds is prevented.</source>
<translation>Разрешить добавление аннотаций и полей в PDF.
При невыставленном флажке редактировать
аннотации и поля в PDF будет невозможно.</translation>
</message>
<message>
<source>Allow Copying Text and Graphics</source>
<translation>Разрешить копирование текста и графики</translation>
</message>
<message>
<source>Allow Adding Annotations and Fields</source>
<translation>Разрешить добавление аннотаций и полей</translation>
</message>
</context>
<context>
<name>PPreview</name>
4885,19 → 5183,50
<translation>Подстроить рамку под изображение</translation>
</message>
<message>
<source>Insert LoremIpsum</source>
<translation>Вставить LoremIpsem</translation>
</message>
<message>
<source>Lock object size</source>
<translation>Заблокировать размер объекта</translation>
<translation>Блокировать размер объекта</translation>
</message>
<message>
<source>Unlock object size</source>
<translation>Разблокировать размер объекта</translation>
</message>
<message>
<source>Insert Sample Text</source>
<translation>Вставить пробный текст</translation>
</message>
<message>
<source>Level</source>
<translation>Уровень</translation>
</message>
</context>
<context>
<name>PageItem</name>
<message>
<source>Image</source>
<translation>Изображение</translation>
</message>
<message>
<source>Text</source>
<translation>Текст</translation>
</message>
<message>
<source>Line</source>
<translation>Линия</translation>
</message>
<message>
<source>Polygon</source>
<translation>Многоугольник</translation>
</message>
<message>
<source>Polyline</source>
<translation>Ломаная линия</translation>
</message>
<message>
<source>PathText</source>
<translation>Контурный текст</translation>
</message>
</context>
<context>
<name>PageSelector</name>
<message>
<source>Page </source>
5052,10 → 5381,6
<translation>GUI</translation>
</message>
<message>
<source>Theme</source>
<translation type="obsolete">Тема</translation>
</message>
<message>
<source>Font Size:</source>
<translation>Размер шрифта:</translation>
</message>
5084,14 → 5409,6
<translation>Настройки мыши</translation>
</message>
<message>
<source>Wheel-Jump</source>
<translation type="obsolete">Сколько прокручивает колесо мыши</translation>
</message>
<message>
<source>Grab-Radius</source>
<translation type="obsolete">Радиус захвата</translation>
</message>
<message>
<source>Menus</source>
<translation>Меню</translation>
</message>
5100,10 → 5417,6
<translation>Открывавшихся документов:</translation>
</message>
<message>
<source>Keyboard Shortcuts...</source>
<translation>Горячие клавиши...</translation>
</message>
<message>
<source>Paths</source>
<translation>Пути</translation>
</message>
5328,14 → 5641,6
<translation>Свободное масштабирование</translation>
</message>
<message>
<source>Horizontal Scaling</source>
<translation type="obsolete">По горизонтали</translation>
</message>
<message>
<source>Vertical Scaling</source>
<translation type="obsolete">По вертикали</translation>
</message>
<message>
<source>Scale Picture to Frame Size</source>
<translation>Масштабировать до размера рамки</translation>
</message>
5526,10 → 5831,6
<translation>Количество недавно открытых документов, отображаемых в меню &quot;Файл&quot;</translation>
</message>
<message>
<source>Change the keyboard shortcuts to your preference</source>
<translation>Изменить клавиатурные сокращения по своему желанию</translation>
</message>
<message>
<source>Default documents directory</source>
<translation>Стандартный каталог для документов</translation>
</message>
5644,7 → 5945,7
</message>
<message>
<source>Percentage increase over the font size for the line spacing</source>
<translation type="unfinished"></translation>
<translation>Увеличение междустрочного интервала в процентах размера шрифта</translation>
</message>
<message>
<source>Text Frame Properties</source>
5696,7 → 5997,7
</message>
<message>
<source>Picture frames allow pictures to scale to any size</source>
<translation>Рамки изображений позволяют им свободно масштабироваться</translation>
<translation>Рамки позволяют масштабировать изображения как угодно</translation>
</message>
<message>
<source>Horizontal scaling of images</source>
5879,7 → 6180,7
</message>
<message>
<source>Grab-Radius:</source>
<translation type="unfinished"></translation>
<translation>Радиус захвата:</translation>
</message>
<message>
<source>Baseline Grid</source>
5895,20 → 6196,26
</message>
<message>
<source>Horizontal Scaling:</source>
<translation>Горизонт. масшт.:</translation>
<translation>Горизонтальное
масштабирование</translation>
</message>
<message>
<source>Vertical Scaling:</source>
<translation>Вертикал. масшт.:</translation>
<translation>Вертикальное
масштабирование</translation>
</message>
<message>
<source>Turns on the basegrid</source>
<translation>Включает опорную сетку</translation>
<translation>Включить опорную сетку</translation>
</message>
<message>
<source>Turns off the basegrid</source>
<translation>Выключает опорную сетку</translation>
<translation>Выключить опорную сетку</translation>
</message>
<message>
<source> px</source>
<translation>px</translation>
</message>
</context>
<context>
<name>QColorDialog</name>
5977,11 → 6284,11
</message>
<message>
<source>Read: %1</source>
<translation>Чтение: %1</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>Write: %1</source>
<translation>Запись: %1</translation>
<translation type="unfinished"></translation>
</message>
<message>
<source>File &amp;name:</source>
6169,11 → 6476,11
</message>
<message>
<source>&amp;Yes</source>
<translation type="unfinished"></translation>
<translation>&amp;Да</translation>
</message>
<message>
<source>&amp;No</source>
<translation type="unfinished"></translation>
<translation>&amp;Нет</translation>
</message>
<message>
<source>New Folder 1</source>
6189,7 → 6496,7
</message>
<message>
<source>Find Directory</source>
<translation type="unfinished"></translation>
<translation>Найти каталог</translation>
</message>
<message>
<source>Directories</source>
6207,7 → 6514,9
<source>%1
File not found.
Check path and filename.</source>
<translation type="unfinished"></translation>
<translation>%1
Файл не найден.
Проверьте путь и имя файла.</translation>
</message>
<message>
<source>All Files (*.*)</source>
6332,38 → 6641,6
<translation>Нет</translation>
</message>
<message>
<source> pt</source>
<translation>pt</translation>
</message>
<message>
<source>pt</source>
<translation>pt</translation>
</message>
<message>
<source> mm</source>
<translation>mm</translation>
</message>
<message>
<source>mm</source>
<translation>мм</translation>
</message>
<message>
<source> in</source>
<translation>in</translation>
</message>
<message>
<source>in</source>
<translation>in</translation>
</message>
<message>
<source> p</source>
<translation>p</translation>
</message>
<message>
<source>p</source>
<translation></translation>
</message>
<message>
<source>Initializing...</source>
<translation>Инициализация...</translation>
</message>
6392,29 → 6669,58
<translation>Сохранить страницу в SVG...</translation>
</message>
<message>
<source>Import SVG-Image</source>
<translation type="obsolete">Импортировать SVG-файл...</translation>
</message>
<message>
<source>S&amp;cript</source>
<translation>С&amp;ценарий</translation>
</message>
<message>
<source>Oook! You&apos;re calling an object doesn&apos;t exist!</source>
<translation type="unfinished"></translation>
<translation>Хм, вы пытаетесь добраться до несуществующего объекта!</translation>
</message>
<message>
<source>Oook! You&apos;re trying to erase an object doesn&apos;t exist!</source>
<translation type="unfinished"></translation>
<translation>Хм, вы пытаетесь удалить несуществующий объект!</translation>
</message>
<message>
<source>Oook! An object you&apos;re trying to textflow doesn&apos;t exist!</source>
<translation type="unfinished"></translation>
<translation>Хм, вы пытаетесь подключиться к текстовому
потоку из несуществующего объекта!</translation>
</message>
<message>
<source>Import SVG-Image...</source>
<translation>Импортировать SVG-изображение...</translation>
</message>
<message>
<source>Save as Image...</source>
<translation>Сохранить как изображение...</translation>
</message>
<message>
<source>Error writing the output file(s).</source>
<translation>Ошибка при записи файла (-ов).</translation>
</message>
<message>
<source>File exists. Overwrite?</source>
<translation>Файл существует. Перезаписать?</translation>
</message>
<message>
<source>exists already. Overwrite?</source>
<translation>уже существует. Перезаписать его?</translation>
</message>
<message>
<source>Yes all</source>
<translation>Да, все</translation>
</message>
<message>
<source>Save as Image</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Error writting the output file(s).</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Export successful.</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>QTextEdit</name>
6463,7 → 6769,7
</message>
<message>
<source>Normalize</source>
<translation type="unfinished"></translation>
<translation>Обычный вид</translation>
</message>
<message>
<source>Minimize</source>
6482,27 → 6788,27
<name>QWorkspace</name>
<message>
<source>&amp;Restore</source>
<translation type="unfinished"></translation>
<translation>&amp;Восстановить</translation>
</message>
<message>
<source>&amp;Move</source>
<translation type="unfinished"></translation>
<translation>&amp;Переместить</translation>
</message>
<message>
<source>&amp;Size</source>
<translation type="unfinished"></translation>
<translation>Раз&amp;мер</translation>
</message>
<message>
<source>Mi&amp;nimize</source>
<translation type="unfinished"></translation>
<translation>&amp;Свернуть</translation>
</message>
<message>
<source>Ma&amp;ximize</source>
<translation type="unfinished"></translation>
<translation>&amp;Развернуть</translation>
</message>
<message>
<source>&amp;Close</source>
<translation type="unfinished"></translation>
<translation>&amp;Закрыть</translation>
</message>
<message>
<source>Stay on &amp;Top</source>
6510,7 → 6816,7
</message>
<message>
<source>Minimize</source>
<translation type="unfinished">Свернуть</translation>
<translation>Свернуть</translation>
</message>
<message>
<source>Restore Down</source>
6518,19 → 6824,19
</message>
<message>
<source>Close</source>
<translation type="unfinished">Закрыть</translation>
<translation>Закрыть</translation>
</message>
<message>
<source>Sh&amp;ade</source>
<translation type="unfinished"></translation>
<translation>За&amp;тенить</translation>
</message>
<message>
<source>%1 - [%2]</source>
<translation type="unfinished"></translation>
<translation>%1 - [%2]</translation>
</message>
<message>
<source>&amp;Unshade</source>
<translation type="unfinished"></translation>
<translation>Р&amp;астенить</translation>
</message>
</context>
<context>
6624,6 → 6930,22
Если включён режим парных страниц, пространство полей может
быть использовано для просчёта правильных полей для переплёта.</translation>
</message>
<message>
<source> pt</source>
<translation>pt</translation>
</message>
<message>
<source> mm</source>
<translation>mm</translation>
</message>
<message>
<source> in</source>
<translation>in</translation>
</message>
<message>
<source> p</source>
<translation>p</translation>
</message>
</context>
<context>
<name>ScriXmlDoc</name>
6847,10 → 7169,6
<translation>Шаблоны...</translation>
</message>
<message>
<source>General...</source>
<translation>Общее...</translation>
</message>
<message>
<source>Preferences...</source>
<translation>Настройки...</translation>
</message>
6863,10 → 7181,6
<translation>Переносы...</translation>
</message>
<message>
<source>Preferences</source>
<translation>Настроить</translation>
</message>
<message>
<source>Select New Font</source>
<translation>Выбрать новый шрифт</translation>
</message>
7509,9 → 7823,61
<translation>Разблокировать все</translation>
</message>
<message>
<source>Tool&amp;bars</source>
<translation>&amp;Панели</translation>
<source> pt</source>
<translation>pt</translation>
</message>
<message>
<source> mm</source>
<translation>mm</translation>
</message>
<message>
<source> in</source>
<translation>in</translation>
</message>
<message>
<source> p</source>
<translation>p</translation>
</message>
<message>
<source>pt</source>
<translation>pt</translation>
</message>
<message>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<source>in</source>
<translation>in</translation>
</message>
<message>
<source>p</source>
<translation>p</translation>
</message>
<message>
<source>Lithuanian</source>
<translation>Литовский</translation>
</message>
<message>
<source>Swedish</source>
<translation>Шведский</translation>
</message>
<message>
<source>Slovenian</source>
<translation>Словенский</translation>
</message>
<message>
<source>Keyboard Shortcuts...</source>
<translation>Горячие клавиши...</translation>
</message>
<message>
<source>Scribus Manual...</source>
<translation>Руководство по Scribus...</translation>
</message>
<message>
<source>&amp;Settings</source>
<translation>&amp;Настройки</translation>
</message>
</context>
<context>
<name>ScribusView</name>
7527,6 → 7893,22
<source>All</source>
<translation>Все</translation>
</message>
<message>
<source>pt</source>
<translation>pt</translation>
</message>
<message>
<source>mm</source>
<translation>mm</translation>
</message>
<message>
<source>in</source>
<translation>in</translation>
</message>
<message>
<source>p</source>
<translation>p</translation>
</message>
</context>
<context>
<name>ScribusWin</name>
7978,18 → 8360,10
<translation>Загрузить из файла...</translation>
</message>
<message>
<source>Search/Replace...</source>
<translation>Найти/Заменить...</translation>
</message>
<message>
<source>Update Text Frame</source>
<translation>Обновить текстовую рамку</translation>
</message>
<message>
<source>Do you want save your changes?</source>
<translation>Вы хотите сохранить изменения?</translation>
</message>
<message>
<source>Open</source>
<translation>Открыть</translation>
</message>
8009,6 → 8383,10
<source>Insert Special</source>
<translation>Вставка символа</translation>
</message>
<message>
<source>Do you want to save your changes?</source>
<translation>Вы хотите сохранить изменения:</translation>
</message>
</context>
<context>
<name>StyleSelect</name>
8044,13 → 8422,16
<translation>Настройка табуляторов</translation>
</message>
<message>
<source>Position:</source>
<translation>Положение:</translation>
<source>OK</source>
<translation>ОК</translation>
</message>
<message>
<source>Alignment:</source>
<translation>Выравнивание:</translation>
<source>Cancel</source>
<translation>Отменить</translation>
</message>
</context>
<context>
<name>Tabruler</name>
<message>
<source>Left</source>
<translation>Влево</translation>
8072,25 → 8453,49
<translation>По центру</translation>
</message>
<message>
<source>Position:</source>
<translation>Положение:</translation>
</message>
<message>
<source>First Line:</source>
<translation>Красная строка:</translation>
</message>
<message>
<source>Indent:</source>
<translation>Отступ:</translation>
</message>
<message>
<source>Delete All</source>
<translation>Удалить всё</translation>
</message>
<message>
<source>Indentation for first line of the paragraph</source>
<translation>Отступ первой строки параграфа</translation>
</message>
<message>
<source>Indentation from the left for the whole paragraph</source>
<translation>Отступ слева для всего параграфа</translation>
</message>
<message>
<source>Delete all Tabulators</source>
<translation>Удалить все табуляторы</translation>
</message>
<message>
<source> pt</source>
<translation>pt</translation>
</message>
<message>
<source>OK</source>
<translation>ОК</translation>
<source> mm</source>
<translation>mm</translation>
</message>
<message>
<source>Cancel</source>
<translation>Отменить</translation>
<source> in</source>
<translation>in</translation>
</message>
<message>
<source>Remove</source>
<translation>Удалить</translation>
<source> p</source>
<translation>p</translation>
</message>
<message>
<source>Add</source>
<translation>Добавить</translation>
</message>
</context>
<context>
<name>Tree</name>
8150,6 → 8555,20
<source>Page</source>
<translation>Страница</translation>
</message>
<message>
<source>Warning</source>
<translation>Предупреждение</translation>
</message>
<message>
<source>Name &quot;%1&quot; isn&apos;t unique.
Please choose another.</source>
<translation>Имя &quot;%1&quot; уже использовано.
Выберите другое.</translation>
</message>
<message>
<source>OK</source>
<translation>ОК</translation>
</message>
</context>
<context>
<name>WerkToolB</name>
8221,6 → 8640,10
<source>Draw various Shapes</source>
<translation>Нарисовать различные очертания</translation>
</message>
<message>
<source>Do measurements</source>
<translation>Измерить</translation>
</message>
</context>
<context>
<name>WerkToolBP</name>
8283,5 → 8706,17
<source>Close</source>
<translation>Закрыть</translation>
</message>
<message>
<source>Insert the characters at the cursor in the text</source>
<translation>Вставить символы под курсор в тексте</translation>
</message>
<message>
<source>Delete the current selection(s).</source>
<translation>Удалить текуее выделение(ия).</translation>
</message>
<message>
<source>Close this dialog and return to text editing.</source>
<translation>Закрыть это диалог и вернуться к правке текста.</translation>
</message>
</context>
</TS>
/trunk/Scribus/scribus/qm/scribus.ru.qm
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream