From 897f3ed4f17fdd92b904201457fc5f4a07f7f168 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Tue, 16 Jul 2024 16:35:47 +0600 Subject: [PATCH 01/26] pkp/pkp-lib#9892 Submodule Update ##touhidurabir/i9892_main## --- lib/pkp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pkp b/lib/pkp index d24432eb64d..14d54e52a64 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit d24432eb64da466b565677eb724a36e2e7fead0b +Subproject commit 14d54e52a644ce9a3a02f700cb005dd924e6b32b From c6013794069fcc6561bc4b12666359cd88e1d588 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Tue, 16 Jul 2024 17:41:00 +0600 Subject: [PATCH 02/26] pkp/pkp-lib#9892 DB float type precision added --- .../migration/install/JournalsMigration.php | 2 +- classes/migration/install/OJSMigration.php | 18 +++++++++--------- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/classes/migration/install/JournalsMigration.php b/classes/migration/install/JournalsMigration.php index 04e2a229b4a..a39e242b15c 100644 --- a/classes/migration/install/JournalsMigration.php +++ b/classes/migration/install/JournalsMigration.php @@ -29,7 +29,7 @@ public function up(): void $table->comment('A list of all journals in the installation of OJS.'); $table->bigInteger('journal_id')->autoIncrement(); $table->string('path', 32); - $table->float('seq', 8, 2)->default(0)->comment('Used to order lists of journals'); + $table->float('seq', 53)->default(0)->comment('Used to order lists of journals'); $table->string('primary_locale', 28); $table->smallInteger('enabled')->default(1)->comment('Controls whether or not the journal is considered "live" and will appear on the website. (Note that disabled journals may still be accessible, but only if the user knows the URL.)'); $table->unique(['path'], 'journals_path'); diff --git a/classes/migration/install/OJSMigration.php b/classes/migration/install/OJSMigration.php index d5535310845..6c5792c8671 100644 --- a/classes/migration/install/OJSMigration.php +++ b/classes/migration/install/OJSMigration.php @@ -38,7 +38,7 @@ public function up(): void $table->foreign('review_form_id', 'sections_review_form_id')->references('review_form_id')->on('review_forms')->onDelete('set null'); $table->index(['review_form_id'], 'sections_review_form_id'); - $table->float('seq', 8, 2)->default(0); + $table->float('seq', 53)->default(0); $table->smallInteger('editor_restricted')->default(0); $table->smallInteger('meta_indexed')->default(0); $table->smallInteger('meta_reviewed')->default(1); @@ -154,7 +154,7 @@ public function up(): void $table->index(['file_id'], 'issue_galleys_file_id'); $table->string('label', 255)->nullable(); - $table->float('seq', 8, 2)->default(0); + $table->float('seq', 53)->default(0); $table->string('url_path', 64)->nullable(); $table->index(['url_path'], 'issue_galleys_url_path'); @@ -189,7 +189,7 @@ public function up(): void $table->foreign('journal_id', 'custom_issue_orders_journal_id')->references('journal_id')->on('journals')->onDelete('cascade'); $table->index(['journal_id'], 'custom_issue_orders_journal_id'); - $table->float('seq', 8, 2)->default(0); + $table->float('seq', 53)->default(0); $table->unique(['issue_id'], 'custom_issue_orders_unique'); }); @@ -206,7 +206,7 @@ public function up(): void $table->foreign('section_id', 'custom_section_orders_section_id')->references('section_id')->on('sections')->onDelete('cascade'); $table->index(['section_id'], 'custom_section_orders_section_id'); - $table->float('seq', 8, 2)->default(0); + $table->float('seq', 53)->default(0); $table->unique(['issue_id', 'section_id'], 'custom_section_orders_unique'); }); @@ -228,7 +228,7 @@ public function up(): void $table->foreign('section_id', 'publications_section_id')->references('section_id')->on('sections')->onDelete('set null'); $table->index(['section_id'], 'publications_section_id'); - $table->float('seq', 8, 2)->default(0); + $table->float('seq', 53)->default(0); $table->bigInteger('submission_id'); $table->foreign('submission_id', 'publications_submission_id')->references('submission_id')->on('submissions')->onDelete('cascade'); @@ -274,7 +274,7 @@ public function up(): void $table->foreign('submission_file_id')->references('submission_file_id')->on('submission_files'); $table->index(['submission_file_id'], 'publication_galleys_submission_file_id'); - $table->float('seq', 8, 2)->default(0); + $table->float('seq', 53)->default(0); $table->string('remote_url', 2047)->nullable(); $table->smallInteger('is_approved')->default(0); $table->string('url_path', 64)->nullable(); @@ -318,14 +318,14 @@ public function up(): void $table->foreign('journal_id', 'subscription_types_journal_id')->references('journal_id')->on('journals')->onDelete('cascade'); $table->index(['journal_id'], 'subscription_types_journal_id'); - $table->float('cost', 8, 2); + $table->float('cost', 53); $table->string('currency_code_alpha', 3); $table->smallInteger('duration')->nullable(); $table->smallInteger('format'); $table->smallInteger('institutional')->default(0); $table->smallInteger('membership')->default(0); $table->smallInteger('disable_public_display'); - $table->float('seq', 8, 2); + $table->float('seq', 53); }); // Locale-specific subscription type data @@ -415,7 +415,7 @@ public function up(): void $table->index(['user_id'], 'completed_payments_user_id'); $table->bigInteger('assoc_id')->nullable(); - $table->float('amount', 8, 2); + $table->float('amount', 53); $table->string('currency_code_alpha', 3)->nullable(); $table->string('payment_method_plugin_name', 80)->nullable(); }); From e483ae3224a486783fa00fd3202dd487cf85a4b2 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Wed, 17 Jul 2024 13:54:07 +0600 Subject: [PATCH 03/26] pkp/pkp-lib#9892 updated paypal plugin composer dependency --- plugins/paymethod/paypal/composer.json | 4 +- plugins/paymethod/paypal/composer.lock | 392 ++++++++++--------------- 2 files changed, 155 insertions(+), 241 deletions(-) diff --git a/plugins/paymethod/paypal/composer.json b/plugins/paymethod/paypal/composer.json index 503461bb6fa..3f157e19fcb 100644 --- a/plugins/paymethod/paypal/composer.json +++ b/plugins/paymethod/paypal/composer.json @@ -1,13 +1,13 @@ { "require": { - "symfony/event-dispatcher" : "^6.0", + "symfony/event-dispatcher" : "^7.0", "omnipay/paypal": "^3.0", "guzzlehttp/guzzle": "^7.0", "php-http/guzzle7-adapter": "^1.0" }, "config": { "platform": { - "php": "8.1.0" + "php": "8.2.0" }, "allow-plugins": { "php-http/discovery": true diff --git a/plugins/paymethod/paypal/composer.lock b/plugins/paymethod/paypal/composer.lock index e44eca6a8ce..b386b43835b 100644 --- a/plugins/paymethod/paypal/composer.lock +++ b/plugins/paymethod/paypal/composer.lock @@ -4,27 +4,27 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "aca7872b59679ab29c85966ef7a6b40e", + "content-hash": "8356128d6d9637d13cf5c7072f0f1216", "packages": [ { "name": "clue/stream-filter", - "version": "v1.6.0", + "version": "v1.7.0", "source": { "type": "git", "url": "https://github.com/clue/stream-filter.git", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e" + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/d6169430c7731d8509da7aecd0af756a5747b78e", - "reference": "d6169430c7731d8509da7aecd0af756a5747b78e", + "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", "shasum": "" }, "require": { "php": ">=5.3" }, "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" }, "type": "library", "autoload": { @@ -46,7 +46,7 @@ } ], "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/php-stream-filter", + "homepage": "https://github.com/clue/stream-filter", "keywords": [ "bucket brigade", "callback", @@ -58,7 +58,7 @@ ], "support": { "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.6.0" + "source": "https://github.com/clue/stream-filter/tree/v1.7.0" }, "funding": [ { @@ -70,20 +70,20 @@ "type": "github" } ], - "time": "2022-02-21T13:15:14+00:00" + "time": "2023-12-20T15:40:13+00:00" }, { "name": "guzzlehttp/guzzle", - "version": "7.8.0", + "version": "7.8.1", "source": { "type": "git", "url": "https://github.com/guzzle/guzzle.git", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9" + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/1110f66a6530a40fe7aea0378fe608ee2b2248f9", - "reference": "1110f66a6530a40fe7aea0378fe608ee2b2248f9", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", "shasum": "" }, "require": { @@ -98,11 +98,11 @@ "psr/http-client-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "ext-curl": "*", "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { @@ -180,7 +180,7 @@ ], "support": { "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.0" + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" }, "funding": [ { @@ -196,28 +196,28 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:20:53+00:00" + "time": "2023-12-03T20:35:24+00:00" }, { "name": "guzzlehttp/promises", - "version": "2.0.1", + "version": "2.0.2", "source": { "type": "git", "url": "https://github.com/guzzle/promises.git", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d" + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/111166291a0f8130081195ac4556a5587d7f1b5d", - "reference": "111166291a0f8130081195ac4556a5587d7f1b5d", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", "shasum": "" }, "require": { "php": "^7.2.5 || ^8.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "type": "library", "extra": { @@ -263,7 +263,7 @@ ], "support": { "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.1" + "source": "https://github.com/guzzle/promises/tree/2.0.2" }, "funding": [ { @@ -279,20 +279,20 @@ "type": "tidelift" } ], - "time": "2023-08-03T15:11:55+00:00" + "time": "2023-12-03T20:19:20+00:00" }, { "name": "guzzlehttp/psr7", - "version": "2.6.1", + "version": "2.6.2", "source": { "type": "git", "url": "https://github.com/guzzle/psr7.git", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727" + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/be45764272e8873c72dbe3d2edcfdfcc3bc9f727", - "reference": "be45764272e8873c72dbe3d2edcfdfcc3bc9f727", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "shasum": "" }, "require": { @@ -306,9 +306,9 @@ "psr/http-message-implementation": "1.0" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.1", + "bamarni/composer-bin-plugin": "^1.8.2", "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.29 || ^9.5.23" + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "suggest": { "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" @@ -379,7 +379,7 @@ ], "support": { "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.1" + "source": "https://github.com/guzzle/psr7/tree/2.6.2" }, "funding": [ { @@ -395,45 +395,47 @@ "type": "tidelift" } ], - "time": "2023-08-27T10:13:57+00:00" + "time": "2023-12-03T20:05:35+00:00" }, { "name": "moneyphp/money", - "version": "v3.3.3", + "version": "v4.5.0", "source": { "type": "git", "url": "https://github.com/moneyphp/money.git", - "reference": "0dc40e3791c67e8793e3aa13fead8cf4661ec9cd" + "reference": "a1daa7daf159b4044e3d0c34c41fe2be5860e850" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/moneyphp/money/zipball/0dc40e3791c67e8793e3aa13fead8cf4661ec9cd", - "reference": "0dc40e3791c67e8793e3aa13fead8cf4661ec9cd", + "url": "https://api.github.com/repos/moneyphp/money/zipball/a1daa7daf159b4044e3d0c34c41fe2be5860e850", + "reference": "a1daa7daf159b4044e3d0c34c41fe2be5860e850", "shasum": "" }, "require": { + "ext-bcmath": "*", + "ext-filter": "*", "ext-json": "*", - "php": ">=5.6" + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "cache/taggable-cache": "^0.4.0", - "doctrine/instantiator": "^1.0.5", - "ext-bcmath": "*", + "cache/taggable-cache": "^1.1.0", + "doctrine/coding-standard": "^12.0", + "doctrine/instantiator": "^1.5.0 || ^2.0", "ext-gmp": "*", "ext-intl": "*", - "florianv/exchanger": "^1.0", - "florianv/swap": "^3.0", - "friends-of-phpspec/phpspec-code-coverage": "^3.1.1 || ^4.3", - "moneyphp/iso-currencies": "^3.2.1", - "php-http/message": "^1.4", - "php-http/mock-client": "^1.0.0", - "phpspec/phpspec": "^3.4.3", - "phpunit/phpunit": "^5.7.27 || ^6.5.14 || ^7.5.18 || ^8.5", - "psr/cache": "^1.0", - "symfony/phpunit-bridge": "^4" + "florianv/exchanger": "^2.8.1", + "florianv/swap": "^4.3.0", + "moneyphp/crypto-currencies": "^1.1.0", + "moneyphp/iso-currencies": "^3.4", + "php-http/message": "^1.16.0", + "php-http/mock-client": "^1.6.0", + "phpbench/phpbench": "^1.2.5", + "phpunit/phpunit": "^10.5.9", + "psalm/plugin-phpunit": "^0.18.4", + "psr/cache": "^1.0.1 || ^2.0 || ^3.0", + "vimeo/psalm": "~5.20.0" }, "suggest": { - "ext-bcmath": "Calculate without integer limits", "ext-gmp": "Calculate without integer limits", "ext-intl": "Format Money objects with intl", "florianv/exchanger": "Exchange rates library for PHP", @@ -479,22 +481,22 @@ ], "support": { "issues": "https://github.com/moneyphp/money/issues", - "source": "https://github.com/moneyphp/money/tree/v3.3.3" + "source": "https://github.com/moneyphp/money/tree/v4.5.0" }, - "time": "2022-09-21T07:43:36+00:00" + "time": "2024-02-15T19:47:21+00:00" }, { "name": "omnipay/common", - "version": "v3.2.1", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/thephpleague/omnipay-common.git", - "reference": "80545e9f4faab0efad36cc5f1e11a184dda22baf" + "reference": "2eca3823e9069e2c36b6007a090577d5584f9518" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/80545e9f4faab0efad36cc5f1e11a184dda22baf", - "reference": "80545e9f4faab0efad36cc5f1e11a184dda22baf", + "url": "https://api.github.com/repos/thephpleague/omnipay-common/zipball/2eca3823e9069e2c36b6007a090577d5584f9518", + "reference": "2eca3823e9069e2c36b6007a090577d5584f9518", "shasum": "" }, "require": { @@ -504,13 +506,14 @@ "php-http/discovery": "^1.14", "php-http/message": "^1.5", "php-http/message-factory": "^1.1", - "symfony/http-foundation": "^2.1|^3|^4|^5|^6" + "symfony/http-foundation": "^2.1|^3|^4|^5|^6|^7" }, "require-dev": { + "http-interop/http-factory-guzzle": "^1.1", "omnipay/tests": "^4.1", "php-http/guzzle7-adapter": "^1", - "php-http/mock-client": "^1", - "squizlabs/php_codesniffer": "^3.5" + "php-http/mock-client": "^1.6", + "squizlabs/php_codesniffer": "^3.8.1" }, "suggest": { "league/omnipay": "The default Omnipay package provides a default HTTP Adapter." @@ -566,7 +569,7 @@ ], "support": { "issues": "https://github.com/thephpleague/omnipay-common/issues", - "source": "https://github.com/thephpleague/omnipay-common/tree/v3.2.1" + "source": "https://github.com/thephpleague/omnipay-common/tree/v3.3.0" }, "funding": [ { @@ -574,7 +577,7 @@ "type": "github" } ], - "time": "2023-05-30T12:44:03+00:00" + "time": "2024-03-08T11:56:40+00:00" }, { "name": "omnipay/paypal", @@ -642,16 +645,16 @@ }, { "name": "php-http/discovery", - "version": "1.19.1", + "version": "1.19.4", "source": { "type": "git", "url": "https://github.com/php-http/discovery.git", - "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e" + "reference": "0700efda8d7526335132360167315fdab3aeb599" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/discovery/zipball/57f3de01d32085fea20865f9b16fb0e69347c39e", - "reference": "57f3de01d32085fea20865f9b16fb0e69347c39e", + "url": "https://api.github.com/repos/php-http/discovery/zipball/0700efda8d7526335132360167315fdab3aeb599", + "reference": "0700efda8d7526335132360167315fdab3aeb599", "shasum": "" }, "require": { @@ -675,7 +678,8 @@ "php-http/httplug": "^1.0 || ^2.0", "php-http/message-factory": "^1.0", "phpspec/phpspec": "^5.1 || ^6.1 || ^7.3", - "symfony/phpunit-bridge": "^6.2" + "sebastian/comparator": "^3.0.5 || ^4.0.8", + "symfony/phpunit-bridge": "^6.4.4 || ^7.0.1" }, "type": "composer-plugin", "extra": { @@ -714,9 +718,9 @@ ], "support": { "issues": "https://github.com/php-http/discovery/issues", - "source": "https://github.com/php-http/discovery/tree/1.19.1" + "source": "https://github.com/php-http/discovery/tree/1.19.4" }, - "time": "2023-07-11T07:02:26+00:00" + "time": "2024-03-29T13:00:05+00:00" }, { "name": "php-http/guzzle7-adapter", @@ -839,16 +843,16 @@ }, { "name": "php-http/message", - "version": "1.16.0", + "version": "1.16.1", "source": { "type": "git", "url": "https://github.com/php-http/message.git", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd" + "reference": "5997f3289332c699fa2545c427826272498a2088" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/47a14338bf4ebd67d317bf1144253d7db4ab55fd", - "reference": "47a14338bf4ebd67d317bf1144253d7db4ab55fd", + "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", + "reference": "5997f3289332c699fa2545c427826272498a2088", "shasum": "" }, "require": { @@ -902,9 +906,9 @@ ], "support": { "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.0" + "source": "https://github.com/php-http/message/tree/1.16.1" }, - "time": "2023-05-17T06:43:38+00:00" + "time": "2024-03-07T13:22:09+00:00" }, { "name": "php-http/message-factory", @@ -963,16 +967,16 @@ }, { "name": "php-http/promise", - "version": "1.2.1", + "version": "1.3.1", "source": { "type": "git", "url": "https://github.com/php-http/promise.git", - "reference": "44a67cb59f708f826f3bec35f22030b3edb90119" + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-http/promise/zipball/44a67cb59f708f826f3bec35f22030b3edb90119", - "reference": "44a67cb59f708f826f3bec35f22030b3edb90119", + "url": "https://api.github.com/repos/php-http/promise/zipball/fc85b1fba37c169a69a07ef0d5a8075770cc1f83", + "reference": "fc85b1fba37c169a69a07ef0d5a8075770cc1f83", "shasum": "" }, "require": { @@ -1009,9 +1013,9 @@ ], "support": { "issues": "https://github.com/php-http/promise/issues", - "source": "https://github.com/php-http/promise/tree/1.2.1" + "source": "https://github.com/php-http/promise/tree/1.3.1" }, - "time": "2023-11-08T12:57:08+00:00" + "time": "2024-03-15T13:55:21+00:00" }, { "name": "psr/event-dispatcher", @@ -1117,20 +1121,20 @@ }, { "name": "psr/http-factory", - "version": "1.0.2", + "version": "1.1.0", "source": { "type": "git", "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.0.0", + "php": ">=7.1", "psr/http-message": "^1.0 || ^2.0" }, "type": "library", @@ -1154,7 +1158,7 @@ "homepage": "https://www.php-fig.org/" } ], - "description": "Common interfaces for PSR-7 HTTP message factories", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", "keywords": [ "factory", "http", @@ -1166,9 +1170,9 @@ "response" ], "support": { - "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + "source": "https://github.com/php-fig/http-factory" }, - "time": "2023-04-10T20:10:41+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { "name": "psr/http-message", @@ -1269,16 +1273,16 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.3.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", "shasum": "" }, "require": { @@ -1287,7 +1291,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -1316,7 +1320,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" }, "funding": [ { @@ -1332,28 +1336,28 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v6.3.2", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e" + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/adb01fe097a4ee930db9258a3cc906b5beb5cf2e", - "reference": "adb01fe097a4ee930db9258a3cc906b5beb5cf2e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", "shasum": "" }, "require": { - "php": ">=8.1", + "php": ">=8.2", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<5.4", + "symfony/dependency-injection": "<6.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -1362,13 +1366,13 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/error-handler": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-foundation": "^6.4|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^5.4|^6.0" + "symfony/stopwatch": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1396,7 +1400,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.3.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" }, "funding": [ { @@ -1412,20 +1416,20 @@ "type": "tidelift" } ], - "time": "2023-07-06T06:56:43+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/event-dispatcher-contracts", - "version": "v3.3.0", + "version": "v3.5.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", "shasum": "" }, "require": { @@ -1435,7 +1439,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.4-dev" + "dev-main": "3.5-dev" }, "thanks": { "name": "symfony/contracts", @@ -1472,7 +1476,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" }, "funding": [ { @@ -1488,40 +1492,40 @@ "type": "tidelift" } ], - "time": "2023-05-23T14:45:45+00:00" + "time": "2024-04-18T09:32:20+00:00" }, { "name": "symfony/http-foundation", - "version": "v6.3.7", + "version": "v7.1.1", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "59d1837d5d992d16c2628cd0d6b76acf8d69b33e" + "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/59d1837d5d992d16c2628cd0d6b76acf8d69b33e", - "reference": "59d1837d5d992d16c2628cd0d6b76acf8d69b33e", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/74d171d5b6a1d9e4bfee09a41937c17a7536acfa", + "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.1", "symfony/polyfill-php83": "^1.27" }, "conflict": { - "symfony/cache": "<6.3" + "doctrine/dbal": "<3.6", + "symfony/cache": "<6.4" }, "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/dbal": "^3.6|^4", "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^5.4|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" + "symfony/cache": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/expression-language": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/mime": "^6.4|^7.0", + "symfony/rate-limiter": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -1549,7 +1553,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.3.7" + "source": "https://github.com/symfony/http-foundation/tree/v7.1.1" }, "funding": [ { @@ -1565,20 +1569,20 @@ "type": "tidelift" } ], - "time": "2023-10-28T23:55:27+00:00" + "time": "2024-05-31T14:57:53+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/fd22ab50000ef01661e2a31d850ebaa297f8e03c", + "reference": "fd22ab50000ef01661e2a31d850ebaa297f8e03c", "shasum": "" }, "require": { @@ -1592,9 +1596,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -1632,90 +1633,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-07-28T09:04:16+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.30.0" }, "funding": [ { @@ -1731,31 +1649,27 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-06-19T12:30:46+00:00" }, { "name": "symfony/polyfill-php83", - "version": "v1.28.0", + "version": "v1.30.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", + "reference": "dbdcdf1a4dcc2743591f1079d0c35ab1e2dcbbc9", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": ">=7.1" }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -1795,7 +1709,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php83/tree/v1.30.0" }, "funding": [ { @@ -1811,7 +1725,7 @@ "type": "tidelift" } ], - "time": "2023-08-16T06:22:46+00:00" + "time": "2024-06-19T12:35:24+00:00" } ], "packages-dev": [], @@ -1823,7 +1737,7 @@ "platform": [], "platform-dev": [], "platform-overrides": { - "php": "8.1.0" + "php": "8.2.0" }, - "plugin-api-version": "2.3.0" + "plugin-api-version": "2.6.0" } From 5d6786e69be0cf03818186d7c2790a7e0af2ceff Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Mon, 29 Jul 2024 13:15:06 +0600 Subject: [PATCH 04/26] pkp/pkp-lib#9892 PHPUnit 11 doc block to attributes convert to update deprecations --- .../dc/tests/OAIMetadataFormat_DCTest.php | 39 +++++++++-------- .../classes/search/ArticleSearchIndexTest.php | 42 ++++--------------- tests/classes/search/ArticleSearchTest.php | 13 +++--- 3 files changed, 33 insertions(+), 61 deletions(-) diff --git a/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php b/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php index 24fbe8bf027..d8df8881fc1 100755 --- a/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php +++ b/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php @@ -35,6 +35,7 @@ use APP\section\Section; use APP\submission\Submission; use Illuminate\Support\LazyCollection; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PKP\author\Repository as AuthorRepository; use PKP\core\Dispatcher; @@ -48,6 +49,8 @@ use PKP\submission\SubmissionSubjectDAO; use PKP\tests\PKPTestCase; +#[CoversClass(OAIMetadataFormat_DC::class)] +#[CoversClass(\APP\plugins\metadata\dc11\filter\Dc11SchemaArticleAdapter::class)] class OAIMetadataFormat_DCTest extends PKPTestCase { /** @@ -74,10 +77,6 @@ protected function getMockedContainerKeys(): array return [...parent::getMockedContainerKeys(), GalleyCollector::class, AuthorRepository::class]; } - /** - * @covers OAIMetadataFormat_DC - * @covers \APP\plugins\metadata\dc11\filter\Dc11SchemaArticleAdapter - */ public function testToXml() { // @@ -123,14 +122,14 @@ public function testToXml() ->getMock(); $article->expects($this->any()) ->method('getId') - ->will($this->returnValue(9)); + ->willReturn(9); $article->setData('locale', 'en'); $article->setId(9); $article->setData('contextId', $journalId); $author->setSubmissionId($article->getId()); $article->expects($this->any()) ->method('getCurrentPublication') - ->will($this->returnValue($publication)); + ->willReturn($publication); /** @var Doi|MockObject */ $galleyDoiObject = $this->getMockBuilder(Doi::class) @@ -147,10 +146,10 @@ public function testToXml() ->getMock(); $galley->expects(self::any()) ->method('getFileType') - ->will($this->returnValue('galley-filetype')); + ->willReturn('galley-filetype'); $galley->expects(self::any()) ->method('getBestGalleyId') - ->will($this->returnValue(98)); + ->willReturn(98); $galley->setId(98); $galley->setData('doiObject', $galleyDoiObject); $galley->setData('locale', 'en'); @@ -165,7 +164,7 @@ public function testToXml() $journal->expects($this->any()) ->method('getSetting') ->with('publishingMode') - ->will($this->returnValue(Journal::PUBLISHING_MODE_OPEN)); + ->willReturn(Journal::PUBLISHING_MODE_OPEN); $journal->setName('journal-title', 'en'); $journal->setData('publisherInstitution', 'journal-publisher'); $journal->setPrimaryLocale('en'); @@ -192,7 +191,7 @@ public function testToXml() ->getMock(); $issue->expects($this->any()) ->method('getIssueIdentification') - ->will($this->returnValue('issue-identification')); + ->willReturn('issue-identification'); $issue->setId(96); $issue->setDatePublished('2010-11-05'); $issue->setData('doiObject', $issueDoiObject); @@ -217,8 +216,8 @@ public function testToXml() // Dispatcher /** @var Dispatcher|MockObject */ $dispatcher = $this->getMockBuilder(Dispatcher::class) - ->onlyMethods(['url']) - ->getMock(); + ->onlyMethods(['url']) + ->getMock(); $dispatcher->expects($this->any()) ->method('url') ->will($this->returnCallback(fn ($request, $shortcut, $newContext = null, $handler = null, $op = null, $path = null) => $handler . '-' . $op . '-' . implode('-', $path))); @@ -229,10 +228,10 @@ public function testToXml() ->getMock(); $requestMock->expects($this->any()) ->method('getRouter') - ->will($this->returnValue($router)); + ->willReturn($router); $requestMock->expects($this->any()) ->method('getDispatcher') - ->will($this->returnValue($dispatcher)); + ->willReturn($dispatcher); Registry::set('request', $requestMock); // @@ -245,13 +244,13 @@ public function testToXml() ->getMock(); $oaiDao->expects($this->any()) ->method('getJournal') - ->will($this->returnValue($journal)); + ->willReturn($journal); $oaiDao->expects($this->any()) ->method('getSection') - ->will($this->returnValue($section)); + ->willReturn($section); $oaiDao->expects($this->any()) ->method('getIssue') - ->will($this->returnValue($issue)); + ->willReturn($issue); DAORegistry::registerDAO('OAIDAO', $oaiDao); /** @var GalleyCollector|MockObject */ @@ -261,7 +260,7 @@ public function testToXml() ->getMock(); $mockGalleyCollector->expects($this->any()) ->method('getMany') - ->will($this->returnValue(LazyCollection::wrap($galleys))); + ->willReturn(LazyCollection::wrap($galleys)); app()->instance(GalleyCollector::class, $mockGalleyCollector); // Mocked DAO to return the subjects @@ -270,7 +269,7 @@ public function testToXml() ->getMock(); $submissionSubjectDao->expects($this->any()) ->method('getSubjects') - ->will($this->returnValue(['en' => ['article-subject', 'article-subject-class']])); + ->willReturn(['en' => ['article-subject', 'article-subject-class']]); DAORegistry::registerDAO('SubmissionSubjectDAO', $submissionSubjectDao); // Mocked DAO to return the keywords @@ -279,7 +278,7 @@ public function testToXml() ->getMock(); $submissionKeywordDao->expects($this->any()) ->method('getKeywords') - ->will($this->returnValue(['en' => ['article-keyword']])); + ->willReturn(['en' => ['article-keyword']]); DAORegistry::registerDAO('SubmissionKeywordDAO', $submissionKeywordDao); diff --git a/tests/classes/search/ArticleSearchIndexTest.php b/tests/classes/search/ArticleSearchIndexTest.php index f4c85f3fc8d..c8fd1d9f3ff 100644 --- a/tests/classes/search/ArticleSearchIndexTest.php +++ b/tests/classes/search/ArticleSearchIndexTest.php @@ -26,6 +26,7 @@ use APP\submission\Submission; use Mockery; use Mockery\MockInterface; +use PHPUnit\Framework\Attributes\CoversClass; use PHPUnit\Framework\MockObject\MockObject; use PKP\db\DAORegistry; use PKP\db\DAOResultFactory; @@ -34,6 +35,7 @@ use PKP\submissionFile\SubmissionFile; use PKP\tests\PKPTestCase; +#[CoversClass(ArticleSearchIndex::class)] class ArticleSearchIndexTest extends PKPTestCase { // @@ -77,9 +79,7 @@ protected function tearDown(): void // // Unit tests // - /** - * @covers ArticleSearchIndex - */ + public function testUpdateFileIndexViaPluginHook() { // Diverting to the search plugin hook. @@ -100,9 +100,6 @@ public function testUpdateFileIndexViaPluginHook() Hook::clear('ArticleSearchIndex::submissionFileChanged'); } - /** - * @covers ArticleSearchIndex - */ public function testDeleteTextIndex() { // Prepare the mock environment for this test. @@ -116,9 +113,6 @@ public function testDeleteTextIndex() $articleSearchIndex->submissionFileDeleted(0); } - /** - * @covers ArticleSearchIndex - */ public function testDeleteTextIndexViaPluginHook() { // Diverting to the search plugin hook. @@ -140,9 +134,6 @@ public function testDeleteTextIndexViaPluginHook() Hook::clear('ArticleSearchIndex::submissionFileDeleted'); } - /** - * @covers ArticleSearchIndex - */ public function testRebuildIndex() { // Prepare the mock environment for this test. @@ -160,9 +151,6 @@ public function testRebuildIndex() $articleSearchIndex->rebuildIndex(true); } - /** - * @covers ArticleSearchIndex - */ public function testRebuildIndexViaPluginHook() { // Diverting to the search plugin hook. @@ -180,9 +168,6 @@ public function testRebuildIndexViaPluginHook() Hook::clear('ArticleSearchIndex::rebuildIndex'); } - /** - * @covers ArticleSearchIndex - */ public function testIndexArticleMetadata() { // Make sure that no hook is being called. @@ -203,16 +188,13 @@ public function testIndexArticleMetadata() ->getMock(); $article->expects($this->any()) ->method('getCurrentPublication') - ->will($this->returnValue($publication)); + ->willReturn($publication); // Test indexing an article with a mock environment. $articleSearchIndex = $this->getMockArticleSearchIndex($this->atLeastOnce()); $articleSearchIndex->submissionMetadataChanged($article); } - /** - * @covers ArticleSearchIndex - */ public function testIndexArticleMetadataViaPluginHook() { // Diverting to the search plugin hook. @@ -231,9 +213,6 @@ public function testIndexArticleMetadataViaPluginHook() Hook::clear('ArticleSearchIndex::articleMetadataChanged'); } - /** - * @covers ArticleSearchIndex - */ public function testIndexSubmissionFiles() { // Make sure that no hook is being called. @@ -247,9 +226,6 @@ public function testIndexSubmissionFiles() $this->assertTrue(true); } - /** - * @covers ArticleSearchIndex - */ public function testIndexSubmissionFilesViaPluginHook() { // Diverting to the search plugin hook. @@ -388,12 +364,12 @@ private function registerMockArticleSearchDAO($clearIndexExpected, $deleteArticl // Test the clearIndex() method. $articleSearchDao->expects($clearIndexExpected) ->method('clearIndex') - ->will($this->returnValue(null)); + ->willReturn(null); // Test the deleteSubmissionKeywords() method. $articleSearchDao->expects($deleteArticleExpected) ->method('deleteSubmissionKeywords') - ->will($this->returnValue(null)); + ->willReturn(null); // Register the mock DAO. DAORegistry::registerDAO('ArticleSearchDAO', $articleSearchDao); @@ -417,12 +393,12 @@ private function registerMockJournalDAO() ->getMock(); $journalsIterator ->method('toIterator') - ->will($this->returnValue([])); + ->willReturn([]); // Mock the getAll() method. $journalDao->expects($this->any()) ->method('getAll') - ->will($this->returnValue($journalsIterator)); + ->willReturn($journalsIterator); // Register the mock DAO. DAORegistry::registerDAO('JournalDAO', $journalDao); @@ -460,7 +436,7 @@ private function getMockArticleSearchIndex($expectedCall) // Check for _updateTextIndex() calls. $articleSearchIndex->expects($expectedCall) ->method('_updateTextIndex') - ->will($this->returnValue(null)); + ->willReturn(null); return $articleSearchIndex; } } diff --git a/tests/classes/search/ArticleSearchTest.php b/tests/classes/search/ArticleSearchTest.php index 52bcdfe95fe..9dce898c7a9 100644 --- a/tests/classes/search/ArticleSearchTest.php +++ b/tests/classes/search/ArticleSearchTest.php @@ -26,10 +26,12 @@ use APP\search\ArticleSearchDAO; use Mockery; use Mockery\MockInterface; +use PHPUnit\Framework\Attributes\CoversClass; use PKP\db\DAORegistry; use PKP\plugins\Hook; use PKP\tests\PKPTestCase; +#[CoversClass(ArticleSearch::class)] class ArticleSearchTest extends PKPTestCase { private const SUBMISSION_SEARCH_TEST_DEFAULT_ARTICLE = 1; @@ -87,9 +89,7 @@ protected function tearDown(): void // // Unit tests // - /** - * @covers ArticleSearch - */ + public function testRetrieveResults() { // Make sure that no hook is being called. @@ -133,9 +133,6 @@ public function testRetrieveResults() self::assertTrue($searchResult->eof()); } - /** - * @covers ArticleSearch - */ public function testRetrieveResultsViaPluginHook() { // Diverting a search to the search plugin hook. @@ -248,7 +245,7 @@ private function registerMockArticleSearchDAO() // Mock the getPhraseResults() method. $articleSearchDao->expects($this->any()) ->method('getPhraseResults') - ->will($this->returnValue($searchResult)); + ->willReturn($searchResult); // Register the mock DAO. DAORegistry::registerDAO('ArticleSearchDAO', $articleSearchDao); @@ -273,7 +270,7 @@ private function registerMockJournalDAO() // Mock the getById() method. $journalDao->expects($this->any()) ->method('getById') - ->will($this->returnValue($journal)); + ->willReturn($journal); // Register the mock DAO. DAORegistry::registerDAO('JournalDAO', $journalDao); From 7e512e41dac0e1af55d6b13b761e4ee9f917ad0b Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Mon, 29 Jul 2024 16:08:50 +0600 Subject: [PATCH 05/26] pkp/pkp-lib#9892 WIP: MariaDB driver compatibility --- classes/migration/install/MetricsMigration.php | 2 ++ classes/migration/install/OJSMigration.php | 14 ++++++++++---- .../upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php | 1 + .../upgrade/v3_4_0/I9231_FixMetricsIndexes.php | 2 ++ 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/classes/migration/install/MetricsMigration.php b/classes/migration/install/MetricsMigration.php index 035a0b4c4e0..86e798dd469 100644 --- a/classes/migration/install/MetricsMigration.php +++ b/classes/migration/install/MetricsMigration.php @@ -221,6 +221,7 @@ public function up(): void $table->index(['context_id', 'submission_id'], 'msgd_context_id_submission_id'); switch (DB::getDriverName()) { case 'mysql': + case 'mariadb': // See "Create a database table" here: https://db-ip.com/db/format/ip-to-city-lite/csv.html // where city is defined as varchar(80) $table->unique([DB::raw('load_id, context_id, submission_id, country, region, city(80), date')], 'msgd_uc_load_context_submission_c_r_c_date'); @@ -253,6 +254,7 @@ public function up(): void $table->index(['context_id', 'submission_id'], 'msgm_context_id_submission_id'); switch (DB::getDriverName()) { case 'mysql': + case 'mariadb': // See "Create a database table" here: https://db-ip.com/db/format/ip-to-city-lite/csv.html // where city is defined as varchar(80) $table->unique([DB::raw('context_id, submission_id, country, region, city(80), month')], 'msgm_uc_context_submission_c_r_c_month'); diff --git a/classes/migration/install/OJSMigration.php b/classes/migration/install/OJSMigration.php index 6c5792c8671..0c3ed7785ae 100644 --- a/classes/migration/install/OJSMigration.php +++ b/classes/migration/install/OJSMigration.php @@ -115,9 +115,12 @@ public function up(): void }); // Add partial index (DBMS-specific) switch (DB::getDriverName()) { - case 'mysql': DB::unprepared('CREATE INDEX issue_settings_name_value ON issue_settings (setting_name(50), setting_value(150))'); + case 'mysql': + case 'mariadb': + DB::unprepared('CREATE INDEX issue_settings_name_value ON issue_settings (setting_name(50), setting_value(150))'); break; - case 'pgsql': DB::unprepared("CREATE INDEX issue_settings_name_value ON issue_settings (setting_name, setting_value) WHERE setting_name IN ('medra::registeredDoi', 'datacite::registeredDoi')"); + case 'pgsql': + DB::unprepared("CREATE INDEX issue_settings_name_value ON issue_settings (setting_name, setting_value) WHERE setting_name IN ('medra::registeredDoi', 'datacite::registeredDoi')"); break; } @@ -303,9 +306,12 @@ public function up(): void }); // Add partial index (DBMS-specific) switch (DB::getDriverName()) { - case 'mysql': DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name(50), setting_value(150))'); + case 'mysql': + case 'mariadb': + DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name(50), setting_value(150))'); break; - case 'pgsql': DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name, setting_value)'); + case 'pgsql': + DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name, setting_value)'); break; } diff --git a/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php b/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php index b62d0c9ed85..92024e29575 100644 --- a/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php +++ b/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php @@ -23,6 +23,7 @@ public function up(): void { switch (DB::getDriverName()) { case 'mysql': + case 'mariadb': DB::unprepared( "DELETE dot FROM data_object_tombstones dot diff --git a/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php b/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php index b1164da9ff3..1f783d7931b 100644 --- a/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php +++ b/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php @@ -54,6 +54,7 @@ public function up(): void $table->dropUnique('msgd_uc_load_context_submission_c_r_c_date'); switch (DB::getDriverName()) { case 'mysql': + case 'mariadb': $table->unique([DB::raw('load_id, context_id, submission_id, country, region, city(80), date')], 'msgd_uc_load_context_submission_c_r_c_date'); break; case 'pgsql': @@ -65,6 +66,7 @@ public function up(): void $table->dropUnique('msgm_uc_context_submission_c_r_c_month'); switch (DB::getDriverName()) { case 'mysql': + case 'mariadb': $table->unique([DB::raw('context_id, submission_id, country, region, city(80), month')], 'msgm_uc_context_submission_c_r_c_month'); break; case 'pgsql': From 599452bb25d8d72d0caa3bb40dc0bc1d1516c872 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Thu, 1 Aug 2024 16:37:13 +0600 Subject: [PATCH 06/26] pkp/pkp-lib#9892 fixed column types and added float to decimal change migration --- .../migration/install/JournalsMigration.php | 2 +- .../migration/install/MetricsMigration.php | 30 +++++------ classes/migration/install/OJSMigration.php | 48 ++++++++--------- .../v3_4_0/I7901_Duplicate_OAI_IDs.php | 15 +++--- .../v3_4_0/I9231_FixMetricsIndexes.php | 30 +++++------ .../I9892_FloatToDecimalColumnTypeUpdate.php | 51 +++++++++++++++++++ dbscripts/xml/upgrade.xml | 1 + 7 files changed, 104 insertions(+), 73 deletions(-) create mode 100644 classes/migration/upgrade/v3_5_0/I9892_FloatToDecimalColumnTypeUpdate.php diff --git a/classes/migration/install/JournalsMigration.php b/classes/migration/install/JournalsMigration.php index a39e242b15c..e0bc39cb536 100644 --- a/classes/migration/install/JournalsMigration.php +++ b/classes/migration/install/JournalsMigration.php @@ -29,7 +29,7 @@ public function up(): void $table->comment('A list of all journals in the installation of OJS.'); $table->bigInteger('journal_id')->autoIncrement(); $table->string('path', 32); - $table->float('seq', 53)->default(0)->comment('Used to order lists of journals'); + $table->float('seq')->default(0)->comment('Used to order lists of journals'); $table->string('primary_locale', 28); $table->smallInteger('enabled')->default(1)->comment('Controls whether or not the journal is considered "live" and will appear on the website. (Note that disabled journals may still be accessible, but only if the user knows the URL.)'); $table->unique(['path'], 'journals_path'); diff --git a/classes/migration/install/MetricsMigration.php b/classes/migration/install/MetricsMigration.php index 86e798dd469..d214809e6c8 100644 --- a/classes/migration/install/MetricsMigration.php +++ b/classes/migration/install/MetricsMigration.php @@ -219,17 +219,14 @@ public function up(): void $table->integer('metric_unique'); $table->index(['context_id', 'submission_id'], 'msgd_context_id_submission_id'); - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': + match (DB::getDriverName()) { + 'mysql', 'mariadb' => // See "Create a database table" here: https://db-ip.com/db/format/ip-to-city-lite/csv.html // where city is defined as varchar(80) - $table->unique([DB::raw('load_id, context_id, submission_id, country, region, city(80), date')], 'msgd_uc_load_context_submission_c_r_c_date'); - break; - case 'pgsql': - $table->unique(['load_id', 'context_id', 'submission_id', 'country', 'region', 'city', 'date'], 'msgd_uc_load_context_submission_c_r_c_date'); - break; - } + $table->unique([DB::raw('load_id, context_id, submission_id, country, region, city(80), date')], 'msgd_uc_load_context_submission_c_r_c_date'), + 'pgsql' => + $table->unique(['load_id', 'context_id', 'submission_id', 'country', 'region', 'city', 'date'], 'msgd_uc_load_context_submission_c_r_c_date') + }; }); Schema::create('metrics_submission_geo_monthly', function (Blueprint $table) { @@ -252,17 +249,14 @@ public function up(): void $table->integer('metric_unique'); $table->index(['context_id', 'submission_id'], 'msgm_context_id_submission_id'); - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': + match (DB::getDriverName()) { + 'mysql', 'mariadb' => // See "Create a database table" here: https://db-ip.com/db/format/ip-to-city-lite/csv.html // where city is defined as varchar(80) - $table->unique([DB::raw('context_id, submission_id, country, region, city(80), month')], 'msgm_uc_context_submission_c_r_c_month'); - break; - case 'pgsql': - $table->unique(['context_id', 'submission_id', 'country', 'region', 'city', 'month'], 'msgm_uc_context_submission_c_r_c_month'); - break; - } + $table->unique([DB::raw('context_id, submission_id, country, region, city(80), month')], 'msgm_uc_context_submission_c_r_c_month'), + 'pgsql' => + $table->unique(['context_id', 'submission_id', 'country', 'region', 'city', 'month'], 'msgm_uc_context_submission_c_r_c_month') + }; }); // Usage stats total item temporary records diff --git a/classes/migration/install/OJSMigration.php b/classes/migration/install/OJSMigration.php index 0c3ed7785ae..329c85aea1f 100644 --- a/classes/migration/install/OJSMigration.php +++ b/classes/migration/install/OJSMigration.php @@ -38,7 +38,7 @@ public function up(): void $table->foreign('review_form_id', 'sections_review_form_id')->references('review_form_id')->on('review_forms')->onDelete('set null'); $table->index(['review_form_id'], 'sections_review_form_id'); - $table->float('seq', 53)->default(0); + $table->float('seq')->default(0); $table->smallInteger('editor_restricted')->default(0); $table->smallInteger('meta_indexed')->default(0); $table->smallInteger('meta_reviewed')->default(1); @@ -114,15 +114,12 @@ public function up(): void $table->unique(['issue_id', 'locale', 'setting_name'], 'issue_settings_unique'); }); // Add partial index (DBMS-specific) - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': - DB::unprepared('CREATE INDEX issue_settings_name_value ON issue_settings (setting_name(50), setting_value(150))'); - break; - case 'pgsql': - DB::unprepared("CREATE INDEX issue_settings_name_value ON issue_settings (setting_name, setting_value) WHERE setting_name IN ('medra::registeredDoi', 'datacite::registeredDoi')"); - break; - } + match (DB::getDriverName()) { + 'mysql', 'mariadb' => + DB::unprepared('CREATE INDEX issue_settings_name_value ON issue_settings (setting_name(50), setting_value(150))'), + 'pgsql' => + DB::unprepared("CREATE INDEX issue_settings_name_value ON issue_settings (setting_name, setting_value) WHERE setting_name IN ('medra::registeredDoi', 'datacite::registeredDoi')") + }; Schema::create('issue_files', function (Blueprint $table) { $table->comment('Relationships between issues and issue files, such as cover images.'); @@ -157,7 +154,7 @@ public function up(): void $table->index(['file_id'], 'issue_galleys_file_id'); $table->string('label', 255)->nullable(); - $table->float('seq', 53)->default(0); + $table->float('seq')->default(0); $table->string('url_path', 64)->nullable(); $table->index(['url_path'], 'issue_galleys_url_path'); @@ -192,7 +189,7 @@ public function up(): void $table->foreign('journal_id', 'custom_issue_orders_journal_id')->references('journal_id')->on('journals')->onDelete('cascade'); $table->index(['journal_id'], 'custom_issue_orders_journal_id'); - $table->float('seq', 53)->default(0); + $table->float('seq')->default(0); $table->unique(['issue_id'], 'custom_issue_orders_unique'); }); @@ -209,7 +206,7 @@ public function up(): void $table->foreign('section_id', 'custom_section_orders_section_id')->references('section_id')->on('sections')->onDelete('cascade'); $table->index(['section_id'], 'custom_section_orders_section_id'); - $table->float('seq', 53)->default(0); + $table->float('seq')->default(0); $table->unique(['issue_id', 'section_id'], 'custom_section_orders_unique'); }); @@ -231,7 +228,7 @@ public function up(): void $table->foreign('section_id', 'publications_section_id')->references('section_id')->on('sections')->onDelete('set null'); $table->index(['section_id'], 'publications_section_id'); - $table->float('seq', 53)->default(0); + $table->float('seq')->default(0); $table->bigInteger('submission_id'); $table->foreign('submission_id', 'publications_submission_id')->references('submission_id')->on('submissions')->onDelete('cascade'); @@ -277,7 +274,7 @@ public function up(): void $table->foreign('submission_file_id')->references('submission_file_id')->on('submission_files'); $table->index(['submission_file_id'], 'publication_galleys_submission_file_id'); - $table->float('seq', 53)->default(0); + $table->float('seq')->default(0); $table->string('remote_url', 2047)->nullable(); $table->smallInteger('is_approved')->default(0); $table->string('url_path', 64)->nullable(); @@ -305,15 +302,12 @@ public function up(): void $table->unique(['galley_id', 'locale', 'setting_name'], 'publication_galley_settings_unique'); }); // Add partial index (DBMS-specific) - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': - DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name(50), setting_value(150))'); - break; - case 'pgsql': - DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name, setting_value)'); - break; - } + match (DB::getDriverName()) { + 'mysql', 'mariadb' => + DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name(50), setting_value(150))'), + 'pgsql' => + DB::unprepared('CREATE INDEX publication_galley_settings_name_value ON publication_galley_settings (setting_name, setting_value)') + }; // Subscription types. Schema::create('subscription_types', function (Blueprint $table) { @@ -324,14 +318,14 @@ public function up(): void $table->foreign('journal_id', 'subscription_types_journal_id')->references('journal_id')->on('journals')->onDelete('cascade'); $table->index(['journal_id'], 'subscription_types_journal_id'); - $table->float('cost', 53); + $table->decimal('cost', 8, 2)->unsigned(); $table->string('currency_code_alpha', 3); $table->smallInteger('duration')->nullable(); $table->smallInteger('format'); $table->smallInteger('institutional')->default(0); $table->smallInteger('membership')->default(0); $table->smallInteger('disable_public_display'); - $table->float('seq', 53); + $table->float('seq'); }); // Locale-specific subscription type data @@ -421,7 +415,7 @@ public function up(): void $table->index(['user_id'], 'completed_payments_user_id'); $table->bigInteger('assoc_id')->nullable(); - $table->float('amount', 53); + $table->decimal('amount', 8, 2)->unsigned(); $table->string('currency_code_alpha', 3)->nullable(); $table->string('payment_method_plugin_name', 80)->nullable(); }); diff --git a/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php b/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php index 92024e29575..ebb5537ba42 100644 --- a/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php +++ b/classes/migration/upgrade/v3_4_0/I7901_Duplicate_OAI_IDs.php @@ -21,9 +21,8 @@ class I7901_Duplicate_OAI_IDs extends \PKP\migration\Migration */ public function up(): void { - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': + match (DB::getDriverName()) { + 'mysql', 'mariadb' => DB::unprepared( "DELETE dot FROM data_object_tombstones dot @@ -33,9 +32,8 @@ public function up(): void JOIN publication_settings psissue ON (psissue.publication_id = p.publication_id AND psissue.setting_name='issueId' AND psissue.locale='') JOIN issues i ON (CAST(i.issue_id AS CHAR(20)) = psissue.setting_value) WHERE i.published = 1 AND j.enabled = 1 AND p.status = 3" - ); - break; - case 'pgsql': + ), + 'pgsql' => DB::unprepared( "DELETE FROM data_object_tombstones dot USING submissions s, journals j, publications p, publication_settings psissue, issues i @@ -45,9 +43,8 @@ public function up(): void AND psissue.publication_id = p.publication_id AND psissue.setting_name='issueId' AND psissue.locale='' AND (CAST(i.issue_id AS CHAR(20)) = psissue.setting_value) AND i.published = 1 AND j.enabled = 1 AND p.status = 3" - ); - break; - } + ) + }; } /** diff --git a/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php b/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php index 1f783d7931b..f8fbbc2e980 100644 --- a/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php +++ b/classes/migration/upgrade/v3_4_0/I9231_FixMetricsIndexes.php @@ -52,27 +52,21 @@ public function up(): void // and create new ones using city column prefix for MySQL Schema::table('metrics_submission_geo_daily', function (Blueprint $table) { $table->dropUnique('msgd_uc_load_context_submission_c_r_c_date'); - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': - $table->unique([DB::raw('load_id, context_id, submission_id, country, region, city(80), date')], 'msgd_uc_load_context_submission_c_r_c_date'); - break; - case 'pgsql': - $table->unique(['load_id', 'context_id', 'submission_id', 'country', 'region', 'city', 'date'], 'msgd_uc_load_context_submission_c_r_c_date'); - break; - } + match (DB::getDriverName()) { + 'mysql', 'mariadb' => + $table->unique([DB::raw('load_id, context_id, submission_id, country, region, city(80), date')], 'msgd_uc_load_context_submission_c_r_c_date'), + 'pgsql' => + $table->unique(['load_id', 'context_id', 'submission_id', 'country', 'region', 'city', 'date'], 'msgd_uc_load_context_submission_c_r_c_date'), + }; }); Schema::table('metrics_submission_geo_monthly', function (Blueprint $table) { $table->dropUnique('msgm_uc_context_submission_c_r_c_month'); - switch (DB::getDriverName()) { - case 'mysql': - case 'mariadb': - $table->unique([DB::raw('context_id, submission_id, country, region, city(80), month')], 'msgm_uc_context_submission_c_r_c_month'); - break; - case 'pgsql': - $table->unique(['context_id', 'submission_id', 'country', 'region', 'city', 'month'], 'msgm_uc_context_submission_c_r_c_month'); - break; - } + match (DB::getDriverName()) { + 'mysql', 'mariadb' => + $table->unique([DB::raw('context_id, submission_id, country, region, city(80), month')], 'msgm_uc_context_submission_c_r_c_month'), + 'pgsql' => + $table->unique(['context_id', 'submission_id', 'country', 'region', 'city', 'month'], 'msgm_uc_context_submission_c_r_c_month'), + }; }); } diff --git a/classes/migration/upgrade/v3_5_0/I9892_FloatToDecimalColumnTypeUpdate.php b/classes/migration/upgrade/v3_5_0/I9892_FloatToDecimalColumnTypeUpdate.php new file mode 100644 index 00000000000..521ad3ff738 --- /dev/null +++ b/classes/migration/upgrade/v3_5_0/I9892_FloatToDecimalColumnTypeUpdate.php @@ -0,0 +1,51 @@ +decimal('cost', 8, 2)->unsigned()->change(); + }); + + Schema::table('completed_payments', function (Blueprint $table) { + $table->decimal('amount', 8, 2)->unsigned()->change(); + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::table('subscription_types', function (Blueprint $table) { + $table->double('cost')->change(); + }); + + Schema::table('completed_payments', function (Blueprint $table) { + $table->double('amount')->change(); + }); + } +} diff --git a/dbscripts/xml/upgrade.xml b/dbscripts/xml/upgrade.xml index 2f925e9d549..6cb8bcdf44f 100644 --- a/dbscripts/xml/upgrade.xml +++ b/dbscripts/xml/upgrade.xml @@ -128,6 +128,7 @@ + From e8ee0251ce0ab79294a2a93d6dd012792feaaec9 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Tue, 6 Aug 2024 16:11:35 +0600 Subject: [PATCH 07/26] pkp/pkp-lib#9892 fixing failing tests --- tests/classes/search/ArticleSearchIndexTest.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tests/classes/search/ArticleSearchIndexTest.php b/tests/classes/search/ArticleSearchIndexTest.php index c8fd1d9f3ff..cb54b014d79 100644 --- a/tests/classes/search/ArticleSearchIndexTest.php +++ b/tests/classes/search/ArticleSearchIndexTest.php @@ -24,6 +24,7 @@ use APP\search\ArticleSearchDAO; use APP\search\ArticleSearchIndex; use APP\submission\Submission; +use ArrayIterator; use Mockery; use Mockery\MockInterface; use PHPUnit\Framework\Attributes\CoversClass; @@ -144,7 +145,12 @@ public function testRebuildIndex() Hook::clear('ArticleSearchIndex::rebuildIndex'); // Test log output. - $this->expectOutputString(__('search.cli.rebuildIndex.clearingIndex') . ' ... ' . __('search.cli.rebuildIndex.done') . "\n"); + $this->expectOutputString( + __('search.cli.rebuildIndex.clearingIndex') + . ' ... ' + . __('search.cli.rebuildIndex.done') + . "\n" + ); // Test rebuilding the index with a mock database back-end. $articleSearchIndex = Application::getSubmissionSearchIndex(); @@ -393,7 +399,7 @@ private function registerMockJournalDAO() ->getMock(); $journalsIterator ->method('toIterator') - ->willReturn([]); + ->willReturn(new ArrayIterator()); // Mock the getAll() method. $journalDao->expects($this->any()) From b510b96dd57f766b1817ebb884927ffe5f9222fd Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Wed, 7 Aug 2024 02:34:57 +0600 Subject: [PATCH 08/26] pkp/pkp-lib#9892 removing Doctrine DBAL related method usage --- classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php | 6 ++++-- .../migration/upgrade/v3_4_0/PreflightCheckMigration.php | 5 ++++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php b/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php index 4b9982a42e2..e8422f13736 100644 --- a/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php +++ b/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php @@ -15,11 +15,13 @@ namespace APP\migration\upgrade\v3_4_0; use Illuminate\Database\Schema\Blueprint; -use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; +use PKP\core\traits\HasForeignKey; class I6093_AddForeignKeys extends \PKP\migration\upgrade\v3_4_0\I6093_AddForeignKeys { + use HasForeignKey; + protected function getContextTable(): string { return 'journals'; @@ -92,7 +94,7 @@ public function up(): void }); // Attempt to drop the previous foreign key, which doesn't have the cascade rule - if (DB::getDoctrineSchemaManager()->introspectTable('publication_galleys')->hasForeignKey('publication_galleys_submission_file_id_foreign')) { + if ($this->hasForeignKey('publication_galleys', 'publication_galleys_submission_file_id_foreign')) { Schema::table('publication_galleys', fn (Blueprint $table) => $table->dropForeign('publication_galleys_submission_file_id_foreign')); } diff --git a/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php b/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php index c9b685cf29d..b596188d355 100644 --- a/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php +++ b/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php @@ -19,10 +19,13 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; +use PKP\core\traits\HasForeignKey; use Throwable; class PreflightCheckMigration extends \PKP\migration\upgrade\v3_4_0\PreflightCheckMigration { + use HasForeignKey; + public function up(): void { parent::up(); @@ -301,7 +304,7 @@ protected function getEntityRelationships(): array protected function dropForeignKeys(): void { parent::dropForeignKeys(); - if (DB::getDoctrineSchemaManager()->introspectTable('publication_galleys')->hasForeignKey('publication_galleys_submission_file_id_foreign')) { + if ($this->hasForeignKey('publication_galleys', 'publication_galleys_submission_file_id_foreign')) { Schema::table('publication_galleys', fn (Blueprint $table) => $table->dropForeign('publication_galleys_submission_file_id_foreign')); } } From 76a1c7df7a1870f1b46d78a7a8125f96127db63c Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Wed, 7 Aug 2024 18:19:40 +0600 Subject: [PATCH 09/26] pkp/pkp-lib#9892 added missing upgrade migration --- dbscripts/xml/upgrade.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/dbscripts/xml/upgrade.xml b/dbscripts/xml/upgrade.xml index 6cb8bcdf44f..450e10700d4 100644 --- a/dbscripts/xml/upgrade.xml +++ b/dbscripts/xml/upgrade.xml @@ -68,6 +68,7 @@ + From 012760cdfa9a9e48ecb1a558b1d6f4b8312b8639 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Fri, 9 Aug 2024 23:41:36 +0600 Subject: [PATCH 10/26] pkp/pkp-lib#9892 moved the foreign key check form trait to core pkp migration class --- classes/install/Upgrade.php | 5 +++-- classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php | 3 --- classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php | 3 --- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/classes/install/Upgrade.php b/classes/install/Upgrade.php index fed8c7acdc2..a85a4450a68 100644 --- a/classes/install/Upgrade.php +++ b/classes/install/Upgrade.php @@ -18,6 +18,7 @@ use APP\core\Application; use APP\template\TemplateManager; +use Illuminate\Support\Facades\Schema; use PKP\db\DAORegistry; use PKP\install\Installer; use PKP\navigationMenu\NavigationMenuItemDAO; @@ -90,7 +91,7 @@ public function clearCssCache() */ public function migrateStaticPagesToNavigationMenuItems() { - if ($this->tableExists('static_pages')) { + if (Schema::hasTable('static_pages')) { $contextDao = Application::getContextDAO(); $navigationMenuItemDao = DAORegistry::getDAO('NavigationMenuItemDAO'); /** @var NavigationMenuItemDAO $navigationMenuItemDao */ @@ -147,4 +148,4 @@ public function _fileStageToPath($fileStage) if (!PKP_STRICT_MODE) { class_alias('\APP\install\Upgrade', '\Upgrade'); -} \ No newline at end of file +} diff --git a/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php b/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php index e8422f13736..f26ed6fe060 100644 --- a/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php +++ b/classes/migration/upgrade/v3_4_0/I6093_AddForeignKeys.php @@ -16,12 +16,9 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; -use PKP\core\traits\HasForeignKey; class I6093_AddForeignKeys extends \PKP\migration\upgrade\v3_4_0\I6093_AddForeignKeys { - use HasForeignKey; - protected function getContextTable(): string { return 'journals'; diff --git a/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php b/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php index b596188d355..eeee680aab7 100644 --- a/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php +++ b/classes/migration/upgrade/v3_4_0/PreflightCheckMigration.php @@ -19,13 +19,10 @@ use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Schema; -use PKP\core\traits\HasForeignKey; use Throwable; class PreflightCheckMigration extends \PKP\migration\upgrade\v3_4_0\PreflightCheckMigration { - use HasForeignKey; - public function up(): void { parent::up(); From 3efc6b67c9427fdc5e95aeeb366e88a21b7edc26 Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Mon, 12 Aug 2024 14:42:22 +0600 Subject: [PATCH 11/26] pkp/pkp-lib#9892 fixed deprecated tests method --- .../oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php b/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php index d8df8881fc1..71449fcd7cf 100755 --- a/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php +++ b/plugins/oaiMetadataFormats/dc/tests/OAIMetadataFormat_DCTest.php @@ -211,7 +211,7 @@ public function testToXml() $router->setApplication($application); $router->expects($this->any()) ->method('url') - ->will($this->returnCallback(fn ($request, $newContext = null, $handler = null, $op = null, $path = null) => $handler . '-' . $op . '-' . implode('-', $path))); + ->willReturnCallback(fn ($request, $newContext = null, $handler = null, $op = null, $path = null) => $handler . '-' . $op . '-' . implode('-', $path)); // Dispatcher /** @var Dispatcher|MockObject */ @@ -220,7 +220,7 @@ public function testToXml() ->getMock(); $dispatcher->expects($this->any()) ->method('url') - ->will($this->returnCallback(fn ($request, $shortcut, $newContext = null, $handler = null, $op = null, $path = null) => $handler . '-' . $op . '-' . implode('-', $path))); + ->willReturnCallback(fn ($request, $shortcut, $newContext = null, $handler = null, $op = null, $path = null) => $handler . '-' . $op . '-' . implode('-', $path)); // Request $requestMock = $this->getMockBuilder(Request::class) From 799cc73fb9918e6ff8de67e4c0c680a224ef37ea Mon Sep 17 00:00:00 2001 From: Touhidur Rahman Date: Mon, 12 Aug 2024 14:42:35 +0600 Subject: [PATCH 12/26] pkp/pkp-lib#9892 Submodule Update ##touhidurabir/i9892_main## --- lib/pkp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pkp b/lib/pkp index 14d54e52a64..34e7fe70eaf 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 14d54e52a644ce9a3a02f700cb005dd924e6b32b +Subproject commit 34e7fe70eafd47dda983b02440ee66436ddf3586 From 53f1fb6ae593aa7aee2c509f9e77337416761cc7 Mon Sep 17 00:00:00 2001 From: Alec Smecher Date: Tue, 13 Aug 2024 10:34:36 -0700 Subject: [PATCH 13/26] Merge remote-tracking branch 'translations/stable-3_4_0' into stable-3_4_0 --- locale/fa/author.po | 14 +- locale/fr_FR/emails.po | 60 +- locale/mr/editor.po | 10 +- locale/mr/submission.po | 3 + locale/nb/emails.po | 170 ++- locale/nb/locale.po | 11 +- locale/se/manager.po | 23 +- locale/th/admin.po | 209 ++- locale/th/default.po | 100 ++ locale/th/locale.po | 96 ++ locale/th/manager.po | 1201 +++++++++++++++++ locale/th/submission.po | 76 ++ locale/tr/locale.po | 17 +- .../blocks/developedBy/locale/fa/locale.po | 13 +- .../importexport/native/locale/th/locale.po | 3 + .../marcxml/locale/se/locale.po | 3 + plugins/themes/default/locale/th/locale.po | 95 ++ 17 files changed, 1956 insertions(+), 148 deletions(-) create mode 100644 locale/mr/submission.po create mode 100644 locale/th/default.po create mode 100644 locale/th/locale.po create mode 100644 locale/th/manager.po create mode 100644 locale/th/submission.po create mode 100644 plugins/importexport/native/locale/th/locale.po create mode 100644 plugins/oaiMetadataFormats/marcxml/locale/se/locale.po create mode 100644 plugins/themes/default/locale/th/locale.po diff --git a/locale/fa/author.po b/locale/fa/author.po index 46d6a350838..1942bd6eaf2 100644 --- a/locale/fa/author.po +++ b/locale/fa/author.po @@ -1,15 +1,19 @@ +# Mehran Toreihi , 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T10:49:21+00:00\n" -"PO-Revision-Date: 2019-11-19T10:49:21+00:00\n" -"Last-Translator: \n" -"Language-Team: \n" -"Language: fa_IR\n" +"PO-Revision-Date: 2024-08-08 14:36+0000\n" +"Last-Translator: Mehran Toreihi \n" +"Language-Team: Persian " +"\n" +"Language: fa\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 "author.submit" msgstr "مقاله ارسالی جدید" @@ -65,7 +69,7 @@ msgid "author.submit.nextSteps" msgstr "مرحله‌ی بعدی" msgid "author.submit.notAccepting" -msgstr "این مجله در حال حاضر مقاله نمی‌پذیرد" +msgstr "این مجله در حال حاضر مقاله نمی‌پذیرد." msgid "author.submit.requestWaiver" msgstr "درخواست تخفیف" diff --git a/locale/fr_FR/emails.po b/locale/fr_FR/emails.po index 66f059fa61e..a4902496ca0 100644 --- a/locale/fr_FR/emails.po +++ b/locale/fr_FR/emails.po @@ -1,11 +1,12 @@ # Rodolphe Lemétayer , 2024. +# Germán Huélamo Bautista , 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-02T16:17:17-08:00\n" -"PO-Revision-Date: 2024-06-21 13:38+0000\n" -"Last-Translator: Rodolphe Lemétayer \n" +"PO-Revision-Date: 2024-07-27 17:07+0000\n" +"Last-Translator: Germán Huélamo Bautista \n" "Language-Team: French \n" "Language: fr_FR\n" @@ -41,7 +42,7 @@ msgstr "" "
\n" "Vous êtes désormais inscrit en tant qu'utilisateur pour {$contextName}. " "Veuillez conserver précieusement votre nom d'utilisateur et votre mot de " -"passe. Vous en aurez besoin pour toutes vos interactions avec la revue. À " +"passe. Vous en aurez besoin pour toutes vos interactions avec la revue. À " "n'importe quel moment, vous pouvez demander à être retiré de la liste des " "utilisateurs de la revue en me contactant.
\n" "
\n" @@ -96,14 +97,13 @@ msgstr "" "évaluation, vous recevrez le titre et le résumé de l'article en question, et " "serez toujours libre d'accepter ou de refuser une telle invitation. À tout " "moment, il vous est également possible de demander à ce que votre nom soit " -"retiré de la liste des évaluateurs-trices.

\n" -"

Nous vous acheminons un nom d'utilisateur-trice et un mot de passe, car " -"tous deux sont requis pour tout échange avec la revue via son site Web. Vous " -"pouvez, par exemple, si vous le souhaitez, effectuer la mise à jour de votre " -"profil, y compris vos domaines d'intérêt en matière d'évaluation.

\n" -"

Nom d'utilisateur-trice : {$recipientUsername}
\n" -"Mot de passe : {$password}

\n" -"

Merci,

{$signature}" +"retiré de la liste des évaluateurs-trices.

Nous vous acheminons un nom " +"d'utilisateur-trice et un mot de passe, car tous deux sont requis pour tout " +"échange avec la revue via son site Web. Vous pouvez, par exemple, si vous le " +"souhaitez, effectuer la mise à jour de votre profil, y compris vos domaines " +"d'intérêt en matière d'évaluation.

Nom d'utilisateur-trice : " +"{$recipientUsername}
Mot de passe : " +"{$password}

Merci,

{$signature}" msgid "emails.issuePublishNotify.subject" msgstr "" @@ -115,7 +115,7 @@ msgstr "" "

Chers-ères lecteurs-trices,

La revue {$contextName} a le plaisir de " "vous annoncer la publication de son dernier numéro : {$issueIdentification}. Nous vous invitons à lire et partager son " -"contenu avec votre collègues et communauté académique. Nous remercions " +"contenu avec votre collègues et communauté académique.

Nous remercions " "vivement nos auteurs-trices, réviseurs-es et rédacteurs-trices pour leurs " "précieuses contributions à cet ouvrage, ainsi que nos lecteurs-trices pour " "leur intérêt constant.

Cordialement,

{$signature}" @@ -130,11 +130,11 @@ msgstr "" "

{$recipientName},

La soumission suivante vous a été assignée pour " "le suivi du processus éditorial.

{$submissionTitle}
{$authors}

Résumé

{$submissionAbstract}

Si vous " -"jugez la soumission pertinente pour la revue {$contextName}, veuillez la " -"transmettre à l'étape d'évaluation en sélectionnant \"Envoyer en évaluation\"" -" et en désignant des évaluateur.trice.s en cliquant sur « Ajouter un.e " -"évaluateur.trice ».

Si la soumission n'est pas appropriée pour cette " +"/>{$authors}

Résumé

{$submissionAbstract}

Si vous jugez la " +"soumission pertinente pour la revue {$contextName}, veuillez la transmettre " +"à l'étape d'évaluation en sélectionnant « Envoyer en évaluation» et en " +"désignant des évaluateur.trice.s en cliquant sur « Ajouter un.e " +"évaluateur.trice ».

Si la soumission n'est pas appropriée pour cette " "revue, veuillez la décliner.

Je vous remercie " "d'avance.

Cordialement,

{$contextSignature}" @@ -233,12 +233,13 @@ msgstr "Annulation de la demande d'évaluation" msgid "emails.reviewCancel.body" msgstr "" -"

{$recipientName} :

Récemment, nous vous avons demandé d'évaluer une " +"

{$recipientName},

Récemment, nous vous avons demandé d'évaluer une " "soumission pour {$contextName}. Nous avons décidé d'annuler notre demande " -"que vous évaluiez le manuscrit intitulé « {$submissionTitle} ». Nous sommes " -"désolés des inconvénients que cela pourrait vous causer et nous espérons que " -"nous pourrons compter sur votre collaboration pour un autre projet.

Si " -"vous avez des questions, n'hésitez pas à nous contacter.

{$signature}" +"que vous évaluiez le manuscrit intitulé « {$submissionTitle} ».

Nous " +"sommes désolés des inconvénients que cela pourrait vous causer et nous " +"espérons que nous pourrons compter sur votre collaboration pour un autre " +"projet.

Si vous avez des questions, n'hésitez pas à nous " +"contacter.

{$signature}" msgid "emails.reviewReinstate.subject" msgstr "" @@ -428,15 +429,12 @@ msgstr "" msgid "emails.openAccessNotify.body" msgstr "" -"Chers lecteurs et lectrices :
\n" -"
\n" -"{$contextName} vient de rendre disponible en format libre accès le numéro " -"suivant. Nous vous invitons à lire la table des matières ici puis visiter " -"notre site Web ({$contextUrl}) pour lire les articles et autres textes qui " -"pourraient vous intéresser.
\n" -"
\n" -"Merci de votre intérêt continu pour notre travail,
\n" -"{$contextSignature}" +"

Chers lecteurs et lectrices,

{$contextName} vient de rendre " +"disponible en libre accès le numéro {$issueIdentification}. Nous vous invitons à visiter notre site Web " +"({$contextUrl}) pour lire les articles qui pourraient vous intéresser.

Nous vous remercions de l'intérêt que vous portez à notre " +"travail,

{$contextSignature}" msgid "emails.subscriptionBeforeExpiry.subject" msgstr "Rappel de l'expiration de l'abonnement" diff --git a/locale/mr/editor.po b/locale/mr/editor.po index 3db367ca0e9..b8ecab49838 100644 --- a/locale/mr/editor.po +++ b/locale/mr/editor.po @@ -1,7 +1,7 @@ # Murari P Tapaswi , 2024. msgid "" msgstr "" -"PO-Revision-Date: 2024-07-06 12:25+0000\n" +"PO-Revision-Date: 2024-07-24 10:40+0000\n" "Last-Translator: Murari P Tapaswi \n" "Language-Team: Marathi " "\n" @@ -74,7 +74,7 @@ msgid "editor.issues.editIssue" msgstr "अंकाचे व्यवस्थापन : {$issueIdentification}" msgid "editor.issues.currentIssue" -msgstr "सद्यकालीन अंक" +msgstr "वर्तमान अंक" #, fuzzy msgid "editor.issues.numArticles" @@ -327,7 +327,7 @@ msgstr "" "क भरण्यासाठी सूचित करा किंवा शुल्क सूट द्या." msgid "editor.article.payment.requestPayment" -msgstr "रक्कम भरण्यासाठी विनंती करा" +msgstr "शुल्क भरण्याबाबत विनंती" msgid "editor.article.removeCoverImageFileNotFound" msgstr "" @@ -456,7 +456,7 @@ msgid "editor.issues.subscription" msgstr "वर्गणी" msgid "editor.issues.confirmSetCurrentIssue" -msgstr "तुम्ही तयार केलेला अंक खात्रीने सद्यकालीन असणार आहे?" +msgstr "तुम्ही तयार केलेला अंक खात्रीने वर्तमान असणार आहे ना?" msgid "editor.issues.galleys" msgstr "अंकाची कच्ची मुद्रिते" @@ -477,7 +477,7 @@ msgstr "" "तुमची खात्री आहे का की तुम्ही या अंकाचे कच्चे मुद्रित काढून टाकू इच्छिता?" msgid "grid.action.setCurrentIssue" -msgstr "सद्यकालीन अंकाची मांडणी करा" +msgstr "वर्तमान अंकाची मांडणी करा" msgid "editor.article.designateReviewVersion" msgstr "मूळ फाईलला समीक्षापूर्व स्वरूप म्हणून निर्देशित करा" diff --git a/locale/mr/submission.po b/locale/mr/submission.po new file mode 100644 index 00000000000..19d848b4c1c --- /dev/null +++ b/locale/mr/submission.po @@ -0,0 +1,3 @@ +# Murari P Tapaswi , 2024. +msgid "" +msgstr "X-Generator: Weblate\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit" diff --git a/locale/nb/emails.po b/locale/nb/emails.po index ef0db7c0aec..f044f030d5e 100644 --- a/locale/nb/emails.po +++ b/locale/nb/emails.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-12-02T16:17:17-08:00\n" -"PO-Revision-Date: 2024-06-25 13:30+0000\n" -"Last-Translator: Johanna Skaug \n" +"PO-Revision-Date: 2024-07-16 14:18+0000\n" +"Last-Translator: Aysa Ekanger \n" "Language-Team: Norwegian Bokmål \n" "Language: nb\n" @@ -89,8 +89,9 @@ msgstr "Registrering som fagfelle hos {$contextName}" msgid "emails.reviewerRegister.body" msgstr "" -"

På grunn av ditt faglige omdømme, har vi tillatt oss å registrere navnet " -"ditt i databasen over potensielle fagfeller for {$contextName}. Dette " +"

Kjære{$recipientName},

\n" +"

På grunn av dine faglige interesser, har vi tillatt oss å registrere " +"navnet ditt i databasen over potensielle fagfeller for {$contextName}. Dette " "innebærer ingen form for forpliktelse fra din side, men gir oss en mulighet " "til å henvende oss til deg hvis vi mottar manuskript innen ditt fagfelt. " "Dersom du får en forespørsel om å fagfellevurdere et manuskript, vil du få " @@ -99,11 +100,11 @@ msgstr "" "som helst be om at navnet ditt blir fjernet fra listen vår over potensielle " "fagfeller.

\n" "

Her får du brukernavn og et passord til nettstedet vårt som kan brukes " -"til alt arbeid med {$contextName}. Der kan du også endre profilen din, for " -"eksempel institusjonstilhørighet og faglige interesser.

\n" +"til alt arbeid med tidsskriftet. Der kan du også endre profilen din, for " +"eksempel institusjonstilhørighet og fagfellevurderingsinteresser.

\n" "

Brukernavn: {$recipientUsername}
\n" "Passord: {$password}

\n" -"

På forhånd takk.

\n" +"

På forhånd takk,

\n" "{$signature}" msgid "emails.issuePublishNotify.subject" @@ -158,21 +159,21 @@ msgstr "" msgid "emails.reviewRequest.subject" msgstr "Forespørsel om fagfellevurdering" -#, fuzzy msgid "emails.reviewRequest.body" msgstr "" "

Kjære {$recipientName}

Jeg tror at du vil være en utmerket " "fagfelle for et manuskript som er innsendt til {$contextName). Nedenfor " "finner du manuskriptets tittel og sammendrag, og jeg håper at du kan påta " "deg denne viktige oppgaven for oss.

Hvis du har mulighet til å vurdere " -"dette manuskript, er fristen {$reviewDueDate}. Du kan se manuskriptet, laste " -"opp dokument og sende inn din vurdering ved å logge inn på tidsskriftets " -"hjemmeside og følge prosessen via lenken nedenfor.

{$submissionTitle}

Sammendrag{$submissionAbstract}

Vennligst aksepter eller avslå denne forespørselen " -"innen {$responseDueDate}

Ta gjerne kontakt om du har spørsmål om " -"manuskriptet eller vurderingsprosessen.

Takk for at du vurderer denne " -"forespørselen.

Med vennlig hilsen

{$signature}" +"dette manuskriptet, er fristen {$reviewDueDate}. Du kan se manuskriptet, " +"laste opp fagfellevurderingsfiler og sende inn din vurdering ved å logge inn " +"på tidsskriftets hjemmeside og følge prosessen via lenken nedenfor.

{$submissionTitle}

Sammendrag

{$submissionAbstract}" +"

Vennligst aksepter eller avslå " +"denne forespørselen innen {$responseDueDate}.

Ta gjerne kontakt " +"om du har spørsmål om manuskriptet eller vurderingsprosessen.

Takk for " +"at du vurderer denne forespørselen.

Med vennlig hilsen

{$signature}" msgid "emails.reviewResponseOverdueAuto.subject" msgstr "Vil du kunne vurdere dette manuskriptet for oss?" @@ -186,57 +187,60 @@ msgstr "" "manuskriptet.

Vær vennlig å sende oss ditt svar via " "publiseringssystemet.

Om du har mulighet til å vurdere dette " "manuskript, så er fristen {$reviewDueDate}. Du kan følge stegene for " -"fagfellevurdering for å se manuskriptet, laste opp dokumenter og sende inn " -"dine kommentarer.

{$submissionTitle}

Sammendrag{$submissionAbstract}

Ta gjerne kontakt hvis du har spørsmål om " -"manuskriptet eller vurderingsprosessen

Takk for at du vurderer denne " -"forespørselen.

Med vennlig hilsen

{$contextSignature}" +"fagfellevurdering for å se manuskriptet, laste opp fagfellevurderingsfilene " +"og sende inn dine kommentarer.

{$submissionTitle}

Sammendrag

{$submissionAbstract}" +"

Ta gjerne kontakt hvis du har spørsmål om manuskriptet eller " +"vurderingsprosessen

Takk for at du vurderer denne forespørselen.

Med vennlig hilsen,

{$contextSignature}" msgid "emails.reviewRequestSubsequent.subject" msgstr "Forespørsel om fagfellevurdering av revidert innlevering" -#, fuzzy msgid "emails.reviewRequestSubsequent.body" msgstr "" -"

Kjære {$recipientName}

Takk for din vurdering av {$submissionTitle}. Forfatterne har sendt inn " +"

Kjære {$recipientName}

Takk for din vurdering av {$submissionTitle}. Forfatterne har sendt inn " "en revidert versjon av manuskriptet. Jeg håper du er villig til å gjøre en " "ny vurdering av dette reviderte manuskript til {$contextName}.

Hvis du " "har mulighet til å vurdere dette manuskriptet, er fristen {$reviewDueDate}. " "Du kan følge stegene for " -"fagfellevurdering for å se manuskriptet, laste opp dokumenter og sende " -"inn din kommentarer

{$submissionTitle}

Sammendrag{$submissionAbstract}

Vennligst aksepter eller avslå denne forespørselen " -"innen {$responseDueDate}.

Ta gjerne kontakt om du har spørsmål om " -"manuskriptet eller vurderingsprosessen.

Takk for at du vurderer denne " -"forespørselen.

Med vennlig hilsen

{$signature}" +"fagfellevurdering for å se manuskriptet, laste opp " +"fagfellevurderingsfiler og sende inn dine kommentarer.

\n" +"

{$submissionTitle}

\n" +"

Sammendrag

{$submissionAbstract}\n" +"

Vennligst aksepter eller avslå " +"denne forespørselen innen {$responseDueDate}.

\n" +"

Ta gjerne kontakt om du har spørsmål om manuskriptet eller " +"vurderingsprosessen.

Takk for at du vurderer denne forespørselen, " +"redaksjonen setter stor pris på din hjelp.

Med vennlig " +"hilsen

{$signature}" msgid "emails.reviewCancel.subject" msgstr "Annulering av forespørsel om fagfellevurdering" msgid "emails.reviewCancel.body" msgstr "" -"{$recipientName}:
\n" -"

Vi har dessverre bestemt oss for å annullere vår forespørsel om " -"fagfellevurdering av innleveringen «{$submissionTitle}», som vi tidligere " -"har bedt deg om å påta deg for {$contextName}. Vi beklager bryderiet, men " -"håper at vi fortsatt kan be deg om å vurdere manuskript for oss i " -"fremtiden.

\n" +"

Kjære {$recipientName},

\n" +"

Vi har nylig bedt deg å vurdere et manuskript for {$contextName}. Vi har " +"nå bestemt oss å trekke tilbake vår forespørsel om fagfellevurdering av " +"innleveringen «{$submissionTitle}».

Vi beklager bryderiet denne " +"gangen, men håper at vi fortsatt kan be deg om å vurdere manuskript for oss " +"i fremtiden.

\n" "

Ta kontakt med meg hvis du har spørsmål.

{$signature}" msgid "emails.reviewReinstate.subject" msgstr "Har du fremdeles mulighet til å være fagfelle for {$contextName}?" -#, fuzzy msgid "emails.reviewReinstate.body" msgstr "" -"

Kjære {$recipientName}

Nylig annullerte vi vår forespørsel om å " +"

Kjære {$recipientName}

Nylig trakk vi tilbake vår forespørsel om å " "vurdere manuskriptet, {$submissionTitle}, for {$contextName}. Vi har endret " "vår beslutning og håper at du fremdeles har mulighet til å gjennomføre " -"fagfellevurderingen.

Hvis du kan ta på deg oppgaven, kan du logge inn " -"på vår hjemmeside for å se manuskriptet, laste opp dokument og sende inn din " -"vurdering.

Ta gjerne kontakt hvis du har spørsmål

Med vennlig " +"fagfellevurderingen.

Hvis du kan ta på deg oppgaven, kan du logge inn på vår hjemmeside for å se " +"manuskriptet, laste opp fagfellevurderingsfiler og sende inn din vurdering.

Ta gjerne kontakt hvis du har spørsmål.

Med vennlig " "hilsen

{$signature}" msgid "emails.reviewDecline.subject" @@ -257,30 +261,31 @@ msgstr "En påminnelse om å fullføre fagfellevurderingen din" msgid "emails.reviewRemind.body" msgstr "" -"

Kjære {$recipientName}

Dette er en påminnelse om vår forespørsel om " -"fagfellevurdering av manuskriptet: \"{$submissionTitle},\" til " -"{$contextName}. Vi hadde håpet å motta vurderingen senest {$reviewDueDate} " -"og ser frem til at motta den så snart den er klar.

Du kan logge inn på " -"tidsskriftets hjemmeside og følge stegene for fagfellevurdering for å se " -"manuskriptet, laste opp dokumenter og sende inn dine kommentarer.

Om " -"du har behov for å utsette fristen, ta kontakt. Jeg ser frem til å høre fra " -"deg.

På forhånd takk og med vennlig hilsen

{$signature}" +"

Kjære {$recipientName}

Dette er en vennlig påminnelse om vår " +"forespørsel om fagfellevurdering av manuskriptet: \"{$submissionTitle},\" " +"til {$contextName}. Vi hadde håpet å motta vurderingen senest " +"{$reviewDueDate} og ser frem til at motta den så snart den er klar.

Du " +"kan logge inn på tidsskriftets " +"hjemmeside og følge stegene for fagfellevurdering for å se manuskriptet, " +"laste opp fagfellevurderingsfiler og sende inn dine kommentarer.

Om du " +"har behov for å utsette fristen, vennligst ta kontakt. Jeg ser frem til å " +"høre fra deg.

På forhånd takk og med vennlig hilsen,

{$signature}" msgid "emails.reviewRemindAuto.subject" msgstr "Påminnelse om å fullføre fagfellevurderingen din" -#, fuzzy msgid "emails.reviewRemindAuto.body" msgstr "" "

Kjære {$recipientName}

Dette er en automatisk generert e-post fra " -"{$contextName} som sendes for å minne deg på at du har tatt på deg å vurdere " -"manuskriptet: \"{$submissionTitle}.\"

Vi hadde håpet å motta " -"vurderingen senest {$reviewDueDate} og ser frem til å motta den, så snart " -"den er klar.

Du kan logge inn på tidsskriftets hjemmeside og følge " -"stegene for fagfellevurdering for å se manuskriptet, laste opp dokumenter og " -"sende inn dine kommentarer.

Hvis du har behov for å utsette fristen, " -"ta kontakt. Jeg ser frem til å høre fra deg.

På forhånd takk og med " -"vennlig hilsen

{$contextSignature}" +"{$contextName} som sendes for å minne deg på vår forespørsel om din " +"vurdering av manuskriptet: \"{$submissionTitle}.\"

Vi hadde håpet å " +"motta vurderingen senest {$reviewDueDate} og ser frem til å motta den, så " +"snart den er klar.

Du kan logge inn " +"på tidsskriftets hjemmeside og følge stegene for fagfellevurdering for å " +"se manuskriptet, laste opp fagfellevurderingsfiler og sende inn dine " +"kommentarer.

Hvis du har behov for å utsette fristen, vennligst ta " +"kontakt. Jeg ser frem til å høre fra deg.

På forhånd takk og med " +"vennlig hilsen,

{$contextSignature}" msgid "emails.editorDecisionAccept.subject" msgstr "Innleveringen din har blitt akseptert til {$contextName}" @@ -326,32 +331,30 @@ msgid "emails.layoutRequest.subject" msgstr "" "Innleveringen {$submissionId} er klar for produksjon til {$contextAcronym}" -#, fuzzy msgid "emails.layoutRequest.body" msgstr "" -"

Kjære{$recipientName}

En ny innlevering er klar til layout " -"redigering:

{$submissionId} " -"{$submissionTitle}
{$contextName}

  1. 1. Klikk på " -"manuskriptets URL-adresse ovenfor.
  2. 2. Last ned de produksjonsklare " -"filene og bruk dem for å lage et oppsett som følger tidsskriftets " -"retningslinjer.
  3. 3. Last opp oppsettet til ‘Filer klare for " -"produksjon’ under fanen Produksjon.
  4. 4. Gi beskjed til redaktøren om " -"at oppsettet er lastet opp og klart via produksjonsdiskusjonen.
  5. Hvis du ikke er i stand til at påta deg dette arbeidet på nåværende " -"tidspunkt eller har spørsmål, ta kontakt. Takk for ditt bidrag til dette " -"tidsskrift.

    Med vennlig hilsen

    {$signature}" +"

    Kjære{$recipientName}

    En ny innlevering er klar til layout-" +"redigering:

    {$submissionId} — " +"{$submissionTitle}
    {$contextName}

    1. Klikk på manuskriptets " +"URL-adresse ovenfor.
    2. Last ned de produksjonsklare filene og bruk dem " +"for å lage oppsett som følger tidsskriftets retningslinjer.
    3. Last " +"opp oppsettet til ‘Filer klare for produksjon’ under fanen Produksjon.
    4. Bruk \"Diskusjon av Produksjon\" for å gi beskjed til redaktøren om " +"at oppsettet er lastet opp og klart.

    Hvis du ikke er i stand til " +"å påta deg dette arbeidet på nåværende tidspunkt eller har spørsmål, ta " +"kontakt. Takk for ditt bidrag til dette tidsskrift.

    Med vennlig " +"hilsen

    {$signature}" msgid "emails.layoutComplete.subject" msgstr "Oppsett ferdigstilt" -#, fuzzy msgid "emails.layoutComplete.body" msgstr "" "

    Kjære {$recipientName}

    Et publiseringsklart oppsett er nå ferdig " "for følgende manuskript og er klart til en siste gjennomgang.

    {$submissionTitle}
    {$contextName}

    Ta " -"gjerne kontakt om du har spørsmål.

    Med vennlig hilsen

    {$senderName}

    " +"gjerne kontakt om du har spørsmål.

    Med vennlig " +"hilsen

    {$signature}

    " msgid "emails.emailLink.subject" msgstr "En interessant artikkel" @@ -396,21 +399,17 @@ msgstr "" "
    \n" "{$subscriptionSignature}" -#, fuzzy msgid "emails.openAccessNotify.subject" -msgstr "Ny utgave er åpent tilgjengelig" +msgstr "" +"Ny utgave {$issueIdentification} av {$contextName} er nå åpent tilgjengelig." msgid "emails.openAccessNotify.body" msgstr "" -"Til våre lesere:
    \n" -"
    \n" -"{$contextName} har nå gjort følgende utgave åpent tilgjengelig. " -"Innholdsfortegnelsen er vedlagt. Vi inviterer deg til å besøk nettstedet " -"vårt ({$contextUrl}) for å se nærmere på innhold som kan være av interesse." -"
    \n" -"
    \n" -"Takk for at du viser interesse for arbeidet vårt.
    \n" -"{$contextSignature}" +"

    Kjære {$recipientName}

    \n" +"

    Det er vår glede å informere deg at utgaven {$issueIdentification} av {$contextName} er nå åpent tilgjengelig. " +"Abonnement er ikke lenger nødvendig å lese denne utgaven.

    Takk for din " +"interesse i vårt arbeid.

    {$contextSignature}" msgid "emails.subscriptionBeforeExpiry.subject" msgstr "Varsel: Abonnementet ditt utløper" @@ -573,7 +572,6 @@ msgstr "" msgid "emails.revisedVersionNotify.subject" msgstr "Revidert versjon lastet opp" -#, fuzzy msgid "emails.revisedVersionNotify.body" msgstr "" "

    Kjære {$recipientName},

    \n" diff --git a/locale/nb/locale.po b/locale/nb/locale.po index fba3b294acf..53a0e6a53d6 100644 --- a/locale/nb/locale.po +++ b/locale/nb/locale.po @@ -1,11 +1,11 @@ # Tormod Strømme , 2022. -# Aysa Ekanger , 2023. +# Aysa Ekanger , 2023, 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T10:49:27+00:00\n" -"PO-Revision-Date: 2023-04-18 21:55+0000\n" +"PO-Revision-Date: 2024-07-18 13:40+0000\n" "Last-Translator: Aysa Ekanger \n" "Language-Team: Norwegian Bokmål \n" @@ -14,7 +14,7 @@ msgstr "" "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" +"X-Generator: Weblate 4.18.2\n" msgid "user.authorization.journalDoesNotPublish" msgstr "Tidsskriftets innhold publiseres ikke på nett." @@ -539,8 +539,11 @@ msgstr "" "Kunne ikke generere DOI til følgende utgave: {$itemTitle}. Utgaven " "eksisterer ikke i det valgte tidsskriftet." +#, fuzzy msgid "doi.issue.incorrectStaleStatus" msgstr "" +"Kunne ikke sette DOI-status til foreldet (\"stale\") for følgende utgave: " +"{$itemTitle}. DOIen må ha status som registrert eller deponert." msgid "doi.issue.notPublished" msgstr "" @@ -2299,7 +2302,7 @@ msgid "notification.type.newAnnouncement" msgstr "Nytt oppslag." msgid "notification.type.openAccess" -msgstr "" +msgstr "En utgave har blitt gjort åpent tilgjengelig." msgid "notification.type.reviewerFormComment" msgstr "Et skjema for fagfellevurdering har blitt sendt inn for «{$title}»." diff --git a/locale/se/manager.po b/locale/se/manager.po index b3bfcff91b0..bd3541f1b29 100644 --- a/locale/se/manager.po +++ b/locale/se/manager.po @@ -1,3 +1,24 @@ # Huw Robert Grange , 2023. +# Aysa Ekanger , 2024. +# Sara Ellen Gaup , 2024. msgid "" -msgstr "X-Generator: Weblate\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit" +msgstr "" +"PO-Revision-Date: 2024-07-16 14:18+0000\n" +"Last-Translator: Sara Ellen Gaup \n" +"Language-Team: Sami (Northern) \n" +"Language: se\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) ? 1 : 2);\n" +"X-Generator: Weblate 4.18.2\n" + +msgid "manager.setup.editorialTeam" +msgstr "Doaimmahus" + +msgid "manager.setup.subjectKeywordTopic" +msgstr "Čoavddasánit" + +msgid "manager.setup.contextAbout" +msgstr "Áigečállaga birra" diff --git a/locale/th/admin.po b/locale/th/admin.po index 4f7b9ddf6d8..cb3d52d7760 100644 --- a/locale/th/admin.po +++ b/locale/th/admin.po @@ -1,8 +1,9 @@ # Kittiphun Ruttanakorn , 2023. +# Apichaya , 2024. msgid "" msgstr "" -"PO-Revision-Date: 2023-12-17 14:17+0000\n" -"Last-Translator: Kittiphun Ruttanakorn \n" +"PO-Revision-Date: 2024-07-25 19:16+0000\n" +"Last-Translator: Apichaya \n" "Language-Team: Thai \n" "Language: th\n" "MIME-Version: 1.0\n" @@ -26,3 +27,207 @@ msgid "admin.languages.confirmDisable" msgstr "" "คุณแน่ใจหรือไม่ว่าต้องการปิดใช้งานภาษานี้ " "ซึ่งอาจส่งผลต่อวารสารที่โฮสต์ซึ่งใช้สถานที่ในปัจจุบัน" + +msgid "admin.locale.maybeIncomplete" +msgstr "ภาษาที่ทําเครื่องหมายไว้อาจไม่สมบูรณ์" + +msgid "admin.languages.confirmUninstall" +msgstr "" +"แน่ใจหรือว่าต้องการถอนการติดตั้งภาษาที่ตั้งนี้? " +"สิ่งนี้อาจส่งผลกระทบต่อวารสารที่โฮสต์ซึ่งใช้ภาษาที่ตั้งในปัจจุบัน" + +msgid "admin.systemVersion" +msgstr "OJS เวอร์ชั่น" + +msgid "admin.systemConfiguration" +msgstr "การกําหนดค่า OJS" + +msgid "admin.systemConfigurationDescription" +msgstr "การตั้งค่าการกําหนดค่า OJS ได้ที่ config.inc.php" + +msgid "admin.journals.journalSettings" +msgstr "การตั้งค่าวารสาร" + +msgid "admin.journals.noneCreated" +msgstr "ไม่มีการสร้างวารสาร" + +msgid "admin.contexts.create" +msgstr "สร้างวารสาร" + +msgid "admin.journals.urlWillBe" +msgstr "" +"ควรเป็นคําสั้น ๆ หรือตัวย่อเดียวที่ระบุวารสาร URL ของวารสารจะเป็น " +"{$sampleUrl}" + +msgid "admin.contexts.form.titleRequired" +msgstr "จําเป็นต้องมีชื่อเรื่อง" + +msgid "admin.contexts.form.pathRequired" +msgstr "จําเป็นต้องมีเส้นทาง (path)" + +msgid "admin.contexts.form.pathExists" +msgstr "เส้นทาง (path) ที่คุณให้ไว้นั้นถูกใช้โดยวารสารอื่นแล้ว" + +msgid "admin.journals.enableJournalInstructions" +msgstr "เปิดใช้งานวารสารนี้ให้ปรากฏต่อสาธารณะบนเว็บไซต์" + +msgid "admin.contexts.contextDescription" +msgstr "คําอธิบายวารสาร" + +msgid "admin.journal.pathImportInstructions" +msgstr "เส้นทางวารสารหรือเส้นทางที่มีอยู่ในการสร้าง (เช่น \"ojs\")" + +msgid "admin.journals.importSubscriptions" +msgstr "นำเข้าการสมัครสมาชิก" + +msgid "admin.journals.redirect" +msgstr "สร้างโค้ดเพื่อแมป OJS 1 URL กับ OJS 2 URL" + +msgid "admin.journals.form.importPathRequired" +msgstr "จําเป็นต้องมีเส้นทางการนําเข้า" + +msgid "admin.mergeUsers" +msgstr "รวมผู้ใช้" + +msgid "admin.mergeUsers.mergeUser" +msgstr "รวมผู้ใช้" + +msgid "admin.mergeUsers.allUsers" +msgstr "ผู้ใช้ที่ลงทะเบียนทั้งหมด" + +msgid "admin.mergeUsers.noneEnrolled" +msgstr "ไม่มีผู้ใช้ที่ลงทะเบียน" + +msgid "admin.scheduledTask.subscriptionExpiryReminder" +msgstr "การแจ้งเตือนการหมดอายุการสมัครสมาชิก" + +msgid "admin.scheduledTask.openAccessNotification" +msgstr "เปิดการแจ้งเตือนการเข้าถึง" + +msgid "admin.scheduledTask.reviewReminder" +msgstr "การแจ้งเตือนการตรวจสอบ" + +msgid "" +"admin.scheduledTask.usageStatsLoader.invalidLogEntry.issueAssocTypeNoMatch" +msgstr "รหัสปัญหาไม่ตรงกับรหัสที่เกี่ยวข้อง" + +msgid "admin.settings.disableBulkEmailRoles.contextDisabled" +msgstr "" +"คุณลักษณะอีเมลจํานวนมากถูกปิดใช้งานสําหรับวารสารนี้ เปิดใช้งานคุณสมบัตินี้ใน " +"Admin > การตั้งค่าไซต์" + +msgid "admin.siteManagement.description" +msgstr "เพิ่ม แก้ไข หรือลบวารสารออกจากไซต์นี้และจัดการการตั้งค่าทั่วทั้งไซต์" + +msgid "admin.settings.statistics.geo.description" +msgstr "" +"เลือกประเภทของสถิติการใช้งานทางภูมิศาสตร์ที่วารสารสามารถรวบรวมได้บนเว็บไซต์นี" +"้ สถิติทางภูมิศาสตร์ที่มีรายละเอียดมากขึ้นอาจเพิ่มขนาดฐานข้อมูลของคุณอย่" +"างมาก และในบางกรณีซึ่งพบไม่บ่อยนัก " +"อาจบ่อนทําลายการไม่เปิดเผยตัวตนของผู้เยี่ยมชมของคุณ " +"วารสารแต่ละฉบับอาจกําหนดค่าการตั้งค่านี้แตกต่างกัน " +"แต่วารสารไม่สามารถรวบรวมบันทึกที่มีรายละเอียดมากไปกว่าที่กําหนดค่าไว้ที่นี่ " +"ตัวอย่างเช่น หากไซต์รองรับเฉพาะประเทศและภูมิภาค " +"วารสารอาจเลือกประเทศและภูมิภาคหรือเฉพาะประเทศเท่านั้น วารสารจะไม่สามารถติ" +"ดตามประเทศ ภูมิภาค และเมืองได้" + +msgid "admin.settings.statistics.institutions.description" +msgstr "" +"เปิดใช้งานสถิติของสถาบันหากคุณต้องการให้วารสารบนเว็บไซต์นี้สามารถรวบรวมสถิติก" +"ารใช้งานตามสถาบันได้ วารสารจะต้องเพิ่มสถาบันและช่วง IP เพื่อใช้คุณสมบัตินี้ " +"การเปิดใช้งานสถิติของสถาบันอาจเพิ่มขนาดฐานข้อมูลของคุณได้อย่างมาก" + +msgid "admin.settings.statistics.sushiPlatform.isSiteSushiPlatform" +msgstr "ใช้ไซต์เป็นแพลตฟอร์มสําหรับวารสารทั้งหมด" + +msgid "admin.job.processLogFile.invalidLogEntry.issueId" +msgstr "รหัสปัญหาไม่ใช่จำนวนเต็ม" + +msgid "admin.job.processLogFile.invalidLogEntry.issueGalleyId" +msgstr "ID galley ปัญหาไม่ใช่จำนวนเต็ม" + +msgid "admin.journals.transcode" +msgstr "แปลงรหัสข้อมูลเมตาของบทความจาก ISO8859-1" + +msgid "admin.languages.primaryLocaleInstructions" +msgstr "นี่จะเป็นภาษาเริ่มต้นสําหรับไซต์และวารสารของโฮสต์." + +msgid "admin.journals.importErrors" +msgstr "ไม่สามารถการนำเข้าให้เสร็จสิ้นเรียบร้อย" + +msgid "admin.mergeUsers.into.description" +msgstr "" +"เลือกผู้ใช้ที่จะระบุแหล่งที่มาของการเขียนของผู้ใช้คนก่อน การแก้ไขการมอบหมาย " +"ฯลฯ" + +msgid "admin.contexts.form.pathAlphaNumeric" +msgstr "" +"เส้นทาง (path) สามารถรวมเฉพาะตัวอักษร ตัวเลข และตัวอักษร _ และ - " +"ต้องขึ้นต้นและลงท้ายด้วยตัวอักษรหรือตัวเลข" + +msgid "admin.contexts.form.primaryLocaleNotSupported" +msgstr "" +"ภาษาตั้งต้น " +"หรือภาษาหลักจะต้องเป็นหนึ่งในภาษาที่ตั้งที่ได้รับการสนับสนุนจากวารสาร" + +msgid "admin.languages.supportedLocalesInstructions" +msgstr "" +"เลือกภาษาทั้งหมดเพื่อรองรับบนเว็บไซต์ " +"ภาษาที่เลือกจะพร้อมใช้งานโดยวารสารทั้งหมดที่โฮสต์บนเว็บไซต์ " +"และยังปรากฏในเมนูเลือกภาษาที่จะปรากฏในแต่ละหน้าเว็บไซต์ " +"(ซึ่งสามารถแทนที่ได้ในหน้าเฉพาะของวารสาร) หากไม่ได้เลือกหลายภาษา " +"เมนูสลับภาษาจะไม่ปรากฏขึ้น " +"และการตั้งค่าภาษาเพิ่มเติมจะไม่สามารถใช้ได้กับวารสาร" + +msgid "admin.languages.installNewLocalesInstructions" +msgstr "" +"เลือกภาษาที่ตั้งเพิ่มเติมเพื่อติดตั้งการสนับสนุนในระบบนี้ " +"ต้องติดตั้งภาษาที่ตั้งก่อนที่จะสามารถใช้งานได้ (ดูเอกสาร OJS " +"สําหรับข้อมูลเกี่ยวกับการเพิ่มการรองรับภาษาใหม่)" + +msgid "admin.journals.createInstructions" +msgstr "" +"คุณจะได้รับการลงทะเบียนเป็นผู้จัดการวารสารนี้โดยอัตโนมัติ " +"หลังจากสร้างวารสารใหม่แล้ว คุณจะถูกเปลี่ยนเส้นทางไปยัง wizard การตั้งค่า " +"เพื่อให้การตั้งค่าวารสารเริ่มต้นเสร็จสมบูรณ์" + +msgid "admin.mergeUsers.from.description" +msgstr "" +"เลือกผู้ใช้ (หรือหลายคน) เพื่อรวมเข้ากับบัญชีผู้ใช้อื่น (เช่น " +"เมื่อมีคนมีบัญชีผู้ใช้สองบัญชี) บัญชีที่เลือกก่อนจะถูกลบ และการส่ง " +"การมอบหมาย ฯลฯ จะถือเป็นบัญชีที่สอง" + +msgid "admin.mergeUsers.confirm" +msgstr "" +"คุณแน่ใจหรือไม่ว่าต้องการรวมบัญชี {$oldAccountCount} " +"ที่เลือกไว้ในบัญชีด้วยชื่อผู้ใช้ \"{$newUsername}\"? บัญชี {$oldAccountCount}" +" ที่เลือกจะไม่มีอยู่ในภายหลัง การกระทํานี้ไม่สามารถย้อนกลับได้" + +msgid "admin.settings.disableBulkEmailRoles.description" +msgstr "" +"ผู้จัดการวารสารจะไม่สามารถส่งอีเมลจํานวนมากไปยังบทบาทใดๆ ที่เลือกด้านล่างได้ " +"ใช้การตั้งค่านี้เพื่อจํากัดการใช้คุณสมบัติการแจ้งเตือนทางอีเมลในทางที่ผิด " +"ตัวอย่างเช่น อาจปลอดภัยกว่าหากปิดการใช้งานอีเมลจํานวนมากถึงผู้อ่าน ผู้เขียน " +"หรือกลุ่มผู้ใช้ขนาดใหญ่อื่นๆ ที่ไม่ยินยอมให้รับอีเมลดังกล่าว

    คุณลักษณะ" +"อีเมลจํานวนมากสามารถปิดใช้งานได้อย่างสมบูรณ์สําหรับวารสารนี้ใน Admin > การตั้งค่าไซต์" + +msgid "admin.settings.enableBulkEmails.description" +msgstr "" +"เลือกวารสารที่โฮสต์ซึ่งควรได้รับอนุญาตให้ส่งอีเมลจํานวนมาก " +"เมื่อเปิดใช้งานคุณสมบัตินี้ ผู้จัดการวารสารจะสามารถส่งอีเมลไปยังผู้ใช้ทุกคนที" +"่ลงทะเบียนกับวารสารของตนได้

    การใช้คุณสมบัตินี้ในทางที่ผิดเพื่อส่งอีเมล" +"ที่ไม่พึงประสงค์อาจละเมิดกฎหมายต่อต้านสแปมในเขตอํานาจศาลบางแห่ง " +"และอาจส่งผลให้อีเมลของเซิร์ฟเวอร์ของคุณถูกบล็อก เป็นสแปม " +"ขอคําแนะนําทางเทคนิคก่อนที่จะเปิดใช้งานคุณสมบัตินี้ และพิจารณาปรึกษากับผู้จัด" +"การวารสารเพื่อให้แน่ใจว่ามีการใช้งานอย่างเหมาะสม

    ข้อจํากัดเพิ่มเติมเกี" +"่ยวกับคุณลักษณะนี้สามารถเปิดใช้งานได้สําหรับวารสารแต่ละฉบับโดยไปที่ตัวช่วยสร้" +"างการตั้งค่าในรายการ Hosted Journals" + +msgid "admin.settings.statistics.sushi.public.description" +msgstr "" +"จะทําให้จุดสิ้นสุด SUSHI API " +"เข้าถึงได้โดยสาธารณะสําหรับวารสารทั้งหมดบนเว็บไซต์นี้หรือไม่ หากคุณเปิดใช้" +"งาน API สาธารณะ แต่ละวารสารอาจแทนที่การตั้งค่านี้เพื่อทําให้สถิติเป็นส่วนตัว " +"อย่างไรก็ตาม หากคุณปิดใช้งาน API สาธารณะ วารสารจะไม่สามารถเปิดเผย API " +"ของตนเองต่อสาธารณะได้" diff --git a/locale/th/default.po b/locale/th/default.po new file mode 100644 index 00000000000..3b94aad3b2f --- /dev/null +++ b/locale/th/default.po @@ -0,0 +1,100 @@ +# Apichaya , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-07-30 06:56+0000\n" +"Last-Translator: Apichaya \n" +"Language-Team: Thai \n" +"Language: th\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.18.2\n" + +msgid "section.default.abbrev" +msgstr "ART" + +msgid "default.genres.article" +msgstr "ข้อความบทความ" + +msgid "default.contextSettings.openAccessPolicy" +msgstr "" +"วารสารนี้ให้การเข้าถึงเนื้อหาแบบเปิดทันทีบนหลักการที่ว่าการทําให้งานวิจัยเปิด" +"ให้สาธารณชนเข้าถึงได้อย่างอิสระสนับสนุนการแลกเปลี่ยนความรู้ทั่วโลกที่มากขึ้น" + +msgid "section.default.title" +msgstr "บทความ" + +msgid "section.default.policy" +msgstr "นโยบายเริ่มต้นของส่วน" + +msgid "default.contextSettings.lockssLicense" +msgstr "" +"วารสารนี้ใช้ระบบ LOCKSS " +"เพื่อสร้างระบบเก็บถาวรแบบกระจายระหว่างห้องสมุดที่เข้าร่วม และอนุญาตให้ห้องสมุ" +"ดเหล่านั้นสร้างที่เก็บถาวรของวารสารเพื่อวัตถุประสงค์ในการเก็บรักษาและฟื้นฟู " +"เพิ่มเติม..." + +msgid "default.contextSettings.forLibrarians" +msgstr "" +"เราสนับสนุนให้บรรณารักษ์วิจัยระบุวารสารนี้ไว้ในการถือครองวารสารอิเล็กทรอนิกส์" +"ของห้องสมุด นอกจากนี้ อาจเป็นที่น่าสังเกตว่าระบบการเผยแพร่โอเพ่นซอร์สของวารสา" +"รนี้เหมาะสําหรับห้องสมุดที่จะโฮสต์สําหรับคณาจารย์เพื่อใช้กับวารสารที่พวกเขามี" +"ส่วนร่วมในการแก้ไข (ดู Open Journal " +"Systems)" + +msgid "default.contextSettings.authorGuidelines" +msgstr "" +"

    ผู้เขียนได้รับเชิญให้ส่งวารสารนี้ ผลงานที่ส่งเข้าประกวดทั้งหมดจะได้รับการป" +"ระเมินโดยบรรณาธิการเพื่อพิจารณาว่าเป็นไปตามจุดมุ่งหมายและขอบเขตของวารสารนี้หร" +"ือไม่ ผู้ที่ถือว่าเหมาะสมจะถูกส่งไปตรวจสอบโดยผู้ทรงคุณวุฒิก่อนที่จะพิจารณาว่า" +"จะได้รับการยอมรับหรือปฏิเสธหรือไม่

    ก่อนส่งผลงาน " +"ผู้เขียนมีหน้าที่รับผิดชอบในการขออนุญาตเผยแพร่เนื้อหาใดๆ ที่รวมอยู่ในการส่" +"งผลงาน เช่น ภาพถ่าย เอกสาร และชุดข้อมูล " +"ผู้เขียนทุกคนที่ระบุในการยื่นจะต้องยินยอมให้ระบุเป็นผู้เขียน ในกรณีที่" +"เหมาะสม การวิจัยควรได้รับการอนุมัติจากคณะกรรมการจริยธรรมที่เหมาะสมตามข้อกําหน" +"ดทางกฎหมายของประเทศที่ทําการศึกษา " +"

    บรรณาธิการอาจปฏิเสธการส่งผลงานหากไม่เป็นไปตามมาตรฐานคุณภาพขั้นต่ํา " +"ก่อนที่จะส่ง โปรดตรวจสอบให้แน่ใจว่าการออกแบบการศึกษาและข้อโต้แย้งการวิจัยมีโค" +"รงสร้างและชัดเจนอย่างเหมาะสม " +"ชื่อเรื่องควรกระชับและบทคัดย่อควรจะสามารถยืนหยัดได้ด้วยตัวเอง " +"สิ่งนี้จะเพิ่มโอกาสที่ผู้ตรวจสอบจะตกลงที่จะตรวจสอบบทความนี้ " +"เมื่อคุณพอใจว่าการส่งของคุณเป็นไปตามมาตรฐานนี้ " +"โปรดปฏิบัติตามรายการตรวจสอบด้านล่างเพื่อเตรียมการส่งของคุณ

    " + +msgid "default.contextSettings.checklist" +msgstr "" +"การส่ง

    ผลงานทั้งหมดต้องเป็นไปตามข้อกําหนดต่อไปนี้

    • การส่งนี้เป็นไ" +"ปตามข้อกําหนดที่ระบุไว้ในแนวทาง ผู้เขียน
    • การส่งนี้ไม่เคยได้รับการตีพิมพ์มาก่อน และไม่ได้เผยแพร่ก" +"่อนวารสารอื่นเพื่อพิจารณา
    • การอ้างอิงทั้งหมดได้รับการตรวจสอบความถูกต้อ" +"งและความสมบูรณ์
    • ตารางและตัวเลขทั้งหมดได้รับการกําหนดหมายเลขและติดฉลาก" +"
    • ได้รับ
    • อนุญาตให้เผยแพร่ภาพถ่ายชุดข้อมูลและวัสดุอื่น ๆ " +"ทั้งหมดที่มาพร้อมกับการส่งนี้
    " + +msgid "default.contextSettings.privacyStatement" +msgstr "" +"

    ชื่อและที่อยู่อีเมลที่ป้อนในเว็บไซต์วารสารนี้จะถูกใช้เพื่อวัตถุประสงค์ที่ร" +"ะบุไว้ของวารสารนี้เท่านั้น " +"และจะไม่ถูกนําไปใช้เพื่อวัตถุประสงค์อื่นใดหรือแก่บุคคลอื่นใด

    " + +msgid "default.contextSettings.forReaders" +msgstr "" +"เราขอแนะนําให้ผู้อ่านลงทะเบียนสําหรับบริการแจ้งการตีพิมพ์สําหรับวารสารนี้ " +"ใช้ลิงก์ register " +"ที่ด้านบนของโฮมเพจสําหรับสมุดรายวัน การลงทะเบียนนี้จะส่งผลให้ผู้อ่านได้รับสาร" +"บัญทางอีเมลสําหรับวารสารฉบับใหม่แต่ละฉบับ รายการนี้ยังช่วยให้วารสารสามารถอ้าง" +"สิทธิ์การสนับสนุนหรือผู้อ่านในระดับหนึ่งได้ ดู Privacy " +"Statement ของวารสาร ซึ่งทําให้ผู้อ่านมั่นใจว่าชื่อและที่อยู่อีเมลของพวกเข" +"าจะไม่ถูกนําไปใช้เพื่อวัตถุประสงค์อื่น" + +msgid "default.contextSettings.forAuthors" +msgstr "" +"สนใจที่จะส่งไปยังวารสารนี้หรือไม่? เราขอแนะนําให้คุณตรวจสอบหน้า เกี่ยวกับวารสารสําหรับนโยบายส่" +"วนของวารสาร รวมถึง แนวทางของผู้เขียน ผู้เขียนต้อง ลงทะเบียนกับวารสารก่อนส่ง " +"หรือหากลงทะเบียนแล้ว สามารถ เข้าสู่ระบบและเริ่มกระบวนการห้าขั้นตอน" diff --git a/locale/th/locale.po b/locale/th/locale.po new file mode 100644 index 00000000000..9b033dc0481 --- /dev/null +++ b/locale/th/locale.po @@ -0,0 +1,96 @@ +# Apichaya , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-07-30 06:57+0000\n" +"Last-Translator: Apichaya \n" +"Language-Team: Thai \n" +"Language: th\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.18.2\n" + +msgid "user.authorization.journalDoesNotPublish" +msgstr "วารสารนี้ไม่ได้เผยแพร่เนื้อหาทางออนไลน์" + +msgid "context.current" +msgstr "วารสารปัจจุบัน:" + +msgid "context.select" +msgstr "สลับไปยัง another journal:" + +msgid "navigation.categories" +msgstr "ประเภท" + +msgid "navigation.categories.browse" +msgstr "เรียกดู" + +msgid "common.software" +msgstr "ระบบวารสารแบบเปิด" + +msgid "common.payments" +msgstr "การชําระเงิน" + +msgid "navigation.journalHelp" +msgstr "ความช่วยเหลือวารสาร" + +msgid "reviewer.article.enterReviewForm" +msgstr "คลิกที่ไอคอนเพื่อกรอกแบบฟอร์มรีวิว" + +msgid "reviewer.submission.reviewFormResponse.form.responseRequired" +msgstr "กรุณากรอกข้อมูลในช่องที่จําเป็น" + +msgid "common.confirmComplete" +msgstr "" +"คุณแน่ใจหรือว่าต้องการทําเครื่องหมายงานนี้เสร็จสมบูรณ์? " +"คุณอาจไม่สามารถทําการเปลี่ยนแปลงได้ในภายหลัง" + +msgid "common.payment" +msgstr "การชําระเงิน" + +msgid "common.homePageHeader.altText" +msgstr "ส่วนหัวของหน้าแรก" + +msgid "common.journalHomepageImage.altText" +msgstr "รูปภาพหน้าแรกของวารสาร" + +msgid "doi.manager.settings.publications" +msgstr "บทความ" + +msgid "navigation.current" +msgstr "ปัจจุบัน" + +msgid "navigation.otherJournals" +msgstr "วารสารอื่นๆ" + +msgid "navigation.browseByIssue" +msgstr "ตามฉบับ" + +msgid "navigation.browseByAuthor" +msgstr "โดยผู้เขียน" + +msgid "navigation.infoForAuthors" +msgstr "สําหรับนักเขียน" + +msgid "navigation.infoForLibrarians" +msgstr "สําหรับบรรณารักษ์" + +#, fuzzy +msgid "navigation.competingInterestGuidelines" +msgstr "แนวทางผลประโยชน์ที่แข่งขันกัน" + +msgid "navigation.infoForAuthors.long" +msgstr "ข้อมูลสําหรับผู้เขียน" + +msgid "navigation.infoForLibrarians.long" +msgstr "ข้อมูลสําหรับบรรณารักษ์" + +msgid "navigation.skip.about" +msgstr "ข้ามไปที่เกี่ยวกับวารสาร" + +msgid "navigation.skip.issue" +msgstr "ข้ามไปยังปัญหาปัจจุบัน" + +msgid "common.queue.long.submissionsUnassigned" +msgstr "ไม่ได้รับมอบหมาย" diff --git a/locale/th/manager.po b/locale/th/manager.po new file mode 100644 index 00000000000..f1c417a0405 --- /dev/null +++ b/locale/th/manager.po @@ -0,0 +1,1201 @@ +# Apichaya , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-07-30 07:06+0000\n" +"Last-Translator: Apichaya \n" +"Language-Team: Thai \n" +"Language: th\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.18.2\n" + +msgid "manager.setup.emailBounceAddress.description" +msgstr "" +"อีเมลที่ไม่สามารถจัดส่งได้จะส่งผลให้เกิดข้อความแสดงข้อผิดพลาดไปยังที่อยู่นี้" + +msgid "manager.setup.journalThumbnail.description" +msgstr "โลโก้ขนาดเล็กหรือการเป็นตัวแทนของวารสารที่สามารถใช้ในรายการวารสารได้" + +msgid "manager.setup.plnDescription" +msgstr "" +"PKP Preservation Network (PN) ให้บริการเก็บรักษาวารสาร OJS ใดๆ " +"ที่ตรงตามเกณฑ์พื้นฐานบางประการฟรี" + +msgid "manager.setup.management.description" +msgstr "" +"การเข้าถึงและความปลอดภัย การกําหนดเวลา การประกาศ การคัดลอก เค้าโครง " +"และการพิสูจน์อักษร" + +msgid "manager.setup.restrictArticleAccess" +msgstr "ผู้ใช้จะต้องลงทะเบียนและเข้าสู่ระบบเพื่อดูเนื้อหาการเข้าถึงแบบเปิด" + +msgid "manager.setup.reviewOptions.restrictReviewerFileAccess.description" +msgstr "" +"ผู้ตรวจสอบจะไม่ได้รับอนุญาตให้เข้าถึงไฟล์ที่ส่งจนกว่าพวกเขาจะตกลงที่จะตรวจสอบ" + +msgid "manager.setup.emailSignature" +msgstr "ลายเซ็น" + +msgid "manager.setup.contextTitle" +msgstr "ชื่อวารสาร" + +msgid "manager.setup.labelName" +msgstr "ชื่อป้ายกํากับ" + +msgid "manager.setup.managingTheJournal" +msgstr "ขั้นตอนที่ 4 การจัดการวารสาร" + +msgid "manager.setup.lists" +msgstr "รายการ" + +msgid "manager.setup.plnPluginEnable" +msgstr "เปิดใช้งานปลั๊กอิน PKP PN" + +msgid "manager.setup.navigationBarDescription" +msgstr "เพิ่มหรือลบรายการแถบนําทางเพิ่มเติม" + +msgid "manager.setup.noStyleSheetUploaded" +msgstr "ไม่มีการอัปโหลดสไตล์ชีต" + +msgid "manager.setup.note" +msgstr "หมายเหตุ" + +msgid "manager.setup.pageNumberIdentifier" +msgstr "ตัวเลือกหมายเลขหน้า" + +msgid "manager.setup.restrictSiteAccess" +msgstr "ผู้ใช้จะต้องลงทะเบียนและเข้าสู่ระบบเพื่อดูเว็บไซต์วารสาร" + +msgid "manager.setup.reviewOptions.numWeeksPerReview" +msgstr "สัปดาห์ที่อนุญาตให้ดําเนินการตรวจสอบให้เสร็จสิ้น" + +msgid "manager.setup.emailSignature.description" +msgstr "อีเมลที่ส่งโดยอัตโนมัติในนามของวารสารจะมีการเพิ่มลายเซ็นดังต่อไปนี้" + +msgid "manager.setup.enableAnnouncements.enable" +msgstr "เปิดใช้งานประกาศ" + +msgid "manager.setup.numAnnouncementsHomepage.description" +msgstr "จํานวนประกาศที่จะแสดงบนหน้าแรก ปล่อยว่างไว้เพื่อไม่แสดง" + +msgid "manager.setup.enableUserRegistration" +msgstr "ผู้เยี่ยมชมสามารถลงทะเบียนบัญชีผู้ใช้กับวารสารได้" + +msgid "manager.setup.focusAndScope" +msgstr "จุดเน้นและขอบเขต" + +msgid "manager.setup.plnSettingsDescription" +msgstr "" +"ดูการตั้งค่า เพื่อยอมรับข้อกําหนดการใช้งานสําหรับ " +"PKP PN" + +msgid "manager.setup.reviewOptions.reviewerAccessKeysEnabled.label" +msgstr "รวมลิงก์ที่ปลอดภัยไว้ในคําเชิญทางอีเมลถึงผู้ตรวจสอบ" + +msgid "manager.setup.reviewOptions.reviewerRatings" +msgstr "การให้คะแนนของผู้ตรวจสอบ" + +msgid "manager.setup.reviewOptions.reviewerReminders" +msgstr "การแจ้งเตือนผู้ตรวจสอบ" + +msgid "manager.setup.searchEngineIndexing" +msgstr "ค้นหา การจัดทําดัชนี" + +msgid "manager.setup.sectionsDefaultSectionDescription" +msgstr "(หากไม่มีการเพิ่มส่วนรายการจะถูกส่งไปยังส่วนบทความตามค่าเริ่มต้น)" + +msgid "manager.setup.selectEditorDescription" +msgstr "บรรณาธิการวารสารที่จะดูผ่านกระบวนการบรรณาธิการ" + +msgid "manager.setup.selectSectionDescription" +msgstr "ส่วนวารสารที่จะพิจารณารายการ" + +msgid "manager.setup.showGalleyLinksDescription" +msgstr "แสดงลิงก์ห้องครัวเสมอและระบุการเข้าถึงแบบจํากัด" + +msgid "manager.setup.stepsToJournalSite" +msgstr "ห้าขั้นตอนสู่เว็บไซต์วารสาร" + +msgid "manager.setup.competingInterests.requireReviewers" +msgstr "" +"กําหนดให้ผู้ตรวจสอบยื่นคําชี้แจง CI " +"พร้อมกับการตรวจสอบโดยผู้ทรงคุณวุฒิแต่ละครั้งที่พวกเขาส่ง" + +msgid "manager.setup.history" +msgstr "ประวัติวารสาร" + +msgid "manager.setup.customizingTheLook" +msgstr "ขั้นตอนที่ 5 การปรับแต่งรูปลักษณ์" + +msgid "manager.setup.details.description" +msgstr "ชื่อวารสาร ISSN ผู้ติดต่อ ผู้สนับสนุน และเครื่องมือค้นหา" + +msgid "manager.setup.subjectExamples" +msgstr "(เช่น การสังเคราะห์ด้วยแสง; หลุมดํา; ปัญหาแผนที่สี่สี; ทฤษฎีเบย์)" + +msgid "manager.setup.discipline" +msgstr "วินัยทางวิชาการและสาขาย่อย" + +msgid "manager.setup.printIssn" +msgstr "พิมพ์ ISSN" + +msgid "manager.setup.reviewOptions.onQuality" +msgstr "" +"บรรณาธิการจะให้คะแนนผู้ตรวจสอบในระดับคุณภาพห้าจุดหลังจากการตรวจสอบแต่ละครั้ง" + +msgid "manager.setup.subjectProvideExamples" +msgstr "ให้ตัวอย่างคําหลักหรือหัวข้อเพื่อเป็นแนวทางสําหรับผู้เขียน" + +msgid "manager.setup.submissions.description" +msgstr "แนวปฏิบัติของผู้เขียน ลิขสิทธิ์ และการจัดทําดัชนี (รวมถึงการจดทะเบียน)" + +msgid "manager.setup.look.description" +msgstr "" +"ส่วนหัวของหน้าแรก เนื้อหา ส่วนหัวของวารสาร ส่วนท้าย แถบการนําทาง และสไตล์ชีต" + +msgid "manager.setup.submissions" +msgstr "การส่ง" + +msgid "manager.setup.referenceLinking" +msgstr "การเชื่อมโยงอ้างอิง" + +msgid "manager.setup.disciplineDescription" +msgstr "" +"มีประโยชน์เมื่อวารสารข้ามขอบเขตทางวินัยและ/หรือผู้เขียนส่งรายการสหสาขาวิชาชีพ" + +msgid "manager.setup.disciplineProvideExamples" +msgstr "ให้ตัวอย่างสาขาวิชาวิชาการที่เกี่ยวข้องสําหรับวารสารนี้" + +msgid "manager.setup.focusAndScope.description" +msgstr "" +"อธิบายให้ผู้เขียน ผู้อ่าน และบรรณารักษ์ทราบถึงบทความและรายการอื่นๆ " +"ที่วารสารจะตีพิมพ์" + +msgid "manager.setup.displayCurrentIssue" +msgstr "เพิ่มสารบัญสําหรับฉบับปัจจุบัน (ถ้ามี)" + +msgid "manager.setup.journalLayout" +msgstr "เค้าโครงวารสาร" + +msgid "manager.setup.journalLogo.altText" +msgstr "โลโก้วารสาร" + +msgid "manager.setup.editorDecision" +msgstr "การตัดสินใจของบรรณาธิการ" + +msgid "manager.setup.gettingDownTheDetails" +msgstr "ขั้นตอนที่ 1 ลงรายละเอียด" + +msgid "manager.setup.journalPageFooter" +msgstr "ส่วนท้ายหน้าวารสาร" + +msgid "manager.setup.journalPolicies" +msgstr "ขั้นตอนที่ 2 นโยบายวารสาร" + +msgid "manager.setup.journalSetup" +msgstr "การตั้งค่าวารสาร" + +msgid "manager.setup.journalSetupUpdated" +msgstr "การตั้งค่าบันทึกประจําวันของคุณได้รับการอัปเดตแล้ว" + +msgid "manager.setup.journalStyleSheetInvalid" +msgstr "รูปแบบสไตล์ชีตวารสารไม่ถูกต้อง รูปแบบที่ยอมรับคือ.css" + +msgid "manager.setup.journalTheme" +msgstr "ธีมวารสาร" + +msgid "manager.setup.journalThumbnail" +msgstr "ภาพขนาดย่อของวารสาร" + +msgid "manager.setup.enableOai" +msgstr "เปิดใช้งาน OAI" + +msgid "manager.setup.typeMethodApproach" +msgstr "ประเภท (วิธีการ/แนวทาง)" + +msgid "manager.distribution.copyrightYearBasis.issue" +msgstr "ใช้วันที่ตีพิมพ์ของฉบับ" + +msgid "manager.distribution.copyrightYearBasis.submission" +msgstr "ใช้วันที่ตีพิมพ์บทความ" + +msgid "manager.distribution.publication" +msgstr "สิ่งตีพิมพ์" + +msgid "doi.manager.settings.doiCreationTime.copyedit" +msgstr "เมื่อถึงขั้นตอนการคัดลอก" + +msgid "manager.website.archiving" +msgstr "การเก็บถาวร" + +msgid "manager.journalManagement" +msgstr "การจัดการวารสาร" + +msgid "manager.language.ui" +msgstr "UI" + +msgid "manager.language.submissions" +msgstr "การส่ง" + +msgid "manager.language.forms" +msgstr "แบบฟอร์ม" + +msgid "manager.sections.form.reviewFormId" +msgstr "โปรดตรวจสอบให้แน่ใจว่าคุณได้เลือกแบบฟอร์มการตรวจสอบที่ถูกต้อง" + +msgid "manager.sections.indexed" +msgstr "จัดทําดัชนี" + +msgid "manager.sections.noneCreated" +msgstr "ไม่มีการสร้างส่วนใดๆ" + +msgid "manager.sections.open" +msgstr "เปิดการส่ง" + +msgid "manager.sections.readingTools" +msgstr "เครื่องมือการอ่าน" + +msgid "manager.sections.reviewed" +msgstr "‘Peer Reviewed’" + +msgid "manager.sections.wordCount" +msgstr "จํานวนคํา" + +msgid "manager.setup" +msgstr "การตั้งค่าวารสาร" + +msgid "manager.setup.editorialTeam" +msgstr "ทีมบรรณาธิการ" + +msgid "manager.setup.useStyleSheet" +msgstr "สไตล์ชีตวารสาร" + +msgid "manager.setup.contextName" +msgstr "ชื่อวารสาร" + +msgid "manager.setup.pageHeader" +msgstr "ส่วนหัวของสมุดรายวัน" + +msgid "manager.setup.addChecklistItem" +msgstr "เพิ่มรายการตรวจสอบ" + +msgid "manager.setup.addNavItem" +msgstr "เพิ่มรายการ" + +msgid "manager.setup.addSponsor" +msgstr "เพิ่มองค์กรที่สนับสนุน" + +msgid "manager.setup.alternateHeader" +msgstr "ส่วนหัวสํารอง" + +msgid "manager.setup.announcements" +msgstr "ประกาศ" + +msgid "manager.setup.currentIssue" +msgstr "ประเด็นปัจจุบัน" + +msgid "manager.setup.details" +msgstr "รายละเอียด" + +msgid "manager.setup.disciplineExamples" +msgstr "" +"(เช่น ประวัติศาสตร์; การศึกษา; สังคมวิทยา; จิตวิทยา; วัฒนธรรมศึกษา; กฎหมาย)" + +msgid "manager.setup.emailBounceAddress" +msgstr "ที่อยู่ตีกลับ" + +msgid "manager.setup.emails" +msgstr "การระบุอีเมล" + +msgid "manager.setup.numAnnouncementsHomepage" +msgstr "แสดงบนหน้าแรก" + +msgid "manager.setup.forAuthorsToIndexTheirWork" +msgstr "เพื่อให้ผู้เขียนจัดทําดัชนีผลงานของตน" + +msgid "manager.setup.typeExamples" +msgstr "" +"(เช่น การสอบถามทางประวัติศาสตร์ กึ่งทดลอง การวิเคราะห์วรรณกรรม " +"การสํารวจ/สัมภาษณ์)" + +msgid "manager.setup.typeProvideExamples" +msgstr "ให้ตัวอย่างประเภทการวิจัย วิธีการ และแนวทางที่เกี่ยวข้องสําหรับสาขานี้" + +msgid "manager.setup.publicationScheduling" +msgstr "กําหนดการตีพิมพ์" + +msgid "manager.setup.publicIdentifier" +msgstr "การระบุเนื้อหาวารสาร" + +msgid "manager.setup.publisher" +msgstr "สํานักพิมพ์" + +msgid "manager.setup.reviewGuidelines" +msgstr "แนวทางการตรวจสอบ" + +msgid "manager.setup.reviewOptions" +msgstr "ตัวเลือกการตรวจสอบ" + +msgid "manager.setup.reviewOptions.automatedReminders" +msgstr "การแจ้งเตือนทางอีเมลอัตโนมัติ" + +msgid "manager.setup.reviewOptions.restrictReviewerFileAccess" +msgstr "จํากัดการเข้าถึงไฟล์" + +msgid "manager.setup.reviewOptions.reviewerAccess" +msgstr "การเข้าถึงผู้ตรวจสอบ" + +msgid "manager.setup.reviewOptions.reviewerAccessKeysEnabled" +msgstr "การเข้าถึงผู้ตรวจสอบด้วยคลิกเดียว" + +msgid "manager.setup.reviewPolicy" +msgstr "นโยบายการตรวจสอบ" + +msgid "manager.setup.sectionsAndSectionEditors" +msgstr "ส่วนและบรรณาธิการส่วน" + +msgid "manager.setup.siteAccess.view" +msgstr "การเข้าถึงไซต์" + +msgid "manager.setup.siteAccess.viewContent" +msgstr "ดูเนื้อหาบทความ" + +msgid "manager.setup.subjectKeywordTopic" +msgstr "คําหลัก" + +msgid "manager.setup.submissionGuidelines" +msgstr "แนวทางการส่ง" + +msgid "manager.sections.confirmDelete" +msgstr "คุณแน่ใจหรือว่าต้องการลบส่วนนี้อย่างถาวร?" + +msgid "manager.language.confirmDefaultSettingsOverwrite" +msgstr "" +"สิ่งนี้จะแทนที่การตั้งค่าบันทึกประจําตําแหน่งเฉพาะที่คุณมีสําหรับสถานที่นี้" + +msgid "manager.sections.editorRestriction" +msgstr "รายการสามารถส่งได้โดยบรรณาธิการและบรรณาธิการส่วนเท่านั้น" + +msgid "manager.sections.editors" +msgstr "บรรณาธิการส่วน" + +msgid "manager.payment.options.onlypdf" +msgstr "จํากัดการเข้าถึงปัญหาและบทความเวอร์ชัน PDF เท่านั้น" + +msgid "manager.payment.paymentId" +msgstr "รหัสการชําระเงิน" + +msgid "manager.sections.form.abbrevRequired" +msgstr "จําเป็นต้องมีชื่อย่อสําหรับส่วนนี้" + +msgid "manager.setup.announcementsIntroduction.description" +msgstr "ป้อนข้อมูลใด ๆ ที่คุณต้องการให้ปรากฏในหน้าประกาศของคุณ" + +msgid "manager.sections.form.titleRequired" +msgstr "จําเป็นต้องมีชื่อเรื่องสําหรับส่วนนี้" + +msgid "manager.setup.appearInAboutJournal" +msgstr "(เพื่อปรากฏใน About the Journal) " + +msgid "manager.sections.hideTocAuthor" +msgstr "ละเว้นชื่อผู้เขียนสําหรับรายการส่วนจากสารบัญประเด็น" + +msgid "manager.sections.hideTocTitle" +msgstr "ละเว้นชื่อของส่วนนี้จากสารบัญประเด็น" + +msgid "manager.sections.identifyType" +msgstr "ระบุรายการที่เผยแพร่ในส่วนนี้เป็น a(n)" + +msgid "manager.sections.policy" +msgstr "นโยบายมาตรา" + +msgid "manager.sections.submissionIndexing" +msgstr "จะไม่รวมอยู่ในการจัดทําดัชนีของวารสาร" + +msgid "manager.sections.submissionReview" +msgstr "จะไม่ได้รับการตรวจสอบโดยเพื่อน" + +msgid "manager.distribution.access" +msgstr "เข้าถึง" + +msgid "manager.section.submissionsToThisSection" +msgstr "การส่งข้อมูลในส่วนนี้ของวารสาร" + +msgid "manager.distribution.publishingMode" +msgstr "โหมดการเผยแพร่" + +msgid "manager.payment.authorFeesDescription" +msgstr "" +"ป้อนจํานวนค่าธรรมเนียมด้านล่างเพื่อเปิดใช้งานค่าธรรมเนียมการดําเนินการของผู้เ" +"ขียน" + +msgid "manager.sections.unassigned" +msgstr "ตัวแก้ไขส่วนที่มี" + +msgid "manager.payment.generalOptions" +msgstr "ตัวเลือกทั่วไป" + +msgid "manager.distribution.publishingMode.none" +msgstr "OJS จะไม่ถูกใช้เพื่อเผยแพร่เนื้อหาของวารสารทางออนไลน์" + +msgid "manager.distribution.publishingMode.openAccess" +msgstr "วารสารจะให้การเข้าถึงเนื้อหาอย่างเปิดเผย" + +msgid "manager.distribution.publishingMode.subscription" +msgstr "วารสารจะต้องมีการสมัครสมาชิกเพื่อเข้าถึงเนื้อหาบางส่วนหรือทั้งหมด" + +msgid "manager.setup.enableDois.description" +msgstr "" +"อนุญาตให้กําหนด Digital Object Identifiers (DOIs) " +"ให้กับงานที่ตีพิมพ์ในวารสารนี้" + +msgid "manager.payment.generalFeesDescription" +msgstr "สมาชิกสมาคมจะปรากฏในเกี่ยวกับวารสารภายใต้นโยบาย" + +msgid "manager.payment.paymentMethod.description" +msgstr "คุณสามารถกําหนดค่าปลั๊กอินวิธีการชําระเงินใด ๆ ต่อไปนี้จากหน้าจอนี้" + +msgid "manager.sections.alertDelete" +msgstr "ก่อนที่จะสามารถลบส่วนนี้ได้ คุณต้องย้ายบทความที่ส่งไปยังส่วนอื่นก่อน" + +msgid "manager.sections.wordCountInstructions" +msgstr "จํากัดจํานวนคํานามธรรมสําหรับส่วนนี้ (0 สําหรับไม่จํากัด)" + +msgid "doi.manager.settings.doiSuffixLegacy" +msgstr "" +"ใช้รูปแบบเริ่มต้น
    %j.v%vi%i สําหรับปัญหา
    %j.v%vi%i.%a สําหรั" +"บบทความ
    %j.v%vi%i.%a.g%g สําหรับ galleys" + +#, fuzzy +msgid "manager.setup.masthead" +msgstr "Masthead" + +msgid "manager.people.allSiteUsers" +msgstr "ลงทะเบียนผู้ใช้จากไซต์นี้ในวารสารนี้" + +msgid "manager.people.showNoRole" +msgstr "แสดงผู้ใช้ที่ไม่มีบทบาท" + +msgid "manager.setup.homepageContent" +msgstr "เนื้อหาหน้าแรกของวารสาร" + +msgid "manager.setup.aboutItemContent" +msgstr "เนื้อหา" + +msgid "manager.sections.abstractsNotRequired" +msgstr "ไม่ต้องการบทคัดย่อ" + +msgid "manager.setup.addAboutItem" +msgstr "เพิ่มเกี่ยวกับรายการ" + +msgid "manager.setup.addItem" +msgstr "เพิ่มรายการ" + +msgid "manager.setup.addItemtoAboutJournal" +msgstr "เพิ่มรายการที่จะปรากฏใน \"เกี่ยวกับวารสาร\"" + +msgid "manager.setup.addReviewerDatabaseLink" +msgstr "เพิ่มลิงก์ฐานข้อมูลใหม่" + +msgid "manager.setup.announcementsIntroduction" +msgstr "บทนํา" + +msgid "manager.payment.records" +msgstr "บันทึก" + +msgid "manager.paymentTypes" +msgstr "ประเภทการชําระเงิน" + +msgid "manager.payment.userName" +msgstr "รหัสการชําระเงิน" + +msgid "manager.people.allEnrolledUsers" +msgstr "ผู้ใช้ที่ลงทะเบียนในวารสารนี้" + +msgid "manager.people.allJournals" +msgstr "วารสารทั้งหมด" + +msgid "manager.people.allUsers" +msgstr "ผู้ใช้ที่ลงทะเบียนทั้งหมด" + +msgid "manager.people.emailUsers.selectTemplate" +msgstr "เลือกเทมเพลต" + +msgid "manager.people.enrollExistingUser" +msgstr "ลงทะเบียนผู้ใช้ปัจจุบัน" + +msgid "manager.people.enrollSyncJournal" +msgstr "พร้อมวารสาร" + +msgid "manager.people.mergeUsers.into.description" +msgstr "" +"เลือกผู้ใช้ที่จะระบุแหล่งที่มาของการเขียน การแก้ไขการมอบหมายงาน ฯลฯ " +"ของผู้ใช้คนก่อน" + +msgid "manager.people.roleEnrollment" +msgstr "{$role} การลงทะเบียน" + +msgid "manager.sections.assigned" +msgstr "บรรณาธิการของส่วนนี้" + +msgid "manager.sections.create" +msgstr "สร้างส่วน" + +msgid "manager.setup.numPageLinks" +msgstr "ลิงก์หน้า" + +msgid "manager.setup.numPageLinks.description" +msgstr "จํากัดจํานวนลิงก์ที่จะแสดงไปยังหน้าถัดไปในรายการ" + +msgid "manager.setup.onlineIssn" +msgstr "ISSN ออนไลน์" + +msgid "manager.setup.policies" +msgstr "นโยบาย" + +msgid "manager.setup.proofingInstructions" +msgstr "คําแนะนําในการพิสูจน์อักษร" + +msgid "manager.setup.publicationSchedule" +msgstr "กําหนดการตีพิมพ์" + +msgid "manager.setup.contextInitials" +msgstr "ชื่อย่อวารสาร" + +msgid "manager.setup.journalLogo" +msgstr "โลโก้วารสาร" + +msgid "manager.setup.keyInfo" +msgstr "ข้อมูลสําคัญ" + +msgid "manager.setup.plnPluginArchiving" +msgstr "เครือข่ายการอนุรักษ์ PKP (PN)" + +msgid "manager.setup.otherLockss" +msgstr "ล็อคและนาฬิกา" + +msgid "manager.setup.lockssLicenseDescription" +msgstr "" +"ใบอนุญาต LOCKSS จะปรากฏใน About Journal under Archiving: LOCKSS " +"License" + +msgid "manager.setup.lockssLicenseLabel" +msgstr "คําอธิบายใบอนุญาต LOCKSS" + +msgid "manager.setup.lockssTitle" +msgstr "ล็อค" + +msgid "manager.setup.clockssEnable" +msgstr "" +"เปิดใช้งาน CLOCKSS " +"เพื่อจัดเก็บและแจกจ่ายเนื้อหาวารสารที่ห้องสมุดที่เข้าร่วมผ่านทางหน้า CLOCKSS " +"Publisher Manifest" + +msgid "manager.setup.clockssLicenseLabel" +msgstr "คําอธิบายใบอนุญาต CLOCKSS" + +msgid "manager.setup.clockssRegister" +msgstr "" +"ลงทะเบียนเพื่อรับบริการ CLOCKSS โดยไปที่ the CLOCKSS website" + +msgid "manager.setup.clockssTitle" +msgstr "นาฬิกา" + +msgid "manager.setup.look" +msgstr "รูปลักษณ์" + +msgid "manager.setup.management" +msgstr "การจัดการ" + +msgid "manager.setup.clockssLicenseDescription" +msgstr "" +"ใบอนุญาต CLOCKSS จะปรากฏใน About Journal under Archiving: CLOCKSS License" + +msgid "manager.setup.managementOfBasicEditorialSteps" +msgstr "การจัดการขั้นตอนบรรณาธิการขั้นพื้นฐาน" + +msgid "manager.setup.managingPublishingSetup" +msgstr "การตั้งค่าการจัดการและการเผยแพร่" + +msgid "manager.setup.navigationBar" +msgstr "แถบนําทาง" + +msgid "manager.setup.navItemIsLiteral" +msgstr "" +"ค่าป้ายกํากับเป็นสตริงตามตัวอักษร (เช่น \"การตั้งค่าวารสาร\") " +"แทนที่จะเป็นคีย์ข้อความการแปล (เช่น \"manager.setup\")" + +msgid "manager.setup.noImageFileUploaded" +msgstr "ไม่มีการอัปโหลดไฟล์ภาพ" + +msgid "manager.languages.noneAvailable" +msgstr "" +"ขออภัย ไม่มีภาษาเพิ่มเติม " +"ติดต่อผู้ดูแลไซต์ของคุณหากคุณต้องการใช้ภาษาเพิ่มเติมกับวารสารนี้" + +msgid "manager.languages.primaryLocaleInstructions" +msgstr "นี่จะเป็นภาษาเริ่มต้นสําหรับเว็บไซต์วารสาร" + +msgid "manager.managementPages" +msgstr "หน้าการจัดการ" + +msgid "manager.payment.action" +msgstr "Action" + +msgid "manager.payment.addPayment" +msgstr "เพิ่มการชําระเงิน" + +msgid "manager.payment.amount" +msgstr "จํานวนเงิน" + +msgid "manager.payment.authorFees" +msgstr "ค่าธรรมเนียมผู้เขียน" + +msgid "manager.payment.description" +msgstr "คําอธิบาย" + +msgid "manager.payment.details" +msgstr "รายละเอียด" + +msgid "manager.payment.editSubscription" +msgstr "แก้ไขการสมัครสมาชิก" + +msgid "manager.payment.enable" +msgstr "เปิดใช้งาน" + +msgid "manager.payment.feePaymentOptions" +msgstr "ตัวเลือกการชําระค่าธรรมเนียม" + +msgid "manager.payment.form.numeric" +msgstr "ค่าใช้จ่ายทั้งหมดต้องเป็นค่าตัวเลขบวก (อนุญาตให้ใช้จุดทศนิยมได้)" + +msgid "manager.payment.generalFees" +msgstr "ค่าธรรมเนียมทั่วไป" + +msgid "manager.payment.noPayments" +msgstr "No Payments" + +msgid "manager.payment.notFound" +msgstr "ไม่พบ" + +msgid "manager.payment.options" +msgstr "ตัวเลือก" + +msgid "subscriptionManager.subscription.confirmRemove" +msgstr "คุณแน่ใจหรือไม่ว่าต้องการลบการสมัครสมาชิกนี้?" + +msgid "manager.payment.options.enablePayments" +msgstr "" +"การชําระเงินจะถูกเปิดใช้งานสําหรับวารสารนี้ " +"โปรดทราบว่าผู้ใช้จะต้องเข้าสู่ระบบเพื่อทําการชําระเงิน" + +msgid "manager.payment.options.fee" +msgstr "ค่าธรรมเนียม" + +msgid "manager.payment.options.feeDescription" +msgstr "คําอธิบายค่าธรรมเนียม" + +msgid "manager.payment.options.feeName" +msgstr "ชื่อค่าธรรมเนียม" + +msgid "manager.payment.options.membershipFee" +msgstr "สมาชิกสมาคม" + +msgid "manager.payment.options.publicationFee" +msgstr "ค่าธรรมเนียมการประมวลผลบทความ" + +msgid "manager.payment.options.purchaseArticleFee" +msgstr "ซื้อบทความ" + +msgid "manager.payment.options.purchaseIssueFee" +msgstr "ปัญหาการซื้อ" + +msgid "manager.payment.options.text" +msgstr "คําอธิบายวิธีการชําระเงิน" + +msgid "manager.payment.paymentMethod" +msgstr "วิธีการชําระเงิน" + +msgid "manager.payment.paymentMethods" +msgstr "วิธีการชําระค่าธรรมเนียม" + +msgid "manager.payment.paymentType" +msgstr "ประเภทการชําระเงิน" + +msgid "manager.payment.readerFees" +msgstr "ค่าธรรมเนียมผู้อ่าน" + +msgid "manager.setup.form.issnInvalid" +msgstr "ISSN ที่ระบุไม่ถูกต้อง" + +msgid "manager.setup.form.contactEmailRequired" +msgstr "จําเป็นต้องมีอีเมลติดต่อหลัก" + +msgid "manager.setup.form.contactNameRequired" +msgstr "จําเป็นต้องมีชื่อผู้ติดต่อหลัก" + +msgid "manager.setup.form.journalInitialsRequired" +msgstr "จําเป็นต้องมีชื่อย่อวารสาร" + +msgid "manager.setup.form.journalTitleRequired" +msgstr "จําเป็นต้องมีชื่อวารสาร" + +msgid "manager.setup.form.numReviewersPerSubmission" +msgstr "จําเป็นต้องมีจํานวนผู้วิจารณ์ต่อการส่ง" + +msgid "manager.setup.form.supportEmailRequired" +msgstr "จําเป็นต้องมีอีเมลสนับสนุน" + +msgid "manager.setup.form.supportNameRequired" +msgstr "ชื่อสนับสนุนเป็นสิ่งจําเป็น" + +msgid "manager.setup.generalInformation" +msgstr "ข้อมูลทั่วไป" + +msgid "manager.setup.guidelines" +msgstr "แนวทางปฏิบัติ" + +msgid "manager.setup.guidingSubmissions" +msgstr "ขั้นตอนที่ 3 การส่งคําแนะนํา" + +msgid "manager.setup.identity" +msgstr "อัตลักษณ์วารสาร" + +msgid "manager.setup.information" +msgstr "ข้อมูล" + +msgid "manager.setup.information.forAuthors" +msgstr "สําหรับนักเขียน" + +msgid "manager.setup.information.forLibrarians" +msgstr "สําหรับบรรณารักษ์" + +msgid "manager.setup.information.forReaders" +msgstr "สําหรับผู้อ่าน" + +msgid "manager.setup.initialIssue" +msgstr "ประเด็นเบื้องต้น" + +msgid "manager.setup.initialIssueDescription" +msgstr "" +"ขึ้นอยู่กับรูปแบบที่เลือกระบุปัญหาปริมาณและ/หรือปีของฉบับแรกที่จะเผยแพร่กับ " +"OJS:" + +msgid "manager.setup.institution" +msgstr "สถาบัน" + +msgid "manager.setup.itemsPerPage" +msgstr "รายการต่อหน้า" + +msgid "manager.setup.journalAbbreviation" +msgstr "ตัวย่อวารสาร" + +msgid "manager.setup.journalArchiving" +msgstr "การเก็บถาวรวารสาร" + +msgid "manager.setup.contextSummary" +msgstr "สรุปวารสาร" + +msgid "manager.setup.contextAbout" +msgstr "เกี่ยวกับวารสาร" + +msgid "manager.setup.journalHomepageContent" +msgstr "เนื้อหาหน้าแรกของวารสาร" + +msgid "manager.setup.journalHomepageHeader" +msgstr "ส่วนหัวของหน้าแรกของวารสาร" + +msgid "manager.setup.journalHomepageHeader.altText" +msgstr "ส่วนหัวของหน้าแรกของวารสาร" + +msgid "manager.distribution.copyrightYearBasis.description" +msgstr "" +"เลือกวิธีการเลือกวันที่ลิขสิทธิ์เริ่มต้นสําหรับบทความ " +"ค่าเริ่มต้นนี้สามารถแทนที่ได้เป็นรายกรณี หากคุณ \"เผยแพร่ตามที่คุณไป\" " +"อย่าใช้วันที่ตีพิมพ์ของฉบับนั้น" + +msgid "manager.people.confirmRemove" +msgstr "" +"ลบผู้ใช้นี้ออกจากบันทึกนี้หรือไม่? " +"การดําเนินการนี้จะยกเลิกการลงทะเบียนผู้ใช้จากทุกบทบาทภายในวารสารนี้" + +msgid "doi.manager.settings.doiObjectsRequired" +msgstr "" +"เลือกรายการที่จะกําหนด DOI วารสารส่วนใหญ่กําหนด DOI ให้กับบทความ " +"แต่คุณอาจต้องการกําหนด DOI ให้กับรายการที่ตีพิมพ์ทั้งหมด" + +msgid "manager.files.note" +msgstr "" +"หมายเหตุ: Files Browser เป็นคุณสมบัติขั้นสูงที่ช่วยให้สามารถดูและจัดการไฟล์แล" +"ะไดเร็กทอรีที่เกี่ยวข้องกับวารสารได้โดยตรง" + +msgid "manager.languages.languageInstructions" +msgstr "" +"OJS สามารถให้บริการแก่ผู้ใช้ในภาษาที่รองรับหลายภาษา นอกจากนี้ OJS " +"ยังสามารถทํางานเป็นระบบหลายภาษาได้ " +"ทําให้ผู้ใช้สามารถสลับระหว่างภาษาในแต่ละหน้าได้ " +"และอนุญาตให้ป้อนข้อมูลบางอย่างในภาษาเพิ่มเติมได้หลายภาษา

    หากภาษาที่" +" OJS รองรับไม่อยู่ในรายการด้านล่าง " +"ขอให้ผู้ดูแลระบบไซต์ของคุณติดตั้งภาษาจากอินเทอร์เฟซการดูแลระบบไซต์ " +"สําหรับคําแนะนําในการเพิ่มการรองรับภาษาใหม่ โปรดดูเอกสาร OJS" + +msgid "manager.payment.currencymessage" +msgstr "" +"OJS ไม่มีการแปลงสกุลเงินใดๆ หากยอมรับการชําระเงินสําหรับการสมัครสมาชิก คุณต้" +"องตรวจสอบให้แน่ใจว่าสกุลเงินในการสมัครสมาชิกตรงกับสกุลเงินที่ระบุไว้ที่นี่" + +msgid "manager.payment.options.acceptSubscriptionPayments" +msgstr "" +"การดําเนินการนี้จะเปิดใช้งานการชําระเงินสําหรับการสมัครสมาชิก โดยที่ประเภท " +"ต้นทุน ระยะเวลา และการสมัครสมาชิกได้รับการจัดการโดยผู้จัดการวารสาร " +"(การสมัครสมาชิก)" + +msgid "manager.payment.readerFeesDescription" +msgstr "" +"ตัวเลือกที่เลือก พร้อมด้วยคําอธิบายและค่าธรรมเนียม " +"(ซึ่งสามารถแก้ไขได้ด้านล่าง) จะปรากฏในเกี่ยวกับวารสารภายใต้นโยบาย " +"รวมถึงจุดที่จําเป็นต้องชําระเงิน" + +msgid "manager.people.mergeUsers.from.description" +msgstr "" +"เลือกผู้ใช้ (หรือหลายคน) เพื่อรวมเข้ากับบัญชีผู้ใช้อื่น (เช่น " +"เมื่อมีคนมีบัญชีผู้ใช้สองบัญชี) บัญชีที่เลือกก่อนจะถูกลบ และการส่ง " +"การมอบหมาย ฯลฯ จะถือเป็นบัญชีที่สอง" + +msgid "manager.people.syncUserDescription" +msgstr "" +"การซิงโครไนซ์การลงทะเบียนจะลงทะเบียนผู้ใช้ทั้งหมดที่ลงทะเบียนในบทบาทที่ระบุใน" +"วารสารที่ระบุให้มีบทบาทเดียวกันในวารสารนี้ ฟังก์ชันนี้ช่วยให้ชุดผู้ใช้ทั่วไป " +"(เช่น ผู้ตรวจสอบ) สามารถซิงโครไนซ์ระหว่างวารสารได้" + +msgid "manager.section.sectionEditorInstructions" +msgstr "" +"เพิ่มตัวแก้ไขส่วนในส่วนนี้เพื่อให้การส่งผลงานถูกกําหนดให้กับตัวแก้ไขส่วนโดยอั" +"ตโนมัติ (มิฉะนั้น สามารถกําหนด Section Editor ด้วยตนเองได้ " +"หลังจากส่งเข้ามาแล้ว) หากเพิ่มเข้าไป " +"ตัวแก้ไขส่วนสามารถถูกกําหนดโดยอัตโนมัติเพื่อดูแลการตรวจสอบ " +"(การตรวจสอบโดยผู้ทรงคุณวุฒิ) และ/หรือการแก้ไข (การแก้ไขสําเนา เค้าโครง " +"และการพิสูจน์อักษร) ของการส่งไปยังส่วนนี้ บรรณาธิการส่วนถูกสร้างขึ้นโดยการคลิ" +"กบรรณาธิการส่วนภายใต้บทบาทในการจัดการวารสาร" + +msgid "manager.sections.confirmDeactivateSection.error" +msgstr "" +"ต้องมีการใช้งานอย่างน้อยหนึ่งส่วน " +"เยี่ยมชมการตั้งค่าเวิร์กโฟลว์เพื่อปิดการใช้งานการส่งทั้งหมดไปยังวารสารนี้" + +msgid "manager.sections.form.mustAllowPermission" +msgstr "" +"โปรดตรวจสอบให้แน่ใจว่ามีการตรวจสอบช่องทําเครื่องหมายอย่างน้อยหนึ่งช่องสําหรับ" +"การกําหนดตัวแก้ไขแต่ละส่วน" + +msgid "manager.sections.identifyTypeExamples" +msgstr "" +"(เช่น \"บทความที่ผ่านการตรวจสอบโดยผู้ทรงคุณวุฒิ\", \"บทว" +"ิจารณ์หนังสือที่ไม่อ้างอิง\", \"ความเห็นที่ได้รับเชิญ\" ฯลฯ)" + +msgid "manager.setup.homepageContentDescription" +msgstr "" +"หน้าแรกของวารสารประกอบด้วยลิงก์การนําทางตามค่าเริ่มต้น เนื้อหาหน้าแรกเพิ่มเติ" +"มสามารถผนวกได้โดยใช้ตัวเลือกต่อไปนี้อย่างใดอย่างหนึ่งหรือทั้งหมด " +"ซึ่งจะปรากฏตามลําดับที่แสดง" + +msgid "manager.setup.alternateHeaderDescription" +msgstr "" +"อีกทางหนึ่ง แทนที่จะใช้ชื่อและโลโก้ สามารถแทรกส่วนหัวเวอร์ชัน HTML " +"ลงในกล่องข้อความด้านล่างได้ เว้นกล่องข้อความว่างไว้หากไม่จําเป็น" + +msgid "manager.setup.historyDescription" +msgstr "" +"ข้อความนี้จะปรากฏในส่วน \"เกี่ยวกับ\" ของเว็บไซต์วารสาร " +"และสามารถใช้เพื่ออธิบายการเปลี่ยนแปลงชื่อเรื่อง กองบรรณาธิการ และรายการอื่นๆ " +"ที่เกี่ยวข้องกับประวัติการตีพิมพ์ของวารสาร" + +msgid "manager.setup.disableUserRegistration" +msgstr "" +"Journal Manager จะลงทะเบียนบัญชีผู้ใช้ทั้งหมด " +"บรรณาธิการหรือบรรณาธิการส่วนอาจลงทะเบียนบัญชีผู้ใช้สําหรับผู้ตรวจสอบ" + +msgid "manager.setup.emailBounceAddress.disabled" +msgstr "" +"ในการส่งอีเมลที่ไม่สามารถจัดส่งไปยังที่อยู่ตีกลับ " +"ผู้ดูแลระบบไซต์จะต้องเปิดใช้งานตัวเลือก allow_envelope_sender " +"ในไฟล์การกําหนดค่าไซต์ อาจจําเป็นต้องมีการกําหนดค่าเซิร์ฟเวอร์ ตามที่ระบุไว้" +"ในเอกสาร OJS" + +msgid "manager.setup.enableAnnouncements.description" +msgstr "" +"อาจมีการเผยแพร่ประกาศเพื่อแจ้งให้ผู้อ่านทราบข่าวสารและกิจกรรมในวารสาร " +"ประกาศที่เผยแพร่จะปรากฏในหน้าประกาศ" + +msgid "manager.setup.forAuthorsToIndexTheirWorkDescription" +msgstr "" +"OJS ปฏิบัติตาม Open Archives Initiative Protocol for Metadata Harvesting ซึ่งเป็นมาตรฐา" +"นที่เกิดขึ้นใหม่สําหรับการให้การเข้าถึงทรัพยากรการวิจัยอิเล็กทรอนิกส์ที่มีการ" +"จัดทําดัชนีอย่างดีในระดับโลก " +"ผู้เขียนจะใช้เทมเพลตที่คล้ายกันเพื่อจัดเตรียมข้อมูลเมตาสําหรับการส่ง ผู้จัดกา" +"รวารสารควรเลือกหมวดหมู่สําหรับการจัดทําดัชนีและนําเสนอผู้เขียนพร้อมตัวอย่างที" +"่เกี่ยวข้องเพื่อช่วยในการจัดทําดัชนีงานของตน" + +msgid "manager.setup.includeCreativeCommons" +msgstr "" +"สําหรับวารสารที่เสนอการเข้าถึงแบบเปิดทันทีหรือล่าช้า ให้รวมใบอนุญาต Creative " +"Commons กับผลงานตีพิมพ์ทั้งหมดในเวลาที่เหมาะสม" + +msgid "manager.setup.information.description" +msgstr "" +"คําอธิบายโดยย่อของวารสารสําหรับบรรณารักษ์และผู้สนใจเป็นผู้เขียนและผู้อ่าน " +"สิ่งเหล่านี้มีให้ใช้งานในแถบด้านข้างของไซต์เมื่อมีการเพิ่มบล็อกข้อมูล" + +msgid "manager.setup.itemsDescription" +msgstr "" +"รายการแถบนําทางสามารถเพิ่มลงในชุดปัจจุบัน (หน้าแรก เกี่ยวกับ หน้าแรกของผู้ใช้" +" ฯลฯ) ที่ปรากฏที่ด้านบนของหน้า" + +msgid "manager.setup.itemsPerPage.description" +msgstr "" +"จํากัดจํานวนรายการ (เช่น การส่ง ผู้ใช้ หรือการแก้ไขการมอบหมาย) " +"เพื่อแสดงในรายการก่อนที่จะแสดงรายการถัดไปในหน้าอื่น" + +msgid "manager.setup.contextAbout.description" +msgstr "" +"รวมข้อมูลใดๆ เกี่ยวกับวารสารของคุณซึ่งอาจเป็นที่สนใจของผู้อ่าน ผู้เขียน " +"หรือผู้วิจารณ์ ซึ่งอาจรวมถึงนโยบายการเข้าถึงแบบเปิดของคุณ จุดเน้" +"นและขอบเขตของวารสาร ประกาศเกี่ยวกับลิขสิทธิ์ การเปิดเผยการสนับสนุน " +"ประวัติความเป็นมาของวารสาร คําชี้แจงความเป็นส่วนตัว และการรวมไว้ในระบบการเก็" +"บถาวร LOCKSS หรือ CLOCKSS" + +msgid "manager.setup.journalHomepageContentDescription" +msgstr "" +"ตามค่าเริ่มต้น หน้าแรกประกอบด้วยลิงก์การนําทาง " +"เนื้อหาหน้าแรกเพิ่มเติมสามารถต่อท้ายได้โดยใช้ตัวเลือกต่อไปนี้หนึ่งหรือทั้" +"งหมด ซึ่งจะปรากฏตามลําดับที่แสดง " +"โปรดทราบว่าปัญหาปัจจุบันสามารถเข้าถึงได้ผ่านลิงก์ปัจจุบันในแถบนําทางเสมอ" + +msgid "manager.setup.journalHomepageHeaderDescription" +msgstr "" +"สามารถอัปโหลดชื่อและโลโก้ของวารสารเวอร์ชันกราฟิก (เป็นไฟล์ .gif, .jpg หรือ ." +"png) สําหรับหน้าแรกได้ ซึ่งจะแทนที่เวอร์ชันข้อความที่ปรากฏเป็นอย่างอื่น" + +msgid "manager.setup.selectCountry" +msgstr "" +"เลือกประเทศที่วารสารนี้ตั้งอยู่ " +"หรือประเทศที่อยู่ทางไปรษณีย์ของวารสารหรือผู้จัดพิมพ์" + +msgid "manager.setup.journalLayoutDescription" +msgstr "" +"เลือกธีมวารสารและเลือกส่วนประกอบเค้าโครงที่นี่ อาจอัปโหลดสไตล์ชีตวารสาร " +"ซึ่งสามารถใช้เพื่อแทนที่ข้อมูลสไตล์ในสไตล์ชีตและสไตล์ชีตธีมทั้งระบบ " +"(หากเลือกธีม)" + +msgid "manager.setup.journalPageFooterDescription" +msgstr "" +"นี่คือส่วนท้ายของบันทึกของคุณ หากต้องการเปลี่ยนหรืออัปเดตส่วนท้าย ให้วางโค้ด " +"HTML ในกล่องข้อความด้านล่าง ตัวอย่างอาจเป็นแถบนําทางอื่น ตัวนับ ฯลฯ " +"ส่วนท้ายนี้จะปรากฏในทุกหน้า" + +msgid "manager.setup.keyInfo.description" +msgstr "" +"ให้คําอธิบายสั้นๆ เกี่ยวกับวารสารของคุณและระบุบรรณาธิการ กรรมการผู้จัดการ " +"และสมาชิกคนอื่นๆ ในทีมบรรณาธิการของคุณ" + +msgid "manager.setup.plnPluginNotInstalled" +msgstr "" +"PKP Preservation Network (PN) ให้บริการเก็บรักษาวารสาร OJS ใดๆ " +"ที่ตรงตามเกณฑ์พื้นฐานบางประการฟรี หากต้องการเก็บถาวรบันทึกประจําวันของคุณใน " +"PN โปรดขอให้ผู้ดูแลระบบติดตั้งปลั๊กอิน PKP|PN จาก Plugin Gallery" + +msgid "manager.setup.lockssEnable" +msgstr "" +"เปิดใช้งาน LOCKSS " +"เพื่อจัดเก็บและแจกจ่ายเนื้อหาวารสารที่ห้องสมุดที่เข้าร่วมผ่านทางหน้า LOCKSS " +"Publisher Manifest" + +msgid "manager.setup.lockssRegister" +msgstr "" +"ระบุห้องสมุด 6-10 แห่งที่จะลงทะเบียนและแคชวารสาร ตัวอย่างเช่น " +"หันไปหาสถาบันที่บรรณาธิการหรือสมาชิกคณะกรรมการทํางาน และ/หรือสถาบันที่เข้าร่" +"วมใน LOCKSS อยู่แล้ว ดู the LOCKSS community" + +msgid "manager.setup.navItemIsAbsolute" +msgstr "" +"URL เป็น URL แบบสัมบูรณ์ (เช่น \"http://www.example.com\") " +"แทนที่จะเป็นเส้นทางที่สัมพันธ์กับไซต์ (เช่น \"/ผู้จัดการ/การตั้งค่า\")" + +msgid "manager.setup.notifications.submissionAckDisabled" +msgstr "" +"หมายเหตุ: ขณะนี้อีเมลตอบรับการส่งถูกปิดใช้งาน " +"หากต้องการใช้คุณสมบัตินี้ ให้เปิดใช้งานอีเมล \"Submission Ack\" ในอีเมล" + +msgid "manager.setup.policies.description" +msgstr "" +"โฟกัส การตรวจสอบโดยผู้ทรงคุณวุฒิ ส่วนต่างๆ ความเป็นส่วนตัว ความปลอดภัย " +"และเพิ่มเติมเกี่ยวกับรายการต่างๆ" + +msgid "manager.setup.proofingInstructionsDescription" +msgstr "" +"คําแนะนําในการพิสูจน์อักษรจะมีให้สําหรับผู้พิสูจน์อักษร ผู้เขียน " +"บรรณาธิการเค้าโครง และบรรณาธิการส่วนในขั้นตอนการแก้ไขการส่ง " +"ด้านล่างนี้คือชุดคําสั่งเริ่มต้นใน HTML ซึ่งสามารถแก้ไขหรือแทนที่ด้วย " +"Journal Manager ได้ทุกจุด (ใน HTML หรือข้อความธรรมดา)" + +msgid "manager.setup.publicationScheduleDescription" +msgstr "" +"รายการวารสารสามารถตีพิมพ์ร่วมกันได้ โดยเป็นส่วนหนึ่งของประเด็นที่มีสารบั" +"ญของตนเอง อีกทางหนึ่ง สามารถเผยแพร่แต่ละรายการได้ทันทีที่พร้อม " +"โดยเพิ่มลงในสารบัญของเล่ม \"ปัจจุบัน\" ให้คําชี้แจงเกี่ยวกับระบบที่วารสารนี้จ" +"ะใช้และความถี่ในการตีพิมพ์ที่คาดหวังแก่ผู้อ่านใน About the Journal" + +msgid "manager.setup.reviewOptions.automatedRemindersDisabled" +msgstr "" +"หากต้องการส่งการแจ้งเตือนทางอีเมลอัตโนมัติ " +"ผู้ดูแลระบบไซต์จะต้องเปิดใช้งานตัวเลือก scheduled_tasks " +"ในไฟล์การกําหนดค่า OJS " +"อาจจําเป็นต้องมีการกําหนดค่าเซิร์ฟเวอร์เพิ่มเติมตามที่ระบุไว้ในเอกสาร OJS" + +msgid "manager.setup.reviewOptions.reviewerAccessKeysEnabled.description" +msgstr "" +"ผู้ตรวจสอบสามารถส่งลิงก์ที่ปลอดภัยในคําเชิญทางอีเมล " +"ซึ่งจะเข้าสู่ระบบโดยอัตโนมัติเมื่อคลิกลิงก์" + +msgid "manager.setup.searchEngineIndexing.description" +msgstr "" +"ช่วยให้เครื่องมือค้นหาเช่น Google ค้นพบและแสดงไซต์ของคุณ ขอแนะนําให้ส่ง sitemap" + +msgid "manager.setup.searchDescription.description" +msgstr "" +"ให้คําอธิบายโดยย่อ (50-300 ตัวอักษร) " +"ของวารสารซึ่งเครื่องมือค้นหาสามารถแสดงได้เมื่อแสดงรายการวารสารในผลการค้นหา" + +msgid "manager.setup.sectionsDescription" +msgstr "" +"หากต้องการสร้างหรือแก้ไขส่วนต่างๆ สําหรับวารสาร (เช่น บทความ บทวิจารณ์หนังสื" +"อ ฯลฯ) ให้ไปที่ Section Management.

    Authors " +"ในการส่งรายการไปยังวารสารจะกําหนด" + +msgid "manager.setup.disableSubmissions.description" +msgstr "" +"ป้องกันไม่ให้ผู้ใช้ส่งบทความใหม่ลงในวารสาร " +"สามารถปิดใช้งานการส่งสําหรับส่วนวารสารแต่ละส่วนในหน้าการตั้งค่า journal sections" + +msgid "manager.setup.disableSubmissions.notAccepting" +msgstr "" +"วารสารนี้ไม่รับการส่งผลงานในขณะนี้ " +"เยี่ยมชมการตั้งค่าเวิร์กโฟลว์เพื่ออนุญาตการส่ง" + +msgid "manager.setup.enableOai.description" +msgstr "" +"ให้ข้อมูลเมตาแก่บริการจัดทําดัชนีของบุคคลที่สามผ่าน Open Archives Initiative" + +msgid "manager.setup.useThumbnail" +msgstr "ภาพขนาดย่อ" + +msgid "manager.setup.useTextTitle" +msgstr "ชื่อเรื่อง" + +msgid "manager.statistics.statistics" +msgstr "สถิติวารสาร" + +msgid "manager.statistics.statistics.count.accept" +msgstr "ยอมรับ" + +msgid "manager.statistics.statistics.count.decline" +msgstr "ปฏิเสธ" + +msgid "manager.statistics.statistics.daysPerReview" +msgstr "วันที่จะตรวจสอบ" + +msgid "manager.statistics.statistics.numIssues" +msgstr "ประเด็นที่เผยแพร่" + +msgid "manager.statistics.statistics.numSubmissions" +msgstr "การส่งทั้งหมด" + +msgid "manager.statistics.statistics.peerReviewed" +msgstr "Peer ตรวจสอบแล้ว" + +msgid "manager.statistics.statistics.registeredReaders" +msgstr "ผู้อ่านที่ลงทะเบียน" + +msgid "manager.statistics.statistics.reviewerCount" +msgstr "เลขที่ ได้รับมอบหมาย" + +msgid "manager.statistics.statistics.reviewerScore" +msgstr "คะแนนบรรณาธิการ" + +msgid "manager.statistics.statistics.selectSections" +msgstr "" +"เลือกส่วนสําหรับการคํานวณสถิติที่ผ่านการตรวจสอบโดยผู้ทรงคุณวุฒิของวารสารนี้" + +msgid "manager.statistics.statistics.subscriptions" +msgstr "การสมัครสมาชิก" + +msgid "manager.statistics.reports.defaultReport.articleDownloads" +msgstr "ดาวน์โหลดไฟล์บทความ" + +msgid "manager.statistics.reports.defaultReport.articleAbstract" +msgstr "การดูหน้าบทคัดย่อบทความ" + +msgid "manager.statistics.reports.defaultReport.articleAbstractAndDownloads" +msgstr "บทความบทคัดย่อหน้าดูและดาวน์โหลด" + +msgid "manager.setup.uniqueIdentifier" +msgstr "ตัวระบุที่ไม่ซ้ํา" + +msgid "manager.setup.useEditorialReviewBoard" +msgstr "วารสารจะใช้กองบรรณาธิการ/คณะกรรมการพิจารณา" + +msgid "manager.setup.useImageTitle" +msgstr "ชื่อเรื่อง รูปภาพ" + +msgid "manager.setup.userRegistration" +msgstr "การลงทะเบียนผู้ใช้" + +msgid "manager.statistics.statistics.articleViews" +msgstr "จํานวนการดูบทความ (สําหรับผู้เขียนเท่านั้น)" + +msgid "manager.statistics.statistics.count.revise" +msgstr "ส่งอีกครั้ง" + +msgid "manager.statistics.statistics.daysToPublication" +msgstr "วันที่จะตีพิมพ์" + +msgid "manager.statistics.statistics.itemsPublished" +msgstr "รายการที่เผยแพร่" + +msgid "manager.statistics.statistics.makePublic" +msgstr "ตรวจสอบรายการที่จะให้บริการแก่ผู้อ่านใน About the Journal" + +msgid "manager.statistics.statistics.reviewers" +msgstr "ผู้ตรวจสอบ" + +msgid "manager.statistics.statistics.reviewsPerReviewer" +msgstr "ลําดับที่ของรีวิว" + +msgid "manager.statistics.statistics.description" +msgstr "" +"OJS คํานวณสถิติต่อไปนี้สําหรับแต่ละวารสาร \"วันที่จะตรวจสอบ\" " +"คํานวณจากวันที่ส่ง (หรือการกําหนดเวอร์ชันตรวจสอบ) " +"ไปจนถึงการตัดสินใจของบรรณาธิการเบื้องต้น ในขณะที่ \"วันที่จะเผยแพร่\" " +"วัดสําหรับการส่งที่ได้รับการยอมรับจากการอัปโหลดครั้งแรกไปยังการตีพิมพ์" + +msgid "manager.setup.uniqueIdentifierDescription" +msgstr "" +"บทความและประเด็นต่างๆ สามารถติดแท็กด้วยหมายเลขประจําตัวหรือสตริง " +"โดยใช้ระบบการลงทะเบียน เช่น Digital Object Identifier System (DOI)" + +msgid "manager.statistics.statistics.note" +msgstr "" +"หมายเหตุ: " +"เปอร์เซ็นต์สําหรับการส่งที่ได้รับการตรวจสอบโดยผู้ทรงคุณวุฒิอาจรวมกันได้ไม่เกิ" +"น 100% เนื่องจากรายการที่ส่งใหม่ได้รับการยอมรับ ปฏิเสธ " +"หรือยังอยู่ในระหว่างดําเนินการ" diff --git a/locale/th/submission.po b/locale/th/submission.po new file mode 100644 index 00000000000..0fea79f40a6 --- /dev/null +++ b/locale/th/submission.po @@ -0,0 +1,76 @@ +# Apichaya , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-07-30 06:56+0000\n" +"Last-Translator: Apichaya \n" +"Language-Team: Thai " +"\n" +"Language: th\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.18.2\n" + +msgid "submission.submit.userGroup" +msgstr "ส่งในบทบาทของฉันในฐานะ..." + +msgid "submission.upload.selectComponent" +msgstr "เลือกส่วนประกอบบทความ" + +msgid "submission.submit.whatNext.description" +msgstr "" +"ได้รับแจ้งเกี่ยวกับการส่งของคุณ และคุณได้รับอีเมลยืนยันสําหรับบันทึกของคุณ " +"เมื่อบรรณาธิการตรวจสอบการส่งแล้ว พวกเขาจะติดต่อคุณ" + +msgid "submission.title" +msgstr "ชื่อบทความ" + +msgid "submission.submit.newSubmissionMultiple" +msgstr "เริ่มการส่งใหม่ใน" + +msgid "submission.submit.newSubmissionSingle" +msgstr "การส่งใหม่" + +msgid "grid.action.workflow" +msgstr "เวิร์กโฟลว์การส่ง" + +msgid "submission.abstract.wordCount.description" +msgstr "บทคัดย่อต้องเป็น {$wordCount} คําหรือน้อยกว่า" + +msgid "submission.submit.noContext" +msgstr "ไม่พบวารสารของการส่งนี้" + +msgid "submission.issueEntry" +msgstr "ข้อมูลเมตา" + +#, fuzzy +msgid "grid.action.galleyInIssueEntry" +msgstr "Galley ปรากฏในรายการปัญหา" + +msgid "grid.action.issueEntry" +msgstr "ดูข้อมูลเมตาของการส่งนี้" + +#, fuzzy +msgid "submission.event.articleGalleyMadeAvailable" +msgstr "The article galley \"{$galleyFormatName}\" มีให้บริการแล้ว" + +#, fuzzy +msgid "submission.event.articleGalleyMadeUnavailable" +msgstr "The article galley \"{$galleyFormatName}\" ไม่พร้อมใช้งาน" + +#, fuzzy +msgid "submission.event.publicIdentifiers" +msgstr "อัปเดตตัว public identifiers ของการส่ง" + +msgid "grid.issueEntry.availableGalley.title" +msgstr "การอนุมัติรูปแบบ" + +msgid "submission.title.tip" +msgstr "" +"ประเภทการส่งมักจะเป็นหนึ่งใน 'รูปภาพ' 'ข้อความ' หรือประเภทมัลติมีเดียอื่นๆ " +"รวมถึง 'ซอฟต์แวร์' หรือ 'โต้ตอบ' " +"โปรดเลือกสิ่งที่เกี่ยวข้องมากที่สุดสําหรับการส่งของคุณ " +"ตัวอย่างสามารถดูได้ที่ http://dublincore.org/" +"documents/2001/04/12/usageguide/generic.shtml#type" diff --git a/locale/tr/locale.po b/locale/tr/locale.po index ccc619c406c..6ed95acdca1 100644 --- a/locale/tr/locale.po +++ b/locale/tr/locale.po @@ -1,20 +1,21 @@ # Osman Durmaz , 2022. # Hüseyin Körpeoğlu , 2022, 2023. +# Mustafa Tat , 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T10:49:36+00:00\n" -"PO-Revision-Date: 2023-02-13 10:13+0000\n" -"Last-Translator: Hüseyin Körpeoğlu \n" -"Language-Team: Turkish \n" -"Language: tr_TR\n" +"PO-Revision-Date: 2024-08-05 13:16+0000\n" +"Last-Translator: Mustafa Tat \n" +"Language-Team: Turkish " +"\n" +"Language: 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 4.13.1\n" +"X-Generator: Weblate 4.18.2\n" msgid "user.authorization.journalDoesNotPublish" msgstr "Bu dergi, içeriğini çevrimiçi olarak yayınlamaz." @@ -190,7 +191,7 @@ msgid "article.suppFile" msgstr "Ek Dosya" msgid "article.suppFiles" -msgstr "Ek Dosya(lar):" +msgstr "Ek Dosya(lar)" msgid "article.suppFilesAbbrev" msgstr "Ek Dosyalar" @@ -732,7 +733,7 @@ msgstr "" "{$userName} tarafınan" msgid "search.results.orderBy" -msgstr "Sonuçları şuna göre sırala:" +msgstr "Sonuçları şuna göre sırala" msgid "search.results.orderBy.article" msgstr "Makale Başlığı" diff --git a/plugins/blocks/developedBy/locale/fa/locale.po b/plugins/blocks/developedBy/locale/fa/locale.po index e8113a47358..d992f87bd5b 100644 --- a/plugins/blocks/developedBy/locale/fa/locale.po +++ b/plugins/blocks/developedBy/locale/fa/locale.po @@ -1,25 +1,26 @@ # Hamid Reza Khoddami , 2022. +# Mehran Toreihi , 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T11:04:39+00:00\n" -"PO-Revision-Date: 2022-05-19 14:02+0000\n" -"Last-Translator: Hamid Reza Khoddami \n" +"PO-Revision-Date: 2024-08-08 14:08+0000\n" +"Last-Translator: Mehran Toreihi \n" "Language-Team: Persian \n" -"Language: fa_IR\n" +"blocks-developedBy/fa/>\n" +"Language: fa\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" +"X-Generator: Weblate 4.18.2\n" msgid "plugins.block.developedBy.displayName" msgstr "بلوک «تهیه توسط»" msgid "plugins.block.developedBy.description" -msgstr "این افزونه بلوکی در نوار حاشیه برای نمایش «تهیه توسط\" ایجاد می‌کند" +msgstr "این افزونه بلوکی در نوار حاشیه برای نمایش «تهیه توسط\" ایجاد می‌کند." msgid "plugins.block.developedBy.blockTitle" msgstr "تکمیل شده توسط" diff --git a/plugins/importexport/native/locale/th/locale.po b/plugins/importexport/native/locale/th/locale.po new file mode 100644 index 00000000000..d8ef7b5de17 --- /dev/null +++ b/plugins/importexport/native/locale/th/locale.po @@ -0,0 +1,3 @@ +# Apichaya , 2024. +msgid "" +msgstr "X-Generator: Weblate\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit" diff --git a/plugins/oaiMetadataFormats/marcxml/locale/se/locale.po b/plugins/oaiMetadataFormats/marcxml/locale/se/locale.po new file mode 100644 index 00000000000..cea07a6dbcb --- /dev/null +++ b/plugins/oaiMetadataFormats/marcxml/locale/se/locale.po @@ -0,0 +1,3 @@ +# Aysa Ekanger , 2024. +msgid "" +msgstr "X-Generator: Weblate\nMIME-Version: 1.0\nContent-Type: text/plain; charset=UTF-8\nContent-Transfer-Encoding: 8bit" diff --git a/plugins/themes/default/locale/th/locale.po b/plugins/themes/default/locale/th/locale.po new file mode 100644 index 00000000000..8e81c296c44 --- /dev/null +++ b/plugins/themes/default/locale/th/locale.po @@ -0,0 +1,95 @@ +# Apichaya , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-07-30 06:56+0000\n" +"Last-Translator: Apichaya \n" +"Language-Team: Thai \n" +"Language: th\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.18.2\n" + +msgid "plugins.themes.default.option.useHomepageImageAsHeader.description" +msgstr "" +"เมื่ออัปโหลดรูปภาพหน้าแรกแล้ว " +"ให้แสดงในพื้นหลังของส่วนหัวแทนที่จะเป็นตําแหน่งปกติในหน้าแรก" + +msgid "plugins.themes.default.option.displayStats.label" +msgstr "ตัวเลือกการแสดงสถิติการใช้งาน" + +msgid "plugins.themes.default.option.displayStats.none" +msgstr "ไม่แสดงแผนภูมิสถิติการใช้งานการส่งสําหรับผู้อ่าน" + +msgid "plugins.themes.default.name" +msgstr "ธีมเริ่มต้น" + +msgid "plugins.themes.default.description" +msgstr "ธีมนี้ใช้ธีมเริ่มต้น" + +msgid "plugins.themes.default.option.typography.label" +msgstr "การพิมพ์" + +msgid "plugins.themes.default.option.typography.description" +msgstr "เลือกแบบอักษรที่เหมาะกับวารสารนี้" + +msgid "plugins.themes.default.option.typography.notoSerif" +msgstr "Noto Serif: รูปแบบ serif ของแบบอักษร digital-native ของ Google" + +msgid "plugins.themes.default.option.typography.lato" +msgstr "Lato: แบบอักษร sans-serif สมัยใหม่ยอดนิยม" + +msgid "plugins.themes.default.option.typography.lora" +msgstr "Lora: แบบอักษร serif แบบกว้างเหมาะสําหรับการอ่านออนไลน์" + +msgid "plugins.themes.default.option.typography.lora_openSans" +msgstr "" +"Lora/Open Sans: การจับคู่ฟรีกับหัวเรื่อง serif และข้อความเนื้อหาแบบ sans-" +"serif" + +msgid "plugins.themes.default.option.colour.label" +msgstr "สี" + +msgid "plugins.themes.default.option.showDescriptionInJournalIndex.option" +msgstr "แสดงสรุปวารสารในหน้าแรก" + +msgid "plugins.themes.default.option.useHomepageImageAsHeader.label" +msgstr "ภาพพื้นหลังส่วนหัว" + +msgid "plugins.themes.default.option.useHomepageImageAsHeader.option" +msgstr "แสดงภาพหน้าแรกเป็นพื้นหลังส่วนหัว" + +msgid "plugins.themes.default.option.displayStats.bar" +msgstr "ใช้แผนภูมิแท่งสําหรับการแสดงสถิติการใช้งาน" + +msgid "plugins.themes.default.option.displayStats.line" +msgstr "ใช้แผนภูมิเส้นสําหรับการแสดงสถิติการใช้งาน" + +msgid "plugins.themes.default.displayStats.monthInitials" +msgstr "‘ม.ค. ก.พ. มี.ค. เม.ย. พ.ค. มิ.ย. ก.ค. ส.ค. ก.ย. ต.ค. พ.ย. ธ.ค’" + +msgid "plugins.themes.default.displayStats.downloads" +msgstr "ดาวน์โหลด" + +msgid "plugins.themes.default.displayStats.noStats" +msgstr "ข้อมูลการดาวน์โหลดยังไม่พร้อมใช้งาน" + +msgid "plugins.themes.default.option.typography.notoSans" +msgstr "" +"Noto Sans: แบบอักษร digital-native ที่ออกแบบโดย Google " +"เพื่อรองรับภาษาอย่างกว้างขวาง" + +msgid "plugins.themes.default.option.typography.notoSans_notoSerif" +msgstr "" +"Noto Sans/Noto Serif: การจับคู่เสริมกับหัวเรื่อง sans-serif และข้อความเนื้" +"อหา serif" + +msgid "plugins.themes.default.option.typography.notoSerif_notoSans" +msgstr "" +"Noto Serif/Noto Sans: การจับคู่เสริมกับหัวเรื่อง serif และข้อความเนื้อหา " +"sans-serif" + +msgid "plugins.themes.default.option.colour.description" +msgstr "เลือกสีสําหรับส่วนหัว" From 77d43868952a21f5fe51f06ad7c96740fbdca4b3 Mon Sep 17 00:00:00 2001 From: Bozana Bokan Date: Thu, 15 Aug 2024 13:06:59 +0200 Subject: [PATCH 14/26] pkp/pkp-lib#9911 submodule update ##bozana/9911## --- lib/pkp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pkp b/lib/pkp index 34e7fe70eaf..d784b46e9ba 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 34e7fe70eafd47dda983b02440ee66436ddf3586 +Subproject commit d784b46e9baa1f06ad19d62f49c7ae8b5880fcc8 From 63a37fb443cdb79ee84950fe293c319a8416f466 Mon Sep 17 00:00:00 2001 From: Taslan Graham Date: Mon, 19 Aug 2024 09:31:25 -0500 Subject: [PATCH 15/26] pkp/pkp-lib#10315 submodule update --- lib/pkp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/pkp b/lib/pkp index d784b46e9ba..5803e4fefa1 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit d784b46e9baa1f06ad19d62f49c7ae8b5880fcc8 +Subproject commit 5803e4fefa145b89740bb8ea8dbf2434939fe213 From f1b783c9d08f6064d86e051cdceeb6711b9ad586 Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Wed, 10 Jul 2024 12:41:00 +0800 Subject: [PATCH 16/26] pkp/pkp-lib#9753 [main] Update directory when importing jquery ui --- plugins/themes/default/DefaultThemePlugin.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/themes/default/DefaultThemePlugin.php b/plugins/themes/default/DefaultThemePlugin.php index a9a6c52c117..718f61dfbbe 100644 --- a/plugins/themes/default/DefaultThemePlugin.php +++ b/plugins/themes/default/DefaultThemePlugin.php @@ -194,7 +194,7 @@ public function init() // Load jQuery from a CDN or, if CDNs are disabled, from a local copy. $min = Config::getVar('general', 'enable_minified') ? '.min' : ''; $jquery = $request->getBaseUrl() . '/lib/pkp/lib/vendor/components/jquery/jquery' . $min . '.js'; - $jqueryUI = $request->getBaseUrl() . '/lib/pkp/lib/vendor/components/jqueryui/jquery-ui' . $min . '.js'; + $jqueryUI = $request->getBaseUrl() . '/lib/pkp/lib/vendor/jquery/ui/dist/jquery-ui' . $min . '.js'; // Use an empty `baseUrl` argument to prevent the theme from looking for // the files within the theme directory $this->addScript('jQuery', $jquery, ['baseUrl' => '']); From 22aa68f423f73a20fe9d05fd31e0e7abbbe583ee Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Fri, 12 Jul 2024 01:41:52 +0800 Subject: [PATCH 17/26] pkp/pkp-lib#9753 Add jquery, jquery-ui and jquery-validation to npm dependencies --- package-lock.json | 43 +++++++++++++++++++++++++++++++++++++++++++ package.json | 3 +++ 2 files changed, 46 insertions(+) diff --git a/package-lock.json b/package-lock.json index 223d95e70fe..eef8ab95a0f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,9 @@ "element-resize-event": "^3.0.6", "floating-vue": "^2.0.0-beta.24", "highlight.js": "^11.9.0", + "jquery": "^3.7.1", + "jquery-ui": "^1.13.3", + "jquery-validation": "~1.19.5", "moment": "^2.29.4", "ofetch": "^1.3.3", "pinia": "^2.1.7", @@ -3992,6 +3995,27 @@ "jiti": "bin/jiti.js" } }, + "node_modules/jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, + "node_modules/jquery-ui": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.3.tgz", + "integrity": "sha512-D2YJfswSJRh/B8M/zCowDpNFfwsDmtfnMPwjJTyvl+CBqzpYwQ+gFYIbUUlzijy/Qvoy30H1YhoSui4MNYpRwA==", + "dependencies": { + "jquery": ">=1.8.0 <4.0.0" + } + }, + "node_modules/jquery-validation": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.5.tgz", + "integrity": "sha512-X2SmnPq1mRiDecVYL8edWx+yTBZDyC8ohWXFhXdtqFHgU9Wd4KHkvcbCoIZ0JaSaumzS8s2gXSkP8F7ivg/8ZQ==", + "peerDependencies": { + "jquery": "^1.7 || ^2.0 || ^3.1" + } + }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -9696,6 +9720,25 @@ "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", "dev": true }, + "jquery": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.7.1.tgz", + "integrity": "sha512-m4avr8yL8kmFN8psrbFFFmB/If14iN5o9nw/NgnnM+kybDJpRsAynV2BsfpTYrTRysYUdADVD7CkUUizgkpLfg==" + }, + "jquery-ui": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.3.tgz", + "integrity": "sha512-D2YJfswSJRh/B8M/zCowDpNFfwsDmtfnMPwjJTyvl+CBqzpYwQ+gFYIbUUlzijy/Qvoy30H1YhoSui4MNYpRwA==", + "requires": { + "jquery": ">=1.8.0 <4.0.0" + } + }, + "jquery-validation": { + "version": "1.19.5", + "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.5.tgz", + "integrity": "sha512-X2SmnPq1mRiDecVYL8edWx+yTBZDyC8ohWXFhXdtqFHgU9Wd4KHkvcbCoIZ0JaSaumzS8s2gXSkP8F7ivg/8ZQ==", + "requires": {} + }, "js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", diff --git a/package.json b/package.json index 7ae2cf8058e..51cb2774600 100644 --- a/package.json +++ b/package.json @@ -28,6 +28,9 @@ "element-resize-event": "^3.0.6", "floating-vue": "^2.0.0-beta.24", "highlight.js": "^11.9.0", + "jquery": "^3.7.1", + "jquery-ui": "^1.13.3", + "jquery-validation": "~1.19.5", "moment": "^2.29.4", "ofetch": "^1.3.3", "pinia": "^2.1.7", From 4dad3521635a6ab88eb1e964e8c5b717692d3cb6 Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Fri, 12 Jul 2024 01:44:10 +0800 Subject: [PATCH 18/26] pkp/pkp-lib#9753 [main] Add copies of npm jquery, jquery-ui, jquery-validation and chart.js to js/build folder --- vite.config.js | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/vite.config.js b/vite.config.js index b50494bad3e..131fceda90c 100644 --- a/vite.config.js +++ b/vite.config.js @@ -38,6 +38,22 @@ export default defineConfig(({mode}) => { src: 'lib/ui-library/public/styles/tinymce/*', dest: 'lib/pkp/styles/tinymce', }, + { + src: 'node_modules/jquery/dist/*', + dest: 'js/build/jquery', + }, + { + src: 'node_modules/jquery-ui/dist/**/*.js', + dest: 'js/build/jquery-ui', + }, + { + src: 'node_modules/jquery-validation/dist/*', + dest: 'js/build/jquery-validation', + }, + { + src: 'node_modules/chart.js/dist/**/*.umd.js', + dest: 'js/build/chart.js', + }, ], // run the copy task after writing the bundle hook: 'writeBundle', From cd402f4cc9eeca82a8578b859a28e813d17ff45d Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Fri, 12 Jul 2024 01:45:27 +0800 Subject: [PATCH 19/26] pkp/pkp-lib#9753 [main] Update paths when adding scripts for jquery and jquery-ui --- plugins/themes/default/DefaultThemePlugin.php | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/plugins/themes/default/DefaultThemePlugin.php b/plugins/themes/default/DefaultThemePlugin.php index 718f61dfbbe..25b0568deac 100644 --- a/plugins/themes/default/DefaultThemePlugin.php +++ b/plugins/themes/default/DefaultThemePlugin.php @@ -193,8 +193,9 @@ public function init() // Load jQuery from a CDN or, if CDNs are disabled, from a local copy. $min = Config::getVar('general', 'enable_minified') ? '.min' : ''; - $jquery = $request->getBaseUrl() . '/lib/pkp/lib/vendor/components/jquery/jquery' . $min . '.js'; - $jqueryUI = $request->getBaseUrl() . '/lib/pkp/lib/vendor/jquery/ui/dist/jquery-ui' . $min . '.js'; + $jquery = $request->getBaseUrl() . '/js/build/jquery/jquery' . $min . '.js'; + $jqueryUI = $request->getBaseUrl() . '/js/build/jquery-ui/jquery-ui' . $min . '.js'; + // Use an empty `baseUrl` argument to prevent the theme from looking for // the files within the theme directory $this->addScript('jQuery', $jquery, ['baseUrl' => '']); From 65a0025fd424ca67f965e30b086a04931cc84e97 Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Fri, 12 Jul 2024 01:48:25 +0800 Subject: [PATCH 20/26] pkp/pkp-lib#9753 [main] Adjust chart.js config option to make it compatible with v4 --- plugins/themes/default/js/main.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/themes/default/js/main.js b/plugins/themes/default/js/main.js index 5517b2eb399..0775189b43f 100644 --- a/plugins/themes/default/js/main.js +++ b/plugins/themes/default/js/main.js @@ -60,7 +60,7 @@ // Modify the Chart.js display options used by UsageStats plugin document.addEventListener('usageStatsChartOptions.pkp', function(e) { e.chartOptions.elements.line.backgroundColor = 'rgba(0, 122, 178, 0.6)'; - e.chartOptions.elements.rectangle.backgroundColor = 'rgba(0, 122, 178, 0.6)'; + e.chartOptions.elements.bar.backgroundColor = 'rgba(0, 122, 178, 0.6)'; }); // Toggle display of consent checkboxes in site-wide registration From 45efcdaf2669076ce25438df79fea0e404508841 Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Fri, 12 Jul 2024 02:28:41 +0800 Subject: [PATCH 21/26] pkp/pkp-lib#9753 Add js/build path to gitignore file --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 6e72bb8da44..dabc5a3ba0b 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,7 @@ temp .php_cs.cache .php-cs-fixer.cache node_modules +js/build/ js/build.js js/hot-updates styles/build.css From ddb07ede885a6e221905bdd791e5f264c4aa79b9 Mon Sep 17 00:00:00 2001 From: Blesilda Ramirez Date: Fri, 12 Jul 2024 13:31:33 +0800 Subject: [PATCH 22/26] pkp/pkp-lib#9753 [main] Upgrade chart.js version to latest --- package-lock.json | 16 ++++++++-------- package.json | 2 +- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/package-lock.json b/package-lock.json index eef8ab95a0f..f0cec0c126c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -15,7 +15,7 @@ "@tinymce/tinymce-vue": "^5.1.1", "@vue-a11y/announcer": "^3.1.5", "@vueuse/core": "^10.5.0", - "chart.js": "^4.3.3", + "chart.js": "^4.4.3", "clone-deep": "^4.0.1", "copyfiles": "^2.4.1", "debounce": "^1.2.0", @@ -1867,14 +1867,14 @@ } }, "node_modules/chart.js": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.3.tgz", - "integrity": "sha512-aTk7pBw+x6sQYhon/NR3ikfUJuym/LdgpTlgZRe2PaEhjUMKBKyNaFCMVRAyTEWYFNO7qRu7iQVqOw/OqzxZxQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.3.tgz", + "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==", "dependencies": { "@kurkle/color": "^0.3.0" }, "engines": { - "pnpm": ">=7" + "pnpm": ">=8" } }, "node_modules/check-more-types": { @@ -8198,9 +8198,9 @@ } }, "chart.js": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.3.3.tgz", - "integrity": "sha512-aTk7pBw+x6sQYhon/NR3ikfUJuym/LdgpTlgZRe2PaEhjUMKBKyNaFCMVRAyTEWYFNO7qRu7iQVqOw/OqzxZxQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-4.4.3.tgz", + "integrity": "sha512-qK1gkGSRYcJzqrrzdR6a+I0vQ4/R+SoODXyAjscQ/4mzuNzySaMCd+hyVxitSY1+L2fjPD1Gbn+ibNqRmwQeLw==", "requires": { "@kurkle/color": "^0.3.0" } diff --git a/package.json b/package.json index 51cb2774600..3ea74153890 100644 --- a/package.json +++ b/package.json @@ -20,7 +20,7 @@ "@tinymce/tinymce-vue": "^5.1.1", "@vue-a11y/announcer": "^3.1.5", "@vueuse/core": "^10.5.0", - "chart.js": "^4.3.3", + "chart.js": "^4.4.3", "clone-deep": "^4.0.1", "copyfiles": "^2.4.1", "debounce": "^1.2.0", From ac6c6e3ce0971e799606b983a33959dcd5d3349a Mon Sep 17 00:00:00 2001 From: Alec Smecher Date: Wed, 21 Aug 2024 16:55:49 -0700 Subject: [PATCH 23/26] Submodule updates --- lib/pkp | 2 +- lib/ui-library | 2 +- plugins/generic/lensGalley | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/pkp b/lib/pkp index 5803e4fefa1..9f03824f2a7 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 5803e4fefa145b89740bb8ea8dbf2434939fe213 +Subproject commit 9f03824f2a73eaf38fd480396573411b2f45b9f8 diff --git a/lib/ui-library b/lib/ui-library index 2123b860fe9..f36ba46546f 160000 --- a/lib/ui-library +++ b/lib/ui-library @@ -1 +1 @@ -Subproject commit 2123b860fe99c687a0677a0b40f4f1bf573e6598 +Subproject commit f36ba46546fa784433be8d5e133145fa180d74bf diff --git a/plugins/generic/lensGalley b/plugins/generic/lensGalley index ec89af4a04c..a9c58e6710e 160000 --- a/plugins/generic/lensGalley +++ b/plugins/generic/lensGalley @@ -1 +1 @@ -Subproject commit ec89af4a04c85d2fb5eb83f38760815455c6e3e7 +Subproject commit a9c58e6710e45dcfcfc31a4004bf7649537120cd From a615ba72169bf1dc2dc7667684596f78757de4c6 Mon Sep 17 00:00:00 2001 From: Alec Smecher Date: Fri, 23 Aug 2024 10:10:40 -0700 Subject: [PATCH 24/26] pkp/pkp-lib#10327 Do not assume user session when fulfilling payment --- classes/payment/ojs/OJSPaymentManager.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/classes/payment/ojs/OJSPaymentManager.php b/classes/payment/ojs/OJSPaymentManager.php index 2639b89768e..a8516491028 100644 --- a/classes/payment/ojs/OJSPaymentManager.php +++ b/classes/payment/ojs/OJSPaymentManager.php @@ -355,7 +355,7 @@ public function fulfillQueuedPayment($request, $queuedPayment, $payMethodPluginN } } $completedPaymentDao = DAORegistry::getDAO('OJSCompletedPaymentDAO'); /** @var OJSCompletedPaymentDAO $completedPaymentDao */ - $completedPayment = $this->createCompletedPayment($queuedPayment, $payMethodPluginName, $request->getUser()->getId()); + $completedPayment = $this->createCompletedPayment($queuedPayment, $payMethodPluginName, $queuedPayment->getUserId()); $completedPaymentDao->insertObject($completedPayment); $queuedPaymentDao = DAORegistry::getDAO('QueuedPaymentDAO'); /** @var QueuedPaymentDAO $queuedPaymentDao */ From 6e13398923cf7fe8c427af4cefcb06491b489904 Mon Sep 17 00:00:00 2001 From: Alec Smecher Date: Fri, 23 Aug 2024 10:35:47 -0700 Subject: [PATCH 25/26] Merge remote-tracking branch 'translations/stable-3_4_0' into stable-3_4_0 --- locale/bg/locale.po | 14 +-- locale/de/emails.po | 89 ++++++++++++++++++- locale/id/admin.po | 8 +- locale/id/author.po | 15 ++-- locale/it/submission.po | 49 +++++----- locale/sid/admin.po | 27 ++++++ locale/sid/submission.po | 40 +++++++++ .../importexport/native/locale/id/locale.po | 16 ++-- plugins/themes/default/locale/sid/locale.po | 32 +++++++ 9 files changed, 240 insertions(+), 50 deletions(-) create mode 100644 locale/sid/admin.po create mode 100644 locale/sid/submission.po create mode 100644 plugins/themes/default/locale/sid/locale.po diff --git a/locale/bg/locale.po b/locale/bg/locale.po index 3413d886f52..462022b5697 100644 --- a/locale/bg/locale.po +++ b/locale/bg/locale.po @@ -1,8 +1,8 @@ -# Cyril Kamburov , 2021, 2022, 2023. +# Cyril Kamburov , 2021, 2022, 2023, 2024. # Albena Vassileva , 2022. msgid "" msgstr "" -"PO-Revision-Date: 2023-02-27 07:59+0000\n" +"PO-Revision-Date: 2024-08-17 11:41+0000\n" "Last-Translator: Cyril Kamburov \n" "Language-Team: Bulgarian \n" @@ -11,7 +11,7 @@ msgstr "" "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" +"X-Generator: Weblate 4.18.2\n" msgid "user.authorization.journalDoesNotPublish" msgstr "Това списание не публикува съдържанието си онлайн." @@ -456,16 +456,16 @@ msgstr "" "деактивирана." msgid "user.role.manager" -msgstr "Раководител (мединжър) на списанието" +msgstr "Ръководител (мениджър) на списанието" msgid "user.role.subEditor" msgstr "Редактор на раздела (секцията)" msgid "user.role.subscriptionManager" -msgstr "Отговорник за абонаментите" +msgstr "Мениджър на абонаментите" msgid "user.role.managers" -msgstr "Раководители на списанието" +msgstr "Ръководители на списанието" msgid "user.role.subEditors" msgstr "Редактори на раздели" @@ -1770,7 +1770,7 @@ msgid "about.subscriptions.institutional" msgstr "Институционални абонаменти" msgid "about.subscriptionsContact" -msgstr "Отговорник за абонаментите" +msgstr "Контакт за абонаментите" msgid "about.subscriptionTypes.name" msgstr "Име" diff --git a/locale/de/emails.po b/locale/de/emails.po index d8f19aa358d..f6e74f27ba4 100644 --- a/locale/de/emails.po +++ b/locale/de/emails.po @@ -1,16 +1,17 @@ # Jens Unkenholz , 2023. # Pia Piontkowitz , 2023. +# Renate Voget , 2024. msgid "" msgstr "" -"PO-Revision-Date: 2023-05-01 18:49+0000\n" -"Last-Translator: Pia Piontkowitz \n" +"PO-Revision-Date: 2024-08-14 16:52+0000\n" +"Last-Translator: Renate Voget \n" "Language-Team: German \n" "Language: de\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" +"X-Generator: Weblate 4.18.2\n" msgid "emails.passwordResetConfirm.subject" msgstr "Bestätigung der Passwortzurücksetzung" @@ -124,3 +125,85 @@ msgstr "Benachrichtigung über das Ablaufen eines Abonnements" msgid "emails.subscriptionAfterExpiryLast.subject" msgstr "Abonnement abgelaufen - Letzte Erinnerung" + +msgid "emails.passwordResetConfirm.body" +msgstr "" +"Wir wurden aufgefordert, Ihr Passwort für die Webseite {$siteTitle} neu zu " +"setzen.
    \n" +"
    \n" +"Falls die Aufforderung nicht von Ihnen stammt, ignorieren Sie bitte diese E-" +"Mail und Ihr Passwort bleibt unverändert. Falls Sie Ihr Passwort neu setzen " +"möchten, klicken Sie bitte auf die folgende URL:
    \n" +"
    \n" +"Mein Passwort neu setzen: {$passwordResetUrl}
    \n" +"
    \n" +"{$siteContactName}" + +msgid "emails.userRegister.body" +msgstr "" +"{$recipientName}
    \n" +"
    \n" +"Sie sind nun als neue/r Benutzer/in von {$contextName} registriert. Wir " +"haben Ihren Benutzer/innennamen und Ihr Passwort in dieser Mail aufgeführt, " +"beides wird für alle Arbeiten mit dieser Zeitschrift gebraucht. Sie können " +"sich zu jedem Zeitpunkt als Benutzer/in der Zeitschrift austragen lassen, " +"indem Sie mich kontaktieren.
    \n" +"
    \n" +"Benutzer/innenname: {$recipientUsername}
    \n" +"Passwort: {$password}
    \n" +"
    \n" +"Vielen Dank
    \n" +"{$signature}" + +msgid "emails.issuePublishNotify.body" +msgstr "" +"

    Guten Tag {$recipientName},

    wir freuen uns Ihnen mitteilen zu " +"können, dass eine neue Ausgabe von {$contextName} veröffentlicht wurde: {$issueIdentification}. Wir laden Sie dazu ein, die " +"Ausgabe zu lesen und mit Anderen Ihrer wissenschaftlichen Community zu " +"teilen.

    Vielen Dank an unsere Autor/innen, Gutachter/innen und " +"Redakteur/innen für ihre wertvollen Beiträge - und natürlich an unsere Leser/" +"innen für das anhaltende Interesse an unserer Arbeit.

    Vielen " +"Dank

    {$signature}" + +msgid "emails.reviewerRegister.body" +msgstr "" +"

    Guten Tag {$recipientName},

    angesichts Ihrer Expertise haben wir " +"uns erlaubt, Ihren Namen der Gutachter/innendatenbank von {$contextName} " +"hinzuzufügen. Dies verpflichtet Sie zu nichts, ermöglicht uns aber, Sie um " +"mögliche Gutachten für eine Einreichung zu bitten. Wenn Sie zu einem " +"Gutachten eingeladen werden, werden Sie Titel und Abstract des Beitrags " +"sehen können und werden stets selber entscheiden können, ob Sie der " +"Einladung folgen oder nicht. Sie können zu jedem Zeitpunkt Ihren Namen von " +"der Gutachter/innenliste entfernen lassen.

    Wir senden Ihnen einen " +"Benutzer/innennamen und ein Passwort, die Sie in allen Schritten der " +"Zusammenarbeit mit der Zeitschrift über deren Website benötigen. Vielleicht " +"möchten Sie z.B. Ihr Profil inkl. Ihrer Begutachtungsinteressen " +"aktualisieren.

    Benutzer/innenname: {$recipientUsername}
    Passwort: " +"{$password}

    Vielen Dank

    {$signature}" + +msgid "emails.userValidateContext.body" +msgstr "" +"{$recipientName}
    \n" +"
    \n" +"Sie haben ein Benutzer/innenkonto bei {$contextName} angelegt, aber bevor " +"Sie es benutzen können, müssen Sie Ihre E-Mail-Adresse bestätigen. Dazu " +"folgen Sie bitte einfach dem folgenden Link:
    \n" +"
    \n" +"{$activateUrl}
    \n" +"
    \n" +"Vielen Dank
    \n" +"{$contextSignature}" + +msgid "emails.userValidateSite.body" +msgstr "" +"{$recipientName}
    \n" +"
    \n" +"Sie haben ein Benutzer/innenkonto bei {$siteTitle} angelegt, aber bevor Sie " +"es benutzen können, müssen Sie Ihre E-Mail-Adresse bestätigen. Dazu folgen " +"Sie bitte einfach dem folgenden Link:
    \n" +"
    \n" +"{$activateUrl}
    \n" +"
    \n" +"Vielen Dank
    \n" +"{$siteSignature}" diff --git a/locale/id/admin.po b/locale/id/admin.po index 70a805b07ed..91fc3bcf87a 100644 --- a/locale/id/admin.po +++ b/locale/id/admin.po @@ -1,10 +1,10 @@ -# Ramli Baharuddin , 2022, 2023. +# Ramli Baharuddin , 2022, 2023, 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T10:49:25+00:00\n" -"PO-Revision-Date: 2023-04-07 08:35+0000\n" +"PO-Revision-Date: 2024-08-22 05:19+0000\n" "Last-Translator: Ramli Baharuddin \n" "Language-Team: Indonesian \n" @@ -13,7 +13,7 @@ msgstr "" "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" +"X-Generator: Weblate 4.18.2\n" msgid "admin.hostedContexts" msgstr "Jurnal yang Dikelola" @@ -258,4 +258,4 @@ msgstr "" #~ "\t" msgid "admin.settings.statistics.sushiPlatform.isSiteSushiPlatform" -msgstr "" +msgstr "Jadikan website sebagai flatform semua jurnal." diff --git a/locale/id/author.po b/locale/id/author.po index 2bb3b70ef58..2ba20e8cb38 100644 --- a/locale/id/author.po +++ b/locale/id/author.po @@ -1,19 +1,19 @@ -# Ramli Baharuddin , 2022. +# Ramli Baharuddin , 2022, 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T10:49:25+00:00\n" -"PO-Revision-Date: 2022-08-07 15:25+0000\n" +"PO-Revision-Date: 2024-08-22 05:19+0000\n" "Last-Translator: Ramli Baharuddin \n" "Language-Team: Indonesian \n" -"Language: id_ID\n" +"id/>\n" +"Language: 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 4.13.1\n" +"X-Generator: Weblate 4.18.2\n" msgid "author.submit" msgstr "Kirim Naskah Baru" @@ -249,9 +249,10 @@ msgstr "Teks Sumber" msgid "author.submit.suppFile.briefDescription" msgstr "Deskripsi Singkat" -#, fuzzy msgid "author.submit.suppFile.availableToPeers" -msgstr "Berikan file kepada reviewer (tanpa metadata), dengan demikian tidak akan merusak prinsip review anonim." +msgstr "" +"Berikan file kepada reviewer (tanpa metadata), karena yang demikian tidak " +"akan merusak prinsip review anonim." msgid "author.submit.suppFile.publisherDescription" msgstr "Gunakan hanya dengan materi yang diterbitkan secara resmi." diff --git a/locale/it/submission.po b/locale/it/submission.po index 053d1119e36..955770475f5 100644 --- a/locale/it/submission.po +++ b/locale/it/submission.po @@ -1,13 +1,14 @@ # Lucia Steele , 2022. # Stefan Schneider , 2023. # Leonardo Mancini , 2024. +# Martina Marafioti , 2024. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2019-11-19T10:49:27+00:00\n" -"PO-Revision-Date: 2024-03-10 02:03+0000\n" -"Last-Translator: Leonardo Mancini \n" +"PO-Revision-Date: 2024-08-23 13:09+0000\n" +"Last-Translator: Martina Marafioti \n" "Language-Team: Italian \n" "Language: it\n" @@ -18,7 +19,7 @@ msgstr "" "X-Generator: Weblate 4.18.2\n" msgid "submission.submit.userGroup" -msgstr "Invia usando il mio ruolo come ..." +msgstr "Invia usando il mio ruolo come..." msgid "submission.upload.selectComponent" msgstr "Selezionare il tipo di proposta" @@ -28,12 +29,12 @@ msgstr "Titolo dell'articolo" msgid "submission.title.tip" msgstr "" -"Il tipo di proposta è di solito 'immagine', 'testo', o un altro tipo " +"Il tipo di proposta è di solito 'immagine', 'testo', o un altro tipo " "multimediale come 'software' o 'interativo'. Per favore scegli il più " -"rilevante per la tua propostoa. Esempio possono essere trovati qui: http://dublincore.org/documents/2001/04/12/" -"usageguide/generic.shtml#type" +"rilevante per la tua proposta. Esempi possono essere trovati qui: http://dublincore.org/documents/2001/04/12/usageguide/" +"generic.shtml#type" msgid "submission.submit.newSubmissionMultiple" msgstr "Inizia una nuova proposta in" @@ -91,7 +92,7 @@ msgid "grid.action.availableArticleGalley" msgstr "Rendi questa gabbia disponibile" msgid "submission.galleyFiles" -msgstr "Files di pubblicazione" +msgstr "File di pubblicazione" msgid "submission.proofReadingDescription" msgstr "" @@ -156,10 +157,10 @@ msgid "submission.sectionOptions" msgstr "Opzioni di sezione" msgid "catalog.browseTitles" -msgstr "{$numTitles} items" +msgstr "{$numTitles} elementi" msgid "catalog.category.heading" -msgstr "Tutti gli items" +msgstr "Tutti gli elementi" msgid "galley.editPublishedDisabled" msgstr "" @@ -170,11 +171,11 @@ msgid "galley.publicationNotFound" msgstr "Non è possibile trovare l'articolo per questi file di stampa." msgid "publication.assignToissue" -msgstr "Assegna ad un'uscita" +msgstr "Assegna a un'uscita" msgid "publication.assignedToIssue" msgstr "" -"Assegnato all'uscita{$issueName} ma non ancora " +"Assegnato all'uscita {$issueName} ma non ancora " "pianificato per la pubblicazione." msgid "publication.changeIssue" @@ -184,7 +185,7 @@ msgid "publication.datePublished.description" msgstr "" "La data di pubblicazione verrà assegnata in automatico quando l'uscita sarà " "pubblicata. Non inserire una data di pubblicazione a meno che l'articolo non " -"sia già stato pubblicato ed hai necessità di retrodatarlo." +"sia già stato pubblicato e hai necessità di retrodatarlo." msgid "publication.invalidSection" msgstr "Non è possibile trovare la sezione per questo articolo." @@ -220,16 +221,16 @@ msgstr "" msgid "publication.required.issue" msgstr "" -"Questo articolo deve essere assegnato ad un'uscita prima di poter essere " +"Questo articolo deve essere assegnato a un'uscita prima di poter essere " "pubblicato." msgid "publication.publishedIn" -msgstr "Pubblicato in {$issueName}2." +msgstr "Pubblicato in {$issueName}." msgid "publication.scheduledIn" msgstr "" -"Pianificato per la pubblicazione nell'uscita {$issueName}2." +"Pianificato per la pubblicazione nell'uscita {$issueName}." msgid "publication.unscheduledIn" msgstr "" @@ -249,7 +250,7 @@ msgid "submission.status.scheduled" msgstr "Pianificato" msgid "publication.status.unscheduled" -msgstr "Rimosso dalla pianficazione" +msgstr "Non pianificato" msgid "submission.publications" msgstr "Pubblicazioni" @@ -257,7 +258,7 @@ msgstr "Pubblicazioni" msgid "publication.copyrightYearBasis.issueDescription" msgstr "" "L'anno di copyright sarà configurato automaticamente quando questo articolo " -"sarà assegnato ad un'uscita." +"sarà assegnato a un'uscita." msgid "publication.copyrightYearBasis.submissionDescription" msgstr "" @@ -274,7 +275,7 @@ msgid "publication.event.published" msgstr "Questo articolo è stato pubblicato." msgid "publication.event.scheduled" -msgstr "Questo articolo è stato assegnato ad una uscita." +msgstr "Questo articolo è stato assegnato a una uscita." msgid "publication.event.unpublished" msgstr "Questo articolo è stato rimosso da un'uscita." @@ -298,11 +299,11 @@ msgid "publication.publish.requirements" msgstr "Prima della pubblicazione confermare i seguenti requisiti." msgid "publication.required.declined" -msgstr "Un'articolo rigettato non puo' essere pubblicato." +msgstr "Un articolo rigettato non può essere pubblicato." msgid "publication.required.reviewStage" msgstr "" -"Per essere pubblicato un'articolo deve essere nella fase di copy-editing o " +"Per essere pubblicato un articolo deve essere nella fase di copy-editing o " "produzione." msgid "submission.license.description" @@ -423,7 +424,7 @@ msgstr "" "in questa sezione." msgid "submission.submit.form.authorRequired" -msgstr "E' necessario indicare almeno un autore." +msgstr "È necessario indicare almeno un autore." msgid "submission.submit.form.titleRequired" msgstr "Inserisci il titolo del contributo." diff --git a/locale/sid/admin.po b/locale/sid/admin.po new file mode 100644 index 00000000000..22b5c4b6f85 --- /dev/null +++ b/locale/sid/admin.po @@ -0,0 +1,27 @@ +# Frew Legese , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-08-14 16:53+0000\n" +"Last-Translator: Frew Legese \n" +"Language-Team: Sidamo \n" +"Language: sid\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 "admin.hostedContexts" +msgstr "Qixaabbino Borrubba" + +msgid "admin.settings.redirect" +msgstr "borreessamme sayisi" + +msgid "admin.locale.maybeIncomplete" +msgstr "Doorroonni afii goofinokkiha ikkara dandaanno." + +msgid "admin.systemVersion" +msgstr "OJS kaimaate iillo" + +msgid "admin.systemConfiguration" +msgstr "OJS Biddi assa" diff --git a/locale/sid/submission.po b/locale/sid/submission.po new file mode 100644 index 00000000000..df97c4bea97 --- /dev/null +++ b/locale/sid/submission.po @@ -0,0 +1,40 @@ +# Frew Legese , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-08-14 16:53+0000\n" +"Last-Translator: Frew Legese \n" +"Language-Team: Sidamo \n" +"Language: sid\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 "grid.action.workflow" +msgstr "Sokkate Harinsho" + +msgid "submission.submit.noContext" +msgstr "Kunni sokka borreessamme afa didandiinnoonni." + +msgid "submission.issueEntry" +msgstr "mashalaqqe" + +msgid "submission.submit.userGroup" +msgstr "Sokka base'ya garinni..." + +msgid "submission.upload.selectComponent" +msgstr "Borreessammete biso soyi" + +msgid "submission.title" +msgstr "Borreessammete umo" + +msgid "submission.submit.newSubmissionMultiple" +msgstr "Harro Sokka Hanafi" + +msgid "submission.submit.newSubmissionSingle" +msgstr "Haaro Sokka" + +msgid "submission.abstract.wordCount.description" +msgstr "Qara gafa {$wordCount} geeshsha woy woro ikka noose." diff --git a/plugins/importexport/native/locale/id/locale.po b/plugins/importexport/native/locale/id/locale.po index bdebaeb06df..02a58740b22 100644 --- a/plugins/importexport/native/locale/id/locale.po +++ b/plugins/importexport/native/locale/id/locale.po @@ -1,16 +1,16 @@ -# Ramli Baharuddin , 2021, 2022. +# Ramli Baharuddin , 2021, 2022, 2024. msgid "" msgstr "" -"PO-Revision-Date: 2022-07-15 11:33+0000\n" +"PO-Revision-Date: 2024-08-22 05:19+0000\n" "Last-Translator: Ramli Baharuddin \n" "Language-Team: Indonesian \n" -"Language: id_ID\n" +"importexport-native/id/>\n" +"Language: 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 4.4.2\n" +"X-Generator: Weblate 4.18.2\n" msgid "plugins.importexport.native.displayName" msgstr "Plugin XML Natif" @@ -115,3 +115,9 @@ msgid "plugins.importexport.native.import.error.publishedDateMissing" msgstr "" "Artikel \"{$articleTitle}\" terdapat dalam issue, tapi tidak memiliki " "tanggal terbit." + +msgid "plugins.importexport.common.error.invalidFileExtension" +msgstr "Gambar sampul dengan ekstensi tidak valid diidentifikasi." + +msgid "plugins.importexport.common.error.coverImageNameUnspecified" +msgstr "Gambal sampul disematkan tanpa diberi nama." diff --git a/plugins/themes/default/locale/sid/locale.po b/plugins/themes/default/locale/sid/locale.po new file mode 100644 index 00000000000..887d6547405 --- /dev/null +++ b/plugins/themes/default/locale/sid/locale.po @@ -0,0 +1,32 @@ +# Frew Legese , 2024. +msgid "" +msgstr "" +"PO-Revision-Date: 2024-08-14 16:53+0000\n" +"Last-Translator: Frew Legese \n" +"Language-Team: Sidamo \n" +"Language: sid\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.themes.default.option.typography.label" +msgstr "Fidallate seera" + +msgid "plugins.themes.default.option.colour.label" +msgstr "Dana" + +msgid "plugins.themes.default.name" +msgstr "Qaraa Seesa" + +msgid "plugins.themes.default.description" +msgstr "Tini Seeso qara seesa loosiissanno." + +msgid "plugins.themes.default.option.typography.description" +msgstr "Kunni borreessammera seeyitaata Fontete gambooshshe doori." + +msgid "plugins.themes.default.option.typography.notoSans" +msgstr "" +"Noto Sans: Dijitaale rumuxxitino fonte afuu kaa'lora Google qineessitinoti." From bcdfb4379f4b0688e9d793bb9fe32632dadc03e3 Mon Sep 17 00:00:00 2001 From: Alec Smecher Date: Fri, 23 Aug 2024 10:48:19 -0700 Subject: [PATCH 26/26] Submodule updates --- lib/pkp | 2 +- lib/ui-library | 2 +- plugins/generic/crossref | 2 +- plugins/generic/webFeed | 2 +- plugins/reports/reviewReport | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/pkp b/lib/pkp index 9f03824f2a7..8af045a37ab 160000 --- a/lib/pkp +++ b/lib/pkp @@ -1 +1 @@ -Subproject commit 9f03824f2a73eaf38fd480396573411b2f45b9f8 +Subproject commit 8af045a37ab605865a4ee511c4b732ac395df018 diff --git a/lib/ui-library b/lib/ui-library index f36ba46546f..857c676aa1e 160000 --- a/lib/ui-library +++ b/lib/ui-library @@ -1 +1 @@ -Subproject commit f36ba46546fa784433be8d5e133145fa180d74bf +Subproject commit 857c676aa1e3cd64aeba783c02c2edf0739d55f2 diff --git a/plugins/generic/crossref b/plugins/generic/crossref index c1dab4134dd..7fa9bbd8552 160000 --- a/plugins/generic/crossref +++ b/plugins/generic/crossref @@ -1 +1 @@ -Subproject commit c1dab4134dd37ffeb25db021fb4af21d34de701e +Subproject commit 7fa9bbd855254836299478c92b5b98394369cb12 diff --git a/plugins/generic/webFeed b/plugins/generic/webFeed index e8cc892456f..3dfb2fcb214 160000 --- a/plugins/generic/webFeed +++ b/plugins/generic/webFeed @@ -1 +1 @@ -Subproject commit e8cc892456f6495385586273c3f3b8196f481e23 +Subproject commit 3dfb2fcb2149e651055b2936c24be93e29cbd95b diff --git a/plugins/reports/reviewReport b/plugins/reports/reviewReport index 521d6a00327..19a412086aa 160000 --- a/plugins/reports/reviewReport +++ b/plugins/reports/reviewReport @@ -1 +1 @@ -Subproject commit 521d6a00327eafbe2b7b030365665545ca197c7a +Subproject commit 19a412086aaf3a5a34aaba58032c5a78376415e8