first commit

This commit is contained in:
CHIEFSOFT\ameye
2024-06-08 17:09:23 -04:00
commit df3a033196
17887 changed files with 8637778 additions and 0 deletions
@@ -0,0 +1,371 @@
<?php
/**
* @file plugins/reports/articles/ArticleReportPlugin.php
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class ArticleReportPlugin
*
* @ingroup plugins_reports_article
*
* @brief Article report plugin
*/
namespace APP\plugins\reports\articles;
use APP\decision\Decision;
use APP\facades\Repo;
use PKP\core\PKPString;
use PKP\db\DAORegistry;
use PKP\facades\Locale;
use PKP\plugins\ReportPlugin;
use PKP\security\Role;
use PKP\stageAssignment\StageAssignmentDAO;
use PKP\submission\PKPSubmission;
use PKP\submission\SubmissionAgencyDAO;
use PKP\submission\SubmissionDisciplineDAO;
use PKP\submission\SubmissionKeywordDAO;
use PKP\submission\SubmissionSubjectDAO;
class ArticleReportPlugin extends ReportPlugin
{
/**
* @copydoc Plugin::register()
*
* @param null|mixed $mainContextId
*/
public function register($category, $path, $mainContextId = null)
{
$success = parent::register($category, $path, $mainContextId);
$this->addLocaleData();
return $success;
}
/**
* Get the name of this plugin. The name must be unique within
* its category.
*
* @return string name of plugin
*/
public function getName()
{
return 'ArticleReportPlugin';
}
/**
* @copydoc Plugin::getDisplayName()
*/
public function getDisplayName()
{
return __('plugins.reports.articles.displayName');
}
/**
* @copydoc Plugin::getDescriptionName()
*/
public function getDescription()
{
return __('plugins.reports.articles.description');
}
/**
* @copydoc ReportPlugin::display()
*/
public function display($args, $request)
{
$context = $request->getContext();
$acronym = PKPString::regexp_replace('/[^A-Za-z0-9 ]/', '', $context->getLocalizedAcronym());
// Prepare for UTF8-encoded CSV output.
header('content-type: text/comma-separated-values');
header('content-disposition: attachment; filename=articles-' . $acronym . '-' . date('Ymd') . '.csv');
$fp = fopen('php://output', 'wt');
// Add BOM (byte order mark) to fix UTF-8 in Excel
fprintf($fp, chr(0xEF) . chr(0xBB) . chr(0xBF));
$stageAssignmentDao = DAORegistry::getDAO('StageAssignmentDAO'); /** @var StageAssignmentDAO $stageAssignmentDao */
$submissionKeywordDao = DAORegistry::getDAO('SubmissionKeywordDAO'); /** @var SubmissionKeywordDAO $submissionKeywordDao */
$submissionSubjectDao = DAORegistry::getDAO('SubmissionSubjectDAO'); /** @var SubmissionSubjectDAO $submissionSubjectDao */
$submissionDisciplineDao = DAORegistry::getDAO('SubmissionDisciplineDAO'); /** @var SubmissionDisciplineDAO $submissionDisciplineDao */
$submissionAgencyDao = DAORegistry::getDAO('SubmissionAgencyDAO'); /** @var SubmissionAgencyDAO $submissionAgencyDao */
$userGroups = Repo::userGroup()->getCollector()
->filterByContextIds([$context->getId()])
->getMany()
->toArray();
$editorUserGroupIds = array_map(function ($userGroup) {
return $userGroup->getId();
}, array_filter($userGroups, function ($userGroup) {
return in_array($userGroup->getRoleId(), [Role::ROLE_ID_MANAGER, Role::ROLE_ID_SUB_EDITOR]);
}));
// Load the data from the database and store it in an array.
// (This must be stored before display because we won't know the data
// dimensions until it has all been loaded.)
$results = $sectionTitles = [];
$collector = Repo::submission()->getCollector()->filterByContextIds([$context->getId()]);
$submissions = $collector->getMany();
$maxAuthors = $maxEditors = $maxDecisions = 0;
foreach ($submissions as $submission) {
$publication = $submission->getCurrentPublication();
$maxAuthors = max($maxAuthors, count($publication->getData('authors')));
$editDecisions = Repo::decision()->getCollector()
->filterBySubmissionIds([$submission->getId()])
->getMany();
$statusMap = $submission->getStatusMap();
// Count the highest number of decisions per editor.
$editDecisionsPerEditor = [];
foreach ($editDecisions as $editDecision) {
$editorId = $editDecision->getData('editorId');
$editDecisionsPerEditor[$editorId] = ($editDecisionsPerEditor[$editorId] ?? 0) + 1;
$maxDecisions = max($maxDecisions, $editDecisionsPerEditor[$editorId]);
}
// Load editor and decision information
$stageAssignmentsFactory = $stageAssignmentDao->getBySubmissionAndStageId($submission->getId());
$editors = $editorsById = [];
while ($stageAssignment = $stageAssignmentsFactory->next()) {
$userId = $stageAssignment->getUserId();
if (!in_array($stageAssignment->getUserGroupId(), $editorUserGroupIds)) {
continue;
}
if (isset($editors[$userId])) {
continue;
}
if (!isset($editorsById[$userId])) {
$editor = Repo::user()->get($userId, true);
$editorsById[$userId] = [
$editor->getLocalizedGivenName(),
$editor->getLocalizedFamilyName(),
$editor->getData('orcid'),
$editor->getEmail(),
];
}
$editors[$userId] = $editorsById[$userId];
$maxEditors = max($maxEditors, count($editors));
}
// Load section title information
$sectionId = $publication->getData('sectionId');
if ($sectionId && !isset($sectionTitles[$sectionId])) {
$section = Repo::section()->get($sectionId);
$sectionTitles[$sectionId] = $section->getLocalizedTitle();
}
$subjects = $submissionSubjectDao->getSubjects($submission->getCurrentPublication()->getId());
$disciplines = $submissionDisciplineDao->getDisciplines($submission->getCurrentPublication()->getId());
$keywords = $submissionKeywordDao->getKeywords($submission->getCurrentPublication()->getId());
$agencies = $submissionAgencyDao->getAgencies($submission->getCurrentPublication()->getId());
// Store the submission results
$results[] = [
'submissionId' => $submission->getId(),
'title' => htmlspecialchars($publication->getLocalizedFullTitle(null, 'html')),
'abstract' => html_entity_decode(strip_tags($publication->getLocalizedData('abstract'))),
'authors' => array_map(function ($author) {
return [
$author->getLocalizedGivenName(),
$author->getLocalizedFamilyName(),
$author->getData('orcid'),
$author->getData('country'),
$author->getLocalizedData('affiliation'),
$author->getData('email'),
$author->getData('url'),
html_entity_decode(strip_tags($author->getLocalizedData('biography'))),
];
}, $publication->getData('authors')->values()->toArray()),
'sectionTitle' => $sectionTitles[$sectionId] ?? '',
'language' => $publication->getData('locale'),
'coverage' => $publication->getLocalizedData('coverage'),
'rights' => $publication->getLocalizedData('rights'),
'source' => $publication->getLocalizedData('source'),
'subjects' => join(', ', $subjects[Locale::getLocale()] ?? $subjects[$submission->getLocale()] ?? []),
'type' => $publication->getLocalizedData('type'),
'disciplines' => join(', ', $disciplines[Locale::getLocale()] ?? $disciplines[$submission->getLocale()] ?? []),
'keywords' => join(', ', $keywords[Locale::getLocale()] ?? $keywords[$submission->getLocale()] ?? []),
'agencies' => join(', ', $agencies[Locale::getLocale()] ?? $agencies[$submission->getLocale()] ?? []),
'status' => $submission->getStatus() == PKPSubmission::STATUS_QUEUED ? $this->getStageLabel($submission->getStageId()) : __($statusMap[$submission->getStatus()]),
'url' => $request->url(null, 'workflow', 'access', $submission->getId()),
'doi' => $submission->getStoredPubId('doi'),
'dateSubmitted' => $submission->getDateSubmitted(),
'lastModified' => $submission->getLastModified(),
'firstPublished' => $submission->getOriginalPublication()?->getData('datePublished') ?? '',
'editors' => $editors,
'decisions' => $editDecisions->toArray(),
];
}
// Build and display the column headers.
$columns = [
__('article.submissionId'),
__('article.title'),
__('article.abstract')
];
$authorColumnCount = $editorColumnCount = $decisionColumnCount = 0;
for ($a = 1; $a <= $maxAuthors; $a++) {
$columns = array_merge($columns, $authorColumns = [
__('user.givenName') . ' (' . __('user.role.author') . " {$a})",
__('user.familyName') . ' (' . __('user.role.author') . " {$a})",
__('user.orcid') . ' (' . __('user.role.author') . " {$a})",
__('common.country') . ' (' . __('user.role.author') . " {$a})",
__('user.affiliation') . ' (' . __('user.role.author') . " {$a})",
__('user.email') . ' (' . __('user.role.author') . " {$a})",
__('user.url') . ' (' . __('user.role.author') . " {$a})",
__('user.biography') . ' (' . __('user.role.author') . " {$a})"
]);
$authorColumnCount = count($authorColumns);
}
$columns = array_merge($columns, [
__('section.title'),
__('common.language'),
__('article.coverage'),
__('submission.rights'),
__('submission.source'),
__('common.subjects'),
__('common.type'),
__('search.discipline'),
__('common.keywords'),
__('submission.supportingAgencies'),
__('common.status'),
__('common.url'),
__('metadata.property.displayName.doi'),
__('common.dateSubmitted'),
__('submission.lastModified'),
__('submission.firstPublished'),
]);
for ($e = 1; $e <= $maxEditors; $e++) {
$columns = array_merge($columns, $editorColumns = [
__('user.givenName') . ' (' . __('user.role.editor') . " {$e})",
__('user.familyName') . ' (' . __('user.role.editor') . " {$e})",
__('user.orcid') . ' (' . __('user.role.editor') . " {$e})",
__('user.email') . ' (' . __('user.role.editor') . " {$e})",
]);
$editorColumnCount = count($editorColumns);
for ($d = 1; $d <= $maxDecisions; $d++) {
$columns = array_merge($columns, $decisionColumns = [
__('submission.editorDecision') . " {$d} " . ' (' . __('user.role.editor') . " {$e})",
__('common.dateDecided') . " {$d} " . ' (' . __('user.role.editor') . " {$e})"
]);
$decisionColumnCount = count($decisionColumns);
}
}
fputcsv($fp, array_values($columns));
// Display the data rows.
foreach ($results as $result) {
$row = [];
foreach ($result as $column => $value) {
switch ($column) {
case 'authors':
for ($i = 0; $i < $maxAuthors; $i++) {
$row = array_merge($row, $value[$i] ?? array_fill(0, $authorColumnCount, ''));
}
break;
case 'editors':
$editorIds = array_keys($value);
$editorEntries = array_values($value);
for ($i = 0; $i < $maxEditors; $i++) {
$submissionHasThisEditor = isset($editorEntries[$i]);
$row = array_merge($row, $submissionHasThisEditor ? $editorEntries[$i] : array_fill(0, $editorColumnCount, ''));
for ($j = 0; $j < $maxDecisions; $j++) {
if (!$submissionHasThisEditor) {
$row = array_merge($row, array_fill(0, $decisionColumnCount, ''));
continue;
}
$editorId = $editorIds[$i];
$latestDecision = $latestDecisionDate = '';
$decisionCounter = 0;
foreach ($result['decisions'] as $decision) {
if ($decision->getData('editorId') != $editorId) {
continue;
}
if ($j != $decisionCounter++) {
continue;
}
$latestDecision = $this->getDecisionMessage($decision->getData('decision'));
$latestDecisionDate = $decision->getData('dateDecided');
}
$row = array_merge($row, [$latestDecision, $latestDecisionDate]);
}
}
break;
case 'decisions':
break; // Handled in the 'editors' case
default: $row[] = $value; // Other columns can be sent as they are.
}
}
fputcsv($fp, $row);
}
fclose($fp);
}
/**
* Get stage label
*
* @param int $stageId WORKFLOW_STAGE_ID_...
*
* @return string
*/
public function getStageLabel($stageId)
{
switch ($stageId) {
case WORKFLOW_STAGE_ID_SUBMISSION:
return __('submission.submission');
case WORKFLOW_STAGE_ID_EXTERNAL_REVIEW:
return __('submission.review');
case WORKFLOW_STAGE_ID_EDITING:
return __('submission.copyediting');
case WORKFLOW_STAGE_ID_PRODUCTION:
return __('submission.production');
}
return '';
}
/**
* Get decision message
*
* @param int $decision Decision::*...
*
* @return string
*/
public function getDecisionMessage($decision)
{
switch ($decision) {
case Decision::ACCEPT:
return __('editor.submission.decision.accept');
case Decision::PENDING_REVISIONS:
return __('editor.submission.decision.requestRevisions');
case Decision::RESUBMIT:
return __('editor.submission.decision.resubmit');
case Decision::DECLINE:
return __('editor.submission.decision.decline');
case Decision::SEND_TO_PRODUCTION:
return __('editor.submission.decision.sendToProduction');
case Decision::EXTERNAL_REVIEW:
return __('editor.submission.decision.sendExternalReview');
case Decision::INITIAL_DECLINE:
return __('editor.submission.decision.decline');
case Decision::RECOMMEND_ACCEPT:
return __('editor.submission.recommendation.display', ['recommendation' => __('editor.submission.decision.accept')]);
case Decision::RECOMMEND_DECLINE:
return __('editor.submission.recommendation.display', ['recommendation' => __('editor.submission.decision.decline')]);
case Decision::RECOMMEND_PENDING_REVISIONS:
return __('editor.submission.recommendation.display', ['recommendation' => __('editor.submission.decision.requestRevisions')]);
case Decision::RECOMMEND_RESUBMIT:
return __('editor.submission.recommendation.display', ['recommendation' => __('editor.submission.decision.resubmit')]);
default:
return '';
}
}
}
+14
View File
@@ -0,0 +1,14 @@
<?php
/**
* @file plugins/reports/articles/index.php
*
* Copyright (c) 2014-2022 Simon Fraser University
* Copyright (c) 2003-2022 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @brief Wrapper for article report plugin.
*
*/
return new \APP\plugins\reports\articles\ArticleReportPlugin();
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "تقرير المقالات"
msgid "plugins.reports.articles.description"
msgstr ""
"هذه الإضافة تعطي تقريراً بصيغة CSV يضم قائمة المقالات وما يتعلق بها من "
"معلومات."
msgid "plugins.reports.articles.nodecision"
msgstr "لا قرار"
@@ -0,0 +1,24 @@
# Osman Durmaz <osmandurmaz@hotmail.de>, 2023.
msgid ""
msgstr ""
"PO-Revision-Date: 2023-06-01 22:17+0000\n"
"Last-Translator: Osman Durmaz <osmandurmaz@hotmail.de>\n"
"Language-Team: Azerbaijani <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/az/>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Məqalə hesabatı"
msgid "plugins.reports.articles.description"
msgstr ""
"Bu əlavə məqalə və məqalə məlumatını ehtiva edən CSV formatında bir hesabat "
"hazırlayır."
msgid "plugins.reports.articles.nodecision"
msgstr "Qərar yoxdur"
@@ -0,0 +1,24 @@
# Cyril Kamburov <cc@intermedia.bg>, 2021.
msgid ""
msgstr ""
"PO-Revision-Date: 2021-09-25 15:30+0000\n"
"Last-Translator: Cyril Kamburov <cc@intermedia.bg>\n"
"Language-Team: Bulgarian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/bg_BG/>\n"
"Language: bg_BG\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Отчет за статии"
msgid "plugins.reports.articles.description"
msgstr ""
"Тази добавка (плъгин) реализира CSV отчет, съдържащ списък на статии и "
"тяхната информация."
msgid "plugins.reports.articles.nodecision"
msgstr "Без решение"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:48-07:00\n"
"PO-Revision-Date: 2019-09-30T06:56:48-07:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Informe d'articles"
msgid "plugins.reports.articles.description"
msgstr ""
"Aquest connector implementa un informe en format CSV que conté una llista "
"d'articles i la informació relacionada."
msgid "plugins.reports.articles.nodecision"
msgstr "Cap decisió"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-04-14 13:48+0000\n"
"Last-Translator: Hewa Salam Khalid <hewa.salam@koyauniversity.org>\n"
"Language-Team: Kurdish <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/ku_IQ/>\n"
"Language: ku_IQ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "ڕاپۆرتی توێژینەوەکان"
msgid "plugins.reports.articles.description"
msgstr ""
"ئەم گرێدانە ڕاپۆرتێک بە شێوەی CSV پێشکەش دەکات، کە لیستی توێژینەوەکان و "
"زانیاریی توێژینەوەکانی تێدایە."
msgid "plugins.reports.articles.nodecision"
msgstr "هیچ بڕیارێک بەردەست نییە"
@@ -0,0 +1,22 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Report článků"
msgid "plugins.reports.articles.description"
msgstr ""
"Tento plugin zavádí CSV report obsahující seznam článků a informací o nich."
msgid "plugins.reports.articles.nodecision"
msgstr "Žádné rozhodnutí"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikelrapport"
msgid "plugins.reports.articles.description"
msgstr ""
"Denne plugin genererer en CSV-rapport indeholdende en liste over artikler og "
"deres information."
msgid "plugins.reports.articles.nodecision"
msgstr "Ingen beslutning"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:48-07:00\n"
"PO-Revision-Date: 2019-09-30T06:56:48-07:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikel-Bericht"
msgid "plugins.reports.articles.description"
msgstr ""
"Dieses Plugin implementiert einen CSV-Bericht mit einer Auflistung der "
"Artikel und zugehörigen Informationen."
msgid "plugins.reports.articles.nodecision"
msgstr "Keine Entscheidung"
@@ -0,0 +1,8 @@
# Weblate Admin <alec@smecher.bc.ca>, 2023.
msgid ""
msgstr ""
"Language: dsb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Weblate\n"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-11-17 18:56+0000\n"
"Last-Translator: Evangelos Papakirykou <vpapakir@gmail.com>\n"
"Language-Team: Greek <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/el_GR/>\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Αναφορά άρθρων"
msgid "plugins.reports.articles.description"
msgstr ""
"Αυτό το πρόσθετο δημιουργεί μια αναφορά CSV που περιέχει τη λίστα των άρθρων "
"και τις αντίστοιχες πληροφορίες τους."
msgid "plugins.reports.articles.nodecision"
msgstr "Δεν έχει καταγραφεί απόφαση"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:48-07:00\n"
"PO-Revision-Date: 2019-09-30T06:56:48-07:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Articles Report"
msgid "plugins.reports.articles.description"
msgstr ""
"This plugin implements a CSV report containing a list of articles and their "
"info."
msgid "plugins.reports.articles.nodecision"
msgstr "No Decision"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Informe de Artículos"
msgid "plugins.reports.articles.description"
msgstr ""
"Este módulo genera un informe CSV que contiene una lista de artículos y su "
"información."
msgid "plugins.reports.articles.nodecision"
msgstr "Sin decisión"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikuluen txostena"
msgid "plugins.reports.articles.description"
msgstr ""
"Plugin honek artikuluen eta haien informazioaren zerrenda ematen du CSV "
"txosten batean."
msgid "plugins.reports.articles.nodecision"
msgstr "Erabakirik ez"
@@ -0,0 +1,21 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "گزارش مقالات"
msgid "plugins.reports.articles.description"
msgstr "این افزونه گزارشی از مقالات و اطلاعات آن‌ها با فرمت CSV تهیه میکند."
msgid "plugins.reports.articles.nodecision"
msgstr "بدون تصمیم"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikkelit-raportti"
msgid "plugins.reports.articles.description"
msgstr ""
"Tällä lisäosalla otetaan käyttöön CSV-muotoinen raportti, joka sisältää "
"listan artikkeleista ja niiden tiedoista."
msgid "plugins.reports.articles.nodecision"
msgstr "Ei päätöstä"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:48-07:00\n"
"PO-Revision-Date: 2019-09-30T06:56:48-07:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Rapport d'articles"
msgid "plugins.reports.articles.description"
msgstr ""
"Ce plugiciel met en place un rapport CSV contenant une liste d'articles et "
"les informations y étant reliées."
msgid "plugins.reports.articles.nodecision"
msgstr "Aucune décision"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-08-21 14:48+0000\n"
"Last-Translator: Paul Heckler <paul.d.heckler@gmail.com>\n"
"Language-Team: French <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/fr/>\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Rapport d'articles"
msgid "plugins.reports.articles.description"
msgstr ""
"Ce module met en place un rapport CSL contenant une liste d'articles ainsi "
"que leurs informations."
msgid "plugins.reports.articles.nodecision"
msgstr "Aucune décision"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-06-18 10:03+0000\n"
"Last-Translator: Real Academia Galega <reacagal@gmail.com>\n"
"Language-Team: Galician <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/gl_ES/>\n"
"Language: gl_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Informe de artigos"
msgid "plugins.reports.articles.description"
msgstr ""
"Este complemento implementa un informe CSV que contén unha lista de artigos "
"e a súa información."
msgid "plugins.reports.articles.nodecision"
msgstr "Sin decisión"
@@ -0,0 +1,22 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:04+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:04+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Izvještaj o člancima"
msgid "plugins.reports.articles.description"
msgstr ""
"Ovaj dodatak stvara CSV izvještaj sa listom članaka i informacijama o njima."
msgid "plugins.reports.articles.nodecision"
msgstr "Odluka: NEMA"
@@ -0,0 +1,8 @@
# Weblate Admin <alec@smecher.bc.ca>, 2023.
msgid ""
msgstr ""
"Language: hsb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Weblate\n"
@@ -0,0 +1,22 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-13T21:07:39+00:00\n"
"PO-Revision-Date: 2020-02-13T21:07:39+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Cikkek jelentése"
msgid "plugins.reports.articles.description"
msgstr ""
"Ez a plugin létrehoz egy CSV listát a cikkekről és azok információiról."
msgid "plugins.reports.articles.nodecision"
msgstr "Nincs döntés"
@@ -0,0 +1,25 @@
# Artashes Mirzoyan <amirzoyan@sci.am>, 2022.
# Tigran Zargaryan <tigran@flib.sci.am>, 2022.
msgid ""
msgstr ""
"PO-Revision-Date: 2022-06-29 18:50+0000\n"
"Last-Translator: Tigran Zargaryan <tigran@flib.sci.am>\n"
"Language-Team: Armenian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/hy_AM/>\n"
"Language: hy_AM\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Հոդվածների հաշվետվություններ"
msgid "plugins.reports.articles.description"
msgstr ""
"Այս փլագինը իրականացնում է CSV զեկույց, որը պարունակում է հոդվածների ցանկը և "
"դրանց մասին տեղեկությունները:"
msgid "plugins.reports.articles.nodecision"
msgstr "Ոչ մի որոշում"
@@ -0,0 +1,25 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2020-02-03 06:35+0000\n"
"Last-Translator: Ramli Baharuddin <ramli.baharuddin@relawanjurnal.id>\n"
"Language-Team: Indonesian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/id/>\n"
"Language: id_ID\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Laporan Artikel"
msgid "plugins.reports.articles.description"
msgstr ""
"Plugin ini menerapkan laporan CSV yang berisi daftar artikel dan info mereka."
msgid "plugins.reports.articles.nodecision"
msgstr "Tidak ada keputusan"
@@ -0,0 +1,24 @@
# Kolbrun Reynisdottir <kolla@probus.is>, 2022.
msgid ""
msgstr ""
"PO-Revision-Date: 2022-02-10 00:38+0000\n"
"Last-Translator: Kolbrun Reynisdottir <kolla@probus.is>\n"
"Language-Team: Icelandic <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/is_IS/>\n"
"Language: is_IS\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n % 10 != 1 || n % 100 == 11;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Greinaskýrsla"
msgid "plugins.reports.articles.description"
msgstr ""
"Þessi viðbót setur upp CSV skýrslu sem inniheldur lista yfir greinar og "
"upplýsingar um þær."
msgid "plugins.reports.articles.nodecision"
msgstr "Engin ákvörðun"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:05+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Report sugli articoli"
msgid "plugins.reports.articles.description"
msgstr ""
"Questo plugin genera un file CSV contenente una lista di articoli e loro "
"informazioni."
msgid "plugins.reports.articles.nodecision"
msgstr "Nessuna decisione"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-02-07 10:53+0000\n"
"Last-Translator: Dimitri Gogelia <dimitri.gogelia@iliauni.edu.ge>\n"
"Language-Team: Georgian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/ka_GE/>\n"
"Language: ka_GE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "მოდული „ანგარიშგება სტატიების შესახებ“"
msgid "plugins.reports.articles.description"
msgstr ""
"აგენერირებს ანგარიშგებებს CSV ფორმატში, რომელიც შეიცავს სტატიების სიას და "
"ინფორმაციას მათ შესახებ."
msgid "plugins.reports.articles.nodecision"
msgstr "არ არის გადაწყვეტილება"
@@ -0,0 +1,24 @@
# Madi <nmdbzk@gmail.com>, 2021.
msgid ""
msgstr ""
"PO-Revision-Date: 2021-07-14 06:04+0000\n"
"Last-Translator: Madi <nmdbzk@gmail.com>\n"
"Language-Team: Kazakh <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/kk_KZ/>\n"
"Language: kk_KZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "\"Мақалалар туралы есеп\" модулі"
msgid "plugins.reports.articles.description"
msgstr ""
"Мақалаларды және олар туралы ақпаратты қамтитын CSV форматындағы есепті "
"жүзеге асырады."
msgid "plugins.reports.articles.nodecision"
msgstr "Таңдау жоқ"
@@ -0,0 +1,21 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-09-11 10:49+0000\n"
"Last-Translator: Hyongjun Choi <chj2812@dankook.ac.kr>\n"
"Language-Team: Korean <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/ko_KR/>\n"
"Language: ko_KR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "논문 리포트"
msgid "plugins.reports.articles.description"
msgstr "이 플러그인은 논문 목록과 정보를 담은 CSV 파일을 제공합니다."
msgid "plugins.reports.articles.nodecision"
msgstr "결정되지 않음"
@@ -0,0 +1,24 @@
# Mahmut VURAL <mahmut.vural@outlook.com>, 2024.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-01-02 18:44+0000\n"
"Last-Translator: Mahmut VURAL <mahmut.vural@outlook.com>\n"
"Language-Team: Kyrgyz <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/ky/>\n"
"Language: ky\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18.2\n"
msgid "plugins.reports.articles.displayName"
msgstr "«Макалалар боюнча отчет» модулу"
msgid "plugins.reports.articles.description"
msgstr ""
"Макалалардын тизмесин жана алар жөнүндө маалыматты камтыган CSV форматындагы "
"отчетту ишке ашырат."
msgid "plugins.reports.articles.nodecision"
msgstr "Чечим жок"
@@ -0,0 +1,25 @@
# Ieva Tiltina <pastala@gmail.com>, 2023.
msgid ""
msgstr ""
"PO-Revision-Date: 2023-09-14 19:02+0000\n"
"Last-Translator: Ieva Tiltina <pastala@gmail.com>\n"
"Language-Team: Latvian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/lv/>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= "
"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Rakstu pārskats"
msgid "plugins.reports.articles.description"
msgstr ""
"Šis spraudnis nodrošina atskaiti CSV formātā, kurā ir saraksts ar rakstiem "
"un informāciju par tiem."
msgid "plugins.reports.articles.nodecision"
msgstr "Nav lēmuma"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-12-25 11:52+0000\n"
"Last-Translator: Teodora Fildishevska <t.fildishevska@gmail.com>\n"
"Language-Team: Macedonian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/mk_MK/>\n"
"Language: mk_MK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Извештај за трудови"
msgid "plugins.reports.articles.description"
msgstr ""
"Овој плагин прикажува CSV извештај кој содржи листа од трудови и нивни "
"информации."
msgid "plugins.reports.articles.nodecision"
msgstr "Нема одлука"
@@ -0,0 +1,24 @@
# Muhd Muaz <muazhero61@yahoo.com>, 2021.
msgid ""
msgstr ""
"PO-Revision-Date: 2021-10-20 21:22+0000\n"
"Last-Translator: Muhd Muaz <muazhero61@yahoo.com>\n"
"Language-Team: Malay <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/ms/>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Laporan Artikel"
msgid "plugins.reports.articles.description"
msgstr ""
"Plugin ini menerapkan laporan CSV yang mengandungi senarai artikel dan "
"maklumatnya."
msgid "plugins.reports.articles.nodecision"
msgstr "Tiada Keputusan"
@@ -0,0 +1,26 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2020-10-19 15:22+0000\n"
"Last-Translator: Eirik Hanssen <eirikh@oslomet.no>\n"
"Language-Team: Norwegian Bokmål <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/nb_NO/>\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikkelrapport"
msgid "plugins.reports.articles.description"
msgstr ""
"Dette programtillegget implementerer en CSV-rapport som inneholder en liste "
"av artikler og tilhørende informasjon."
msgid "plugins.reports.articles.nodecision"
msgstr "Ingen beslutning"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:05+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikelrapport"
msgid "plugins.reports.articles.description"
msgstr ""
"Deze plugin implementeert een CSV rapport met een lijst artikels en hun "
"info."
msgid "plugins.reports.articles.nodecision"
msgstr "Geen beslissing"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:05+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Raport z artykułami"
msgid "plugins.reports.articles.description"
msgstr ""
"Wtyczka umożliwia wygenerowanie raportu w formacie CSV zawierającego listę "
"wszystkich artykułów oraz informacji o nich."
msgid "plugins.reports.articles.nodecision"
msgstr "Brak decyzji"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T11:58:35-07:00\n"
"PO-Revision-Date: 2019-09-30T11:58:35-07:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Relatório de artigos"
msgid "plugins.reports.articles.description"
msgstr ""
"Este plugin implementa um relatório no formato CSV (planilha eletrônica) "
"contendo a lista de artigos e seus dados."
msgid "plugins.reports.articles.nodecision"
msgstr "Sem decisão"
@@ -0,0 +1,26 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2020-06-15 16:01+0000\n"
"Last-Translator: Carla Marques <carla.marques@sdum.uminho.pt>\n"
"Language-Team: Portuguese (Portugal) <http://translate.pkp.sfu.ca/projects/"
"ojs/reports-articles/pt_PT/>\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Plugin de Relatório de Artigos"
msgid "plugins.reports.articles.description"
msgstr ""
"Este plugin implementa um relatório em CSV contendo a lista de artigos e os "
"seus dados."
msgid "plugins.reports.articles.nodecision"
msgstr "Sem decisão"
@@ -0,0 +1,22 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:05+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Модуль «Отчет о статьях»"
msgid "plugins.reports.articles.description"
msgstr ""
"Реализует отчет в формате CSV, содержащий список статей и информацию о них."
msgid "plugins.reports.articles.nodecision"
msgstr "Нет решения"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-10-08 07:07+0000\n"
"Last-Translator: Miroslav Chladný <klwngbnl@zeroe.ml>\n"
"Language-Team: Slovak <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/sk_SK/>\n"
"Language: sk_SK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Report článkov"
msgid "plugins.reports.articles.description"
msgstr ""
"Tento plugin zavádza CSV report obsahujúci zoznam článkov a informácií o "
"nich."
msgid "plugins.reports.articles.nodecision"
msgstr "Žiadne rozhodnutie"
@@ -0,0 +1,22 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:05+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:05+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Poročilo o prispevkih"
msgid "plugins.reports.articles.description"
msgstr ""
"Vtičnik implementira CSV poročilo s seznamom prispevkov in njihovih podatkov."
msgid "plugins.reports.articles.nodecision"
msgstr "Ni odločitve"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:06+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Izveštaj o člancima"
msgid "plugins.reports.articles.description"
msgstr ""
"Ovaj dodatak primenjuje CVS izveštaj koji sadrži listu članaka i informacije "
"o njima."
msgid "plugins.reports.articles.nodecision"
msgstr "Nema odluke"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:06+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "Artikelrapport"
msgid "plugins.reports.articles.description"
msgstr ""
"Ett plugin som skapar en CSV-rapport med en lista av artiklar och "
"information om dem."
msgid "plugins.reports.articles.nodecision"
msgstr "Inget beslut"
@@ -0,0 +1,26 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2020-02-21 17:02+0000\n"
"Last-Translator: Osman Durmaz <osmandurmaz@hotmail.de>\n"
"Language-Team: Turkish <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/tr/>\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Makale Raporu"
msgid "plugins.reports.articles.description"
msgstr ""
"Bu eklenti makale ve makale bilgisini içeren CSV formatında bir rapor "
"hazırlar."
msgid "plugins.reports.articles.nodecision"
msgstr "Karar Yok"
@@ -0,0 +1,27 @@
# Petro Bilous <petrobilous@ukr.net>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2023-04-29 14:49+0000\n"
"Last-Translator: Petro Bilous <petrobilous@ukr.net>\n"
"Language-Team: Ukrainian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-articles/uk/>\n"
"Language: uk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Звіт про статті"
msgid "plugins.reports.articles.description"
msgstr ""
"Цей плагін реалізує звіт CSV, що містить список статей та інформацію про них."
msgid "plugins.reports.articles.nodecision"
msgstr "Немає рішення"
@@ -0,0 +1,15 @@
msgid ""
msgstr ""
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Weblate\n"
msgid "plugins.reports.articles.displayName"
msgstr ""
msgid "plugins.reports.articles.description"
msgstr ""
msgid "plugins.reports.articles.nodecision"
msgstr ""
@@ -0,0 +1,24 @@
# Ruslan Shodmonov <belovedspy1209@gmail.com>, 2021.
msgid ""
msgstr ""
"PO-Revision-Date: 2021-09-10 08:45+0000\n"
"Last-Translator: Ruslan Shodmonov <belovedspy1209@gmail.com>\n"
"Language-Team: Uzbek <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/uz_UZ@latin/>\n"
"Language: uz_UZ@latin\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Maqolalar bo'yicha hisobot"
msgid "plugins.reports.articles.description"
msgstr ""
"Ushbu plagin maqolalar ro'yxati va ularning ma'lumotlarini o'z ichiga olgan "
"CSV hisobotini amalga oshiradi."
msgid "plugins.reports.articles.nodecision"
msgstr "Qaror yo'q"
@@ -0,0 +1,23 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-04-29 07:38+0000\n"
"Last-Translator: Tran Ngoc Trung <khuchatthienduong@gmail.com>\n"
"Language-Team: Vietnamese <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"articles/vi_VN/>\n"
"Language: vi_VN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "Báo cáo các bài báo"
msgid "plugins.reports.articles.description"
msgstr ""
"Plugin này thực hiện báo cáo CSV chứa danh sách các bài báo và thông tin của "
"nó."
msgid "plugins.reports.articles.nodecision"
msgstr "Không có quyết định"
@@ -0,0 +1,21 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-04T08:59:14-08:00\n"
"PO-Revision-Date: 2019-11-04T08:59:14-08:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.articles.displayName"
msgstr "文章报告"
msgid "plugins.reports.articles.description"
msgstr "本插件实现了一个包含文章列表及其信息的CSV报告。"
msgid "plugins.reports.articles.nodecision"
msgstr "没有决策"
@@ -0,0 +1,22 @@
# Katie Cheng <ckykatie@hkbu.edu.hk>, 2022.
msgid ""
msgstr ""
"PO-Revision-Date: 2022-09-28 11:01+0000\n"
"Last-Translator: Katie Cheng <ckykatie@hkbu.edu.hk>\n"
"Language-Team: Chinese (Traditional) <http://translate.pkp.sfu.ca/projects/"
"ojs/reports-articles/zh_Hant/>\n"
"Language: zh_Hant\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.articles.displayName"
msgstr "文章報告"
msgid "plugins.reports.articles.description"
msgstr "此插件提供一個載有文章及其資料的CSV報告。"
msgid "plugins.reports.articles.nodecision"
msgstr "未有決定"
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE version SYSTEM "../../../lib/pkp/dtd/pluginVersion.dtd">
<!--
* plugins/reports/articles/version.xml
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* Plugin version information.
-->
<version>
<application>articles</application>
<type>plugins.reports</type>
<release>1.0.0.0</release>
<date>2009-07-13</date>
</version>
@@ -0,0 +1,232 @@
<?php
/**
* @file plugins/reports/counter/CounterReportPlugin.php
*
* Copyright (c) 2014-2022 Simon Fraser University
* Copyright (c) 2003-2022 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @class CounterReportPlugin
*
* @brief Counter report plugin
*/
namespace APP\plugins\reports\counter;
use APP\core\Application;
use APP\core\Services;
use APP\notification\NotificationManager;
use APP\statistics\StatisticsHelper;
use APP\template\TemplateManager;
use PKP\notification\PKPNotification;
use PKP\plugins\ReportPlugin;
class CounterReportPlugin extends ReportPlugin
{
public const COUNTER_CLASS_SUFFIX = '.php';
/**
* @copydoc Plugin::register()
*
* @param null|mixed $mainContextId
*/
public function register($category, $path, $mainContextId = null)
{
$success = parent::register($category, $path, $mainContextId);
if ($success) {
$this->addLocaleData();
}
return $success;
}
/**
* @see PKPPlugin::getName()
*/
public function getName()
{
return 'CounterReportPlugin';
}
/**
* @see PKPPlugin::getDisplayName()
*/
public function getDisplayName()
{
return __('plugins.reports.counter');
}
/**
* @see PKPPlugin::getDescription()
*/
public function getDescription()
{
return __('plugins.reports.counter.description');
}
/**
* Get the latest counter release
*
* @return string
*/
public function getCurrentRelease()
{
return '4.1';
}
/**
* List the valid reports
* Must exist in the report path as {Report}_r{release}.php
*
* @return array multidimentional array release => array( report => reportClassName )
*/
public function getValidReports()
{
$reports = [];
$prefix = "{$this->getReportPath()}/" . classes\CounterReport::COUNTER_CLASS_PREFIX;
$suffix = self::COUNTER_CLASS_SUFFIX;
foreach (glob($prefix . '*' . $suffix) as $file) {
$report_name = substr($file, strlen($prefix), -strlen($suffix));
$report_class_file = substr($file, strlen($prefix), -strlen(self::COUNTER_CLASS_SUFFIX));
$reports[$report_name] = $report_class_file;
}
return $reports;
}
/**
* Get a COUNTER Reporter Object
* Must exist in the report path as {Report}_r{release}.php
*
* @param string $report Report name
* @param string $release release identifier
*
* @return object
*/
public function getReporter($report, $release)
{
$reportClass = '\\APP\\plugins\\reports\\counter\\classes\\reports\\' . classes\CounterReport::COUNTER_CLASS_PREFIX . $report;
return class_exists($reportClass) ? new $reportClass($release) : false;
}
/**
* Get classes path for this plugin.
*
* @return string Path to plugin's classes
*/
public function getClassPath()
{
return "{$this->getPluginPath()}/classes";
}
/**
* Return the report path
*
* @return string
*/
public function getReportPath()
{
return "{$this->getClassPath()}/reports";
}
/**
* @see ReportPlugin::display()
*/
public function display($args, $request)
{
$available = $this->getValidReports();
$years = $this->_getYears();
if ($request->getUserVar('type')) {
$type = (string) $request->getUserVar('type');
$errormessage = '';
switch ($type) {
case 'fetch':
// Modern COUNTER Releases
// must provide a release, report, and year parameter
$release = $request->getUserVar('release');
$report = $request->getUserVar('report');
$year = $request->getUserVar('year');
if ($release && $report && $year) {
// release, report and year parameters must be sane
if ($release == $this->getCurrentRelease() && isset($available[$report]) && in_array($year, $years)) {
// try to get the report
$reporter = $this->getReporter($report, $release);
if ($reporter) {
// default report parameters with a yearlong range
$reportItems = $reporter->getReportItems([], ['dateStart' => $year . '-01-01', 'dateEnd' => $year . '-12-31']);
if ($reportItems) {
$xmlResult = $reporter->createXML($reportItems);
if ($xmlResult) {
header('content-type: text/xml');
header('content-disposition: attachment; filename=counter-' . $release . '-' . $report . '-' . date('Ymd') . '.xml');
echo $xmlResult;
return;
} else {
$errormessage = __('plugins.reports.counter.error.noXML');
}
} else {
$errormessage = __('plugins.reports.counter.error.noResults');
}
}
}
}
// fall through to default case with error message
if (!$errormessage) {
$errormessage = __('plugins.reports.counter.error.badParameters');
}
// no break
default:
if (!$errormessage) {
$errormessage = __('plugins.reports.counter.error.badRequest');
}
$user = $request->getUser();
$notificationManager = new NotificationManager();
$notificationManager->createTrivialNotification($user->getId(), PKPNotification::NOTIFICATION_TYPE_ERROR, ['contents' => $errormessage]);
}
}
$templateManager = TemplateManager::getManager();
krsort($available);
$templateManager->assign('pluginName', $this->getName());
$templateManager->assign('available', $available);
$templateManager->assign('release', $this->getCurrentRelease());
$templateManager->assign('years', $years);
$templateManager->assign([
'breadcrumbs' => [
[
'id' => 'reports',
'name' => __('manager.statistics.reports'),
'url' => $request->getRouter()->url($request, null, 'stats', 'reports'),
],
[
'id' => 'counter',
'name' => __('plugins.reports.counter')
],
],
'pageTitle', __('plugins.reports.counter')
]);
$templateManager->display($this->getTemplateResource('index.tpl'));
}
/**
* Get the years for which log entries exist in the DB.
*
* @return array
*/
public function _getYears()
{
$filters = [
'dateStart' => StatisticsHelper::STATISTICS_EARLIEST_DATE,
'dateEnd' => date('Y-m-d', strtotime('yesterday')),
'contextIds' => [Application::get()->getRequest()->getContext()->getId()],
'assocTypes' => [Application::ASSOC_TYPE_SUBMISSION_FILE]
];
$metricsQB = Services::get('publicationStats')->getQueryBuilder($filters);
$metricsQB = $metricsQB->getSum([StatisticsHelper::STATISTICS_DIMENSION_YEAR]);
$metricsQB->orderBy(StatisticsHelper::STATISTICS_DIMENSION_YEAR, StatisticsHelper::STATISTICS_ORDER_ASC);
$results = $metricsQB->get()->toArray();
$years = array_map(function ($n) {
return substr($n, 0, 4);
}, array_column($results, 'year'));
return $years;
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,339 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program 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 2 of the License, or
(at your option) any later version.
This program 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 this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
@@ -0,0 +1,11 @@
# COUNTER Reports classes
Convenience interface to PHP's DOMDocument for the Project COUNTER schema
Copyright 2015 (c) University of Pittsburgh
Licensed under GPL 2.0 or later
## DESCRIPTION
See the PHPDoc for COUNTER.php for DESCRIPTION
@@ -0,0 +1,364 @@
<?php
/**
* @file plugins/reports/counter/classes/CounterReport.php
*
* Copyright (c) 2014 University of Pittsburgh
* Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING.
*
* @class CounterReport
*
* @ingroup plugins_reports_counter
*
* @brief A COUNTER report, base class
*/
namespace APP\plugins\reports\counter\classes;
require_once(dirname(__FILE__, 2) . '/classes/COUNTER/COUNTER.php');
use APP\core\Application;
use APP\statistics\StatisticsHelper;
use COUNTER\Contact;
use COUNTER\Customer;
use COUNTER\DateRange;
use COUNTER\Metric;
use COUNTER\Report;
use COUNTER\Reports;
use COUNTER\Vendor;
use DateTime;
use Exception;
use PKP\core\PKPString;
use PKP\db\DBResultRange;
define('COUNTER_EXCEPTION_WARNING', 0);
define('COUNTER_EXCEPTION_ERROR', 1);
define('COUNTER_EXCEPTION_PARTIAL_DATA', 4);
define('COUNTER_EXCEPTION_NO_DATA', 8);
define('COUNTER_EXCEPTION_BAD_COLUMNS', 16);
define('COUNTER_EXCEPTION_BAD_FILTERS', 32);
define('COUNTER_EXCEPTION_BAD_ORDERBY', 64);
define('COUNTER_EXCEPTION_BAD_RANGE', 128);
define('COUNTER_EXCEPTION_INTERNAL', 256);
// COUNTER as of yet is not internationalized and requires English constants
define('COUNTER_LITERAL_ARTICLE', 'Article');
define('COUNTER_LITERAL_JOURNAL', 'Journal');
define('COUNTER_LITERAL_PROPRIETARY', 'Proprietary');
class CounterReport
{
public const COUNTER_CLASS_PREFIX = 'CounterReport';
/**
* @var string $_release A COUNTER release number
*/
public $_release;
/**
* @var array $_errors An array of accumulated Exceptions
*/
public $_errors;
/**
* Constructor
*
* @param string $release
*/
public function __construct($release)
{
$this->_release = $release;
}
/**
* Get the COUNTER Release
*
* @return $string
*/
public function getRelease()
{
return $this->_release;
}
/**
* Get the report code
*
* @return $string
*/
public function getCode()
{
return substr(get_class($this), strlen(self::COUNTER_CLASS_PREFIX));
}
/**
* Get the COUNTER metric type for an Statistics file type
*
* @param string $filetype
*
* @return string
*/
public function getKeyForFiletype($filetype)
{
switch ($filetype) {
case StatisticsHelper::STATISTICS_FILE_TYPE_HTML:
$metricTypeKey = 'ft_html';
break;
case StatisticsHelper::STATISTICS_FILE_TYPE_PDF:
$metricTypeKey = 'ft_pdf';
break;
case StatisticsHelper::STATISTICS_FILE_TYPE_OTHER:
default:
$metricTypeKey = 'other';
}
return $metricTypeKey;
}
/**
* Abstract method must be implemented in the child class
* Get the report title
*
* @return $string
*/
public function getTitle()
{
assert(false);
}
/**
* Convert an OJS metrics request to COUNTER ReportItems
* Abstract method must be implemented by subclass
*
* @param string|array $columns column (aggregation level) selection
* @param array $filters report-level filter selection
* @param array $orderBy order criteria
* @param null|DBResultRange $range paging specification
*
* @see ReportPlugin::getMetrics for more details on parameters
*
* @return array ReportItem array
*/
public function getReportItems($columns = [], $filters = [], $orderBy = [], $range = null)
{
assert(false);
}
/**
* Get an array of errors
*
* @return array of Exceptions
*/
public function getErrors()
{
return $this->_errors ? $this->_errors : [];
}
/**
* Set an errors condition; Proper Exception handling is deferred until the OJS 3.0 Release
*
* @param Exception $error
*/
public function setError($error)
{
if (!$this->_errors) {
$this->_errors = [];
}
array_push($this->_errors, $error);
}
/**
* Ensure that the $filters do not exceed the current Context
*
* @param array() $filters
*
* @return array()
*/
protected function filterForContext($filters)
{
$request = Application::get()->getRequest();
$journal = $request->getContext();
$journalId = $journal ? $journal->getId() : '';
// If the request context is at the journal level, the dimension context id must be that same journal id
if ($journalId) {
if (isset($filters['contextIds']) && $filters['contextIds'] != $journalId) {
$this->setError(new Exception(__('plugins.reports.counter.generic.exception.filter'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_FILTERS));
}
$filters['contextIds'] = [$journalId];
}
return $filters;
}
/**
* Given a Year-Month period and array of PerformanceCounters, create a Metric
*
* @param string $period Date in the format Y-m-01 for month
* @param array $counters PerformanceCounter array
*
* @return Metric
*/
protected function createMetricByMonth($period, $counters)
{
$metric = [];
try {
$metric = new Metric(
// Date range for JR1 is beginning of the month to end of the month
new DateRange(
DateTime::createFromFormat('Y-m-d H:i:s', $period . ' 00:00:00'),
DateTime::createFromFormat('Y-m-d H:i:s', substr($period, 0, 8) . date('t', strtotime($period)) . ' 23:59:59')
),
'Requests',
$counters
);
} catch (Exception $e) {
$this->setError($e, COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_INTERNAL);
}
return $metric;
}
/**
* Construct a Reports result containing the provided performance metrics
*
* @param array $reportItems ReportItem
*
* @return ?string xml
*/
public function createXML($reportItems)
{
$errors = $this->getErrors();
$fatal = false;
foreach ($errors as $error) {
if ($error->getCode() & COUNTER_EXCEPTION_ERROR) {
$fatal = true;
}
}
if (!$fatal) {
try {
$report = new Reports(
new Report(
PKPString::generateUUID(),
$this->getRelease(),
$this->getCode(),
$this->getTitle(),
new Customer(
'0', // customer id is unused
$reportItems,
__('plugins.reports.counter.allCustomers')
),
new Vendor(
$this->getVendorID(),
$this->getVendorName(),
$this->getVendorContacts(),
$this->getVendorWebsiteUrl(),
$this->getVendorLogoUrl()
)
)
);
} catch (Exception $e) {
$this->setError($e, COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_INTERNAL);
}
if (isset($report)) {
return (string) $report;
}
}
return;
}
/**
* Get the Vendor Id
*
* @return $string
*/
public function getVendorId()
{
return $this->_getVendorComponent('id');
}
/**
* Get the Vendor Name
*
* @return $string
*/
public function getVendorName()
{
return (string) $this->_getVendorComponent('name');
}
/**
* Get the Vendor Contacts
*
* @return array() Contact
*/
public function getVendorContacts()
{
return $this->_getVendorComponent('contacts');
}
/**
* Get the Vendor Website URL
*
* @return string
*/
public function getVendorWebsiteUrl()
{
return $this->_getVendorComponent('website');
}
/**
* Get the Vendor Contacts
*
* @return array Contact
*/
public function getVendorLogoUrl()
{
return $this->_getVendorComponent('logo');
}
/**
* Get the Vendor Component by key
*
* @param string $key
*/
public function _getVendorComponent($key)
{
$request = Application::get()->getRequest();
$site = $request->getSite();
$context = $request->getContext();
$contextDao = Application::getContextDAO();
$availableContexts = $contextDao->getAvailable();
[$firstContext, $secondContext] = [$availableContexts->next(), $availableContexts->next()];
switch ($key) {
case 'name':
if ($secondContext) { // Multiple contexts
$name = $site->getLocalizedTitle();
} else {
$name = $context->getData('publisherInstitution');
if (empty($name)) {
$name = $context->getLocalizedName();
}
}
return $name;
case 'id':
return $request->getBaseUrl();
case 'contacts':
try {
if ($secondContext) { // Multiple contexts
$contactName = $site->getLocalizedContactName();
$contactEmail = $site->getLocalizedContactEmail();
} else {
$contactName = $context->getContactName();
$contactEmail = $context->getContactEmail();
}
$contact = new Contact($contactName, $contactEmail);
} catch (Exception $e) {
$this->setError($e);
$contact = [];
}
return $contact;
case 'website':
return $request->getBaseUrl();
case 'logo':
return '';
default:
return;
}
}
}
@@ -0,0 +1,221 @@
<?php
/**
* @file plugins/reports/counter/classes/reports/CounterReportAR1.php
*
* Copyright (c) 2014 University of Pittsburgh
* Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING.
*
* @class CounterReportAR1
*
* @brief Article Report 1
*/
namespace APP\plugins\reports\counter\classes\reports;
use APP\core\Application;
use APP\core\Services;
use APP\facades\Repo;
use APP\journal\JournalDAO;
use APP\plugins\reports\counter\classes\CounterReport;
use APP\statistics\StatisticsHelper;
use COUNTER\Identifier;
use COUNTER\ParentItem;
use COUNTER\PerformanceCounter;
use COUNTER\ReportItems;
use Exception;
use PKP\db\DAORegistry;
use PKP\db\DBResultRange;
use PKP\plugins\PluginRegistry;
class CounterReportAR1 extends CounterReport
{
/**
* Get the report title
*
* @return $string
*/
public function getTitle()
{
return __('plugins.reports.counter.ar1.title');
}
/**
* Convert an OJS metrics request to a COUNTER ReportItem
*
* @param string|array $columns column (aggregation level) selection
* @param array $filters report-level filter selection
* @param array $orderBy order criteria
* @param null|DBResultRange $range paging specification
*
* @see ReportPlugin::getMetrics for more details
*
* @return array ReportItem
*/
public function getReportItems($columns = [], $filters = [], $orderBy = [], $range = null)
{
// Columns are fixed for this report
$defaultColumns = [StatisticsHelper::STATISTICS_DIMENSION_MONTH, StatisticsHelper::STATISTICS_DIMENSION_SUBMISSION_ID];
if ($columns && array_diff($columns, $defaultColumns)) {
$this->setError(new Exception(__('plugins.reports.counter.exception.column'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_COLUMNS));
}
// Check filters for correct context(s)
$validFilters = $this->filterForContext($filters);
// Filters defaults to last month, but can be provided by month or by day (which is defined in the $columns)
if (!isset($filters['dateStart']) && !isset($filters['dateEnd'])) {
$validFilters['dateStart'] = date_format(date_create('first day of previous month'), 'Ymd');
$validFilters['dateEnd'] = date_format(date_create('last day of previous month'), 'Ymd');
} elseif (!isset($filters['dateStart']) || !isset($filters['dateEnd'])) {
// either start or end date not set
$this->setError(new Exception(__('plugins.reports.counter.exception.filter'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_FILTERS));
} elseif (isset($filters['dateStart']) && isset($filters['dateEnd'])) {
$validFilters['dateStart'] = $filters['dateStart'];
$validFilters['dateEnd'] = $filters['dateEnd'];
unset($filters['dateStart']);
unset($filters['dateEnd']);
}
if (!isset($filters['assocTypes'])) {
$validFilters['assocTypes'] = [Application::ASSOC_TYPE_SUBMISSION_FILE];
unset($filters['assocTypes']);
} elseif ($filters['assocTypes'] != Application::ASSOC_TYPE_SUBMISSION_FILE) {
$this->setError(new Exception(__('plugins.reports.counter.exception.filter'), COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_BAD_FILTERS));
}
// AR1 could be filtered to the Journal, Issue, or Article level
foreach ($filters as $key => $filter) {
switch ($key) {
case 'contextIds':
case 'issueIds':
case 'submissionIds':
$validFilters[$key] = [$filter];
unset($filters[$key]);
}
}
// Unrecognized filters raise an error
if (array_keys($filters)) {
$this->setError(new Exception(__('plugins.reports.counter.exception.filter'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_FILTERS));
}
// Identify submissions which should be included in the results when issue IDs are passed
if (isset($validFilters['issueIds'])) {
$submissionIds = isset($validFilters['submissionIds']) ?? [];
$issueIdsSubmissionIds = Repo::submission()
->getCollector()
->filterByContextIds([Application::get()->getRequest()->getContext()->getId()])
->filterByStatus([\APP\submission\Submission::STATUS_PUBLISHED])
->filterByIssueIds($validFilters['issueIds'])
->getIds()
->toArray();
if (!empty($submissionIds)) {
$submissionIds = array_intersect($submissionIds, $issueIdsSubmissionIds);
} else {
$submissionIds = $issueIdsSubmissionIds;
}
if (!empty($submissionIds)) {
$validFilters['submissionIds'] = $submissionIds;
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.noData'), COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_NO_DATA));
return [];
}
}
// TODO: range
$results = Services::get('publicationStats')
->getQueryBuilder($validFilters)
->getSum($defaultColumns)
->orderBy(StatisticsHelper::STATISTICS_DIMENSION_SUBMISSION_ID, StatisticsHelper::STATISTICS_ORDER_DESC)
->orderBy(StatisticsHelper::STATISTICS_DIMENSION_MONTH, StatisticsHelper::STATISTICS_ORDER_ASC)
->get()->toArray();
$reportItems = [];
if ($results) {
// We'll create a new Report Item with these Metrics on a article change
$metrics = [];
$lastArticle = 0;
foreach ($results as $rs) {
// Article changes trigger a new ReportItem
if ($lastArticle != $rs->{StatisticsHelper::STATISTICS_DIMENSION_SUBMISSION_ID}) {
if ($lastArticle != 0 && $metrics) {
$item = $this->_createReportItem($lastArticle, $metrics);
if ($item) {
$reportItems[] = $item;
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.partialData'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_PARTIAL_DATA));
}
$metrics = [];
}
}
$metrics[] = $this->createMetricByMonth($rs->{StatisticsHelper::STATISTICS_DIMENSION_MONTH}, [new PerformanceCounter('ft_total', $rs->{StatisticsHelper::STATISTICS_METRIC})]);
$lastArticle = $rs->{StatisticsHelper::STATISTICS_DIMENSION_SUBMISSION_ID};
}
// Capture the last unprocessed ItemPerformance and ReportItem entries, if applicable
if ($metrics) {
$item = $this->_createReportItem($lastArticle, $metrics);
if ($item) {
$reportItems[] = $item;
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.partialData'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_PARTIAL_DATA));
}
}
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.noData'), COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_NO_DATA));
}
return $reportItems;
}
/**
* Given a submissionId and an array of Metrics, return a ReportItems
*
* @param int $submissionId
* @param array $metrics Metric array
*
* @return mixed ReportItems or false
*/
private function _createReportItem($submissionId, $metrics)
{
$article = Repo::submission()->get($submissionId);
if (!$article) {
return false;
}
$title = $article->getCurrentPublication()->getLocalizedTitle();
$journalId = $article->getData('contextId');
$journalDao = DAORegistry::getDAO('JournalDAO'); /** @var JournalDAO $journalDao */
$journal = $journalDao->getById($journalId);
if (!$journal) {
return false;
}
$journalName = $journal->getLocalizedName();
$journalPubIds = [];
foreach (['print', 'online'] as $issnType) {
if ($journal->getData($issnType . 'Issn')) {
try {
$journalPubIds[] = new Identifier(ucfirst($issnType) . '_ISSN', $journal->getData($issnType . 'Issn'));
} catch (Exception $ex) {
// Just ignore it
}
}
}
$journalPubIds[] = new Identifier(COUNTER_LITERAL_PROPRIETARY, $journal->getPath());
$pubIdPlugins = PluginRegistry::loadCategory('pubIds', true, $journalId);
$articlePubIds = [];
$articlePubIds[] = new Identifier(COUNTER_LITERAL_PROPRIETARY, (string) $submissionId);
if ($doi = $article->getCurrentPublication()->getDoi()) {
try {
$articlePubIds[] = new Identifier(strtoupper('doi'), $doi);
} catch (Exception $ex) {
// Just ignore it
}
}
$reportItem = [];
try {
$reportItem = new ReportItems(
__('common.software'),
$title,
COUNTER_LITERAL_ARTICLE,
$metrics,
new ParentItem($journalName, COUNTER_LITERAL_JOURNAL, $journalPubIds),
$articlePubIds
);
} catch (Exception $e) {
$this->setError($e, COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_INTERNAL);
}
return $reportItem;
}
}
@@ -0,0 +1,178 @@
<?php
/**
* @file plugins/reports/counter/classes/reports/CounterReportJR1.php
*
* Copyright (c) 2014 University of Pittsburgh
* Distributed under the GNU GPL v2 or later. For full terms see the file docs/COPYING.
*
* @class CounterReportJR1
*
* @brief Journal Report 1
*/
namespace APP\plugins\reports\counter\classes\reports;
use APP\core\Application;
use APP\core\Services;
use APP\journal\JournalDAO;
use APP\plugins\reports\counter\classes\CounterReport;
use APP\statistics\StatisticsHelper;
use COUNTER\Identifier;
use COUNTER\PerformanceCounter;
use COUNTER\ReportItems;
use Exception;
use PKP\db\DAORegistry;
use PKP\db\DBResultRange;
class CounterReportJR1 extends CounterReport
{
/**
* Get the report title
*
* @return $string
*/
public function getTitle()
{
return __('plugins.reports.counter.jr1.title');
}
/**
* Convert an OJS metrics request to COUNTER ReportItems
*
* @param string|array $columns column (aggregation level) selection
* @param array $filters report-level filter selection
* @param array $orderBy order criteria
* @param null|DBResultRange $range paging specification
*
* @see ReportPlugin::getMetrics for more details
*
* @return array COUNTER\ReportItem array
*/
public function getReportItems($columns = [], $filters = [], $orderBy = [], $range = null)
{
// Columns are fixed for this report
$defaultColumns = [StatisticsHelper::STATISTICS_DIMENSION_CONTEXT_ID, StatisticsHelper::STATISTICS_DIMENSION_FILE_TYPE, StatisticsHelper::STATISTICS_DIMENSION_MONTH];
if ($columns && array_diff($columns, $defaultColumns)) {
$this->setError(new Exception(__('plugins.reports.counter.exception.column'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_COLUMNS));
}
// Check filters for correct context(s)
$validFilters = $this->filterForContext($filters);
// Filters defaults to last month, but can be provided by month or by day (which is defined in the $columns)
if (!isset($filters['dateStart']) && !isset($filters['dateEnd'])) {
$validFilters['dateStart'] = date_format(date_create('first day of previous month'), 'Ymd');
$validFilters['dateEnd'] = date_format(date_create('last day of previous month'), 'Ymd');
} elseif (!isset($filters['dateStart']) || !isset($filters['dateEnd'])) {
// either start or end date not set
$this->setError(new Exception(__('plugins.reports.counter.exception.filter'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_FILTERS));
} elseif (isset($filters['dateStart']) && isset($filters['dateEnd'])) {
$validFilters['dateStart'] = $filters['dateStart'];
$validFilters['dateEnd'] = $filters['dateEnd'];
unset($filters['dateStart']);
unset($filters['dateEnd']);
}
if (!isset($filters['assocTypes'])) {
$validFilters['assocTypes'] = [Application::ASSOC_TYPE_SUBMISSION_FILE];
unset($filters['assocTypes']);
} elseif ($filters['assocTypes'] != Application::ASSOC_TYPE_SUBMISSION_FILE) {
$this->setError(new Exception(__('plugins.reports.counter.exception.filter'), COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_BAD_FILTERS));
}
// Any further filters aren't recognized (at this time, at least)
if (array_keys($filters)) {
$this->setError(new Exception(__('plugins.reports.counter.exception.filter'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_BAD_FILTERS));
}
// TODO: range
$results = Services::get('publicationStats')->getQueryBuilder($validFilters)
->getSum($defaultColumns)
// Ordering must be by Journal (ReportItem), and by Month (ItemPerformance) for JR1
->orderBy(StatisticsHelper::STATISTICS_DIMENSION_CONTEXT_ID, StatisticsHelper::STATISTICS_ORDER_DESC)
->orderBy(StatisticsHelper::STATISTICS_DIMENSION_MONTH, StatisticsHelper::STATISTICS_ORDER_ASC)
->get()->toArray();
$reportItems = [];
if ($results) {
// We'll create a new Report Item with these Metrics on a journal change
$metrics = [];
// We'll create a new Metric with these Performance Counters on a period change
$counters = [];
$lastPeriod = 0;
$lastJournal = 0;
foreach ($results as $rs) {
// Identify the type of request
$metricTypeKey = $this->getKeyForFiletype($rs->{StatisticsHelper::STATISTICS_DIMENSION_FILE_TYPE});
// Period changes or greater trigger a new ItemPerformace metric
if ($lastPeriod != $rs->{StatisticsHelper::STATISTICS_DIMENSION_MONTH} || $lastJournal != $rs->{StatisticsHelper::STATISTICS_DIMENSION_CONTEXT_ID}) {
if ($lastPeriod != 0) {
$metrics[] = $this->createMetricByMonth($lastPeriod, $counters);
$counters = [];
}
}
$lastPeriod = $rs->{StatisticsHelper::STATISTICS_DIMENSION_MONTH};
$counters[] = new PerformanceCounter($metricTypeKey, $rs->{StatisticsHelper::STATISTICS_METRIC});
// Journal changes trigger a new ReportItem
if ($lastJournal != $rs->{StatisticsHelper::STATISTICS_DIMENSION_CONTEXT_ID}) {
if ($lastJournal != 0 && $metrics) {
$item = $this->_createReportItem($lastJournal, $metrics);
if ($item) {
$reportItems[] = $item;
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.partialData'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_PARTIAL_DATA));
}
$metrics = [];
}
}
$lastJournal = $rs->{StatisticsHelper::STATISTICS_DIMENSION_CONTEXT_ID};
}
// Capture the last unprocessed ItemPerformance and ReportItem entries, if applicable
if ($counters) {
$metrics[] = $this->createMetricByMonth($lastPeriod, $counters);
}
if ($metrics) {
$item = $this->_createReportItem($lastJournal, $metrics);
if ($item) {
$reportItems[] = $item;
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.partialData'), COUNTER_EXCEPTION_WARNING | COUNTER_EXCEPTION_PARTIAL_DATA));
}
}
} else {
$this->setError(new Exception(__('plugins.reports.counter.exception.noData'), COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_NO_DATA));
}
return $reportItems;
}
/**
* Given a journalId and an array of COUNTER\Metrics, return a COUNTER\ReportItems
*
* @param int $journalId
* @param array $metrics COUNTER\Metric array
*
* @return mixed COUNTER\ReportItems or false
*/
private function _createReportItem($journalId, $metrics)
{
$journalDao = DAORegistry::getDAO('JournalDAO'); /** @var JournalDAO $journalDao */
$journal = $journalDao->getById($journalId);
if (!$journal) {
return false;
}
$journalName = $journal->getLocalizedName();
$journalPubIds = [];
foreach (['print', 'online'] as $issnType) {
if ($journal->getData($issnType . 'Issn')) {
try {
$journalPubIds[] = new Identifier(ucfirst($issnType) . '_ISSN', $journal->getData($issnType . 'Issn'));
} catch (Exception $ex) {
// Just ignore it
}
}
}
$journalPubIds[] = new Identifier(COUNTER_LITERAL_PROPRIETARY, $journal->getPath());
$reportItem = [];
try {
$reportItem = new ReportItems(__('common.software'), $journalName, COUNTER_LITERAL_JOURNAL, $metrics, null, $journalPubIds);
} catch (Exception $e) {
$this->setError($e, COUNTER_EXCEPTION_ERROR | COUNTER_EXCEPTION_INTERNAL);
}
return $reportItem;
}
}
@@ -0,0 +1,62 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE data SYSTEM "../../../lib/pkp/dtd/xmlData.dtd">
<!--
* plugins/reports/counter/counter_monthly_log_1_1.xml
*
* Copyright (c) 2014-2021 Simon Fraser University
* Copyright (c) 2003-2021 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* second version of the counter_monthly_log with one row per month per journal
* DEPRECATED upgrade function for 2.3.x
-->
<data>
<!-- rename current table to _old -->
<sql>
<query>
ALTER TABLE counter_monthly_log RENAME TO counter_monthly_log_old
</query>
</sql>
<!-- create new counter_monthly_log with a new schema -->
<sql>
<query driver="mysql">
CREATE TABLE counter_monthly_log ( year int(11) NOT NULL, month int(11) NOT NULL, journal_id int(11) NOT NULL, count_html int(20) NOT NULL DEFAULT 0, count_pdf int(20) NOT NULL DEFAULT 0, count_other int(20) NOT NULL DEFAULT 0, UNIQUE KEY counter_monthly_log_ukey (year,month,journal_id) )
</query>
<!-- Same thing for postgres, probably only works on PG 8.x -->
<query driver="postgres7">
CREATE TABLE counter_monthly_log ( year INT8 NOT NULL, journal_id INT8 NOT NULL, month INT8 NOT NULL, count_html INT8 DEFAULT 0 NOT NULL, count_pdf INT8 DEFAULT 0 NOT NULL, count_other INT8 DEFAULT 0 NOT NULL)
</query>
<query driver="postgres7">
CREATE UNIQUE INDEX counter_monthly_log_key ON counter_monthly_log (year, month, journal_id)
</query>
</sql>
<!-- pull data out of _old table and insert into new table, assume 0 for count_html, count_other -->
<sql>
<query>
INSERT INTO counter_monthly_log (year,month,journal_id,count_html,count_pdf,count_other) SELECT year, 1 as month, journal_id, 0, count_jan as count, 0 FROM counter_monthly_log_old UNION SELECT year, 2 as month, journal_id, 0, count_feb as count, 0 FROM counter_monthly_log_old UNION SELECT year, 3 as month, journal_id, 0, count_mar as count, 0 FROM counter_monthly_log_old UNION SELECT year, 4 as month, journal_id, 0, count_apr as count, 0 FROM counter_monthly_log_old UNION SELECT year, 5 as month, journal_id, 0, count_may as count, 0 FROM counter_monthly_log_old UNION SELECT year, 6 as month, journal_id, 0, count_jun as count, 0 FROM counter_monthly_log_old UNION SELECT year, 7 as month, journal_id, 0, count_jul as count, 0 FROM counter_monthly_log_old UNION SELECT year, 8 as month, journal_id, 0, count_aug as count, 0 FROM counter_monthly_log_old UNION SELECT year, 9 as month, journal_id, 0, count_sep as count, 0 FROM counter_monthly_log_old UNION SELECT year, 10 as month, journal_id, 0, count_oct as count, 0 FROM counter_monthly_log_old UNION SELECT year, 11 as month, journal_id, 0, count_nov as count, 0 FROM counter_monthly_log_old UNION SELECT year, 12 as month, journal_id, 0, count_dec as count, 0 FROM counter_monthly_log_old ORDER BY journal_id, year, month
</query>
</sql>
<!-- remove the _old table -->
<sql>
<query driver="mysql">
DROP TABLE IF EXISTS counter_monthly_log_old
</query>
<query driver="postgres7">
DROP TABLE counter_monthly_log_old CASCADE
</query>
</sql>
</data>
+14
View File
@@ -0,0 +1,14 @@
<?php
/**
* @file plugins/reports/counter/index.php
*
* Copyright (c) 2014-2022 Simon Fraser University
* Copyright (c) 2003-2022 John Willinsky
* Distributed under the GNU GPL v3. For full terms see the file docs/COPYING.
*
* @brief Wrapper for counter report plugin.
*
*/
return new \APP\plugins\reports\counter\CounterReportPlugin();
@@ -0,0 +1,58 @@
# M. Ali <vorteem@gmail.com>, 2022.
# Salam Al-Khammasi <salam.alshemmari@uokufa.edu.iq>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2023-02-08 03:09+0000\n"
"Last-Translator: Salam Al-Khammasi <salam.alshemmari@uokufa.edu.iq>\n"
"Language-Team: Arabic <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/ar_IQ/>\n"
"Language: ar_IQ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"إضافة COUNTER تقدم التقارير عن نشاطات المجلة، باستعمال تقنية <a href=\""
"https://www.projectcounter.org\">COUNTER القياسية</a>. هذه التقارير لوحدها "
"لا تجعل إضافة COUNTER في المجلة متوافقة، للحصول على التوافقية المطلوبة، راجع "
"المتطلبات في موقع مشروع COUNTER."
msgid "plugins.reports.counter"
msgstr "تقارير COUNTER"
msgid "plugins.reports.counter.release"
msgstr "إطلاق COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "معايير التقرير غير صحيحة."
msgid "plugins.reports.counter.error.badRequest"
msgstr "إلتماس التقرير غير صحيح."
msgid "plugins.reports.counter.error.noResults"
msgstr "لا نتائج لهذا التقرير."
msgid "plugins.reports.counter.error.noXML"
msgstr "تعذرت صياغة النتائج بتنسيق XML."
msgid "plugins.reports.counter.1a.name"
msgstr "تقرير COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr "تقرير المجلة من COUNTER 1 (R3): طلبات المؤلفات بالنص الكامل حسب المجلة والشهر"
msgid "plugins.reports.counter.allCustomers"
msgstr "جميع الزبائن"
msgid "plugins.reports.counter.ar1.title"
msgstr "تقرير المقالة 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "تقرير المجلة 1"
@@ -0,0 +1,52 @@
# Osman Durmaz <osmandurmaz@hotmail.de>, 2023.
msgid ""
msgstr ""
"PO-Revision-Date: 2023-06-02 22:43+0000\n"
"Last-Translator: Osman Durmaz <osmandurmaz@hotmail.de>\n"
"Language-Team: Azerbaijani <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/az/>\n"
"Language: az\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Reporu JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr "COUNTER Jurnal Hesabatı 1 (R3): Tam Mətn Məqalə Tələbləri"
msgid "plugins.reports.counter.allCustomers"
msgstr "Bütün müştərilər"
msgid "plugins.reports.counter"
msgstr "Sayğac Statistikaları"
msgid "plugins.reports.counter.release"
msgstr "Counter Versiyası"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Hesabat tənzimləri etibarsızdır."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Hesabat tələbi etibarsızdır."
msgid "plugins.reports.counter.error.noResults"
msgstr "Bu hesabat üçün heç bir nəticə tapılmadı."
msgid "plugins.reports.counter.error.noXML"
msgstr "Nəticələr XML şəklində formatlandırıla bilmədi."
msgid "plugins.reports.counter.description"
msgstr ""
"Sayğac Əlavəsi, sayt aktivliyini <a href=\"https://www.projectcounter.org\""
">COUNTER</a> uyğun olaraq hesabat vermək və qeydiyyatdan keçirmək üçün "
"istifadə edilir."
msgid "plugins.reports.counter.ar1.title"
msgstr "Məqalə hesabatı 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Jurnal hesabatı 1"
@@ -0,0 +1,57 @@
# Cyril Kamburov <cc@intermedia.bg>, 2021.
# Pencho Toncgev <ptonchev@gmail.com>, 2022.
msgid ""
msgstr ""
"PO-Revision-Date: 2022-10-11 20:01+0000\n"
"Last-Translator: Pencho Toncgev <ptonchev@gmail.com>\n"
"Language-Team: Bulgarian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/bg_BG/>\n"
"Language: bg_BG\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Плъгинът COUNTER позволява отчитане на дейността на списанието, използвайки "
"<a href=\"http://www.projectcounter.org\">стандарта COUNTER</a>. Само тези "
"доклади не правят списанието съвместимо с COUNTER. За да предложите "
"съответствие с COUNTER, прегледайте изискванията на уебсайта на Project "
"COUNTER."
msgid "plugins.reports.counter"
msgstr "Отчет COUNTER"
msgid "plugins.reports.counter.release"
msgstr "COUNTER Версия"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Параметрите на отчета бяха невалидни."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Заявката за отчет е невалидна."
msgid "plugins.reports.counter.error.noResults"
msgstr "Не бяха намерени резултати за този отчет."
msgid "plugins.reports.counter.error.noXML"
msgstr "Резултатите не могат да бъдат форматирани като XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Отчет JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal Report 1 (R3): Пълнотекстови заявки за статии по месец и "
"списание"
msgid "plugins.reports.counter.allCustomers"
msgstr "Всички клиенти"
msgid "plugins.reports.counter.ar1.title"
msgstr "Отчет по статии 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Отчет по списания 1"
@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:49-07:00\n"
"PO-Revision-Date: 2020-06-18 16:39+0000\n"
"Last-Translator: Jordi LC <jordi.lacruz@uab.cat>\n"
"Language-Team: Catalan <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/ca_ES/>\n"
"Language: ca_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"El mòdul COUNTER permet enregistrar i crear informes de l'activitat de la "
"revista mitjançant <a href=\"http://www.projectcounter.org\">l'estàndard "
"COUNTER</a>. Aquests informes no fan que una revista sigui conforme a "
"COUNTER per si sols. Per aconseguir-ho, reviseu els requisits necessaris a "
"la pàgina web del projecte COUNTER."
msgid "plugins.reports.counter"
msgstr "Estadístiques de COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Llançament de COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Els paràmetres de l'informe no són vàlids."
msgid "plugins.reports.counter.error.badRequest"
msgstr "La petició d'informe no és vàlida."
msgid "plugins.reports.counter.error.noResults"
msgstr "No s'han trobat resultats per a aquest informe."
msgid "plugins.reports.counter.error.noXML"
msgstr "Els resultats no poden formatar-se com a XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Informe COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Informe de revista COUNTER 1 (R3): sol·licituds d'articles complets per mes "
"i revista"
msgid "plugins.reports.counter.allCustomers"
msgstr "Tots els clients/es"
msgid "plugins.reports.counter.ar1.title"
msgstr "Informe d'article 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Informe de revista 1"
@@ -0,0 +1,54 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2020-12-22 09:05+0000\n"
"Last-Translator: Haval Abdulkarim <haval.abdulkarim@gmail.com>\n"
"Language-Team: Kurdish <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/ku_IQ/>\n"
"Language: ku_IQ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"گرێدانی COUNTER ڕاپۆرت دەربارەی چالاکییەکانی گۆڤار دەخاتە ڕو. بەکارهێنانی "
"ستانداردی <a href=\"http://www.projectcounter.org\">COUNTER </a>. ئەم "
"ڕاپۆرتانە بەتەنیا COUNTER ی گۆڤار تەواو ناکەن. بۆ خستنەڕوی گوێڕایەڵی "
"COUNTER، بە پێداویستییەکانی پڕۆژەکەدا بچۆرەوە."
msgid "plugins.reports.counter"
msgstr "ڕاپۆرتەکانی COUNTER"
msgid "plugins.reports.counter.release"
msgstr "وەشاندنی COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "ڕاپۆرتە نادروستەکان."
msgid "plugins.reports.counter.error.badRequest"
msgstr "داواکارییەکە نادروستە."
msgid "plugins.reports.counter.error.noResults"
msgstr "هیچ ئەنجامێکی ئەم ڕاپۆرتە نەدۆزرایەوە."
msgid "plugins.reports.counter.error.noXML"
msgstr "ئەنجامەکان وەک XML ڕێک ناخرێن."
msgid "plugins.reports.counter.1a.name"
msgstr "ڕاپۆرتیCOUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"ڕاپۆرتی گۆڤار لە COUNTER 1 (R3):توێژینەوەی تەواو بە مانگ و گۆڤارەوە داوا "
"کراوە"
msgid "plugins.reports.counter.allCustomers"
msgstr "هەمو کڕیارەکان"
msgid "plugins.reports.counter.ar1.title"
msgstr "ڕاپۆرتی وتار 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "ڕاپۆرتی گۆڤار 1"
+118
View File
@@ -0,0 +1,118 @@
# Jiří Dlouhý <jiri.dlouhy@czp.cuni.cz>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2022-07-11 05:00+0000\n"
"Last-Translator: Jiří Dlouhý <jiri.dlouhy@czp.cuni.cz>\n"
"Language-Team: Czech <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/cs_CZ/>\n"
"Language: cs_CZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Plugin COUNTER umožňuje zaznamenávání a vytváření zpráv o aktivitách na "
"stránkách pomocí <a href=\"https://www.projectcounter.org\">standardu "
"COUNTER</a>."
msgid "plugins.reports.counter"
msgstr "Statistiky COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Zveřejnění COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Parametry sestavy byly neplatné."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Žádost o přehled je neplatná."
msgid "plugins.reports.counter.error.noResults"
msgstr "Pro tuto zprávu nebyly nalezeny žádné výsledky."
msgid "plugins.reports.counter.error.noXML"
msgstr "Výsledky nelze formátovat jako XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Zprava COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Zpráva COUNTER Journal 1 (R3): Žádosti o fulltextové články podle měsíce a "
"časopisu"
msgid "plugins.reports.counter.allCustomers"
msgstr "Všichni zákazníci"
msgid "plugins.reports.counter.ar1.title"
msgstr "Zpráva článku 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Zpráva časopisu 1"
#~ msgid "plugins.reports.counter.1a.title"
#~ msgstr ""
#~ "Zpráva časopisu 1 (R3): Požadavek na plné texty článku po měsících a "
#~ "časopisech"
#~ msgid "plugins.reports.counter.1a.title1"
#~ msgstr "Zpráva časopisu 1 (R3)"
#~ msgid "plugins.reports.counter.1a.title2"
#~ msgstr ""
#~ "Počet úspěšných požadavků na plný text článků po měsících a časopisech "
#~ "(Rok {$year})"
#~ msgid "plugins.reports.counter.1a.dateRun"
#~ msgstr "Datum spuštění:"
#~ msgid "plugins.reports.counter.1a.publisher"
#~ msgstr "Vydavatel"
#~ msgid "plugins.reports.counter.1a.platform"
#~ msgstr "Platforma"
#~ msgid "plugins.reports.counter.1a.printIssn"
#~ msgstr "ISSN tištěné verze"
#~ msgid "plugins.reports.counter.1a.onlineIssn"
#~ msgstr "ISSN on-line verze"
#~ msgid "plugins.reports.counter.1a.ytdTotal"
#~ msgstr "YTD celkem"
#~ msgid "plugins.reports.counter.1a.ytdHtml"
#~ msgstr "YTD HTML"
#~ msgid "plugins.reports.counter.1a.ytdPdf"
#~ msgstr "YTD PDF"
#~ msgid "plugins.reports.counter.1a.totalForAllJournals"
#~ msgstr "Celkem pro všechny časopisy"
#~ msgid "plugins.reports.counter.legacyStats"
#~ msgstr ""
#~ "Odkazy níže generují zprávy využití pomocí starého pluginu počítání "
#~ "přístupů. Pokud chcete počty generovat pomocí nového nástroje OJS "
#~ "COUNTER, použijte odkazy výše."
#~ msgid "plugins.reports.counter.1a.anonymous"
#~ msgstr "anonymní"
#~ msgid "plugins.reports.counter.1a.xml"
#~ msgstr "XML verze"
#~ msgid "plugins.reports.counter.1a.introduction"
#~ msgstr ""
#~ "Tyto odkazy generují zprávy připravené pro formát COUNTER na základě "
#~ "zastaralé verze 3.0. Tato zpráva zahrnuje všechny časopisy na webu. Pokud "
#~ "je to možné, použijte místo toho nejnovější verzi."
#~ msgid "plugins.reports.counter.olderReports"
#~ msgstr "Starší zprávy o stránkách"
@@ -0,0 +1,58 @@
# Alexandra Fogtmann-Schulz <alfo@kb.dk>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:06+00:00\n"
"PO-Revision-Date: 2022-07-04 06:31+0000\n"
"Last-Translator: Alexandra Fogtmann-Schulz <alfo@kb.dk>\n"
"Language-Team: Danish <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/da_DK/>\n"
"Language: da_DK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER-pluginen muliggør rapportering om tidsskriftsaktivitet ved hjælp af "
"<a href=\"https://www.projectcounter.org\"> COUNTER-standarden </a>. Disse "
"rapporter alene gør ikke et tidsskrift COUNTER-kompatibel. For at tilbyde "
"COUNTER-kompatibilitet skal du gennemgå kravene på Project COUNTER-webstedet."
msgid "plugins.reports.counter"
msgstr "COUNTER-rapport"
msgid "plugins.reports.counter.release"
msgstr "COUNTER udgivelse"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Rapportparametrene var ugyldige."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Rapportanmodningen er ugyldig."
msgid "plugins.reports.counter.error.noResults"
msgstr "Der blev ikke fundet nogle resultater for denne rapport."
msgid "plugins.reports.counter.error.noXML"
msgstr "Resultaterne kunne ikke formateres som XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER-rapport JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER tidsskrift-rapport 1 (R3): fuldtekst-artikel-forespørgsler efter "
"måned og tidsskrift"
msgid "plugins.reports.counter.allCustomers"
msgstr "Alle kunder"
msgid "plugins.reports.counter.ar1.title"
msgstr "Artikelrapport 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Tidsskriftsrapport 1"
@@ -0,0 +1,54 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:49-07:00\n"
"PO-Revision-Date: 2019-09-30T06:56:49-07:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Das Counter-Plugin ermöglicht Berichte über die Zeitschriftenaktivität "
"entsprechend dem <a href=\"http://www.projectcounter.org\">COUNTER-Standard</"
"a>. Diese Berichte allein machen eine Zeitschrift nicht COUNTER-kompatibel. "
"Um Counter-Kompatibilität zu erreichen, beachten Sie die Anforderungen auf "
"der Website des COUNTER-Projekts."
msgid "plugins.reports.counter"
msgstr "COUNTER-Bericht"
msgid "plugins.reports.counter.release"
msgstr "COUNTER-Release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Die Berichtsparameter waren ungültig."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Die Berichtsabfrage war ungültig."
msgid "plugins.reports.counter.error.noResults"
msgstr "Für diesen Bericht wurden keine Ergebnisse gefunden."
msgid "plugins.reports.counter.error.noXML"
msgstr "Die Ergebnisse konnten nicht als XML formatiert werden."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Report JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal Report 1 (R3): Volltext-Zugriffe nach Monat und Zeitschrift"
msgid "plugins.reports.counter.allCustomers"
msgstr "Alle Kund/innen"
msgid "plugins.reports.counter.ar1.title"
msgstr "Artikel-Bericht 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Zeitschriften-Bericht 1"
@@ -0,0 +1,8 @@
# Weblate Admin <alec@smecher.bc.ca>, 2023.
msgid ""
msgstr ""
"Language: dsb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Weblate\n"
@@ -0,0 +1,57 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:07+00:00\n"
"PO-Revision-Date: 2020-11-17 18:56+0000\n"
"Last-Translator: Evangelos Papakirykou <vpapakir@gmail.com>\n"
"Language-Team: Greek <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/el_GR/>\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Το πρόσθετο COUNTER επιτρέπει την καταγραφή και την σύνταξη αναφορών "
"συμβατών με το <a href=\"http://www.projectcounter.org/\">πρότυπο COUNTER</"
"a>. Αυτές οι αναφορές από μόνες τους δεν επαρκούν για να είναι το περιοδικό "
"συμβατό με το πρότυπο COUNTER. Για πλήρη συμβατότητα, ελέγξτε τις απαιτήσεις "
"στον ιστότοπο του Project COUNTER."
msgid "plugins.reports.counter"
msgstr "Στατιστικά COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Έκδοση COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Οι παράμετροι της αναφοράς δεν ήταν έγκυρες."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Το αίτημα δημιουργίας αναφοράς δεν είναι έγκυρο."
msgid "plugins.reports.counter.error.noResults"
msgstr "Δεν βρέθηκαν αποτελέσματα για αυτήν την αναφορά."
msgid "plugins.reports.counter.error.noXML"
msgstr "Δεν ήταν δυνατή η μορφοποίηση των αποτελεσμάτων ως XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Αναφορά COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER JR1 (R3): Αιτήματα για Πλήρες Κείμενο Άρθρων κατά Μήνα και Περιοδικό"
msgid "plugins.reports.counter.allCustomers"
msgstr "Πελάτες"
msgid "plugins.reports.counter.ar1.title"
msgstr "Αναφορά άρθρου 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Αναφορά περιοδικού 1"
@@ -0,0 +1,56 @@
# Jonas Raoni Soares da Silva <weblate@raoni.org>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:49-07:00\n"
"PO-Revision-Date: 2022-07-02 14:31+0000\n"
"Last-Translator: Jonas Raoni Soares da Silva <weblate@raoni.org>\n"
"Language-Team: English (United States) <http://translate.pkp.sfu.ca/projects/"
"ojs/reports-counter/en_US/>\n"
"Language: en_US\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"The COUNTER plugin allows reporting on journal activity, using the <a href=\""
"https://www.projectcounter.org\">COUNTER standard</a>. These reports alone "
"do not make a journal COUNTER compliant. To offer COUNTER compliance, review "
"the requirements at the Project COUNTER website."
msgid "plugins.reports.counter"
msgstr "COUNTER Reports"
msgid "plugins.reports.counter.release"
msgstr "COUNTER Release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "The report parameters were invalid."
msgid "plugins.reports.counter.error.badRequest"
msgstr "The report request is invalid."
msgid "plugins.reports.counter.error.noResults"
msgstr "No results were found for this report."
msgid "plugins.reports.counter.error.noXML"
msgstr "The results could not be formatted as XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Report JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr "COUNTER Journal Report 1 (R3): Full-Text Article Requests by Month and Journal"
msgid "plugins.reports.counter.allCustomers"
msgstr "All Customers"
msgid "plugins.reports.counter.ar1.title"
msgstr "Article Report 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Journal Report 1"
@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:07+00:00\n"
"PO-Revision-Date: 2020-06-18 16:39+0000\n"
"Last-Translator: Jordi LC <jordi.lacruz@uab.cat>\n"
"Language-Team: Spanish <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/es_ES/>\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"El módulo COUNTER permite generar informes sobre la actividad de la revista "
"mediante el <a href=\"http://www.projectcounter.org\">estándar COUNTER</a>. "
"Estos informes por sí solos no hacen que la revista sea conforme a COUNTER. "
"Para ofrecer conformidad con COUNTER, revise los requisitos en el sitio web "
"de Project COUNTER."
msgid "plugins.reports.counter"
msgstr "Informe COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Versión COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Los parámetros del informe no eran válidos."
msgid "plugins.reports.counter.error.badRequest"
msgstr "La petición de informe no es válida."
msgid "plugins.reports.counter.error.noResults"
msgstr "No se han encontrado resultados para este informe."
msgid "plugins.reports.counter.error.noXML"
msgstr "Los resultados no se han podido formatear como XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Informe COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Informe de revista COUNTER 1 (R3): solicitudes de artículos completos por "
"mes y revista"
msgid "plugins.reports.counter.allCustomers"
msgstr "Todos los clientes/as"
msgid "plugins.reports.counter.ar1.title"
msgstr "Informe de artículo 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Informe de revista 1"
@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:07+00:00\n"
"PO-Revision-Date: 2020-06-18 16:39+0000\n"
"Last-Translator: Aitor Cuartango Berrendo <aitor.cuartango@ehu.eus>\n"
"Language-Team: Basque <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/eu/>\n"
"Language: eu_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER pluginak webgunearen jarduera erregistratzen du eta <a href=\"http://"
"www.projectcounter.org\">COUNTER</a> moduko txostena ematen du. Txosten "
"hauek ez dute aldizkaria COUNTER estandarrekin ados egiten. COUNTER "
"estandarrak jarraitzeko begiratu COUNTER web horrian."
msgid "plugins.reports.counter"
msgstr "COUNTER estatistikak"
msgid "plugins.reports.counter.release"
msgstr "COUNTER bertsioa"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Txostenaren parametroak ez ziren baliozkoak."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Txosten eskaria ez da bailozkoa."
msgid "plugins.reports.counter.error.noResults"
msgstr "Ez dira aurkitu txosten horren emaitzak."
msgid "plugins.reports.counter.error.noXML"
msgstr "Emaitzak ezin dira XML-ra formateatu."
msgid "plugins.reports.counter.1a.name"
msgstr ""
msgid "plugins.reports.counter.1a.description"
msgstr ""
msgid "plugins.reports.counter.allCustomers"
msgstr ""
msgid "plugins.reports.counter.ar1.title"
msgstr ""
msgid "plugins.reports.counter.jr1.title"
msgstr ""
#~ msgid "plugins.reports.counter.migrate"
#~ msgstr "Migratu log-fitxategia"
@@ -0,0 +1,52 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:07+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:07+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.counter.description"
msgstr ""
"افزونه COUNTER امکان گزارش‌گیری از فعالیت‌های مجله را بر اساس <a href="
"\"http://www.projectcounter.org\"> استاندارد COUNTER </a> فراهم می‌سازد. این "
"گزارش باعث نمی‌شود که مجله با استانداردهای COUNTER سازگار گردد. برای ایجاد "
"این سازگاری نیازمندی‌های آن را در سایت این استاندارد مطالعه نمایید."
msgid "plugins.reports.counter"
msgstr "گزارشگر COUNTER"
msgid "plugins.reports.counter.release"
msgstr "COUNTER Release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "پارامترهای گزارش نامعتبر است"
msgid "plugins.reports.counter.error.badRequest"
msgstr "درخواست گزارش نامعتبر است"
msgid "plugins.reports.counter.error.noResults"
msgstr "هیچ نتیجه‌ای برای این گزارش یافت نشد."
msgid "plugins.reports.counter.error.noXML"
msgstr "مجله امکان اراده به فرمت XML را پشتیبانی نمی‌کند"
msgid "plugins.reports.counter.1a.name"
msgstr "گزارش COUNTER"
msgid "plugins.reports.counter.1a.description"
msgstr "گزارش مجله COUNTER: متن کامل مقالات بر حس ماه و مجله مورد نیاز است."
msgid "plugins.reports.counter.allCustomers"
msgstr "تمامی مشتریان"
msgid "plugins.reports.counter.ar1.title"
msgstr "گزارش مقاله 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "گزارش مجله 1"
@@ -0,0 +1,55 @@
# Antti-Jussi Nygård <ajnyga@gmail.com>, 2023.
msgid ""
msgstr ""
"PO-Revision-Date: 2023-05-22 19:28+0000\n"
"Last-Translator: Antti-Jussi Nygård <ajnyga@gmail.com>\n"
"Language-Team: Finnish <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/fi/>\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER-lisäosalla voi luoda <a href=\"https://www.projectcounter.org\""
">COUNTER-standardin</a> mukaisia raportteja. Nämä raportit eivät itsessään "
"tee lehdestä COUNTER-yhteensopivaa. Yhteensopivuuden saavuttamiseksi, "
"tarkista sitä koskevat vaatimukset COUNTER-standardin kotisivulta."
msgid "plugins.reports.counter"
msgstr "COUNTER-raportit"
msgid "plugins.reports.counter.release"
msgstr "COUNTER-versio"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Raportin parametrit olivat virheelliset."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Virheellinen pyyntö."
msgid "plugins.reports.counter.error.noResults"
msgstr "Raporttiin ei löydetty tuloksia."
msgid "plugins.reports.counter.error.noXML"
msgstr "Tuloksia ei voitu muuntaa XML-muotoon."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Report JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal Report 1 (R3): Artikkeleiden kokotekstien latausmäärät "
"kuukauden ja julkaisun mukaan jaoteltuna"
msgid "plugins.reports.counter.allCustomers"
msgstr "Kaikki asiakkaat"
msgid "plugins.reports.counter.ar1.title"
msgstr "Artikkeliraportti 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Julkaisuraportti 1"
@@ -0,0 +1,59 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T06:56:49-07:00\n"
"PO-Revision-Date: 2020-07-03 09:08+0000\n"
"Last-Translator: Marie-Hélène Vézina [UdeMontréal] <marie-helene."
"vezina@umontreal.ca>\n"
"Language-Team: French (Canada) <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/fr_CA/>\n"
"Language: fr_CA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Le plugiciel COUNTER permet la consignation de données de consultation de la "
"revue suivant la <a href=\"http://www.projectcounter.org\">norme COUNTER</"
"a>. Ces rapports ne rendent pas à eux seuls une revue conforme à la norme "
"COUNTER. Pour offrir la conformité à COUNTER, veuillez passer en revue les "
"exigences sur le site Web du projet COUNTER."
msgid "plugins.reports.counter"
msgstr "Rapports COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Version de COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Les paramètres du rapport sont invalides."
msgid "plugins.reports.counter.error.badRequest"
msgstr "La requête de rapport est invalide."
msgid "plugins.reports.counter.error.noResults"
msgstr "Aucun résultat trouvé pour ce rapport."
msgid "plugins.reports.counter.error.noXML"
msgstr "Les résultats n'ont pas pu être formatés en XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Rapport COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Rapport COUNTER de revue 1 (R3) : Requête sur des articles en plein texte "
"par mois et par revue"
msgid "plugins.reports.counter.allCustomers"
msgstr "Tous les clients"
msgid "plugins.reports.counter.ar1.title"
msgstr "Rapport d'article 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Rapport de revue 1"
@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:08+00:00\n"
"PO-Revision-Date: 2020-07-30 07:47+0000\n"
"Last-Translator: Paul Heckler <paul.d.heckler@gmail.com>\n"
"Language-Team: French <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/fr/>\n"
"Language: fr_FR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Le plugin COUNTER permet de rendre compte de l'activité de la revue en "
"utilisant la <a href=\"http://www.projectcounter.org\">norme COUNTER</a>. "
"Ces rapports ne rendent pas à eux seuls une revue conforme à la norme "
"COUNTER. Pour offrir la conformité à COUNTER, veuillez consulter les "
"exigences sur le site Web du projet COUNTER."
msgid "plugins.reports.counter"
msgstr "Statistiques COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Version de COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Les paramètres du rapport sont invalides."
msgid "plugins.reports.counter.error.badRequest"
msgstr "La requête du rapport est invalide."
msgid "plugins.reports.counter.error.noResults"
msgstr "Aucun résultat pour ce rapport."
msgid "plugins.reports.counter.error.noXML"
msgstr "Les résultats n'ont pas pu être formatés en XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Rapport COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Rapport COUNTER de revue 1 (R3) : Requête sur des articles en plein texte "
"par mois et par revue"
msgid "plugins.reports.counter.allCustomers"
msgstr "Tous les clients"
msgid "plugins.reports.counter.ar1.title"
msgstr "Rapport d'article 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Rapport de revue 1"
@@ -0,0 +1,55 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-06-18 10:03+0000\n"
"Last-Translator: Real Academia Galega <reacagal@gmail.com>\n"
"Language-Team: Galician <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/gl_ES/>\n"
"Language: gl_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"O complemento COUNTER permite xerar informes sobre a actividade da revista, "
"empregando o <a href=\"http://www.projectcounter.org\">estándar COUNTER</a>. "
"Estes informes por si só non fan que unha publicación sexa compatible con "
"COUNTER. Para ofrecer o cumprimento de COUNTER, revise os requisitos no "
"sitio web de Project COUNTER."
msgid "plugins.reports.counter"
msgstr "Estatísticas COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Versión de COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Os parámetros do informe non son válidos."
msgid "plugins.reports.counter.error.badRequest"
msgstr "A solicitude de informe non é válida."
msgid "plugins.reports.counter.error.noResults"
msgstr "Non se atoparon resultados para este informe."
msgid "plugins.reports.counter.error.noXML"
msgstr "Non se puido formatar os resultados como XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Informe COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Informe da publicación COUNTER 1 (R3): solicitudes de artigos de texto "
"completo por mes e revista"
msgid "plugins.reports.counter.allCustomers"
msgstr "Tódolos clientes"
msgid "plugins.reports.counter.ar1.title"
msgstr "Informe de artigo 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Informe de revista 1"
@@ -0,0 +1,91 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:08+00:00\n"
"PO-Revision-Date: 2019-11-19T11:06:08+00:00\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER je dodatak koji omogućava bilježenje aktivnosti na stranicama "
"časopisa i izvještavanje o njima u skladu s <a href=\"http://www."
"projectcounter.org/about.html\" target=\"_new\">COUNTER</a> inicijativom."
msgid "plugins.reports.counter"
msgstr "COUNTER statistike"
msgid "plugins.reports.counter.release"
msgstr ""
msgid "plugins.reports.counter.error.badParameters"
msgstr ""
msgid "plugins.reports.counter.error.badRequest"
msgstr ""
msgid "plugins.reports.counter.error.noResults"
msgstr ""
msgid "plugins.reports.counter.error.noXML"
msgstr ""
msgid "plugins.reports.counter.1a.name"
msgstr ""
msgid "plugins.reports.counter.1a.description"
msgstr ""
msgid "plugins.reports.counter.allCustomers"
msgstr ""
msgid "plugins.reports.counter.ar1.title"
msgstr ""
msgid "plugins.reports.counter.jr1.title"
msgstr ""
#~ msgid "plugins.reports.counter.clearLog"
#~ msgstr "Izbriši evidenciju"
#~ msgid "plugins.reports.counter.confirmClear"
#~ msgstr ""
#~ "Želite li sigurno izbrisati evidenciju? Ovaj postupak se ne može opozvati."
#~ msgid "plugins.reports.counter.browseLog"
#~ msgstr "Pregledaj evidenciju"
#~ msgid "plugins.reports.counter.browseLog.logBrowser"
#~ msgstr "Preglednik evidencije"
#~ msgid "plugins.reports.counter.entry.timestamp"
#~ msgstr "Vrijeme"
#~ msgid "plugins.reports.counter.entry.site"
#~ msgstr "Stranica"
#~ msgid "plugins.reports.counter.entry.journal"
#~ msgstr "Časopis"
#~ msgid "plugins.reports.counter.entry.user"
#~ msgstr "Korisnik"
#~ msgid "plugins.reports.counter.sessionNumber"
#~ msgstr "Sesija #{$sessionNumber}"
#~ msgid "plugins.reports.counter.entry.type"
#~ msgstr "Tip"
#~ msgid "plugins.reports.counter.entry.type.article"
#~ msgstr "Članak"
#~ msgid "plugins.reports.counter.entry.type.search"
#~ msgstr "Pretraživanje"
#~ msgid "plugins.reports.counter.entry.value"
#~ msgstr "Vrijednost"
@@ -0,0 +1,8 @@
# Weblate Admin <alec@smecher.bc.ca>, 2023.
msgid ""
msgstr ""
"Language: hsb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Weblate\n"
@@ -0,0 +1,52 @@
# Molnár Tamás <molnart@bibl.u-szeged.hu>, 2022.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-02-13T21:07:39+00:00\n"
"PO-Revision-Date: 2022-09-28 14:01+0000\n"
"Last-Translator: Molnár Tamás <molnart@bibl.u-szeged.hu>\n"
"Language-Team: Hungarian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/hu_HU/>\n"
"Language: hu_HU\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr "A COUNTER bővítmény lehetővé teszi a folyóirat tevékenységének jelentését a <a href=\"http://www.projectcounter.org\"> COUNTER szabvány </a> használatával. Ezek a jelentések önmagukban nem teszik a folyóiratot COUNTER kompatibilissé. A COUNTER megfelelőségének megismeréséhez nézze át a követelményeket a Project COUNTER webhelyén."
msgid "plugins.reports.counter"
msgstr "COUNTER jelentések"
msgid "plugins.reports.counter.release"
msgstr "COUNTER Kiadás"
msgid "plugins.reports.counter.error.badParameters"
msgstr "A jelentés paraméterek érvénytelenek voltak."
msgid "plugins.reports.counter.error.badRequest"
msgstr "A jelentés kérés érvénytelen."
msgid "plugins.reports.counter.error.noResults"
msgstr "A jelentéshez nem találtunk eredményt."
msgid "plugins.reports.counter.error.noXML"
msgstr "Az eredményeket nem lehet XML-ként formázni."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Jelentés JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr "COUNTER Folyóiratjelentés 1 (R3): Teljes szöveges cikk-kérés hónap és folyóirat szerint"
msgid "plugins.reports.counter.allCustomers"
msgstr "Összes ügyfél"
msgid "plugins.reports.counter.ar1.title"
msgstr "Cikk összefoglaló 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Folyóirat összefoglaló 1"
@@ -0,0 +1,57 @@
# Artashes Mirzoyan <amirzoyan@sci.am>, 2022.
# Tigran Zargaryan <tigran@flib.sci.am>, 2022.
msgid ""
msgstr ""
"PO-Revision-Date: 2022-07-04 06:31+0000\n"
"Last-Translator: Tigran Zargaryan <tigran@flib.sci.am>\n"
"Language-Team: Armenian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/hy_AM/>\n"
"Language: hy_AM\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER հավելվածը թույլ է տալիս զեկուցել ամսագրի գործունեության մասին՝ "
"օգտագործելով <a href=\"https://www.projectcounter.org\">COUNTER ստանդարտը</"
"a>: Միայն այս զեկույցները չեն դարձնում ամսագիրը COUNTER-ին համապատասխան: "
"COUNTER-ի համապատասխանությունն առաջարկելու համար վերանայեք Project COUNTER-ի "
"կայքում ներկայացված պահանջները:"
msgid "plugins.reports.counter"
msgstr "COUNTER հաշվետվություններ"
msgid "plugins.reports.counter.release"
msgstr "COUNTER Release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Հաշվետվության պարամետրերն անվավեր էին:"
msgid "plugins.reports.counter.error.badRequest"
msgstr "Զեկույցի հարցումն անվավեր է:"
msgid "plugins.reports.counter.error.noResults"
msgstr "Այս հաշվետվության համար արդյունքներ չեն գտնվել:"
msgid "plugins.reports.counter.error.noXML"
msgstr "Արդյունքները չհաջողվեց ձևաչափել որպես XML:"
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Report JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER ամսագրի հաշվետվություն 1 (R3). Հոդվածների ամբողջական տեքստային "
"հարցումներ ըստ ամիսների և ամսագրի"
msgid "plugins.reports.counter.allCustomers"
msgstr "Բոլոր գնորդները"
msgid "plugins.reports.counter.ar1.title"
msgstr "Հոդվածի հաշվետվություն 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Ամսագրի հաշվետվություն 1"
+122
View File
@@ -0,0 +1,122 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:08+00:00\n"
"PO-Revision-Date: 2020-08-31 02:16+0000\n"
"Last-Translator: Ramli Baharuddin <ramli.baharuddin@relawanjurnal.id>\n"
"Language-Team: Indonesian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/id/>\n"
"Language: id_ID\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Plugin COUNTER bisa merekam aktivitas jurnal, dengan menggunakan <a href="
"\"https://www.projectcounter.org\">standard COUNTER</a>. Laporan ini tidak "
"memenuhi standard COUNTER jurnal. Agar sesuai dengan COUNTER, pelajrilah "
"persyaratan pada website Project COUNTER."
msgid "plugins.reports.counter"
msgstr "Statistik COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Rilis COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Parameter laporan tidak valid."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Permintaan laporan tidak valid."
msgid "plugins.reports.counter.error.noResults"
msgstr "Tudak ditemukan laporan yang dimaksud."
msgid "plugins.reports.counter.error.noXML"
msgstr "Hasilnya tidak bisa diformat menjadi XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Report JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Laporan 1 Jurnal COUNTER (R3): Permintaan Artikel Lengkap berdasarkan Bulan "
"dan Jurnal"
msgid "plugins.reports.counter.allCustomers"
msgstr "Semua Pelanggan"
msgid "plugins.reports.counter.ar1.title"
msgstr "Laporan Artikel 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Laporan Jurnal 1"
#~ msgid "plugins.reports.counter.migrate"
#~ msgstr " Log Migrasi "
#~ msgid "plugins.reports.counter.1a.title"
#~ msgstr ""
#~ "Laporan Jurnal 1 (R3): Permintaan Artikel Lengkap berdasarkan Bulan dan "
#~ "Jurnal"
#~ msgid "plugins.reports.counter.1a.title1"
#~ msgstr "Laporan Jurnal 1 (R3)"
#~ msgid "plugins.reports.counter.1a.title2"
#~ msgstr ""
#~ "Jumlah Permintaan Artikel Full-Text yang sukses dari Bulan dan Jurnal "
#~ "(Year {$year})"
#~ msgid "plugins.reports.counter.1a.dateRun"
#~ msgstr "Tanggal Operasi:"
#~ msgid "plugins.reports.counter.1a.publisher"
#~ msgstr "Penerbit"
#~ msgid "plugins.reports.counter.1a.platform"
#~ msgstr "Platform"
#~ msgid "plugins.reports.counter.1a.printIssn"
#~ msgstr "ISSN Cetak"
#~ msgid "plugins.reports.counter.1a.onlineIssn"
#~ msgstr "ISSN Online"
#~ msgid "plugins.reports.counter.1a.ytdTotal"
#~ msgstr "Total YTD"
#~ msgid "plugins.reports.counter.1a.ytdHtml"
#~ msgstr "YTD HTML"
#~ msgid "plugins.reports.counter.1a.ytdPdf"
#~ msgstr "YTD PDF"
#~ msgid "plugins.reports.counter.1a.totalForAllJournals"
#~ msgstr "Total untuk seluruh jurnal"
#~ msgid "plugins.reports.counter.legacyStats"
#~ msgstr ""
#~ "Tautan di bawah ini menghasilkan laporan usang menggunakan data plugin "
#~ "lama, yang tidak COUNTER-ready. Jika ingin membuat laporan COUNTER "
#~ "terbaru menggunakan jenis metrik OJS COUNTER terkini, gunakan tautan di "
#~ "atas."
#~ msgid "plugins.reports.counter.1a.anonymous"
#~ msgstr "Tanpa nama"
#~ msgid "plugins.reports.counter.1a.xml"
#~ msgstr "Versi XML"
#~ msgid "plugins.reports.counter.1a.introduction"
#~ msgstr ""
#~ "Tautan-tautan ini menghasilkan laporan jadi COUNTER berdasarkan Rilis 3.0 "
#~ "sebelumnya. Laporan ini mencakup semua jurnal pada situs ini. Gunakanlah "
#~ "Rilis terbaru bila memungkinkan."
#~ msgid "plugins.reports.counter.olderReports"
#~ msgstr "Laporan Situs Terdahulu"
@@ -0,0 +1,56 @@
# Kolbrun Reynisdottir <kolla@probus.is>, 2022.
msgid ""
msgstr ""
"PO-Revision-Date: 2022-03-23 15:57+0000\n"
"Last-Translator: Kolbrun Reynisdottir <kolla@probus.is>\n"
"Language-Team: Icelandic <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/is_IS/>\n"
"Language: is_IS\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n % 10 != 1 || n % 100 == 11;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER (TELJARA) viðbótin gerir kleift að taka út skýrslur um virkni í "
"tímaritinu, með því að nota <a href=\"http://www.projectcounter.org\">"
"COUNTER standard</a>. Þetta þýðir þó ekki að tímaritið uppfylli þar með "
"kröfur Conter (\"COUNTER compliant). Nánari upplýsingar er að finna á "
"vefsíðu COUNTER (Project COUNTER website)."
msgid "plugins.reports.counter"
msgstr "TELJARI skýrslur"
msgid "plugins.reports.counter.release"
msgstr "TELJARI úgáfa"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Breytur skýrslunnar eru ógildar."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Skýrslubeiðnin er ógild."
msgid "plugins.reports.counter.error.noResults"
msgstr "Engar færslur fundust fyrir þessa skýrslu."
msgid "plugins.reports.counter.error.noXML"
msgstr "Ekki var hægt að birta niðurstöður á XML formi."
msgid "plugins.reports.counter.1a.name"
msgstr "TELJARI skýrsla JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"TELJARI Tímaritsskýrsla 1 (R3): Beiðnir um heildartexta greina eftir mánuði "
"og tímariti"
msgid "plugins.reports.counter.allCustomers"
msgstr "Allir viðskiptavinir"
msgid "plugins.reports.counter.ar1.title"
msgstr "Greinaskýrsla 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Tímaritsskýrsla 1"
@@ -0,0 +1,56 @@
# Stefan Schneider <mail@stefan-schneider.at>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:08+00:00\n"
"PO-Revision-Date: 2023-06-19 14:25+0000\n"
"Last-Translator: Stefan Schneider <mail@stefan-schneider.at>\n"
"Language-Team: Italian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/it/>\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Il plugin COUNTER permette di visualizzare l'attività della rivista nel "
"formato <a href=\"http://www.projectcounter.org\">COUNTER standard</a>. "
"Questo report non rende la rivista COUNTER compliant. Per adeguarsi alle "
"norme COUNTER verificarne i requisiti sul sito COUNTER."
msgid "plugins.reports.counter"
msgstr "Statistiche COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Versione COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "I parametri del report non sono validi."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Il report richiesto non è valido."
msgid "plugins.reports.counter.error.noResults"
msgstr "Questo report non dà risultati."
msgid "plugins.reports.counter.error.noXML"
msgstr "I risultati non possono essere rappresentati in XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Report COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr "COUNTER Journal Report 1 (R3): Full-Text degli articoli richiesti per mese e rivista"
msgid "plugins.reports.counter.allCustomers"
msgstr "Tutti gli utenti"
msgid "plugins.reports.counter.ar1.title"
msgstr "Report articoli 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Report della rivista 1"
@@ -0,0 +1,62 @@
# TAKASHI IMAGIRE <imagire@gmail.com>, 2021.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:08+00:00\n"
"PO-Revision-Date: 2021-12-10 01:07+0000\n"
"Last-Translator: TAKASHI IMAGIRE <imagire@gmail.com>\n"
"Language-Team: Japanese <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/ja_JP/>\n"
"Language: ja_JP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTERプラグインを使用すると、 <a href=\"http://www.projectcounter.org"
"\">COUNTER標準</a>を使用してジャーナル・アクティビティのレポートを作成できま"
"す。これらのレポートだけでは、ジャーナルがCOUNTERに準拠することにはなりませ"
"ん。COUNTERコンプライアンスを提供するには、Project COUNTERのウェブサイトで要"
"件を確認してください。"
msgid "plugins.reports.counter"
msgstr "COUNTER統計"
msgid "plugins.reports.counter.release"
msgstr "COUNTERバージョン"
msgid "plugins.reports.counter.error.badParameters"
msgstr "レポートのパラメーターが無効です。"
msgid "plugins.reports.counter.error.badRequest"
msgstr "レポートのリクエストが無効です。"
msgid "plugins.reports.counter.error.noResults"
msgstr "レポート内に条件に一致する結果が見つかりませんでした。"
msgid "plugins.reports.counter.error.noXML"
msgstr "結果をXML形式に整形できませんでした。"
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTERレポートJR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTERジャーナルレポート1 (R3): 月別およびジャーナル別のフルテキスト論文リク"
"エスト"
msgid "plugins.reports.counter.allCustomers"
msgstr "全顧客"
msgid "plugins.reports.counter.ar1.title"
msgstr "論文レポート1 (AR1)"
msgid "plugins.reports.counter.jr1.title"
msgstr "ジャーナルレポート1 (JR1)"
#~ msgid "plugins.reports.counter.migrate"
#~ msgstr "ログファイルを移行する。"
@@ -0,0 +1,55 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-02-09 18:14+0000\n"
"Last-Translator: Dimitri Gogelia <dimitri.gogelia@iliauni.edu.ge>\n"
"Language-Team: Georgian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/ka_GE/>\n"
"Language: ka_GE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"პლაგინი „ COUNTER“ საშუალებას გაძლევთ შექმნათ ანგარიშგებები ჟურნალის "
"აქტივობის შესახებ, <a href=\"http://www.projectcounter.org\">სტანდარული "
"COUNTER</a>-ის გამოყენებით. მარტო ეს ანგარიშგებები არ ხდიან ჟურნალს COUNTER-"
"ის სტანდარტის შესაბამისს. იმისათვის, რომ ჟურნალი შეესაბამებოდეს ამ "
"სტანდარტს, იხილეთ COUNTER-ის მოთხოვნები."
msgid "plugins.reports.counter"
msgstr "პლაგინი „COUNTER-ანგარიშგებები“"
msgid "plugins.reports.counter.release"
msgstr "COUNTER Release-ის ვერსია"
msgid "plugins.reports.counter.error.badParameters"
msgstr "ანგარიშგების არასწორი პარამეტრები."
msgid "plugins.reports.counter.error.badRequest"
msgstr "ანგარიშგების არასწორი მოთხოვნა."
msgid "plugins.reports.counter.error.noResults"
msgstr "ამ ანგარიშგების შედეგები ვერ მოიძებნა."
msgid "plugins.reports.counter.error.noXML"
msgstr "ვერ ხერხდება შედეგების დაფორმატება XML-ში."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER JR1 ანაგრიშგება (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal ანაგრიშგება 1 (R3): სტატიების სრული ტექსტების მოთხოვნა "
"თვეებისა და ჟურნალების მიხედვით"
msgid "plugins.reports.counter.allCustomers"
msgstr "ყველა მომხმარებელი"
msgid "plugins.reports.counter.ar1.title"
msgstr "Article 1-ის ანგარიშგება"
msgid "plugins.reports.counter.jr1.title"
msgstr "Journal 1-ის ანგარიშგება"
@@ -0,0 +1,56 @@
# Madi <nmdbzk@gmail.com>, 2021.
msgid ""
msgstr ""
"PO-Revision-Date: 2021-08-18 04:05+0000\n"
"Last-Translator: Madi <nmdbzk@gmail.com>\n"
"Language-Team: Kazakh <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/kk_KZ/>\n"
"Language: kk_KZ\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER плагині <a href=\"http://www.projectcounter.org\"> COUNTER "
"стандартын </a> қолдана отырып, журнал әрекеті туралы есептер шығаруға "
"мүмкіндік береді. Бұл есептер журналды COUNTER-ге сәйкес келтірмейді. "
"Журналды осы стандартқа сәйкестендіру үшін COUNTER жобасының сайтындағы "
"талаптарды қарап шығыңыз."
msgid "plugins.reports.counter"
msgstr "«COUNTER есептері» плагині"
msgid "plugins.reports.counter.release"
msgstr "Версия COUNTER Release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Есеп параметрлері қате."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Жарамсыз есеп сұрауы."
msgid "plugins.reports.counter.error.noResults"
msgstr "Бұл есеп бойынша нәтиже табылмады."
msgid "plugins.reports.counter.error.noXML"
msgstr "Нәтижелерді XML пішімдеу мүмкін емес."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER JR1 (R3) есебі"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER журналы туралы есеп 1 (R3): ай мен журнал бойынша толық мәтінді "
"мақалаларды сұрайды"
msgid "plugins.reports.counter.allCustomers"
msgstr "Барлық сатып алушылар"
msgid "plugins.reports.counter.ar1.title"
msgstr "Мақалалар туралы есеп 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Журнал туралы есеп 1"
@@ -0,0 +1,56 @@
# Mahmut VURAL <mahmut.vural@outlook.com>, 2024.
msgid ""
msgstr ""
"PO-Revision-Date: 2024-01-02 18:44+0000\n"
"Last-Translator: Mahmut VURAL <mahmut.vural@outlook.com>\n"
"Language-Team: Kyrgyz <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/ky/>\n"
"Language: ky\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18.2\n"
msgid "plugins.reports.counter"
msgstr "COUNTER Reports модулу"
msgid "plugins.reports.counter.release"
msgstr "COUNTER чыгаруу версиясы"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Туура эмес отчеттун параметрлери."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Жараксыз отчет сурамы."
msgid "plugins.reports.counter.error.noXML"
msgstr "Натыйжаларды XML форматында форматтоого болбойт."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER JR1 (R3) жөнүндө кабарлоо"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal Report 1 (R3): Ай жана журнал боюнча толук тексттик "
"макалаларды сурайт"
msgid "plugins.reports.counter.allCustomers"
msgstr "Бардык сатып алуучулар"
msgid "plugins.reports.counter.ar1.title"
msgstr "1-пункттар боюнча отчет"
msgid "plugins.reports.counter.jr1.title"
msgstr "Каттоо отчету 1"
msgid "plugins.reports.counter.description"
msgstr ""
"\"COUNTER\" модулу <a href=\"http://www.projectcounter.org\">COUNTER</a> "
"стандартын колдонуу менен журналдын аракети боюнча отчетторду түзүүгө "
"мүмкүндүк берет. Бул отчеттор гана журналды COUNTER стандартына шайкеш "
"келтирбейт. Журналды ушул стандартка ылайык келтирүү үчүн COUNTER "
"долбоорунун веб-сайтындагы талаптарды карап чыгыңыз."
msgid "plugins.reports.counter.error.noResults"
msgstr "Бул отчет боюнча эч кандай жыйынтык табылган жок."
@@ -0,0 +1,56 @@
# Ieva Tiltina <pastala@gmail.com>, 2023.
msgid ""
msgstr ""
"PO-Revision-Date: 2023-12-07 13:39+0000\n"
"Last-Translator: Ieva Tiltina <pastala@gmail.com>\n"
"Language-Team: Latvian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/lv/>\n"
"Language: lv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n % 10 == 0 || n % 100 >= 11 && n % 100 <= "
"19) ? 0 : ((n % 10 == 1 && n % 100 != 11) ? 1 : 2);\n"
"X-Generator: Weblate 4.18.2\n"
msgid "plugins.reports.counter"
msgstr "COUNTER atskaites"
msgid "plugins.reports.counter.error.badRequest"
msgstr "Ziņojuma pieprasījums ir nederīgs."
msgid "plugins.reports.counter.error.noResults"
msgstr "Šim ziņojumam rezultāti netika atrasti."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER ziņojums JR1 (R3)"
msgid "plugins.reports.counter.allCustomers"
msgstr "Visi klienti"
msgid "plugins.reports.counter.ar1.title"
msgstr "Raksta ziņojums Nr. 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Žurnāla ziņojums Nr. 1"
msgid "plugins.reports.counter.description"
msgstr ""
"COUNTER spraudnis ļauj ziņot par žurnāla aktivitāti, izmantojot <a href="
"\"https://www.projectcounter.org\">COUNTER standartu</a>. Šie pārskati vien "
"nepadara žurnālu atbilstošu COUNTER. Lai nodrošinātu atbilstību COUNTER, "
"iepazīstieties ar prasībām projekta COUNTER tīmekļa vietnē."
msgid "plugins.reports.counter.release"
msgstr "COUNTER laidiens"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Ziņojuma parametri nebija derīgi."
msgid "plugins.reports.counter.error.noXML"
msgstr "Rezultātus nevarēja formatēt kā XML."
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal Report 1 (R3): Pilna teksta rakstu pieprasījumi pēc mēneša "
"un žurnāla"
@@ -0,0 +1,55 @@
msgid ""
msgstr ""
"PO-Revision-Date: 2021-01-11 10:59+0000\n"
"Last-Translator: Blagoja Grozdanovski <blagoja.grozdanovski@gmail.com>\n"
"Language-Team: Macedonian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/mk_MK/>\n"
"Language: mk_MK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n==1 || n%10==1 ? 0 : 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Додатокот COUNTER дозволува известување за активноста на дневникот, "
"користејќи го <a href=\"http://www.projectcounter.org\"> стандардот COUNTER "
"</a>. Само овие извештаи не го прават списанието COUNTER усогласено. За да "
"понудите усогласеност со COUNTER, прегледајте ги барањата на веб-страницата "
"на Project COUNTER."
msgid "plugins.reports.counter"
msgstr "COUNTER извештаи"
msgid "plugins.reports.counter.release"
msgstr "COUNTER објавување"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Параметрите на извештајот беа неважечки."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Барањето за извештај е неважечко."
msgid "plugins.reports.counter.error.noResults"
msgstr "Не беа пронајдени резултати за овој извештај."
msgid "plugins.reports.counter.error.noXML"
msgstr "Резултатите не може да се форматираат како XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER Извештај JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Извештај за весник COUNTER 1 (R3): Барања за написи во цел текст по месец и "
"весник"
msgid "plugins.reports.counter.allCustomers"
msgstr "Сите клиенти"
msgid "plugins.reports.counter.ar1.title"
msgstr "Извештај за напис 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Извештај за весник 1"
@@ -0,0 +1,55 @@
# Muhd Muaz <muazhero61@yahoo.com>, 2021.
msgid ""
msgstr ""
"PO-Revision-Date: 2021-10-20 21:22+0000\n"
"Last-Translator: Muhd Muaz <muazhero61@yahoo.com>\n"
"Language-Team: Malay <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/ms/>\n"
"Language: ms\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Plugin COUNTER membenarkan melaporkan aktiviti jurnal, menggunakan <a href="
"\"http://www.projectcounter.org\"> standard COUNTER </a>. Laporan ini sahaja "
"tidak menjadikan COUNTER jurnal mematuhi. Untuk menawarkan kepatuhan "
"COUNTER, tinjau syarat di laman web Project COUNTER."
msgid "plugins.reports.counter"
msgstr "Laporan COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Pelepasan COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Parameter laporan tidak sah."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Permintaan laporan tidak sah."
msgid "plugins.reports.counter.error.noResults"
msgstr "Tidak ada hasil untuk laporan ini."
msgid "plugins.reports.counter.error.noXML"
msgstr "Hasilnya tidak dapat diformat sebagai XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Laporan COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Laporan Jurnal COUNTER 1 (R3): Permintaan Artikel Teks Penuh mengikut Bulan "
"dan Jurnal"
msgid "plugins.reports.counter.allCustomers"
msgstr "Semua Pelanggan"
msgid "plugins.reports.counter.ar1.title"
msgstr "Laporan Artikel 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Laporan Jurnal 1"
@@ -0,0 +1,59 @@
# Johanna Skaug <johanna.skaug@ub.uio.no>, 2024.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-03-20T15:57:55+00:00\n"
"PO-Revision-Date: 2024-02-06 07:29+0000\n"
"Last-Translator: Johanna Skaug <johanna.skaug@ub.uio.no>\n"
"Language-Team: Norwegian Bokmål <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/nb_NO/>\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.18.2\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Programtillegg for COUNTER muliggjør rapportering på tidsskriftaktivitet ved "
"å bruke <a href=\"http://www.projectcounter.org\">COUNTER standarden</a>. "
"Disse rapportene alene gjør ikke et tidsskrift COUNTER kompatibelt. For å "
"tilby COUNTER kompatibilitet, se retningslinjene på Project COUNTER sin "
"nettside."
msgid "plugins.reports.counter"
msgstr "COUNTER-rapporter"
msgid "plugins.reports.counter.release"
msgstr "COUNTER-versjon"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Rapportens parametre var ugyldige."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Rapportforespørselen er ugyldig."
msgid "plugins.reports.counter.error.noResults"
msgstr "Det var ingen resultat for denne rapporten."
msgid "plugins.reports.counter.error.noXML"
msgstr "Resultatene kunne ikke formateres som XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER-rapport JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER tidsskriftsrapport 1 (R3): Forespørsler om artikler i fulltekst "
"etter måned og tidsskrift"
msgid "plugins.reports.counter.allCustomers"
msgstr "Alle kunder"
msgid "plugins.reports.counter.ar1.title"
msgstr "Artikkelrapport 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Tidsskriftsrapport 1"
@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:09+00:00\n"
"PO-Revision-Date: 2020-10-13 06:29+0000\n"
"Last-Translator: Hans Spijker <hans.spijker@huygens.knaw.nl>\n"
"Language-Team: Dutch <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/nl/>\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Met de COUNTER-plug-in kunt u rapporten genereren van tijdschriftactiviteit, "
"conform de <a href=\"http://www.projectcounter.org/about.html\">COUNTER-"
"standaard</a>. Deze rapporten op zich maken een tijdschrift niet automatisch "
"COUNTER-compliant. Bekijk de Project COUNTER-website voor meer informatie "
"over COUNTER-compliance vereisten."
msgid "plugins.reports.counter"
msgstr "COUNTER release"
msgid "plugins.reports.counter.release"
msgstr "COUNTER release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "De rapporteringsparameters zijn ongeldig."
msgid "plugins.reports.counter.error.badRequest"
msgstr "De aanvraag voor het rapport is ongeldig."
msgid "plugins.reports.counter.error.noResults"
msgstr "Voor dit rapport werden geen resultaten gevonden."
msgid "plugins.reports.counter.error.noXML"
msgstr "De resultaten kunnen niet worden geformatteerd als XML."
msgid "plugins.reports.counter.1a.name"
msgstr "COUNTER rapport JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER tijdschriftrapport 1 (R3): aantal aangevraagde full-text artikelen "
"per maand en tijdschrift"
msgid "plugins.reports.counter.allCustomers"
msgstr "Alle gebruikers"
msgid "plugins.reports.counter.ar1.title"
msgstr "Artikelen rapport 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Tijdschriften rapport 1"
@@ -0,0 +1,58 @@
# Dariusz Lis <Dariusz@Lis.PL>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2020-01-30T17:57:12+00:00\n"
"PO-Revision-Date: 2023-04-26 14:01+0000\n"
"Last-Translator: Dariusz Lis <Dariusz@Lis.PL>\n"
"Language-Team: Polish <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/pl/>\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 "
"|| n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Wtyczka COUNTER pozwala generować raporty o aktywności czasopisma z "
"wykorzystaniem <a href=\"http://www.projectcounter.org\">standardu COUNTER</"
"a>."
msgid "plugins.reports.counter"
msgstr "Raporty COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Wersja COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Parametry raportu były nieprawidłowe."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Żądanie raportu jest nieprawidłowe."
msgid "plugins.reports.counter.error.noResults"
msgstr "Brak wyników do wyświetlenia w raporcie."
msgid "plugins.reports.counter.error.noXML"
msgstr "Wyniki nie mogą być zapisane w formacie XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Raport COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Journal Report 1 (R3): Zapytania o pełne teksty artykułów w danym "
"miesiącu i czasopiśmie"
msgid "plugins.reports.counter.allCustomers"
msgstr "Wszyscy klienci"
msgid "plugins.reports.counter.ar1.title"
msgstr "Raport z artykułu 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Raport z czasopisma 1"
@@ -0,0 +1,58 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-09-30T11:58:35-07:00\n"
"PO-Revision-Date: 2020-07-08 17:27+0000\n"
"Last-Translator: Ramón Martins Sodoma da Fonseca <ramon.ibict@gmail.com>\n"
"Language-Team: Portuguese (Brazil) <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/pt_BR/>\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"O plugin COUNTER permite relatar a respeito das atividades do periódico "
"usando o <a href=\"http://www.projectcounter.org/\">padrão COUNTER</a>. "
"Estes relatórios não torna o periódico compatível com o COUNTER. Para "
"oferecer compatibilidade com o COUNTER, veja os requisitos do site do "
"Projeto COUNTER."
msgid "plugins.reports.counter"
msgstr "Relatórios COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Versão do COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Parâmetros de relatório inválidos."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Solicitação de relatório inválida."
msgid "plugins.reports.counter.error.noResults"
msgstr "Sem resultados para este relatório."
msgid "plugins.reports.counter.error.noXML"
msgstr "Os resultados não puderam ser formatados em XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Relatório COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Relatório de periódico COUNTER 1 (R3): solicitações de texto completo de "
"artigos por mês e periódico"
msgid "plugins.reports.counter.allCustomers"
msgstr "Todos os consumidores"
msgid "plugins.reports.counter.ar1.title"
msgstr "Relatório de artigo 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Relatório de revista 1"
@@ -0,0 +1,119 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:09+00:00\n"
"PO-Revision-Date: 2020-09-28 10:58+0000\n"
"Last-Translator: Carla Marques <carla.marques@usdb.uminho.pt>\n"
"Language-Team: Portuguese (Portugal) <http://translate.pkp.sfu.ca/projects/"
"ojs/reports-counter/pt_PT/>\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"O plugin COUNTER permite armazenar e produzir relatórios sobre a atividade "
"da revista, compatíveis com a iniciativa<a href=\"https://www.projectcounter."
"org\">COUNTER</a>. Estes relatórios não tornam a revista compatível com "
"COUNTER. Para oferecer compatibilidade com o COUNTER, saiba mais sobre os "
"critérios no site do Projeto COUNTER."
msgid "plugins.reports.counter"
msgstr "Estatísticas COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Versão do COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Os parâmetros do relatório eram inválidos."
msgid "plugins.reports.counter.error.badRequest"
msgstr "O pedido de relatório é inválido."
msgid "plugins.reports.counter.error.noResults"
msgstr "Não foram encontrados resultados para este relatório."
msgid "plugins.reports.counter.error.noXML"
msgstr "Os resultados não podem ser formatados como XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Relatório COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Relatório 1 (R3) COUNTER da Revista: Artigo com texto completo solicitados "
"por mês e revista"
msgid "plugins.reports.counter.allCustomers"
msgstr "Todos os Clientes"
msgid "plugins.reports.counter.ar1.title"
msgstr "Relatório de Artigo 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Relatório de revista 1"
#~ msgid "plugins.reports.counter.1a.title"
#~ msgstr ""
#~ "Relatório 1 (R3): Solicitações de texto completo de artigos por mês e "
#~ "revista"
#~ msgid "plugins.reports.counter.1a.title1"
#~ msgstr "Relatório 1 (R3)"
#~ msgid "plugins.reports.counter.1a.title2"
#~ msgstr ""
#~ "Número de solicitações bem-sucedidas de artigos com texto completo por "
#~ "mês e revista (Ano {$year})"
#~ msgid "plugins.reports.counter.1a.dateRun"
#~ msgstr "Data da execução:"
#~ msgid "plugins.reports.counter.1a.publisher"
#~ msgstr "Editora"
#~ msgid "plugins.reports.counter.1a.platform"
#~ msgstr "Plataforma"
#~ msgid "plugins.reports.counter.1a.printIssn"
#~ msgstr "ISSN (Impresso)"
#~ msgid "plugins.reports.counter.1a.onlineIssn"
#~ msgstr "ISSN (Eletrónico)"
#~ msgid "plugins.reports.counter.1a.ytdTotal"
#~ msgstr "Total YTD"
#~ msgid "plugins.reports.counter.1a.ytdHtml"
#~ msgstr "HTML YTD"
#~ msgid "plugins.reports.counter.1a.ytdPdf"
#~ msgstr "PDF YTD"
#~ msgid "plugins.reports.counter.1a.totalForAllJournals"
#~ msgstr "Total para todas as revistas"
#~ msgid "plugins.reports.counter.legacyStats"
#~ msgstr ""
#~ "Os links em baixo geram relatórios usando os dados do antigo plugin "
#~ "COUNTER. Se pretende gerar relatórios COUNTER usando o novo tipo de "
#~ "métrica do COUNTER do OJS, use os links em cima."
#~ msgid "plugins.reports.counter.olderReports"
#~ msgstr "Relatórios antigos do portal"
#~ msgid "plugins.reports.counter.1a.introduction"
#~ msgstr ""
#~ "Estes links geram relatórios COUNTER com base na versão obsoleta 3.0. "
#~ "Este relatório abrange todas as revistas do portal. Use a versão mais "
#~ "recente, sempre que possível."
#~ msgid "plugins.reports.counter.1a.xml"
#~ msgstr "Versão XML"
#~ msgid "plugins.reports.counter.1a.anonymous"
#~ msgstr "anónimo"
@@ -0,0 +1,62 @@
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:09+00:00\n"
"PO-Revision-Date: 2020-08-02 19:48+0000\n"
"Last-Translator: Mihai-Leonard Duduman <mduduman@gmail.com>\n"
"Language-Team: Romanian <http://translate.pkp.sfu.ca/projects/ojs/reports-"
"counter/ro_RO/>\n"
"Language: ro_RO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < "
"20)) ? 1 : 2;\n"
"X-Generator: Weblate 3.9.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Pluginul COUNTER permite crearea raportului despre activitatea jurnalului, "
"folosind <a href=\"http://www.projectcounter.org\">COUNTER standard</a>. "
"Aceste rapoarte de sine stătător nu fac ca jurnalul să corespundă "
"standardului COUNTER. Pentru ca revista să corespundă acestui standard, "
"consultați cerințele de pe site-ul proiectului COUNTER."
msgid "plugins.reports.counter"
msgstr "Statistici COUNTER"
msgid "plugins.reports.counter.release"
msgstr "Lansare COUNTER"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Parametrii raportului au fost nevalide."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Solicitarea raportului nu este validă."
msgid "plugins.reports.counter.error.noResults"
msgstr "Nu au fost găsite rezultate pentru acest raport."
msgid "plugins.reports.counter.error.noXML"
msgstr "Rezultatele nu au putut fi formatate ca XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Raportul COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"Raportul COUNTER JR1 (R3): Cereri de articol cu text integral pe lună și "
"jurnal"
msgid "plugins.reports.counter.allCustomers"
msgstr "Toți clienții"
msgid "plugins.reports.counter.ar1.title"
msgstr "Raportul 1 pentru articol"
msgid "plugins.reports.counter.jr1.title"
msgstr "Raportul 1 pentru Jurnal"
#~ msgid "plugins.reports.counter.migrate"
#~ msgstr "Migrează fișierul de log"
@@ -0,0 +1,60 @@
# Pavel Pisklakov <ppv1979@mail.ru>, 2023.
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2019-11-19T11:06:09+00:00\n"
"PO-Revision-Date: 2023-05-01 18:49+0000\n"
"Last-Translator: Pavel Pisklakov <ppv1979@mail.ru>\n"
"Language-Team: Russian <http://translate.pkp.sfu.ca/projects/ojs/"
"reports-counter/ru/>\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.13.1\n"
msgid "plugins.reports.counter.description"
msgstr ""
"Модуль «COUNTER» позволяет сформировать отчеты об активности журнала, "
"используя <a href=\"http://www.projectcounter.org\">стандарт COUNTER</a>. "
"Сами по себе эти отчеты не делают журнал соответствующим стандарту COUNTER. "
"Чтобы сделать журнал соответствующим этому стандарту, просмотрите требования "
"на сайте проекта COUNTER."
msgid "plugins.reports.counter"
msgstr "Модуль «Отчеты COUNTER»"
msgid "plugins.reports.counter.release"
msgstr "Версия COUNTER Release"
msgid "plugins.reports.counter.error.badParameters"
msgstr "Неправильные параметры отчета."
msgid "plugins.reports.counter.error.badRequest"
msgstr "Неправильный запрос отчета."
msgid "plugins.reports.counter.error.noResults"
msgstr "Результаты для этого отчета не найдены."
msgid "plugins.reports.counter.error.noXML"
msgstr "Не удается сформатировать результаты в XML."
msgid "plugins.reports.counter.1a.name"
msgstr "Отчет COUNTER JR1 (R3)"
msgid "plugins.reports.counter.1a.description"
msgstr ""
"COUNTER Отчет журнала 1 (R3): Запросы полных текстов статей по месяцам и "
"журналам"
msgid "plugins.reports.counter.allCustomers"
msgstr "Все покупатели"
msgid "plugins.reports.counter.ar1.title"
msgstr "Отчет по статьям 1"
msgid "plugins.reports.counter.jr1.title"
msgstr "Отчет по журналам 1"

Some files were not shown because too many files have changed in this diff Show More