mirror of
https://github.com/python-LimeReport/LimeReport.git
synced 2024-12-24 12:34:39 +03:00
Merge branch 'develop' into feature/Extract_Designer_to_plugin
This commit is contained in:
commit
4c3e96b01e
@ -75,7 +75,7 @@ RCC_DIR = $${ARCH_DIR}/$${BUILD_TYPE}/rcc
|
||||
|
||||
LIMEREPORT_VERSION_MAJOR = 1
|
||||
LIMEREPORT_VERSION_MINOR = 4
|
||||
LIMEREPORT_VERSION_RELEASE = 54
|
||||
LIMEREPORT_VERSION_RELEASE = 57
|
||||
|
||||
LIMEREPORT_VERSION = '$${LIMEREPORT_VERSION_MAJOR}.$${LIMEREPORT_VERSION_MINOR}.$${LIMEREPORT_VERSION_RELEASE}'
|
||||
DEFINES *= LIMEREPORT_VERSION_STR=\\\"$${LIMEREPORT_VERSION}\\\"
|
||||
|
@ -1,9 +1,21 @@
|
||||
#include <QApplication>
|
||||
#include <LimeReport>
|
||||
#include <QTranslator>
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
QApplication a(argc, argv);
|
||||
|
||||
QTranslator limeReportTranslator;
|
||||
QString translationPath = QApplication::applicationDirPath();
|
||||
translationPath.append("/languages");
|
||||
limeReportTranslator.load("limereport_"+QLocale::system().name(),translationPath);
|
||||
a.installTranslator(&limeReportTranslator);
|
||||
|
||||
QTranslator qtTranslator;
|
||||
qtTranslator.load("qt_" + QLocale::system().name(),translationPath);
|
||||
a.installTranslator(&qtTranslator);
|
||||
|
||||
LimeReport::ReportEngine report;
|
||||
if (a.arguments().count()>1){
|
||||
report.loadFromFile(a.arguments().at(1));
|
||||
|
@ -95,7 +95,7 @@ void ChartItemEditor::init()
|
||||
ui->tableWidget->setColumnCount(1);
|
||||
ui->tableWidget->setRowCount(m_charItem->series().count());
|
||||
ui->tableWidget->horizontalHeader()->setStretchLastSection(true);
|
||||
ui->tableWidget->setHorizontalHeaderItem(0,new QTableWidgetItem("Series name"));
|
||||
ui->tableWidget->setHorizontalHeaderItem(0,new QTableWidgetItem(tr("Series name")));
|
||||
|
||||
rebuildTable();
|
||||
|
||||
|
@ -11,7 +11,7 @@
|
||||
</rect>
|
||||
</property>
|
||||
<property name="windowTitle">
|
||||
<string>Form</string>
|
||||
<string>Series editor</string>
|
||||
</property>
|
||||
<layout class="QVBoxLayout" name="verticalLayout_2">
|
||||
<item>
|
||||
|
@ -48,8 +48,8 @@ namespace{
|
||||
|
||||
LimeReport::ItemLocationPropItem::ItemLocationPropItem(QObject* object, ObjectsList* objects, const QString &name, const QString &displayName, const QVariant &value, ObjectPropItem* parent, bool readonly)
|
||||
:LimeReport::ObjectPropItem(object, objects, name, displayName, value, parent, readonly){
|
||||
m_locationMap.insert("Band",LimeReport::ItemDesignIntf::Band);
|
||||
m_locationMap.insert("Page",LimeReport::ItemDesignIntf::Page);
|
||||
m_locationMap.insert(tr("Band"),LimeReport::ItemDesignIntf::Band);
|
||||
m_locationMap.insert(tr("Page"),LimeReport::ItemDesignIntf::Page);
|
||||
}
|
||||
|
||||
|
||||
|
@ -90,7 +90,7 @@ contains(CONFIG,zint){
|
||||
####Automatically build required translation files (*.qm)
|
||||
|
||||
contains(CONFIG,build_translations){
|
||||
LANGUAGES = ru es_ES ar
|
||||
LANGUAGES = ru es_ES ar fr
|
||||
|
||||
defineReplace(prependAll) {
|
||||
for(a,$$1):result += $$2$${a}$$3
|
||||
|
@ -628,10 +628,10 @@ QPointF BaseDesignIntf::modifyPosForAlignedItem(const QPointF& pos){
|
||||
result.setX(leftBorder);
|
||||
break;
|
||||
case RightItemAlign:
|
||||
result.setX(parent->width()-rightBorder);
|
||||
result.setX(parent->width() - (rightBorder + width()));
|
||||
break;
|
||||
case CenterItemAlign:
|
||||
result.setX((avaibleSpace-width())/2);
|
||||
result.setX((avaibleSpace-width()) / 2 + leftBorder);
|
||||
break;
|
||||
case ParentWidthItemAlign:
|
||||
result.setX(leftBorder);
|
||||
|
@ -134,6 +134,19 @@ void QObjectPropertyModel::translatePropertyName()
|
||||
tr("condition");
|
||||
tr("groupFieldName");
|
||||
tr("keepGroupTogether");
|
||||
tr("endlessHeight");
|
||||
tr("extendedHeight");
|
||||
tr("isExtendedInDesignMode");
|
||||
tr("pageIsTOC");
|
||||
tr("setPageSizeToPrinter");
|
||||
tr("fillInSecondPass");
|
||||
tr("chartTitle");
|
||||
tr("chartType");
|
||||
tr("drawLegendBorder");
|
||||
tr("labelsField");
|
||||
tr("legendAlign");
|
||||
tr("series");
|
||||
tr("titleAlign");
|
||||
}
|
||||
|
||||
void QObjectPropertyModel::clearObjectsList()
|
||||
|
@ -54,10 +54,10 @@ QWidget *EnumPropItem::createProperyEditor(QWidget *parent) const
|
||||
QStringList enumValues;
|
||||
QMetaEnum propEnum = object()->metaObject()->property(object()->metaObject()->indexOfProperty(propertyName().toLatin1())).enumerator();
|
||||
for (int i=0;i<propEnum.keyCount();i++){
|
||||
if (m_acceptableValues.isEmpty()) enumValues.append(propEnum.key(i));
|
||||
if (m_acceptableValues.isEmpty()) enumValues.append(tr(propEnum.key(i)));
|
||||
else {
|
||||
if (m_acceptableValues.contains(propEnum.value(i))){
|
||||
enumValues.append(propEnum.key(i));
|
||||
enumValues.append(tr(propEnum.key(i)));
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -75,6 +75,74 @@ void EnumPropItem::slotEnumChanged(const QString &text)
|
||||
}
|
||||
}
|
||||
|
||||
void EnumPropItem::initTranslation()
|
||||
{
|
||||
QMetaEnum propEnum = object()->metaObject()->property(object()->metaObject()->indexOfProperty(propertyName().toLatin1())).enumerator();
|
||||
for (int i=0;i<propEnum.keyCount();i++){
|
||||
m_translation.insert(QString(tr(propEnum.key(i))), QString(propEnum.key(i)));
|
||||
}
|
||||
}
|
||||
|
||||
void EnumPropItem::translateEnumItemName()
|
||||
{
|
||||
tr("Default");
|
||||
tr("Portrait");
|
||||
tr("Landscape");
|
||||
tr("NoneAutoWidth");
|
||||
tr("MaxWordLength");
|
||||
tr("MaxStringLength");
|
||||
tr("TransparentMode");
|
||||
tr("OpaqueMode");
|
||||
tr("Angle0");
|
||||
tr("Angle90");
|
||||
tr("Angle180");
|
||||
tr("Angle270");
|
||||
tr("Angle45");
|
||||
tr("Angle315");
|
||||
tr("DateTime");
|
||||
tr("Double");
|
||||
tr("NoBrush");
|
||||
tr("SolidPattern");
|
||||
tr("Dense1Pattern");
|
||||
tr("Dense2Pattern");
|
||||
tr("Dense3Pattern");
|
||||
tr("Dense4Pattern");
|
||||
tr("Dense5Pattern");
|
||||
tr("Dense6Pattern");
|
||||
tr("Dense7Pattern");
|
||||
tr("HorPattern");
|
||||
tr("VerPattern");
|
||||
tr("CrossPattern");
|
||||
tr("BDiagPattern");
|
||||
tr("FDiagPattern");
|
||||
tr("LeftToRight");
|
||||
tr("RightToLeft");
|
||||
tr("LayoutDirectionAuto");
|
||||
tr("LeftItemAlign");
|
||||
tr("RightItemAlign");
|
||||
tr("CenterItemAlign");
|
||||
tr("ParentWidthItemAlign");
|
||||
tr("DesignedItemAlign");
|
||||
tr("HorizontalLine");
|
||||
tr("VerticalLine");
|
||||
tr("Ellipse");
|
||||
tr("Rectangle");
|
||||
tr("Page");
|
||||
tr("Band");
|
||||
tr("Horizontal");
|
||||
tr("Vertical");
|
||||
tr("VerticalUniform");
|
||||
tr("Pie");
|
||||
tr("VerticalBar");
|
||||
tr("HorizontalBar");
|
||||
tr("LegendAlignTop");
|
||||
tr("LegendAlignCenter");
|
||||
tr("LegendAlignBottom");
|
||||
tr("TitleAlignLeft");
|
||||
tr("TitleAlignRight");
|
||||
tr("TitleAlignCenter");
|
||||
}
|
||||
|
||||
void EnumPropItem::setPropertyEditorData(QWidget *propertyEditor, const QModelIndex &) const
|
||||
{
|
||||
ComboBoxEditor *editor=qobject_cast<ComboBoxEditor *>(propertyEditor);
|
||||
@ -90,13 +158,13 @@ void EnumPropItem::setModelData(QWidget *propertyEditor, QAbstractItemModel *mod
|
||||
QString EnumPropItem::nameByType(int value) const
|
||||
{
|
||||
QMetaEnum propEnum = object()->metaObject()->property(object()->metaObject()->indexOfProperty(propertyName().toLatin1())).enumerator();
|
||||
return propEnum.valueToKey(value);
|
||||
return tr(propEnum.valueToKey(value));
|
||||
}
|
||||
|
||||
int EnumPropItem::typeByName(const QString &value) const
|
||||
{
|
||||
QMetaEnum propEnum = object()->metaObject()->property(object()->metaObject()->indexOfProperty(propertyName().toLatin1())).enumerator();
|
||||
return propEnum.keyToValue(value.toLatin1());
|
||||
return propEnum.keyToValue(m_translation.value(value).toLatin1());
|
||||
}
|
||||
|
||||
QString EnumPropItem::displayValue() const
|
||||
|
@ -31,17 +31,18 @@
|
||||
#define LRENUMPROPITEM_H
|
||||
|
||||
#include "lrobjectpropitem.h"
|
||||
#include <QMap>
|
||||
|
||||
namespace LimeReport{
|
||||
class EnumPropItem : public ObjectPropItem
|
||||
{
|
||||
Q_OBJECT
|
||||
public:
|
||||
EnumPropItem():ObjectPropItem(), m_settingValue(false){}
|
||||
EnumPropItem():ObjectPropItem(), m_settingValue(false){initTranslation();}
|
||||
EnumPropItem(QObject* object, ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& value,ObjectPropItem* parent, bool readonly)
|
||||
:ObjectPropItem(object, objects, name, displayName, value, parent, readonly),m_settingValue(false){}
|
||||
:ObjectPropItem(object, objects, name, displayName, value, parent, readonly),m_settingValue(false){initTranslation();}
|
||||
EnumPropItem(QObject* object, ObjectsList* objects, const QString& name, const QString& displayName, const QVariant& value,ObjectPropItem* parent, bool readonly, QVector<int> acceptableValues)
|
||||
:ObjectPropItem(object, objects, name, displayName, value, parent, readonly),m_acceptableValues(acceptableValues),m_settingValue(false){}
|
||||
:ObjectPropItem(object, objects, name, displayName, value, parent, readonly),m_acceptableValues(acceptableValues),m_settingValue(false){initTranslation();}
|
||||
QWidget* createProperyEditor(QWidget *parent) const;
|
||||
QString displayValue() const;
|
||||
void setPropertyEditorData(QWidget * propertyEditor, const QModelIndex &) const;
|
||||
@ -52,9 +53,13 @@ protected:
|
||||
int typeByName(const QString& propertyValue) const;
|
||||
private slots:
|
||||
void slotEnumChanged(const QString& text);
|
||||
private:
|
||||
void initTranslation();
|
||||
void translateEnumItemName();
|
||||
private:
|
||||
QVector<int> m_acceptableValues;
|
||||
bool m_settingValue;
|
||||
QMap<QString, QString> m_translation;
|
||||
};
|
||||
}
|
||||
#endif // LRENUMPROPITEM_H
|
||||
|
@ -58,13 +58,15 @@ void FlagsPropItem::createChildren()
|
||||
QMetaEnum propEnum = object()->metaObject()->property(object()->metaObject()->indexOfProperty(propertyName().toLatin1())).enumerator();
|
||||
for (int i=0;i<propEnum.keyCount();i++)
|
||||
{
|
||||
if ( propEnum.keyToValue(propEnum.key(i)) !=0 ) {
|
||||
this->appendItem(new LimeReport::FlagPropItem(
|
||||
object(), objects(), QString(propEnum.key(i)), QString(propEnum.key(i)),
|
||||
object(), objects(), QString(propEnum.key(i)), tr(propEnum.key(i)),
|
||||
bool((propertyValue().toInt() & propEnum.keyToValue(propEnum.key(i)))==propEnum.keyToValue(propEnum.key(i))),
|
||||
this, false
|
||||
)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void FlagsPropItem::updateChildren()
|
||||
@ -93,10 +95,10 @@ QString FlagsPropItem::displayValue() const
|
||||
QMetaEnum propEnum = object()->metaObject()->property(object()->metaObject()->indexOfProperty(propertyName().toLatin1())).enumerator();
|
||||
for (int i=0;i<propEnum.keyCount();i++)
|
||||
{
|
||||
if ( (propertyValue().toInt() & propEnum.keyToValue(propEnum.key(i)))==propEnum.keyToValue(propEnum.key(i) ))
|
||||
if ((propEnum.keyToValue(propEnum.key(i)) == 0) ? propertyValue().toInt() == 0 : (propertyValue().toInt() & propEnum.keyToValue(propEnum.key(i))) == propEnum.keyToValue(propEnum.key(i)))
|
||||
{
|
||||
if (result.isEmpty()) result+=propEnum.key(i);
|
||||
else result=result+" | "+propEnum.key(i);
|
||||
if (result.isEmpty()) result+= tr(propEnum.key(i));
|
||||
else result=result+" | "+tr(propEnum.key(i));
|
||||
}
|
||||
|
||||
}
|
||||
@ -113,6 +115,15 @@ void FlagsPropItem::slotEnumChanged(QString /*text*/)
|
||||
{
|
||||
}
|
||||
|
||||
void FlagsPropItem::translateFlagsItem()
|
||||
{
|
||||
tr("NoLine");
|
||||
tr("TopLine");
|
||||
tr("BottomLine");
|
||||
tr("LeftLine");
|
||||
tr("RightLine");
|
||||
}
|
||||
|
||||
FlagPropItem::FlagPropItem(QObject* object, ObjectsList* objects, const QString &propName, const QString &displayName, const QVariant &value, ObjectPropItem* parent, bool readonly)
|
||||
:BoolPropItem(object, objects, propName,displayName,value,parent,readonly)
|
||||
{
|
||||
@ -129,8 +140,8 @@ void FlagPropItem::setModelData(QWidget *propertyEditor, QAbstractItemModel *mod
|
||||
bool value = qobject_cast<CheckBoxEditor*>(propertyEditor)->isChecked();
|
||||
model->setData(index,value);
|
||||
int flags = object()->property(parent()->propertyName().toLatin1()).toInt();
|
||||
if (value) flags=flags | valueByName(displayName());
|
||||
else if (flags&valueByName(displayName())) flags=flags ^ valueByName(displayName());
|
||||
if (value) flags = flags | valueByName(propertyName());
|
||||
else if (flags & valueByName(propertyName())) flags = flags ^ valueByName(propertyName());
|
||||
setValueToObject(parent()->propertyName(),flags);
|
||||
parent()->setPropertyValue(flags);
|
||||
}
|
||||
|
@ -46,6 +46,8 @@ public:
|
||||
virtual void setPropertyValue(QVariant propertyValue);
|
||||
private slots:
|
||||
void slotEnumChanged(QString);
|
||||
private:
|
||||
void translateFlagsItem();
|
||||
private:
|
||||
QSet<int> m_acceptableValues;
|
||||
QString nameByType(int propertyValue) const;
|
||||
|
3169
translations/limereport_fr.ts
Normal file
3169
translations/limereport_fr.ts
Normal file
File diff suppressed because it is too large
Load Diff
@ -12,43 +12,51 @@
|
||||
<name>ChartItemEditor</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished">Форма</translation>
|
||||
<translation type="obsolete">Форма</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Series</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Серии</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Add</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Добавить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Delete</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Удалить</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Name</source>
|
||||
<translation type="unfinished">Имя переменной</translation>
|
||||
<translation>Наименование</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Values field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Значения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Color</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Цвет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Type</source>
|
||||
<translation type="unfinished">Тип</translation>
|
||||
<translation>Тип</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Labels field</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Подписи</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ok</source>
|
||||
<translation type="unfinished">Ок</translation>
|
||||
<translation>Ок</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Series name</source>
|
||||
<translation>Серии</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Series editor</source>
|
||||
<translation>Редактор серий</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -75,18 +83,18 @@
|
||||
</message>
|
||||
<message>
|
||||
<source>Mandatory</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Обязательная</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LanguageSelectDialog</name>
|
||||
<message>
|
||||
<source>Dialog</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Диалог</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Язык</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -143,7 +151,7 @@ p, li { white-space: pre-wrap; }
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt; font-weight:600;">This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.</span></p>
|
||||
<p align="justify" style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-size:10pt; font-weight:600; color:#000000;"><br /></p>
|
||||
<p align="justify" style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-size:10pt;">Copyright 2015 Arin Alexander. All rights reserved.</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
|
||||
@ -260,7 +268,7 @@ p, li { white-space: pre-wrap; }
|
||||
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'monospace'; font-style:italic;">signature of Ty Coon</span><span style=" font-family:'monospace';">, 1 April 1990</span></p>
|
||||
<p style=" margin-top:0px; margin-bottom:15px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'monospace';">Ty Coon, President of Vice</span></p>
|
||||
<p style=" margin-top:19px; margin-bottom:19px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'sans-serif';">That's all there is to it!</span></p></body></html></source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation></translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -390,15 +398,15 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>Keep bottom space</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Сохранять отступ снизу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Start from new page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Начинать с новой страницы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Start new page</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Начинать новую страницу</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -730,6 +738,256 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Редактор действий</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::EnumPropItem</name>
|
||||
<message>
|
||||
<source>Default</source>
|
||||
<translation>По умолчанию</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Portrait</source>
|
||||
<translation>Портретная</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Landscape</source>
|
||||
<translation>Альбомная</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NoneAutoWidth</source>
|
||||
<translation>Нет</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MaxWordLength</source>
|
||||
<translation>По ширине слова</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>MaxStringLength</source>
|
||||
<translation>По ширине строки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TransparentMode</source>
|
||||
<translation>Прозрачный</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>OpaqueMode</source>
|
||||
<translation>Заливка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Angle0</source>
|
||||
<translation>0</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Angle90</source>
|
||||
<translation>90</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Angle180</source>
|
||||
<translation>180</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Angle270</source>
|
||||
<translation>270</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Angle45</source>
|
||||
<translation>45</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Angle315</source>
|
||||
<translation>315</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DateTime</source>
|
||||
<translation>Дата и время</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Double</source>
|
||||
<translation>Число</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>NoBrush</source>
|
||||
<translation>Нет заливки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>SolidPattern</source>
|
||||
<translation>Сплошная заливка</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense1Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense2Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense3Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense4Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense5Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense6Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Dense7Pattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HorPattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VerPattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CrossPattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>BDiagPattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>FDiagPattern</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LeftToRight</source>
|
||||
<translation>Слева на право</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RightToLeft</source>
|
||||
<translation>С права на лево</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LayoutDirectionAuto</source>
|
||||
<translation>Авто</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LeftItemAlign</source>
|
||||
<translation>Слева</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RightItemAlign</source>
|
||||
<translation>Справа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>CenterItemAlign</source>
|
||||
<translation>По центру</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ParentWidthItemAlign</source>
|
||||
<translation>По ширине родителя</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>DesignedItemAlign</source>
|
||||
<translation>Заданное положение</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HorizontalLine</source>
|
||||
<translation>Горизонтальная линия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VerticalLine</source>
|
||||
<translation>Вертикальная линия</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Ellipse</source>
|
||||
<translation>Элипс</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Rectangle</source>
|
||||
<translation>Прямоугольник</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page</source>
|
||||
<translation>Страница</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Band</source>
|
||||
<translation>Раздел</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Horizontal</source>
|
||||
<translation>Горизонтально</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Vertical</source>
|
||||
<translation>Вертикально</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VerticalUniform</source>
|
||||
<translation>Вертикально равномерно</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pie</source>
|
||||
<translation>Круговая</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>VerticalBar</source>
|
||||
<translation>Вертикальные столбцы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>HorizontalBar</source>
|
||||
<translation>Горизонтальные столбцы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LegendAlignTop</source>
|
||||
<translation>Сверху</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LegendAlignCenter</source>
|
||||
<translation>По центру</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LegendAlignBottom</source>
|
||||
<translation>Снизу</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TitleAlignLeft</source>
|
||||
<translation>Слева</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TitleAlignRight</source>
|
||||
<translation>Справа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TitleAlignCenter</source>
|
||||
<translation>По цетру</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::FlagsPropItem</name>
|
||||
<message>
|
||||
<source>NoLine</source>
|
||||
<translation>Нет границ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>TopLine</source>
|
||||
<translation>Верхняя граница</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>BottomLine</source>
|
||||
<translation>Нижняя граница</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>LeftLine</source>
|
||||
<translation>Левая граница</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>RightLine</source>
|
||||
<translation>Правая граница</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::FontEditorWidget</name>
|
||||
<message>
|
||||
@ -816,6 +1074,17 @@ p, li { white-space: pre-wrap; }
|
||||
<translation>Изображение</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ItemLocationPropItem</name>
|
||||
<message>
|
||||
<source>Band</source>
|
||||
<translation>Раздел</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Page</source>
|
||||
<translation>Страница</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::ItemsAlignmentEditorWidget</name>
|
||||
<message>
|
||||
@ -1421,7 +1690,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>securityLevel</source>
|
||||
<translation type="unfinished">Уровень безопасности</translation>
|
||||
<translation>Уровень безопасности</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>testValue</source>
|
||||
@ -1429,11 +1698,11 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>whitespace</source>
|
||||
<translation type="unfinished">Отступ</translation>
|
||||
<translation>Отступ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>cornerRadius</source>
|
||||
<translation type="unfinished">Радиус закругления</translation>
|
||||
<translation>Радиус закругления</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>shapeColor</source>
|
||||
@ -1487,6 +1756,58 @@ p, li { white-space: pre-wrap; }
|
||||
<source>repeatOnEachRow</source>
|
||||
<translation>Печатать на каждой странице</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>endlessHeight</source>
|
||||
<translation>Бесконечная страница</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>extendedHeight</source>
|
||||
<translation>Дополнителная высота</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>isExtendedInDesignMode</source>
|
||||
<translation>Увеличенный размер в дизайнере</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>pageIsTOC</source>
|
||||
<translation>Оглавление</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>setPageSizeToPrinter</source>
|
||||
<translation>Отправлять размер страницы принтеру</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>fillInSecondPass</source>
|
||||
<translation>Заполнять на втором проходе</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>chartTitle</source>
|
||||
<translation>Заголовок диаграммы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>chartType</source>
|
||||
<translation>Тип диаграммы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>drawLegendBorder</source>
|
||||
<translation>Границы вокруг легенды</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>labelsField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>legendAlign</source>
|
||||
<translation>Расположение легенды</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>series</source>
|
||||
<translation>Серии</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>titleAlign</source>
|
||||
<translation>Расположение заголовка</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
<name>LimeReport::RectMMPropItem</name>
|
||||
@ -1534,7 +1855,7 @@ p, li { white-space: pre-wrap; }
|
||||
</message>
|
||||
<message>
|
||||
<source>Translations</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Переводы</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1834,7 +2155,7 @@ This preview is no longer valid.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Language %1 already exists</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Перевод %1 уже существует!</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2024,15 +2345,15 @@ This preview is no longer valid.</source>
|
||||
<name>LimeReport::ScriptEditor</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished">Форма</translation>
|
||||
<translation>Форма</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Data</source>
|
||||
<translation type="unfinished">Данные</translation>
|
||||
<translation>Данные</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Functions</source>
|
||||
<translation type="unfinished">Функции</translation>
|
||||
<translation>Функции</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2122,35 +2443,35 @@ This preview is no longer valid.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Datasource</source>
|
||||
<translation type="unfinished">Источник данных</translation>
|
||||
<translation>Источник данных</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>ValueField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Поле значения</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeyField</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Поле ключа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>KeyFieldValue</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Значение поля ключа</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Unique identifier</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Уникальный идентификатор</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Content</source>
|
||||
<translation type="unfinished">Содержимое</translation>
|
||||
<translation>Содержимое</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Indent</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Отступ</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>datasourceName</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Источника данных</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2326,47 +2647,47 @@ This preview is no longer valid.</source>
|
||||
<name>LimeReport::TranslationEditor</name>
|
||||
<message>
|
||||
<source>Form</source>
|
||||
<translation type="unfinished">Форма</translation>
|
||||
<translation>Форма</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Languages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Языки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>...</source>
|
||||
<translation type="unfinished">...</translation>
|
||||
<translation>...</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Pages</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Страницы</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Strings</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Строки</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source Text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Исходный текст</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Translation</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Превод</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Checked</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Проверено</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Report Item</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Элемент отчета</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Property</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Свойство</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Source text</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Исходный текст</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2600,19 +2921,19 @@ This preview is no longer valid.</source>
|
||||
</message>
|
||||
<message>
|
||||
<source>Chart Item</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Диаграмма</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>First</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Первая</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Second</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Вторая</translation>
|
||||
</message>
|
||||
<message>
|
||||
<source>Thrid</source>
|
||||
<translation type="unfinished"></translation>
|
||||
<translation>Третья</translation>
|
||||
</message>
|
||||
</context>
|
||||
</TS>
|
||||
|
Loading…
Reference in New Issue
Block a user