';
+ }
+
+
+ return $result;
+ }
+
+ public function addToSchema($hookName, $args) {
+ $schema = $args[0];
+ $propId = '{
+ "type": "string",
+ "apiSummary": true,
+ "validation": [
+ "nullable"
+ ]
+ }';
+
+ $schema->properties->{'prereview:authorization'} = json_decode($propId);
+ }
+
+
+ /**
+ * Get context wide setting. If the context or the setting does not exist,
+ * get the site wide setting.
+ * @param $context Context
+ * @param $name Setting name
+ * @return mixed
+ */
+ function _getPluginSetting($context, $name) {
+ $pluginSettingsDao = DAORegistry::getDAO('PluginSettingsDAO');
+ if ($context && $pluginSettingsDao->settingExists($context->getId(), $this->getName(), $name)) {
+ return $this->getSetting($context->getId(), $name);
+ } else {
+ return $this->getSetting(CONTEXT_ID_NONE, $name);
+ }
+ }
+
+ function _getSubmissionSetting($id, $name) {
+ $this->import('PrereviewPluginDAO');
+ $prereview = new PrereviewPluginDAO();
+ DAORegistry::registerDAO('PrereviewPluginDAO', $prereview);
+ $preDao = DAORegistry::getDAO('PrereviewPluginDAO');
+ $result= $preDao->_getPrereviewData($id, $name);
+ return $result;
+ }
+ function getPrereviewSetting($id) {
+ $this->import('PrereviewPluginDAO');
+ $prereview = new PrereviewPluginDAO();
+ DAORegistry::registerDAO('PrereviewPluginDAO', $prereview);
+ $preDao = DAORegistry::getDAO('PrereviewPluginDAO');
+ $result= $preDao->getDataPrereview($id);
+ return $result;
+ }
+
+ function getInstallMigration() {
+ $this->import('PrereviewSchemaMigration');
+ return new PrereviewSchemaMigration();
+ }
+
+ public function getDoi($id) {
+ import('classes.submission.Submission');
+ $submission = Services::get('submission')->get($id);
+ $submission = $submission->getData('publications')[0]->getData('pub-id::doi');
+ return $submission;
+ }
+
+
+
+}
\ No newline at end of file
diff --git a/PrereviewPluginDAO.inc.php b/PrereviewPluginDAO.inc.php
new file mode 100644
index 0000000..cdf46ef
--- /dev/null
+++ b/PrereviewPluginDAO.inc.php
@@ -0,0 +1,83 @@
+_result = false;
+ $this->_loadId = null;
+ }
+ function insert($id, $name, $value) {
+ $this->update(
+ 'INSERT INTO prereview_settings
+ (publication_id, setting_name, setting_value)
+ VALUES
+ (?, ?, ?)',
+ array(
+ $id,
+ $name,
+ $value,
+ )
+ );
+ return true;
+ }
+ function updateObject($id, $name, $value) {
+
+ $this->update(
+ 'UPDATE prereview_settings
+ SET setting_value = ?
+ WHERE publication_id = ? AND setting_name = ?',
+ array(
+ $value,
+ $id,
+ $name,
+ )
+ );
+ return true;
+ }
+
+ function _getPrereviewData($id, $name) {
+ $result = $this->retrieve(
+ 'SELECT setting_value
+ FROM prereview_settings WHERE publication_id = ? AND setting_name = ?
+ GROUP BY setting_value',
+ array((int) $id, $name)
+ );
+ $returner = $result->fields[0];
+ $result->Close();
+ return $returner;
+ }
+
+ function getDataPrereview($id) {
+ $result = $this->retrieve(
+ 'SELECT setting_value
+ FROM prereview_settings WHERE publication_id = ?',
+ array((int) $id)
+ );
+ $returner = $result->current();
+ return $returner;
+ }
+
+
+}
+
diff --git a/PrereviewSchemaMigration.inc.php b/PrereviewSchemaMigration.inc.php
new file mode 100644
index 0000000..d2e8d7c
--- /dev/null
+++ b/PrereviewSchemaMigration.inc.php
@@ -0,0 +1,28 @@
+create('prereview_settings', function (Blueprint $table) {
+ $table->bigInteger('publication_id');
+ $table->string('setting_name', 255);
+ $table->longText('setting_value')->nullable();
+ $table->longText('status')->nullable();
+ $table->longText('views')->nullable();
+ });
+
+ }
+}
diff --git a/PrereviewSettingsForm.inc.php b/PrereviewSettingsForm.inc.php
new file mode 100644
index 0000000..9a99863
--- /dev/null
+++ b/PrereviewSettingsForm.inc.php
@@ -0,0 +1,89 @@
+getTemplateResource('settings.tpl'));
+ $this->plugin = $plugin;
+
+ // Always add POST and CSRF validation to secure your form.
+ $this->addCheck(new FormValidatorPost($this));
+ $this->addCheck(new FormValidatorCSRF($this));
+ }
+
+ /**
+ * Load the settings already saved in the database
+ *
+ * The settings are stored together with the general settings of the plugin.
+ * can have different settings.
+ */
+ public function initData() {
+ $contextId = Application::get()->getRequest()->getContext()->getId();
+ $this->setData('prereviewApp', $this->plugin->getSetting($contextId, 'prereviewApp'));
+ $this->setData('prereviewkey', $this->plugin->getSetting($contextId, 'prereviewkey'));
+ $this->setData('showRevisions', $this->plugin->getSetting($contextId, 'showRevisions'));
+ parent::initData();
+ }
+
+ /**
+ * Load data that was submitted with the form
+ */
+ public function readInputData() {
+ $this->readUserVars(['prereviewApp']);
+ $this->readUserVars(['prereviewkey']);
+ $this->readUserVars(['showRevisions']);
+ parent::readInputData();
+ }
+
+ /**
+ * Fetch any additional data needed for your form.
+ *
+ * Data assigned to the form using $this->setData() during the
+ * initData() or readInputData() methods will be passed to the
+ * template.
+ */
+ public function fetch($request, $template = null, $display = false) {
+
+ // Pass the plugin name to the template so that it can be
+ // used in the URL that the form is submitted to
+ $templateMgr = TemplateManager::getManager($request);
+ $templateMgr->assign('pluginName', $this->plugin->getName());
+
+ return parent::fetch($request, $template, $display);
+ }
+ /**
+ * Save the settings
+ */
+ public function execute(...$functionArgs) {
+ $contextId = Application::get()->getRequest()->getContext()->getId();
+ $this->plugin->updateSetting($contextId, 'prereviewApp', $this->getData('prereviewApp'));
+ $this->plugin->updateSetting($contextId, 'prereviewkey', $this->getData('prereviewkey'));
+ $this->plugin->updateSetting($contextId, 'showRevisions', $this->getData('showRevisions'));
+ // Tell the user that the save was successful.
+ import('classes.notification.NotificationManager');
+ $notificationMgr = new NotificationManager();
+ $notificationMgr->createTrivialNotification(
+ Application::get()->getRequest()->getUser()->getId(),
+ NOTIFICATION_TYPE_SUCCESS,
+ ['contents' => __('common.changesSaved')]
+ );
+ return parent::execute(...$functionArgs);
+ }
+
+}
+
diff --git a/controllers/grid/PrereviewGridHandler.inc.php b/controllers/grid/PrereviewGridHandler.inc.php
new file mode 100644
index 0000000..5550f08
--- /dev/null
+++ b/controllers/grid/PrereviewGridHandler.inc.php
@@ -0,0 +1,128 @@
+addRoleAssignment(
+ array(ROLE_ID_MANAGER, ROLE_ID_SUB_EDITOR, ROLE_ID_ASSISTANT, ROLE_ID_AUTHOR),
+ array('updateRequest')
+ );
+ }
+
+
+ /**
+ * Set the plugin.
+ * @param $plugin
+ */
+ static function setPlugin($plugin) {
+ self::$plugin = $plugin;
+ }
+
+ /**
+ * Get the submission associated with this grid.
+ * @return Submission
+ */
+ function getSubmission() {
+ return $this->getAuthorizedContextObject(ASSOC_TYPE_SUBMISSION);
+ }
+
+ /**
+ * Get whether or not this grid should be 'read only'
+ * @return boolean
+ */
+ function getReadOnly() {
+ return $this->_readOnly;
+ }
+
+ /**
+ * Set the boolean for 'read only' status
+ * @param boolean
+ */
+ function setReadOnly($readOnly) {
+ $this->_readOnly = $readOnly;
+ }
+
+ /**
+ * @copydoc PKPHandler::authorize()
+ */
+ function authorize($request, &$args, $roleAssignments) {
+ import('lib.pkp.classes.security.authorization.SubmissionAccessPolicy');
+ $this->addPolicy(new SubmissionAccessPolicy($request, $args, $roleAssignments));
+ return parent::authorize($request, $args, $roleAssignments);
+ }
+
+
+
+
+ /**
+ * @copydoc GridHandler::getJSHandler()
+ */
+ public function getJSHandler() {
+ return '$.pkp.plugins.generic.prereviewPlugin.PrereviewGridHandler';
+ }
+
+
+ /**
+ * Update a request
+ * @param $args array
+ * @param $request PKPRequest
+ * @return string Serialized JSON object
+ */
+ function updateRequest($args, $request) {
+ $result = $request->getUserVar('prereview:authorization');
+ $context = $request->getContext();
+ $submission = $this->getSubmission();
+ $submissionId = $submission->getId();
+ $latestRequest=$this->getPrereviewSetting($submission->getId())->setting_value;
+ $this->setupTemplate($request);
+ // Create and populate the form
+ import('plugins.generic.prereviewPlugin.controllers.grid.form.RequestForm');
+ $prereviewForm = new RequestForm(self::$plugin, $context->getId(), $submissionId, $result, $latestRequest);
+ $prereviewForm->readInputData();
+ $save = $prereviewForm->execute();
+ import('classes.notification.NotificationManager');
+ $notificationMgr = new NotificationManager();
+
+ if($save==true)
+ {
+ $notificationMgr->createTrivialNotification(
+ Application::get()->getRequest()->getUser()->getId(),
+ NOTIFICATION_TYPE_SUCCESS,
+ ['contents' => __('common.changesSaved')]
+ );
+
+ }else{
+ $notificationMgr->createTrivialNotification(
+ Application::get()->getRequest()->getUser()->getId(),
+ NOTIFICATION_TYPE_ERROR,
+ ['contents' => __('common.error')]);
+ }
+ $path = getenv('HTTP_REFERER').'#publication/prereviewTab';
+ header('Location: '.$path);
+
+ }
+
+
+ function getPrereviewSetting($id) {
+ import('plugins.generic.prereviewPlugin.PrereviewPluginDAO');
+ $prereview = new PrereviewPluginDAO();
+ DAORegistry::registerDAO('PrereviewPluginDAO', $prereview);
+ $preDao = DAORegistry::getDAO('PrereviewPluginDAO');
+ $result= $preDao->getDataPrereview($id);
+ return $result;
+ }
+}
diff --git a/controllers/grid/form/RequestForm.inc.php b/controllers/grid/form/RequestForm.inc.php
new file mode 100644
index 0000000..d01303c
--- /dev/null
+++ b/controllers/grid/form/RequestForm.inc.php
@@ -0,0 +1,81 @@
+getTemplateResource('workflowPrereview.tpl'));
+ $this->contextId = $contextId;
+ $this->submissionId = $submissionId;
+ $this->result = $result;
+ $this->plugin = $prereviewPlugin;
+ $this->latestRequest = $latestRequest;
+
+ // Add form checks
+ $this->addCheck(new FormValidator($this, 'prereview:authorization', 'required', 'plugins.generic.prereview.publication.success'));
+ $this->addCheck(new FormValidatorPost($this));
+ $this->addCheck(new FormValidatorCSRF($this));
+
+ }
+
+ /**
+ * @copydoc Form::initData()
+ */
+ function initData() {
+ $this->setData('publication_id', $this->submissionId);
+ $this->setData('setting_name', 'prereview:authorization');
+ $this->setData('setting_value', $this->result);
+ }
+
+ /**
+ * @copydoc Form::readInputData()
+ */
+ function readInputData() {
+ $this->readUserVars(['prereview:authorization']);
+ }
+
+ /**
+ * @copydoc Form::fetch
+ */
+ function fetch($request, $template = null, $display = false) {
+ $templateMgr = TemplateManager::getManager($request);
+
+ $templateMgr->assign('publication_id', $this->submissionId);
+ $templateMgr->assign('setting_value', $this->result);
+ return parent::fetch($request, $template, $display);
+ }
+
+ /**
+ * Save form values into the database
+ */
+ function execute(...$functionArgs) {
+ import('plugins.generic.prereviewPlugin.PrereviewPluginDAO');
+ $prereview = new PrereviewPluginDAO();
+ DAORegistry::registerDAO('PrereviewPluginDAO', $prereview);
+ $preDao = DAORegistry::getDAO('PrereviewPluginDAO');
+ $latestRequest = $this->latestRequest;
+ $id=$this->submissionId;
+ $requestResult=$this->result;
+
+ if(empty($latestRequest))
+ {
+ $data = $preDao->insert($id, 'prereview:authorization', $requestResult);
+ }else{
+ $data = $preDao->updateObject($id, 'prereview:authorization', $requestResult);
+ }
+ return $data;
+
+ }
+}
diff --git a/css/prereview.css b/css/prereview.css
new file mode 100644
index 0000000..bef946d
--- /dev/null
+++ b/css/prereview.css
@@ -0,0 +1,200 @@
+#reviews {
+ border-radius: 5px;
+ border: 1px solid;
+}
+
+.message_header {
+ text-align: center;
+}
+
+.div-header {
+ width: 100%;
+ background-color: #D2D1CE;
+ font-size: 0.9rem;
+ font-family: Open Sans, sans-serif;
+ font-weight: 400;
+ line-height: 1.5;
+ color: #767676;
+ padding: 8px;
+}
+
+.div-header span {
+ color: #FF3333;
+ font-size: 0.8rem;
+ font-weight: 700;
+}
+
+.message {
+ text-align: center;
+ font-size: 18px;
+ margin-top: 15px;
+}
+
+.general-container:nth-of-type(odd) {
+ background-color: rgba(0, 0, 0, 0.04);
+}
+
+.general-container {
+ width: 100%;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ margin-top: 5px;
+ align-items: center;
+ padding: 5px 2px;
+}
+
+.ask-container {
+ width: 50%;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ padding-right: 5px;
+}
+
+.option-container {
+ width: 50%;
+ display: flex;
+ flex-wrap: wrap;
+ box-sizing: border-box;
+ height: 20px;
+}
+
+.option-container p {
+ line-height: 20px;
+ margin: 0;
+ font-size: 10px;
+}
+
+.yes {
+ background-color: #197CF4;
+ color: #fff;
+ text-align: center;
+}
+
+.unsure {
+ background-color: #767676;
+ color: #fff;
+ text-align: center;
+}
+
+.na {
+ background-color: #000;
+ color: #fff;
+ text-align: center;
+}
+
+.no {
+ background-color: #F77463;
+ color: #fff;
+ text-align: center;
+}
+
+.full-reviews {
+ margin: 8px 0;
+}
+
+.author-name {
+ font-weight: 600;
+}
+
+.value h2 {
+ /* margin-bottom: 0.5px; */
+ margin: 20px 0.5px;
+}
+
+.author-name h3 {
+ margin: 10px 0.5px;
+}
+
+.author-name {
+ /* border: 1px solid #e6e6e6; */
+ padding: 0.5px 5px;
+}
+
+.author-name .more {
+ font-weight: 600;
+ text-align: right;
+ margin-top: 0;
+ color: #007ab2;
+ cursor: pointer;
+ margin-bottom: 2px;
+}
+
+.author-name .less {
+ font-weight: 600;
+ text-align: right;
+ margin-top: 0;
+ color: #007ab2;
+ display: none;
+ cursor: pointer;
+}
+
+.author-name .contents {
+ font-weight: normal;
+ text-align: justify !important;
+ margin-top: 5px;
+ color: #050505;
+ display: none;
+}
+
+.author-name .contents a {
+ color: #050505;
+}
+
+.author-name .contents p {
+ margin: 2px 0;
+}
+
+.ql-tooltip {
+ display: none;
+}
+
+
+/* .section-author {
+ border: 1px solid;
+} */
+
+.semaphore {
+ width: 100%;
+ background: #ecefef;
+ border-radius: 5px;
+ padding: 10px;
+}
+
+.red_light::before {
+ content: '';
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ -moz-border-radius: 7.5px;
+ -webkit-border-radius: 7.5px;
+ border-radius: 50%;
+ background-color: #da0e0e;
+ vertical-align: text-top;
+}
+
+.green_light::before {
+ content: '';
+ display: inline-block;
+ width: 20px;
+ height: 20px;
+ -moz-border-radius: 7.5px;
+ -webkit-border-radius: 7.5px;
+ border-radius: 50%;
+ background-color: #009688;
+ vertical-align: text-top;
+}
+
+.pre-icon {
+ width: 100% !important;
+ text-align: center !important;
+}
+
+.pre-icon img {
+ max-width: 220px !important;
+}
+#editRequest .pkpFormField--options {
+ padding: 1rem 2rem;
+ border: none;
+}
\ No newline at end of file
diff --git a/images/images.png b/images/images.png
new file mode 100644
index 0000000..24d61a0
Binary files /dev/null and b/images/images.png differ
diff --git a/images/prereview-logo.svg b/images/prereview-logo.svg
new file mode 100644
index 0000000..78f7f91
--- /dev/null
+++ b/images/prereview-logo.svg
@@ -0,0 +1 @@
+
diff --git a/index.php b/index.php
new file mode 100644
index 0000000..56999f4
--- /dev/null
+++ b/index.php
@@ -0,0 +1,3 @@
+read here. If you have questions or concerns about what this means, please contact PREreview at contact@prereview.org."
+
+msgid "plugins.generic.prereview.description.buttoncheck"
+msgstr "Yes, please let the PREreview research community know I would like to solicit constructive feedback on my preprint and have it displayed next to my preprint on this preprint server."
+
+msgid "plugins.generic.prereview.description.notdisplay"
+msgstr "Yes, please let the PREreview research community know I would like to receive constructive feedback on my preprint BUT I would NOT like to have it displayed next to my preprint on this server."
+
+msgid "plugins.generic.prereview.description.notsolicit"
+msgstr "No, I do not wish to solicit constructive feedback from the PREreview research community."
+
+msgid "plugins.generic.prereview.semaphore.author"
+msgstr "The author's contribution statement was identified in the document"
+
+msgid "plugins.generic.prereview.semaphore.authorFalse"
+msgstr "No authors identified"
+
+msgid "plugins.generic.prereview.semaphore.orcidTrue"
+msgstr "The ORCID iD of the corresponding author has been correctly identified."
+
+msgid "plugins.generic.prereview.semaphore.orcidFalse"
+msgstr "The ORCID iD of the corresponding author was not identified. "
+
+msgid "plugins.generic.prereview.semaphore.metadata"
+msgstr "The following metadata is not found in all configured languages: "
+
+msgid "plugins.generic.prereview.question.ynNovel"
+msgstr "Are the findings novel?"
+
+msgid "plugins.generic.prereview.question.ynFuture"
+msgstr "Are the results likely to lead to future research?"
+
+msgid "plugins.generic.prereview.question.ynReproducibility"
+msgstr "Is sufficient detail provided to allow reproduction of the study?"
+
+msgid "plugins.generic.prereview.question.ynMethods"
+msgstr "Are the methods and statistics appropriate for the analysis?"
+
+msgid "plugins.generic.prereview.question.ynCoherent"
+msgstr "Are the principal conclusions supported by the data and analysis?"
+
+msgid "plugins.generic.prereview.question.ynLimitations"
+msgstr "Does the manuscript discuss limitations?"
+
+msgid "plugins.generic.prereview.question.ynEthics"
+msgstr "Have the authors adequately discussed ethical concerns?"
+
+msgid "plugins.generic.prereview.question.ynNewData"
+msgstr "Does the manuscript include new data?"
+
+msgid "plugins.generic.prereview.question.ynAvailableData"
+msgstr "Are the data used in the manuscript available?"
+
+msgid "plugins.generic.prereview.question.ynAvailableCode"
+msgstr "Is the code used in the manuscript available?"
+
+msgid "plugins.generic.prereview.question.ynRecommend"
+msgstr "Would you recommend this manuscript to others?"
+
+msgid "plugins.generic.prereview.question.ynPeerReview"
+msgstr "Do you recommend this manuscript for peer review?"
+
diff --git a/locale/es_ES/locale.po b/locale/es_ES/locale.po
new file mode 100644
index 0000000..396a4eb
--- /dev/null
+++ b/locale/es_ES/locale.po
@@ -0,0 +1,127 @@
+msgid "plugins.generic.prereview.title"
+msgstr "PREreview"
+
+msgid "plugins.generic.prereview.description"
+msgstr "Este plugin permite a los autores solicitar comentarios constructivos sobre su preprint a la comunidad de investigadores de PREreview (https://prereview.org/reviews)."
+
+msgid "plugins.generic.prereview.apisettings"
+msgstr "Configure las claves de acceso a la API de PREreview para solicitar reseñas a la comunidad de PREreview."
+
+msgid "plugins.generic.prereview.apisettings.title"
+msgstr "Claves API"
+
+msgid "plugins.generic.prereview.apisettings.name"
+msgstr "API"
+
+msgid "plugins.generic.prereview.apisettings.key"
+msgstr "LLave"
+
+msgid "plugins.generic.prereview.apisettings.option"
+msgstr "Configuración de PREreview"
+
+msgid "plugins.generic.prereview.apisettings.optionDescription"
+msgstr "En PREreview, los revisores pueden proporcionar comentarios rápidos y estructurados en formato de Rapid PREreview (por ejemplo, ___), y una revisión más larga de forma libre, una Full PREreview (por ejemplo, ___)."
+
+msgid "plugins.generic.prereview.apisettings.optionDescription.ask"
+msgstr "¿Qué reseñas del sitio de PREreview le gustaría que aparecieran?"
+
+msgid "plugins.generic.prereview.apisettings.showrevisions"
+msgstr "Mostrar solo revisiones rapidas"
+
+msgid "plugins.generic.prereview.apisettings.showrevisionsLong"
+msgstr "Mostrar solo revisiones largas"
+
+msgid "plugins.generic.prereview.apisettings.showrevisionsBoth"
+msgstr "Mostrar revisiones rapidas y largas"
+
+msgid "plugins.generic.prereview.view.message"
+msgstr "No se ha registrado ninguna reseña"
+
+msgid "plugins.generic.prereview.view.textRapidReview"
+msgstr "PREreviews rapidas"
+
+msgid "plugins.generic.prereview.view.textLongReview"
+msgstr "PREreviews completas"
+
+msgid "plugins.generic.prereview.view.textRequest"
+msgstr "Solicitudes"
+
+msgid "plugins.generic.prereview.view.textRequests"
+msgstr "Solicitud"
+
+msgid "plugins.generic.prereview.view.textViewSite"
+msgstr "Ver en el sitio de PREreview"
+
+msgid "plugins.generic.prereview.publication.success"
+msgstr "Datos guardados correctamente"
+
+msgid "plugins.generic.prereview.description.p1"
+msgstr "PREreview es una plataforma de revisión de preprints gratuita y de código abierto, un centro de recursos y un convocante. A través de la plataforma PREreview, cualquier investigador con un ORCID puede aportar comentarios constructivos a un preprint."
+
+msgid "plugins.generic.prereview.description.p2"
+msgstr "Ahora puede solicitar los comentarios de sus compañeros a través de este plugin y elegir que se muestren abiertamente junto a su preprint en este servidor de preprints."
+
+msgid "plugins.generic.prereview.description.p3"
+msgstr "Para saber más sobre el funcionamiento de la plataforma PREreview, lea aquí. Si tiene preguntas o dudas sobre lo que esto significa, póngase en contacto con PREreview en contact@prereview.org."
+
+msgid "plugins.generic.prereview.description.buttoncheck"
+msgstr "Sí, por favor, haga saber a la comunidad de PREreview que me gustaría solicitar comentarios constructivos sobre mi preprint y que se muestren junto a mi preprint."
+
+msgid "plugins.generic.prereview.description.notdisplay"
+msgstr "Sí, por favor, haga saber a la comunidad investigadora de PREreview que me gustaría recibir comentarios constructivos sobre mi preprint PERO NO me gustaría que se mostraran junto a mi preprint."
+
+msgid "plugins.generic.prereview.description.notsolicit"
+msgstr "No, no deseo solicitar comentarios constructivos de la comunidad investigadora de PREreview."
+
+msgid "plugins.generic.prereview.semaphore.author"
+msgstr "Se identificó la declaración de contribución del autor"
+
+msgid "plugins.generic.prereview.semaphore.authorFalse"
+msgstr "No hay autores identificados"
+
+msgid "plugins.generic.prereview.semaphore.orcidTrue"
+msgstr "El ORCID del autor correspondiente ha sido identificado correctamente."
+
+msgid "plugins.generic.prereview.semaphore.orcidFalse"
+msgstr "El ORCID del autor correspondiente no fue identificado."
+
+msgid "plugins.generic.prereview.semaphore.metadata"
+msgstr "Los siguientes metadatos no se encuentran en todos los idiomas configurados: "
+
+msgid "plugins.generic.prereview.question.ynNovel"
+msgstr "¿Son novedosos los resultados?"
+
+msgid "plugins.generic.prereview.question.ynFuture"
+msgstr "¿Es probable que los resultados conduzcan a futuras investigaciones?"
+
+msgid "plugins.generic.prereview.question.ynReproducibility"
+msgstr "¿Se proporcionan suficientes detalles para permitir la reproducción del estudio?"
+
+msgid "plugins.generic.prereview.question.ynMethods"
+msgstr "¿Los métodos y las estadísticas son adecuados para el análisis?"
+
+msgid "plugins.generic.prereview.question.ynCoherent"
+msgstr "¿Están las principales conclusiones respaldadas por los datos y el análisis?"
+
+msgid "plugins.generic.prereview.question.ynLimitations"
+msgstr "¿Discute el manuscrito las limitaciones?"
+
+msgid "plugins.generic.prereview.question.ynEthics"
+msgstr "¿Los autores han discutido adecuadamente las cuestiones éticas?"
+
+msgid "plugins.generic.prereview.question.ynNewData"
+msgstr "¿El manuscrito incluye datos nuevos?"
+
+msgid "plugins.generic.prereview.question.ynAvailableData"
+msgstr "¿Están disponibles los datos utilizados en el manuscrito?"
+
+msgid "plugins.generic.prereview.question.ynAvailableCode"
+msgstr "¿Está disponible el código utilizado en el manuscrito?"
+
+msgid "plugins.generic.prereview.question.ynRecommend"
+msgstr "¿Recomendaría este manuscrito a otras personas?"
+
+msgid "plugins.generic.prereview.question.ynPeerReview"
+msgstr "¿Recomienda este manuscrito para la revisión por pares?"
+
+
diff --git a/locale/pt_BR/locale.po b/locale/pt_BR/locale.po
new file mode 100644
index 0000000..d78ef96
--- /dev/null
+++ b/locale/pt_BR/locale.po
@@ -0,0 +1,126 @@
+msgid "plugins.generic.prereview.title"
+msgstr "PREreview"
+
+msgid "plugins.generic.prereview.description"
+msgstr "Este plugin permite oferecer aos autores a opção de solicitar da comunidade PREreview (https://prereview.org) pareceres construtivos para os seus preprints"
+
+msgid "plugins.generic.prereview.apisettings"
+msgstr "Configure acesso à API do PREreview para solicitar pareceres da comunidade PREreview."
+
+msgid "plugins.generic.prereview.apisettings.title"
+msgstr "Chaves API"
+
+msgid "plugins.generic.prereview.apisettings.name"
+msgstr "API"
+
+msgid "plugins.generic.prereview.apisettings.key"
+msgstr "KEY"
+
+msgid "plugins.generic.prereview.apisettings.option"
+msgstr "Configuração de exibição do PREreview"
+
+msgid "plugins.generic.prereview.apisettings.optionDescription"
+msgstr "No PREreview, os pareceristas da comunidade podem fornecer pareceres rápidos e estruturados na forma de um Rapid PREreview (Ex:___), e na forma de um parecer mais longo e livre, um Full PREreview (Ex:____)."
+
+msgid "plugins.generic.prereview.apisettings.optionDescription.ask"
+msgstr "Que tipos de pareceres do website do PREreview você gostaria de exibir próximo a um preprint?"
+
+msgid "plugins.generic.prereview.apisettings.showrevisions"
+msgstr "Exibir somente os Rapid PREreviews"
+
+msgid "plugins.generic.prereview.apisettings.showrevisionsLong"
+msgstr "Exibir somente os Full PREreviews"
+
+msgid "plugins.generic.prereview.apisettings.showrevisionsBoth"
+msgstr "Exibir ambos os Rapid PREreviews e Full PREreviews"
+
+msgid "plugins.generic.prereview.view.message"
+msgstr "Não há revisões registadas"
+
+msgid "plugins.generic.prereview.view.textRapidReview"
+msgstr "PREreviews rapid"
+
+msgid "plugins.generic.prereview.view.textLongReview"
+msgstr "PREreviews completo"
+
+msgid "plugins.generic.prereview.view.textRequests"
+msgstr "Solicitação(ões)"
+
+msgid "plugins.generic.prereview.view.textRequest"
+msgstr "Solicitação"
+
+msgid "plugins.generic.prereview.view.textViewSite"
+msgstr "Ver no site"
+
+msgid "plugins.generic.prereview.publication.success"
+msgstr "Decisão salva com sucesso"
+
+msgid "plugins.generic.prereview.description.p1"
+msgstr "PREreview é uma plataforma gratuita e de código aberto, um centro de recursos e uma convocadora. Por meio da plataforma PREreview, qualquer pesquisador com um ORCID iD pode fornecer pareceres construtivos para um preprint."
+
+msgid "plugins.generic.prereview.description.p2"
+msgstr "Você pode agora solicitar pareceres de seus pares por meio deste plugin e escolher disponibilizá-los publicamente ao lado do seu preprint neste servidor."
+
+msgid "plugins.generic.prereview.description.p3"
+msgstr "Para saber mais sobre como a plataforma PREreview funciona, leia aqui. Se você tem perguntas ou preocupações sobre o que isto significa, por favor entre em contato com o PREreview em contact@prereview.org."
+
+msgid "plugins.generic.prereview.description.buttoncheck"
+msgstr "Sim, por favor permita que a comunidade de pesquisadores PREreview saiba que eu gostaria de solicitar avaliações construtivas para o meu preprint e exibi-las ao lado do meu preprint neste servidor."
+
+msgid "plugins.generic.prereview.description.notdisplay"
+msgstr "Sim, por favor permita que a comunidade de pesquisadores PREreview saiba que eu gostaria de solicitar avaliações construtivas para o meu preprint mas eu NÃO gostaria de exibi-las ao lado do meu preprint neste servidor."
+
+msgid "plugins.generic.prereview.description.notsolicit"
+msgstr "Não, eu não gostaria de solicitar avaliações construtivas à comunidade de pesquisadores PREreview."
+
+msgid "plugins.generic.prereview.semaphore.author"
+msgstr "The author's contribution statement was identified in the document"
+
+msgid "plugins.generic.prereview.semaphore.authorFalse"
+msgstr "No authors identified"
+
+msgid "plugins.generic.prereview.semaphore.orcidTrue"
+msgstr "O ORCID ID do autor correspondente foi identificado."
+
+msgid "plugins.generic.prereview.semaphore.orcidFalse"
+msgstr "O ORCID ID do autor correspondente não foi identificado. "
+
+msgid "plugins.generic.prereview.semaphore.metadata"
+msgstr "The following metadata is not found in all configured languages: "
+
+msgid "plugins.generic.prereview.question.ynNovel"
+msgstr "As descobertas são novas?"
+
+msgid "plugins.generic.prereview.question.ynFuture"
+msgstr "Os resultados são susceptíveis de levar a pesquisas futuras?"
+
+msgid "plugins.generic.prereview.question.ynReproducibility"
+msgstr "São fornecidos detalhes suficientes para permitir a reprodução do estudo?"
+
+msgid "plugins.generic.prereview.question.ynMethods"
+msgstr "Os métodos e estatísticas são apropriados para a análise?"
+
+msgid "plugins.generic.prereview.question.ynCoherent"
+msgstr "As principais conclusões são apoiadas pelos dados e análises?"
+
+msgid "plugins.generic.prereview.question.ynLimitations"
+msgstr "O manuscrito discute limitações?"
+
+msgid "plugins.generic.prereview.question.ynEthics"
+msgstr "Os autores discutiram adequadamente as preocupações éticas?"
+
+msgid "plugins.generic.prereview.question.ynNewData"
+msgstr "O manuscrito inclui dados novos?"
+
+msgid "plugins.generic.prereview.question.ynAvailableData"
+msgstr "Os dados utilizados no manuscrito estão disponíveis?"
+
+msgid "plugins.generic.prereview.question.ynAvailableCode"
+msgstr "O código usado no manuscrito está disponível?"
+
+msgid "plugins.generic.prereview.question.ynRecommend"
+msgstr "Você recomendaria este manuscrito a outras pessoas?"
+
+msgid "plugins.generic.prereview.question.ynPeerReview"
+msgstr "Você recomenda este manuscrito para revisão por pares?"
+
diff --git a/schema.xml b/schema.xml
new file mode 100644
index 0000000..6dac2aa
--- /dev/null
+++ b/schema.xml
@@ -0,0 +1,25 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/templates/prereview.tpl b/templates/prereview.tpl
new file mode 100644
index 0000000..cdc76fb
--- /dev/null
+++ b/templates/prereview.tpl
@@ -0,0 +1,47 @@
+{* PREreview content in the OPS detail view *}
+
diff --git a/templates/request.tpl b/templates/request.tpl
new file mode 100644
index 0000000..dbbdb32
--- /dev/null
+++ b/templates/request.tpl
@@ -0,0 +1,17 @@
+
+{* Form to display radiobuttons of choice of display at the end of a shipment. *}
+{fbvFormSection class="section-author pkpFormField--options" list="true" translate=false}
+