ملاحظات الإصدار

اعرض المعلومات المحدثة لتحسينات المنتج وإصلاحات الأخطاء والميزات الجديدة المضافة مع كل إصدار.

v5.32.0

التحسينات

  • Named entity recognition (NER). Implemented a new functionality for seamless identification of entities such as names, locations and organizations. This functionality ensures that named entities are correctly identified and not flagged as misspellings.
    • Available for English, Spanish, German languages and their dialects.
    • Enabled by default for English, while for Spanish and German, it’s in a disabled state.
    • [On-premise] In the on-premise package, the NER functionality is added as a separate NERModel tag with “Enabled”, “Path”, ”ProbabilityThreshold” settings inside the respective language configuration of the AppServerX.xml file. Using “Enabled” attribute the feature can be enabled or disabled.
    • [On-premise] Adding NER affects minimal hardware requirements. If any of the English, Spanish, German languages is chosen to install, an appropriate NER model will be automatically downloaded. Each NER model requires around ~350 MB.
  • Spelling & grammar engine
    • The AI-powered engine is enabled for the following language configurations:
      • American English (en_US) and New Zealand English (en_NZ). The AI-powered configuration is enabled by default for all clients using the cloud service. It can’t be disabled in WProofreader SDK using the “enforceAI:false” parameter.  
      • Mexican Spanish (es_MX). The AI-powered configuration isn’t enabled by default but can be turned on by using the “enforceAI:true” parameter or “enforce_ai=true” for API requests.
      • [On-premise] If Spanish, German and/or English AI language models are selected to install, the AI-powered engine will be added to the language configuration along with the algorithmic spelling and grammar engines. But this can be updated manually in the AppServerX.xml file. 
    • 3rd party grammar engine. Updated vulnerable versions of Jetty/Netty libraries shipped with LanguageTool package. 

إصلاحات الأخطاء

  • [WP-5163] WProofreader core: Misleading error message when language code is not available
  • [WP-5230] WProofreader core/Google Docs: Highlighted error are merged into one and are not divided into parts
  • [WP-5152] AI German: Post-processing adds excessive spaces in suggestions with quotes
  • [WP-5242] AI English: Post-processing provides broken suggestions for numbers with commas
  • [WP-5166] [On-premise] WProofreader SDK demos: Error when working with enforceAI if model isn’t installed
  • [WP-5195] [On-premise] Web server is not configured properly after installation
  • [WP-5193] [On-premise] Linux installer/Docker: Abort build if language files were not downloaded
  • [WP-5245] Spelling autocorrect: 400 error when American English (en_US) language is not enabled
  • [WP-5253] Autocomplete parameter is set to “true” if respective model is not installed
  • [WP-5258] [On-premise] AppServerX.xml: Incorrect left-to-right (LTR) mode is used for Urdu (ur_PK) language
  • [WP-5228] English medical dictionaries: Incorrect word ‘Helicobactor’ is present in dictionaries

v5.31.0

التحسينات

  • WProofreader core v3.10.5196
    • Added functionality to accept autocomplete suggestions using the “Tab” key, in addition to the “Right arrow” key.
    • Introduced a boolean “cache” option to reduce requests to the backend, disabled by default. Particularly beneficial for Google Docs integration by avoiding repeated checks of already verified text. This cache resets after 24 hours.
    • Published a new NPM package – WProofreader SDK JavaScript. Simplifies integration into JavaScript frameworks like Vue.js, React.js, and Angular. Includes demo samples for integrating WProofreader into popular editors (CKEditor 4, TinyMCE, Quill, Froala).
  • Autocomplete suggestions
    • Implemented filters to exclude irrelevant suggestions with inappropriate punctuation or repeated words.
  • Spelling & grammar engines
    • The AI-powered engine is enabled for the following language configurations:
      • British English (en_GB), Canadian English (en_CA) and Australian English (en_AU). The AI-powered configuration is enabled by default for all clients using the cloud service. It can’t be disabled in WProofreader SDK using the “enforceAI:false” parameter.  
      • German (de_DE) and Spanish (es_ES). The AI-powered configuration isn’t enabled by default but can be turned on by using the “enforceAI:true” parameter or “enforce_ai=true” for API requests.
      • [On-premise] English, German, Spanish AI language models will be offered to be installed during the installation if corresponding language codes are selected: “en_US”, “en_GB”, “en_CA”, “en_AU”, “es_ES”, “de_DE”. In this case, the AI-powered engine will be added to the language configuration along with the algorithmic spelling and grammar engines. But this can be updated manually in the AppServerX.xml file. 
    • Updated 3rd party engine, LanguageTool, to version 6.2.0. Added and improved grammar rules for the following languages: Catalan, Dutch, English, French, German, Portuguese, Spanish, Ukrainian, Galician, Belarusian, Esperanto, Arabic, and Russian.
    • تم تحديث مصادر قواميس Hunspell للغات التالية:
    • Allowed rules list for grammar and style guide engines. This feature allows enabling the specific rules and rule categories, complementing the disabled rules list introduced in previous versions. To utilize this, the desired rules should be specified in the “allowedRules.json” file within the /WebSpellChecker/AppServer directory. And further enabled by setting the “UseAllowedRules” tag to “true” for a specific language in the corresponding section of the AppServerX.xml file.
  • [On-premise] Updated Windows installer
    • The Windows installer has been updated to mirror the Linux installation approach. This includes adding two steps: selecting desired languages and AI language models for installation. Language IDs, such as “en_US” for American English, need to be specified during installation. Depending on the selected languages, AI language models for enhanced text correction and assistance, available for English, German, and Spanish, are then offered as subsequent steps.
  • [On-premise] ARM architecture support (Linux)
    • A separate installation package is now available for applications on servers with ARM architecture running Linux-based OS, expanding compatibility.
    • Docker configurations and build steps have been updated to ensure proper image creation for ARM architecture servers. These updates consider the unique requirements of the environment where the image is built. For more detailed information and step-by-step guidance, refer to the updated README.

إصلاحات الأخطاء

  • [WP-5119] WProofreader core: Disconnecting of dictionary works incorrectly with several editable fields
  • [WP-5088] WProofreader core: “Ignore all” doesn’t work properly with several editable fields
  • [WP-4216] AI English doesn’t respect spelling ignore options
  • [WP-5105] AI engine doesn’t respect medical or legal terms
  • [WP-5150] Windows installer: “Activate license” checkbox is checked for re-installation

v5.30.0

التحسينات

  • Spelling & grammar engine
  • Service security. [Cloud] Enabled support of TLS 1.3 for all service requests.
  • WProofreader core v3.9.5107
    • Improved Google Docs integration. Added support for RTL mode and minor bug fixes.

إصلاحات الأخطاء

  • [WP-4965] WProofreader core: Pop-up menu opens in the wrong place after drag- and- drop action in Google Docs
  • [WP-5020] WProofreader core: disableOptionsStorage has no effect on options under General section
  • [WP-4954] WProofreader core: .wsc-generaloptions__list does not have global ARIA attribute [Accessibility]
  • [WP-4990] Spelling: Words “install”, ”installs” are reported as incorrect in English
  • [WP-4953] Licensing: Misleading message about license absence when it expired
  • [WP-4960] Custom dictionary: Words from the dictionary are marked as misspelled if duplicated in dialect files

Breaking changes [On-premise]

  • Application Server (AppServer)
    • AppServerX.xml configuration file: Deprecated “SpellCheck” and “GrammarCheck” parameters and introduced new ones named by engine types respectively in AppServer.X.xml. Each new engine tag contains arguments such as “Enabled”, “Priority” and “Locale”. Spell check type engines contain additional sub-tags for dictionaries and settings. Style guide functionality as well added as a separate tag to “CheckKit” with arguments such as “Enabled”, “Priority” and “Locale”.
    • Deprecated the AI-based language codes: AI-based English (en_AI), German (de_AI) and Spanish (es_AI). These language codes were made up as a temporary solution until the full adoption of the AI engines under the hood. If installed and configured properly, the enhanced text correction with the AI engine can be enabled using the special parameter: “enforceAI:true” in the WProofreader configuration or “enforce_ai=true” for API. Also, there is an option to make changes to the language configuration in the AppServerX.xml configuration file (not recommended).
    • Updated location for the external resources such as language dictionaries for Hunspell spelling engine.
    • Renamed service directory on Linux from “/var/lib/wsc” to: “/var/lib/WebSpellChecker” and on Windows respectively: “C:\ProgramData\WebSpellChecker”.
  • Updated Linux installer
    • Added two new steps: select languages and AI language models to be installed. Now IDs of the desired languages need to be specified during the installation (e.g. “en_US” for American English). The AI language models for comprehensive text correction and assistance will be offered as the next steps depending on the selected languages. The AI language models are available for English, German and Spanish.
    • Renamed the installation directory from “/opt/WSC” to “/opt/WebSpellChecker”.
    • Updated “languages_to_install.pl” script mirror changes in the main installer to allow clients install additional languages on top of the ones installed initially, including AI language models.
  • Updated Docker configurations
    • Updated application installation parameters in Dockerfile:
      • “LANGUAGES_TO_INSTALL” is deprecated.
      • Added new “LANGUAGES” and “AI_MODELS” parameters that specify which languages and AI language models to be installed respectively. The models are offered for English, Spanish and German.
    • Updated the language configuration of the default Docker image.
      • Installed languages: American English, British English, Canadian and Australian English. In the Dockerfile: “LANGUAGES=en_US,en_GB,en_CA,en_AU”.
      • Installed AI language modes: English AI language model, English autocomplete model. In the Dockerfile: “AI_MODELS=1,2”.

v5.27.3

إصلاحات الأخطاء

  • [WP-4675] الكلمات الكورية الصحيحة غير معترف بها وتسطير على أنها أخطاء إملائية

v5.27.2

التحسينات

أبسيرفر

v5.27.1

التحسينات

  • المحرك النحوي. تحديث محرك الطرف 3rd ، LanguageTool ، إلى الإصدار 6.0
    • تمت إضافة قواعد نحوية وتحسينها للغات التالية: الكاتالونية والهولندية والإنجليزية والألمانية والفرنسية والبولندية والبرتغالية والروسية والإسبانية والأوكرانية. 
    • تم تحديث / استبعاد المكونات الضعيفة للطرف الثالث org.apache.lucene: lucene-core: 5.5.5 و org.json: json: 20200518.

إصلاحات الأخطاء

  • [WP-4640] واجهة برمجة تطبيقات قاموس المستخدم: رسالة خطأ غير صحيحة على 'addword' بأحرف غير مدعومة
  • [WP-4641] واجهة برمجة تطبيقات القاموس المخصص: يتم تجاهل الكلمات متبوعة بإرجاع حرف Windows
  • [WP-4614] AppServer: المعلمة "compileCustDict" لا تعمل *

* تم إهمال المعلمة 'compileCustDict' التي تم استخدامها لتجميع القواميس المخصصة العالمية. لم تعد هناك حاجة إلى تجميع الملفات ، فقط ملفات نصية عادية ذات تنسيق مناسب. 

v5.27.0

التحسينات

  • محركات اللغة:
    • موارد اللغة المحدثة لمحرك التدقيق الإملائي Hunspell: الإنجليزية البريطانية والفرنسية والإندونيسية والهولندية والبولندية والأوكرانية والإسبانية المكسيكية والدنماركية والألمانية والألمانية السويسرية والبلغارية والتشيكية والإسبانية التشيلية.
    • تم تغيير رمز اللغة السلوفينية من sl_SL إلى sl_SI. أثر هذا التغيير على الجزء 2 من معرف الإعدادات المحلية مع رمز البلد. انها SI (سلوفينيا). سيظل رمز اللغة القديم يعمل مع العملاء الحاليين. ومع ذلك، يوصى بإجراء تغييرات في التكوين والترحيل إلى رمز اللغة الصحيح.
    • اقتراحات الكتابة النحوية ذات الأولوية إذا كان محرك التدقيق الإملائي يعطي "لا توجد اقتراحات". في حالات أخرى ، ستحل اقتراحات التدقيق الإملائي محلها.
    • [في مكان العمل] تم تحديث بنية المجلدات / الدلائل بموارد مثل ملفات اللغة وقوائم الكلمات الإضافية.
  • قاموس مخصص على مستوى المستخدم. إجراء إعادة هيكلة كاملة لوظائف القاموس المخصص للمستخدم بما في ذلك أمر HTTP API الخاص به "user_dictionary". يتم الآن تكييف آليات السلوك والتحقق من صحتها مع قاموس مخصص على مستوى الشركة أو عالمي. 
    • التحقق من صحة الإدخال للكلمات المضافة حديثا واسم القاموس. على سبيل المثال ، لم يعد من الممكن إضافة الكلمات ذات الأحرف الخاصة أو علامات الترقيم أو المسافات إلى القاموس. 
    • تم تحديث رسائل الخطأ لتكون أكثر دقة ووضوحا. تم إرجاع رموز الخطأ التي تم التحقق من صحتها لاستجابات واجهة برمجة التطبيقات.
    • إدخال مقيد لكلمة واحدة لإجراءات addword و deleteword باستخدام معلمة word . في الإصدارات القادمة ، ستتم إضافة معلمة قائمة الكلمات للإجراءات التي تحتوي على العديد من الكلمات. 
  • WProofreader الأساسية:
    • تمت إضافة ترجمة واجهة المستخدم للغة الإندونيسية "id". يمكن تمكينه عن طريق إضافة خيار "الترجمة: id" إلى البرنامج النصي للتكوين.
    • تم تحديث الترجمة الإسبانية " es " ل "اقتراحات الإكمال التلقائي" إلى "Texto predictivo".
  • آخر:

إصلاحات الأخطاء

  • [WP-4593] التدقيق الإملائي: تم وضع علامة على كلمة "pay" كخطأ إملائي في AmE
  • [WP-4543] التهجئة: توجد أشكال كبيرة من الكلمات البريطانية في قاموس AmE (مثل اللون والألياف وطب الأطفال والجمالية)
  • [WP-4495] WProofreader الأساسية: isUserDictionaryExistMethod لا يتوافق مع اسمها
  • [WP-4564] واجهة برمجة تطبيقات HTTP لقاموس المستخدم: رمز الحالة غير صحيح عند عدم حذف "word"
  • [WP-4603] واجهة برمجة تطبيقات HTTP لقاموس المستخدم: إجراء لحذف قاموس غير موجود بإرجاع 200 موافق
  • [WP-4539] واجهة برمجة تطبيقات HTTP: إرجاع عنوان URI المشفر غير صالح بناء جملة URI غير صالح
  • [WP-4396] لا يمكن حذف كلمات معينة باستخدام وظيفة الاستبعاد

v5.26.3

تعزيز

أبسيرفر

  • تم تحديث محرك التدقيق الإملائي Hunspell إلى الإصدار 1.7.1.
  • تم تحديث مكتبة POCO C ++ إلى الإصدار 1.11.5.

إصلاحات الأخطاء

  • [WP-4557] واجهة برمجة تطبيقات HTTP: تقوم طلبات التحقق نفسها مع تمكين القاموس المخصص للغة الإنجليزية الأمريكية والبريطانية بإرجاع اقتراحات مختلفة [إصدار المنتج السحابي]
  • [WP-4566] HTTP API: يقوم طلب Сheck مع معلمة custom_dictionary بإرجاع خطأ متعلق بمعرف اللغة غير المدعوم [إصدار المنتج السحابي]*

* سيتم تطبيق هذا الإصلاح في 27 ديسمبر 2022 بمجرد تحديث المكون المعني.

v5.26.2

إصدار الإصلاح السريع للمشكلة المتعلقة بطلبات الذكاء الاصطناعي التي تؤدي بشكل عشوائي إلى تعطل التطبيق.

v5.26.1

ملاحظه! اضطررنا إلى التراجع عن تغييرات وحدة العناية المركزة التي تم إجراؤها في الإصدار 5.26.0 بسبب المشكلات التي أدت إلى تعطل التطبيق مما تسبب في أخطاء 5xx. يتم تطبيق هذا التغيير في كل من إصدارات المنتجات السحابية والمحلية.

  • استبدال آلية ترميز الجملة. تم استبدال آلية ترميز الجمل المخصصة القديمة بأداة مكرر فاصل الكلمات في وحدة العناية المركزة لتحسين معالجة الكلمات التي تحتوي على نقاط (اختصارات) ، واصلات ، فواصل عليا ، رموز خاصة ، تقصير بنقطة واحدة ، ممتلكات ، إلخ. يتم تطبيق هذا الأسلوب لكافة اللغات التي تستند إلى محرك التدقيق الإملائي Hunspell.

إصلاحات الأخطاء

  • [WP-4180] محرك التدقيق الإملائي: معالجة غير صحيحة للكلمات ذات الواصلات اللاحقة باللغة الألمانية

v5.26.0

ملاحظه! تم إصدار إصدار المنتج المحلي فقط بالكامل. السحابة one لا تزال قيد التقدم. اضطررنا إلى التراجع عن الإصدار السحابي ، وتحديدا التغييرات في مكون الواجهة الخلفية ، بسبب المشكلات التي أدت إلى تعطل التطبيق مما تسبب في أخطاء 5xx. ومع ذلك ، فإن جميع التغييرات التي تم إدخالها في نواة WProofreader متوفرة في الإصدار السحابي أيضا.

التحسينات

تحديث WProofreader الأساسية v3.8.4782:

  • الشارة العالمية v2. إعادة التفكير في مفهوم وسلوك الشارة العالمية. لم تعد هذه الشارة مرتبطة بحقول النص ولكنها عامة على الصفحة. بشكل افتراضي ، يتم تعطيله globalBadge:false ولكن إذا تم تمكينه ، وضعه في الركن الأيمن السفلي من الصفحة. يمكن تنظيم موقفها باستخدام الخيارات التالية: badgeOffsetX, badgeOffsetY, badgeZIndex (بشكل افتراضي، badgeOffsetX = 20, badgeOffsetY = 20, badgeZIndex = 1000).  

محرك القواعد. تحديث محرك الطرف الثالث ، LanguageTool ، إلى الإصدار 5.9.0.

  • تمت إضافة قواعد نحوية وتحسينها للغات التالية: الكاتالونية والهولندية والإنجليزية والألمانية والفرنسية والبولندية والبرتغالية والروسية والإسبانية والأوكرانية.
  • تم تحديث مكونات الطرف الثالث لإصلاح الثغرات الأمنية في مكتبات .jar: CVE-2022-42003 وCVE-2022-42004 وCVE-2022-3171 وCVE-2022-42889.  

استبدال آلية ترميز الجملة.

تم استبدال آلية ترميز الجمل المخصصة القديمة بأداة مكرر فاصل الكلمات في وحدة العناية المركزة لتحسين معالجة الكلمات التي تحتوي على نقاط (اختصارات) ، واصلات ، فواصل عليا ، رموز خاصة ، تقصير بنقطة واحدة ، ممتلكات ، إلخ. يتم تطبيق هذا الأسلوب لكافة اللغات التي تستند إلى محرك التدقيق الإملائي Hunspell.

إصلاحات الأخطاء

  • [WP-4447] WProofreader core: لا يوجد ترميز عندما يفتح المستخدم عرض ملء الشاشة في Google Gmail [تم اكتشافه باستخدام ملحق المتصفح]
  • [WP-4477] WProofreader الأساسية: لا يوجد رمز علم للغة بلنسية (cat_ES)
  • [WP-4476] WProofreader الأساسية: لا يسمح برمز Apostrophe (') للإضافة إلى القاموس من واجهة المستخدم
  • [WP-4484] WProofreader الأساسية: WProofreader لا يعمل بشكل صحيح في IE11 في مناطق النص
  • [WP-4180] محرك التدقيق الإملائي: معالجة غير صحيحة للكلمات ذات الواصلات اللاحقة باللغة الألمانية
  • [WP-4519] واجهة برمجة تطبيقات HTTP: إذا تم ضبطها على "true" ، ignore_mixed_case يؤثر أيضا وتمكن ignore_all_caps
  • [WP-4501] القواميس: يتم التعرف على بعض المصطلحات الطبية على أنها كلمات غير صحيحة (مثل AAOMR و ABthrax و ACTHoma و ALternaGEL)
  • [WP-4491 ، WP-4524] التدقيق الإملائي: تم وضع علامة على الكلمات "filter" و "practice" و "groin" كأخطاء إملائية في اللغة الإنجليزية البريطانية
  • [WP-4452] محرك الذكاء الاصطناعي: يتم التعرف على الكلمات التي بها أخطاء إملائية في علامات الاقتباس وتسطيرها كأخطاء نحوية

كسر التغييرات

[إصدار المنتج المحلي] تم تحديث ملف تكوين خادم التطبيقات (AppServer)، AppServer.X.xml:

  • تم تحديث العلامات الموجودة على النحو التالي:
    • استبدال Enabled علامة ل SpellCheck ل Enabled صفة: <SpellCheck Enabled="true">
    • تمت إضافة منطقية Enabled السمة ل Model, GrammarCheck, Autocomplete و Autocorrect العلامات.
  • مضاف MaxInputSize المعلمة المسؤولة عن تعيين الحد الأقصى لعدد الرموز المميزة للإدخال لنماذج لغة الذكاء الاصطناعي في AppServer.X .xml. يضيف مرونة في التحكم في حجم إدخال النموذج.

v5.25.0

كسر التغييرات

[إصدار المنتج المحلي] تم تحديث ملف تكوين خادم التطبيقات (AppServer)، AppServer.X.xml:

  • تمت إضافة معلمة / علامة جديدة تسمى CheckKit. يسمح بتكوين إعدادات اللغة بمرونة.
  • تمت إعادة تسمية قائمة بالعلامات الموجودة في AppServer.X.xml 
    • GrammarCheckProvider → GrammarCheck
    • خيارات SpellEngine→ التدقيق الإملائي
    • مسار → FullPath (يمكن أن يعمل في كلا الجانبين بمسار مطلق ومسار نسبي)
    • SpellCheckEnginePriority → SpellCheckPriority
    • AutoCompleteCheckProviderOptions → Autocomplete + <Locale>en</Locale>
    • التصحيح التلقائي → التصحيح التلقائي

التحسينات

  • الإصدار بيتا. تدعم اللهجات الإنجليزية اللغة الإنجليزية القائمة على الذكاء الاصطناعي تحت الغطاء. نفذت للهجات التالية: الإنجليزية الأمريكية والبريطانية والكندية والأسترالية. بشكل افتراضي ، يتم تعطيله ولكن يمكنك تمكينه على النحو التالي:
    • HTTP API: أضف "enforce_ai=true" إلى سلسلة استعلام؛
    • تكامل WProofreader SDK: أضف خيار "enforceAI: true" إلى البرنامج النصي للتكوين.
  • نسخة جديدة من WProofreader الأساسية v3.7.4760
    • تمت إضافة خيار / معلمة لتشغيل / إيقاف تشغيل التحقق المحسن من النص المدعوم من الذكاء الاصطناعي.
    • تم تحديث المسار الافتراضي لنواة WProofreader لإصدار المنتج السحابي من "servicePath": "spellcheck31 / script / ssrv .cgi" إلى "servicePath": "api".
  • تم إصدار الإصدار 2.2.0 من المكون الإضافي WProofreader ل CKEditor 5.  تمت إضافة دعم لوضع التحرير المقيد.
  • تحسين آلية التدقيق اللغوي للغة الإنجليزية القائمة على الذكاء الاصطناعي. التعامل بشكل أفضل مع الحالات مع الكلمات المركبة الموصولة (مثل حماتها) ، والرموز المطبعية المختلفة وعلامات الترقيم ، وتقلص الأفعال (مثل "it's").    
  • [إصدار المنتج المحلي] تم تحديث العينات التجريبية داخل الحزمة لمطابقة الإصدار عبر الإنترنت. بشكل افتراضي ، مسار الوصول إلى العروض التوضيحية على النحو التالي: http: localhost / wscservice / samples /

إصلاحات الأخطاء

  • [WP-4399] WProofreader core: تم كسر الأنماط في عنوان مشكلة JIRA [تم اكتشافها باستخدام ملحق المتصفح]
  • [WP-4428] WProofreader الأساسية: تعطيل ميزة التصحيح التلقائي للائحة .js
  • [WP-4418] WProofreader core: تم تحويل حالة التركيز في Google Chat [تم اكتشافه باستخدام ملحق المتصفح]
  • [WP-4405] AppServer: حدث خطأ "استثناء النظام" أثناء تنشيط الترخيص
  • [WP-4442] [سحابة] تهجئة BrE: كلمة "متعب" تم وضع علامة عليها على أنها بها خطأ إملائي
  • [WP-4451] [سحابة] تهجئة BrE: يتم وضع علامة على الكلمات "مفيدة"/"مفيدة" على أنها بها أخطاء إملائية
  • [WP-4443] محرك الذكاء الاصطناعي: اقتراحات معالجة غير صحيحة للأخطاء ذات الطول الصفري
  • [WP-4411] واجهة برمجة تطبيقات HTTP: يؤدي تحديد النص باستخدام "٪" إلى حدوث خطأ في بناء جملة URI غير صحيح