Changeset 3727722
- Timestamp:
- 10/04/2026 06:50:23 PM (3 weeks ago)
- Location:
- ats-moknah-article-to-speech
- Files:
-
- 476 added
- 9 edited
-
tags/1.4.1 (added)
-
tags/1.4.1/LICENSE (added)
-
tags/1.4.1/README.md (added)
-
tags/1.4.1/assets (added)
-
tags/1.4.1/assets/css (added)
-
tags/1.4.1/assets/css/admin-analytics.css (added)
-
tags/1.4.1/assets/css/admin.css (added)
-
tags/1.4.1/assets/css/listener-feedback.css (added)
-
tags/1.4.1/assets/css/mk-mp-d1.css (added)
-
tags/1.4.1/assets/images (added)
-
tags/1.4.1/assets/images/back-3.webp (added)
-
tags/1.4.1/assets/images/favicon.ico (added)
-
tags/1.4.1/assets/js (added)
-
tags/1.4.1/assets/js/admin-analytics.js (added)
-
tags/1.4.1/assets/js/admin.js (added)
-
tags/1.4.1/assets/js/listener-feedback.js (added)
-
tags/1.4.1/assets/js/mk-mp-d1.js (added)
-
tags/1.4.1/assets/js/moknah-highlighter.js (added)
-
tags/1.4.1/assets/js/player-analytics.js (added)
-
tags/1.4.1/assets/js/settings.js (added)
-
tags/1.4.1/assets/vendor (added)
-
tags/1.4.1/assets/vendor/flatpickr (added)
-
tags/1.4.1/assets/vendor/flatpickr/flatpickr.min.css (added)
-
tags/1.4.1/assets/vendor/flatpickr/flatpickr.min.js (added)
-
tags/1.4.1/assets/vendor/flatpickr/themes (added)
-
tags/1.4.1/assets/vendor/flatpickr/themes/light.css (added)
-
tags/1.4.1/assets/vendor/fontawesome (added)
-
tags/1.4.1/assets/vendor/fontawesome/LICENSE.txt (added)
-
tags/1.4.1/assets/vendor/fontawesome/style.css (added)
-
tags/1.4.1/assets/vendor/fontawesome/webfonts (added)
-
tags/1.4.1/assets/vendor/fontawesome/webfonts/fa-solid-900.woff (added)
-
tags/1.4.1/assets/vendor/fontawesome/webfonts/fa-solid-900.woff2 (added)
-
tags/1.4.1/ats-moknah.php (added)
-
tags/1.4.1/composer.json (added)
-
tags/1.4.1/composer.lock (added)
-
tags/1.4.1/includes (added)
-
tags/1.4.1/includes/analytics (added)
-
tags/1.4.1/includes/analytics/class-ats-moknah-analytics-admin.php (added)
-
tags/1.4.1/includes/analytics/class-ats-moknah-analytics-db.php (added)
-
tags/1.4.1/includes/analytics/class-ats-moknah-analytics-rest.php (added)
-
tags/1.4.1/includes/analytics/class-ats-moknah-analytics.php (added)
-
tags/1.4.1/includes/class-ats-moknah-admin.php (added)
-
tags/1.4.1/includes/class-ats-moknah-callback.php (added)
-
tags/1.4.1/includes/class-ats-moknah-client.php (added)
-
tags/1.4.1/includes/class-ats-moknah-feedback.php (added)
-
tags/1.4.1/includes/class-ats-moknah-frontend.php (added)
-
tags/1.4.1/includes/class-ats-moknah-notices.php (added)
-
tags/1.4.1/includes/class-ats-moknah-player-design-admin.php (added)
-
tags/1.4.1/includes/class-ats-moknah-rating.php (added)
-
tags/1.4.1/languages (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ar-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ar.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ar.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-de_DE-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-de_DE.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-de_DE.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-es_ES-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-es_ES.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-es_ES.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-fa_IR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-fa_IR.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-fa_IR.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-fr_FR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-fr_FR.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-fr_FR.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-hi_IN-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-hi_IN.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-hi_IN.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-id_ID-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-id_ID.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-id_ID.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-it_IT-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-it_IT.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-it_IT.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ja-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ja.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ja.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ko_KR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ko_KR.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ko_KR.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-pt_BR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-pt_BR.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-pt_BR.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ru_RU-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ru_RU.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ru_RU.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-tr_TR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-tr_TR.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-tr_TR.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ur-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ur.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-ur.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-zh_CN-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-zh_CN.mo (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech-zh_CN.po (added)
-
tags/1.4.1/languages/ats-moknah-article-to-speech.pot (added)
-
tags/1.4.1/readme.txt (added)
-
tags/1.4.1/templates (added)
-
tags/1.4.1/templates/mk-mp-player-template.html (added)
-
tags/1.4.1/vendor (added)
-
tags/1.4.1/vendor/autoload.php (added)
-
tags/1.4.1/vendor/bin (added)
-
tags/1.4.1/vendor/composer (added)
-
tags/1.4.1/vendor/composer/ClassLoader.php (added)
-
tags/1.4.1/vendor/composer/InstalledVersions.php (added)
-
tags/1.4.1/vendor/composer/LICENSE (added)
-
tags/1.4.1/vendor/composer/autoload_classmap.php (added)
-
tags/1.4.1/vendor/composer/autoload_files.php (added)
-
tags/1.4.1/vendor/composer/autoload_namespaces.php (added)
-
tags/1.4.1/vendor/composer/autoload_psr4.php (added)
-
tags/1.4.1/vendor/composer/autoload_real.php (added)
-
tags/1.4.1/vendor/composer/autoload_static.php (added)
-
tags/1.4.1/vendor/composer/installed.json (added)
-
tags/1.4.1/vendor/composer/installed.php (added)
-
tags/1.4.1/vendor/composer/platform_check.php (added)
-
tags/1.4.1/vendor/guzzlehttp (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/CHANGELOG.md (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/LICENSE (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/README.md (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/UPGRADING.md (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/composer.json (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/package-lock.json (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/BodySummarizer.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Client.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/ClientInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/ClientTrait.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Cookie (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/HandlerStack.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/MessageFormatter.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Middleware.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Pool.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/RequestOptions.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/TransferStats.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/Utils.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/functions.php (added)
-
tags/1.4.1/vendor/guzzlehttp/guzzle/src/functions_include.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/CHANGELOG.md (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/LICENSE (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/README.md (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/composer.json (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/AggregateException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/CancellationException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/Coroutine.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/Create.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/Each.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/EachPromise.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/FulfilledPromise.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/Is.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/Promise.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/PromiseInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/PromisorInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/RejectedPromise.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/RejectionException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/TaskQueue.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/TaskQueueInterface.php (added)
-
tags/1.4.1/vendor/guzzlehttp/promises/src/Utils.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7 (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/CHANGELOG.md (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/LICENSE (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/README.md (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/composer.json (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/AppendStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/BufferStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/CachingStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/DroppingStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Exception (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Exception/MalformedUriException.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/FnStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Header.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/HttpFactory.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/InflateStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/LazyOpenStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/LimitStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Message.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/MessageTrait.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/MimeType.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/MultipartStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/NoSeekStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/PumpStream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Query.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Request.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Response.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Rfc7230.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/ServerRequest.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Stream.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/StreamWrapper.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/UploadedFile.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Uri.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/UriComparator.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/UriNormalizer.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/UriResolver.php (added)
-
tags/1.4.1/vendor/guzzlehttp/psr7/src/Utils.php (added)
-
tags/1.4.1/vendor/masterminds (added)
-
tags/1.4.1/vendor/masterminds/html5 (added)
-
tags/1.4.1/vendor/masterminds/html5/CREDITS (added)
-
tags/1.4.1/vendor/masterminds/html5/LICENSE.txt (added)
-
tags/1.4.1/vendor/masterminds/html5/README.md (added)
-
tags/1.4.1/vendor/masterminds/html5/RELEASE.md (added)
-
tags/1.4.1/vendor/masterminds/html5/UPGRADING.md (added)
-
tags/1.4.1/vendor/masterminds/html5/bin (added)
-
tags/1.4.1/vendor/masterminds/html5/bin/entities.php (added)
-
tags/1.4.1/vendor/masterminds/html5/composer.json (added)
-
tags/1.4.1/vendor/masterminds/html5/src (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5 (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Elements.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Entities.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Exception.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/InstructionProcessor.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/CharacterReference.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/DOMTreeBuilder.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/EventHandler.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/FileInputStream.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/InputStream.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/ParseError.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/README.md (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/Scanner.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/StringInputStream.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/Tokenizer.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/TreeBuildingRules.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Parser/UTF8Utils.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Serializer (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Serializer/HTML5Entities.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Serializer/OutputRules.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Serializer/README.md (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Serializer/RulesInterface.php (added)
-
tags/1.4.1/vendor/masterminds/html5/src/HTML5/Serializer/Traverser.php (added)
-
tags/1.4.1/vendor/psr (added)
-
tags/1.4.1/vendor/psr/http-client (added)
-
tags/1.4.1/vendor/psr/http-client/CHANGELOG.md (added)
-
tags/1.4.1/vendor/psr/http-client/LICENSE (added)
-
tags/1.4.1/vendor/psr/http-client/README.md (added)
-
tags/1.4.1/vendor/psr/http-client/composer.json (added)
-
tags/1.4.1/vendor/psr/http-client/src (added)
-
tags/1.4.1/vendor/psr/http-client/src/ClientExceptionInterface.php (added)
-
tags/1.4.1/vendor/psr/http-client/src/ClientInterface.php (added)
-
tags/1.4.1/vendor/psr/http-client/src/NetworkExceptionInterface.php (added)
-
tags/1.4.1/vendor/psr/http-client/src/RequestExceptionInterface.php (added)
-
tags/1.4.1/vendor/psr/http-factory (added)
-
tags/1.4.1/vendor/psr/http-factory/LICENSE (added)
-
tags/1.4.1/vendor/psr/http-factory/README.md (added)
-
tags/1.4.1/vendor/psr/http-factory/composer.json (added)
-
tags/1.4.1/vendor/psr/http-factory/src (added)
-
tags/1.4.1/vendor/psr/http-factory/src/RequestFactoryInterface.php (added)
-
tags/1.4.1/vendor/psr/http-factory/src/ResponseFactoryInterface.php (added)
-
tags/1.4.1/vendor/psr/http-factory/src/ServerRequestFactoryInterface.php (added)
-
tags/1.4.1/vendor/psr/http-factory/src/StreamFactoryInterface.php (added)
-
tags/1.4.1/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php (added)
-
tags/1.4.1/vendor/psr/http-factory/src/UriFactoryInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message (added)
-
tags/1.4.1/vendor/psr/http-message/CHANGELOG.md (added)
-
tags/1.4.1/vendor/psr/http-message/LICENSE (added)
-
tags/1.4.1/vendor/psr/http-message/README.md (added)
-
tags/1.4.1/vendor/psr/http-message/composer.json (added)
-
tags/1.4.1/vendor/psr/http-message/docs (added)
-
tags/1.4.1/vendor/psr/http-message/docs/PSR7-Interfaces.md (added)
-
tags/1.4.1/vendor/psr/http-message/docs/PSR7-Usage.md (added)
-
tags/1.4.1/vendor/psr/http-message/src (added)
-
tags/1.4.1/vendor/psr/http-message/src/MessageInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message/src/RequestInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message/src/ResponseInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message/src/ServerRequestInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message/src/StreamInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message/src/UploadedFileInterface.php (added)
-
tags/1.4.1/vendor/psr/http-message/src/UriInterface.php (added)
-
tags/1.4.1/vendor/ralouphie (added)
-
tags/1.4.1/vendor/ralouphie/getallheaders (added)
-
tags/1.4.1/vendor/ralouphie/getallheaders/LICENSE (added)
-
tags/1.4.1/vendor/ralouphie/getallheaders/README.md (added)
-
tags/1.4.1/vendor/ralouphie/getallheaders/composer.json (added)
-
tags/1.4.1/vendor/ralouphie/getallheaders/src (added)
-
tags/1.4.1/vendor/ralouphie/getallheaders/src/getallheaders.php (added)
-
tags/1.4.1/vendor/symfony (added)
-
tags/1.4.1/vendor/symfony/css-selector (added)
-
tags/1.4.1/vendor/symfony/css-selector/CHANGELOG.md (added)
-
tags/1.4.1/vendor/symfony/css-selector/CssSelectorConverter.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Exception (added)
-
tags/1.4.1/vendor/symfony/css-selector/Exception/ExceptionInterface.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Exception/ExpressionErrorException.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Exception/InternalErrorException.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Exception/ParseException.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Exception/SyntaxErrorException.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/LICENSE (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/AbstractNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/AttributeNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/ClassNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/CombinedSelectorNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/ElementNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/FunctionNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/HashNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/MatchingNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/NegationNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/NodeInterface.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/PseudoNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/SelectorNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/Specificity.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Node/SpecificityAdjustmentNode.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/CommentHandler.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/HandlerInterface.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/HashHandler.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/IdentifierHandler.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/NumberHandler.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/StringHandler.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Handler/WhitespaceHandler.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Parser.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/ParserInterface.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Reader.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Shortcut (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Shortcut/ClassParser.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Shortcut/ElementParser.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Shortcut/EmptyStringParser.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Shortcut/HashParser.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Token.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/TokenStream.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Tokenizer (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Tokenizer/Tokenizer.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerEscaping.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/Parser/Tokenizer/TokenizerPatterns.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/README.md (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/AbstractExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/AttributeMatchingExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/CombinationExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/ExtensionInterface.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/FunctionExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/HtmlExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/NodeExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Extension/PseudoClassExtension.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/Translator.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/TranslatorInterface.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/XPath/XPathExpr.php (added)
-
tags/1.4.1/vendor/symfony/css-selector/composer.json (added)
-
tags/1.4.1/vendor/symfony/deprecation-contracts (added)
-
tags/1.4.1/vendor/symfony/deprecation-contracts/CHANGELOG.md (added)
-
tags/1.4.1/vendor/symfony/deprecation-contracts/LICENSE (added)
-
tags/1.4.1/vendor/symfony/deprecation-contracts/README.md (added)
-
tags/1.4.1/vendor/symfony/deprecation-contracts/composer.json (added)
-
tags/1.4.1/vendor/symfony/deprecation-contracts/function.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/AbstractUriElement.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/CHANGELOG.md (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Crawler.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Field (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Field/ChoiceFormField.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Field/FileFormField.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Field/FormField.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Field/InputFormField.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Field/TextareaFormField.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Form.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/FormFieldRegistry.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Image.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/LICENSE (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Link.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/README.md (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerAnySelectorTextContains.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerAnySelectorTextSame.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerSelectorAttributeValueSame.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerSelectorCount.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerSelectorExists.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerSelectorTextContains.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/Test/Constraint/CrawlerSelectorTextSame.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/UriResolver.php (added)
-
tags/1.4.1/vendor/symfony/dom-crawler/composer.json (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype/Ctype.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype/LICENSE (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype/README.md (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype/bootstrap.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype/bootstrap80.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-ctype/composer.json (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/LICENSE (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Mbstring.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/README.md (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Resources (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Resources/unidata (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Resources/unidata/titleCaseRegexp.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/bootstrap.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/bootstrap80.php (added)
-
tags/1.4.1/vendor/symfony/polyfill-mbstring/composer.json (added)
-
tags/1.4.1/views (added)
-
tags/1.4.1/views/views-ats-moknah-admin-analytics.php (added)
-
tags/1.4.1/views/views-ats-moknah-admin-heatmap.php (added)
-
trunk/README.md (modified) (4 diffs)
-
trunk/assets/css/admin.css (modified) (1 diff)
-
trunk/assets/css/listener-feedback.css (added)
-
trunk/assets/js/listener-feedback.js (added)
-
trunk/ats-moknah.php (modified) (5 diffs)
-
trunk/includes/class-ats-moknah-admin.php (modified) (4 diffs)
-
trunk/includes/class-ats-moknah-feedback.php (added)
-
trunk/includes/class-ats-moknah-notices.php (added)
-
trunk/includes/class-ats-moknah-rating.php (added)
-
trunk/languages/ats-moknah-article-to-speech-ar-f98be19bec7bc848ce3ed383c60037c1.json (modified) (1 diff)
-
trunk/languages/ats-moknah-article-to-speech-ar.mo (modified) ( previous)
-
trunk/languages/ats-moknah-article-to-speech-ar.po (modified) (33 diffs)
-
trunk/languages/ats-moknah-article-to-speech-de_DE-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-de_DE.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-de_DE.po (added)
-
trunk/languages/ats-moknah-article-to-speech-es_ES-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-es_ES.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-es_ES.po (added)
-
trunk/languages/ats-moknah-article-to-speech-fa_IR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-fa_IR.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-fa_IR.po (added)
-
trunk/languages/ats-moknah-article-to-speech-fr_FR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-fr_FR.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-fr_FR.po (added)
-
trunk/languages/ats-moknah-article-to-speech-hi_IN-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-hi_IN.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-hi_IN.po (added)
-
trunk/languages/ats-moknah-article-to-speech-id_ID-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-id_ID.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-id_ID.po (added)
-
trunk/languages/ats-moknah-article-to-speech-it_IT-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-it_IT.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-it_IT.po (added)
-
trunk/languages/ats-moknah-article-to-speech-ja-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-ja.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-ja.po (added)
-
trunk/languages/ats-moknah-article-to-speech-ko_KR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-ko_KR.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-ko_KR.po (added)
-
trunk/languages/ats-moknah-article-to-speech-pt_BR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-pt_BR.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-pt_BR.po (added)
-
trunk/languages/ats-moknah-article-to-speech-ru_RU-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-ru_RU.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-ru_RU.po (added)
-
trunk/languages/ats-moknah-article-to-speech-tr_TR-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-tr_TR.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-tr_TR.po (added)
-
trunk/languages/ats-moknah-article-to-speech-ur-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-ur.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-ur.po (added)
-
trunk/languages/ats-moknah-article-to-speech-zh_CN-f98be19bec7bc848ce3ed383c60037c1.json (added)
-
trunk/languages/ats-moknah-article-to-speech-zh_CN.mo (added)
-
trunk/languages/ats-moknah-article-to-speech-zh_CN.po (added)
-
trunk/languages/ats-moknah-article-to-speech.pot (modified) (16 diffs)
-
trunk/readme.txt (modified) (8 diffs)
Legend:
- Unmodified
- Added
- Removed
-
ats-moknah-article-to-speech/trunk/README.md
r3717670 r3727722 1 # ATS Moknah - Article to Speech WordPress Plugin1 # ATS Moknah – Text to Speech, AI Voice & Audio Player for WordPress 2 2 3 3 Convert your WordPress articles into engaging AI-powered speech with text highlighting and advanced listener analytics. … … 26 26 - 🧩 **Custom CSS** - Add your own CSS, or edit the player's full built-in stylesheet 27 27 - 🚗 **Car Mode** - Large-button, distraction-free listening mode 28 - 💬 **Listener Feedback** - Readers rate the audio in the player; see satisfaction and issues per article 28 29 - 🔐 **Secure API Integration** - Uses the Moknah TTS API for reliable voice generation 29 30 - 🎨 **Frontend Display** - Automatically displays an accessible audio player on enabled posts … … 47 48 ## Getting Your API Key 48 49 49 To use ATS Moknah, you need an API key from Moknah.io: 50 51 📧 **Email**: sales@moknah.io 52 **Subject**: API Key Request for ATS Moknah Plugin 53 54 Include your website URL and intended usage in your request. 50 To use ATS Moknah, you need an API key from Moknah.io. 51 52 > [!IMPORTANT] 53 > **Register with an email on your website's domain.** Company access can only be requested from an account whose email domain matches the company website. For `https://yourcompany.com`, register with `you@yourcompany.com`. Accounts using Gmail, Outlook, Yahoo or any other domain **cannot** submit the request. 54 55 1. **Register** at [https://moknah.io/app/acc/register/](https://moknah.io/app/acc/register/) using your company email. 56 2. **Request Company access** at [https://moknah.io/en/app/acc/my-company/request/](https://moknah.io/en/app/acc/my-company/request/): submit your company name, website, and (optionally) your purpose. 57 3. **Wait for approval.** Company requests are reviewed by Moknah. 58 4. **Get your API key.** Once approved, create and manage your API key from your Moknah account. 59 5. **Connect WordPress.** Paste the key into **Settings → ATS Moknah → Moknah API Key** and save. 60 61 Approved companies can use ATS Moknah services. The WordPress plugin is the primary integration, but not the only supported channel. 55 62 56 63 --- … … 272 279 ## Changelog 273 280 281 ### Version 1.4.1 282 - New: "Get an API key" links and step-by-step help in Settings and the post editor (register on Moknah.io, request company access, paste the key), with a clear warning that your Moknah account email must use your website's domain. 283 - New: notice on ATS Moknah screens when a new version is available, with one-click update (or a note when auto-updates are on). 284 - New: one-time "What's new" notice after updating. 285 - New: in-plugin star rating (ATS Moknah screens + post editor after audio is ready). 4–5 stars → one-click share on WordPress.org (sign-in lands on the review form); 1–3 stars → private feedback to the Moknah team, no account needed. 286 - New: "Rate" and "Get API key" links on the Plugins screen. 287 - New: Listener Feedback — readers answer "How was this audio?" in the player (good / not good + reasons + optional comment); results under ATS Moknah → Listener Feedback with per-article satisfaction, top issues, recent comments and CSV export. 288 - New: Listener Feedback filters — date range or custom dates, article search, sorting, minimum responses, reason / device / with-comment / text search; bulk delete and filtered CSV export. 289 - Improved: scales to very large sites (running totals, pagination, retention setting for old plain "Good" votes). 290 - New: admin translations for Hindi, Spanish, French, Chinese (Simplified), Japanese, Russian, German, Portuguese (Brazil), Turkish, Indonesian, Urdu, Persian, Korean and Italian. 291 - Improved: complete Arabic translation, including the post editor messages. 292 - Improved: clearer plugin name and description. 293 274 294 ### Version 1.4.0 275 295 - Added support for pages and custom post types – choose which post types get ATS in Display Settings. -
ats-moknah-article-to-speech/trunk/assets/css/admin.css
r3717670 r3727722 758 758 .ats-pt-selector-help { display: block; margin-top: 4px; font-size: 11px; color: #646970; line-height: 1.4; } 759 759 .ats-pt-table td { vertical-align: top; } 760 761 /* 1.4.1: settings footer rate link + meta box note */ 762 .ats-settings-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap} 763 764 765 766 .ats-mb-alert-note{display:block;margin-top:4px;font-size:11.5px;color:#6b4b00} 767 768 /* listener feedback summary in ATS Options */ 769 .ats-mb-listeners{display:flex;align-items:center;gap:10px;margin-top:8px;padding:6px 10px;border-radius:6px;background:#f6f7f7;font-size:12px;color:#50575e;text-decoration:none} 770 .ats-mb-listeners:hover{background:#f0f0f1} 771 .ats-mb-listeners b{display:inline-flex;align-items:center;gap:3px} 772 .ats-mb-listeners .dashicons{width:15px;height:15px;font-size:15px} 773 .ats-mb-listeners .is-up{color:#00813d}.ats-mb-listeners .is-down{color:#b32d2e} -
ats-moknah-article-to-speech/trunk/ats-moknah.php
r3717670 r3727722 1 1 <?php 2 2 /* 3 Plugin Name: ATS Moknah 4 Description: Convert WordPress articles to speech using Moknah TTS API.5 Version: 1.4. 03 Plugin Name: ATS Moknah – Text to Speech, AI Voice & Audio Player 4 Description: Turn posts into natural AI voice audio. Text to speech in Arabic, English and more, with an audio player, word highlighting and listener analytics. 5 Version: 1.4.1 6 6 Requires PHP: 8.2 7 7 Requires at least: 5.8 … … 33 33 define('ATS_MOKNAH_PATH', plugin_dir_path(__FILE__)); 34 34 define('ATS_MOKNAH_URL', plugin_dir_url(__FILE__)); 35 define('ATS_MOKNAH_VERSION', '1.4.1'); 35 36 36 37 add_filter('plugin_action_links_' . plugin_basename(__FILE__), function ($links) { … … 61 62 . '<p>' . esc_html__('For abuse prevention and deduplication, ATS Moknah stores a salted visitor hash, a salted IP hash, an anonymized IP value, and a truncated user-agent string. An anonymous first-party cookie (ats_vid) may be set for visitor deduplication.', 'ats-moknah-article-to-speech') . '</p>' 62 63 . '<p>' . esc_html__('Analytics data retention is controlled by your site policy; a common retention window is 30 to 90 days for raw event data.', 'ats-moknah-article-to-speech') . '</p>' 63 . '<p>' . esc_html__('When GeoIP headers are unavailable, ATS Moknah may send the visitor IP to ipapi.co (third-party geolocation service) to resolve a 2-letter country code and cache it locally.', 'ats-moknah-article-to-speech') . '</p>'; 64 . '<p>' . esc_html__('When GeoIP headers are unavailable, ATS Moknah may send the visitor IP to ipapi.co (third-party geolocation service) to resolve a 2-letter country code and cache it locally.', 'ats-moknah-article-to-speech') . '</p>' 65 . '<p>' . esc_html__('If an administrator chooses to send feedback from the plugin, the message, star rating, site URL, plugin/WordPress/PHP versions and (only if allowed) the administrator\'s email are emailed to Moknah.', 'ats-moknah-article-to-speech') . '</p>' 66 . '<p>' . esc_html__('If listener feedback is enabled, visitors can rate the audio in the player. Their vote, chosen reasons, optional comment, the voice and device type are stored in this site\'s database with a salted visitor hash (no IP address). Nothing is sent to Moknah.', 'ats-moknah-article-to-speech') . '</p>'; 64 67 65 68 wp_add_privacy_policy_content( … … 81 84 require_once ATS_MOKNAH_PATH . 'includes/class-ats-moknah-player-design-admin.php'; 82 85 require_once ATS_MOKNAH_PATH . 'includes/class-ats-moknah-callback.php'; 86 require_once ATS_MOKNAH_PATH . 'includes/class-ats-moknah-notices.php'; 87 require_once ATS_MOKNAH_PATH . 'includes/class-ats-moknah-rating.php'; 88 require_once ATS_MOKNAH_PATH . 'includes/class-ats-moknah-feedback.php'; 83 89 84 90 require_once ATS_MOKNAH_PATH . 'includes/class-ats-moknah-frontend.php'; … … 88 94 \AtsMoknahPlugin\Admin::register(); 89 95 \AtsMoknahPlugin\PlayerDesignAdmin::register(); 96 \AtsMoknahPlugin\Notices::register(); 97 \AtsMoknahPlugin\Rating::register(); 98 \AtsMoknahPlugin\Feedback::register(); 99 register_deactivation_hook(__FILE__, ['\\AtsMoknahPlugin\\Feedback', 'deactivate']); 90 100 91 101 // Register REST callback -
ats-moknah-article-to-speech/trunk/includes/class-ats-moknah-admin.php
r3717670 r3727722 2799 2799 <?php esc_html_e('Add your Moknah API key to start generating audio.', 'ats-moknah-article-to-speech'); ?> 2800 2800 <a href="<?php echo esc_url($settingsUrl); ?>"><?php esc_html_e('Open settings', 'ats-moknah-article-to-speech'); ?></a> 2801 · 2802 <a href="<?php echo esc_url(Notices::REGISTER_URL); ?>" target="_blank" rel="noopener"><?php esc_html_e('Get an API key', 'ats-moknah-article-to-speech'); ?></a> 2801 2803 </span> 2804 <span class="ats-mb-alert-note"><?php esc_html_e('Register with an email on your website\'s domain — company access requires a matching email domain.', 'ats-moknah-article-to-speech'); ?></span> 2802 2805 </div> 2803 2806 <?php elseif (!$hasVoices) : ?> … … 2919 2922 </div> 2920 2923 <audio controls preload="metadata" src="<?php echo esc_url($audioUrl); ?>"></audio> 2924 <?php $fb = Feedback::postSummary((int)$post->ID); if ($fb['up'] + $fb['down'] > 0): ?> 2925 <a class="ats-mb-listeners" href="<?php echo esc_url(admin_url('admin.php?page=' . Feedback::PAGE_SLUG . '&range=all')); ?>"> 2926 <span><?php esc_html_e('Listeners', 'ats-moknah-article-to-speech'); ?></span> 2927 <b class="is-up"><span class="dashicons dashicons-thumbs-up" aria-hidden="true"></span><?php echo esc_html(number_format_i18n($fb['up'])); ?></b> 2928 <b class="is-down"><span class="dashicons dashicons-thumbs-down" aria-hidden="true"></span><?php echo esc_html(number_format_i18n($fb['down'])); ?></b> 2929 </a> 2930 <?php endif; ?> 2921 2931 </div> 2932 <?php if (!$is_locked && $status !== 'failed' && Rating::shouldShowInEditor()) { 2933 Rating::renderCard('editor'); 2934 } ?> 2922 2935 <?php endif; ?> 2923 2936 … … 3048 3061 ?> 3049 3062 </p> 3063 <?php else: ?> 3064 <style><?php echo Notices::apiKeyHelpCss(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- static CSS ?></style> 3065 <?php echo Notices::apiKeyHelpHtml(false); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- escaped inside ?> 3050 3066 <?php endif; ?> 3051 3067 </div> … … 3228 3244 </div> 3229 3245 </div> 3246 3247 <div class="ats-settings-row"> 3248 <label class="ats-settings-label" for="ats-listener-feedback"> 3249 <span class="ats-settings-label-text"><?php esc_html_e('Listener Feedback', 'ats-moknah-article-to-speech'); ?></span> 3250 <span class="ats-settings-label-desc"><?php esc_html_e('Ask listeners "How was this audio?" in the player after they listen to half of an article. Results appear under ATS Moknah → Listener Feedback.', 'ats-moknah-article-to-speech'); ?></span> 3251 </label> 3252 <div class="ats-settings-field"> 3253 <input type="hidden" name="<?php echo esc_attr(Feedback::OPTION_ENABLED); ?>" value="0"> 3254 <label class="ats-toggle"> 3255 <input type="checkbox" id="ats-listener-feedback" name="<?php echo esc_attr(Feedback::OPTION_ENABLED); ?>" value="1" <?php checked(Feedback::isEnabled()); ?>> 3256 <span class="ats-toggle-slider"></span> 3257 <span class="ats-toggle-label"><?php esc_html_e('Show the feedback question in the player', 'ats-moknah-article-to-speech'); ?></span> 3258 </label> 3259 <p class="description" style="margin-top:10px"> 3260 <label for="ats-feedback-retention"><?php esc_html_e('Keep plain "Good" votes for', 'ats-moknah-article-to-speech'); ?></label> 3261 <select id="ats-feedback-retention" name="<?php echo esc_attr(Feedback::OPTION_RETENTION); ?>"> 3262 <?php $ats_ret = (string)get_option(Feedback::OPTION_RETENTION, '90'); foreach (Feedback::retentionChoices() as $ats_k => $ats_l): ?> 3263 <option value="<?php echo esc_attr((string)$ats_k); ?>" <?php selected($ats_ret, (string)$ats_k); ?>><?php echo esc_html($ats_l); ?></option> 3264 <?php endforeach; ?> 3265 </select> 3266 <br><?php esc_html_e('Totals and charts are kept forever. "Not good" votes, reasons and comments are never removed automatically.', 'ats-moknah-article-to-speech'); ?> 3267 </p> 3268 <p class="description"><a href="<?php echo esc_url(admin_url('admin.php?page=' . Feedback::PAGE_SLUG)); ?>"><?php esc_html_e('View listener feedback', 'ats-moknah-article-to-speech'); ?> →</a></p> 3269 </div> 3270 </div> 3230 3271 </div> 3231 3272 -
ats-moknah-article-to-speech/trunk/languages/ats-moknah-article-to-speech-ar-f98be19bec7bc848ce3ed383c60037c1.json
r3717670 r3727722 1 {"translation-revision-date": "2026- 09-28 17:02+0000", "generator": "ATS Moknah i18n", "domain": "messages", "locale_data": {"messages": {"": {"domain": "messages", "lang": "ar", "plural-forms": "nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"}, "Not enough credits": ["الرصيد غير كافٍ"], "Your Moknah balance is too low for this article. Top up, then try again.": ["رصيدك في مُكنة غير كافٍ لهذا المقال. اشحن رصيدك ثم حاول مرة أخرى."], "API key rejected": ["تم رفض مفتاح API"], "Moknah did not accept your API key. Check it in settings.": ["لم تقبل مُكنة مفتاح API الخاص بك. تحقق منه في الإعدادات."], "Generation timed out": ["انتهت مهلة الإنشاء"], "Moknah did not finish within 5 minutes. This is usually temporary — try again.": ["لم تُنهِ مُكنة المعالجة خلال 5 دقائق. غالبًا ما يكون هذا مؤقتًا — حاول مرة أخرى."], "Could not reach Moknah": ["تعذّر الاتصال بمُكنة"], "Audio generation failed": ["فشل إنشاء الصوت"], "Try again. If it keeps failing, send the details below to sales@moknah.io.": ["حاول مرة أخرى. إذا استمر الفشل، أرسل التفاصيل أدناه إلى sales@moknah.io."], "Try Again": ["حاول مرة أخرى"], "Failed": ["فشل"], "Technical details": ["التفاصيل التقنية"], "Session expired": ["انتهت الجلسة"], "Refresh the page and try again.": ["حدّث الصفحة ثم حاول مرة أخرى."], "Check your internet connection and try again.": ["تحقق من اتصالك بالإنترنت ثم حاول مرة أخرى."], "Server error": ["خطأ في الخادم"], "Your site returned an error. Try again in a moment.": ["أعاد موقعك خطأً. حاول مرة أخرى بعد قليل."], "Already generating": ["الإنشاء جارٍ بالفعل"], "A generation is already running for this post. Wait for it to finish.": ["هناك عملية إنشاء قيد التشغيل لهذا المقال. انتظر حتى تنتهي."], "Confirm Audio Generation": ["تأكيد إنشاء الصوت"]}}, "comment": {"reference": "assets/js/admin.js"}}1 {"translation-revision-date": "2026-10-04 16:10+0000", "generator": "ATS Moknah i18n", "domain": "messages", "locale_data": {"messages": {"": {"domain": "messages", "lang": "ar", "plural-forms": "nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);"}, "Not enough credits": ["الرصيد غير كافٍ"], "Your Moknah balance is too low for this article. Top up, then try again.": ["رصيدك في مُكنة غير كافٍ لهذا المقال. اشحن رصيدك ثم حاول مرة أخرى."], "API key rejected": ["تم رفض مفتاح API"], "Moknah did not accept your API key. Check it in settings.": ["لم تقبل مُكنة مفتاح API الخاص بك. تحقق منه في الإعدادات."], "Generation timed out": ["انتهت مهلة الإنشاء"], "Moknah did not finish within 5 minutes. This is usually temporary — try again.": ["لم تُنهِ مُكنة المعالجة خلال 5 دقائق. غالبًا ما يكون هذا مؤقتًا — حاول مرة أخرى."], "Could not reach Moknah": ["تعذّر الاتصال بمُكنة"], "Audio generation failed": ["فشل إنشاء الصوت"], "Try again. If it keeps failing, send the details below to sales@moknah.io.": ["حاول مرة أخرى. إذا استمر الفشل، أرسل التفاصيل أدناه إلى sales@moknah.io."], "Try Again": ["حاول مرة أخرى"], "Failed": ["فشل"], "Technical details": ["التفاصيل التقنية"], "Session expired": ["انتهت الجلسة"], "Refresh the page and try again.": ["حدّث الصفحة ثم حاول مرة أخرى."], "Check your internet connection and try again.": ["تحقق من اتصالك بالإنترنت ثم حاول مرة أخرى."], "Server error": ["خطأ في الخادم"], "Your site returned an error. Try again in a moment.": ["أعاد موقعك خطأً. حاول مرة أخرى بعد قليل."], "Already generating": ["الإنشاء جارٍ بالفعل"], "A generation is already running for this post. Wait for it to finish.": ["هناك عملية إنشاء قيد التشغيل لهذا المقال. انتظر حتى تنتهي."], "Confirm Audio Generation": ["تأكيد إنشاء الصوت"]}}, "comment": {"reference": "assets/js/admin.js"}} -
ats-moknah-article-to-speech/trunk/languages/ats-moknah-article-to-speech-ar.po
r3717670 r3727722 1 # 2 msgid "" 3 msgstr "" 4 "Project-Id-Version: ATS Moknah 1.4.0\n" 5 "Report-Msgid-Bugs-To: sales@moknah.io\n" 6 "POT-Creation-Date: 2026-09-28T17:02:00+00:00\n" 7 "PO-Revision-Date: 2026-09-28 17:02+0000\n" 1 # Copyright (C) 2026 Moknah.io 2 # This file is distributed under the GPLv2 or later. 3 msgid "" 4 msgstr "" 5 "Project-Id-Version: ATS Moknah 1.4.1\n" 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ats-moknah-" 7 "article-to-speech\n" 8 "POT-Creation-Date: 2026-10-04T17:19:10+00:00\n" 9 "PO-Revision-Date: 2026-10-04 16:10+0000\n" 8 10 "Last-Translator: <EMAIL@ADDRESS>\n" 9 11 "Language-Team: Arabic\n" … … 12 14 "Content-Type: text/plain; charset=UTF-8\n" 13 15 "Content-Transfer-Encoding: 8bit\n" 14 "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" 16 "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " 17 "&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" 15 18 "X-Domain: ats-moknah-article-to-speech\n" 16 19 "X-Generator: Loco https://localise.biz/\n" 17 20 18 21 #. Plugin Name of the plugin 19 #: ats-moknah.php ats-moknah.php:66 includes/class-ats-moknah-admin.php:46 20 #: includes/class-ats-moknah-admin.php:47 21 msgid "ATS Moknah" 22 msgstr "ATS Moknah" 22 #: ats-moknah.php 23 msgid "ATS Moknah – Text to Speech, AI Voice & Audio Player" 24 msgstr "ATS Moknah – تحويل النص إلى كلام وصوت بالذكاء الاصطناعي ومشغل صوتي" 23 25 24 26 #. Plugin URI of the plugin … … 29 31 #. Description of the plugin 30 32 #: ats-moknah.php 31 msgid "Convert WordPress articles to speech using Moknah TTS API." 32 msgstr "" 33 "حوّل مقالات ووردبريس إلى كلام مسموع باستخدام واجهة Moknah TTS البرمجية." 33 msgid "" 34 "Turn posts into natural AI voice audio. Text to speech in Arabic, English " 35 "and more, with an audio player, word highlighting and listener analytics." 36 msgstr "" 37 "حوّل مقالاتك إلى صوت طبيعي بالذكاء الاصطناعي. تحويل النص إلى كلام بالعربية " 38 "والإنجليزية وغيرهما، مع مشغل صوتي وتظليل الكلمات وتحليلات المستمعين." 34 39 35 40 #. Author of the plugin … … 44 49 msgstr "https://moknah.io/" 45 50 46 #: ats-moknah.php: 5951 #: ats-moknah.php:60 47 52 msgid "" 48 53 "ATS Moknah sends post content to the Moknah TTS API to generate audio files." 49 54 msgstr "" 50 "يرسل ATS Moknah محتوى المقال إلى واجهة برمجة تطبيقات Moknah TTS لإنشاء ملفات "51 " صوتية."52 53 #: ats-moknah.php:6 055 "يرسل ATS Moknah محتوى المقال إلى واجهة برمجة تطبيقات Moknah TTS لإنشاء ملفات " 56 "صوتية." 57 58 #: ats-moknah.php:61 54 59 msgid "" 55 60 "The analytics module stores playback events and aggregated totals in your " 56 61 "WordPress database." 57 62 msgstr "" 58 "تقوم وحدة التحليلات بتخزين أحداث التشغيل والمجاميع الإجمالية في قاعدة بيانات "59 " ووردبريس الخاصة بك."60 61 #: ats-moknah.php:6 163 "تقوم وحدة التحليلات بتخزين أحداث التشغيل والمجاميع الإجمالية في قاعدة بيانات " 64 "ووردبريس الخاصة بك." 65 66 #: ats-moknah.php:62 62 67 msgid "" 63 68 "For abuse prevention and deduplication, ATS Moknah stores a salted visitor " … … 71 76 "الأول (ats_vid) لمنع تكرار الزوار." 72 77 73 #: ats-moknah.php:6 278 #: ats-moknah.php:63 74 79 msgid "" 75 80 "Analytics data retention is controlled by your site policy; a common " … … 79 84 "بالبيانات الأولية للأحداث تتراوح بين 30 إلى 90 يومًا." 80 85 81 #: ats-moknah.php:6 386 #: ats-moknah.php:64 82 87 msgid "" 83 88 "When GeoIP headers are unavailable, ATS Moknah may send the visitor IP to " … … 85 90 "code and cache it locally." 86 91 msgstr "" 87 "عندما تكون ترويسات GeoIP غير متاحة، قد يقوم ATS Moknah بإرسال عنوان IP الخاص" 88 " بالزائر إلى ipapi.co (خدمة تحديد الموقع الجغرافي لطرف ثالث) لتحديد رمز " 89 "البلد المكون من حرفين وتخزينه محليًا." 92 "عندما تكون ترويسات GeoIP غير متاحة، قد يقوم ATS Moknah بإرسال عنوان IP الخاص " 93 "بالزائر إلى ipapi.co (خدمة تحديد الموقع الجغرافي لطرف ثالث) لتحديد رمز البلد " 94 "المكون من حرفين وتخزينه محليًا." 95 96 #: ats-moknah.php:65 97 msgid "" 98 "If an administrator chooses to send feedback from the plugin, the message, " 99 "star rating, site URL, plugin/WordPress/PHP versions and (only if allowed) " 100 "the administrator's email are emailed to Moknah." 101 msgstr "" 102 "إذا اختار أحد المسؤولين إرسال ملاحظات من الإضافة، تُرسل الرسالة والتقييم " 103 "بالنجوم ورابط الموقع وإصدارات الإضافة وووردبريس وPHP و(فقط عند السماح) " 104 "البريد الإلكتروني للمسؤول إلى مُكنة عبر البريد الإلكتروني." 105 106 #: ats-moknah.php:66 107 msgid "" 108 "If listener feedback is enabled, visitors can rate the audio in the player. " 109 "Their vote, chosen reasons, optional comment, the voice and device type are " 110 "stored in this site's database with a salted visitor hash (no IP address). " 111 "Nothing is sent to Moknah." 112 msgstr "" 113 "عند تفعيل آراء المستمعين، يمكن للزوار تقييم الصوت في المشغل. يُخزَّن تصويتهم " 114 "والأسباب التي اختاروها والتعليق الاختياري والصوت المستخدم ونوع الجهاز في " 115 "قاعدة بيانات هذا الموقع مع بصمة زائر مُشفّرة بملح (دون عنوان IP). لا يُرسَل أي " 116 "شيء إلى مُكنة." 117 118 #: ats-moknah.php:69 includes/class-ats-moknah-admin.php:46 119 #: includes/class-ats-moknah-admin.php:47 120 msgid "ATS Moknah" 121 msgstr "ATS Moknah" 90 122 91 123 #: includes/analytics/class-ats-moknah-analytics-admin.php:21 … … 115 147 116 148 #: includes/analytics/class-ats-moknah-analytics-admin.php:86 117 #: includes/class-ats-moknah-admin.php:288 2149 #: includes/class-ats-moknah-admin.php:2885 118 150 #: views/views-ats-moknah-admin-analytics.php:98 119 151 msgid "Voice" … … 126 158 127 159 #: includes/analytics/class-ats-moknah-analytics-admin.php:92 160 #: includes/class-ats-moknah-feedback.php:851 128 161 #: views/views-ats-moknah-admin-analytics.php:100 129 162 msgid "Device" … … 147 180 "counted once in totals for the selected filters." 148 181 msgstr "" 149 "تَستخدم إحصاءات البلد والجهاز الزوار الفريدين على مستوى الموقع: يتم احتساب "150 " كلزائر مرة واحدة في المجاميع للفلاتر المحددة."182 "تَستخدم إحصاءات البلد والجهاز الزوار الفريدين على مستوى الموقع: يتم احتساب كل " 183 "زائر مرة واحدة في المجاميع للفلاتر المحددة." 151 184 152 185 #: includes/analytics/class-ats-moknah-analytics-admin.php:106 … … 155 188 "post they visited." 156 189 msgstr "" 157 "تَحسب إحصاءات المقالات الزوار الفريدين لكل مقال: يتم احتساب الزائر مرة واحدة "158 " لكل مقال قام بزيارته."190 "تَحسب إحصاءات المقالات الزوار الفريدين لكل مقال: يتم احتساب الزائر مرة واحدة " 191 "لكل مقال قام بزيارته." 159 192 160 193 #: includes/analytics/class-ats-moknah-analytics-admin.php:129 … … 230 263 231 264 #: includes/class-ats-moknah-admin.php:351 232 msgid "" 233 "Unable to load available voices. Please check your API key in settings." 265 msgid "Unable to load available voices. Please check your API key in settings." 234 266 msgstr "تعذر تحميل الأصوات المتاحة. يرجى التحقق من مفتاح API في الإعدادات." 235 267 … … 737 769 #: includes/class-ats-moknah-admin.php:1332 738 770 msgid "" 739 "Tip: start rules with #mk-mp-d1 so they only affect the player. Use "740 " !important if a built-in style wins."741 msgstr "" 742 "تلميح: ابدأ القواعد بـ #mk-mp-d1 حتى تؤثر على المشغل فقط. استخدم !important "743 " إذا تغلّب عليها نمط مدمج."771 "Tip: start rules with #mk-mp-d1 so they only affect the player. Use !" 772 "important if a built-in style wins." 773 msgstr "" 774 "تلميح: ابدأ القواعد بـ #mk-mp-d1 حتى تؤثر على المشغل فقط. استخدم !important " 775 "إذا تغلّب عليها نمط مدمج." 744 776 745 777 #: includes/class-ats-moknah-admin.php:1338 … … 785 817 786 818 #: includes/class-ats-moknah-admin.php:1366 819 #: includes/class-ats-moknah-feedback.php:853 787 820 msgid "Desktop" 788 821 msgstr "سطح المكتب" 789 822 790 823 #: includes/class-ats-moknah-admin.php:1368 824 #: includes/class-ats-moknah-feedback.php:854 791 825 msgid "Mobile" 792 826 msgstr "الجوال" … … 819 853 #: includes/class-ats-moknah-admin.php:1432 820 854 msgid "Discard your edited stylesheet and go back to the plugin default?" 821 msgstr "" 822 "هل تريد تجاهل ملف الأنماط المعدّل والعودة إلى الملف الافتراضي للإضافة؟" 855 msgstr "هل تريد تجاهل ملف الأنماط المعدّل والعودة إلى الملف الافتراضي للإضافة؟" 823 856 824 857 #: includes/class-ats-moknah-admin.php:1433 … … 906 939 #: includes/class-ats-moknah-admin.php:1453 907 940 msgid "" 908 "The published preset cannot be overwritten. Publish a different preset " 909 "first." 941 "The published preset cannot be overwritten. Publish a different preset first." 910 942 msgstr "لا يمكن استبدال النمط المسبق المنشور. انشر نمطًا مسبقًا آخر أولًا." 911 943 … … 971 1003 #: includes/class-ats-moknah-admin.php:2706 972 1004 #: includes/class-ats-moknah-admin.php:2800 973 #: includes/class-ats-moknah-admin.php:2808 1005 #: includes/class-ats-moknah-admin.php:2811 1006 #: includes/class-ats-moknah-feedback.php:665 974 1007 msgid "Open settings" 975 1008 msgstr "فتح الإعدادات" … … 984 1017 "again." 985 1018 msgstr "" 986 "لم تُنهِ مُكنة المعالجة خلال 5 دقائق. غالبًا ما يكون هذا مؤقتًا — حاول مرة " 987 "أخرى." 1019 "لم تُنهِ مُكنة المعالجة خلال 5 دقائق. غالبًا ما يكون هذا مؤقتًا — حاول مرة أخرى." 988 1020 989 1021 #: includes/class-ats-moknah-admin.php:2692 assets/js/admin.js:190 … … 1017 1049 "contact Moknah." 1018 1050 msgstr "" 1019 "هذا المقال أطول مما تسمح به الواجهة البرمجية في طلب واحد. اختصره أو تواصل مع "1020 " مُكنة."1051 "هذا المقال أطول مما تسمح به الواجهة البرمجية في طلب واحد. اختصره أو تواصل مع " 1052 "مُكنة." 1021 1053 1022 1054 #: includes/class-ats-moknah-admin.php:2704 … … 1094 1126 msgstr "أضف مفتاح API الخاص بمُكنة لبدء إنشاء الصوت." 1095 1127 1096 #: includes/class-ats-moknah-admin.php:2805 1097 #: includes/class-ats-moknah-admin.php:2897 1128 #: includes/class-ats-moknah-admin.php:2802 1129 #: includes/class-ats-moknah-notices.php:242 1130 msgid "Get an API key" 1131 msgstr "احصل على مفتاح API" 1132 1133 #: includes/class-ats-moknah-admin.php:2804 1134 msgid "" 1135 "Register with an email on your website's domain — company access requires a " 1136 "matching email domain." 1137 msgstr "" 1138 "سجّل ببريد إلكتروني على نطاق موقعك — يتطلب وصول الشركة تطابق نطاق البريد مع " 1139 "الموقع." 1140 1141 #: includes/class-ats-moknah-admin.php:2808 1142 #: includes/class-ats-moknah-admin.php:2900 1098 1143 msgid "No voices available" 1099 1144 msgstr "لا توجد أصوات متاحة" 1100 1145 1101 #: includes/class-ats-moknah-admin.php:28 071146 #: includes/class-ats-moknah-admin.php:2810 1102 1147 msgid "Voices could not be loaded. Check your API key." 1103 1148 msgstr "تعذّر تحميل الأصوات. تحقق من مفتاح API." 1104 1149 1105 #: includes/class-ats-moknah-admin.php:281 51150 #: includes/class-ats-moknah-admin.php:2818 1106 1151 msgid "No details were returned." 1107 1152 msgstr "لم تُرجَع أي تفاصيل." 1108 1153 1109 #: includes/class-ats-moknah-admin.php:283 01154 #: includes/class-ats-moknah-admin.php:2833 1110 1155 msgid "Your previous audio is still live on the post." 1111 1156 msgstr "لا يزال الصوت السابق منشورًا على المقال." 1112 1157 1113 #: includes/class-ats-moknah-admin.php:283 5assets/js/admin.js:2131158 #: includes/class-ats-moknah-admin.php:2838 assets/js/admin.js:213 1114 1159 msgid "Technical details" 1115 1160 msgstr "التفاصيل التقنية" 1116 1161 1117 1162 #. translators: %s: human time difference, e.g. "5 mins" 1118 #: includes/class-ats-moknah-admin.php:2841 1163 #: includes/class-ats-moknah-admin.php:2844 1164 #: includes/class-ats-moknah-feedback.php:888 1119 1165 #, php-format 1120 1166 msgid "%s ago" 1121 1167 msgstr "منذ %s" 1122 1168 1123 #: includes/class-ats-moknah-admin.php:286 31169 #: includes/class-ats-moknah-admin.php:2866 1124 1170 msgid "Enable Text-to-Speech" 1125 1171 msgstr "تفعيل تحويل النص إلى كلام" 1126 1172 1127 #: includes/class-ats-moknah-admin.php:286 41173 #: includes/class-ats-moknah-admin.php:2867 1128 1174 msgid "Generate audio and show the player on this post." 1129 1175 msgstr "إنشاء الصوت وإظهار المشغل في هذا المقال." 1130 1176 1131 #: includes/class-ats-moknah-admin.php:287 21177 #: includes/class-ats-moknah-admin.php:2875 1132 1178 msgid "AI preprocessing" 1133 1179 msgstr "المعالجة المسبقة بالذكاء الاصطناعي" 1134 1180 1135 #: includes/class-ats-moknah-admin.php:287 31181 #: includes/class-ats-moknah-admin.php:2876 1136 1182 msgid "Clean and add tashkeel before speech (Arabic)." 1137 1183 msgstr "تنظيف النص وإضافة التشكيل قبل التحويل إلى كلام (للعربية)." 1138 1184 1139 #: includes/class-ats-moknah-admin.php:28 871140 #: includes/class-ats-moknah-admin.php:31 211185 #: includes/class-ats-moknah-admin.php:2890 1186 #: includes/class-ats-moknah-admin.php:3137 1141 1187 msgid "Select a voice" 1142 1188 msgstr "اختر صوتًا" 1143 1189 1144 #: includes/class-ats-moknah-admin.php:290 31190 #: includes/class-ats-moknah-admin.php:2906 1145 1191 msgid "Preview" 1146 1192 msgstr "معاينة" 1147 1193 1148 #: includes/class-ats-moknah-admin.php:291 31194 #: includes/class-ats-moknah-admin.php:2916 1149 1195 msgid "Generated audio" 1150 1196 msgstr "الصوت المُنشأ" 1151 1197 1152 #: includes/class-ats-moknah-admin.php:291 61198 #: includes/class-ats-moknah-admin.php:2919 1153 1199 msgid "AI preprocessed" 1154 1200 msgstr "تمت المعالجة بالذكاء الاصطناعي" 1155 1201 1156 #: includes/class-ats-moknah-admin.php:29 171202 #: includes/class-ats-moknah-admin.php:2920 1157 1203 msgid "No preprocessing" 1158 1204 msgstr "بدون معالجة مسبقة" 1159 1205 1160 1206 #: includes/class-ats-moknah-admin.php:2926 1161 #: includes/class-ats-moknah-admin.php:3168 1207 msgid "Listeners" 1208 msgstr "المستمعون" 1209 1210 #: includes/class-ats-moknah-admin.php:2939 1211 #: includes/class-ats-moknah-admin.php:3184 1162 1212 msgid "Player position" 1163 1213 msgstr "موضع المشغل" 1164 1214 1165 #: includes/class-ats-moknah-admin.php:29 271215 #: includes/class-ats-moknah-admin.php:2940 1166 1216 msgid "Change" 1167 1217 msgstr "تغيير" 1168 1218 1169 #: includes/class-ats-moknah-admin.php:29 411219 #: includes/class-ats-moknah-admin.php:2954 1170 1220 msgid "Regenerate after editing the post so the audio matches." 1171 1221 msgstr "أعد الإنشاء بعد تعديل المقال ليتطابق الصوت مع النص." 1172 1222 1173 #: includes/class-ats-moknah-admin.php:29 421223 #: includes/class-ats-moknah-admin.php:2955 1174 1224 msgid "Save your latest edits first — the saved content is converted." 1175 1225 msgstr "احفظ آخر تعديلاتك أولًا — يُحوَّل المحتوى المحفوظ فقط." 1176 1226 1177 #: includes/class-ats-moknah-admin.php: 29911227 #: includes/class-ats-moknah-admin.php:3004 1178 1228 msgid "Settings saved successfully." 1179 1229 msgstr "تم حفظ الإعدادات بنجاح." 1180 1230 1181 #: includes/class-ats-moknah-admin.php:30 011231 #: includes/class-ats-moknah-admin.php:3014 1182 1232 msgid "Moknah Logo" 1183 1233 msgstr "شعار Moknah" 1184 1234 1185 #: includes/class-ats-moknah-admin.php:30 031235 #: includes/class-ats-moknah-admin.php:3016 1186 1236 msgid "ATS Moknah Settings" 1187 1237 msgstr "إعدادات ATS Moknah" 1188 1238 1189 #: includes/class-ats-moknah-admin.php:30 051239 #: includes/class-ats-moknah-admin.php:3018 1190 1240 msgid "Configure your Article to Speech settings and default preferences." 1191 1241 msgstr "قم بضبط إعدادات تحويل المقال إلى صوت وتفضيلاتك الافتراضية." 1192 1242 1193 #: includes/class-ats-moknah-admin.php:30 111243 #: includes/class-ats-moknah-admin.php:3024 1194 1244 msgid "Warning:" 1195 1245 msgstr "تحذير:" 1196 1246 1197 #: includes/class-ats-moknah-admin.php:30 121198 msgid "" 1199 "Unable to load voices from Moknah API. Please verify your API key is correct "1200 " and has the necessary permissions."1247 #: includes/class-ats-moknah-admin.php:3025 1248 msgid "" 1249 "Unable to load voices from Moknah API. Please verify your API key is correct " 1250 "and has the necessary permissions." 1201 1251 msgstr "" 1202 1252 "تعذر تحميل الأصوات من واجهة Moknah API. يرجى التأكد من صحة مفتاح API وأنه " 1203 1253 "يمتلك الصلاحيات اللازمة." 1204 1254 1205 #: includes/class-ats-moknah-admin.php:30 251255 #: includes/class-ats-moknah-admin.php:3038 1206 1256 msgid "API Configuration" 1207 1257 msgstr "إعدادات واجهة برمجة التطبيقات (API)" 1208 1258 1209 #: includes/class-ats-moknah-admin.php:30 301259 #: includes/class-ats-moknah-admin.php:3043 1210 1260 msgid "Moknah API Key" 1211 1261 msgstr "مفتاح Moknah API" 1212 1262 1213 #: includes/class-ats-moknah-admin.php:30 311263 #: includes/class-ats-moknah-admin.php:3044 1214 1264 msgid "Enter your Moknah API key to enable text-to-speech conversion." 1215 1265 msgstr "أدخل مفتاح Moknah API لتفعيل تحويل النص إلى كلام." 1216 1266 1217 #: includes/class-ats-moknah-admin.php:30 391267 #: includes/class-ats-moknah-admin.php:3052 1218 1268 msgid "Enter a new API key to replace current key" 1219 1269 msgstr "أدخل مفتاح API جديد لاستبدال المفتاح الحالي" 1220 1270 1221 1271 #. translators: %s: masked API key suffix 1222 #: includes/class-ats-moknah-admin.php:30 451272 #: includes/class-ats-moknah-admin.php:3058 1223 1273 #, php-format 1224 1274 msgid "Current key: %s" 1225 1275 msgstr "المفتاح الحالي: %s" 1226 1276 1227 #: includes/class-ats-moknah-admin.php:30 551277 #: includes/class-ats-moknah-admin.php:3071 1228 1278 msgid "Article Selector" 1229 1279 msgstr "مُحدد المقال" 1230 1280 1231 #: includes/class-ats-moknah-admin.php:30 561281 #: includes/class-ats-moknah-admin.php:3072 1232 1282 msgid "" 1233 1283 "Enter the innermost CSS selector that directly contains the post title and " … … 1235 1285 msgstr "أدخل مُحدد CSS الأعمق الذي يحتوي مباشرةً على عنوان المقال ومحتواه." 1236 1286 1237 #: includes/class-ats-moknah-admin.php:30 681287 #: includes/class-ats-moknah-admin.php:3084 1238 1288 msgid "Skipped Selectors" 1239 1289 msgstr "المُحددات المستثناة" 1240 1290 1241 #: includes/class-ats-moknah-admin.php:30 691242 msgid "" 1243 "A list of CSS selectors inside \"Article Selector\" which you plan to ignore "1244 " them from being highlighted"1291 #: includes/class-ats-moknah-admin.php:3085 1292 msgid "" 1293 "A list of CSS selectors inside \"Article Selector\" which you plan to ignore " 1294 "them from being highlighted" 1245 1295 msgstr "" 1246 1296 "قائمة بمُحددات CSS داخل \"مُحدد المقال\" التي ترغب في استثنائها من التمييز." 1247 1297 1248 #: includes/class-ats-moknah-admin.php:30 701298 #: includes/class-ats-moknah-admin.php:3086 1249 1299 msgid "'.highlighter-skip' Selector is included by default" 1250 1300 msgstr "المُحدد '.highlighter-skip' مُضمّن افتراضيًا." 1251 1301 1252 #: includes/class-ats-moknah-admin.php:30 821302 #: includes/class-ats-moknah-admin.php:3098 1253 1303 msgid "Callback url" 1254 1304 msgstr "رابط الاستدعاء (Callback URL)" 1255 1305 1256 #: includes/class-ats-moknah-admin.php:30 831306 #: includes/class-ats-moknah-admin.php:3099 1257 1307 msgid "( optional )" 1258 1308 msgstr "( اختياري )" 1259 1309 1260 #: includes/class-ats-moknah-admin.php:3 0841310 #: includes/class-ats-moknah-admin.php:3100 1261 1311 msgid "Enter the callback URL to receive audio file notifications." 1262 1312 msgstr "أدخل رابط الاستدعاء (Callback URL) لتلقي إشعارات ملفات الصوت." 1263 1313 1264 1314 #. translators: %s: Default callback URL 1265 #: includes/class-ats-moknah-admin.php:3 0901315 #: includes/class-ats-moknah-admin.php:3106 1266 1316 #, php-format 1267 1317 msgid "Default: %s" 1268 1318 msgstr "الافتراضي: %s" 1269 1319 1270 #: includes/class-ats-moknah-admin.php:31 081320 #: includes/class-ats-moknah-admin.php:3124 1271 1321 msgid "Voice Settings" 1272 1322 msgstr "إعدادات الصوت" 1273 1323 1274 #: includes/class-ats-moknah-admin.php:31 131324 #: includes/class-ats-moknah-admin.php:3129 1275 1325 msgid "Default Voice" 1276 1326 msgstr "الصوت الافتراضي" 1277 1327 1278 #: includes/class-ats-moknah-admin.php:31 141328 #: includes/class-ats-moknah-admin.php:3130 1279 1329 msgid "Select the default voice for new articles." 1280 1330 msgstr "حدد الصوت الافتراضي للمقالات الجديدة." 1281 1331 1282 #: includes/class-ats-moknah-admin.php:31 431332 #: includes/class-ats-moknah-admin.php:3159 1283 1333 msgid "Please save your API key first to load available voices." 1284 1334 msgstr "يرجى حفظ مفتاح API أولاً لتحميل الأصوات المتاحة." 1285 1335 1286 #: includes/class-ats-moknah-admin.php:31 531336 #: includes/class-ats-moknah-admin.php:3169 1287 1337 msgid "Display Settings" 1288 1338 msgstr "إعدادات العرض" 1289 1339 1290 #: includes/class-ats-moknah-admin.php:31 581340 #: includes/class-ats-moknah-admin.php:3174 1291 1341 msgid "Post Types & Player Position" 1292 1342 msgstr "أنواع المحتوى وموضع المشغل" 1293 1343 1294 #: includes/class-ats-moknah-admin.php:31 591344 #: includes/class-ats-moknah-admin.php:3175 1295 1345 msgid "Enable ATS per content type and choose where its player appears." 1296 1346 msgstr "فعّل ATS لكل نوع محتوى واختر مكان ظهور المشغل فيه." 1297 1347 1298 #: includes/class-ats-moknah-admin.php:31 661348 #: includes/class-ats-moknah-admin.php:3182 1299 1349 msgid "Post type" 1300 1350 msgstr "نوع المحتوى" 1301 1351 1302 #: includes/class-ats-moknah-admin.php:31 671352 #: includes/class-ats-moknah-admin.php:3183 1303 1353 msgid "Enabled" 1304 1354 msgstr "مفعّل" 1305 1355 1306 #: includes/class-ats-moknah-admin.php:32 181356 #: includes/class-ats-moknah-admin.php:3234 1307 1357 msgid "e.g. .entry-meta or #post-title or .wp-block-post-featured-image" 1308 1358 msgstr "مثال: .entry-meta أو #post-title أو .wp-block-post-featured-image" 1309 1359 1310 #: includes/class-ats-moknah-admin.php:32 201360 #: includes/class-ats-moknah-admin.php:3236 1311 1361 msgid "" 1312 1362 "CSS selector of the element (class, ID…). The first match on the page is " 1313 1363 "used; if nothing matches, the player shows at the top of the content." 1314 1364 msgstr "" 1315 "مُحدِّد CSS للعنصر (class أو ID…). يُستخدم أول تطابق في الصفحة؛ وإذا لم يوجد" 1316 " تطابق، يظهر المشغل أعلى المحتوى." 1317 1318 #: includes/class-ats-moknah-admin.php:3235 1365 "مُحدِّد CSS للعنصر (class أو ID…). يُستخدم أول تطابق في الصفحة؛ وإذا لم يوجد " 1366 "تطابق، يظهر المشغل أعلى المحتوى." 1367 1368 #: includes/class-ats-moknah-admin.php:3249 1369 #: includes/class-ats-moknah-feedback.php:446 1370 #: includes/class-ats-moknah-feedback.php:447 1371 #: includes/class-ats-moknah-feedback.php:659 1372 msgid "Listener Feedback" 1373 msgstr "آراء المستمعين" 1374 1375 #: includes/class-ats-moknah-admin.php:3250 1376 msgid "" 1377 "Ask listeners \"How was this audio?\" in the player after they listen to " 1378 "half of an article. Results appear under ATS Moknah → Listener Feedback." 1379 msgstr "" 1380 "اسأل المستمعين \"كيف كان هذا الصوت؟\" في المشغل بعد استماعهم إلى نصف المقال. " 1381 "تظهر النتائج ضمن ATS Moknah → آراء المستمعين." 1382 1383 #: includes/class-ats-moknah-admin.php:3257 1384 msgid "Show the feedback question in the player" 1385 msgstr "إظهار سؤال التقييم في المشغل" 1386 1387 #: includes/class-ats-moknah-admin.php:3260 1388 msgid "Keep plain \"Good\" votes for" 1389 msgstr "الاحتفاظ بتقييمات «جيد» العادية لمدة" 1390 1391 #: includes/class-ats-moknah-admin.php:3266 1392 msgid "" 1393 "Totals and charts are kept forever. \"Not good\" votes, reasons and comments " 1394 "are never removed automatically." 1395 msgstr "" 1396 "تُحفظ الإجماليات والرسوم البيانية للأبد. لا تُحذف تقييمات «ليس جيدًا» والأسباب " 1397 "والتعليقات تلقائيًا أبدًا." 1398 1399 #: includes/class-ats-moknah-admin.php:3268 1400 msgid "View listener feedback" 1401 msgstr "عرض آراء المستمعين" 1402 1403 #: includes/class-ats-moknah-admin.php:3276 1319 1404 msgid "Save Settings" 1320 1405 msgstr "حفظ الإعدادات" 1321 1406 1322 #: includes/class-ats-moknah-admin.php:3 3811407 #: includes/class-ats-moknah-admin.php:3422 1323 1408 msgid "API authentication failed. Please check your API key in settings." 1324 1409 msgstr "" … … 1326 1411 "في الإعدادات." 1327 1412 1328 #: includes/class-ats-moknah-admin.php:3 3851413 #: includes/class-ats-moknah-admin.php:3426 1329 1414 msgid "Invalid request data. Please check your input and try again." 1330 1415 msgstr "بيانات الطلب غير صالحة. يرجى التحقق من مدخلاتك والمحاولة مرة أخرى." 1331 1416 1332 #: includes/class-ats-moknah-admin.php:3 3891417 #: includes/class-ats-moknah-admin.php:3430 1333 1418 msgid "" 1334 1419 "The selected voice ID is invalid. Please choose a valid voice and try again." 1335 msgstr "" 1336 "مُعرّف الصوت المحدد غير صالح. يرجى اختيار صوت صالح والمحاولة مرة أخرى." 1337 1338 #: includes/class-ats-moknah-admin.php:3393 1420 msgstr "مُعرّف الصوت المحدد غير صالح. يرجى اختيار صوت صالح والمحاولة مرة أخرى." 1421 1422 #: includes/class-ats-moknah-admin.php:3434 1339 1423 msgid "Trial limit exceeded. Please contact api@moknah.io." 1340 1424 msgstr "تم تجاوز حد الفترة التجريبية. يرجى التواصل مع api@moknah.io." 1341 1425 1342 #: includes/class-ats-moknah-admin.php:3 3971426 #: includes/class-ats-moknah-admin.php:3438 1343 1427 msgid "Your account is suspended or inactive. Please contact api@moknah.io." 1344 1428 msgstr "حسابك معلق أو غير نشط. يرجى التواصل مع api@moknah.io." 1345 1429 1346 #: includes/class-ats-moknah-admin.php:3401 1347 msgid "" 1348 "This article is already being processed. Please wait until it finishes." 1430 #: includes/class-ats-moknah-admin.php:3442 1431 msgid "This article is already being processed. Please wait until it finishes." 1349 1432 msgstr "تتم معالجة هذا المقال بالفعل. يرجى الانتظار حتى تنتهي العملية." 1350 1433 1351 #: includes/class-ats-moknah-admin.php:34 051434 #: includes/class-ats-moknah-admin.php:3446 1352 1435 msgid "" 1353 1436 "An error occurred while processing your request. Please try again later." 1354 1437 msgstr "حدث خطأ أثناء معالجة طلبك. يرجى المحاولة مرة أخرى لاحقًا." 1355 1438 1356 #: includes/class-ats-moknah-admin.php:34 091439 #: includes/class-ats-moknah-admin.php:3450 1357 1440 msgid "" 1358 1441 "Unable to connect to Moknah API. Please check your internet connection and " … … 1362 1445 "مرة أخرى." 1363 1446 1364 #: includes/class-ats-moknah-admin.php:34 131447 #: includes/class-ats-moknah-admin.php:3454 1365 1448 msgid "Request timed out. Please try again later." 1366 1449 msgstr "انتهت مهلة الطلب. يرجى المحاولة مرة أخرى لاحقًا." 1367 1450 1368 #: includes/class-ats-moknah-admin.php:34 171451 #: includes/class-ats-moknah-admin.php:3458 1369 1452 msgid "Too many requests. Please wait and try again." 1370 1453 msgstr "عدد كبير جدًا من الطلبات. يرجى الانتظار ثم المحاولة مرة أخرى." 1454 1455 #: includes/class-ats-moknah-feedback.php:42 1456 msgid "Pronunciation" 1457 msgstr "النطق" 1458 1459 #: includes/class-ats-moknah-feedback.php:43 1460 msgid "Voice quality" 1461 msgstr "جودة الصوت" 1462 1463 #: includes/class-ats-moknah-feedback.php:44 1464 msgid "Too fast or too slow" 1465 msgstr "سريع جدًا أو بطيء جدًا" 1466 1467 #: includes/class-ats-moknah-feedback.php:45 1468 msgid "Wrong or missing text" 1469 msgstr "نص خاطئ أو ناقص" 1470 1471 #: includes/class-ats-moknah-feedback.php:46 1472 msgid "Player problem" 1473 msgstr "مشكلة في المشغل" 1474 1475 #: includes/class-ats-moknah-feedback.php:47 1476 msgid "Other" 1477 msgstr "أخرى" 1478 1479 #: includes/class-ats-moknah-feedback.php:54 1480 #: includes/class-ats-moknah-feedback.php:655 1481 msgid "30 days" 1482 msgstr "30 يومًا" 1483 1484 #: includes/class-ats-moknah-feedback.php:55 1485 #: includes/class-ats-moknah-feedback.php:655 1486 msgid "90 days" 1487 msgstr "90 يومًا" 1488 1489 #: includes/class-ats-moknah-feedback.php:56 1490 msgid "180 days" 1491 msgstr "180 يومًا" 1492 1493 #: includes/class-ats-moknah-feedback.php:57 1494 msgid "1 year" 1495 msgstr "سنة واحدة" 1496 1497 #: includes/class-ats-moknah-feedback.php:58 1498 msgid "Forever" 1499 msgstr "للأبد" 1500 1501 #: includes/class-ats-moknah-feedback.php:428 1502 msgid "How was this audio?" 1503 msgstr "كيف كان هذا الصوت؟" 1504 1505 #: includes/class-ats-moknah-feedback.php:429 1506 #: includes/class-ats-moknah-feedback.php:711 1507 #: includes/class-ats-moknah-feedback.php:797 1508 msgid "Good" 1509 msgstr "جيد" 1510 1511 #: includes/class-ats-moknah-feedback.php:430 1512 #: includes/class-ats-moknah-feedback.php:711 1513 #: includes/class-ats-moknah-feedback.php:798 1514 msgid "Not good" 1515 msgstr "غير جيد" 1516 1517 #: includes/class-ats-moknah-feedback.php:431 1518 msgid "Close" 1519 msgstr "إغلاق" 1520 1521 #: includes/class-ats-moknah-feedback.php:432 1522 msgid "What could be better?" 1523 msgstr "ما الذي يمكن تحسينه؟" 1524 1525 #: includes/class-ats-moknah-feedback.php:433 1526 msgid "Optional: tell us more…" 1527 msgstr "اختياري: أخبرنا بالمزيد…" 1528 1529 #: includes/class-ats-moknah-feedback.php:434 1530 msgid "Send" 1531 msgstr "إرسال" 1532 1533 #: includes/class-ats-moknah-feedback.php:435 1534 msgid "Thanks for your feedback!" 1535 msgstr "شكرًا على ملاحظاتك!" 1536 1537 #: includes/class-ats-moknah-feedback.php:629 1538 #: includes/class-ats-moknah-frontend.php:512 1539 #: includes/class-ats-moknah-player-design-admin.php:559 1540 msgid "Previous" 1541 msgstr "السابق" 1542 1543 #. translators: %d: page number 1544 #: includes/class-ats-moknah-feedback.php:632 1545 #, php-format 1546 msgid "Page %d" 1547 msgstr "الصفحة %d" 1548 1549 #: includes/class-ats-moknah-feedback.php:634 1550 #: includes/class-ats-moknah-frontend.php:513 1551 #: includes/class-ats-moknah-player-design-admin.php:560 1552 msgid "Next" 1553 msgstr "التالي" 1554 1555 #: includes/class-ats-moknah-feedback.php:655 1556 msgid "7 days" 1557 msgstr "7 أيام" 1558 1559 #: includes/class-ats-moknah-feedback.php:655 1560 msgid "All time" 1561 msgstr "كل الأوقات" 1562 1563 #: includes/class-ats-moknah-feedback.php:660 1564 msgid "" 1565 "What your readers say about the audio, from the \"How was this audio?\" " 1566 "question in the player." 1567 msgstr "ما يقوله قرّاؤك عن الصوت، من سؤال \"كيف كان هذا الصوت؟\" في المشغل." 1568 1569 #: includes/class-ats-moknah-feedback.php:664 1570 msgid "" 1571 "Listener feedback is turned off. Turn it on in Settings → Display Settings." 1572 msgstr "آراء المستمعين معطّلة. فعّلها من الإعدادات → إعدادات العرض." 1573 1574 #: includes/class-ats-moknah-feedback.php:679 1575 msgid "From" 1576 msgstr "من" 1577 1578 #: includes/class-ats-moknah-feedback.php:682 1579 msgid "To" 1580 msgstr "إلى" 1581 1582 #: includes/class-ats-moknah-feedback.php:684 1583 msgid "Apply" 1584 msgstr "تطبيق" 1585 1586 #: includes/class-ats-moknah-feedback.php:686 1587 #: views/views-ats-moknah-admin-analytics.php:38 1588 msgid "Export CSV" 1589 msgstr "تصدير كملف CSV" 1590 1591 #: includes/class-ats-moknah-feedback.php:690 1592 #: includes/class-ats-moknah-feedback.php:796 1593 msgid "Responses" 1594 msgstr "الردود" 1595 1596 #: includes/class-ats-moknah-feedback.php:692 1597 #: includes/class-ats-moknah-feedback.php:799 1598 msgid "Satisfaction" 1599 msgstr "نسبة الرضا" 1600 1601 #: includes/class-ats-moknah-feedback.php:696 1602 #: includes/class-ats-moknah-feedback.php:800 1603 msgid "Comments" 1604 msgstr "التعليقات" 1605 1606 #: includes/class-ats-moknah-feedback.php:702 1607 msgid "Responses by month" 1608 msgstr "الردود حسب الشهر" 1609 1610 #: includes/class-ats-moknah-feedback.php:702 1611 msgid "Responses by day" 1612 msgstr "الردود حسب اليوم" 1613 1614 #: includes/class-ats-moknah-feedback.php:704 1615 msgid "Responses over time" 1616 msgstr "الردود عبر الوقت" 1617 1618 #: includes/class-ats-moknah-feedback.php:714 1619 msgid "Top reasons for \"Not good\"" 1620 msgstr "أبرز أسباب \"غير جيد\"" 1621 1622 #: includes/class-ats-moknah-feedback.php:716 1623 msgid "No reasons selected yet." 1624 msgstr "لم يتم اختيار أي أسباب بعد." 1625 1626 #: includes/class-ats-moknah-feedback.php:729 1627 msgid "Articles" 1628 msgstr "المقالات" 1629 1630 #: includes/class-ats-moknah-feedback.php:730 1631 msgid "Comments & issues" 1632 msgstr "التعليقات والمشكلات" 1633 1634 #: includes/class-ats-moknah-feedback.php:759 1635 msgid "Most \"Not good\"" 1636 msgstr "الأكثر «ليس جيدًا»" 1637 1638 #: includes/class-ats-moknah-feedback.php:760 1639 msgid "Most responses" 1640 msgstr "الأكثر ردودًا" 1641 1642 #: includes/class-ats-moknah-feedback.php:761 1643 msgid "Lowest satisfaction" 1644 msgstr "الأقل رضا" 1645 1646 #: includes/class-ats-moknah-feedback.php:762 1647 msgid "Highest satisfaction" 1648 msgstr "الأعلى رضا" 1649 1650 #: includes/class-ats-moknah-feedback.php:763 1651 msgid "Most recent" 1652 msgstr "الأحدث" 1653 1654 #: includes/class-ats-moknah-feedback.php:770 1655 msgid "Search article title or ID…" 1656 msgstr "ابحث بعنوان المقال أو رقمه…" 1657 1658 #: includes/class-ats-moknah-feedback.php:771 1659 msgid "Sort by" 1660 msgstr "ترتيب حسب" 1661 1662 #: includes/class-ats-moknah-feedback.php:778 1663 msgid "Min. responses" 1664 msgstr "الحد الأدنى للردود" 1665 1666 #: includes/class-ats-moknah-feedback.php:781 1667 #: includes/class-ats-moknah-feedback.php:859 1668 msgid "Filter" 1669 msgstr "تصفية" 1670 1671 #: includes/class-ats-moknah-feedback.php:783 1672 #: includes/class-ats-moknah-feedback.php:861 1673 msgid "Clear filters" 1674 msgstr "مسح عوامل التصفية" 1675 1676 #: includes/class-ats-moknah-feedback.php:789 1677 msgid "" 1678 "No articles match these filters. Readers see the question after listening to " 1679 "half of an article." 1680 msgstr "" 1681 "لا توجد مقالات تطابق عوامل التصفية هذه. يرى القراء السؤال بعد الاستماع إلى " 1682 "نصف المقال." 1683 1684 #: includes/class-ats-moknah-feedback.php:795 1685 #: views/views-ats-moknah-admin-heatmap.php:51 1686 msgid "Article" 1687 msgstr "المقال" 1688 1689 #: includes/class-ats-moknah-feedback.php:810 1690 msgid "Edit post" 1691 msgstr "تحرير المقال" 1692 1693 #: includes/class-ats-moknah-feedback.php:817 1694 msgid "View feedback" 1695 msgstr "عرض الملاحظات" 1696 1697 #: includes/class-ats-moknah-feedback.php:840 1698 msgid "Remove article filter" 1699 msgstr "إزالة تصفية المقال" 1700 1701 #: includes/class-ats-moknah-feedback.php:843 1702 msgid "Article title or ID…" 1703 msgstr "عنوان المقال أو رقمه…" 1704 1705 #: includes/class-ats-moknah-feedback.php:845 1706 msgid "Reason" 1707 msgstr "السبب" 1708 1709 #: includes/class-ats-moknah-feedback.php:846 1710 msgid "All reasons" 1711 msgstr "كل الأسباب" 1712 1713 #: includes/class-ats-moknah-feedback.php:852 1714 msgid "All devices" 1715 msgstr "كل الأجهزة" 1716 1717 #: includes/class-ats-moknah-feedback.php:855 1718 msgid "Tablet" 1719 msgstr "جهاز لوحي" 1720 1721 #: includes/class-ats-moknah-feedback.php:857 1722 msgid "With comment" 1723 msgstr "مع تعليق" 1724 1725 #: includes/class-ats-moknah-feedback.php:858 1726 msgid "Search in comments…" 1727 msgstr "ابحث في التعليقات…" 1728 1729 #: includes/class-ats-moknah-feedback.php:867 1730 msgid "No feedback matches these filters." 1731 msgstr "لا توجد ملاحظات تطابق عوامل التصفية هذه." 1732 1733 #: includes/class-ats-moknah-feedback.php:867 1734 msgid "Nothing to review — readers only left positive votes." 1735 msgstr "لا شيء للمراجعة — ترك القرّاء تقييمات إيجابية فقط." 1736 1737 #: includes/class-ats-moknah-feedback.php:875 1738 msgid "Select all" 1739 msgstr "تحديد الكل" 1740 1741 #: includes/class-ats-moknah-feedback.php:876 1742 msgid "Delete selected" 1743 msgstr "حذف المحدد" 1744 1745 #: includes/class-ats-moknah-feedback.php:881 1746 msgid "Select" 1747 msgstr "تحديد" 1748 1749 #: includes/class-ats-moknah-feedback.php:914 1750 msgid "Delete the selected feedback? This cannot be undone." 1751 msgstr "حذف الملاحظات المحددة؟ لا يمكن التراجع عن ذلك." 1752 1753 #: includes/class-ats-moknah-feedback.php:1001 1754 #: includes/class-ats-moknah-feedback.php:1032 1755 msgid "Not allowed." 1756 msgstr "غير مسموح." 1371 1757 1372 1758 #: includes/class-ats-moknah-frontend.php:505 … … 1400 1786 msgstr "الانتقال إلى المقال التالي" 1401 1787 1402 #: includes/class-ats-moknah-frontend.php:5121403 #: includes/class-ats-moknah-player-design-admin.php:5591404 msgid "Previous"1405 msgstr "السابق"1406 1407 #: includes/class-ats-moknah-frontend.php:5131408 #: includes/class-ats-moknah-player-design-admin.php:5601409 msgid "Next"1410 msgstr "التالي"1411 1412 1788 #: includes/class-ats-moknah-frontend.php:514 1413 1789 #: includes/class-ats-moknah-player-design-admin.php:561 … … 1445 1821 msgstr "تم إنشاء الصوت بالذكاء الاصطناعي بواسطة" 1446 1822 1823 #. translators: %s: new version number 1824 #: includes/class-ats-moknah-notices.php:110 1825 #, php-format 1826 msgid "ATS Moknah %s is available" 1827 msgstr "الإصدار %s من ATS Moknah متاح" 1828 1829 #: includes/class-ats-moknah-notices.php:116 1830 msgid "Auto-updates are on — it will update automatically soon." 1831 msgstr "التحديث التلقائي مفعّل — سيتم التحديث تلقائيًا قريبًا." 1832 1833 #. translators: %s: installed version number 1834 #: includes/class-ats-moknah-notices.php:119 1835 #, php-format 1836 msgid "You are using version %s. Update to get the latest features and fixes." 1837 msgstr "أنت تستخدم الإصدار %s. حدّث للحصول على أحدث الميزات والإصلاحات." 1838 1839 #: includes/class-ats-moknah-notices.php:126 1840 msgid "Update now" 1841 msgstr "حدّث الآن" 1842 1843 #: includes/class-ats-moknah-notices.php:128 1844 msgid "What's new" 1845 msgstr "ما الجديد" 1846 1847 #: includes/class-ats-moknah-notices.php:142 1848 msgid "" 1849 "Get an API key in a few clicks: register on Moknah.io, request company " 1850 "access, and paste the key in Settings." 1851 msgstr "" 1852 "احصل على مفتاح API بخطوات بسيطة: سجّل في Moknah.io، واطلب وصول الشركة، ثم " 1853 "الصق المفتاح في الإعدادات." 1854 1855 #: includes/class-ats-moknah-notices.php:143 1856 msgid "" 1857 "ATS works on pages and custom post types, with a player position per post " 1858 "type." 1859 msgstr "" 1860 "يعمل ATS على الصفحات وأنواع المحتوى المخصصة، مع موضع مستقل للمشغل لكل نوع " 1861 "محتوى." 1862 1863 #: includes/class-ats-moknah-notices.php:144 1864 msgid "" 1865 "Player Design: Custom CSS, editable player stylesheet and five new Pro " 1866 "presets." 1867 msgstr "" 1868 "تصميم المشغل: CSS مخصص، وملف أنماط قابل للتعديل، وخمسة أنماط احترافية جديدة." 1869 1870 #: includes/class-ats-moknah-notices.php:145 1871 msgid "Admin translated into more languages." 1872 msgstr "ترجمة لوحة التحكم إلى لغات أكثر." 1873 1874 #. translators: %s: version number 1875 #: includes/class-ats-moknah-notices.php:159 1876 #, php-format 1877 msgid "What's new in ATS Moknah %s" 1878 msgstr "ما الجديد في ATS Moknah %s" 1879 1880 #: includes/class-ats-moknah-notices.php:167 1881 msgid "Full changelog" 1882 msgstr "سجل التغييرات الكامل" 1883 1884 #: includes/class-ats-moknah-notices.php:170 1885 msgid "Got it" 1886 msgstr "حسنًا" 1887 1888 #: includes/class-ats-moknah-notices.php:224 1889 msgid "Get API key" 1890 msgstr "احصل على مفتاح API" 1891 1892 #: includes/class-ats-moknah-notices.php:225 1893 msgid "Rate ATS Moknah on WordPress.org" 1894 msgstr "قيّم ATS Moknah على WordPress.org" 1895 1896 #: includes/class-ats-moknah-notices.php:225 1897 msgid "Rate" 1898 msgstr "قيّم" 1899 1900 #: includes/class-ats-moknah-notices.php:232 1901 msgid "" 1902 "Register with an email on your website's domain (e.g. you@yourcompany.com " 1903 "for yourcompany.com). Company access can only be requested when the email " 1904 "domain matches the website." 1905 msgstr "" 1906 "سجّل ببريد إلكتروني على نطاق موقعك (مثل you@yourcompany.com لموقع yourcompany." 1907 "com). لا يمكن طلب وصول الشركة إلا إذا تطابق نطاق البريد الإلكتروني مع الموقع." 1908 1909 #: includes/class-ats-moknah-notices.php:234 1910 msgid "Important:" 1911 msgstr "مهم:" 1912 1913 #: includes/class-ats-moknah-notices.php:237 1914 msgid "Create a Moknah account" 1915 msgstr "أنشئ حسابًا في مُكنة" 1916 1917 #: includes/class-ats-moknah-notices.php:238 1918 msgid "Request company access" 1919 msgstr "اطلب وصول الشركة" 1920 1921 #: includes/class-ats-moknah-notices.php:239 1922 msgid "" 1923 "After approval, copy your API key from your Moknah account and paste it here." 1924 msgstr "بعد الموافقة، انسخ مفتاح API من حسابك في مُكنة والصقه هنا." 1925 1447 1926 #: includes/class-ats-moknah-player-design-admin.php:63 1448 1927 msgid "Pro: Aurora Card" … … 1486 1965 "during long reading sessions." 1487 1966 msgstr "" 1488 "تساعدك مقالة المعاينة المُطولة هذه على اختبار سلوك المشغل المُثبّت أثناء "1489 " جلساتالقراءة الطويلة."1967 "تساعدك مقالة المعاينة المُطولة هذه على اختبار سلوك المشغل المُثبّت أثناء جلسات " 1968 "القراءة الطويلة." 1490 1969 1491 1970 #: includes/class-ats-moknah-player-design-admin.php:614 … … 1499 1978 #: includes/class-ats-moknah-player-design-admin.php:615 1500 1979 msgid "" 1501 "Use this area to validate spacing, contrast, and readability across dark and "1502 " light theme modes with your current design preset."1980 "Use this area to validate spacing, contrast, and readability across dark and " 1981 "light theme modes with your current design preset." 1503 1982 msgstr "" 1504 1983 "استخدم هذه المنطقة للتحقق من المسافات، والتباين، وسهولة القراءة عبر أوضاع " … … 1518 1997 "reachable and do not overlap article text on mobile breakpoints." 1519 1998 msgstr "" 1520 "جرّب عروضًا مختلفة للأجهزة من شريط الأدوات للتأكد من أن عناصر التحكم تظل "1521 " قابلةللوصول ولا تتداخل مع نص المقال في مقاسات الجوال."1999 "جرّب عروضًا مختلفة للأجهزة من شريط الأدوات للتأكد من أن عناصر التحكم تظل قابلة " 2000 "للوصول ولا تتداخل مع نص المقال في مقاسات الجوال." 1522 2001 1523 2002 #: includes/class-ats-moknah-player-design-admin.php:618 … … 1534 2013 "rescue button remains visible while the main player is out of view." 1535 2014 msgstr "" 1536 "واصل التمرير للوصول إلى قسم التذييل وتأكد من أن زر الإنقاذ العائم يظل مرئيًا "1537 " أثناء خروج المشغل الرئيسي عن الشاشة."2015 "واصل التمرير للوصول إلى قسم التذييل وتأكد من أن زر الإنقاذ العائم يظل مرئيًا " 2016 "أثناء خروج المشغل الرئيسي عن الشاشة." 1538 2017 1539 2018 #: includes/class-ats-moknah-player-design-admin.php:620 … … 1589 2068 "المؤقت فقط عندما يخرج المشغل عن الشاشة." 1590 2069 2070 #: includes/class-ats-moknah-rating.php:65 2071 msgid "How does this audio sound?" 2072 msgstr "كيف تبدو جودة هذا الصوت؟" 2073 2074 #: includes/class-ats-moknah-rating.php:66 2075 msgid "How would you rate ATS Moknah?" 2076 msgstr "ما تقييمك لـ ATS Moknah؟" 2077 2078 #: includes/class-ats-moknah-rating.php:74 2079 msgid "Tap a star — it takes one second and helps us a lot." 2080 msgstr "اضغط على نجمة — يستغرق ذلك ثانية واحدة ويساعدنا كثيرًا." 2081 2082 #: includes/class-ats-moknah-rating.php:77 2083 msgid "Rating" 2084 msgstr "التقييم" 2085 2086 #. translators: %d: number of stars 2087 #: includes/class-ats-moknah-rating.php:80 2088 #, php-format 2089 msgid "%d star" 2090 msgid_plural "%d stars" 2091 msgstr[0] "%d نجوم" 2092 msgstr[1] "نجمة واحدة" 2093 msgstr[2] "نجمتان" 2094 msgstr[3] "%d نجوم" 2095 msgstr[4] "%d نجمة" 2096 msgstr[5] "%d نجمة" 2097 2098 #: includes/class-ats-moknah-rating.php:83 2099 msgid "Not now" 2100 msgstr "ليس الآن" 2101 2102 #: includes/class-ats-moknah-rating.php:88 2103 msgid "Thank you! Would you share that on WordPress.org?" 2104 msgstr "شكرًا لك! هل تشاركنا رأيك على WordPress.org؟" 2105 2106 #: includes/class-ats-moknah-rating.php:89 2107 msgid "" 2108 "It takes about 30 seconds. Sign in to WordPress.org and you land right on " 2109 "the review form." 2110 msgstr "" 2111 "يستغرق ذلك نحو 30 ثانية. سجّل الدخول إلى WordPress.org وستنتقل مباشرة إلى " 2112 "نموذج التقييم." 2113 2114 #: includes/class-ats-moknah-rating.php:93 2115 msgid "Share on WordPress.org" 2116 msgstr "شارك على WordPress.org" 2117 2118 #: includes/class-ats-moknah-rating.php:95 2119 msgid "Maybe later" 2120 msgstr "ربما لاحقًا" 2121 2122 #: includes/class-ats-moknah-rating.php:101 2123 msgid "Sorry to hear that. What should we improve?" 2124 msgstr "نأسف لسماع ذلك. ما الذي يجب أن نحسّنه؟" 2125 2126 #: includes/class-ats-moknah-rating.php:102 2127 msgid "Your message goes privately to the Moknah team — no account needed." 2128 msgstr "تصل رسالتك بشكل خاص إلى فريق مُكنة — دون الحاجة إلى حساب." 2129 2130 #: includes/class-ats-moknah-rating.php:104 2131 msgid "Tell us what went wrong or what is missing…" 2132 msgstr "أخبرنا بما حدث من خطأ أو ما ينقص…" 2133 2134 #. translators: %s: the current user's email address 2135 #: includes/class-ats-moknah-rating.php:109 2136 #, php-format 2137 msgid "Moknah may reply to %s" 2138 msgstr "يمكن لمُكنة الرد على %s" 2139 2140 #: includes/class-ats-moknah-rating.php:113 2141 msgid "Send feedback" 2142 msgstr "إرسال الملاحظات" 2143 2144 #: includes/class-ats-moknah-rating.php:114 2145 msgid "Or post a public review on WordPress.org" 2146 msgstr "أو انشر تقييمًا عامًا على WordPress.org" 2147 2148 #: includes/class-ats-moknah-rating.php:120 2149 msgid "Thank you — we read every message." 2150 msgstr "شكرًا لك — نقرأ كل رسالة." 2151 2152 #: includes/class-ats-moknah-rating.php:170 2153 msgid "Please write a short message." 2154 msgstr "يرجى كتابة رسالة قصيرة." 2155 1591 2156 #: views/views-ats-moknah-admin-analytics.php:16 1592 2157 msgid "Audio Analytics" … … 1608 2173 msgid "Export All Pages" 1609 2174 msgstr "تصدير جميع الصفحات" 1610 1611 #: views/views-ats-moknah-admin-analytics.php:381612 msgid "Export CSV"1613 msgstr "تصدير كملف CSV"1614 2175 1615 2176 #: views/views-ats-moknah-admin-analytics.php:47 … … 1804 2365 msgstr "اعرف بدقة أين يتوقف المستمعون في مقالاتك الصوتية." 1805 2366 1806 #: views/views-ats-moknah-admin-heatmap.php:511807 msgid "Article"1808 msgstr "المقال"1809 1810 2367 #: views/views-ats-moknah-admin-heatmap.php:58 1811 2368 msgid "Search by title…" … … 1884 2441 "as visitors listen to the audio." 1885 2442 msgstr "" 1886 "لم يتم العثور على بيانات استماع لهذا المقال في الفترة المحددة. تُسجَّل "1887 " البياناتأثناء استماع الزوار إلى الصوت."2443 "لم يتم العثور على بيانات استماع لهذا المقال في الفترة المحددة. تُسجَّل البيانات " 2444 "أثناء استماع الزوار إلى الصوت." 1888 2445 1889 2446 #: views/views-ats-moknah-admin-heatmap.php:229 -
ats-moknah-article-to-speech/trunk/languages/ats-moknah-article-to-speech.pot
r3717670 r3727722 3 3 msgid "" 4 4 msgstr "" 5 "Project-Id-Version: ATS Moknah 1.4.0\n"6 "Report-Msgid-Bugs-To: sales@moknah.io\n"5 "Project-Id-Version: ATS Moknah – Text to Speech, AI Voice & Audio Player 1.4.1\n" 6 "Report-Msgid-Bugs-To: https://wordpress.org/support/plugin/ats-moknah-article-to-speech\n" 7 7 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" 8 8 "Language-Team: LANGUAGE <LL@li.org>\n" … … 10 10 "Content-Type: text/plain; charset=UTF-8\n" 11 11 "Content-Transfer-Encoding: 8bit\n" 12 "POT-Creation-Date: 2026- 09-28T17:02:00+00:00\n"12 "POT-Creation-Date: 2026-10-04T17:19:10+00:00\n" 13 13 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" 14 14 "X-Generator: WP-CLI 2.12.0\n" … … 17 17 #. Plugin Name of the plugin 18 18 #: ats-moknah.php 19 #: ats-moknah.php:66 20 #: includes/class-ats-moknah-admin.php:46 21 #: includes/class-ats-moknah-admin.php:47 22 msgid "ATS Moknah" 19 msgid "ATS Moknah – Text to Speech, AI Voice & Audio Player" 23 20 msgstr "" 24 21 … … 30 27 #. Description of the plugin 31 28 #: ats-moknah.php 32 msgid " Convert WordPress articles to speech using Moknah TTS API."29 msgid "Turn posts into natural AI voice audio. Text to speech in Arabic, English and more, with an audio player, word highlighting and listener analytics." 33 30 msgstr "" 34 31 … … 45 42 msgstr "" 46 43 47 #: ats-moknah.php: 5944 #: ats-moknah.php:60 48 45 msgid "ATS Moknah sends post content to the Moknah TTS API to generate audio files." 49 46 msgstr "" 50 47 51 #: ats-moknah.php:6 048 #: ats-moknah.php:61 52 49 msgid "The analytics module stores playback events and aggregated totals in your WordPress database." 53 50 msgstr "" 54 51 55 #: ats-moknah.php:6 152 #: ats-moknah.php:62 56 53 msgid "For abuse prevention and deduplication, ATS Moknah stores a salted visitor hash, a salted IP hash, an anonymized IP value, and a truncated user-agent string. An anonymous first-party cookie (ats_vid) may be set for visitor deduplication." 57 54 msgstr "" 58 55 59 #: ats-moknah.php:6 256 #: ats-moknah.php:63 60 57 msgid "Analytics data retention is controlled by your site policy; a common retention window is 30 to 90 days for raw event data." 61 58 msgstr "" 62 59 63 #: ats-moknah.php:6 360 #: ats-moknah.php:64 64 61 msgid "When GeoIP headers are unavailable, ATS Moknah may send the visitor IP to ipapi.co (third-party geolocation service) to resolve a 2-letter country code and cache it locally." 62 msgstr "" 63 64 #: ats-moknah.php:65 65 msgid "If an administrator chooses to send feedback from the plugin, the message, star rating, site URL, plugin/WordPress/PHP versions and (only if allowed) the administrator's email are emailed to Moknah." 66 msgstr "" 67 68 #: ats-moknah.php:66 69 msgid "If listener feedback is enabled, visitors can rate the audio in the player. Their vote, chosen reasons, optional comment, the voice and device type are stored in this site's database with a salted visitor hash (no IP address). Nothing is sent to Moknah." 70 msgstr "" 71 72 #: ats-moknah.php:69 73 #: includes/class-ats-moknah-admin.php:46 74 #: includes/class-ats-moknah-admin.php:47 75 msgid "ATS Moknah" 65 76 msgstr "" 66 77 … … 91 102 92 103 #: includes/analytics/class-ats-moknah-analytics-admin.php:86 93 #: includes/class-ats-moknah-admin.php:288 2104 #: includes/class-ats-moknah-admin.php:2885 94 105 #: views/views-ats-moknah-admin-analytics.php:98 95 106 msgid "Voice" … … 102 113 103 114 #: includes/analytics/class-ats-moknah-analytics-admin.php:92 115 #: includes/class-ats-moknah-feedback.php:851 104 116 #: views/views-ats-moknah-admin-analytics.php:100 105 117 msgid "Device" … … 724 736 725 737 #: includes/class-ats-moknah-admin.php:1366 738 #: includes/class-ats-moknah-feedback.php:853 726 739 msgid "Desktop" 727 740 msgstr "" 728 741 729 742 #: includes/class-ats-moknah-admin.php:1368 743 #: includes/class-ats-moknah-feedback.php:854 730 744 msgid "Mobile" 731 745 msgstr "" … … 910 924 #: includes/class-ats-moknah-admin.php:2706 911 925 #: includes/class-ats-moknah-admin.php:2800 912 #: includes/class-ats-moknah-admin.php:2808 926 #: includes/class-ats-moknah-admin.php:2811 927 #: includes/class-ats-moknah-feedback.php:665 913 928 msgid "Open settings" 914 929 msgstr "" … … 1021 1036 msgstr "" 1022 1037 1023 #: includes/class-ats-moknah-admin.php:2805 1024 #: includes/class-ats-moknah-admin.php:2897 1038 #: includes/class-ats-moknah-admin.php:2802 1039 #: includes/class-ats-moknah-notices.php:242 1040 msgid "Get an API key" 1041 msgstr "" 1042 1043 #: includes/class-ats-moknah-admin.php:2804 1044 msgid "Register with an email on your website's domain — company access requires a matching email domain." 1045 msgstr "" 1046 1047 #: includes/class-ats-moknah-admin.php:2808 1048 #: includes/class-ats-moknah-admin.php:2900 1025 1049 msgid "No voices available" 1026 1050 msgstr "" 1027 1051 1028 #: includes/class-ats-moknah-admin.php:28 071052 #: includes/class-ats-moknah-admin.php:2810 1029 1053 msgid "Voices could not be loaded. Check your API key." 1030 1054 msgstr "" 1031 1055 1032 #: includes/class-ats-moknah-admin.php:281 51056 #: includes/class-ats-moknah-admin.php:2818 1033 1057 msgid "No details were returned." 1034 1058 msgstr "" 1035 1059 1036 #: includes/class-ats-moknah-admin.php:283 01060 #: includes/class-ats-moknah-admin.php:2833 1037 1061 msgid "Your previous audio is still live on the post." 1038 1062 msgstr "" 1039 1063 1040 #: includes/class-ats-moknah-admin.php:283 51064 #: includes/class-ats-moknah-admin.php:2838 1041 1065 #: assets/js/admin.js:213 1042 1066 msgid "Technical details" … … 1044 1068 1045 1069 #. translators: %s: human time difference, e.g. "5 mins" 1046 #: includes/class-ats-moknah-admin.php:2841 1070 #: includes/class-ats-moknah-admin.php:2844 1071 #: includes/class-ats-moknah-feedback.php:888 1047 1072 #, php-format 1048 1073 msgid "%s ago" 1049 1074 msgstr "" 1050 1075 1051 #: includes/class-ats-moknah-admin.php:286 31076 #: includes/class-ats-moknah-admin.php:2866 1052 1077 msgid "Enable Text-to-Speech" 1053 1078 msgstr "" 1054 1079 1055 #: includes/class-ats-moknah-admin.php:286 41080 #: includes/class-ats-moknah-admin.php:2867 1056 1081 msgid "Generate audio and show the player on this post." 1057 1082 msgstr "" 1058 1083 1059 #: includes/class-ats-moknah-admin.php:287 21084 #: includes/class-ats-moknah-admin.php:2875 1060 1085 msgid "AI preprocessing" 1061 1086 msgstr "" 1062 1087 1063 #: includes/class-ats-moknah-admin.php:287 31088 #: includes/class-ats-moknah-admin.php:2876 1064 1089 msgid "Clean and add tashkeel before speech (Arabic)." 1065 1090 msgstr "" 1066 1091 1067 #: includes/class-ats-moknah-admin.php:28 871068 #: includes/class-ats-moknah-admin.php:31 211092 #: includes/class-ats-moknah-admin.php:2890 1093 #: includes/class-ats-moknah-admin.php:3137 1069 1094 msgid "Select a voice" 1070 1095 msgstr "" 1071 1096 1072 #: includes/class-ats-moknah-admin.php:290 31097 #: includes/class-ats-moknah-admin.php:2906 1073 1098 msgid "Preview" 1074 1099 msgstr "" 1075 1100 1076 #: includes/class-ats-moknah-admin.php:291 31101 #: includes/class-ats-moknah-admin.php:2916 1077 1102 msgid "Generated audio" 1078 1103 msgstr "" 1079 1104 1080 #: includes/class-ats-moknah-admin.php:291 61105 #: includes/class-ats-moknah-admin.php:2919 1081 1106 msgid "AI preprocessed" 1082 1107 msgstr "" 1083 1108 1084 #: includes/class-ats-moknah-admin.php:29 171109 #: includes/class-ats-moknah-admin.php:2920 1085 1110 msgid "No preprocessing" 1086 1111 msgstr "" 1087 1112 1088 1113 #: includes/class-ats-moknah-admin.php:2926 1089 #: includes/class-ats-moknah-admin.php:3168 1114 msgid "Listeners" 1115 msgstr "" 1116 1117 #: includes/class-ats-moknah-admin.php:2939 1118 #: includes/class-ats-moknah-admin.php:3184 1090 1119 msgid "Player position" 1091 1120 msgstr "" 1092 1121 1093 #: includes/class-ats-moknah-admin.php:29 271122 #: includes/class-ats-moknah-admin.php:2940 1094 1123 msgid "Change" 1095 1124 msgstr "" 1096 1125 1097 #: includes/class-ats-moknah-admin.php:29 411126 #: includes/class-ats-moknah-admin.php:2954 1098 1127 msgid "Regenerate after editing the post so the audio matches." 1099 1128 msgstr "" 1100 1129 1101 #: includes/class-ats-moknah-admin.php:29 421130 #: includes/class-ats-moknah-admin.php:2955 1102 1131 msgid "Save your latest edits first — the saved content is converted." 1103 1132 msgstr "" 1104 1133 1105 #: includes/class-ats-moknah-admin.php: 29911134 #: includes/class-ats-moknah-admin.php:3004 1106 1135 msgid "Settings saved successfully." 1107 1136 msgstr "" 1108 1137 1109 #: includes/class-ats-moknah-admin.php:30 011138 #: includes/class-ats-moknah-admin.php:3014 1110 1139 msgid "Moknah Logo" 1111 1140 msgstr "" 1112 1141 1113 #: includes/class-ats-moknah-admin.php:30 031142 #: includes/class-ats-moknah-admin.php:3016 1114 1143 msgid "ATS Moknah Settings" 1115 1144 msgstr "" 1116 1145 1117 #: includes/class-ats-moknah-admin.php:30 051146 #: includes/class-ats-moknah-admin.php:3018 1118 1147 msgid "Configure your Article to Speech settings and default preferences." 1119 1148 msgstr "" 1120 1149 1121 #: includes/class-ats-moknah-admin.php:30 111150 #: includes/class-ats-moknah-admin.php:3024 1122 1151 msgid "Warning:" 1123 1152 msgstr "" 1124 1153 1125 #: includes/class-ats-moknah-admin.php:30 121154 #: includes/class-ats-moknah-admin.php:3025 1126 1155 msgid "Unable to load voices from Moknah API. Please verify your API key is correct and has the necessary permissions." 1127 1156 msgstr "" 1128 1157 1129 #: includes/class-ats-moknah-admin.php:30 251158 #: includes/class-ats-moknah-admin.php:3038 1130 1159 msgid "API Configuration" 1131 1160 msgstr "" 1132 1161 1133 #: includes/class-ats-moknah-admin.php:30 301162 #: includes/class-ats-moknah-admin.php:3043 1134 1163 msgid "Moknah API Key" 1135 1164 msgstr "" 1136 1165 1137 #: includes/class-ats-moknah-admin.php:30 311166 #: includes/class-ats-moknah-admin.php:3044 1138 1167 msgid "Enter your Moknah API key to enable text-to-speech conversion." 1139 1168 msgstr "" 1140 1169 1141 #: includes/class-ats-moknah-admin.php:30 391170 #: includes/class-ats-moknah-admin.php:3052 1142 1171 msgid "Enter a new API key to replace current key" 1143 1172 msgstr "" 1144 1173 1145 1174 #. translators: %s: masked API key suffix 1146 #: includes/class-ats-moknah-admin.php:30 451175 #: includes/class-ats-moknah-admin.php:3058 1147 1176 #, php-format 1148 1177 msgid "Current key: %s" 1149 1178 msgstr "" 1150 1179 1151 #: includes/class-ats-moknah-admin.php:30 551180 #: includes/class-ats-moknah-admin.php:3071 1152 1181 msgid "Article Selector" 1153 1182 msgstr "" 1154 1183 1155 #: includes/class-ats-moknah-admin.php:30 561184 #: includes/class-ats-moknah-admin.php:3072 1156 1185 msgid "Enter the innermost CSS selector that directly contains the post title and body." 1157 1186 msgstr "" 1158 1187 1159 #: includes/class-ats-moknah-admin.php:30 681188 #: includes/class-ats-moknah-admin.php:3084 1160 1189 msgid "Skipped Selectors" 1161 1190 msgstr "" 1162 1191 1163 #: includes/class-ats-moknah-admin.php:30 691192 #: includes/class-ats-moknah-admin.php:3085 1164 1193 msgid "A list of CSS selectors inside \"Article Selector\" which you plan to ignore them from being highlighted" 1165 1194 msgstr "" 1166 1195 1167 #: includes/class-ats-moknah-admin.php:30 701196 #: includes/class-ats-moknah-admin.php:3086 1168 1197 msgid "'.highlighter-skip' Selector is included by default" 1169 1198 msgstr "" 1170 1199 1171 #: includes/class-ats-moknah-admin.php:30 821200 #: includes/class-ats-moknah-admin.php:3098 1172 1201 msgid "Callback url" 1173 1202 msgstr "" 1174 1203 1175 #: includes/class-ats-moknah-admin.php:30 831204 #: includes/class-ats-moknah-admin.php:3099 1176 1205 msgid "( optional )" 1177 1206 msgstr "" 1178 1207 1179 #: includes/class-ats-moknah-admin.php:3 0841208 #: includes/class-ats-moknah-admin.php:3100 1180 1209 msgid "Enter the callback URL to receive audio file notifications." 1181 1210 msgstr "" 1182 1211 1183 1212 #. translators: %s: Default callback URL 1184 #: includes/class-ats-moknah-admin.php:3 0901213 #: includes/class-ats-moknah-admin.php:3106 1185 1214 #, php-format 1186 1215 msgid "Default: %s" 1187 1216 msgstr "" 1188 1217 1189 #: includes/class-ats-moknah-admin.php:31 081218 #: includes/class-ats-moknah-admin.php:3124 1190 1219 msgid "Voice Settings" 1191 1220 msgstr "" 1192 1221 1193 #: includes/class-ats-moknah-admin.php:31 131222 #: includes/class-ats-moknah-admin.php:3129 1194 1223 msgid "Default Voice" 1195 1224 msgstr "" 1196 1225 1197 #: includes/class-ats-moknah-admin.php:31 141226 #: includes/class-ats-moknah-admin.php:3130 1198 1227 msgid "Select the default voice for new articles." 1199 1228 msgstr "" 1200 1229 1201 #: includes/class-ats-moknah-admin.php:31 431230 #: includes/class-ats-moknah-admin.php:3159 1202 1231 msgid "Please save your API key first to load available voices." 1203 1232 msgstr "" 1204 1233 1205 #: includes/class-ats-moknah-admin.php:31 531234 #: includes/class-ats-moknah-admin.php:3169 1206 1235 msgid "Display Settings" 1207 1236 msgstr "" 1208 1237 1209 #: includes/class-ats-moknah-admin.php:31 581238 #: includes/class-ats-moknah-admin.php:3174 1210 1239 msgid "Post Types & Player Position" 1211 1240 msgstr "" 1212 1241 1213 #: includes/class-ats-moknah-admin.php:31 591242 #: includes/class-ats-moknah-admin.php:3175 1214 1243 msgid "Enable ATS per content type and choose where its player appears." 1215 1244 msgstr "" 1216 1245 1217 #: includes/class-ats-moknah-admin.php:31 661246 #: includes/class-ats-moknah-admin.php:3182 1218 1247 msgid "Post type" 1219 1248 msgstr "" 1220 1249 1221 #: includes/class-ats-moknah-admin.php:31 671250 #: includes/class-ats-moknah-admin.php:3183 1222 1251 msgid "Enabled" 1223 1252 msgstr "" 1224 1253 1225 #: includes/class-ats-moknah-admin.php:32 181254 #: includes/class-ats-moknah-admin.php:3234 1226 1255 msgid "e.g. .entry-meta or #post-title or .wp-block-post-featured-image" 1227 1256 msgstr "" 1228 1257 1229 #: includes/class-ats-moknah-admin.php:32 201258 #: includes/class-ats-moknah-admin.php:3236 1230 1259 msgid "CSS selector of the element (class, ID…). The first match on the page is used; if nothing matches, the player shows at the top of the content." 1231 1260 msgstr "" 1232 1261 1233 #: includes/class-ats-moknah-admin.php:3235 1262 #: includes/class-ats-moknah-admin.php:3249 1263 #: includes/class-ats-moknah-feedback.php:446 1264 #: includes/class-ats-moknah-feedback.php:447 1265 #: includes/class-ats-moknah-feedback.php:659 1266 msgid "Listener Feedback" 1267 msgstr "" 1268 1269 #: includes/class-ats-moknah-admin.php:3250 1270 msgid "Ask listeners \"How was this audio?\" in the player after they listen to half of an article. Results appear under ATS Moknah → Listener Feedback." 1271 msgstr "" 1272 1273 #: includes/class-ats-moknah-admin.php:3257 1274 msgid "Show the feedback question in the player" 1275 msgstr "" 1276 1277 #: includes/class-ats-moknah-admin.php:3260 1278 msgid "Keep plain \"Good\" votes for" 1279 msgstr "" 1280 1281 #: includes/class-ats-moknah-admin.php:3266 1282 msgid "Totals and charts are kept forever. \"Not good\" votes, reasons and comments are never removed automatically." 1283 msgstr "" 1284 1285 #: includes/class-ats-moknah-admin.php:3268 1286 msgid "View listener feedback" 1287 msgstr "" 1288 1289 #: includes/class-ats-moknah-admin.php:3276 1234 1290 msgid "Save Settings" 1235 1291 msgstr "" 1236 1292 1237 #: includes/class-ats-moknah-admin.php:3 3811293 #: includes/class-ats-moknah-admin.php:3422 1238 1294 msgid "API authentication failed. Please check your API key in settings." 1239 1295 msgstr "" 1240 1296 1241 #: includes/class-ats-moknah-admin.php:3 3851297 #: includes/class-ats-moknah-admin.php:3426 1242 1298 msgid "Invalid request data. Please check your input and try again." 1243 1299 msgstr "" 1244 1300 1245 #: includes/class-ats-moknah-admin.php:3 3891301 #: includes/class-ats-moknah-admin.php:3430 1246 1302 msgid "The selected voice ID is invalid. Please choose a valid voice and try again." 1247 1303 msgstr "" 1248 1304 1249 #: includes/class-ats-moknah-admin.php:3 3931305 #: includes/class-ats-moknah-admin.php:3434 1250 1306 msgid "Trial limit exceeded. Please contact api@moknah.io." 1251 1307 msgstr "" 1252 1308 1253 #: includes/class-ats-moknah-admin.php:3 3971309 #: includes/class-ats-moknah-admin.php:3438 1254 1310 msgid "Your account is suspended or inactive. Please contact api@moknah.io." 1255 1311 msgstr "" 1256 1312 1257 #: includes/class-ats-moknah-admin.php:34 011313 #: includes/class-ats-moknah-admin.php:3442 1258 1314 msgid "This article is already being processed. Please wait until it finishes." 1259 1315 msgstr "" 1260 1316 1261 #: includes/class-ats-moknah-admin.php:34 051317 #: includes/class-ats-moknah-admin.php:3446 1262 1318 msgid "An error occurred while processing your request. Please try again later." 1263 1319 msgstr "" 1264 1320 1265 #: includes/class-ats-moknah-admin.php:34 091321 #: includes/class-ats-moknah-admin.php:3450 1266 1322 msgid "Unable to connect to Moknah API. Please check your internet connection and try again." 1267 1323 msgstr "" 1268 1324 1269 #: includes/class-ats-moknah-admin.php:34 131325 #: includes/class-ats-moknah-admin.php:3454 1270 1326 msgid "Request timed out. Please try again later." 1271 1327 msgstr "" 1272 1328 1273 #: includes/class-ats-moknah-admin.php:34 171329 #: includes/class-ats-moknah-admin.php:3458 1274 1330 msgid "Too many requests. Please wait and try again." 1331 msgstr "" 1332 1333 #: includes/class-ats-moknah-feedback.php:42 1334 msgid "Pronunciation" 1335 msgstr "" 1336 1337 #: includes/class-ats-moknah-feedback.php:43 1338 msgid "Voice quality" 1339 msgstr "" 1340 1341 #: includes/class-ats-moknah-feedback.php:44 1342 msgid "Too fast or too slow" 1343 msgstr "" 1344 1345 #: includes/class-ats-moknah-feedback.php:45 1346 msgid "Wrong or missing text" 1347 msgstr "" 1348 1349 #: includes/class-ats-moknah-feedback.php:46 1350 msgid "Player problem" 1351 msgstr "" 1352 1353 #: includes/class-ats-moknah-feedback.php:47 1354 msgid "Other" 1355 msgstr "" 1356 1357 #: includes/class-ats-moknah-feedback.php:54 1358 #: includes/class-ats-moknah-feedback.php:655 1359 msgid "30 days" 1360 msgstr "" 1361 1362 #: includes/class-ats-moknah-feedback.php:55 1363 #: includes/class-ats-moknah-feedback.php:655 1364 msgid "90 days" 1365 msgstr "" 1366 1367 #: includes/class-ats-moknah-feedback.php:56 1368 msgid "180 days" 1369 msgstr "" 1370 1371 #: includes/class-ats-moknah-feedback.php:57 1372 msgid "1 year" 1373 msgstr "" 1374 1375 #: includes/class-ats-moknah-feedback.php:58 1376 msgid "Forever" 1377 msgstr "" 1378 1379 #: includes/class-ats-moknah-feedback.php:428 1380 msgid "How was this audio?" 1381 msgstr "" 1382 1383 #: includes/class-ats-moknah-feedback.php:429 1384 #: includes/class-ats-moknah-feedback.php:711 1385 #: includes/class-ats-moknah-feedback.php:797 1386 msgid "Good" 1387 msgstr "" 1388 1389 #: includes/class-ats-moknah-feedback.php:430 1390 #: includes/class-ats-moknah-feedback.php:711 1391 #: includes/class-ats-moknah-feedback.php:798 1392 msgid "Not good" 1393 msgstr "" 1394 1395 #: includes/class-ats-moknah-feedback.php:431 1396 msgid "Close" 1397 msgstr "" 1398 1399 #: includes/class-ats-moknah-feedback.php:432 1400 msgid "What could be better?" 1401 msgstr "" 1402 1403 #: includes/class-ats-moknah-feedback.php:433 1404 msgid "Optional: tell us more…" 1405 msgstr "" 1406 1407 #: includes/class-ats-moknah-feedback.php:434 1408 msgid "Send" 1409 msgstr "" 1410 1411 #: includes/class-ats-moknah-feedback.php:435 1412 msgid "Thanks for your feedback!" 1413 msgstr "" 1414 1415 #: includes/class-ats-moknah-feedback.php:629 1416 #: includes/class-ats-moknah-frontend.php:512 1417 #: includes/class-ats-moknah-player-design-admin.php:559 1418 msgid "Previous" 1419 msgstr "" 1420 1421 #. translators: %d: page number 1422 #: includes/class-ats-moknah-feedback.php:632 1423 #, php-format 1424 msgid "Page %d" 1425 msgstr "" 1426 1427 #: includes/class-ats-moknah-feedback.php:634 1428 #: includes/class-ats-moknah-frontend.php:513 1429 #: includes/class-ats-moknah-player-design-admin.php:560 1430 msgid "Next" 1431 msgstr "" 1432 1433 #: includes/class-ats-moknah-feedback.php:655 1434 msgid "7 days" 1435 msgstr "" 1436 1437 #: includes/class-ats-moknah-feedback.php:655 1438 msgid "All time" 1439 msgstr "" 1440 1441 #: includes/class-ats-moknah-feedback.php:660 1442 msgid "What your readers say about the audio, from the \"How was this audio?\" question in the player." 1443 msgstr "" 1444 1445 #: includes/class-ats-moknah-feedback.php:664 1446 msgid "Listener feedback is turned off. Turn it on in Settings → Display Settings." 1447 msgstr "" 1448 1449 #: includes/class-ats-moknah-feedback.php:679 1450 msgid "From" 1451 msgstr "" 1452 1453 #: includes/class-ats-moknah-feedback.php:682 1454 msgid "To" 1455 msgstr "" 1456 1457 #: includes/class-ats-moknah-feedback.php:684 1458 msgid "Apply" 1459 msgstr "" 1460 1461 #: includes/class-ats-moknah-feedback.php:686 1462 #: views/views-ats-moknah-admin-analytics.php:38 1463 msgid "Export CSV" 1464 msgstr "" 1465 1466 #: includes/class-ats-moknah-feedback.php:690 1467 #: includes/class-ats-moknah-feedback.php:796 1468 msgid "Responses" 1469 msgstr "" 1470 1471 #: includes/class-ats-moknah-feedback.php:692 1472 #: includes/class-ats-moknah-feedback.php:799 1473 msgid "Satisfaction" 1474 msgstr "" 1475 1476 #: includes/class-ats-moknah-feedback.php:696 1477 #: includes/class-ats-moknah-feedback.php:800 1478 msgid "Comments" 1479 msgstr "" 1480 1481 #: includes/class-ats-moknah-feedback.php:702 1482 msgid "Responses by month" 1483 msgstr "" 1484 1485 #: includes/class-ats-moknah-feedback.php:702 1486 msgid "Responses by day" 1487 msgstr "" 1488 1489 #: includes/class-ats-moknah-feedback.php:704 1490 msgid "Responses over time" 1491 msgstr "" 1492 1493 #: includes/class-ats-moknah-feedback.php:714 1494 msgid "Top reasons for \"Not good\"" 1495 msgstr "" 1496 1497 #: includes/class-ats-moknah-feedback.php:716 1498 msgid "No reasons selected yet." 1499 msgstr "" 1500 1501 #: includes/class-ats-moknah-feedback.php:729 1502 msgid "Articles" 1503 msgstr "" 1504 1505 #: includes/class-ats-moknah-feedback.php:730 1506 msgid "Comments & issues" 1507 msgstr "" 1508 1509 #: includes/class-ats-moknah-feedback.php:759 1510 msgid "Most \"Not good\"" 1511 msgstr "" 1512 1513 #: includes/class-ats-moknah-feedback.php:760 1514 msgid "Most responses" 1515 msgstr "" 1516 1517 #: includes/class-ats-moknah-feedback.php:761 1518 msgid "Lowest satisfaction" 1519 msgstr "" 1520 1521 #: includes/class-ats-moknah-feedback.php:762 1522 msgid "Highest satisfaction" 1523 msgstr "" 1524 1525 #: includes/class-ats-moknah-feedback.php:763 1526 msgid "Most recent" 1527 msgstr "" 1528 1529 #: includes/class-ats-moknah-feedback.php:770 1530 msgid "Search article title or ID…" 1531 msgstr "" 1532 1533 #: includes/class-ats-moknah-feedback.php:771 1534 msgid "Sort by" 1535 msgstr "" 1536 1537 #: includes/class-ats-moknah-feedback.php:778 1538 msgid "Min. responses" 1539 msgstr "" 1540 1541 #: includes/class-ats-moknah-feedback.php:781 1542 #: includes/class-ats-moknah-feedback.php:859 1543 msgid "Filter" 1544 msgstr "" 1545 1546 #: includes/class-ats-moknah-feedback.php:783 1547 #: includes/class-ats-moknah-feedback.php:861 1548 msgid "Clear filters" 1549 msgstr "" 1550 1551 #: includes/class-ats-moknah-feedback.php:789 1552 msgid "No articles match these filters. Readers see the question after listening to half of an article." 1553 msgstr "" 1554 1555 #: includes/class-ats-moknah-feedback.php:795 1556 #: views/views-ats-moknah-admin-heatmap.php:51 1557 msgid "Article" 1558 msgstr "" 1559 1560 #: includes/class-ats-moknah-feedback.php:810 1561 msgid "Edit post" 1562 msgstr "" 1563 1564 #: includes/class-ats-moknah-feedback.php:817 1565 msgid "View feedback" 1566 msgstr "" 1567 1568 #: includes/class-ats-moknah-feedback.php:840 1569 msgid "Remove article filter" 1570 msgstr "" 1571 1572 #: includes/class-ats-moknah-feedback.php:843 1573 msgid "Article title or ID…" 1574 msgstr "" 1575 1576 #: includes/class-ats-moknah-feedback.php:845 1577 msgid "Reason" 1578 msgstr "" 1579 1580 #: includes/class-ats-moknah-feedback.php:846 1581 msgid "All reasons" 1582 msgstr "" 1583 1584 #: includes/class-ats-moknah-feedback.php:852 1585 msgid "All devices" 1586 msgstr "" 1587 1588 #: includes/class-ats-moknah-feedback.php:855 1589 msgid "Tablet" 1590 msgstr "" 1591 1592 #: includes/class-ats-moknah-feedback.php:857 1593 msgid "With comment" 1594 msgstr "" 1595 1596 #: includes/class-ats-moknah-feedback.php:858 1597 msgid "Search in comments…" 1598 msgstr "" 1599 1600 #: includes/class-ats-moknah-feedback.php:867 1601 msgid "No feedback matches these filters." 1602 msgstr "" 1603 1604 #: includes/class-ats-moknah-feedback.php:867 1605 msgid "Nothing to review — readers only left positive votes." 1606 msgstr "" 1607 1608 #: includes/class-ats-moknah-feedback.php:875 1609 msgid "Select all" 1610 msgstr "" 1611 1612 #: includes/class-ats-moknah-feedback.php:876 1613 msgid "Delete selected" 1614 msgstr "" 1615 1616 #: includes/class-ats-moknah-feedback.php:881 1617 msgid "Select" 1618 msgstr "" 1619 1620 #: includes/class-ats-moknah-feedback.php:914 1621 msgid "Delete the selected feedback? This cannot be undone." 1622 msgstr "" 1623 1624 #: includes/class-ats-moknah-feedback.php:1001 1625 #: includes/class-ats-moknah-feedback.php:1032 1626 msgid "Not allowed." 1275 1627 msgstr "" 1276 1628 … … 1305 1657 msgstr "" 1306 1658 1307 #: includes/class-ats-moknah-frontend.php:5121308 #: includes/class-ats-moknah-player-design-admin.php:5591309 msgid "Previous"1310 msgstr ""1311 1312 #: includes/class-ats-moknah-frontend.php:5131313 #: includes/class-ats-moknah-player-design-admin.php:5601314 msgid "Next"1315 msgstr ""1316 1317 1659 #: includes/class-ats-moknah-frontend.php:514 1318 1660 #: includes/class-ats-moknah-player-design-admin.php:561 … … 1350 1692 msgstr "" 1351 1693 1694 #. translators: %s: new version number 1695 #: includes/class-ats-moknah-notices.php:110 1696 #, php-format 1697 msgid "ATS Moknah %s is available" 1698 msgstr "" 1699 1700 #: includes/class-ats-moknah-notices.php:116 1701 msgid "Auto-updates are on — it will update automatically soon." 1702 msgstr "" 1703 1704 #. translators: %s: installed version number 1705 #: includes/class-ats-moknah-notices.php:119 1706 #, php-format 1707 msgid "You are using version %s. Update to get the latest features and fixes." 1708 msgstr "" 1709 1710 #: includes/class-ats-moknah-notices.php:126 1711 msgid "Update now" 1712 msgstr "" 1713 1714 #: includes/class-ats-moknah-notices.php:128 1715 msgid "What's new" 1716 msgstr "" 1717 1718 #: includes/class-ats-moknah-notices.php:142 1719 msgid "Get an API key in a few clicks: register on Moknah.io, request company access, and paste the key in Settings." 1720 msgstr "" 1721 1722 #: includes/class-ats-moknah-notices.php:143 1723 msgid "ATS works on pages and custom post types, with a player position per post type." 1724 msgstr "" 1725 1726 #: includes/class-ats-moknah-notices.php:144 1727 msgid "Player Design: Custom CSS, editable player stylesheet and five new Pro presets." 1728 msgstr "" 1729 1730 #: includes/class-ats-moknah-notices.php:145 1731 msgid "Admin translated into more languages." 1732 msgstr "" 1733 1734 #. translators: %s: version number 1735 #: includes/class-ats-moknah-notices.php:159 1736 #, php-format 1737 msgid "What's new in ATS Moknah %s" 1738 msgstr "" 1739 1740 #: includes/class-ats-moknah-notices.php:167 1741 msgid "Full changelog" 1742 msgstr "" 1743 1744 #: includes/class-ats-moknah-notices.php:170 1745 msgid "Got it" 1746 msgstr "" 1747 1748 #: includes/class-ats-moknah-notices.php:224 1749 msgid "Get API key" 1750 msgstr "" 1751 1752 #: includes/class-ats-moknah-notices.php:225 1753 msgid "Rate ATS Moknah on WordPress.org" 1754 msgstr "" 1755 1756 #: includes/class-ats-moknah-notices.php:225 1757 msgid "Rate" 1758 msgstr "" 1759 1760 #: includes/class-ats-moknah-notices.php:232 1761 msgid "Register with an email on your website's domain (e.g. you@yourcompany.com for yourcompany.com). Company access can only be requested when the email domain matches the website." 1762 msgstr "" 1763 1764 #: includes/class-ats-moknah-notices.php:234 1765 msgid "Important:" 1766 msgstr "" 1767 1768 #: includes/class-ats-moknah-notices.php:237 1769 msgid "Create a Moknah account" 1770 msgstr "" 1771 1772 #: includes/class-ats-moknah-notices.php:238 1773 msgid "Request company access" 1774 msgstr "" 1775 1776 #: includes/class-ats-moknah-notices.php:239 1777 msgid "After approval, copy your API key from your Moknah account and paste it here." 1778 msgstr "" 1779 1352 1780 #: includes/class-ats-moknah-player-design-admin.php:63 1353 1781 msgid "Pro: Aurora Card" … … 1450 1878 msgstr "" 1451 1879 1880 #: includes/class-ats-moknah-rating.php:65 1881 msgid "How does this audio sound?" 1882 msgstr "" 1883 1884 #: includes/class-ats-moknah-rating.php:66 1885 msgid "How would you rate ATS Moknah?" 1886 msgstr "" 1887 1888 #: includes/class-ats-moknah-rating.php:74 1889 msgid "Tap a star — it takes one second and helps us a lot." 1890 msgstr "" 1891 1892 #: includes/class-ats-moknah-rating.php:77 1893 msgid "Rating" 1894 msgstr "" 1895 1896 #. translators: %d: number of stars 1897 #: includes/class-ats-moknah-rating.php:80 1898 #, php-format 1899 msgid "%d star" 1900 msgid_plural "%d stars" 1901 msgstr[0] "" 1902 msgstr[1] "" 1903 1904 #: includes/class-ats-moknah-rating.php:83 1905 msgid "Not now" 1906 msgstr "" 1907 1908 #: includes/class-ats-moknah-rating.php:88 1909 msgid "Thank you! Would you share that on WordPress.org?" 1910 msgstr "" 1911 1912 #: includes/class-ats-moknah-rating.php:89 1913 msgid "It takes about 30 seconds. Sign in to WordPress.org and you land right on the review form." 1914 msgstr "" 1915 1916 #: includes/class-ats-moknah-rating.php:93 1917 msgid "Share on WordPress.org" 1918 msgstr "" 1919 1920 #: includes/class-ats-moknah-rating.php:95 1921 msgid "Maybe later" 1922 msgstr "" 1923 1924 #: includes/class-ats-moknah-rating.php:101 1925 msgid "Sorry to hear that. What should we improve?" 1926 msgstr "" 1927 1928 #: includes/class-ats-moknah-rating.php:102 1929 msgid "Your message goes privately to the Moknah team — no account needed." 1930 msgstr "" 1931 1932 #: includes/class-ats-moknah-rating.php:104 1933 msgid "Tell us what went wrong or what is missing…" 1934 msgstr "" 1935 1936 #. translators: %s: the current user's email address 1937 #: includes/class-ats-moknah-rating.php:109 1938 #, php-format 1939 msgid "Moknah may reply to %s" 1940 msgstr "" 1941 1942 #: includes/class-ats-moknah-rating.php:113 1943 msgid "Send feedback" 1944 msgstr "" 1945 1946 #: includes/class-ats-moknah-rating.php:114 1947 msgid "Or post a public review on WordPress.org" 1948 msgstr "" 1949 1950 #: includes/class-ats-moknah-rating.php:120 1951 msgid "Thank you — we read every message." 1952 msgstr "" 1953 1954 #: includes/class-ats-moknah-rating.php:170 1955 msgid "Please write a short message." 1956 msgstr "" 1957 1452 1958 #: views/views-ats-moknah-admin-analytics.php:16 1453 1959 msgid "Audio Analytics" … … 1468 1974 #: views/views-ats-moknah-admin-analytics.php:34 1469 1975 msgid "Export All Pages" 1470 msgstr ""1471 1472 #: views/views-ats-moknah-admin-analytics.php:381473 msgid "Export CSV"1474 1976 msgstr "" 1475 1977 … … 1665 2167 msgstr "" 1666 2168 1667 #: views/views-ats-moknah-admin-heatmap.php:511668 msgid "Article"1669 msgstr ""1670 1671 2169 #: views/views-ats-moknah-admin-heatmap.php:58 1672 2170 msgid "Search by title…" -
ats-moknah-article-to-speech/trunk/readme.txt
r3717670 r3727722 1 === ATS Moknah ===1 === ATS Moknah – Text to Speech, AI Voice & Audio Player === 2 2 Contributors: moknah 3 Tags: text-to-speech, tts, a ccessibility, audio, ai-voice3 Tags: text-to-speech, tts, ai voice, audio player, arabic 4 4 Requires at least: 5.8 5 5 Tested up to: 7.1 6 6 Requires PHP: 8.2 7 Stable tag: 1.4. 07 Stable tag: 1.4.1 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html 10 10 11 Convert WordPress articles into engaging AI-powered speech with text highlighting and track listener engagement with advanced audioanalytics.11 Turn posts into natural AI voice audio. Text to speech in Arabic, English and more, with an audio player, word highlighting and listener analytics. 12 12 13 13 == Description == 14 14 15 ATS Moknah (Article to Speech) transforms your written content into high-quality AI voice narration using the Moknah TTS API. Each post can be converted to speech with synchronized text highlighting, providing enhanced accessibility and a better listening experience for your readers. 15 **ATS Moknah** is a text to speech plugin for WordPress that turns your posts, pages and articles into natural AI voice audio. Add a "Listen to the article" audio player to every post, highlight each word as it is read, and see how many readers listen with built-in audio analytics. 16 17 Built by Moknah, an Arabic-first AI voice platform, ATS Moknah delivers some of the most natural **Arabic text to speech** available for WordPress, including Gulf, Egyptian, Levantine and Maghrebi dialects, alongside English and other languages. It is ideal for news sites, blogs and publishers who want to offer audio articles, improve accessibility for visually impaired readers, and keep visitors on the page longer. 16 18 17 19 With **over 95 different AI voices** supporting **multiple Arabic dialects** and **multiple languages**, you can deliver content that resonates with your diverse audience in their preferred voice and language. … … 27 29 * 📝 **Text Highlighting** - Synchronized text highlighting follows the audio 28 30 * 📊 **Advanced Audio Analytics** - Track impressions, plays, completion rates, and listen times 31 * 💬 **Listener Feedback** - Readers rate the audio in the player (good / not good + reasons); see results per article in your dashboard 29 32 * 📈 **Exportable Reports** - Generate structured, business-ready CSV reports with date filtering 30 33 * ⚙️ **Per-Post Control** - Enable/disable speech generation for individual posts … … 42 45 43 46 1. Install and activate the plugin 44 2. Get your API key from Moknah.io (contact sales@moknah.io)47 2. Create an account on Moknah.io **with an email on your website's domain**, request company access, and get your API key once approved 45 48 3. Configure your settings and choose from 95+ voices 46 49 4. Enable speech generation for individual posts … … 61 64 To use ATS Moknah, you need an API key from Moknah.io. 62 65 63 **Email**: sales@moknah.io 64 **Subject**: API Key Request for ATS Moknah Plugin 65 66 Include your website URL and intended usage in your request. 66 **⚠️ Important: register with an email on your website's domain.** Company access can only be requested from an account whose email domain matches the company website. For `https://yourcompany.com`, register with an address like `you@yourcompany.com`. Accounts using Gmail, Outlook, Yahoo or another domain cannot submit the request. 67 68 1. Create an account at [moknah.io](https://moknah.io/app/acc/register/) using your company email (see above). 69 2. Open [Request Company Access](https://moknah.io/en/app/acc/my-company/request/) and submit your company name and website. 70 3. Wait for your company to be approved. 71 4. After approval, manage your API key from your Moknah account and paste it into **Settings → ATS Moknah → Moknah API Key**. 67 72 68 73 = Privacy & Data Usage = … … 75 80 76 81 When country headers are unavailable, the plugin may call `ipapi.co` to resolve a 2-letter country code. 82 83 If listener feedback is enabled, visitors can rate the audio in the player. Their vote, chosen reasons, optional comment, the voice and device type are stored in your WordPress database with a salted visitor hash (no IP address); nothing is sent to Moknah. 84 85 If an administrator chooses to send feedback from the plugin's rating card, the message, star rating, site URL, plugin/WordPress/PHP versions and (only if they allow it) their email address are emailed to Moknah. Nothing is sent unless they click **Send feedback**. 77 86 78 87 For your site’s full policy text, WordPress provides a detailed template in **Settings → Privacy → Privacy Policy Guide**. … … 115 124 = Do I need an API key? = 116 125 117 Yes , you need a Moknah API key to use this plugin. Contact sales@moknah.io to request your API key.126 Yes. Register at [moknah.io](https://moknah.io/app/acc/register/) with an email on your website's domain (e.g. you@yourcompany.com), submit the [Request Company Access](https://moknah.io/en/app/acc/my-company/request/) form, and once your company is approved you can create and manage your API key from your Moknah account. See **API Key Required** above. 118 127 119 128 = How much does the API cost? = … … 203 212 204 213 == Changelog == 214 215 = 1.4.1 = 216 * New: "Get an API key" links and step-by-step help in Settings and the post editor (register on Moknah.io, request company access, paste the key), with a clear warning that your Moknah account email must use your website's domain. 217 * New: notice on ATS Moknah screens when a new version is available, with one-click update (or a note when auto-updates are on). 218 * New: one-time "What's new" notice after updating. 219 * New: in-plugin star rating, on ATS Moknah screens and in the post editor right after audio is ready. 4–5 stars can be shared on WordPress.org in one click (sign-in lands directly on the review form); 1–3 stars open a private feedback form sent to the Moknah team, no account needed. 220 * New: "Rate" and "Get API key" links on the Plugins screen. 221 * New: Listener Feedback. After listening to half of an article, readers can answer "How was this audio?" in the player (good / not good, reasons like pronunciation or speed, optional comment). Results are stored on your site and shown under ATS Moknah → Listener Feedback, with satisfaction per article, top issues, recent comments and CSV export. Can be turned off in Settings. 222 * New: Listener Feedback filters - date range (7/30/90 days, all time or custom dates), article search, sorting (most "Not good", most responses, lowest/highest satisfaction, most recent), minimum responses, and for comments: reason, device, "with comment" and text search. Bulk delete and CSV export follow the filters. 223 * Improved: Listener Feedback is built for large sites (hundreds of thousands of articles, millions of votes) using running totals, paginated lists and a daily clean-up of old plain "Good" votes (retention setting; totals, "Not good" votes and comments are always kept). 224 * New: admin translations for Hindi, Spanish, French, Chinese (Simplified), Japanese, Russian, German, Portuguese (Brazil), Turkish, Indonesian, Urdu, Persian, Korean and Italian. 225 * Improved: complete Arabic translation, including the post editor messages. 226 * Improved: clearer plugin name and description. 205 227 206 228 = 1.4.0 = … … 270 292 == Upgrade Notice == 271 293 294 = 1.4.1 = 295 Listener feedback in the player, easier API key setup, in-plugin rating, update notices and admin translations in 15 languages. 296 272 297 = 1.4.0 = 273 298 Custom post types, per-type player position (including custom CSS selectors), a redesigned post editor box with clear error messages, Custom CSS and stylesheet editing, and five new Pro player presets. Note: "After byline" was replaced by "Top of content" – set "After a custom element" with `.byline` to keep the old placement.
Note:
See TracChangeset
for help on using the changeset viewer.
![(please configure the [header_logo] section in trac.ini)](/chrome/site/your_project_logo.png)