mirror of
https://github.com/espocrm/espocrm.git
synced 2026-03-11 00:17:02 +00:00
Compare commits
51 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0d508be6f | ||
|
|
e2b0aa65f8 | ||
|
|
930675672b | ||
|
|
b5ee03b142 | ||
|
|
a0d4fa5b82 | ||
|
|
317bbba8c9 | ||
|
|
3da95cce76 | ||
|
|
9a7cf5c35e | ||
|
|
b96ae74c14 | ||
|
|
7a420fb6f9 | ||
|
|
58d161210d | ||
|
|
41c7cf115d | ||
|
|
ba3bbfc097 | ||
|
|
7758e20224 | ||
|
|
a1cc2ee8c6 | ||
|
|
bdf397ad0f | ||
|
|
4dcae92ab7 | ||
|
|
1d4fedf7c7 | ||
|
|
24e6f2469f | ||
|
|
7b16d3541d | ||
|
|
3c9c3c9c8c | ||
|
|
f0413b7037 | ||
|
|
749f1a6a70 | ||
|
|
512a23ef64 | ||
|
|
23729c5b89 | ||
|
|
f31ee10cf7 | ||
|
|
21d34b091b | ||
|
|
fd19aa8b2e | ||
|
|
5af0b62e8e | ||
|
|
965cb33e34 | ||
|
|
aca19b3427 | ||
|
|
238baf89be | ||
|
|
50218a1146 | ||
|
|
d1280a8797 | ||
|
|
ca9358cf1a | ||
|
|
c3fa8f3131 | ||
|
|
4af110cd69 | ||
|
|
45d2d4306b | ||
|
|
385f01da8b | ||
|
|
85da160957 | ||
|
|
ff15f318c4 | ||
|
|
5769e1b58f | ||
|
|
028a7c728a | ||
|
|
9ec3889f96 | ||
|
|
3aa6502996 | ||
|
|
847f8713c9 | ||
|
|
7405476f61 | ||
|
|
985903e99b | ||
|
|
347f4e5566 | ||
|
|
085964dc58 | ||
|
|
6c0a1265ab |
@@ -71,7 +71,7 @@ class LinkMultiple implements FieldDuplicator
|
||||
->getRelation($relationDefs->getForeignRelationName())
|
||||
->getType();
|
||||
|
||||
if ($foreignRelationType !== Entity::HAS_MANY) {
|
||||
if ($foreignRelationType !== Entity::MANY_MANY) {
|
||||
$valueMap->{$field . 'Ids'} = [];
|
||||
$valueMap->{$field . 'Names'} = (object) [];
|
||||
$valueMap->{$field . 'Columns'} = (object) [];
|
||||
|
||||
@@ -48,7 +48,7 @@ use Espo\Services\Stream as StreamService;
|
||||
*/
|
||||
class FollowersLoader implements LoaderInterface
|
||||
{
|
||||
private const FOLLOWERS_LIMIT = 5;
|
||||
private const FOLLOWERS_LIMIT = 6;
|
||||
|
||||
private StreamService $streamService;
|
||||
|
||||
|
||||
@@ -0,0 +1,111 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014-2022 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* EspoCRM is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* EspoCRM is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
namespace Espo\Core\Mail\Account\GroupAccount;
|
||||
|
||||
use Espo\Core\Mail\Message;
|
||||
use Espo\Core\Mail\Message\Part;
|
||||
|
||||
class BouncedRecognizer
|
||||
{
|
||||
public function isBounced(Message $message): bool
|
||||
{
|
||||
$from = $message->getHeader('From');
|
||||
$contentType = $message->getHeader('Content-Type');
|
||||
|
||||
if (preg_match('/MAILER-DAEMON|POSTMASTER/i', $from ?? '')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (strpos($contentType ?? '', 'multipart/report') === 0) {
|
||||
// @todo Check whether ever works.
|
||||
$deliveryStatusPart = $this->getDeliveryStatusPart($message);
|
||||
|
||||
if ($deliveryStatusPart) {
|
||||
return true;
|
||||
}
|
||||
|
||||
$content = $message->getRawContent();
|
||||
|
||||
if (
|
||||
strpos($content, 'message/delivery-status') !== false &&
|
||||
strpos($content, 'Status: ') !== false
|
||||
) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function isHard(Message $message): bool
|
||||
{
|
||||
$content = $message->getRawContent();
|
||||
|
||||
if (preg_match('/permanent[ ]*[error|failure]/', $content)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public function extractQueueItemId(Message $message): ?string
|
||||
{
|
||||
$content = $message->getRawContent();
|
||||
|
||||
if (preg_match('/X-Queue-Item-Id: [a-z0-9\-]*/', $content, $m)) {
|
||||
/** @var array{string} */
|
||||
$arr = preg_split('/X-Queue-Item-Id: /', $m[0], -1, \PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
return $arr[0];
|
||||
}
|
||||
|
||||
$to = $message->getHeader('to');
|
||||
|
||||
if (preg_match('/\+bounce-qid-[a-z0-9\-]*/', $to ?? '', $m)) {
|
||||
/** @var array{string} */
|
||||
$arr = preg_split('/\+bounce-qid-/', $m[0], -1, \PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
return $arr[0];
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
private function getDeliveryStatusPart(Message $message): ?Part
|
||||
{
|
||||
foreach ($message->getPartList() as $part) {
|
||||
if ($part->getContentType() === 'message/delivery-status') {
|
||||
return $part;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
@@ -34,6 +34,7 @@ use Espo\Core\Mail\Account\Hook\BeforeFetchResult;
|
||||
|
||||
use Espo\Core\Mail\Account\Account;
|
||||
use Espo\Core\Mail\Message;
|
||||
use Espo\Core\Mail\Account\GroupAccount\BouncedRecognizer;
|
||||
|
||||
use Espo\Core\Utils\Log;
|
||||
use Espo\Core\InjectableFactory;
|
||||
@@ -55,21 +56,25 @@ class BeforeFetch implements BeforeFetchInterface
|
||||
|
||||
private InjectableFactory $injectableFactory;
|
||||
|
||||
private BouncedRecognizer $bouncedRecognizer;
|
||||
|
||||
private ?CampaignService $campaignService = null;
|
||||
|
||||
public function __construct(Log $log, EntityManager $entityManager, InjectableFactory $injectableFactory)
|
||||
{
|
||||
public function __construct(
|
||||
Log $log,
|
||||
EntityManager $entityManager,
|
||||
InjectableFactory $injectableFactory,
|
||||
BouncedRecognizer $bouncedRecognizer
|
||||
) {
|
||||
$this->log = $log;
|
||||
$this->entityManager = $entityManager;
|
||||
$this->injectableFactory = $injectableFactory;
|
||||
$this->bouncedRecognizer = $bouncedRecognizer;
|
||||
}
|
||||
|
||||
public function process(Account $account, Message $message): BeforeFetchResult
|
||||
{
|
||||
if (
|
||||
$message->hasHeader('from') &&
|
||||
preg_match('/MAILER-DAEMON|POSTMASTER/i', $message->getHeader('from') ?? '')
|
||||
) {
|
||||
if ($this->bouncedRecognizer->isBounced($message)) {
|
||||
try {
|
||||
$toSkip = $this->processBounced($message);
|
||||
}
|
||||
@@ -94,32 +99,8 @@ class BeforeFetch implements BeforeFetchInterface
|
||||
|
||||
private function processBounced(Message $message): bool
|
||||
{
|
||||
$content = $message->getRawContent();
|
||||
|
||||
$isHard = false;
|
||||
|
||||
if (preg_match('/permanent[ ]*[error|failure]/', $content)) {
|
||||
$isHard = true;
|
||||
}
|
||||
|
||||
$queueItemId = null;
|
||||
|
||||
if (preg_match('/X-Queue-Item-Id: [a-z0-9\-]*/', $content, $m)) {
|
||||
/** @var array{string} */
|
||||
$arr = preg_split('/X-Queue-Item-Id: /', $m[0], -1, \PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
$queueItemId = $arr[0];
|
||||
}
|
||||
else {
|
||||
$to = $message->getHeader('to');
|
||||
|
||||
if (preg_match('/\+bounce-qid-[a-z0-9\-]*/', $to ?? '', $m)) {
|
||||
/** @var array{string} */
|
||||
$arr = preg_split('/\+bounce-qid-/', $m[0], -1, \PREG_SPLIT_NO_EMPTY);
|
||||
|
||||
$queueItemId = $arr[0];
|
||||
}
|
||||
}
|
||||
$isHard = $this->bouncedRecognizer->isHard($message);
|
||||
$queueItemId = $this->bouncedRecognizer->extractQueueItemId($message);
|
||||
|
||||
if (!$queueItemId) {
|
||||
return false;
|
||||
|
||||
@@ -29,6 +29,8 @@
|
||||
|
||||
namespace Espo\Core\Mail;
|
||||
|
||||
use Espo\Core\Mail\Message\Part;
|
||||
|
||||
interface Message
|
||||
{
|
||||
/**
|
||||
@@ -67,4 +69,9 @@ interface Message
|
||||
* Whether contents is fetched.
|
||||
*/
|
||||
public function isFetched(): bool;
|
||||
|
||||
/**
|
||||
* @return Part[]
|
||||
*/
|
||||
public function getPartList(): array;
|
||||
}
|
||||
|
||||
79
application/Espo/Core/Mail/Message/MailMimeParser/Part.php
Normal file
79
application/Espo/Core/Mail/Message/MailMimeParser/Part.php
Normal file
@@ -0,0 +1,79 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014-2022 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* EspoCRM is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* EspoCRM is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
namespace Espo\Core\Mail\Message\MailMimeParser;
|
||||
|
||||
use Espo\Core\Mail\Message\Part as PartInterface;
|
||||
|
||||
use ZBateson\MailMimeParser\Message\Part\MessagePart;
|
||||
|
||||
class Part implements PartInterface
|
||||
{
|
||||
private MessagePart $part;
|
||||
|
||||
public function __construct(MessagePart $part)
|
||||
{
|
||||
$this->part = $part;
|
||||
}
|
||||
|
||||
public function getContentType(): ?string
|
||||
{
|
||||
return $this->part->getContentType();
|
||||
}
|
||||
|
||||
public function hasContent(): bool
|
||||
{
|
||||
return $this->part->hasContent();
|
||||
}
|
||||
|
||||
public function getContent(): ?string
|
||||
{
|
||||
return $this->part->getContent();
|
||||
}
|
||||
|
||||
public function getContentId(): ?string
|
||||
{
|
||||
return $this->part->getContentId();
|
||||
}
|
||||
|
||||
public function getCharset(): ?string
|
||||
{
|
||||
return $this->part->getCharset();
|
||||
}
|
||||
|
||||
public function getContentDisposition(): ?string
|
||||
{
|
||||
return $this->part->getContentDisposition();
|
||||
}
|
||||
|
||||
public function getFilename(): ?string
|
||||
{
|
||||
return $this->part->getFilename();
|
||||
}
|
||||
}
|
||||
47
application/Espo/Core/Mail/Message/Part.php
Normal file
47
application/Espo/Core/Mail/Message/Part.php
Normal file
@@ -0,0 +1,47 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014-2022 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* EspoCRM is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* EspoCRM is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
namespace Espo\Core\Mail\Message;
|
||||
|
||||
interface Part
|
||||
{
|
||||
public function getContentType(): ?string;
|
||||
|
||||
public function hasContent(): bool;
|
||||
|
||||
public function getContent(): ?string;
|
||||
|
||||
public function getContentId(): ?string;
|
||||
|
||||
public function getCharset(): ?string;
|
||||
|
||||
public function getContentDisposition(): ?string;
|
||||
|
||||
public function getFilename(): ?string;
|
||||
}
|
||||
@@ -30,6 +30,7 @@
|
||||
namespace Espo\Core\Mail;
|
||||
|
||||
use Espo\Core\Mail\Account\Storage;
|
||||
use Espo\Core\Mail\Message\Part;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
@@ -69,6 +70,24 @@ class MessageWrapper implements Message
|
||||
$this->storage = $storage;
|
||||
$this->parser = $parser;
|
||||
$this->fullRawContent = $fullRawContent;
|
||||
|
||||
if (
|
||||
!$storage &&
|
||||
$this->fullRawContent
|
||||
) {
|
||||
$rawHeader = null;
|
||||
$rawBody = null;
|
||||
|
||||
if (strpos($this->fullRawContent, "\r\n\r\n") !== false) {
|
||||
[$rawHeader, $rawBody] = explode("\r\n\r\n", $this->fullRawContent, 2);
|
||||
}
|
||||
else if (strpos($this->fullRawContent, "\n\n") !== false) {
|
||||
[$rawHeader, $rawBody] = explode("\n\n", $this->fullRawContent, 2);
|
||||
}
|
||||
|
||||
$this->rawHeader = $rawHeader;
|
||||
$this->rawContent = $rawBody;
|
||||
}
|
||||
}
|
||||
|
||||
public function getRawHeader(): string
|
||||
@@ -133,4 +152,16 @@ class MessageWrapper implements Message
|
||||
{
|
||||
return (bool) $this->rawHeader;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Part[]
|
||||
*/
|
||||
public function getPartList(): array
|
||||
{
|
||||
if (!$this->parser) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
return $this->parser->getPartList($this);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -32,6 +32,7 @@ namespace Espo\Core\Mail;
|
||||
use Espo\Entities\Email;
|
||||
use Espo\Entities\Attachment;
|
||||
use Espo\Core\Mail\Message;
|
||||
use Espo\Core\Mail\Message\Part;
|
||||
|
||||
use stdClass;
|
||||
|
||||
@@ -56,4 +57,9 @@ interface Parser
|
||||
* @return Attachment[] A list of inline attachments.
|
||||
*/
|
||||
public function getInlineAttachmentList(Message $message, Email $email): array;
|
||||
|
||||
/**
|
||||
* @return Part[]
|
||||
*/
|
||||
public function getPartList(Message $message): array;
|
||||
}
|
||||
|
||||
@@ -36,6 +36,10 @@ use Espo\Entities\Attachment;
|
||||
|
||||
use Espo\Core\Mail\Message;
|
||||
use Espo\Core\Mail\Parser;
|
||||
use Espo\Core\Mail\Message\Part;
|
||||
|
||||
use Espo\Core\Mail\Message\MailMimeParser\Part as WrapperPart;
|
||||
|
||||
use Espo\ORM\EntityManager;
|
||||
|
||||
use ZBateson\MailMimeParser\MailMimeParser as WrappeeParser;
|
||||
@@ -211,6 +215,22 @@ class MailMimeParser implements Parser
|
||||
return $addressList;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Part[]
|
||||
*/
|
||||
public function getPartList(Message $message): array
|
||||
{
|
||||
$wrappeeList = $this->getMessage($message)->getChildParts();
|
||||
|
||||
$partList = [];
|
||||
|
||||
foreach ($wrappeeList as $wrappee) {
|
||||
$partList[] = new WrapperPart($wrappee);
|
||||
}
|
||||
|
||||
return $partList;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Attachment[]
|
||||
*/
|
||||
|
||||
@@ -38,7 +38,7 @@ use Espo\Core\{
|
||||
MassAction\Data,
|
||||
MassAction\MassAction,
|
||||
Acl,
|
||||
Record\ServiceContainer as RecordServiceContainer,
|
||||
Record\ServiceFactory,
|
||||
ORM\EntityManager,
|
||||
Exceptions\Forbidden,
|
||||
};
|
||||
@@ -56,9 +56,9 @@ class MassDelete implements MassAction
|
||||
protected $acl;
|
||||
|
||||
/**
|
||||
* @var RecordServiceContainer
|
||||
* @var ServiceFactory
|
||||
*/
|
||||
protected $recordServiceContainer;
|
||||
protected $serviceFactory;
|
||||
|
||||
/**
|
||||
* @var EntityManager
|
||||
@@ -73,13 +73,13 @@ class MassDelete implements MassAction
|
||||
public function __construct(
|
||||
QueryBuilder $queryBuilder,
|
||||
Acl $acl,
|
||||
RecordServiceContainer $recordServiceContainer,
|
||||
ServiceFactory $serviceFactory,
|
||||
EntityManager $entityManager,
|
||||
User $user
|
||||
) {
|
||||
$this->queryBuilder = $queryBuilder;
|
||||
$this->acl = $acl;
|
||||
$this->recordServiceContainer = $recordServiceContainer;
|
||||
$this->serviceFactory = $serviceFactory;
|
||||
$this->entityManager = $entityManager;
|
||||
$this->user = $user;
|
||||
}
|
||||
@@ -96,7 +96,7 @@ class MassDelete implements MassAction
|
||||
throw new Forbidden("No mass-update permission.");
|
||||
}
|
||||
|
||||
$service = $this->recordServiceContainer->get($entityType);
|
||||
$service = $this->serviceFactory->create($entityType);
|
||||
|
||||
$repository = $this->entityManager->getRDBRepository($entityType);
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ use Espo\Core\{
|
||||
MassAction\Data,
|
||||
MassAction\MassAction,
|
||||
Acl,
|
||||
Record\ServiceContainer as RecordServiceContainer,
|
||||
Record\ServiceFactory as RecordServiceFactory,
|
||||
ORM\EntityManager,
|
||||
Utils\FieldUtil,
|
||||
Utils\ObjectUtil,
|
||||
@@ -63,9 +63,9 @@ class MassUpdate implements MassAction
|
||||
protected $acl;
|
||||
|
||||
/**
|
||||
* @var RecordServiceContainer
|
||||
* @var RecordServiceFactory
|
||||
*/
|
||||
protected $recordServiceContainer;
|
||||
protected $recordServiceFactory;
|
||||
|
||||
/**
|
||||
* @var EntityManager
|
||||
@@ -85,14 +85,14 @@ class MassUpdate implements MassAction
|
||||
public function __construct(
|
||||
QueryBuilder $queryBuilder,
|
||||
Acl $acl,
|
||||
RecordServiceContainer $recordServiceContainer,
|
||||
RecordServiceFactory $recordServiceFactory,
|
||||
EntityManager $entityManager,
|
||||
FieldUtil $fieldUtil,
|
||||
User $user
|
||||
) {
|
||||
$this->queryBuilder = $queryBuilder;
|
||||
$this->acl = $acl;
|
||||
$this->recordServiceContainer = $recordServiceContainer;
|
||||
$this->recordServiceFactory = $recordServiceFactory;
|
||||
$this->entityManager = $entityManager;
|
||||
$this->fieldUtil = $fieldUtil;
|
||||
$this->user = $user;
|
||||
@@ -112,7 +112,7 @@ class MassUpdate implements MassAction
|
||||
|
||||
$valueMap = $data->getRaw();
|
||||
|
||||
$service = $this->recordServiceContainer->get($entityType);
|
||||
$service = $this->recordServiceFactory->create($entityType);
|
||||
|
||||
$repository = $this->entityManager->getRDBRepository($entityType);
|
||||
|
||||
|
||||
@@ -29,14 +29,14 @@
|
||||
|
||||
namespace Espo\Core\Record;
|
||||
|
||||
use Espo\Core\{
|
||||
Exceptions\Forbidden,
|
||||
Exceptions\BadRequest,
|
||||
Utils\Config,
|
||||
Api\Request,
|
||||
Select\SearchParams,
|
||||
Utils\Json,
|
||||
};
|
||||
use Espo\Core\Exceptions\Forbidden;
|
||||
use Espo\Core\Exceptions\BadRequest;
|
||||
|
||||
use Espo\Core\Utils\Config;
|
||||
use Espo\Core\Api\Request;
|
||||
use Espo\Core\Select\SearchParams;
|
||||
use Espo\Core\Select\Text\MetadataProvider as TextMetadataProvider;
|
||||
use Espo\Core\Utils\Json;
|
||||
|
||||
use JsonException;
|
||||
|
||||
@@ -46,9 +46,12 @@ class SearchParamsFetcher
|
||||
|
||||
private Config $config;
|
||||
|
||||
public function __construct(Config $config)
|
||||
private TextMetadataProvider $textMetadataProvider;
|
||||
|
||||
public function __construct(Config $config, TextMetadataProvider $textMetadataProvider)
|
||||
{
|
||||
$this->config = $config;
|
||||
$this->textMetadataProvider = $textMetadataProvider;
|
||||
}
|
||||
|
||||
public function fetch(Request $request): SearchParams
|
||||
@@ -67,7 +70,7 @@ class SearchParamsFetcher
|
||||
$this->fetchRawJsonSearchParams($request):
|
||||
$this->fetchRawMultipleParams($request);
|
||||
|
||||
$this->handleRawParams($params);
|
||||
$this->handleRawParams($params, $request);
|
||||
|
||||
return $params;
|
||||
}
|
||||
@@ -164,7 +167,7 @@ class SearchParamsFetcher
|
||||
/**
|
||||
* @param array<string,mixed> $params
|
||||
*/
|
||||
private function handleRawParams(array &$params): void
|
||||
private function handleRawParams(array &$params, Request $request): void
|
||||
{
|
||||
if (isset($params['maxSize']) && !is_int($params['maxSize'])) {
|
||||
throw new BadRequest('maxSize must be integer.');
|
||||
@@ -178,7 +181,8 @@ class SearchParamsFetcher
|
||||
strpos($q, '*') === false &&
|
||||
strpos($q, '"') === false &&
|
||||
strpos($q, '+') === false &&
|
||||
strpos($q, '-') === false
|
||||
strpos($q, '-') === false &&
|
||||
$this->hasFullTextSearch($request)
|
||||
) {
|
||||
$params['q'] = $q . '*';
|
||||
}
|
||||
@@ -186,6 +190,21 @@ class SearchParamsFetcher
|
||||
$this->handleMaxSize($params);
|
||||
}
|
||||
|
||||
private function hasFullTextSearch(Request $request): bool
|
||||
{
|
||||
$scope = $request->getRouteParam('controller');
|
||||
|
||||
if (!$scope) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ($request->getRouteParam('action') !== 'index') {
|
||||
return false;
|
||||
}
|
||||
|
||||
return $this->textMetadataProvider->hasFullTextSearch($scope);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param array<string,mixed> $params
|
||||
*/
|
||||
|
||||
@@ -29,32 +29,18 @@
|
||||
|
||||
namespace Espo\Core\Record;
|
||||
|
||||
use Espo\Core\{
|
||||
Exceptions\Error,
|
||||
ServiceFactory,
|
||||
Utils\Metadata,
|
||||
};
|
||||
|
||||
use RuntimeException;
|
||||
use Espo\Core\Exceptions\Error;
|
||||
|
||||
/**
|
||||
* Container for record services. Lazy loading is used.
|
||||
* Usually there's no need to have multiple record service instances of the same entity type.
|
||||
* Use this container instead of serviceFactory to get record services.
|
||||
*
|
||||
* Important. Returns services for the current user.
|
||||
* Use the service-factory to create services for a specific user.
|
||||
*/
|
||||
class ServiceContainer
|
||||
{
|
||||
private const RECORD_SERVICE_NAME = 'Record';
|
||||
|
||||
private const RECORD_TREE_SERVICE_NAME = 'RecordTree';
|
||||
|
||||
/**
|
||||
* @var array<string,string>
|
||||
*/
|
||||
private $defaultTypeMap = [
|
||||
'CategoryTree' => self::RECORD_TREE_SERVICE_NAME,
|
||||
];
|
||||
|
||||
/**
|
||||
* @var array<string,Service<\Espo\ORM\Entity>>
|
||||
*/
|
||||
@@ -62,16 +48,14 @@ class ServiceContainer
|
||||
|
||||
private ServiceFactory $serviceFactory;
|
||||
|
||||
private Metadata $metadata;
|
||||
|
||||
public function __construct(ServiceFactory $serviceFactory, Metadata $metadata)
|
||||
public function __construct(ServiceFactory $serviceFactory)
|
||||
{
|
||||
$this->serviceFactory = $serviceFactory;
|
||||
$this->metadata = $metadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Service<\Espo\ORM\Entity>
|
||||
* @throws Error
|
||||
*/
|
||||
public function get(string $entityType): Service
|
||||
{
|
||||
@@ -84,45 +68,6 @@ class ServiceContainer
|
||||
|
||||
private function load(string $entityType): void
|
||||
{
|
||||
if (!$this->metadata->get(['scopes', $entityType, 'entity'])) {
|
||||
throw new Error("Can't create record service '{$entityType}', there's no such entity type.");
|
||||
}
|
||||
|
||||
if ($this->serviceFactory->checkExists($entityType)) {
|
||||
$service = $this->serviceFactory->createWith($entityType, ['entityType' => $entityType]);
|
||||
|
||||
if (!$service instanceof Service) {
|
||||
$this->loadDefault($entityType);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->data[$entityType] = $service;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
$this->loadDefault($entityType);
|
||||
}
|
||||
|
||||
private function loadDefault(string $entityType): void
|
||||
{
|
||||
$default = self::RECORD_SERVICE_NAME;
|
||||
|
||||
$type = $this->metadata->get(['scopes', $entityType, 'type']);
|
||||
|
||||
if ($type) {
|
||||
$default = $this->defaultTypeMap[$type] ?? $default;
|
||||
}
|
||||
|
||||
$obj = $this->serviceFactory->createWith($default, ['entityType' => $entityType]);
|
||||
|
||||
if (!$obj instanceof Service) {
|
||||
throw new RuntimeException("Service class {$default} is not instance of Record.");
|
||||
}
|
||||
|
||||
//$obj->setEntityType($entityType);
|
||||
|
||||
$this->data[$entityType] = $obj;
|
||||
$this->data[$entityType] = $this->serviceFactory->create($entityType);
|
||||
}
|
||||
}
|
||||
|
||||
153
application/Espo/Core/Record/ServiceFactory.php
Normal file
153
application/Espo/Core/Record/ServiceFactory.php
Normal file
@@ -0,0 +1,153 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014-2022 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* EspoCRM is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* EspoCRM is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
namespace Espo\Core\Record;
|
||||
|
||||
use Espo\Core\Exceptions\Error;
|
||||
use Espo\Core\ServiceFactory as Factory;
|
||||
use Espo\Core\Utils\Metadata;
|
||||
|
||||
use Espo\Entities\User;
|
||||
use Espo\Core\Acl;
|
||||
use Espo\Core\AclManager;
|
||||
|
||||
use RuntimeException;
|
||||
|
||||
/**
|
||||
* Create a service for a specific user.
|
||||
*/
|
||||
class ServiceFactory
|
||||
{
|
||||
private const RECORD_SERVICE_NAME = 'Record';
|
||||
|
||||
private const RECORD_TREE_SERVICE_NAME = 'RecordTree';
|
||||
|
||||
/**
|
||||
* @var array<string,string>
|
||||
*/
|
||||
private $defaultTypeMap = [
|
||||
'CategoryTree' => self::RECORD_TREE_SERVICE_NAME,
|
||||
];
|
||||
|
||||
private Factory $serviceFactory;
|
||||
|
||||
private Metadata $metadata;
|
||||
|
||||
private User $user;
|
||||
|
||||
private Acl $acl;
|
||||
|
||||
private AclManager $aclManager;
|
||||
|
||||
public function __construct(
|
||||
Factory $serviceFactory,
|
||||
Metadata $metadata,
|
||||
User $user,
|
||||
Acl $acl,
|
||||
AclManager $aclManager
|
||||
) {
|
||||
$this->serviceFactory = $serviceFactory;
|
||||
$this->metadata = $metadata;
|
||||
$this->user = $user;
|
||||
$this->acl = $acl;
|
||||
$this->aclManager = $aclManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Service<\Espo\ORM\Entity>
|
||||
*/
|
||||
public function create(string $entityType): Service
|
||||
{
|
||||
$obj = $this->createInternal($entityType);
|
||||
|
||||
$obj->setUser($this->user);
|
||||
$obj->setAcl($this->acl);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Service<\Espo\ORM\Entity>
|
||||
*/
|
||||
public function createForUser(string $entityType, User $user): Service
|
||||
{
|
||||
$obj = $this->createInternal($entityType);
|
||||
|
||||
$acl = $this->aclManager->createUserAcl($user);
|
||||
|
||||
$obj->setUser($user);
|
||||
$obj->setAcl($acl);
|
||||
|
||||
return $obj;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Service<\Espo\ORM\Entity>
|
||||
*/
|
||||
public function createInternal(string $entityType): Service
|
||||
{
|
||||
if (!$this->metadata->get(['scopes', $entityType, 'entity'])) {
|
||||
throw new Error("Can't create record service '{$entityType}', there's no such entity type.");
|
||||
}
|
||||
|
||||
if (!$this->serviceFactory->checkExists($entityType)) {
|
||||
return $this->createDefault($entityType);
|
||||
}
|
||||
|
||||
$service = $this->serviceFactory->createWith($entityType, ['entityType' => $entityType]);
|
||||
|
||||
if (!$service instanceof Service) {
|
||||
return $this->createDefault($entityType);
|
||||
}
|
||||
|
||||
return $service;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return Service<\Espo\ORM\Entity>
|
||||
*/
|
||||
private function createDefault(string $entityType): Service
|
||||
{
|
||||
$default = self::RECORD_SERVICE_NAME;
|
||||
|
||||
$type = $this->metadata->get(['scopes', $entityType, 'type']);
|
||||
|
||||
if ($type) {
|
||||
$default = $this->defaultTypeMap[$type] ?? $default;
|
||||
}
|
||||
|
||||
$obj = $this->serviceFactory->createWith($default, ['entityType' => $entityType]);
|
||||
|
||||
if (!$obj instanceof Service) {
|
||||
throw new RuntimeException("Service class {$default} is not instance of Record.");
|
||||
}
|
||||
|
||||
return $obj;
|
||||
}
|
||||
}
|
||||
@@ -38,7 +38,7 @@
|
||||
"type": "duration",
|
||||
"start": "dateStart",
|
||||
"end": "dateEnd",
|
||||
"options": [300, 600, 900, 1800, 2700, 3600, 7200],
|
||||
"options": [300, 600, 900, 1800, 2700, 3600, 7200, 10800],
|
||||
"default": 300,
|
||||
"notStorable": true,
|
||||
"select": {
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create {entityType}": "Създаване {entityTypeTranslated}"
|
||||
"Create {entityType}": "Създаване на {entityTypeTranslated}"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,10 @@
|
||||
{
|
||||
"links": {
|
||||
"meetings": "срещи",
|
||||
"calls": "призовава",
|
||||
"meetings": "Срещи",
|
||||
"calls": "Разговори",
|
||||
"tasks": "Задачи"
|
||||
},
|
||||
"labels": {
|
||||
"Create {entityType}": "Създаване {entityTypeTranslated}"
|
||||
"Create {entityType}": "Създаване на {entityTypeTranslated}"
|
||||
}
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"fields": {
|
||||
"billingAddress": "адрес на плащане",
|
||||
"billingAddress": "Адрес за плащане",
|
||||
"shippingAddress": "Адрес за доставка",
|
||||
"website": "уебсайт"
|
||||
"website": "Уебсайт"
|
||||
},
|
||||
"links": {
|
||||
"meetings": "срещи",
|
||||
"calls": "призовава",
|
||||
"meetings": "Срещи",
|
||||
"calls": "Обаждане",
|
||||
"tasks": "Задачи"
|
||||
},
|
||||
"labels": {
|
||||
"Create {entityType}": "Създаване {entityTypeTranslated}"
|
||||
"Create {entityType}": "Създаване на {entityTypeTranslated}"
|
||||
}
|
||||
}
|
||||
@@ -1,39 +1,39 @@
|
||||
{
|
||||
"fields": {
|
||||
"parent": "родител",
|
||||
"dateStart": "Дата Старт",
|
||||
"parent": "Родител",
|
||||
"dateStart": "Начална дата",
|
||||
"dateEnd": "Крайна дата",
|
||||
"duration": "продължителност",
|
||||
"duration": "Продължителност",
|
||||
"status": "Статус",
|
||||
"reminders": "Напомняния",
|
||||
"dateStartDate": "Дата Start (цял ден)",
|
||||
"dateStartDate": "Начална дата (цял ден)",
|
||||
"dateEndDate": "Крайна дата (цял ден)",
|
||||
"isAllDay": "Дали през целия ден"
|
||||
"isAllDay": "Цял ден"
|
||||
},
|
||||
"links": {
|
||||
"parent": "родител"
|
||||
"parent": "Родител"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Planned": "Планирано",
|
||||
"Held": "Държани",
|
||||
"Not Held": "Не държани"
|
||||
"Held": "Състояло се",
|
||||
"Not Held": "Несъстояло се"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create {entityType}": "Създаване {entityTypeTranslated}",
|
||||
"Schedule {entityType}": "График {entityTypeTranslated}",
|
||||
"Log {entityType}": "Вход {entityTypeTranslated}",
|
||||
"Set Held": "Задайте държани",
|
||||
"Set Not Held": "Задайте не се държат"
|
||||
"Create {entityType}": "Създаване на {entityTypeTranslated}",
|
||||
"Schedule {entityType}": "Насрочи {entityTypeTranslated}",
|
||||
"Log {entityType}": "Регистрирай {entityTypeTranslated}",
|
||||
"Set Held": "Задай като състояло се",
|
||||
"Set Not Held": "Задай като несъстояло се"
|
||||
},
|
||||
"massActions": {
|
||||
"setHeld": "Задайте държани",
|
||||
"setNotHeld": "Задайте не се държат"
|
||||
"setHeld": "Задай като състояло се",
|
||||
"setNotHeld": "Задай като несъстояло се"
|
||||
},
|
||||
"presetFilters": {
|
||||
"planned": "Планирано",
|
||||
"held": "Държани",
|
||||
"held": "Състояли се",
|
||||
"todays": "Днешните"
|
||||
}
|
||||
}
|
||||
@@ -1,13 +1,13 @@
|
||||
{
|
||||
"fields": {
|
||||
"address": "адрес"
|
||||
"address": "Адрес"
|
||||
},
|
||||
"links": {
|
||||
"meetings": "срещи",
|
||||
"calls": "призовава",
|
||||
"meetings": "Срещи",
|
||||
"calls": "Разговори",
|
||||
"tasks": "Задачи"
|
||||
},
|
||||
"labels": {
|
||||
"Create {entityType}": "Създаване {entityTypeTranslated}"
|
||||
"Create {entityType}": "Създаване на {entityTypeTranslated}"
|
||||
}
|
||||
}
|
||||
@@ -34,8 +34,8 @@ use Espo\Repositories\Attachment as AttachmentRepository;
|
||||
use Espo\Core\{
|
||||
Exceptions\NotFound,
|
||||
Exceptions\NotFoundSilent,
|
||||
Exceptions\Forbidden,
|
||||
Exceptions\BadRequest,
|
||||
Exceptions\ForbiddenSilent,
|
||||
Exceptions\Error,
|
||||
EntryPoint\EntryPoint,
|
||||
Acl,
|
||||
@@ -120,24 +120,24 @@ class Image implements EntryPoint
|
||||
}
|
||||
|
||||
if (!$disableAccessCheck && !$this->acl->checkEntity($attachment)) {
|
||||
throw new Forbidden();
|
||||
throw new ForbiddenSilent("No access to attachment.");
|
||||
}
|
||||
|
||||
$fileType = $attachment->get('type');
|
||||
|
||||
if (!in_array($fileType, $this->getAllowedFileTypeList())) {
|
||||
throw new Forbidden("Not allowed file type '{$fileType}'.");
|
||||
throw new ForbiddenSilent("Not allowed file type '{$fileType}'.");
|
||||
}
|
||||
|
||||
if ($this->allowedRelatedTypeList) {
|
||||
if (!in_array($attachment->get('relatedType'), $this->allowedRelatedTypeList)) {
|
||||
throw new NotFound();
|
||||
throw new NotFoundSilent();
|
||||
}
|
||||
}
|
||||
|
||||
if ($this->allowedFieldList) {
|
||||
if (!in_array($attachment->get('field'), $this->allowedFieldList)) {
|
||||
throw new NotFound();
|
||||
throw new NotFoundSilent();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
85
application/Espo/Hooks/LayoutSet/Removal.php
Normal file
85
application/Espo/Hooks/LayoutSet/Removal.php
Normal file
@@ -0,0 +1,85 @@
|
||||
<?php
|
||||
/************************************************************************
|
||||
* This file is part of EspoCRM.
|
||||
*
|
||||
* EspoCRM - Open Source CRM application.
|
||||
* Copyright (C) 2014-2022 Yurii Kuznietsov, Taras Machyshyn, Oleksii Avramenko
|
||||
* Website: https://www.espocrm.com
|
||||
*
|
||||
* EspoCRM is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* EspoCRM is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with EspoCRM. If not, see http://www.gnu.org/licenses/.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of this program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU General Public License version 3.
|
||||
*
|
||||
* In accordance with Section 7(b) of the GNU General Public License version 3,
|
||||
* these Appropriate Legal Notices must retain the display of the "EspoCRM" word.
|
||||
************************************************************************/
|
||||
|
||||
namespace Espo\Hooks\LayoutSet;
|
||||
|
||||
use Espo\ORM\Entity;
|
||||
use Espo\ORM\EntityManager;
|
||||
|
||||
use Espo\Entities\LayoutSet;
|
||||
use Espo\Entities\Team;
|
||||
use Espo\Entities\Portal;
|
||||
|
||||
class Removal
|
||||
{
|
||||
private EntityManager $entityManager;
|
||||
|
||||
public function __construct(EntityManager $entityManager)
|
||||
{
|
||||
$this->entityManager = $entityManager;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param LayoutSet $entity
|
||||
*/
|
||||
public function afterRemove(Entity $entity): void
|
||||
{
|
||||
$updateQuery1 = $this->entityManager
|
||||
->getQueryBuilder()
|
||||
->update()
|
||||
->in(Team::ENTITY_TYPE)
|
||||
->set([
|
||||
'layoutSetId' => null,
|
||||
])
|
||||
->where([
|
||||
'layoutSetId' => $entity->getId(),
|
||||
])
|
||||
->build();
|
||||
|
||||
$this->entityManager
|
||||
->getQueryExecutor()
|
||||
->execute($updateQuery1);
|
||||
|
||||
$updateQuery2 = $this->entityManager
|
||||
->getQueryBuilder()
|
||||
->update()
|
||||
->in(Portal::ENTITY_TYPE)
|
||||
->set([
|
||||
'layoutSetId' => null,
|
||||
])
|
||||
->where([
|
||||
'layoutSetId' => $entity->getId(),
|
||||
])
|
||||
->build();
|
||||
|
||||
$this->entityManager
|
||||
->getQueryExecutor()
|
||||
->execute($updateQuery2);
|
||||
}
|
||||
}
|
||||
@@ -1,104 +1,107 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"emailAddress": "електронна поща",
|
||||
"website": "уебсайт",
|
||||
"phoneNumber": "телефон",
|
||||
"billingAddress": "адрес на плащане",
|
||||
"name": "Име",
|
||||
"emailAddress": "Електронна поща",
|
||||
"website": "Уебсайт",
|
||||
"phoneNumber": "Телефон",
|
||||
"billingAddress": "Адрес за плащане",
|
||||
"shippingAddress": "Адрес за доставка",
|
||||
"description": "описание",
|
||||
"sicCode": "Sic Код",
|
||||
"industry": "промишленост",
|
||||
"description": "Описание",
|
||||
"sicCode": "SIC Код",
|
||||
"industry": "Промишленост",
|
||||
"type": "Тип",
|
||||
"contactRole": "Заглавие",
|
||||
"campaign": "кампания",
|
||||
"campaign": "Кампания",
|
||||
"targetLists": "Целеви списъци",
|
||||
"targetList": "Целева Списък",
|
||||
"originalLead": "Оригинален Lead",
|
||||
"contactIsInactive": "неактивен"
|
||||
"targetList": "Целеви списък",
|
||||
"originalLead": "Оригинална потенциална продажба",
|
||||
"contactIsInactive": "Неактивен"
|
||||
},
|
||||
"links": {
|
||||
"contacts": "Контакти",
|
||||
"opportunities": "възможности",
|
||||
"cases": "случаи",
|
||||
"opportunities": "Сделки",
|
||||
"cases": "Тикети",
|
||||
"documents": "Документи",
|
||||
"meetingsPrimary": "Заседания (разширена)",
|
||||
"callsPrimary": "Призовава (разширена)",
|
||||
"tasksPrimary": "Задачи (разширена)",
|
||||
"emailsPrimary": "Имейли (разширен)",
|
||||
"meetingsPrimary": "Срещи (разширено)",
|
||||
"callsPrimary": "Разговори (разширено)",
|
||||
"tasksPrimary": "Задачи (разширено)",
|
||||
"emailsPrimary": "Имейли (разширено)",
|
||||
"targetLists": "Целеви списъци",
|
||||
"campaignLogRecords": "кампания Вход",
|
||||
"campaign": "кампания",
|
||||
"portalUsers": "потребители на портала",
|
||||
"originalLead": "Оригинален Lead"
|
||||
"campaignLogRecords": "Логове на кампанията",
|
||||
"campaign": "Кампания",
|
||||
"portalUsers": "Потребители на портала",
|
||||
"originalLead": "Оригинална потенциална продажба",
|
||||
"contactsPrimary": "Контакти (основен)"
|
||||
},
|
||||
"options": {
|
||||
"type": {
|
||||
"Customer": "клиент",
|
||||
"Investor": "инвеститор",
|
||||
"Partner": "партньор"
|
||||
"Customer": "Клиент",
|
||||
"Investor": "Инвеститор",
|
||||
"Partner": "Партньор",
|
||||
"Reseller": "Реселър"
|
||||
},
|
||||
"industry": {
|
||||
"Agriculture": "селско стопанство",
|
||||
"Advertising": "реклама",
|
||||
"Agriculture": "Селско стопанство",
|
||||
"Advertising": "Реклама",
|
||||
"Apparel & Accessories": "Облекло & Аксесоари",
|
||||
"Automotive": "автомобилен",
|
||||
"Banking": "банково дело",
|
||||
"Biotechnology": "биотехнологии",
|
||||
"Automotive": "Автомобилна индустрия",
|
||||
"Banking": "Банково дело",
|
||||
"Biotechnology": "Биотехнологии",
|
||||
"Building Materials & Equipment": "Строителни материали и техника",
|
||||
"Chemical": "химически",
|
||||
"Computer": "компютър",
|
||||
"Education": "образование",
|
||||
"Electronics": "електроника",
|
||||
"Chemical": "Химическа индустрия",
|
||||
"Computer": "Компютърна индустрия",
|
||||
"Education": "Образование",
|
||||
"Electronics": "Електроника",
|
||||
"Energy": "Енергия",
|
||||
"Entertainment & Leisure": "Забавление и свободно време",
|
||||
"Finance": "Финанси",
|
||||
"Food & Beverage": "Храни и напитки",
|
||||
"Grocery": "хранителни стоки",
|
||||
"Grocery": "Хранителни стоки",
|
||||
"Healthcare": "Здравеопазване",
|
||||
"Insurance": "Застраховка",
|
||||
"Legal": "правен",
|
||||
"Manufacturing": "производство",
|
||||
"Publishing": "издаване",
|
||||
"Real Estate": "Недвижим имот",
|
||||
"Legal": "Правна индустрия",
|
||||
"Manufacturing": "Производство",
|
||||
"Publishing": "Издателска дейност",
|
||||
"Real Estate": "Недвижими имоти",
|
||||
"Service": "Обслужване",
|
||||
"Sports": "спортен",
|
||||
"Sports": "Спортни дейности",
|
||||
"Software": "Софтуер",
|
||||
"Technology": "технология",
|
||||
"Telecommunications": "телекомуникации",
|
||||
"Television": "телевизия",
|
||||
"Transportation": "транспорт",
|
||||
"Venture Capital": "рисков капитал",
|
||||
"Aerospace": "космически",
|
||||
"Architecture": "архитектура",
|
||||
"Construction": "строителство",
|
||||
"Defense": "отбрана",
|
||||
"Creative": "творчески",
|
||||
"Culture": "култура",
|
||||
"Technology": "Технологии",
|
||||
"Telecommunications": "Телекомуникации",
|
||||
"Television": "Телевизия",
|
||||
"Transportation": "Транспорт",
|
||||
"Venture Capital": "Рисков капитал",
|
||||
"Aerospace": "Авиокосмически",
|
||||
"Architecture": "Архитектура",
|
||||
"Construction": "Строителство",
|
||||
"Defense": "Отбрана",
|
||||
"Creative": "Творчески",
|
||||
"Culture": "Култура",
|
||||
"Consulting": "Консултации",
|
||||
"Electric Power": "Електрическа енергия",
|
||||
"Hospitality": "гостоприемство",
|
||||
"Mass Media": "Средства за масова информация",
|
||||
"Mining": "Минен",
|
||||
"Music": "музика",
|
||||
"Marketing": "маркетинг",
|
||||
"Petroleum": "петролен",
|
||||
"Retail": "На дребно",
|
||||
"Shipping": "Доставка",
|
||||
"Support": "поддържа",
|
||||
"Hospitality": "Болници",
|
||||
"Mass Media": "Масови медии",
|
||||
"Mining": "Минно дело",
|
||||
"Music": "Музика",
|
||||
"Marketing": "Маркетинг",
|
||||
"Petroleum": "Петролен бизнес",
|
||||
"Retail": "Търговия на дребно",
|
||||
"Shipping": "Спедиция",
|
||||
"Support": "Поддръжка",
|
||||
"Testing, Inspection & Certification": "Тестване, контрол и сертификация",
|
||||
"Wholesale": "на едро",
|
||||
"Water": "вода",
|
||||
"Travel": "пътуване"
|
||||
"Wholesale": "Търговия на едро",
|
||||
"Water": "Вода",
|
||||
"Travel": "Пътуване"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create Account": "Създай акаунт",
|
||||
"Copy Billing": "Копие за фактуриране",
|
||||
"Set Primary": "Комплект Основно"
|
||||
"Create Account": "Създаване на клиент",
|
||||
"Copy Billing": "Пренасяне на данните",
|
||||
"Set Primary": "Задай като основен"
|
||||
},
|
||||
"presetFilters": {
|
||||
"customers": "Клиенти",
|
||||
"partners": "Партньори",
|
||||
"recentlyCreated": "Наскоро Създадени"
|
||||
"recentlyCreated": "Наскоро създадени"
|
||||
}
|
||||
}
|
||||
@@ -1,11 +1,11 @@
|
||||
{
|
||||
"layouts": {
|
||||
"detailConvert": "Конвертиране",
|
||||
"listForAccount": "Списък (за сметка)",
|
||||
"listForAccount": "Списък (за клиент)",
|
||||
"listForContact": "Списък (за контакти)"
|
||||
},
|
||||
"templates": {
|
||||
"invitation": "покана",
|
||||
"reminder": "напомняне"
|
||||
"invitation": "Покана",
|
||||
"reminder": "Напомняне"
|
||||
}
|
||||
}
|
||||
@@ -1,21 +1,22 @@
|
||||
{
|
||||
"modes": {
|
||||
"month": "месец",
|
||||
"week": "седмица",
|
||||
"agendaWeek": "седмица",
|
||||
"day": "ден",
|
||||
"agendaDay": "ден"
|
||||
"month": "Месец",
|
||||
"week": "Седмица",
|
||||
"agendaWeek": "Седмица",
|
||||
"day": "Ден",
|
||||
"agendaDay": "Ден",
|
||||
"timeline": "Хронология"
|
||||
},
|
||||
"labels": {
|
||||
"Today": "днес",
|
||||
"Create": "създавам",
|
||||
"Shared": "Споделено",
|
||||
"Today": "Днес",
|
||||
"Create": "Създаване",
|
||||
"Shared": "Споделено с други потребители",
|
||||
"Add User": "Добавяне на потребител",
|
||||
"current": "текущ",
|
||||
"time": "път",
|
||||
"current": "Текущ",
|
||||
"time": "време",
|
||||
"User List": "Списък с потребители",
|
||||
"Manage Users": "Управление на потребителите",
|
||||
"View Calendar": "Вижте Календар",
|
||||
"Create Shared View": "Създаване на споделена View"
|
||||
"View Calendar": "Вижте календара",
|
||||
"Create Shared View": "Създаване на споделен изглед"
|
||||
}
|
||||
}
|
||||
@@ -1,50 +1,50 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"parent": "родител",
|
||||
"name": "Име",
|
||||
"parent": "Родител",
|
||||
"status": "Статус",
|
||||
"dateStart": "Дата Старт",
|
||||
"dateStart": "Начална дата",
|
||||
"dateEnd": "Крайна дата",
|
||||
"direction": "Посока",
|
||||
"duration": "продължителност",
|
||||
"description": "описание",
|
||||
"duration": "Продължителност",
|
||||
"description": "Описание",
|
||||
"users": "Потребители",
|
||||
"contacts": "Контакти",
|
||||
"leads": "Потенциална Продажба",
|
||||
"leads": "Потенциални продажби",
|
||||
"reminders": "Напомняния",
|
||||
"account": "Сметка",
|
||||
"acceptanceStatus": "Приемане Статус"
|
||||
"account": "Клиент",
|
||||
"acceptanceStatus": "Статус за приемане"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Planned": "Планирано",
|
||||
"Held": "Държани",
|
||||
"Not Held": "Не държани"
|
||||
"Planned": "Планирани",
|
||||
"Held": "Състояли се",
|
||||
"Not Held": "Несъстояли се"
|
||||
},
|
||||
"direction": {
|
||||
"Outbound": "Изходяща",
|
||||
"Outbound": "Изходящ",
|
||||
"Inbound": "Входящ"
|
||||
},
|
||||
"acceptanceStatus": {
|
||||
"None": "Нито един",
|
||||
"Accepted": "общоприет",
|
||||
"Declined": "Отхвърлена",
|
||||
"Tentative": "Експериментален"
|
||||
"Accepted": "Прието",
|
||||
"Declined": "Пропуснато",
|
||||
"Tentative": "Колеблив"
|
||||
}
|
||||
},
|
||||
"massActions": {
|
||||
"setHeld": "Задайте държани",
|
||||
"setNotHeld": "Задайте не се държат"
|
||||
"setHeld": "Задай като състоял се",
|
||||
"setNotHeld": "Задай като несъстоял се"
|
||||
},
|
||||
"labels": {
|
||||
"Create Call": "Създаване на Call",
|
||||
"Set Held": "Задайте държани",
|
||||
"Set Not Held": "Задайте не се държат",
|
||||
"Create Call": "Създаване на Разговор",
|
||||
"Set Held": "Задай като състоял се",
|
||||
"Set Not Held": "Задай като несъстоял се",
|
||||
"Send Invitations": "Изпращането на покани"
|
||||
},
|
||||
"presetFilters": {
|
||||
"planned": "Планирано",
|
||||
"held": "Държани",
|
||||
"planned": "Планирани",
|
||||
"held": "Състояли се",
|
||||
"todays": "Днешните"
|
||||
}
|
||||
}
|
||||
@@ -1,61 +1,62 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"description": "описание",
|
||||
"name": "Име",
|
||||
"description": "Описание",
|
||||
"status": "Статус",
|
||||
"type": "Тип",
|
||||
"startDate": "Начална дата",
|
||||
"endDate": "Крайна дата",
|
||||
"targetLists": "Целеви списъци",
|
||||
"excludingTargetLists": "С изключение на целевите списъци",
|
||||
"sentCount": "Изпратено",
|
||||
"openedCount": "Отворен",
|
||||
"clickedCount": "Кликване",
|
||||
"optedOutCount": "Отказахте се",
|
||||
"bouncedCount": "Върната",
|
||||
"hardBouncedCount": "Hard Върната",
|
||||
"softBouncedCount": "Мека Върната",
|
||||
"leadCreatedCount": "Създадена Потенциална Продажба",
|
||||
"revenue": "приход",
|
||||
"revenueConverted": "Приходите (изчислена)",
|
||||
"budget": "бюджет",
|
||||
"budgetConverted": "Бюджет (изчислена)",
|
||||
"contactsTemplate": "Контакти с шаблони",
|
||||
"leadsTemplate": "Leads Шаблон",
|
||||
"accountsTemplate": "сметки за шаблони",
|
||||
"usersTemplate": "Потребителите на шаблона",
|
||||
"mailMergeOnlyWithAddress": "Напред записи / М попълнено адрес",
|
||||
"sentCount": "Изпратени",
|
||||
"openedCount": "Отваряния",
|
||||
"clickedCount": "Кликвания",
|
||||
"optedOutCount": "Отписали се",
|
||||
"bouncedCount": "Неуспешно получени",
|
||||
"hardBouncedCount": "Неуспешно получени",
|
||||
"softBouncedCount": "Неуспешно получени",
|
||||
"leadCreatedCount": "Генерирани потенциални продажби",
|
||||
"revenue": "Приход",
|
||||
"revenueConverted": "Приходи (изчислени)",
|
||||
"budget": "Бюджет",
|
||||
"budgetConverted": "Бюджет (изчислен)",
|
||||
"contactsTemplate": "Шаблон за контакти",
|
||||
"leadsTemplate": "Шаблон за потенциална продажба",
|
||||
"accountsTemplate": "Шаблон за Клиенти",
|
||||
"usersTemplate": "Шаблон за потребители",
|
||||
"mailMergeOnlyWithAddress": "Пропускане на записи без попълнен адрес",
|
||||
"optedInCount": "Избрал участие",
|
||||
"budgetCurrency": "Бюджет на валута"
|
||||
"budgetCurrency": "Валута на бюджета"
|
||||
},
|
||||
"links": {
|
||||
"targetLists": "Целеви списъци",
|
||||
"excludingTargetLists": "С изключение на целевите списъци",
|
||||
"accounts": "сметки",
|
||||
"accounts": "Клиенти",
|
||||
"contacts": "Контакти",
|
||||
"leads": "Потенциална Продажба",
|
||||
"opportunities": "възможности",
|
||||
"leads": "Потенциални продажби",
|
||||
"opportunities": "Сделки",
|
||||
"campaignLogRecords": "Вход",
|
||||
"massEmails": "Масови имейли",
|
||||
"trackingUrls": "Проследяване на URL адреси",
|
||||
"contactsTemplate": "Контакти с шаблони",
|
||||
"leadsTemplate": "Leads Шаблон",
|
||||
"accountsTemplate": "сметки за шаблони",
|
||||
"contactsTemplate": "Шаблон за контакти",
|
||||
"leadsTemplate": "Шаблон за потенциални продажби",
|
||||
"accountsTemplate": "Шаблон за Клиенти",
|
||||
"usersTemplate": "Потребителите на шаблона"
|
||||
},
|
||||
"options": {
|
||||
"type": {
|
||||
"Email": "електронна поща",
|
||||
"Web": "мрежа",
|
||||
"Television": "телевизия",
|
||||
"Radio": "радио",
|
||||
"Mail": "поща"
|
||||
"Email": "Електронна поща",
|
||||
"Web": "Интернет",
|
||||
"Television": "Телевизия",
|
||||
"Radio": "Радио",
|
||||
"Newsletter": "Имейл бюлетин",
|
||||
"Mail": "Електронна поща"
|
||||
},
|
||||
"status": {
|
||||
"Planning": "планиране",
|
||||
"Active": "Активен",
|
||||
"Inactive": "неактивен",
|
||||
"Complete": "пълен"
|
||||
"Planning": "Планиране",
|
||||
"Active": "Активна",
|
||||
"Inactive": "Неактивна",
|
||||
"Complete": "Завършена"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
@@ -66,18 +67,19 @@
|
||||
"soft": "мек",
|
||||
"Unsubscribe": "Отписване",
|
||||
"Mass Emails": "Масови имейли",
|
||||
"Email Templates": "Шаблони за имейл",
|
||||
"Email Templates": "Шаблони за имейли",
|
||||
"Unsubscribe again": "Отписване отново",
|
||||
"Subscribe again": "Абонирайте се отново",
|
||||
"Create Target List": "Създаване на Target Списък",
|
||||
"Generate Mail Merge PDF": "Генериране на циркулярни PDF"
|
||||
"Create Target List": "Създаване на целеви списък",
|
||||
"Mail Merge": "Сливане на имейли",
|
||||
"Generate Mail Merge PDF": "Генериране на Mail Merge PDF"
|
||||
},
|
||||
"presetFilters": {
|
||||
"active": "Активен"
|
||||
},
|
||||
"messages": {
|
||||
"unsubscribed": "Отписахте се от нашия пощенски списък.",
|
||||
"subscribedAgain": "Абонирани сте отново."
|
||||
"unsubscribed": "Отписахте се от нашия имейл бюлетин",
|
||||
"subscribedAgain": "Абонирахте се отново."
|
||||
},
|
||||
"tooltips": {
|
||||
"targetLists": "Цели, които трябва да получават съобщения.",
|
||||
|
||||
@@ -1,42 +1,44 @@
|
||||
{
|
||||
"fields": {
|
||||
"action": "действие",
|
||||
"action": "Действия",
|
||||
"actionDate": "Дата",
|
||||
"data": "Данни",
|
||||
"campaign": "кампания",
|
||||
"campaign": "Кампания",
|
||||
"parent": "Цел",
|
||||
"object": "обект",
|
||||
"object": "Обект",
|
||||
"application": "Приложение",
|
||||
"queueItem": "опашка Точка",
|
||||
"stringAdditionalData": "String Допълнителна данни"
|
||||
"queueItem": "Елементи в опашката",
|
||||
"stringData": "Низови данни",
|
||||
"stringAdditionalData": "Допълнителни низови данни",
|
||||
"isTest": "Е тестов"
|
||||
},
|
||||
"links": {
|
||||
"queueItem": "опашка Точка",
|
||||
"parent": "родител",
|
||||
"object": "обект",
|
||||
"campaign": "кампания"
|
||||
"queueItem": "Елементи в опашката",
|
||||
"parent": "Родител",
|
||||
"object": "Обект",
|
||||
"campaign": "Кампания"
|
||||
},
|
||||
"options": {
|
||||
"action": {
|
||||
"Sent": "Изпратено",
|
||||
"Opened": "Отворен",
|
||||
"Opted Out": "Отказахте се",
|
||||
"Bounced": "Върната",
|
||||
"Clicked": "Кликване",
|
||||
"Lead Created": "Създадена Потенциална Продажба",
|
||||
"Sent": "Изпратени",
|
||||
"Opened": "Отворени",
|
||||
"Opted Out": "Отписали се",
|
||||
"Bounced": "Неуспешно получени",
|
||||
"Clicked": "Кликнали",
|
||||
"Lead Created": "Създадени потенциални продажби",
|
||||
"Opted In": "Избрал участие"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"All": "всичко"
|
||||
"All": "Всички"
|
||||
},
|
||||
"presetFilters": {
|
||||
"sent": "Изпратено",
|
||||
"opened": "Отворен",
|
||||
"optedOut": "Отказахте се",
|
||||
"bounced": "Върната",
|
||||
"clicked": "Кликване",
|
||||
"leadCreated": "Създадена Потенциална Продажба",
|
||||
"sent": "Изпратени",
|
||||
"opened": "Отворени",
|
||||
"optedOut": "Отказали се",
|
||||
"bounced": "Неуспешно получени",
|
||||
"clicked": "Кликвани",
|
||||
"leadCreated": "Създадени потенциални продажби",
|
||||
"optedIn": "Избрал участие"
|
||||
}
|
||||
}
|
||||
@@ -1,12 +1,12 @@
|
||||
{
|
||||
"fields": {
|
||||
"urlToUse": "Код за вмъкване вместо URL",
|
||||
"campaign": "кампания",
|
||||
"action": "действие",
|
||||
"message": "съобщение"
|
||||
"campaign": "Кампания",
|
||||
"action": "Действие",
|
||||
"message": "Съобщение"
|
||||
},
|
||||
"links": {
|
||||
"campaign": "кампания"
|
||||
"campaign": "Кампания"
|
||||
},
|
||||
"labels": {
|
||||
"Create CampaignTrackingUrl": "Създаване на URL адрес за проследяване"
|
||||
@@ -18,7 +18,7 @@
|
||||
}
|
||||
},
|
||||
"tooltips": {
|
||||
"url": "Получателят ще бъдат пренасочени към това място, след като следвайте връзката.",
|
||||
"message": "Съобщението ще бъде показан на получателя, след като следвайте връзката. Markdown се поддържа."
|
||||
"url": "Получателят ще бъде пренасочен към този URL, след като кликне на връзката.",
|
||||
"message": "Съобщението ще бъде показано на получателя, след като кликне на връзката. Markdown се поддържа."
|
||||
}
|
||||
}
|
||||
@@ -1,60 +1,61 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"number": "номер",
|
||||
"name": "Име",
|
||||
"number": "Номер",
|
||||
"status": "Статус",
|
||||
"account": "Сметка",
|
||||
"contact": "контакт",
|
||||
"contact": "Контакт",
|
||||
"contacts": "Контакти",
|
||||
"priority": "приоритет",
|
||||
"priority": "Приоритет",
|
||||
"type": "Тип",
|
||||
"description": "описание",
|
||||
"lead": "Потенциална Продажба",
|
||||
"attachments": "Прикачени",
|
||||
"inboundEmail": "Група имейл акаунт"
|
||||
"description": "Описание",
|
||||
"lead": "Потенциална продажба",
|
||||
"attachments": "Прикачени файлове",
|
||||
"inboundEmail": "Групов имейл акаунт"
|
||||
},
|
||||
"links": {
|
||||
"account": "Сметка",
|
||||
"contact": "Свържи (Основно)",
|
||||
"account": "Клиент",
|
||||
"contact": "Контакт (Основен)",
|
||||
"Contacts": "Контакти",
|
||||
"meetings": "срещи",
|
||||
"calls": "призовава",
|
||||
"meetings": "Срещи",
|
||||
"calls": "Обаждания",
|
||||
"tasks": "Задачи",
|
||||
"emails": "имейли",
|
||||
"emails": "Имейли",
|
||||
"articles": "Статии от базата знания",
|
||||
"lead": "Потенциална Продажба",
|
||||
"attachments": "Прикачени",
|
||||
"inboundEmail": "Група имейл акаунт"
|
||||
"lead": "Потенциална продажба",
|
||||
"attachments": "Прикачени файлове",
|
||||
"inboundEmail": "Групов имейл акаунт"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"New": "нов",
|
||||
"Assigned": "целеви",
|
||||
"Pending": "Предстоящо",
|
||||
"Closed": "Затворена",
|
||||
"Rejected": "Отхвърлени"
|
||||
"New": "Нов",
|
||||
"Assigned": "Назначен",
|
||||
"Pending": "Отворен",
|
||||
"Closed": "Затворен",
|
||||
"Rejected": "Отхвърлен",
|
||||
"Duplicate": "Дублиран"
|
||||
},
|
||||
"priority": {
|
||||
"Low": "ниско",
|
||||
"Normal": "нормален",
|
||||
"High": "Високо",
|
||||
"Urgent": "спешно"
|
||||
"Low": "Нисък",
|
||||
"Normal": "Нормален",
|
||||
"High": "Висок",
|
||||
"Urgent": "Спешен"
|
||||
},
|
||||
"type": {
|
||||
"Question": "въпрос",
|
||||
"Question": "Въпрос",
|
||||
"Incident": "Инцидент",
|
||||
"Problem": "проблем"
|
||||
"Problem": "Проблем"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create Case": "Създаване на дело",
|
||||
"Close": "Близо",
|
||||
"Create Case": "Създаване на тикет",
|
||||
"Close": "Затваряне",
|
||||
"Reject": "Отхвърляне",
|
||||
"Closed": "Затворена",
|
||||
"Rejected": "Отхвърлени"
|
||||
"Closed": "Затворен",
|
||||
"Rejected": "Отхвърлен"
|
||||
},
|
||||
"presetFilters": {
|
||||
"open": "отворено",
|
||||
"closed": "Затворена"
|
||||
"open": "Отворени",
|
||||
"closed": "Затворени"
|
||||
}
|
||||
}
|
||||
@@ -1,38 +1,39 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"emailAddress": "електронна поща",
|
||||
"name": "Име",
|
||||
"emailAddress": "Електронна поща",
|
||||
"accountRole": "Заглавие",
|
||||
"account": "Сметка",
|
||||
"accounts": "сметки",
|
||||
"phoneNumber": "телефон",
|
||||
"account": "Клиент",
|
||||
"accounts": "Клиенти",
|
||||
"phoneNumber": "Телефон",
|
||||
"accountType": "Тип на профила",
|
||||
"doNotCall": "Не звъни",
|
||||
"address": "адрес",
|
||||
"opportunityRole": "възможност Роля",
|
||||
"description": "описание",
|
||||
"campaign": "кампания",
|
||||
"address": "Адрес",
|
||||
"opportunityRole": "Роля в сделка",
|
||||
"description": "Описание",
|
||||
"campaign": "Кампания",
|
||||
"targetLists": "Целеви списъци",
|
||||
"targetList": "Целева Списък",
|
||||
"portalUser": "портал за потребителя",
|
||||
"originalLead": "Оригинален Lead",
|
||||
"acceptanceStatus": "Приемане Статус",
|
||||
"accountIsInactive": "неактивен акаунт",
|
||||
"acceptanceStatusMeetings": "Приемане Статус (срещи)",
|
||||
"acceptanceStatusCalls": "Приемане Статус (призовава)",
|
||||
"title": "Основно заглавие на профила"
|
||||
"portalUser": "Потребител на портал",
|
||||
"originalLead": "Оригинална потенциална продажба",
|
||||
"acceptanceStatus": "Статус за приемане",
|
||||
"accountIsInactive": "Неактивен клиент",
|
||||
"acceptanceStatusMeetings": "Статус на приемане (Срещи)",
|
||||
"acceptanceStatusCalls": "Статус на приемане (Разговори)",
|
||||
"title": "Роля при клиент",
|
||||
"hasPortalUser": "Притежава акаунт в портала"
|
||||
},
|
||||
"links": {
|
||||
"opportunities": "възможности",
|
||||
"cases": "случаи",
|
||||
"opportunities": "Сделки",
|
||||
"cases": "Тикети",
|
||||
"targetLists": "Целеви списъци",
|
||||
"campaignLogRecords": "кампания Вход",
|
||||
"campaign": "кампания",
|
||||
"account": "Сметката (Основно)",
|
||||
"accounts": "сметки",
|
||||
"casesPrimary": "Случаи (Основно)",
|
||||
"portalUser": "портал за потребителя",
|
||||
"originalLead": "Оригинален Lead",
|
||||
"campaignLogRecords": "Логове от кампания",
|
||||
"campaign": "Кампания",
|
||||
"account": "Клиент (Основен)",
|
||||
"accounts": "Клиенти",
|
||||
"casesPrimary": "Тикети (Основни)",
|
||||
"portalUser": "Потребител в портал",
|
||||
"originalLead": "Оригинална потенциална продажба",
|
||||
"documents": "Документи",
|
||||
"tasksPrimary": "Задачи (разширена)",
|
||||
"opportunitiesPrimary": "Възможности (Основно)"
|
||||
@@ -42,12 +43,13 @@
|
||||
},
|
||||
"options": {
|
||||
"opportunityRole": {
|
||||
"Decision Maker": "Решение Maker",
|
||||
"Evaluator": "оценител"
|
||||
"Decision Maker": "Вземащ решения",
|
||||
"Evaluator": "Оценител",
|
||||
"Influencer": "Инфлуенсър"
|
||||
}
|
||||
},
|
||||
"presetFilters": {
|
||||
"portalUsers": "потребители на портала",
|
||||
"portalUsers": "Потребители на портала",
|
||||
"notPortalUsers": "Не потребители на портала",
|
||||
"accountActive": "Активен"
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
{
|
||||
"fields": {
|
||||
"futureDays": "Следваща X Дни",
|
||||
"useLastStage": "Група от миналата достигна етап"
|
||||
"futureDays": "Следващите X Дни",
|
||||
"useLastStage": "Групиране по последната фаза",
|
||||
"team": "Отдел"
|
||||
}
|
||||
}
|
||||
@@ -1,41 +1,42 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create Document": "Създаване на документ",
|
||||
"Details": "детайли"
|
||||
"Details": "Детайли"
|
||||
},
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"name": "Име",
|
||||
"status": "Статус",
|
||||
"file": "досие",
|
||||
"file": "Файл",
|
||||
"type": "Тип",
|
||||
"publishDate": "Дата на публикуване",
|
||||
"expirationDate": "Срок на годност",
|
||||
"description": "описание",
|
||||
"accounts": "сметки",
|
||||
"folder": "папка"
|
||||
"expirationDate": "Срок на валидност",
|
||||
"description": "Описание",
|
||||
"accounts": "Клиенти",
|
||||
"folder": "Папка"
|
||||
},
|
||||
"links": {
|
||||
"accounts": "сметки",
|
||||
"opportunities": "възможности",
|
||||
"folder": "папка",
|
||||
"accounts": "Клиенти",
|
||||
"opportunities": "Сделки",
|
||||
"folder": "Папка",
|
||||
"leads": "Потенциални продажби",
|
||||
"contacts": "Контакти"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Active": "Активен",
|
||||
"Draft": "проект",
|
||||
"Expired": "Просрочен",
|
||||
"Draft": "Чернова",
|
||||
"Expired": "Изтекъл",
|
||||
"Canceled": "Отменен"
|
||||
},
|
||||
"type": {
|
||||
"": "Нито един",
|
||||
"Contract": "Договор",
|
||||
"NDA": "ЕБК",
|
||||
"NDA": "Споразумение за неразкриване на информация",
|
||||
"License Agreement": "Лицензионно споразумение"
|
||||
}
|
||||
},
|
||||
"presetFilters": {
|
||||
"active": "Активен",
|
||||
"draft": "проект"
|
||||
"active": "Активни",
|
||||
"draft": "Чернови"
|
||||
}
|
||||
}
|
||||
@@ -1,10 +1,13 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create Lead": "Създаване на олово",
|
||||
"Create Lead": "Създаване на потенциална продажба",
|
||||
"Create Contact": "Създаване на контакт",
|
||||
"Create Task": "Създаване на Task",
|
||||
"Create Case": "Създаване на дело",
|
||||
"Add to Contact": "Добави към контакти",
|
||||
"Add to Lead": "Добави в Lead"
|
||||
"Create Task": "Създаване на задача",
|
||||
"Create Case": "Създаване на тикет",
|
||||
"Add to Contact": "Добави към контакт",
|
||||
"Add to Lead": "Добави към потенциална продажба"
|
||||
},
|
||||
"fields": {
|
||||
"tasks": "Задачи"
|
||||
}
|
||||
}
|
||||
@@ -1,28 +1,29 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"name": "Име",
|
||||
"status": "Статус",
|
||||
"target": "Цел",
|
||||
"sentAt": "Дата на изпращане",
|
||||
"attemptCount": "Опити",
|
||||
"emailAddress": "Имейл адрес",
|
||||
"massEmail": "Маса Email"
|
||||
"massEmail": "Масов имейл",
|
||||
"isTest": "Е тестов"
|
||||
},
|
||||
"links": {
|
||||
"target": "Цел",
|
||||
"massEmail": "Маса Email"
|
||||
"massEmail": "Масов имейл"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Pending": "Предстоящо",
|
||||
"Sent": "Изпратено",
|
||||
"Failed": "Се провали",
|
||||
"Pending": "Предстоящ",
|
||||
"Sent": "Изпратен",
|
||||
"Failed": "Провален",
|
||||
"Sending": "Изпращане"
|
||||
}
|
||||
},
|
||||
"presetFilters": {
|
||||
"pending": "Предстоящо",
|
||||
"sent": "Изпратено",
|
||||
"failed": "Се провали"
|
||||
"pending": "Предстоящ",
|
||||
"sent": "Изпратен",
|
||||
"failed": "Провален"
|
||||
}
|
||||
}
|
||||
@@ -1,103 +1,108 @@
|
||||
{
|
||||
"links": {
|
||||
"parent": "родител",
|
||||
"parent": "Родител",
|
||||
"contacts": "Контакти",
|
||||
"opportunities": "възможности",
|
||||
"meetings": "срещи",
|
||||
"calls": "призовава",
|
||||
"opportunities": "Сделки",
|
||||
"leads": "Потенциална продажба",
|
||||
"meetings": "Срещи",
|
||||
"calls": "Обаждане",
|
||||
"tasks": "Задачи",
|
||||
"emails": "имейли",
|
||||
"accounts": "сметки",
|
||||
"cases": "случаи",
|
||||
"emails": "Имейли",
|
||||
"accounts": "Клиенти",
|
||||
"cases": "Тикети",
|
||||
"documents": "Документи",
|
||||
"account": "Сметка",
|
||||
"contact": "контакт"
|
||||
"account": "Клиент",
|
||||
"opportunity": "Сделка",
|
||||
"contact": "Контакт"
|
||||
},
|
||||
"scopeNames": {
|
||||
"Account": "Сметка",
|
||||
"Contact": "контакт",
|
||||
"Lead": "Водя",
|
||||
"Account": "Клиент",
|
||||
"Contact": "Контакт",
|
||||
"Lead": "Потенциална продажба",
|
||||
"Target": "Цел",
|
||||
"Opportunity": "Възможност",
|
||||
"Meeting": "Среща",
|
||||
"Calendar": "календар",
|
||||
"Calendar": "Календар",
|
||||
"Call": "Обадете се",
|
||||
"Task": "задача",
|
||||
"Case": "случай",
|
||||
"Document": "документ",
|
||||
"DocumentFolder": "Документ Папка",
|
||||
"Campaign": "кампания",
|
||||
"TargetList": "Целева Списък",
|
||||
"MassEmail": "Маса Email",
|
||||
"EmailQueueItem": "Email Queue Точка",
|
||||
"CampaignTrackingUrl": "проследяване на URL",
|
||||
"Activities": "дейности",
|
||||
"KnowledgeBaseArticle": "Статия от Базата знания",
|
||||
"KnowledgeBaseCategory": "Базата знания Категория",
|
||||
"CampaignLogRecord": "Вход Запис на кампанията"
|
||||
"Task": "Задача",
|
||||
"Case": "Тикет",
|
||||
"Document": "Документ",
|
||||
"DocumentFolder": "Папка с документи",
|
||||
"Campaign": "Кампания",
|
||||
"TargetList": "Целеви списък",
|
||||
"MassEmail": "Масов имейл",
|
||||
"EmailQueueItem": "Имейл - елементи от опашката",
|
||||
"CampaignTrackingUrl": "Проследяване на URL",
|
||||
"Activities": "Активности",
|
||||
"KnowledgeBaseArticle": "Статия от документацията",
|
||||
"KnowledgeBaseCategory": "Категория от документацията",
|
||||
"CampaignLogRecord": "Запис в дневника на кампанията"
|
||||
},
|
||||
"scopeNamesPlural": {
|
||||
"Account": "сметки",
|
||||
"Account": "Клиенти",
|
||||
"Contact": "Контакти",
|
||||
"Lead": "Потенциални продажби",
|
||||
"Target": "Цели",
|
||||
"Opportunity": "възможности",
|
||||
"Meeting": "срещи",
|
||||
"Calendar": "календар",
|
||||
"Call": "призовава",
|
||||
"Opportunity": "Сделки",
|
||||
"Meeting": "Срещи",
|
||||
"Calendar": "Календар",
|
||||
"Call": "Обаждания",
|
||||
"Task": "Задачи",
|
||||
"Case": "случаи",
|
||||
"Case": "Тикети",
|
||||
"Document": "Документи",
|
||||
"DocumentFolder": "Документ папки",
|
||||
"DocumentFolder": "Папки за документи",
|
||||
"Campaign": "Кампании",
|
||||
"TargetList": "Целеви списъци",
|
||||
"MassEmail": "Масови имейли",
|
||||
"EmailQueueItem": "Изпратете елемента от опашка",
|
||||
"CampaignTrackingUrl": "Проследяване на URL адреси",
|
||||
"Activities": "дейности",
|
||||
"KnowledgeBaseArticle": "Знание",
|
||||
"KnowledgeBaseCategory": "Базата знания Категории",
|
||||
"CampaignLogRecord": "Кампания Вход Records"
|
||||
"Activities": "Активности",
|
||||
"KnowledgeBaseArticle": "Документация",
|
||||
"KnowledgeBaseCategory": "Категории за документация",
|
||||
"CampaignLogRecord": "Записи в дневника на кампанията"
|
||||
},
|
||||
"dashlets": {
|
||||
"Leads": "Моите Leads",
|
||||
"Opportunities": "Моите възможности",
|
||||
"Leads": "Моите потенциални продажби",
|
||||
"Opportunities": "Моите сделки",
|
||||
"Tasks": "Моите задачи",
|
||||
"Cases": "Мои случаи",
|
||||
"Calendar": "календар",
|
||||
"Calls": "Моите призовава",
|
||||
"Cases": "Моите тикети",
|
||||
"Calendar": "Календар",
|
||||
"Calls": "Моите oбаждания",
|
||||
"Meetings": "Моите срещи",
|
||||
"OpportunitiesByStage": "Възможности от Етап",
|
||||
"OpportunitiesByLeadSource": "Възможности от преднината Източник",
|
||||
"SalesByMonth": "Продажбите на месец",
|
||||
"SalesPipeline": "процеса на продажбите",
|
||||
"OpportunitiesByStage": "Сделки по статуси",
|
||||
"OpportunitiesByLeadSource": "Сделки по източник",
|
||||
"SalesByMonth": "Продажбите по месец",
|
||||
"SalesPipeline": "Процеса на продажбите",
|
||||
"Activities": "Моите дейности"
|
||||
},
|
||||
"labels": {
|
||||
"Create InboundEmail": "Създаване Входящ Email",
|
||||
"Activities": "дейности",
|
||||
"History": "история",
|
||||
"Attendees": "Присъстващите",
|
||||
"Schedule Meeting": "График Среща",
|
||||
"Schedule Call": "График Call",
|
||||
"Compose Email": "Състави имейл",
|
||||
"Log Meeting": "Вход Среща",
|
||||
"Log Call": "Вход Call",
|
||||
"Archive Email": "Архив Email",
|
||||
"Create Task": "Създаване на Task",
|
||||
"Tasks": "Задачи"
|
||||
"Create InboundEmail": "Създаване на входящ имейл",
|
||||
"Activities": "Активности",
|
||||
"History": "История",
|
||||
"Attendees": "Присъстващи",
|
||||
"Schedule Meeting": "Насрочване на среща",
|
||||
"Schedule Call": "Насрочване на разговор",
|
||||
"Compose Email": "Създаване на имейл",
|
||||
"Log Meeting": "Регистриране на среща",
|
||||
"Log Call": "Регистриране на разговор",
|
||||
"Archive Email": "Архивиране на имейл",
|
||||
"Create Task": "Създаване на задача",
|
||||
"Tasks": "Задачи",
|
||||
"Scheduler": "График"
|
||||
},
|
||||
"fields": {
|
||||
"billingAddressCity": "град",
|
||||
"addressCity": "град",
|
||||
"billingAddressCountry": "Страна",
|
||||
"addressCountry": "Страна",
|
||||
"billingAddressPostalCode": "пощенски код",
|
||||
"addressPostalCode": "пощенски код",
|
||||
"billingAddressState": "състояние",
|
||||
"addressState": "състояние",
|
||||
"billingAddressStreet": "улица",
|
||||
"addressStreet": "улица",
|
||||
"billingAddressMap": "карта",
|
||||
"addressMap": "карта",
|
||||
"billingAddressCity": "Град",
|
||||
"addressCity": "Град",
|
||||
"billingAddressCountry": "Държава",
|
||||
"addressCountry": "Държава",
|
||||
"billingAddressPostalCode": "Пощенски код",
|
||||
"addressPostalCode": "Пощенски код",
|
||||
"billingAddressState": "Състояние",
|
||||
"addressState": "Състояние",
|
||||
"billingAddressStreet": "Улица",
|
||||
"addressStreet": "Улица",
|
||||
"billingAddressMap": "Карта",
|
||||
"addressMap": "Карта",
|
||||
"shippingAddressCity": "Град (доставка)",
|
||||
"shippingAddressStreet": "Улица (доставка)",
|
||||
"shippingAddressCountry": "Държава (доставка)",
|
||||
@@ -107,7 +112,8 @@
|
||||
},
|
||||
"options": {
|
||||
"reminderTypes": {
|
||||
"Email": "електронна поща"
|
||||
"Popup": "Попъп",
|
||||
"Email": "Електронна поща"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,47 +1,47 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create KnowledgeBaseArticle": "Създаване на член",
|
||||
"Any": "който и да е",
|
||||
"Send in Email": "Изпрати на Email",
|
||||
"Create KnowledgeBaseArticle": "Създаване на статия",
|
||||
"Any": "Всички",
|
||||
"Send in Email": "Изпрати по имейл",
|
||||
"Move Up": "Премести нагоре",
|
||||
"Move Down": "Премести надолу",
|
||||
"Move to Top": "Преминаване към Top",
|
||||
"Move to Top": "Преместване най-отгоре",
|
||||
"Move to Bottom": "Преместване най-долу"
|
||||
},
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"name": "Име",
|
||||
"status": "Статус",
|
||||
"type": "Тип",
|
||||
"attachments": "Прикачени",
|
||||
"publishDate": "Дата на публикуване",
|
||||
"expirationDate": "Срок на годност",
|
||||
"description": "описание",
|
||||
"body": "тяло",
|
||||
"description": "Описание",
|
||||
"body": "Съдържание",
|
||||
"categories": "Категории",
|
||||
"language": "език",
|
||||
"language": "Език",
|
||||
"portals": "Портали"
|
||||
},
|
||||
"links": {
|
||||
"cases": "случаи",
|
||||
"opportunities": "възможности",
|
||||
"cases": "Тикети",
|
||||
"opportunities": "Сделки",
|
||||
"categories": "Категории",
|
||||
"portals": "Портали"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"In Review": "В Преглед",
|
||||
"Draft": "проект",
|
||||
"In Review": "Чернова",
|
||||
"Draft": "Чернова",
|
||||
"Archived": "Архив",
|
||||
"Published": "Публикуван"
|
||||
"Published": "Публикувана"
|
||||
},
|
||||
"type": {
|
||||
"Article": "статия"
|
||||
"Article": "Статия"
|
||||
}
|
||||
},
|
||||
"presetFilters": {
|
||||
"published": "Публикуван"
|
||||
},
|
||||
"tooltips": {
|
||||
"portals": "Член ще бъде достъпен само в определени портали."
|
||||
"portals": "Статията ще бъде достъпна само в избраните портали."
|
||||
}
|
||||
}
|
||||
@@ -2,9 +2,9 @@
|
||||
"labels": {
|
||||
"Create KnowledgeBaseCategory": "Създаване на Категория",
|
||||
"Manage Categories": "Управление на категории",
|
||||
"Articles": "статии"
|
||||
"Articles": "Статии"
|
||||
},
|
||||
"links": {
|
||||
"articles": "статии"
|
||||
"articles": "Статии"
|
||||
}
|
||||
}
|
||||
@@ -1,68 +1,70 @@
|
||||
{
|
||||
"labels": {
|
||||
"Converted To": "превръща в",
|
||||
"Create Lead": "Създаване на олово",
|
||||
"Converted To": "Конвертирана в",
|
||||
"Create Lead": "Създаване на Потенциална продажба",
|
||||
"Convert": "Конвертиране",
|
||||
"convert": "конвертиране"
|
||||
},
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"emailAddress": "електронна поща",
|
||||
"name": "Име",
|
||||
"emailAddress": "Електронна поща",
|
||||
"title": "Заглавие",
|
||||
"website": "уебсайт",
|
||||
"phoneNumber": "телефон",
|
||||
"accountName": "Име на акаунта",
|
||||
"website": "Уебсайт",
|
||||
"phoneNumber": "Телефон",
|
||||
"accountName": "Име на клиента",
|
||||
"doNotCall": "Не звъни",
|
||||
"address": "адрес",
|
||||
"address": "Адрес",
|
||||
"status": "Статус",
|
||||
"source": "източник",
|
||||
"opportunityAmount": "възможност сума",
|
||||
"opportunityAmountConverted": "Възможност сума (изчислена)",
|
||||
"description": "описание",
|
||||
"createdAccount": "Сметка",
|
||||
"createdContact": "контакт",
|
||||
"campaign": "кампания",
|
||||
"source": "Източник",
|
||||
"opportunityAmount": "Сума на сделката",
|
||||
"opportunityAmountConverted": "Сума на сделката (изчислена)",
|
||||
"description": "Описание",
|
||||
"createdAccount": "Клиент",
|
||||
"createdContact": "Контакт",
|
||||
"createdOpportunity": "Сделка",
|
||||
"campaign": "Кампания",
|
||||
"targetLists": "Целеви списъци",
|
||||
"targetList": "Целева Списък",
|
||||
"industry": "промишленост",
|
||||
"acceptanceStatus": "Приемане Статус",
|
||||
"opportunityAmountCurrency": "Възможност сума във валута",
|
||||
"acceptanceStatusMeetings": "Приемане Статус (срещи)",
|
||||
"acceptanceStatusCalls": "Приемане Статус (призовава)",
|
||||
"convertedAt": "конвертирани по"
|
||||
"targetList": "Целева списък",
|
||||
"industry": "Промишленост",
|
||||
"acceptanceStatus": "Статус за приемане",
|
||||
"opportunityAmountCurrency": "Валута на сумата в сделката",
|
||||
"acceptanceStatusMeetings": "Статус на приемане (Срещи)",
|
||||
"acceptanceStatusCalls": "Статус на приемане (Разговори)",
|
||||
"convertedAt": "Конвертирана на"
|
||||
},
|
||||
"links": {
|
||||
"targetLists": "Целеви списъци",
|
||||
"campaignLogRecords": "кампания Вход",
|
||||
"campaign": "кампания",
|
||||
"createdAccount": "Сметка",
|
||||
"createdContact": "контакт",
|
||||
"cases": "случаи",
|
||||
"campaignLogRecords": "Логове на кампанията",
|
||||
"campaign": "Кампания",
|
||||
"createdAccount": "Клиент",
|
||||
"createdContact": "Контакт",
|
||||
"createdOpportunity": "Сделка",
|
||||
"cases": "Тикети",
|
||||
"documents": "Документи"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"New": "нов",
|
||||
"Assigned": "целеви",
|
||||
"New": "Нова",
|
||||
"Assigned": "Назначена",
|
||||
"In Process": "В процес",
|
||||
"Converted": "покръстен",
|
||||
"Converted": "Конвертирана",
|
||||
"Recycled": "Рециклирана",
|
||||
"Dead": "мъртъв"
|
||||
"Dead": "Изоставена"
|
||||
},
|
||||
"source": {
|
||||
"": "Нито един",
|
||||
"Call": "Обадете се",
|
||||
"Email": "електронна поща",
|
||||
"Email": "Електронна поща",
|
||||
"Existing Customer": "Съществуващ клиент",
|
||||
"Partner": "партньор",
|
||||
"Partner": "Партньор",
|
||||
"Public Relations": "Връзки с обществеността",
|
||||
"Web Site": "уеб сайт",
|
||||
"Campaign": "кампания",
|
||||
"Other": "друг"
|
||||
"Web Site": "Уеб сайт",
|
||||
"Campaign": "Кампания",
|
||||
"Other": "Друг"
|
||||
}
|
||||
},
|
||||
"presetFilters": {
|
||||
"active": "Активен",
|
||||
"actual": "действителен",
|
||||
"converted": "покръстен"
|
||||
"actual": "Актуален",
|
||||
"converted": "Конвертиран"
|
||||
}
|
||||
}
|
||||
@@ -1,14 +1,14 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"name": "Име",
|
||||
"status": "Статус",
|
||||
"storeSentEmails": "Магазин изпращат съобщения",
|
||||
"startAt": "Дата Старт",
|
||||
"fromAddress": "От Адрес",
|
||||
"storeSentEmails": "Съхраняване на изпратените имейли",
|
||||
"startAt": "Дата на стартиране",
|
||||
"fromAddress": "От адрес",
|
||||
"fromName": "От име",
|
||||
"replyToAddress": "Адрес за отговор",
|
||||
"replyToName": "Отговор до Наименование",
|
||||
"campaign": "кампания",
|
||||
"campaign": "Кампания",
|
||||
"emailTemplate": "Шаблон за имейл",
|
||||
"inboundEmail": "Имейл акаунт",
|
||||
"targetLists": "Целеви списъци",
|
||||
@@ -19,40 +19,40 @@
|
||||
"links": {
|
||||
"targetLists": "Целеви списъци",
|
||||
"excludingTargetLists": "С изключение на целевите списъци",
|
||||
"queueItems": "елемента от опашка",
|
||||
"campaign": "кампания",
|
||||
"queueItems": "Елементи от опашката",
|
||||
"campaign": "Кампания",
|
||||
"emailTemplate": "Шаблон за имейл",
|
||||
"inboundEmail": "Имейл акаунт"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Draft": "проект",
|
||||
"Draft": "Чернова",
|
||||
"Pending": "Предстоящо",
|
||||
"In Process": "В процес",
|
||||
"Complete": "пълен",
|
||||
"Complete": "Завършен",
|
||||
"Canceled": "Отменен",
|
||||
"Failed": "Се провали"
|
||||
"Failed": "Провален"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create MassEmail": "Създаване на Маса Email",
|
||||
"Send Test": "Изпрати Test",
|
||||
"System SMTP": "система за SMTP",
|
||||
"Create MassEmail": "Създаване на масов имейл",
|
||||
"Send Test": "Изпрати тестов имейл",
|
||||
"System SMTP": "Системен SMTP",
|
||||
"system": "система",
|
||||
"group": "група"
|
||||
},
|
||||
"messages": {
|
||||
"selectAtLeastOneTarget": "Изберете поне една мишена.",
|
||||
"testSent": "Тест имейл (и) трябва да бъде изпратен"
|
||||
"selectAtLeastOneTarget": "Изберете поне една цел.",
|
||||
"testSent": "Тестовият имейл би трябвало да е изпратен"
|
||||
},
|
||||
"tooltips": {
|
||||
"optOutEntirely": "Имейл адресите на получателите, които се отписали, ще бъдат маркирани като се отказали и те няма да получават никакви масови имейли вече.",
|
||||
"optOutEntirely": "Имейл адресите на получателите, които са се отказали, ще бъдат маркирани като отписали се и те няма да получават повече имейли.",
|
||||
"targetLists": "Цели, които трябва да получават съобщения.",
|
||||
"excludingTargetLists": "Цели, които не трябва да получават съобщения.",
|
||||
"storeSentEmails": "Имейлите ще бъдат съхранявани в CRM."
|
||||
},
|
||||
"presetFilters": {
|
||||
"actual": "действителен",
|
||||
"complete": "пълен"
|
||||
"actual": "Актуални",
|
||||
"complete": "Завършени"
|
||||
}
|
||||
}
|
||||
@@ -1,55 +1,57 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"parent": "родител",
|
||||
"name": "Име",
|
||||
"parent": "Родител",
|
||||
"status": "Статус",
|
||||
"dateStart": "Дата Старт",
|
||||
"dateStart": "Начална дата",
|
||||
"dateEnd": "Крайна дата",
|
||||
"duration": "продължителност",
|
||||
"description": "описание",
|
||||
"duration": "Продължителност",
|
||||
"description": "Описание",
|
||||
"users": "Потребители",
|
||||
"contacts": "Контакти",
|
||||
"leads": "Потенциални продажби",
|
||||
"reminders": "Напомняния",
|
||||
"account": "Сметка",
|
||||
"acceptanceStatus": "Приемане Статус",
|
||||
"dateStartDate": "Дата Start (цял ден)",
|
||||
"account": "Клиент",
|
||||
"acceptanceStatus": "Статус за приемане",
|
||||
"dateStartDate": "Начална дата (цял ден)",
|
||||
"dateEndDate": "Крайна дата (цял ден)",
|
||||
"isAllDay": "Дали през целия ден",
|
||||
"Acceptance": "приемане"
|
||||
"isAllDay": "Цял ден",
|
||||
"Acceptance": "Приемане",
|
||||
"sourceEmail": "Източник на имейла"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Planned": "Планирано",
|
||||
"Held": "Държани",
|
||||
"Not Held": "Не държани"
|
||||
"Planned": "Планирана",
|
||||
"Held": "Състояла се",
|
||||
"Not Held": "Несъстояла се"
|
||||
},
|
||||
"acceptanceStatus": {
|
||||
"None": "Нито един",
|
||||
"Accepted": "общоприет",
|
||||
"Accepted": "Приета",
|
||||
"Declined": "Отхвърлена",
|
||||
"Tentative": "Експериментален"
|
||||
"Tentative": "Несигурна"
|
||||
}
|
||||
},
|
||||
"massActions": {
|
||||
"setHeld": "Задайте държани",
|
||||
"setNotHeld": "Задайте не се държат"
|
||||
"setHeld": "Задай като състояла се",
|
||||
"setNotHeld": "Задай като несъстояла се"
|
||||
},
|
||||
"labels": {
|
||||
"Create Meeting": "Създаване на среща",
|
||||
"Set Held": "Задайте държани",
|
||||
"Set Not Held": "Задайте не се държат",
|
||||
"Set Held": "Задай като състояла се",
|
||||
"Set Not Held": "Задай като състояла се",
|
||||
"Send Invitations": "Изпращането на покани",
|
||||
"on time": "на време",
|
||||
"before": "преди",
|
||||
"All-Day": "Цял ден"
|
||||
},
|
||||
"presetFilters": {
|
||||
"planned": "Планирано",
|
||||
"held": "Държани",
|
||||
"planned": "Планирани",
|
||||
"held": "Състояли се",
|
||||
"todays": "Днешните"
|
||||
},
|
||||
"messages": {
|
||||
"nothingHasBeenSent": "Нищо не бяха изпратени",
|
||||
"selectAcceptanceStatus": "Задайте състоянието си приемане."
|
||||
"nothingHasBeenSent": "Нищо не беше изпратено",
|
||||
"selectAcceptanceStatus": "Задайте състоянието на приемане."
|
||||
}
|
||||
}
|
||||
@@ -1,52 +1,53 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"account": "Сметка",
|
||||
"stage": "сцена",
|
||||
"amount": "Количество",
|
||||
"probability": "Вероятност,%",
|
||||
"leadSource": "Водещ Източник",
|
||||
"name": "Име",
|
||||
"account": "Клиент",
|
||||
"stage": "Фаза",
|
||||
"amount": "Сума",
|
||||
"probability": "Вероятност (%)",
|
||||
"leadSource": "Източник на потенциалната продажба",
|
||||
"doNotCall": "Не звъни",
|
||||
"closeDate": "Близо Дата",
|
||||
"closeDate": "Дата на затваряне",
|
||||
"contacts": "Контакти",
|
||||
"description": "описание",
|
||||
"amountConverted": "Количество (изчислена)",
|
||||
"amountWeightedConverted": "сума Weighted",
|
||||
"campaign": "кампания",
|
||||
"originalLead": "Оригинален Lead",
|
||||
"amountCurrency": "сума на валута",
|
||||
"contactRole": "Свържи Роля",
|
||||
"lastStage": "Последният етап",
|
||||
"contact": "Свържи (Основно)"
|
||||
"description": "Описание",
|
||||
"amountConverted": "Сума (изчислена)",
|
||||
"amountWeightedConverted": "Сума (изчислена)",
|
||||
"campaign": "Кампания",
|
||||
"originalLead": "Оригинална потенциална продажба",
|
||||
"amountCurrency": "Валута на сумата",
|
||||
"contactRole": "Роля на контакта",
|
||||
"lastStage": "Последна фаза",
|
||||
"contact": "Контакт (Основен)"
|
||||
},
|
||||
"links": {
|
||||
"contacts": "Контакти",
|
||||
"documents": "Документи",
|
||||
"campaign": "кампания",
|
||||
"originalLead": "Оригинален Lead",
|
||||
"contact": "Свържи (Основно)"
|
||||
"campaign": "Кампания",
|
||||
"originalLead": "Оригинална потенциална продажба",
|
||||
"contact": "Контакт (Основен)"
|
||||
},
|
||||
"options": {
|
||||
"stage": {
|
||||
"Qualification": "Квалификация",
|
||||
"Needs Analysis": "Анализ на нуждите",
|
||||
"Value Proposition": "Стойностно предложение",
|
||||
"Id. Decision Makers": "Документ за самоличност. Хора, взимащи решения",
|
||||
"Perception Analysis": "Схващането Анализ",
|
||||
"Proposal/Price Quote": "Предложение / Цена цитат",
|
||||
"Prospecting": "Проучване",
|
||||
"Qualification": "Квалифициране",
|
||||
"Needs Analysis": "Нужда от анализ",
|
||||
"Value Proposition": "Предложение",
|
||||
"Id. Decision Makers": "Вземане на решение",
|
||||
"Perception Analysis": "Анализ",
|
||||
"Proposal/Price Quote": "Изготвяне на оферта",
|
||||
"Negotiation/Review": "Преговори / Преглед",
|
||||
"Closed Won": "Приключена спечелена",
|
||||
"Closed Lost": "затворен Изгубени",
|
||||
"Proposal": "предложение",
|
||||
"Negotiation": "договаряне"
|
||||
"Closed Won": "Приключена - спечелена",
|
||||
"Closed Lost": "Приключена - загубена",
|
||||
"Proposal": "Предложение",
|
||||
"Negotiation": "Договаряне"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create Opportunity": "Създаване на възможности"
|
||||
"Create Opportunity": "Създаване на Сделка"
|
||||
},
|
||||
"presetFilters": {
|
||||
"open": "отворено",
|
||||
"open": "Отворени",
|
||||
"won": "Спечелени",
|
||||
"lost": "загубен"
|
||||
"lost": "Загубени"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"links": {
|
||||
"articles": "Статии от базата знания"
|
||||
"articles": "Статии от документацията"
|
||||
}
|
||||
}
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"options": {
|
||||
"job": {
|
||||
"ProcessMassEmail": "Изпрати Масови имейли",
|
||||
"ControlKnowledgeBaseArticleStatus": "Контрол Статия от Базата знания Статус"
|
||||
"ProcessMassEmail": "Изпращане на масови имейли",
|
||||
"ControlKnowledgeBaseArticleStatus": "Управление на статуса на статиите от документацията"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,39 +1,41 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"description": "описание",
|
||||
"entryCount": "Влизане граф",
|
||||
"name": "Име",
|
||||
"description": "Описание",
|
||||
"entryCount": "Брой записи",
|
||||
"campaigns": "Кампании",
|
||||
"endDate": "Крайна дата",
|
||||
"targetLists": "Целеви списъци",
|
||||
"includingActionList": "Включително",
|
||||
"excludingActionList": "с изключение на",
|
||||
"optedOutCount": "Отказахте се граф",
|
||||
"targetStatus": "Целева Статус",
|
||||
"isOptedOut": "Е изключена"
|
||||
"excludingActionList": "С изключение на",
|
||||
"optedOutCount": "Отписали се",
|
||||
"targetStatus": "Целеви статус",
|
||||
"isOptedOut": "Отписал се"
|
||||
},
|
||||
"links": {
|
||||
"accounts": "сметки",
|
||||
"accounts": "Клиенти",
|
||||
"contacts": "Контакти",
|
||||
"leads": "Потенциални продажба",
|
||||
"campaigns": "Кампании",
|
||||
"massEmails": "Масови имейли"
|
||||
},
|
||||
"options": {
|
||||
"type": {
|
||||
"Email": "електронна поща",
|
||||
"Web": "мрежа",
|
||||
"Television": "телевизия",
|
||||
"Radio": "радио"
|
||||
"Email": "Електронна поща",
|
||||
"Web": "Интернет",
|
||||
"Television": "Телевизия",
|
||||
"Radio": "Радио",
|
||||
"Newsletter": "Имейл бюлетин"
|
||||
},
|
||||
"targetStatus": {
|
||||
"Opted Out": "Отказахте се",
|
||||
"Opted Out": "Отписал се",
|
||||
"Listed": "изброени"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create TargetList": "Създаване на Target Списък",
|
||||
"Opted Out": "Отказахте се",
|
||||
"Cancel Opt-Out": "Отказ за отказване",
|
||||
"Opt-Out": "Отказване"
|
||||
"Create TargetList": "Създаване на целеви списък",
|
||||
"Opted Out": "Отказали се",
|
||||
"Cancel Opt-Out": "Отмяна на отказване",
|
||||
"Opt-Out": "Отписване"
|
||||
}
|
||||
}
|
||||
@@ -1,50 +1,55 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "име",
|
||||
"parent": "родител",
|
||||
"name": "Име",
|
||||
"parent": "Родител",
|
||||
"status": "Статус",
|
||||
"dateStart": "Дата Старт",
|
||||
"dateStart": "Начална дата",
|
||||
"dateEnd": "Дата до",
|
||||
"dateStartDate": "Дата Start (цял ден)",
|
||||
"dateStartDate": "Начална дата (цял ден)",
|
||||
"dateEndDate": "Крайна дата (цял ден)",
|
||||
"priority": "приоритет",
|
||||
"description": "описание",
|
||||
"isOverdue": "е просрочено",
|
||||
"account": "Сметка",
|
||||
"dateCompleted": "Дата Завършен",
|
||||
"attachments": "Прикачени",
|
||||
"priority": "Приоритет",
|
||||
"description": "Описание",
|
||||
"isOverdue": "Е просрочена",
|
||||
"account": "Клиент",
|
||||
"dateCompleted": "Дата на завършване",
|
||||
"attachments": "Прикачени файлове",
|
||||
"reminders": "Напомняния",
|
||||
"contact": "контакт"
|
||||
"contact": "Контакт"
|
||||
},
|
||||
"links": {
|
||||
"attachments": "Прикачени",
|
||||
"account": "Сметка",
|
||||
"contact": "контакт"
|
||||
"attachments": "Прикачени файлове",
|
||||
"account": "Клиент",
|
||||
"contact": "Контакт",
|
||||
"email": "Имейл"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
"Not Started": "Не е започнало",
|
||||
"Not Started": "Не е стартирана",
|
||||
"Started": "Започната",
|
||||
"Completed": "завършен",
|
||||
"Canceled": "Отменен",
|
||||
"Deferred": "Разсрочено"
|
||||
"Completed": "Завършен",
|
||||
"Canceled": "Отменена",
|
||||
"Deferred": "Отложена"
|
||||
},
|
||||
"priority": {
|
||||
"Low": "ниско",
|
||||
"Normal": "нормален",
|
||||
"High": "Високо",
|
||||
"Urgent": "спешно"
|
||||
"Low": "Нисък",
|
||||
"Normal": "Нормален",
|
||||
"High": "Висок",
|
||||
"Urgent": "Спешен"
|
||||
}
|
||||
},
|
||||
"labels": {
|
||||
"Create Task": "Създаване на Task",
|
||||
"Complete": "пълен"
|
||||
"Create Task": "Създаване на задача",
|
||||
"Complete": "Завършване",
|
||||
"overdue": "просрочена"
|
||||
},
|
||||
"presetFilters": {
|
||||
"actual": "действителен",
|
||||
"completed": "завършен",
|
||||
"actual": "Актуални",
|
||||
"completed": "Завършени",
|
||||
"todays": "Днешните",
|
||||
"overdue": "просрочен",
|
||||
"overdue": "Просрочени",
|
||||
"deferred": "Разсрочено"
|
||||
},
|
||||
"nameOptions": {
|
||||
"replyToEmail": "Отговор до имейл"
|
||||
}
|
||||
}
|
||||
@@ -3,8 +3,8 @@
|
||||
"targetLists": "Целеви списъци"
|
||||
},
|
||||
"fields": {
|
||||
"acceptanceStatus": "Приемане Статус",
|
||||
"acceptanceStatusMeetings": "Приемане Статус (срещи)",
|
||||
"acceptanceStatusCalls": "Приемане Статус (призовава)"
|
||||
"acceptanceStatus": "Статус за приемане",
|
||||
"acceptanceStatusMeetings": "Статус на приемане (Срещи)",
|
||||
"acceptanceStatusCalls": "Статус на приемане (Разговори)"
|
||||
}
|
||||
}
|
||||
@@ -41,7 +41,6 @@
|
||||
"Dead": "Mrtvý"
|
||||
},
|
||||
"source": {
|
||||
"": "-",
|
||||
"Call": "Volání",
|
||||
"Email": "Email",
|
||||
"Existing Customer": "Existující zákazník",
|
||||
|
||||
@@ -45,7 +45,6 @@
|
||||
"Dead": "Død"
|
||||
},
|
||||
"source": {
|
||||
"": "Ingen",
|
||||
"Call": "Samtale",
|
||||
"Existing Customer": "Eksisterende Kunde",
|
||||
"Public Relations": "PR",
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"Dead": "'Gestorben'"
|
||||
},
|
||||
"source": {
|
||||
"": "Kein(e)",
|
||||
"Call": "Anruf",
|
||||
"Email": "E-Mail",
|
||||
"Existing Customer": "Bestandskunde",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "Dead"
|
||||
},
|
||||
"source": {
|
||||
"": "None",
|
||||
"Call": "Call",
|
||||
"Email": "Email",
|
||||
"Existing Customer": "Existing Customer",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "Muerto"
|
||||
},
|
||||
"source": {
|
||||
"": "Ninguno",
|
||||
"Call": "Llamada",
|
||||
"Email": "Correo electrónico",
|
||||
"Existing Customer": "Cliente Existente",
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
"Dead": "Muerto"
|
||||
},
|
||||
"source": {
|
||||
"": "Ninguno",
|
||||
"Call": "Llamada",
|
||||
"Email": "Correo electrónico",
|
||||
"Existing Customer": "Cliente Existente",
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"Dead": "مرده"
|
||||
},
|
||||
"source": {
|
||||
"": "هیچ کدام",
|
||||
"Call": "تماس",
|
||||
"Email": "ایمیل",
|
||||
"Existing Customer": "مشتری موجود",
|
||||
|
||||
@@ -39,7 +39,6 @@
|
||||
"Recycled": "Recyclé"
|
||||
},
|
||||
"source": {
|
||||
"": "Aucun",
|
||||
"Call": "Appel",
|
||||
"Existing Customer": "Client existant",
|
||||
"Partner": "Partenaire",
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"Dead": "Mrtav"
|
||||
},
|
||||
"source": {
|
||||
"": "Nema",
|
||||
"Call": "Poziv",
|
||||
"Email": "E-mail",
|
||||
"Existing Customer": "Postojeći Klijent",
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"Dead": "Halott"
|
||||
},
|
||||
"source": {
|
||||
"": "Egyik sem",
|
||||
"Call": "Hívás",
|
||||
"Existing Customer": "A meglévő ügyfelek",
|
||||
"Public Relations": "Közkapcsolatok",
|
||||
|
||||
@@ -43,7 +43,6 @@
|
||||
"Dead": "Mati"
|
||||
},
|
||||
"source": {
|
||||
"": "tak satupun",
|
||||
"Call": "Panggilan",
|
||||
"Email": "E-mail",
|
||||
"Existing Customer": "Pelanggan yang ada",
|
||||
|
||||
@@ -49,7 +49,6 @@
|
||||
"Dead": "Fuori uso"
|
||||
},
|
||||
"source": {
|
||||
"": "Nessuno",
|
||||
"Call": "Chiamata",
|
||||
"Existing Customer": "Cliente esistente",
|
||||
"Public Relations": "Pubbliche relazioni",
|
||||
|
||||
@@ -14,7 +14,7 @@
|
||||
"campaign": "Kampanija",
|
||||
"targetLists": "Adresatų sarašai",
|
||||
"targetList": "Adresatų sarašas",
|
||||
"originalLead": "Originalus švinas",
|
||||
"originalLead": "Pirminis Potencialus klientas",
|
||||
"contactIsInactive": "Neaktyvus"
|
||||
},
|
||||
"links": {
|
||||
@@ -30,7 +30,8 @@
|
||||
"campaignLogRecords": "Kampanijos žurnalas",
|
||||
"campaign": "Kampanija",
|
||||
"portalUsers": "Portalo vartotojai",
|
||||
"originalLead": "Originalus švinas"
|
||||
"originalLead": "Pirminis Potencialus klientas",
|
||||
"contactsPrimary": "Kontaktai (pagrindiniai)"
|
||||
},
|
||||
"options": {
|
||||
"type": {
|
||||
|
||||
@@ -6,5 +6,8 @@
|
||||
"Create Case": "Sukurti atvejį",
|
||||
"Add to Contact": "Pridėti prie kontaktų",
|
||||
"Add to Lead": "Pridėti prie švino"
|
||||
},
|
||||
"fields": {
|
||||
"tasks": "Užduotys"
|
||||
}
|
||||
}
|
||||
@@ -6,12 +6,12 @@
|
||||
"sentAt": "Išsiuntimo data",
|
||||
"attemptCount": "Bandymai",
|
||||
"emailAddress": "El. pašto adresas",
|
||||
"massEmail": "Masinis el. Paštas",
|
||||
"massEmail": "Masinis el. laiškas",
|
||||
"isTest": "Testuojama"
|
||||
},
|
||||
"links": {
|
||||
"target": "Adresatas",
|
||||
"massEmail": "Masinis el. Paštas"
|
||||
"massEmail": "Masinis el. laiškas"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
|
||||
@@ -30,7 +30,7 @@
|
||||
"DocumentFolder": "Dokumento aplankas",
|
||||
"Campaign": "Kampanija",
|
||||
"TargetList": "Adresatų sarašas",
|
||||
"MassEmail": "Masinis el. Paštas",
|
||||
"MassEmail": "Masinis el. laiškas",
|
||||
"EmailQueueItem": "Siųsti eilės elementą",
|
||||
"CampaignTrackingUrl": "Stebėjiimo URL",
|
||||
"Activities": "Veikla",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "Numarintas"
|
||||
},
|
||||
"source": {
|
||||
"": "Joks",
|
||||
"Call": "Skambutis",
|
||||
"Email": "El. paštas",
|
||||
"Existing Customer": "Egzistuojantis klientas",
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
"dateStartDate": "Data Pradžia (visą dieną)",
|
||||
"dateEndDate": "Data Pabaiga (visą dieną)",
|
||||
"isAllDay": "Ar visą dieną",
|
||||
"Acceptance": "Priėmimas"
|
||||
"Acceptance": "Priėmimas",
|
||||
"sourceEmail": "Šaltinis El. paštas"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
|
||||
@@ -13,7 +13,7 @@
|
||||
"amountConverted": "Suma (konvertuota)",
|
||||
"amountWeightedConverted": "Pasverta suma",
|
||||
"campaign": "Kampanija",
|
||||
"originalLead": "Originalus švinas",
|
||||
"originalLead": "Pirminis Potencialus klientas",
|
||||
"amountCurrency": "Valiutos suma",
|
||||
"contactRole": "Kontakto vaidmuo",
|
||||
"lastStage": "Paskutinis etapas",
|
||||
@@ -23,7 +23,7 @@
|
||||
"contacts": "Kontaktai",
|
||||
"documents": "Dokumentai",
|
||||
"campaign": "Kampanija",
|
||||
"originalLead": "Originalus švinas",
|
||||
"originalLead": "Pirminis Potencialus klientas",
|
||||
"contact": "Kontaktinis asmuo (pagrindinis)"
|
||||
},
|
||||
"options": {
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
"links": {
|
||||
"attachments": "Prisegtukai",
|
||||
"account": "Paskyra",
|
||||
"contact": "Kontaktai"
|
||||
"contact": "Kontaktai",
|
||||
"email": "El. paštas"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
@@ -47,5 +48,8 @@
|
||||
"todays": "Šiandienos",
|
||||
"overdue": "Vėluoja",
|
||||
"deferred": "Atidėta"
|
||||
},
|
||||
"nameOptions": {
|
||||
"replyToEmail": "Atsakyti į el. laišką"
|
||||
}
|
||||
}
|
||||
@@ -30,7 +30,8 @@
|
||||
"campaignLogRecords": "Kampaņu reģistri",
|
||||
"campaign": "Kampaņa",
|
||||
"portalUsers": "Portāla lietotāji",
|
||||
"originalLead": "Oriģinālais potenciālā klienta ieraksts"
|
||||
"originalLead": "Oriģinālais potenciālā klienta ieraksts",
|
||||
"contactsPrimary": "Kontakti (primārie)"
|
||||
},
|
||||
"options": {
|
||||
"type": {
|
||||
|
||||
@@ -7,13 +7,13 @@
|
||||
"parent": "Mērķa adresāti",
|
||||
"object": "Objekts",
|
||||
"application": "Lietotnes",
|
||||
"queueItem": "Ielikt vienumu rindā",
|
||||
"queueItem": "Ielikt pozīciju rindā",
|
||||
"stringData": "Virknes dati",
|
||||
"stringAdditionalData": "Virknes papildu dati",
|
||||
"isTest": "Ir tests"
|
||||
},
|
||||
"links": {
|
||||
"queueItem": "Ielikt vienumu rindā",
|
||||
"queueItem": "Ielikt pozīciju rindā",
|
||||
"parent": "Primārais elements",
|
||||
"object": "Objekts",
|
||||
"campaign": "Kampaņa"
|
||||
|
||||
@@ -6,5 +6,8 @@
|
||||
"Create Case": "Izveidot lietu",
|
||||
"Add to Contact": "Pievienot kontaktiem",
|
||||
"Add to Lead": "Pievienot potenciālajiem klientiem"
|
||||
},
|
||||
"fields": {
|
||||
"tasks": "Uzdevumi"
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"fields": {
|
||||
"name": "Vārds",
|
||||
"name": "Nosaukums",
|
||||
"status": "Statuss",
|
||||
"target": "Mērķa adresāts",
|
||||
"sentAt": "Datums nosūtīts",
|
||||
|
||||
@@ -31,7 +31,7 @@
|
||||
"Campaign": "Kampaņa",
|
||||
"TargetList": "Mērķa saraksts",
|
||||
"MassEmail": "Masveida e-pasts",
|
||||
"EmailQueueItem": "E-pasta rindas vienums",
|
||||
"EmailQueueItem": "E-pasta rindas pozīcija",
|
||||
"CampaignTrackingUrl": "Sekojamais vietrādis URL",
|
||||
"Activities": "Aktivitātes",
|
||||
"KnowledgeBaseArticle": "Zināšanu bāzes raksts",
|
||||
@@ -54,7 +54,7 @@
|
||||
"Campaign": "Kampaņas",
|
||||
"TargetList": "Mērķa saraksts",
|
||||
"MassEmail": "Masveida e-pasti",
|
||||
"EmailQueueItem": "E-pasta rindu vienumi",
|
||||
"EmailQueueItem": "E-pasta rindas pozīcijas",
|
||||
"CampaignTrackingUrl": "Sekojamie vietrāži URL",
|
||||
"Activities": "Aktivitātes",
|
||||
"KnowledgeBaseArticle": "Zināšanu bāze",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "Norakstīts"
|
||||
},
|
||||
"source": {
|
||||
"": "Nav",
|
||||
"Call": "Zvanīt",
|
||||
"Email": "E-pasts",
|
||||
"Existing Customer": "Esošs klients",
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
"links": {
|
||||
"targetLists": "Mērķa adresātu saraksts",
|
||||
"excludingTargetLists": "Neiekļaujamo mērķa adresātu saraksts",
|
||||
"queueItems": "Likt vienumus rindā",
|
||||
"queueItems": "Likt pozīciju rindā",
|
||||
"campaign": "Kampaņa",
|
||||
"emailTemplate": "E-pasta veidne",
|
||||
"inboundEmail": "E-pasta konts"
|
||||
|
||||
@@ -16,7 +16,8 @@
|
||||
"dateStartDate": "Datums Sākums (visu dienu)",
|
||||
"dateEndDate": "Beigu datums (visu dienu)",
|
||||
"isAllDay": "Vai ir visas dienas",
|
||||
"Acceptance": "Pieņemšana"
|
||||
"Acceptance": "Pieņemšana",
|
||||
"sourceEmail": "Avots E-pasts"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
|
||||
@@ -19,7 +19,8 @@
|
||||
"links": {
|
||||
"attachments": "Pielikumi",
|
||||
"account": "Konts",
|
||||
"contact": "Kontakts"
|
||||
"contact": "Kontakts",
|
||||
"email": "E-pasts"
|
||||
},
|
||||
"options": {
|
||||
"status": {
|
||||
@@ -47,5 +48,8 @@
|
||||
"todays": "Šīsdienas",
|
||||
"overdue": "Nokavēts",
|
||||
"deferred": "Atlikts"
|
||||
},
|
||||
"nameOptions": {
|
||||
"replyToEmail": "Atbildēt uz e-pastu"
|
||||
}
|
||||
}
|
||||
@@ -46,7 +46,6 @@
|
||||
"Dead": "Død"
|
||||
},
|
||||
"source": {
|
||||
"": "Ingen",
|
||||
"Call": "Samtale",
|
||||
"Email": "Epost",
|
||||
"Existing Customer": "Eksisterende kunde",
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
"Dead": "Vervallen"
|
||||
},
|
||||
"source": {
|
||||
"": "Geen",
|
||||
"Call": "Gesprek",
|
||||
"Email": "E-mail",
|
||||
"Existing Customer": "Bestaande klant",
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
"Dead": "Martwy"
|
||||
},
|
||||
"source": {
|
||||
"": "Brak",
|
||||
"Call": "Rozmowa",
|
||||
"Email": "E-mail",
|
||||
"Existing Customer": "Istniejący klient",
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
"Dead": "Inactiv"
|
||||
},
|
||||
"source": {
|
||||
"": "Nici unul",
|
||||
"Call": "Apel",
|
||||
"Existing Customer": "Client Existent",
|
||||
"Partner": "Partener",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "Мертв"
|
||||
},
|
||||
"source": {
|
||||
"": "Нет",
|
||||
"Call": "Звонок",
|
||||
"Email": "Эл. письмо",
|
||||
"Existing Customer": "Существующий клиент",
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"Dead": "Mŕtvy"
|
||||
},
|
||||
"source": {
|
||||
"": "Žiadny",
|
||||
"Call": "Hovor",
|
||||
"Existing Customer": "Existujúci zákazník",
|
||||
"Public Relations": "Vzťahy s verejnosťou",
|
||||
|
||||
@@ -50,7 +50,6 @@
|
||||
"Dead": "Mrtav"
|
||||
},
|
||||
"source": {
|
||||
"": "Nema",
|
||||
"Call": "Poziv",
|
||||
"Email": "E-mail",
|
||||
"Existing Customer": "Postojeći kupac",
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
"Dead": "Död"
|
||||
},
|
||||
"source": {
|
||||
"": "Inga",
|
||||
"Call": "Samtal",
|
||||
"Email": "E-post",
|
||||
"Existing Customer": "Existerande kund",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "ไม่เคลื่อนไหว"
|
||||
},
|
||||
"source": {
|
||||
"": "ไม่มี",
|
||||
"Call": "โทร",
|
||||
"Email": "อีเมล์",
|
||||
"Existing Customer": "ลูกค้าปัจจุบัน",
|
||||
|
||||
@@ -48,7 +48,6 @@
|
||||
"Dead": "Ölü"
|
||||
},
|
||||
"source": {
|
||||
"": "Hiçbiri ",
|
||||
"Call": "Arama",
|
||||
"Email": "Eposta",
|
||||
"Existing Customer": "Varolan Müşteri",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "Мертвий"
|
||||
},
|
||||
"source": {
|
||||
"": "Немає",
|
||||
"Call": "Дзвінок",
|
||||
"Email": "Емейл",
|
||||
"Existing Customer": "Існуючий замовник",
|
||||
|
||||
@@ -42,7 +42,6 @@
|
||||
"Dead": "Chết"
|
||||
},
|
||||
"source": {
|
||||
"": "trống",
|
||||
"Call": "Gọi",
|
||||
"Existing Customer": "Khách hàng hiện có",
|
||||
"Partner": "Đối tác",
|
||||
|
||||
@@ -51,7 +51,6 @@
|
||||
"Dead": "没机会"
|
||||
},
|
||||
"source": {
|
||||
"": "无",
|
||||
"Call": "通话",
|
||||
"Email": "电子邮件",
|
||||
"Existing Customer": "现有客户",
|
||||
|
||||
@@ -52,7 +52,6 @@
|
||||
"Dead": "無結果"
|
||||
},
|
||||
"source": {
|
||||
"": "無結果",
|
||||
"Call": "通話",
|
||||
"Email": "電子郵件",
|
||||
"Existing Customer": "現有客戶",
|
||||
|
||||
@@ -171,7 +171,7 @@ class CaseObj extends Record
|
||||
*/
|
||||
protected function getLeadEmailAddress(CaseEntity $entity, array $dataList): ?stdClass
|
||||
{
|
||||
$lead = $this->entityManager->getEntity('Account', $entity->get('leadId'));
|
||||
$lead = $this->entityManager->getEntity('Lead', $entity->get('leadId'));
|
||||
|
||||
if (!$lead || !$lead->get('emailAddress')) {
|
||||
return null;
|
||||
|
||||
@@ -252,6 +252,10 @@ class Lead extends Record implements
|
||||
|
||||
$skipSave = false;
|
||||
|
||||
$contact = null;
|
||||
$account = null;
|
||||
$opportunity = null;
|
||||
|
||||
if (!empty($recordsData->Account)) {
|
||||
$account = $entityManager->getNewEntity('Account');
|
||||
|
||||
@@ -286,7 +290,7 @@ class Lead extends Record implements
|
||||
|
||||
$contact->set(get_object_vars($recordsData->Contact));
|
||||
|
||||
if (isset($account)) {
|
||||
if ($account && $account->hasId()) {
|
||||
$contact->set('accountId', $account->getId());
|
||||
}
|
||||
|
||||
@@ -321,11 +325,11 @@ class Lead extends Record implements
|
||||
|
||||
$opportunity->set(get_object_vars($recordsData->Opportunity));
|
||||
|
||||
if (isset($account)) {
|
||||
if ($account && $account->hasId()) {
|
||||
$opportunity->set('accountId', $account->getId());
|
||||
}
|
||||
|
||||
if (isset($contact)) {
|
||||
if ($contact && $contact->hasId()) {
|
||||
$opportunity->set('contactId', $contact->getId());
|
||||
}
|
||||
|
||||
@@ -341,6 +345,7 @@ class Lead extends Record implements
|
||||
$item = $e->getValueMap();
|
||||
$item->_entityType = $e->getEntityType();
|
||||
$duplicateList[] = $item;
|
||||
|
||||
$skipSave = true;
|
||||
}
|
||||
}
|
||||
@@ -349,7 +354,7 @@ class Lead extends Record implements
|
||||
if (!$skipSave) {
|
||||
$entityManager->saveEntity($opportunity);
|
||||
|
||||
if (isset($contact)) {
|
||||
if ($contact && $contact->hasId()) {
|
||||
$entityManager->getRDBRepository('Contact')->relate($contact, 'opportunities', $opportunity);
|
||||
}
|
||||
|
||||
@@ -378,17 +383,17 @@ class Lead extends Record implements
|
||||
->find();
|
||||
|
||||
foreach ($meetings as $meeting) {
|
||||
if (!empty($contact)) {
|
||||
if ($contact && $contact->hasId()) {
|
||||
$entityManager->getRDBRepository('Meeting')->relate($meeting, 'contacts', $contact);
|
||||
}
|
||||
|
||||
if (!empty($opportunity)) {
|
||||
if ($opportunity && $opportunity->hasId()) {
|
||||
$meeting->set('parentId', $opportunity->getId());
|
||||
$meeting->set('parentType', 'Opportunity');
|
||||
|
||||
$entityManager->saveEntity($meeting);
|
||||
}
|
||||
else if (!empty($account)) {
|
||||
else if ($account && $account->hasId()) {
|
||||
$meeting->set('parentId', $account->getId());
|
||||
$meeting->set('parentType', 'Account');
|
||||
|
||||
@@ -402,18 +407,17 @@ class Lead extends Record implements
|
||||
->find();
|
||||
|
||||
foreach ($calls as $call) {
|
||||
if (!empty($contact)) {
|
||||
$entityManager->getRDBRepository('Call')
|
||||
->relate($call, 'contacts', $contact);
|
||||
if ($contact && $contact->hasId()) {
|
||||
$entityManager->getRDBRepository('Call')->relate($call, 'contacts', $contact);
|
||||
}
|
||||
|
||||
if (!empty($opportunity)) {
|
||||
if ($opportunity && $opportunity->hasId()) {
|
||||
$call->set('parentId', $opportunity->getId());
|
||||
$call->set('parentType', 'Opportunity');
|
||||
|
||||
$entityManager->saveEntity($call);
|
||||
}
|
||||
else if (!empty($account)) {
|
||||
else if ($account && $account->hasId()) {
|
||||
$call->set('parentId', $account->getId());
|
||||
$call->set('parentType', 'Account');
|
||||
|
||||
@@ -427,13 +431,13 @@ class Lead extends Record implements
|
||||
->find();
|
||||
|
||||
foreach ($emails as $email) {
|
||||
if (!empty($opportunity)) {
|
||||
if ($opportunity && $opportunity->hasId()) {
|
||||
$email->set('parentId', $opportunity->getId());
|
||||
$email->set('parentType', 'Opportunity');
|
||||
|
||||
$entityManager->saveEntity($email);
|
||||
}
|
||||
else if (!empty($account)) {
|
||||
else if ($account && $account->hasId()) {
|
||||
$email->set('parentId', $account->getId());
|
||||
$email->set('parentType', 'Account');
|
||||
|
||||
@@ -447,11 +451,11 @@ class Lead extends Record implements
|
||||
->find();
|
||||
|
||||
foreach ($documents as $document) {
|
||||
if (!empty($account)) {
|
||||
if ($account && $account->hasId()) {
|
||||
$entityManager->getRDBRepository('Document')->relate($document, 'accounts', $account);
|
||||
}
|
||||
|
||||
if (!empty($opportunity)) {
|
||||
if ($opportunity && $opportunity->hasId()) {
|
||||
$entityManager->getRDBRepository('Document')->relate($document, 'opportunities', $opportunity);
|
||||
}
|
||||
}
|
||||
@@ -459,15 +463,15 @@ class Lead extends Record implements
|
||||
$streamService = $this->getStreamService();
|
||||
|
||||
if ($streamService->checkIsFollowed($lead, $this->getUser()->getId())) {
|
||||
if (!empty($opportunity)) {
|
||||
if ($opportunity && $opportunity->hasId()) {
|
||||
$streamService->followEntity($opportunity, $this->getUser()->getId());
|
||||
}
|
||||
|
||||
if (!empty($account)) {
|
||||
if ($account && $account->hasId()) {
|
||||
$streamService->followEntity($account, $this->getUser()->getId());
|
||||
}
|
||||
|
||||
if (!empty($contact)) {
|
||||
if ($contact && $contact->hasId()) {
|
||||
$streamService->followEntity($contact, $this->getUser()->getId());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -64,6 +64,8 @@ class LayoutSet extends \Espo\Core\Repositories\Database
|
||||
|
||||
protected function afterRemove(Entity $entity, array $options = [])
|
||||
{
|
||||
parent::afterRemove($entity);
|
||||
|
||||
$layoutList = $this->entityManager
|
||||
->getRDBRepository('LayoutRecord')
|
||||
->where([
|
||||
|
||||
@@ -1,29 +1,30 @@
|
||||
{
|
||||
"fields": {
|
||||
"user": "потребител",
|
||||
"action": "действие",
|
||||
"user": "Потребител",
|
||||
"action": "Действие",
|
||||
"createdAt": "Дата",
|
||||
"target": "Цел",
|
||||
"authToken": "Означението за удостоверяване",
|
||||
"targetType": "Тип обект",
|
||||
"authToken": "Токен за автентификация",
|
||||
"ipAddress": "IP адрес",
|
||||
"authLogRecord": "Упълномощаване Вход Record",
|
||||
"authLogRecord": "История на влизанията",
|
||||
"userType": "Тип потребител"
|
||||
},
|
||||
"links": {
|
||||
"authToken": "Означението за удостоверяване",
|
||||
"user": "потребител",
|
||||
"authToken": "Токен за автентификация",
|
||||
"user": "Потребител",
|
||||
"target": "Цел",
|
||||
"authLogRecord": "Упълномощаване Вход Record"
|
||||
"authLogRecord": "История на влизанията"
|
||||
},
|
||||
"presetFilters": {
|
||||
"onlyMy": "Само ми"
|
||||
"onlyMy": "Само мои"
|
||||
},
|
||||
"options": {
|
||||
"action": {
|
||||
"read": "Прочети",
|
||||
"update": "Актуализация",
|
||||
"delete": "Изтрий",
|
||||
"create": "създавам"
|
||||
"read": "Прочете",
|
||||
"update": "Редактира",
|
||||
"delete": "Изтри",
|
||||
"create": "Създаде"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,254 +1,271 @@
|
||||
{
|
||||
"labels": {
|
||||
"Enabled": "Пуснато",
|
||||
"Disabled": "Деактивиран",
|
||||
"Enabled": "Активирано",
|
||||
"Disabled": "Деактивирано",
|
||||
"System": "Система",
|
||||
"Users": "Потребители",
|
||||
"Email": "Електронна поща",
|
||||
"Data": "Данни",
|
||||
"Customization": "Персонализиране",
|
||||
"Available Fields": "Достъпни полета",
|
||||
"Available Fields": "Налични полета",
|
||||
"Layout": "Оформление",
|
||||
"Entity Manager": "Управител на субекти\n",
|
||||
"Entity Manager": "Мениджър на обекти",
|
||||
"Add Panel": "Добавяне на панел",
|
||||
"Add Field": "Добавяне на поле",
|
||||
"Settings": "Настройки",
|
||||
"Scheduled Jobs": "Планирани задачи",
|
||||
"Upgrade": "Подобряване на",
|
||||
"Clear Cache": "Изтрий кеш-памет",
|
||||
"Teams": "Отдели ",
|
||||
"Upgrade": "Обновяване",
|
||||
"Clear Cache": "Изтрий кеша",
|
||||
"Rebuild": "Оптимизиране",
|
||||
"Teams": "Отдели",
|
||||
"Roles": "Роли",
|
||||
"Portal": "Портал",
|
||||
"Portals": "Портали",
|
||||
"Portal Roles": "Portal Роли",
|
||||
"Portal Roles": "Роли в порталите",
|
||||
"Outbound Emails": "Изходящи имейли",
|
||||
"Group Email Accounts": "Групови имейл акаунти",
|
||||
"Personal Email Accounts": "Лични имейл акаунти",
|
||||
"Inbound Emails": "Входящи имейли",
|
||||
"Email Templates": "Шаблони за имейли",
|
||||
"Import": "Внасяне",
|
||||
"Layout Manager": "Шаблон на Мениджъра",
|
||||
"Import": "Импортиране",
|
||||
"Layout Manager": "Управление на оформлението",
|
||||
"User Interface": "Потребителски интерфейс",
|
||||
"Auth Tokens": "Удостоверения за достоверност",
|
||||
"Authentication": "заверка",
|
||||
"Currency": "Валута",
|
||||
"Auth Tokens": "Токени за удостоверяване",
|
||||
"Authentication": "Аутентификация",
|
||||
"Currency": "Валути",
|
||||
"Integrations": "Интеграции",
|
||||
"Extensions": "Разширения",
|
||||
"Upload": "Качи ",
|
||||
"Upload": "Качване",
|
||||
"Installing...": "Инсталира се ...",
|
||||
"Upgrading...": "Надгражда се ...",
|
||||
"Upgraded successfully": "Надстройката е успешна",
|
||||
"Upgrading...": "Обновява се ...",
|
||||
"Upgraded successfully": "Обновяването е успешно",
|
||||
"Installed successfully": "Инсталацията е успешна",
|
||||
"Ready for upgrade": "Готови ли сте за надстройката?",
|
||||
"Run Upgrade": "Изпълнение на надстройката",
|
||||
"Install": "Инсталирай",
|
||||
"Ready for upgrade": "Готови ли сте за обновяване?",
|
||||
"Run Upgrade": "Обновяване",
|
||||
"Install": "Инсталиране",
|
||||
"Ready for installation": "Готов за инсталиране",
|
||||
"Uninstalling...": "Деинсталира се ...",
|
||||
"Uninstalled": "Деинсталиран",
|
||||
"Create Entity": "Създаване на обект",
|
||||
"Edit Entity": "Редактиране на обект",
|
||||
"Create Link": "Създаване на връзка",
|
||||
"Edit Link": "Редактиране на връзка ",
|
||||
"Notifications": "Съобщения",
|
||||
"Create Link": "Създаване на релация",
|
||||
"Edit Link": "Редактиране на релация",
|
||||
"Notifications": "Известия",
|
||||
"Jobs": "Задачи",
|
||||
"Reset to Default": "Възстанови до първоначалното",
|
||||
"Email Filters": "Имайл филтри",
|
||||
"Portal Users": "потребители на портала",
|
||||
"Action History": "История за действие",
|
||||
"Label Manager": "мениджър Label",
|
||||
"Auth Log": "упълномощаване Вход",
|
||||
"Lead Capture": "Водещ Capture",
|
||||
"Attachments": "Прикачени",
|
||||
"Reset to Default": "Възстановяване по подразбиране",
|
||||
"Email Filters": "Имейл филтри",
|
||||
"Portal Users": "Потребители на портала",
|
||||
"Action History": "История за действия",
|
||||
"Label Manager": "Управление на преводи",
|
||||
"Auth Log": "История на влизанията",
|
||||
"Lead Capture": "Форма за потенциални продажби",
|
||||
"Attachments": "Прикачени файлове",
|
||||
"API Users": "API Потребители",
|
||||
"Template Manager": "Шаблон мениджър",
|
||||
"Template Manager": "Управление на шаблони",
|
||||
"System Requirements": "Системни изисквания",
|
||||
"PHP Settings": "PHP настройки",
|
||||
"Database Settings": "Настройки на бази данни",
|
||||
"Permissions": "Разрешения",
|
||||
"Success": "успех",
|
||||
"is recommended": "се препоръчва",
|
||||
"extension is missing": "разширение липсва",
|
||||
"Permissions": "Права",
|
||||
"Success": "Успешно",
|
||||
"Fail": "Неуспешно",
|
||||
"is recommended": "е препоръчително",
|
||||
"extension is missing": "разширението липсва",
|
||||
"PDF Templates": "PDF шаблони",
|
||||
"Dashboard Templates": "Шаблони за начално табло",
|
||||
"Email Addresses": "Имейл адреси",
|
||||
"Phone Numbers": "Телефонни номера"
|
||||
"Phone Numbers": "Телефонни номера",
|
||||
"Layout Sets": "Сетове от оформления",
|
||||
"Messaging": "Съобщения",
|
||||
"Misc": "Разни",
|
||||
"Job Settings": "Настройки на системни задачи",
|
||||
"Configuration Instructions": "Инструкции за конфигуриране",
|
||||
"Formula Sandbox": "Тестър за формули"
|
||||
},
|
||||
"layouts": {
|
||||
"list": "Списък",
|
||||
"list": "Лист",
|
||||
"detail": "Детайли",
|
||||
"listSmall": "Списък(Малък)",
|
||||
"listSmall": "Лист(Малък)",
|
||||
"detailSmall": "Детайли(Малък)",
|
||||
"filters": "Търсене на филтри",
|
||||
"massUpdate": "Актуализиране на всичко",
|
||||
"relationships": "Връзка панели",
|
||||
"sidePanelsDetail": "Страничните панели (подробности)",
|
||||
"sidePanelsEdit": "Страничните панели (Редактиране)",
|
||||
"sidePanelsDetailSmall": "Страничните панели (Подробности Small)",
|
||||
"sidePanelsEditSmall": "Страничните панели (Edit Small)",
|
||||
"detailPortal": "Подробности (портал)",
|
||||
"detailSmallPortal": "Подробности (Small, портал)",
|
||||
"listSmallPortal": "Списък (Small, портал)",
|
||||
"listPortal": "Списък (Portal)",
|
||||
"relationshipsPortal": "Връзка панели (Portal)"
|
||||
"filters": "Филтри за търсене",
|
||||
"massUpdate": "Масово обновяване",
|
||||
"relationships": "Панели с релации",
|
||||
"sidePanelsDetail": "Странични панели (Detail)",
|
||||
"sidePanelsEdit": "Странични панели (Edit)",
|
||||
"sidePanelsDetailSmall": "Странични панели (Detail small)",
|
||||
"sidePanelsEditSmall": "Странични панели (Edit Small)",
|
||||
"defaultSidePanel": "Полета в страничния панел",
|
||||
"bottomPanelsDetail": "Долни панели",
|
||||
"bottomPanelsEdit": "Долни панели (Edit)",
|
||||
"bottomPanelsDetailSmall": "Долни панели (Detail Small)",
|
||||
"bottomPanelsEditSmall": "Долни панели (Edit Small)"
|
||||
},
|
||||
"fieldTypes": {
|
||||
"address": "Адрес",
|
||||
"foreign": "Чуждестранен",
|
||||
"duration": "продължителност",
|
||||
"foreign": "Външно поле",
|
||||
"duration": "Продължителност",
|
||||
"password": "Парола",
|
||||
"personName": "име на лицето",
|
||||
"personName": "Име на лицето",
|
||||
"autoincrement": "Автоматично увеличаване",
|
||||
"bool": "Булева",
|
||||
"currency": "Валута",
|
||||
"date": "Дата",
|
||||
"email": "електронна поща",
|
||||
"float": "поплавък",
|
||||
"link": "връзка",
|
||||
"linkMultiple": "линк Множествена",
|
||||
"linkParent": "линк майка",
|
||||
"email": "Електронна поща",
|
||||
"phone": "Телефон",
|
||||
"text": "Текст",
|
||||
"varchar": "VARCHAR",
|
||||
"file": "Файл",
|
||||
"image": "Снимка",
|
||||
"attachmentMultiple": "Множествено Качване",
|
||||
"rangeCurrency": "Range валути",
|
||||
"attachmentMultiple": "Множество файлове",
|
||||
"wysiwyg": "WYSIWYG",
|
||||
"map": "карта",
|
||||
"map": "Карта",
|
||||
"currencyConverted": "Валута (изчислена)",
|
||||
"colorpicker": "Средство за избиране на цвят",
|
||||
"int": "цяло число",
|
||||
"colorpicker": "Избиране на цвят",
|
||||
"int": "Цяло число",
|
||||
"number": "Номер (автоматично увеличение)",
|
||||
"datetime": "Време за среща",
|
||||
"datetimeOptional": "Дата / Date-Time",
|
||||
"checklist": "списък за проверка",
|
||||
"linkOne": "Връзка Един от",
|
||||
"datetime": "Дата-час",
|
||||
"datetimeOptional": "Дата / Дата-час",
|
||||
"checklist": "Чеклист",
|
||||
"barcode": "Баркод"
|
||||
},
|
||||
"fields": {
|
||||
"type": "Тип",
|
||||
"name": "име",
|
||||
"label": "етикет",
|
||||
"required": "длъжен",
|
||||
"name": "Име",
|
||||
"label": "Наименование",
|
||||
"required": "Задължителен",
|
||||
"default": "По подразбиране",
|
||||
"maxLength": "Максимална дължина",
|
||||
"options": "Настроики",
|
||||
"options": "Опции за избиране",
|
||||
"after": "След (поле)",
|
||||
"before": "Преди (област)",
|
||||
"link": "връзка",
|
||||
"field": "поле",
|
||||
"translation": "превод",
|
||||
"previewSize": "Визуализация на размера",
|
||||
"defaultType": "По подразбиране Вид",
|
||||
"seeMoreDisabled": "Изключване Текст Cut",
|
||||
"entityList": "Entity Списък",
|
||||
"isSorted": "Се сортира (по азбучен ред)",
|
||||
"audited": "одитирания",
|
||||
"before": "Преди (поле)",
|
||||
"link": "Релация",
|
||||
"field": "Поле",
|
||||
"min": "Минимум",
|
||||
"max": "Максимум",
|
||||
"translation": "Превод",
|
||||
"previewSize": "Размер на preview",
|
||||
"defaultType": "Тип по подразбиране",
|
||||
"seeMoreDisabled": "Деактивиране на изрязването на текста",
|
||||
"entityList": "Списък с обекти",
|
||||
"isSorted": "Да се сортира (по азбучен ред)",
|
||||
"audited": "Одитирано поле",
|
||||
"trim": "Ограничаване",
|
||||
"height": "Височина (пиксела)",
|
||||
"minHeight": "Мин Височина (пиксела)",
|
||||
"provider": "доставчик",
|
||||
"minHeight": "Мин. височина (px)",
|
||||
"provider": "Доставчик",
|
||||
"typeList": "Вид Списък",
|
||||
"rows": "Брой редове на текстово поле",
|
||||
"lengthOfCut": "Дължина на рязане",
|
||||
"lengthOfCut": "Дължина на ограничаване",
|
||||
"sourceList": "Източник Списък",
|
||||
"tooltipText": "Подсказка Текст",
|
||||
"prefix": "префикс",
|
||||
"nextNumber": "Следваща Номер",
|
||||
"padLength": "Pad Дължина",
|
||||
"tooltipText": "Текст на подсказка",
|
||||
"prefix": "Префикс",
|
||||
"nextNumber": "Следващ номер",
|
||||
"padLength": "Дължина на числото (бр. символи)",
|
||||
"disableFormatting": "Изключване на форматиране",
|
||||
"dynamicLogicVisible": "Условия правят поле видима",
|
||||
"dynamicLogicReadOnly": "Условия правят поле само за четене",
|
||||
"dynamicLogicRequired": "Условия извършват необходимите поле",
|
||||
"dynamicLogicVisible": "Условия, които правят полето видимо",
|
||||
"dynamicLogicReadOnly": "Условия, които правят полето read-only",
|
||||
"dynamicLogicRequired": "Условия, които правят полето задължително",
|
||||
"dynamicLogicOptions": "Условни опции",
|
||||
"probabilityMap": "Етап Вероятности (%)",
|
||||
"probabilityMap": "Етапни вероятности (%)",
|
||||
"readOnly": "Само за четене",
|
||||
"noEmptyString": "Празен низ е позволено",
|
||||
"noEmptyString": "Не се допуска празна стойност на полето",
|
||||
"maxFileSize": "Максимален размер на файла (Mb)",
|
||||
"isPersonalData": "Дали на личните данни",
|
||||
"useIframe": "Използвайте Iframe",
|
||||
"useNumericFormat": "Използвайте Цифров формат",
|
||||
"strip": "Лента",
|
||||
"cutHeight": "Cut Височина (пиксели)",
|
||||
"minuteStep": "минути Стъпка",
|
||||
"inlineEditDisabled": "Изключване Редови",
|
||||
"displayAsLabel": "Показване като Label",
|
||||
"allowCustomOptions": "Позволете опции за персонализирано",
|
||||
"maxCount": "Макс т граф",
|
||||
"displayRawText": "Дисплей суров текст (не евтино)",
|
||||
"notActualOptions": "А не действителни Опции",
|
||||
"accept": "приемам",
|
||||
"displayAsList": "Посочете както Списък",
|
||||
"viewMap": "Вижте Карта Button",
|
||||
"codeType": "Код Вид",
|
||||
"lastChar": "Последно Character"
|
||||
"isPersonalData": "Това са лични данни",
|
||||
"useIframe": "Използване на iframe",
|
||||
"useNumericFormat": "Използване на числов формат",
|
||||
"strip": "Съкращаване",
|
||||
"cutHeight": "Височина на изрязане (px)",
|
||||
"minuteStep": "Стъпки за минути",
|
||||
"inlineEditDisabled": "Деактивиране на Inline редактиране",
|
||||
"displayAsLabel": "Показване като етикет",
|
||||
"allowCustomOptions": "Разрешаване на персонализирани опции",
|
||||
"maxCount": "Максимален брой артикули",
|
||||
"displayRawText": "Показване на суров текст (без форматиране)",
|
||||
"notActualOptions": "Не са реални опции",
|
||||
"accept": "Приемане",
|
||||
"displayAsList": "Показване като списък",
|
||||
"viewMap": "Показване на бутон за карта",
|
||||
"lastChar": "Последен знак",
|
||||
"listPreviewSize": "Размер за визуализация на изображението (preview)",
|
||||
"onlyDefaultCurrency": "Само валута по подразбиране",
|
||||
"dynamicLogicInvalid": "Условия, които правят полето невалидно",
|
||||
"conversionDisabled": "Деактивирайте преобразуването",
|
||||
"decimalPlaces": "Десетични знаци"
|
||||
},
|
||||
"messages": {
|
||||
"selectEntityType": "Изберете вида субект в лявото меню.",
|
||||
"selectUpgradePackage": "Изберете пакета за надстройване",
|
||||
"selectLayout": "Изберете нужната оформление в лявото меню и да го редактирате.",
|
||||
"selectExtensionPackage": "Изберете пакет удължаване",
|
||||
"extensionInstalled": "Удължаване {име} {} версия е инсталирана.",
|
||||
"installExtension": "Удължаване {име} {версия} е готова за монтаж.",
|
||||
"upgradeBackup": "Ние препоръчваме да направите резервно копие на вашите файлове и данни EspoCRM преди надстройката.",
|
||||
"thousandSeparatorEqualsDecimalMark": "Хилядите разделителни характер не може да бъде същата като знак след десетичната точка.",
|
||||
"selectEntityType": "Изберете вида обект от лявото меню.",
|
||||
"selectUpgradePackage": "Изберете архив, с който да направите обновяване",
|
||||
"selectLayout": "Изберете нужното оформление от лявото меню и го редактирайте.",
|
||||
"selectExtensionPackage": "Изберете архив, с който да качите разширението",
|
||||
"extensionInstalled": "Разширението {name} {version} е успешно инсталирано.",
|
||||
"installExtension": "Разширението {name} {version} е готово за инсталиране.",
|
||||
"upgradeBackup": "Препоръчваме да направите резервно копие на вашите EspoCRM файлове и данни преди обновяване.",
|
||||
"thousandSeparatorEqualsDecimalMark": "Знакът за разделител на хилядите не може да бъде същият като знака на десетичния знак.",
|
||||
"userHasNoEmailAddress": "Потребителят няма имейл адрес.",
|
||||
"uninstallConfirmation": "Сигурни ли сте, искате да деинсталирате разширението?",
|
||||
"cronIsNotConfigured": "Планирани работни места не се показват. Следователно входящи имейли, уведомления и напомняния не работят. Моля, следвайте инструкциите [] (https://www.espocrm.com/documentation/administration/server-configuration/#user-content-setup-a-crontab) до настройка на Cron работни места.",
|
||||
"newExtensionVersionIsAvailable": "New {extensionName} версия {latestVersion} е на разположение.",
|
||||
"upgradeVersion": "EspoCRM ще бъде подобрена версия ** {версия} **. Моля, бъдете търпеливи, тъй като това може да отнеме известно време.",
|
||||
"upgradeDone": "EspoCRM е подобрена версия ** {версия} **.",
|
||||
"downloadUpgradePackage": "Изтегляне ъпгрейд пакет (и) [тук] ({URL}).",
|
||||
"upgradeInfo": "Проверете [документация] ({URL}) за това как да обновите своя EspoCRM инстанция.",
|
||||
"upgradeRecommendation": "Този начин на модернизация не се препоръчва. По-добре е за ъпгрейд от CLI.",
|
||||
"newVersionIsAvailable": "New EspoCRM версия {latestVersion} е на разположение. Моля, следвайте инструкциите [] (https://www.espocrm.com/documentation/administration/upgrading/) за надграждане на вашата инстанция."
|
||||
"uninstallConfirmation": "Наистина ли искате да деинсталирате разширението?",
|
||||
"cronIsNotConfigured": "Планираните задачи не се изпълняват. Следователно входящите имейли, известията и напомнянията не работят. Моля, следвайте [инструкциите](https://www.espocrm.com/documentation/administration/server-configuration/#user-content-setup-a-crontab), за да настроите cron задача.",
|
||||
"newExtensionVersionIsAvailable": "Налична е нова версия за {extensionName} - {latestVersion}.",
|
||||
"upgradeVersion": "EspoCRM ще бъде надстроен до версия **{version}**. Моля, бъдете търпеливи, тъй като това може да отнеме известно време.",
|
||||
"upgradeDone": "EspoCRM е обновен до версия **{version}**.",
|
||||
"downloadUpgradePackage": "Изтегляне на обновления от [тук]({url}).",
|
||||
"upgradeInfo": "Проверете [документацията]({url}) за това как да обновите своята инстанция на EspoCRM.",
|
||||
"upgradeRecommendation": "Този начин на обновяване не се препоръчва. По-добре е да обновите от CLI.",
|
||||
"newVersionIsAvailable": "Налична е нова версия на EspoCRM {latestVersion}. Моля, следвайте [инструкциите](https://www.espocrm.com/documentation/administration/upgrading/), за да обновите вашата инстанция.",
|
||||
"formulaFunctions": "Още функции можете да намерите в [документацията]({documentationUrl}).",
|
||||
"rebuildRequired": "Трябва да регенерирате кеша на системата от CLI."
|
||||
},
|
||||
"descriptions": {
|
||||
"settings": "Системни настройки на приложение.",
|
||||
"scheduledJob": "Работа които се изпълняват от Cron.",
|
||||
"upgrade": "Подобрете EspoCRM.",
|
||||
"clearCache": "Изчистете всички задния кеш.",
|
||||
"rebuild": "Rebuild бекенд и ясно кеш.",
|
||||
"users": "управление на потребители.",
|
||||
"teams": "управление на екипи.",
|
||||
"roles": "управление на роли.",
|
||||
"portals": "управление портали.",
|
||||
"portalRoles": "Роли за портал.",
|
||||
"outboundEmails": "настройките на SMTP за изходящи писма.",
|
||||
"groupEmailAccounts": "Група IMAP имейл акаунти. Email внос и-мейл до дело.",
|
||||
"personalEmailAccounts": "Потребители имейл акаунти.",
|
||||
"settings": "Системни настройки на платформата.",
|
||||
"scheduledJob": "Задачи, които се изпълняват от Cronjob",
|
||||
"upgrade": "Обновяване на EspoCRM.",
|
||||
"clearCache": "Изчистване на целия back-end кеш.",
|
||||
"rebuild": "Регенериране на back-end кеша на системата.",
|
||||
"users": "Управление на потребители и акаунти в системата.",
|
||||
"teams": "Управление на екипи и отдели.",
|
||||
"roles": "Управление на роли на потребителите.",
|
||||
"portals": "Управление на външни портали към системата.",
|
||||
"portalRoles": "Роли за потребителите на външни портали към системата.",
|
||||
"outboundEmails": "SMTP настройки за изходящи имейли.",
|
||||
"groupEmailAccounts": "Групови IMAP имейл акаунти. Управление на хелпдеск и тикетинг функционалности.",
|
||||
"personalEmailAccounts": "Потребителски имейл акаунти.",
|
||||
"emailTemplates": "Шаблони за изходящи имейли.",
|
||||
"import": "Импортиране на данни от CSV файл.",
|
||||
"layoutManager": "Персонализиране на оформления (списък, детайлни, редактиране, търсене, актуализиране на маса).",
|
||||
"layoutManager": "Персонализиране на оформления (лист, детайли, редактиране, филтри за търсене, масови обновявания).",
|
||||
"userInterface": "Конфигуриране на UI.",
|
||||
"authTokens": "Активни тентните сесии. IP адрес и дата на достъп.",
|
||||
"authentication": "настройките за удостоверяване.",
|
||||
"authTokens": "Активни сесии за удостоверяване. Информация за IP адрес и дата на последен достъп.",
|
||||
"authentication": "Настройки за удостоверяване.",
|
||||
"currency": "Настройки на валута и цени.",
|
||||
"extensions": "Инсталирате или деинсталирате разширения.",
|
||||
"integrations": "Интеграция с услуги на трети страни.",
|
||||
"notifications": "В приложенията и настройките за известия по имейл.",
|
||||
"inboundEmails": "Настройки за входяща поща.",
|
||||
"portalUsers": "Потребителите на портала.",
|
||||
"entityManager": "Създаване и редактиране на потребителски организации. Управление на полета и взаимоотношения.",
|
||||
"emailFilters": "Имейл съобщенията, които съответстват на зададения филтър няма да се импортират.",
|
||||
"actionHistory": "Влезте от действията на потребителите.",
|
||||
"labelManager": "Персонализиране на етикети за кандидатстване.",
|
||||
"authLog": "Вход история.",
|
||||
"leadCapture": "входни точки API за уеб-към-клиент.",
|
||||
"extensions": "Инсталиране и премахване на разширения/плъгини.",
|
||||
"integrations": "Интеграция с външни услуги.",
|
||||
"notifications": "Настройки за известия и автоматични имейли в системата.",
|
||||
"inboundEmails": "Настройки за входящи имейли.",
|
||||
"portalUsers": "Потребители на портала.",
|
||||
"entityManager": "Създавайте и редактирайте персонализирани обекти. Управление на полета, релации, формули и оформление.",
|
||||
"emailFilters": "Имейл съобщенията, които отговарят на посочения филтър, няма да бъдат импортирани.",
|
||||
"actionHistory": "Логове от действията на потребителите.",
|
||||
"labelManager": "Управление на езици и текстове на форми и обекти.",
|
||||
"authLog": "История на влизане и удостоверяване",
|
||||
"leadCapture": "API параметри за Web-to-Lead форма.",
|
||||
"attachments": "Всички прикачени файлове, съхранявани в системата.",
|
||||
"templateManager": "Персонализиране на шаблонни съобщения.",
|
||||
"systemRequirements": "Системни изисквания за EspoCRM.",
|
||||
"apiUsers": "Отделни потребители за целите на интеграция.",
|
||||
"jobs": "Работа изпълняват задачи във фонов режим.",
|
||||
"pdfTemplates": "Шаблони за отпечатване на PDF.",
|
||||
"webhooks": "Управление webhooks.",
|
||||
"dashboardTemplates": "Внедряване на табла за управление на потребители.",
|
||||
"emailAddresses": "Всички emailes адреси, съхранявани в системата.",
|
||||
"phoneNumbers": "Всички телефонни номера, съхранени в системата."
|
||||
"apiUsers": "Отделяне на потребители за целите на интеграцията.",
|
||||
"jobs": "Задачите изпълняват други задачи във фонов режим.",
|
||||
"pdfTemplates": "Шаблони за генериране и отпечатване на PDF.",
|
||||
"webhooks": "Управление на Webhooks.",
|
||||
"dashboardTemplates": "Прилагане на шаблон върху потребители.",
|
||||
"phoneNumbers": "Всички телефонни номера, съхранени в системата.",
|
||||
"emailAddresses": "Всички имейл адреси, съхранявани в системата.",
|
||||
"layoutSets": "Колекции от оформления, които могат да бъдат приложени на отдели, потребители или портали.",
|
||||
"jobsSettings": "Настройки за обработка на системни задачи. Задачите изпълняват други действия във фонов режим.",
|
||||
"sms": "SMS настройки.",
|
||||
"formulaSandbox": "Може да пишете и тествате скриптове за формули, преди да ги приложите в системата."
|
||||
},
|
||||
"options": {
|
||||
"previewSize": {
|
||||
"x-small": "Много малък",
|
||||
"small": "Малък",
|
||||
"medium": "Среден",
|
||||
"large": "Голям"
|
||||
"large": "Голям",
|
||||
"": "По подразбиране"
|
||||
}
|
||||
},
|
||||
"logicalOperators": {
|
||||
@@ -257,22 +274,29 @@
|
||||
"not": "НЕ"
|
||||
},
|
||||
"systemRequirements": {
|
||||
"requiredPhpVersion": "PHP версия",
|
||||
"requiredMysqlVersion": "MySQL версия",
|
||||
"host": "Сървър",
|
||||
"dbname": "Име на базата данни",
|
||||
"user": "потребителско име",
|
||||
"writable": "писане",
|
||||
"readable": "четлив",
|
||||
"user": "Потребителско име",
|
||||
"requiredMariadbVersion": "MariaDB версия"
|
||||
},
|
||||
"templates": {
|
||||
"accessInfo": "Информация за достъп",
|
||||
"accessInfoPortal": "Access Info за портали",
|
||||
"assignment": "назначение",
|
||||
"mention": "Споменавам",
|
||||
"noteEmailReceived": "Забележка за което ще получи Email",
|
||||
"notePost": "Забележка за публикация",
|
||||
"notePostNoParent": "Забележка за публикация (без майка)",
|
||||
"noteStatus": "Забележка за Актуализация на състоянието",
|
||||
"passwordChangeLink": "Промяна на паролата за връзка"
|
||||
"accessInfoPortal": "Информация за достъп до портали",
|
||||
"assignment": "Назначение",
|
||||
"mention": "Споменаване",
|
||||
"notePost": "Бележка за публикация",
|
||||
"notePostNoParent": "Бележка за публикация (без основен запис)",
|
||||
"noteStatus": "Бележка за актуализация на статус",
|
||||
"passwordChangeLink": "Връзка за промяна на паролата",
|
||||
"noteEmailReceived": "Съобщение за получен имейл",
|
||||
"twoFactorCode": "2FA код"
|
||||
},
|
||||
"strings": {
|
||||
"rebuildRequired": "Нужно е регенериране на кеша на системата"
|
||||
},
|
||||
"keywords": {
|
||||
"settings": "Система"
|
||||
}
|
||||
}
|
||||
@@ -1,5 +1,5 @@
|
||||
{
|
||||
"labels": {
|
||||
"Create ApiUser": "Създаване на API на потребителя"
|
||||
"Create ApiUser": "Създаване на потребител на API"
|
||||
}
|
||||
}
|
||||
@@ -1,27 +1,27 @@
|
||||
{
|
||||
"insertFromSourceLabels": {
|
||||
"Document": "Поставете документа"
|
||||
"Document": "Качете документа"
|
||||
},
|
||||
"fields": {
|
||||
"role": "роля",
|
||||
"role": "Роля",
|
||||
"related": "Свързани",
|
||||
"file": "досие",
|
||||
"file": "Файл",
|
||||
"type": "Тип",
|
||||
"field": "поле",
|
||||
"field": "Поле",
|
||||
"sourceId": "Източник ID",
|
||||
"storage": "съхранение",
|
||||
"storage": "Съхранение",
|
||||
"size": "Размер (байта)"
|
||||
},
|
||||
"options": {
|
||||
"role": {
|
||||
"Attachment": "Прикачен файл",
|
||||
"Inline Attachment": "Inline Приложение",
|
||||
"Import File": "внос на файла",
|
||||
"Export File": "износ на файла",
|
||||
"Mass Pdf": "Маса Pdf"
|
||||
"Inline Attachment": "Прикачен файл",
|
||||
"Import File": "Импортиране на файл",
|
||||
"Export File": "Експортиране на файл",
|
||||
"Mass Pdf": "Масово експортиране на PDf"
|
||||
}
|
||||
},
|
||||
"presetFilters": {
|
||||
"orphan": "сирак"
|
||||
"orphan": "Изоставени файлове"
|
||||
}
|
||||
}
|
||||
@@ -2,35 +2,35 @@
|
||||
"fields": {
|
||||
"username": "Потребител",
|
||||
"ipAddress": "IP адрес",
|
||||
"requestTime": "Заявка за времето",
|
||||
"createdAt": "поискано",
|
||||
"isDenied": "е отказан",
|
||||
"denialReason": "отказ Причина",
|
||||
"portal": "портал",
|
||||
"user": "потребител",
|
||||
"authToken": "Означението за удостоверяване Създадена",
|
||||
"requestTime": "Дата и време на заявката",
|
||||
"createdAt": "Дата и време на заявката",
|
||||
"isDenied": "Е неуспешно",
|
||||
"denialReason": "Причина за отказ",
|
||||
"portal": "Портал",
|
||||
"user": "Потребител",
|
||||
"authToken": "Създаден токън за автентификация",
|
||||
"requestUrl": "URL адрес на заявката",
|
||||
"requestMethod": "Заявка Метод",
|
||||
"authTokenIsActive": "Означението за удостоверяване е активен",
|
||||
"requestMethod": "Метод на заявката",
|
||||
"authTokenIsActive": "Сесията е активна",
|
||||
"authenticationMethod": "Метод за удостоверяване"
|
||||
},
|
||||
"links": {
|
||||
"authToken": "Означението за удостоверяване Създадена",
|
||||
"user": "потребител",
|
||||
"portal": "портал",
|
||||
"authToken": "Създаден токън за автентификация",
|
||||
"user": "Потребител",
|
||||
"portal": "Портал",
|
||||
"actionHistoryRecords": "История за действие"
|
||||
},
|
||||
"presetFilters": {
|
||||
"denied": "Отказан",
|
||||
"accepted": "общоприет"
|
||||
"denied": "Неуспешен",
|
||||
"accepted": "Успешен"
|
||||
},
|
||||
"options": {
|
||||
"denialReason": {
|
||||
"CREDENTIALS": "Невалидни идентификационни данни",
|
||||
"INACTIVE_USER": "Inactive потребител",
|
||||
"IS_PORTAL_USER": "портал на потребителя",
|
||||
"IS_NOT_PORTAL_USER": "Не портал на потребителя",
|
||||
"USER_IS_NOT_IN_PORTAL": "Потребителят не е свързан с портала"
|
||||
"INACTIVE_USER": "Деактивиран потребител",
|
||||
"IS_PORTAL_USER": "Потребителят е към външен портал",
|
||||
"IS_NOT_PORTAL_USER": "Потребителят не е към външен портал",
|
||||
"USER_IS_NOT_IN_PORTAL": "Потребителят не е свързан с този портал"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,23 +1,23 @@
|
||||
{
|
||||
"fields": {
|
||||
"user": "потребител",
|
||||
"user": "Потребител",
|
||||
"ipAddress": "IP адрес",
|
||||
"lastAccess": "Дата Последен достъп",
|
||||
"createdAt": "Вход Дата",
|
||||
"isActive": "е активен",
|
||||
"portal": "портал"
|
||||
"lastAccess": "Дата на последен достъп",
|
||||
"createdAt": "Дата на влизане",
|
||||
"isActive": "Е активен",
|
||||
"portal": "Портал"
|
||||
},
|
||||
"links": {
|
||||
"actionHistoryRecords": "История за действие"
|
||||
},
|
||||
"presetFilters": {
|
||||
"active": "Активен",
|
||||
"inactive": "неактивен"
|
||||
"inactive": "Неактивен"
|
||||
},
|
||||
"labels": {
|
||||
"Set Inactive": "Комплект Inactive"
|
||||
"Set Inactive": "Задай като неактивен"
|
||||
},
|
||||
"massActions": {
|
||||
"setInactive": "Комплект Inactive"
|
||||
"setInactive": "Задай като неактивен"
|
||||
}
|
||||
}
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user