diff --git a/.gitignore b/.gitignore
index eea57ab..69f2685 100644
--- a/.gitignore
+++ b/.gitignore
@@ -10,6 +10,9 @@ node_modules
*.zip
/search_and_replace_*/
+# Left behind in assets/ only if scripts/screenshots.mjs dies mid-run
+assets/.screenshot-harness-*.html
+
# Test output
/coverage
src/cypress/screenshots
diff --git a/_locales/ar/messages.json b/_locales/ar/messages.json
index 1dc81cb..beeb3eb 100644
--- a/_locales/ar/messages.json
+++ b/_locales/ar/messages.json
@@ -1,338 +1,526 @@
{
- "ext_name": {
- "message": "البحث والاستبدال",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "البحث عن نص على صفحة الويب واستبداله بنص مختلف.",
- "description": "ext_description"
- },
- "options": {
- "message": "الخيارات",
- "description": "options"
- },
- "saved_rules": {
- "message": "القواعد المحفوظة",
- "description": "Options Tab"
- },
- "select_language": {
- "message": "اختر لغة:",
- "description": "Options Tab"
- },
- "settings": {
- "message": "الإعدادات",
- "description": "Settings"
- },
- "about": {
- "message": "حول",
- "description": "about"
- },
- "back": {
- "message": "رجوع",
- "description": "Back"
- },
- "version": {
- "message": "الإصدار",
- "description": "version"
- },
- "RuleID": {
- "message": "معرف القاعدة",
- "description": "options"
- },
- "URLPattern": {
- "message": "نمط الرابط",
- "description": "options"
- },
- "SearchTerm": {
- "message": "مصطلح البحث",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "مصطلح الاستبدال",
- "description": "options"
- },
- "Delete": {
- "message": "حذف",
- "description": "options"
- },
- "Save": {
- "message": "حفظ",
- "description": "options"
- },
- "matchCase": {
- "message": "مطابقة الحالة",
- "description": "checkbox matchCase"
- },
- "inputFieldsOnly": {
- "message": "الحقول المدخلة فقط",
- "description": "checkbox inputFieldsOnly"
- },
- "hiddenContent": {
- "message": "المحتوى المخفي",
- "description": "checkbox hiddenContent"
- },
- "wholeWord": {
- "message": "مطابقة الكلمة بالكامل",
- "description": "checkbox wholeWord"
- },
- "isRegex": {
- "message": "تعبير منتظم",
- "description": "checkbox isRegex"
- },
- "replaceHTML": {
- "message": "استبدال HTML",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "استبدال الكل",
- "description": "checkbox replaceAll"
- },
- "saveApplyPageReload": {
- "message": "حفظ وتطبيق عند إعادة تحميل الصفحة",
- "description": "checkbox save"
- },
- "Searchfor": {
- "message": "البحث عن",
- "description": "popup"
- },
- "Swap": {
- "message": "تبديل ⇅",
- "description": "popup"
- },
- "Replacewith": {
- "message": "استبدال بـ",
- "description": "popup"
- },
- "Matchcase": {
- "message": "مطابقة الحالة",
- "description": "popup"
- },
- "Inputfields": {
- "message": "الحقول المدخلة فقط",
- "description": "popup"
- },
- "Hiddencontent": {
- "message": "المحتوى المخفي",
- "description": "popup"
- },
- "Matchwhole": {
- "message": "مطابقة الكلمة بالكامل",
- "description": "popup"
- },
- "Regularexpression": {
- "message": "تعبير منتظم",
- "description": "popup"
- },
- "Saveandapply": {
- "message": "حفظ وتطبيق عند إعادة تحميل الصفحة",
- "description": "popup"
- },
- "ReplaceNext": {
- "message": "استبدال القادم",
- "description": "popup"
- },
- "ReplaceAll": {
- "message": "استبدال الكل",
- "description": "popup"
- },
- "History": {
- "message": "السجل",
- "description": "popup"
- },
- "Clear": {
- "message": "مسح",
- "description": "popup"
- },
- "EditSettings": {
- "message": "تعديل الإعدادات",
- "description": "popup"
- },
- "Help": {
- "message": "مساعدة",
- "description": ""
- },
- "help_title": {
- "message": "صفحة المساعدة للبحث والاستبدال",
- "description": "help"
- },
- "URL": {
- "message": "الرابط",
- "description": ""
- },
- "Search": {
- "message": "البحث",
- "description": ""
- },
- "Replace": {
- "message": "الاستبدال",
- "description": ""
- },
- "Priority": {
- "message": "الأولوية",
- "description": ""
- },
- "Example": {
- "message": "مثال",
- "description": ""
- },
- "applied_first": {
- "message": "تم تطبيقه أولاً",
- "description": ""
- },
- "applied_last": {
- "message": "تم تطبيقه في النهاية",
- "description": ""
- },
- "next_vs_all": {
- "message": "استبدال القادم مقابل استبدال الكل",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p1": {
- "message": "لاستبدال أول حدوث لمصطلح البحث، اضغط على استبدال القادم. يمكنك الاستمرار في الضغط على الزر حتى لا تظهر مزيد من الحالات.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p2": {
- "message": "لاستبدال جميع حالات مصطلح البحث، اضغط على استبدال الكل.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p3": {
- "message": "حالياً لا يوجد وظيفة التراجع. إذا ارتكبت خطأ، يمكنك إعادة تحميل الصفحة لاستعادة النص الأصلي. ومع ذلك، ستفقد أي تغييرات غير محفوظة في محررات النص وفي حقول الإدخال النصي.",
- "description": "Replace Next vs. Replace All"
- },
- "replace_editors": {
- "message": "استبدال النص في المحررات وحقول النص",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "replace_editors_p1": {
- "message": "لاستبدال النص في محررات النص أو حقول الإدخال يجب عليك تحديد خانة الاختيار الحقول المدخلة فقط؟.",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "replace_editors_p2": {
- "message": "لاستبدال النص في محررات النص أو حقول الإدخال يجب عليك تحديد خانة الاختيار الحقول المدخلة فقط؟. خلاف ذلك، سيتم استبدال النص المبحوث في جميع أنحاء HTML، مما قد يؤدي إلى كسر الصفحة. لتجنب تغيير حقول الإدخال المخفية، يجب أيضًا تحديد خانة الاختيار العناصر المرئية فقط؟.",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "Setup": {
- "message": "الإعداد",
- "description": "help"
- },
- "Replacing_anywhere": {
- "message": "استبدال النص في أي مكان على الصفحة",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_p1": {
- "message": "للاستبدال النص الذي يتم العثور عليه داخل عناصر HTML، داخل محرر نص وداخل حقل نص، يجب عليك تحديد خانة الاختيار استبدال HTML؟.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_p2": {
- "message": "للاستبدال النص الذي لا يتم العثور عليه داخل محرر نص ولا داخل حقل نص، اترك خانات الاختيار الحقول المدخلة فقط؟ و تغيير المحتوى المرئي فقط؟غير محددة.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_warning": {
- "message": "تحذير: هذا الإعداد سيؤدي إلى تغيير HTML الصفحة وقد يكسر الصفحة. يمكنك استعادة الصفحة عن طريق إعادة تحميلها، ولكن ستفقد أي تغييرات غير محفوظة في محررات النص وفي حقول الإدخال النصي.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Matching_case": {
- "message": "مطابقة حالة النص",
- "description": "Explanation about matching the case of text"
- },
- "Matching_case_p1": {
- "message": "إذا كنت بحاجة إلى استبدال هذا ولكن ليس هذا فعليك استخدام خيار مطابقة الحالة.",
- "description": "Explanation about matching the case of text"
- },
- "Matching_case_p2": {
- "message": "سيطابق الإعداد التالي Condo ولكن ليس condo. سيقوم بتبديل Condo بـ apartment في حقول النص المرئية على الصفحة.",
- "description": "Explanation about matching the case of text"
- },
- "Matching_whole": {
- "message": "مطابقة الكلمات بأكملها",
- "description": "Matching whole words"
- },
- "Matching_whole_p1": {
- "message": "إذا كنت بحاجة إلى استبدال الكلمة جزئي ولكن ليس جزئيا فعليك استخدام خيار هل تطابق الكلمة بأكملها؟.",
- "description": "Matching whole words"
- },
- "wildcards_and_regex": {
- "message": "البطاقات البديلة والتعبيرات العادية",
- "description": "Explanation about wild cards and regular expressions"
- },
- "wildcards_and_regex_p1": {
- "message": "إذا كنت بحاجة إلى تطابق مصطلح بحث جزئي فعليك تحديد خانة الاختيار للتعابير العادية وتحديد بطاقة بديلة. ستحتاج إلى معرفة أساسية جدًا بالتعابير العادية لاستخدام هذه الميزة. أنصح باستخدام regexpal للاختبار.",
- "description": "Explanation about wild cards and regular expressions"
- },
- "Before": {
- "message": "قبل",
- "description": ""
- },
- "After": {
- "message": "بعد",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "استبدال النص في ووردبريس",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "ووردبريس حاليا على الإصدار 6.6، اعتبارًا من مارس 2023. لقد تغير محرر المنشورات بشكل كبير منذ إنشاء هذه الامتداد وهناك إعداد جديد مطلوب لاستبدال النص في ووردبريس.",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "الإعداد لووردبريس 6+",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "الإعداد لووردبريس 5 وما دون",
- "description": ""
- },
- "Save_apply": {
- "message": "حفظ وتطبيق عند إعادة تحميل الصفحة",
- "description": "حفظ وتطبيق عند إعادة تحميل الصفحة"
- },
- "Save_apply_p1": {
- "message": "يمكنك تحديد خانة حفظ وتطبيق عند إعادة تحميل الصفحة لحفظ عملية البحث وتطبيقها عند إعادة تحميل الصفحات اللاحقة. سيتم الاحتفاظ بهذه الإعدادات وإعادة فتح المتصفح.",
- "description": "حفظ وتطبيق عند إعادة تحميل الصفحة"
- },
- "Save_apply_multi": {
- "message": "قواعد متعددة للمطابقة",
- "description": "قواعد متعددة للمطابقة"
- },
- "Save_apply_multi_p1": {
- "message": "إذا تطابقت قواعد متعددة مع نفس الصفحة، ستتم مطابقتها بترتيب من الأكثر تحديدًا إلى الأقل تحديدًا. على سبيل المثال:",
- "description": "قواعد متعددة للمطابقة"
- },
- "Save_apply_multi_p2": {
- "message": "هذا يعني أن أي تغييرات تم تطبيقها بواسطة القاعدة الأولى ستتم إدخالها في القواعد اللاحقة. في المثال أعلاه، سيتم استبدال النص مثال بواسطة القاعدة المطابقة http://www.example.com/a/deeper/nested/page. سيكون للقواعد اللاحقة بالتالي أي تأثير.",
- "description": "قواعد متعددة للمطابقة"
- },
- "Save_apply_multi_p3": {
- "message": "يمكنك تعديل القواعد المحفوظة بالنقر على الرابط في القائمة المنبثقة للتمديد. حقل نمط العنوان (URL) هو تعبير منتظم التعبيرات العادية، مما يسمح لك باستخدام نفس القاعدة على العديد من مواقع الويب المختلفة.",
- "description": "قواعد متعددة للمطابقة"
- },
- "ReportingIssues": {
- "message": "تقديم تقارير المشكلات",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "تذكر أن تقوم بـتحديث الصفحة التي ترغب في استبدال النص فيها بعد التثبيت.",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "إذا تلفت الصفحة بعد استخدام التمديد، جرب تحديث الصفحة، ثم قم بالتحقق من Input fields only? قبل القيام بعملية البحث والاستبدال.",
- "description": ""
- },
- "ReportingIssues_p1": {
- "message": "إذا وجدت خطأ، يرجى تقديم تقرير مفصل على متجر تطبيقات Chrome أو على GitHub.",
- "description": ""
- },
- "Rate_on_store": {
- "message": "يرجى تقييم ★★★★★ على متجر Chrome إذا كان التمديد يساعدك!",
- "description": ""
- },
- "no_saved_instances": {
- "message": "لا توجد حالات محفوظة",
- "description": "رسالة لإخبار المستخدم أنه لم يتم العثور على قواعد"
- },
- "matches": {
- "message": "مطابقات",
- "description": "رسالة لإخبار المستخدم عدد مرات تواجد مصطلح البحث"
- }
+ "ext_name": {
+ "message": "البحث والاستبدال",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "البحث عن نص على صفحة الويب واستبداله بنص مختلف.",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "الخيارات",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "القواعد المحفوظة",
+ "description": "Options Tab"
+ },
+ "select_language": {
+ "message": "اختر لغة:",
+ "description": "Options Tab"
+ },
+ "settings": {
+ "message": "الإعدادات",
+ "description": "Settings"
+ },
+ "about": {
+ "message": "حول",
+ "description": "about"
+ },
+ "back": {
+ "message": "رجوع",
+ "description": "Back"
+ },
+ "version": {
+ "message": "الإصدار",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "معرف القاعدة",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "نمط الرابط",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "مصطلح البحث",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "مصطلح الاستبدال",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "حذف",
+ "description": "options"
+ },
+ "Save": {
+ "message": "حفظ",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "مطابقة الحالة",
+ "description": "checkbox matchCase"
+ },
+ "inputFieldsOnly": {
+ "message": "الحقول المدخلة فقط",
+ "description": "checkbox inputFieldsOnly"
+ },
+ "hiddenContent": {
+ "message": "المحتوى المخفي",
+ "description": "checkbox hiddenContent"
+ },
+ "wholeWord": {
+ "message": "مطابقة الكلمة بالكامل",
+ "description": "checkbox wholeWord"
+ },
+ "isRegex": {
+ "message": "تعبير منتظم",
+ "description": "checkbox isRegex"
+ },
+ "replaceHTML": {
+ "message": "استبدال HTML",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "استبدال الكل",
+ "description": "checkbox replaceAll"
+ },
+ "saveApplyPageReload": {
+ "message": "حفظ وتطبيق عند إعادة تحميل الصفحة",
+ "description": "checkbox save"
+ },
+ "Searchfor": {
+ "message": "البحث عن",
+ "description": "popup"
+ },
+ "Swap": {
+ "message": "تبديل ⇅",
+ "description": "popup"
+ },
+ "Replacewith": {
+ "message": "استبدال بـ",
+ "description": "popup"
+ },
+ "Matchcase": {
+ "message": "مطابقة الحالة",
+ "description": "popup"
+ },
+ "Inputfields": {
+ "message": "الحقول المدخلة فقط",
+ "description": "popup"
+ },
+ "Hiddencontent": {
+ "message": "المحتوى المخفي",
+ "description": "popup"
+ },
+ "Matchwhole": {
+ "message": "مطابقة الكلمة بالكامل",
+ "description": "popup"
+ },
+ "Regularexpression": {
+ "message": "تعبير منتظم",
+ "description": "popup"
+ },
+ "Saveandapply": {
+ "message": "حفظ وتطبيق عند إعادة تحميل الصفحة",
+ "description": "popup"
+ },
+ "ReplaceNext": {
+ "message": "استبدال القادم",
+ "description": "popup"
+ },
+ "ReplaceAll": {
+ "message": "استبدال الكل",
+ "description": "popup"
+ },
+ "History": {
+ "message": "السجل",
+ "description": "popup"
+ },
+ "Clear": {
+ "message": "مسح",
+ "description": "popup"
+ },
+ "EditSettings": {
+ "message": "تعديل الإعدادات",
+ "description": "popup"
+ },
+ "Help": {
+ "message": "مساعدة",
+ "description": ""
+ },
+ "help_title": {
+ "message": "صفحة المساعدة للبحث والاستبدال",
+ "description": "help"
+ },
+ "URL": {
+ "message": "الرابط",
+ "description": ""
+ },
+ "Search": {
+ "message": "البحث",
+ "description": ""
+ },
+ "Replace": {
+ "message": "الاستبدال",
+ "description": ""
+ },
+ "Priority": {
+ "message": "الأولوية",
+ "description": ""
+ },
+ "Example": {
+ "message": "مثال",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "تم تطبيقه أولاً",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "تم تطبيقه في النهاية",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "استبدال القادم مقابل استبدال الكل",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p1": {
+ "message": "لاستبدال أول حدوث لمصطلح البحث، اضغط على استبدال القادم. يمكنك الاستمرار في الضغط على الزر حتى لا تظهر مزيد من الحالات.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p2": {
+ "message": "لاستبدال جميع حالات مصطلح البحث، اضغط على استبدال الكل.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p3": {
+ "message": "حالياً لا يوجد وظيفة التراجع. إذا ارتكبت خطأ، يمكنك إعادة تحميل الصفحة لاستعادة النص الأصلي. ومع ذلك، ستفقد أي تغييرات غير محفوظة في محررات النص وفي حقول الإدخال النصي.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "replace_editors": {
+ "message": "استبدال النص في المحررات وحقول النص",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "replace_editors_p1": {
+ "message": "لاستبدال النص في محررات النص أو حقول الإدخال يجب عليك تحديد خانة الاختيار الحقول المدخلة فقط؟.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "replace_editors_p3": {
+ "message": "يشمل ذلك حقول input وtextarea البسيطة، وكذلك محررات النصوص الغنية مثل TinyMCE وCKEditor. وبما أنه لا يُمَس أي شيء خارج هذه الحقول، فهو الخيار الأكثر أمانًا في الصفحات المعقدة، وأول ما ينبغي تجربته إذا بدا أن الاستبدال قد أفسد شيئًا.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "الإعداد",
+ "description": "help"
+ },
+ "Replacing_anywhere": {
+ "message": "استبدال النص في أي مكان على الصفحة",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "للاستبدال النص الذي يتم العثور عليه داخل عناصر HTML، داخل محرر نص وداخل حقل نص، يجب عليك تحديد خانة الاختيار استبدال HTML؟.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "إعادة كتابة كل example.com في الصفحة، بما في ذلك عناوين الروابط.",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "هذا الإعداد يغيّر شيفرة HTML للصفحة وقد يُعطلها. يمكنك استعادة الصفحة بإعادة تحميلها، لكنك ستفقد أي تغييرات غير محفوظة في محررات النصوص وحقول الإدخال النصية.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "مطابقة حالة النص",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_case_p1": {
+ "message": "إذا كنت بحاجة إلى استبدال هذا ولكن ليس هذا فعليك استخدام خيار مطابقة الحالة.",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_case_p2": {
+ "message": "سيطابق الإعداد التالي Condo ولكن ليس condo. سيقوم بتبديل Condo بـ apartment في حقول النص المرئية على الصفحة.",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_whole": {
+ "message": "مطابقة الكلمات بأكملها",
+ "description": "Matching whole words"
+ },
+ "Matching_whole_p1": {
+ "message": "إذا كنت بحاجة إلى استبدال الكلمة جزئي ولكن ليس جزئيا فعليك استخدام خيار هل تطابق الكلمة بأكملها؟.",
+ "description": "Matching whole words"
+ },
+ "wildcards_and_regex": {
+ "message": "البطاقات البديلة والتعبيرات العادية",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "إذا كنت بحاجة إلى تطابق مصطلح بحث جزئي فعليك تحديد خانة الاختيار للتعابير العادية وتحديد بطاقة بديلة. ستحتاج إلى معرفة أساسية جدًا بالتعابير العادية لاستخدام هذه الميزة. أنصح باستخدام regexpal للاختبار.",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "في المثال أدناه، يعني 1\\d1 «واحد، ثم أي رقم، ثم واحد»، وهو ما يطابق 101 و111 و121 وهكذا حتى 191.",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "قبل",
+ "description": ""
+ },
+ "After": {
+ "message": "بعد",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "استبدال النص في ووردبريس",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "يحتفظ محرر الكتل في ووردبريس بمقالتك داخل إطار خاص به، منفصل عن بقية صفحة الإدارة. وتبحث الإضافة داخل ذلك الإطار نيابةً عنك، فلا حاجة إلى أي خيارات خاصة: اكتب كلماتك واضغط استبدال الكل.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "إذا كنت تستخدم المحرر الكلاسيكي، أو أداة بناء صفحات حقولها مربعات نصية عادية، فحدّد أولًا الحقول المدخلة فقط.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "الاستبدال يغيّر ما في المحرر لا ما هو محفوظ. اضغط تحديث في ووردبريس بعد ذلك للإبقاء عليه.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "تحرير مقالة في محرر الكتل. لا حاجة إلى أي خيارات.",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "حفظ وتطبيق عند إعادة تحميل الصفحة",
+ "description": "حفظ وتطبيق عند إعادة تحميل الصفحة"
+ },
+ "Save_apply_p1": {
+ "message": "يمكنك تحديد خانة حفظ وتطبيق عند إعادة تحميل الصفحة لحفظ عملية البحث وتطبيقها في كل مرة يُعاد فيها تحميل الصفحة. ويظل ذلك ساريًا حتى بعد إغلاق المتصفح وإعادة فتحه.",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "تحرير القواعد المحفوظة",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "يمكن تحرير كل قاعدة محفوظة أو حذفها من هنا.",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "قواعد متعددة للمطابقة",
+ "description": "قواعد متعددة للمطابقة"
+ },
+ "Save_apply_multi_p1": {
+ "message": "إذا تطابقت قواعد متعددة مع نفس الصفحة، ستتم مطابقتها بترتيب من الأكثر تحديدًا إلى الأقل تحديدًا. على سبيل المثال:",
+ "description": "قواعد متعددة للمطابقة"
+ },
+ "Save_apply_multi_p2": {
+ "message": "هذا يعني أن أي تغييرات تم تطبيقها بواسطة القاعدة الأولى ستتم إدخالها في القواعد اللاحقة. في المثال أعلاه، سيتم استبدال النص مثال بواسطة القاعدة المطابقة http://www.example.com/a/deeper/nested/page. سيكون للقواعد اللاحقة بالتالي أي تأثير.",
+ "description": "قواعد متعددة للمطابقة"
+ },
+ "Save_apply_multi_p3": {
+ "message": "يمكنك تحرير القواعد المحفوظة في صفحة القواعد المحفوظة التي يفتحها أيقونة الحفظ في النافذة المنبثقة. حقل نمط الرابط هو تعبير منتظم، مما يتيح لك تطبيق القاعدة نفسها على مواقع كثيرة مختلفة.",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "تقديم تقارير المشكلات",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "تذكّر إعادة تحميل أي صفحة كانت مفتوحة بالفعل عند تثبيت الإضافة أو تحديثها. فحتى تُعاد تحميلها، لا تستطيع الإضافة الوصول إليها.",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "إذا تلفت الصفحة بعد استخدام التمديد، جرب تحديث الصفحة، ثم قم بالتحقق من Input fields only? قبل القيام بعملية البحث والاستبدال.",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "إذا وجدت خطأ، يرجى تقديم تقرير مفصل على متجر تطبيقات Chrome أو على GitHub.",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "يرجى تقييم ★★★★★ على متجر Chrome إذا كان التمديد يساعدك!",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "قبل الإبلاغ",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "أعد تحميل الصفحة. فالصفحة التي كانت مفتوحة بالفعل عند تثبيت الإضافة أو تحديثها لا يمكن الوصول إليها حتى تُعاد تحميلها.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "صفحات المتصفح مثل chrome:// ومتجر كروم الإلكتروني وصفحة الإضافات محظورة على كل الإضافات، فلا يمكن استبدال أي شيء فيها.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "إذا ظل العدّاد عند صفر، جرّب المحتوى المخفي، أو أوقف مطابقة الحالة، أو تحقق من أن النص ليس صورة.",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "لا توجد حالات محفوظة",
+ "description": "رسالة لإخبار المستخدم أنه لم يتم العثور على قواعد"
+ },
+ "matches": {
+ "message": "مطابقات",
+ "description": "رسالة لإخبار المستخدم عدد مرات تواجد مصطلح البحث"
+ },
+ "hidden_content_nav": {
+ "message": "البحث في المحتوى المخفي",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "البحث في المحتوى المخفي",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "بشكل افتراضي، تبحث الإضافة وتستبدل النص الظاهر على الصفحة فقط. وإذا احتجت إلى البحث والاستبدال داخل عناصر مخفية (مثل الأقسام المطوية أو الـ div المخفية أو العناصر التي تحمل display: none)، فحدّد خيار المحتوى المخفي.",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "وهذا مفيد بوجه خاص مع المحتوى الديناميكي الذي يكون مخفيًا في البداية ثم يظهر بتفاعل المستخدم، أو عندما تحتاج إلى تعديل حقول نماذج مخفية.",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "عند تحديد المحتوى المخفي، تبحث الإضافة في كل العناصر بغض النظر عن ظهورها، وقد يؤدي ذلك إلى عدد مطابقات أكبر.",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "تعذّر على البحث والاستبدال الوصول إلى هذه الصفحة. أعد تحميل الصفحة وحاول مجددًا.",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "كيف تجد نصًا في صفحة وتغيّره — في النص العادي، وفي حقول النماذج، وفي المحررات، وتلقائيًا في كل زيارة.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "المحتويات",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "ملاحظة",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "نصيحة",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "تحذير",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "لا تراجع",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "نظرة سريعة على النافذة المنبثقة",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "افتح النافذة المنبثقة من شريط الأدوات، أو بالضغط على Ctrl+Shift+S. اكتب النص الذي تبحث عنه في البحث عن والنص الذي تريده بدلًا منه في استبدال بـ، ثم اضغط أحد الزرين في الأسفل.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "الرقم أسفل مربع البحث عن يعدّ المطابقات المتبقية في الصفحة، ويتحدث أثناء الكتابة وأثناء الاستبدال. وصف الأيقونات في الأعلى يفتح صفحة المساعدة هذه، وعمليات بحثك الأخيرة، ولوحة «حول»، وإعداد اللغة، وقواعدك المحفوظة.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "بقي في الصفحة أربعة مواضع لكلمة Condo.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "ماذا يفعل كل خيار",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "كل خانة اختيار في النافذة المنبثقة تضيّق نطاق البحث أو توسّعه، ويمكن الجمع بينها.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "يطابق النص ذا الأحرف الكبيرة والصغيرة نفسها تمامًا. ومن دون تحديده تتطابق Condo وcondo وCONDO جميعها.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "يقصر البحث على مربعات النصوص ومناطق النصوص ومحررات النصوص الغنية، ويترك بقية الصفحة كما هي. استخدمه كلما كنت تحرر نموذجًا أو رسالة أو مقالة.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "يشمل العناصر التي لا تراها حاليًا: اللوحات المطوية، وعلامات التبويب غير النشطة، والقوائم خارج الشاشة، وحقول النماذج المخفية.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "يشترط أن تكون المطابقة كلمة كاملة، فلا تعود partial تُطابَق داخل partially.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "يتعامل مع كلمة البحث بوصفها تعبيرًا منتظمًا بدلًا من نص حرفي.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "يبحث في شيفرة HTML للصفحة بدلًا من النص الذي تقرأه، فتدخل الوسوم والخصائص وعناوين الروابط والنص البديل كلها في النطاق.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "يحفظ البحث كقاعدة ويطبّقه مجددًا في كل مرة تفتح فيها صفحة مطابقة، حتى بعد إعادة تشغيل المتصفح.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "البحث نفسه يجد ست مطابقات بدل أربع بمجرد إدراج العناصر المخفية.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "السجل والتبديل واللغة",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "أيقونة الساعة في النافذة المنبثقة تعرض عمليات بحثك الأخيرة. انقر إحداها لإعادتها إلى المربعين، أو اضغط مسح لتفريغ القائمة.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "زر Swap بين المربعين يبدّل بين كلمة البحث وكلمة الاستبدال — وهو مفيد للتراجع عن استبدال أجريته للتو، ما دام النص الأصلي لم يُكتب في مكان آخر من الصفحة.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "تحت أيقونة الترس يوجد إعداد اللغة. الإضافة مترجمة إلى الإنجليزية والألمانية والإسبانية والبرتغالية والروسية والصينية والعربية والكورية واليابانية والهندية؛ وما لم يُترجم بعد يظهر بالإنجليزية.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "تعمل عمليات البحث هذه تلقائيًا في كل مرة تفتح فيها صفحة يطابق عنوانها نمط الرابط الخاص بها. والنمط تعبير منتظم، لذا يمكن لقاعدة واحدة أن تغطي موقعًا بأكمله.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "حدّد «حفظ وتطبيق عند إعادة تحميل الصفحة» في النافذة المنبثقة لإنشاء واحدة.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "المؤلف",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "الترخيص",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "ملاحظات الإصدار",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "الإبلاغ عن مشكلة",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "قيّم هذه الإضافة",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "ستظهر عمليات بحثك الأخيرة هنا.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(محذوف)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/_locales/de/messages.json b/_locales/de/messages.json
index 6285be2..c425f12 100644
--- a/_locales/de/messages.json
+++ b/_locales/de/messages.json
@@ -28,8 +28,8 @@
"description": "about"
},
"back": {
- "message": "Rücken",
- "description": "Back"
+ "message": "Rücken",
+ "description": "Back"
},
"version": {
"message": "Version",
@@ -207,9 +207,9 @@
"message": "Um Text in Texteditoren oder Eingabefeldern zu ersetzen, sollten Sie das Kontrollkästchen Nur Eingabefelder aktivieren.",
"description": "Erklärung zum Ersetzen von Text in Editoren und Textfeldern"
},
- "replace_editors_p2": {
- "message": "Um Text in Texteditoren oder Eingabefeldern zu ersetzen, sollten Sie das Kontrollkästchen Nur Eingabefelder aktivieren. Andernfalls wird der Suchtext im gesamten HTML ersetzt, was möglicherweise die Seite beschädigen kann. Um das Ändern von versteckten Eingabefeldern zu vermeiden, sollten Sie auch das Kontrollkästchen Nur sichtbare Elemente aktivieren.",
- "description": "Erklärung zum Ersetzen von Text in Editoren und Textfeldern"
+ "replace_editors_p3": {
+ "message": "Das umfasst einfache input- und textarea-Felder ebenso wie Rich-Text-Editoren wie TinyMCE und CKEditor. Da nichts außerhalb dieser Felder angefasst wird, ist dies die sicherste Option auf einer komplizierten Seite und die erste, die Sie versuchen sollten, wenn eine Ersetzung etwas zerstört zu haben scheint.",
+ "description": "Explanation about replacing text in editors and text fields"
},
"Setup": {
"message": "Einstellungen",
@@ -223,13 +223,13 @@
"message": "Um Text zu ersetzen, der in einem HTML-Code, in einem Texteditor oder in einem Textfeld enthalten ist, sollten Sie das Kontrollkästchen HTML ersetzen? aktivieren.",
"description": "Erklärung zum Ersetzen von Text überall auf der Seite"
},
- "Replacing_anywhere_p2": {
- "message": "Um Text zu ersetzen, der nicht in einem Texteditor enthalten ist und sich nicht in einem Textfeld befindet, deaktivieren Sie die Kontrollkästchen Nur Eingabefelder und Nur sichtbaren Inhalt ändern.",
- "description": "Erklärung zum Ersetzen von Text überall auf der Seite"
+ "Replacing_anywhere_caption": {
+ "message": "Jedes example.com auf der Seite wird umgeschrieben, einschließlich der Linkadressen.",
+ "description": "Caption for the Replace HTML screenshot"
},
"Replacing_anywhere_warning": {
- "message": "WARNUNG: Diese Einstellung ändert den HTML-Code der Seite und kann sie beschädigen. Sie können die Seite durch erneutes Laden wiederherstellen, verlieren jedoch alle nicht gespeicherten Änderungen in Texteditoren und Texteingabefeldern.",
- "description": "Erklärung zum Ersetzen von Text überall auf der Seite"
+ "message": "Diese Einstellung ändert den HTML-Code der Seite und kann sie beschädigen. Sie können die Seite durch erneutes Laden wiederherstellen, verlieren dabei jedoch alle nicht gespeicherten Änderungen in Texteditoren und Texteingabefeldern.",
+ "description": "Explanation about replacing text anywhere on the page"
},
"Matching_case": {
"message": "Groß-/Kleinschreibung beachten",
@@ -259,6 +259,10 @@
"message": "Wenn Sie einen teilweisen Suchbegriff finden müssen, sollten Sie das Kontrollkästchen für reguläre Ausdrücke aktivieren und einen Platzhalter angeben. Sie benötigen grundlegende Kenntnisse von regulären Ausdrücken, um diese Funktion zu verwenden. Ich empfehle regexpal zum Testen.",
"description": "Erklärung zu Platzhaltern und regulären Ausdrücken"
},
+ "wildcards_and_regex_p2": {
+ "message": "Im folgenden Beispiel bedeutet 1\\d1 „eine 1, dann eine beliebige Ziffer, dann eine 1“ und trifft damit auf 101, 111, 121 und so weiter bis 191 zu.",
+ "description": "Worked example for the regular expression section"
+ },
"Before": {
"message": "Vorher",
"description": ""
@@ -272,24 +276,36 @@
"description": ""
},
"Replacing_wordpress_p1": {
- "message": "WordPress ist derzeit in Version 6.6, Stand März 2023. Der Beitrag-Editor hat sich seit der Erstellung dieser Erweiterung erheblich verändert, und es ist eine neue Konfiguration erforderlich, um Text in WordPress zu ersetzen.",
- "description": ""
+ "message": "Der WordPress-Block-Editor hält Ihren Beitrag in einem eigenen Frame, getrennt vom Rest der Verwaltungsseite. Die Erweiterung schaut für Sie in diesen Frame hinein, sodass keine besonderen Optionen nötig sind: Geben Sie Ihre Begriffe ein und drücken Sie Alle ersetzen.",
+ "description": "Replacing text in WordPress"
},
- "Replacing_wordpress_setup_w6": {
- "message": "Konfiguration für WordPress 6+",
- "description": ""
+ "Replacing_wordpress_p2": {
+ "message": "Wenn Sie den klassischen Editor oder einen Page Builder mit gewöhnlichen Textfeldern verwenden, aktivieren Sie zuerst Nur Eingabefelder.",
+ "description": "Replacing text in WordPress"
},
- "Replacing_wordpress_setup_w5": {
- "message": "Konfiguration für WordPress 5 und ältere Versionen",
- "description": ""
+ "Replacing_wordpress_save": {
+ "message": "Die Ersetzung ändert den Inhalt des Editors, nicht den gespeicherten Beitrag. Drücken Sie anschließend in WordPress auf Aktualisieren, um sie zu behalten.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "Bearbeiten eines Beitrags im Block-Editor. Es sind keine Optionen nötig.",
+ "description": "Caption for the WordPress screenshot"
},
"Save_apply": {
"message": "Speichern und bei Seitenneuladen anwenden",
"description": "Speichern und bei Seitenneuladen anwenden"
},
"Save_apply_p1": {
- "message": "Sie können das Kontrollkästchen Speichern und bei Seitenneuladen anwenden aktivieren, um Ihre Suche zu speichern und bei nachfolgenden Seitenneuladen anzuwenden. Diese werden in Ihrem Browser gespeichert und erneut geöffnet.",
- "description": "Speichern und bei Seitenneuladen anwenden"
+ "message": "Sie können das Kontrollkästchen Speichern und bei Seitenneuladen anwenden aktivieren, um Ihre Suche zu speichern und bei jedem erneuten Laden der Seite anzuwenden. Das gilt auch dann noch, wenn Sie Ihren Browser geschlossen und wieder geöffnet haben.",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "Gespeicherte Regeln bearbeiten",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "Jede gespeicherte Regel kann hier bearbeitet oder gelöscht werden.",
+ "description": "Caption for the Saved Rules screenshot"
},
"Save_apply_multi": {
"message": "Mehrere Übereinstimmungsregeln",
@@ -304,15 +320,15 @@
"description": "Mehrere Übereinstimmungsregeln"
},
"Save_apply_multi_p3": {
- "message": "Sie können die gespeicherten Regeln bearbeiten, indem Sie auf den Link in der Erweiterungspopup klicken. Das URL-Muster Feld ist ein regulärer Ausdruck, der es Ihnen ermöglicht, dieselbe Regel auf viele verschiedene Websites anzuwenden.",
- "description": "Mehrere Übereinstimmungsregeln"
+ "message": "Sie können die gespeicherten Regeln auf der Seite Gespeicherte Regeln bearbeiten, die das Speichersymbol im Popup öffnet. Das Feld URL-Muster ist ein regulärer Ausdruck, mit dem Sie dieselbe Regel auf viele verschiedene Websites anwenden können.",
+ "description": "Multiple Matching Rules"
},
"ReportingIssues": {
"message": "Probleme melden",
"description": ""
},
"ReportingIssuesWarning": {
- "message": "Denken Sie daran, die Seite, auf der Sie Text ersetzen möchten, nach der Installation der Erweiterung zu AKTUALISIEREN.",
+ "message": "Denken Sie daran, jede Seite neu zu laden, die bereits geöffnet war, als die Erweiterung installiert oder aktualisiert wurde. Bis sie neu geladen wird, kann die Erweiterung sie nicht erreichen.",
"description": ""
},
"ReportingIssuesInfo": {
@@ -327,6 +343,22 @@
"message": "Bitte bewerten Sie ★★★★★ im Chrome Store, wenn Ihnen die Erweiterung hilft!",
"description": ""
},
+ "Troubleshooting": {
+ "message": "Bevor Sie ein Problem melden",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "Laden Sie die Seite neu. Eine Seite, die beim Installieren oder Aktualisieren der Erweiterung bereits geöffnet war, ist erst nach einem Neuladen erreichbar.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "Browserseiten wie chrome://, der Chrome Web Store und die Erweiterungsseite sind für jede Erweiterung gesperrt, dort kann also nichts ersetzt werden.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "Wenn die Zählung bei null bleibt, versuchen Sie Versteckter Inhalt, schalten Sie Groß-/Kleinschreibung beachten aus, oder prüfen Sie, ob der Text nicht Teil eines Bildes ist.",
+ "description": "Troubleshooting checklist"
+ },
"no_saved_instances": {
"message": "Keine gespeicherten Instanzen",
"description": "message to tell user that no rules were found"
@@ -334,5 +366,161 @@
"matches": {
"message": "streichhölzer",
"description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "Versteckte Inhalte durchsuchen",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "Versteckte Inhalte durchsuchen",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "Standardmäßig sucht und ersetzt die Erweiterung nur Text, der auf der Seite sichtbar ist. Wenn Sie Text in versteckten Elementen suchen und ersetzen möchten (etwa in eingeklappten Abschnitten, versteckten Divs oder Elementen mit display: none), aktivieren Sie die Option Versteckter Inhalt.",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "Das ist besonders nützlich bei dynamischen Inhalten, die zunächst verborgen sind und erst durch eine Benutzeraktion sichtbar werden, oder wenn Sie versteckte Formularfelder ändern müssen.",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "Wenn Versteckter Inhalt aktiviert ist, durchsucht die Erweiterung jedes Element unabhängig von seiner Sichtbarkeit, was zu einer höheren Trefferzahl führen kann.",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "Suchen und Ersetzen kann diese Seite nicht erreichen. Laden Sie die Seite neu und versuchen Sie es erneut.",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "So finden und ändern Sie Text auf einer Seite — in gewöhnlichem Text, in Formularfeldern, in Editoren und automatisch bei jedem Besuch.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "Inhalt",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "Hinweis",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "Tipp",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "Warnung",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "Kein Rückgängig",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "Das Popup auf einen Blick",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "Öffnen Sie das Popup über die Symbolleiste oder mit Strg+Umschalt+S. Geben Sie den gesuchten Text in Suchen nach ein und den gewünschten Ersatz in Ersetzen durch, und drücken Sie dann eine der beiden Schaltflächen unten.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "Die Zahl unter dem Feld Suchen nach zählt die auf der Seite verbliebenen Treffer und wird beim Tippen und beim Ersetzen aktualisiert. Die Symbolreihe oben öffnet diese Hilfeseite, Ihre letzten Suchen, das Info-Fenster, die Spracheinstellung und Ihre gespeicherten Regeln.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "Auf der Seite sind noch vier Vorkommen von Condo übrig.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "Was die einzelnen Optionen bewirken",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "Jedes Kontrollkästchen im Popup schränkt den Suchbereich ein oder erweitert ihn. Sie lassen sich kombinieren.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "Findet nur Text mit genau derselben Groß- und Kleinschreibung. Ohne Häkchen passen Condo, condo und CONDO alle.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "Beschränkt die Suche auf Textfelder, Textbereiche und Rich-Text-Editoren und lässt den Rest der Seite unberührt. Verwenden Sie sie immer dann, wenn Sie ein Formular, eine Nachricht oder einen Beitrag bearbeiten.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "Bezieht Elemente ein, die Sie gerade nicht sehen können: eingeklappte Bereiche, inaktive Tabs, Menüs außerhalb des Bildschirms und versteckte Formularfelder.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "Verlangt, dass der Treffer ein ganzes Wort ist, sodass partial nicht mehr innerhalb von partially gefunden wird.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "Behandelt den Suchbegriff als regulären Ausdruck statt als wörtlichen Text.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "Durchsucht den HTML-Quelltext der Seite statt des lesbaren Textes, sodass auch Tags, Attribute, Linkadressen und Alt-Texte erfasst werden.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "Speichert die Suche als Regel und wendet sie bei jedem Öffnen einer passenden Seite erneut an, auch nach einem Neustart des Browsers.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "Dieselbe Suche findet sechs statt vier Treffer, sobald versteckte Elemente einbezogen werden.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "Verlauf, Tauschen und Sprache",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "Das Uhrensymbol im Popup listet Ihre letzten Suchen auf. Klicken Sie eine an, um sie wieder in die beiden Felder zu übernehmen, oder drücken Sie Löschen, um die Liste zu leeren.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "Swap zwischen den beiden Feldern vertauscht Such- und Ersetzungsbegriff — praktisch, um eine gerade vorgenommene Ersetzung rückgängig zu machen, solange der ursprüngliche Text nicht auch anderswo auf der Seite eingegeben wurde.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "Das Zahnradsymbol enthält die Spracheinstellung. Die Erweiterung ist auf Arabisch, Chinesisch, Deutsch, Englisch, Hindi, Japanisch, Koreanisch, Portugiesisch, Russisch und Spanisch übersetzt; noch nicht Übersetztes wird auf Englisch angezeigt.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "Diese Suchen laufen automatisch jedes Mal, wenn Sie eine Seite öffnen, deren Adresse zu ihrem URL-Muster passt. Das Muster ist ein regulärer Ausdruck, sodass eine Regel eine ganze Website abdecken kann.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "Aktivieren Sie „Speichern und bei Seitenneuladen anwenden“ im Popup, um eine anzulegen.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "Autor",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "Lizenz",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "Versionshinweise",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "Problem melden",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "Erweiterung bewerten",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "Ihre letzten Suchen erscheinen hier.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(entfernt)",
+ "description": "Shown in the History panel when the replacement term is empty"
}
}
diff --git a/_locales/en/messages.json b/_locales/en/messages.json
index 72eadeb..1530a9f 100644
--- a/_locales/en/messages.json
+++ b/_locales/en/messages.json
@@ -207,8 +207,8 @@
"message": "To replace text in text editors or input boxes you should check the Input fields only? check box.",
"description": "Explanation about replacing text in editors and text fields"
},
- "replace_editors_p2": {
- "message": "To replace text in text editors or input boxes you should check the Input fields only? check box. Otherwise, the search text will be replaced throughout the entire HTML, possibly breaking the page. To avoid changing hidden input fields, you should also check the Visible elements only? check box.",
+ "replace_editors_p3": {
+ "message": "This covers plain input and textarea boxes as well as rich text editors such as TinyMCE and CKEditor. Because nothing outside those fields is touched, it is the safest option on a complicated page, and the one to try first if a replacement appeared to break something.",
"description": "Explanation about replacing text in editors and text fields"
},
"Setup": {
@@ -223,12 +223,12 @@
"message": "To replace text anywhere on the page, including within the HTML structure itself, check the Replace HTML? option. This allows you to replace text in all elements on the page, including regular text, text editors, input fields, and even HTML tags and attributes.",
"description": "Explanation about replacing text anywhere on the page"
},
- "Replacing_anywhere_p2": {
- "message": "To replace text that is not contained within a text editor and not contained within a text field, leave the Input Fields only? and Only change visible content? boxes unchecked.",
- "description": "Explanation about replacing text anywhere on the page"
+ "Replacing_anywhere_caption": {
+ "message": "Rewriting every example.com on the page, link addresses included.",
+ "description": "Caption for the Replace HTML screenshot"
},
"Replacing_anywhere_warning": {
- "message": "WARNING: This setup will alter the page HTML and may break the page. You can restore the page by reloading, but you will lose any unsaved changes in text editors and in text input fields.",
+ "message": "This setup alters the page HTML and may break the page. You can restore the page by reloading, but you will lose any unsaved changes in text editors and in text input fields.",
"description": "Explanation about replacing text anywhere on the page"
},
"Matching_case": {
@@ -256,9 +256,13 @@
"description": "Explanation about wild cards and regular expressions"
},
"wildcards_and_regex_p1": {
- "message": "If you need to match a partial search term then you should check the Regular Expressions check box and specify a wild card. You will need to have a very basic knowledge of regular expressions to use this feature. I recommend regexpal for testing",
+ "message": "If you need to match a partial search term then you should check the Regular Expressions check box and specify a wild card. You will need to have a very basic knowledge of regular expressions to use this feature. I recommend regexpal for testing",
"description": "Explanation about wild cards and regular expressions"
},
+ "wildcards_and_regex_p2": {
+ "message": "In the example below, 1\\d1 means “a 1, then any digit, then a 1”, which matches 101, 111, 121 and so on up to 191.",
+ "description": "Worked example for the regular expression section"
+ },
"Before": {
"message": "Before",
"description": ""
@@ -272,25 +276,37 @@
"description": ""
},
"Replacing_wordpress_p1": {
- "message": "WordPress is currently on version 6.6, as of March 2023. The post editor has changed significantly since this extension was created and a new setup is required to replace text in WordPress.",
- "description": ""
+ "message": "The WordPress block editor keeps your post inside a frame of its own, separate from the rest of the admin page. The extension looks inside that frame for you, so no special options are needed: type your terms and press Replace All.",
+ "description": "Replacing text in WordPress"
},
- "Replacing_wordpress_setup_w6": {
- "message": "Setup for WordPress 6+",
- "description": ""
+ "Replacing_wordpress_p2": {
+ "message": "If you are using the classic editor, or a page builder whose fields are ordinary text boxes, check Input fields only? first.",
+ "description": "Replacing text in WordPress"
},
- "Replacing_wordpress_setup_w5": {
- "message": "Setup for WordPress 5 and below",
- "description": ""
+ "Replacing_wordpress_save": {
+ "message": "The replacement changes what is in the editor, not what is stored. Press Update in WordPress afterwards to keep it.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "Editing a post in the block editor. No options are needed.",
+ "description": "Caption for the WordPress screenshot"
},
"Save_apply": {
"message": "Save and apply on page reload",
"description": "Save and apply on page reload"
},
"Save_apply_p1": {
- "message": "You can check the Save and apply on page reload check box to save your search and apply it on subsequent page reloads. These will take and re-opened your browser.",
+ "message": "You can check the Save and apply on page reload? check box to save your search and apply it on subsequent page reloads. These will take effect even after you have closed and re-opened your browser.",
"description": "Save and apply on page reload"
},
+ "Save_apply_editing": {
+ "message": "Editing saved rules",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "Each saved rule can be edited or deleted here.",
+ "description": "Caption for the Saved Rules screenshot"
+ },
"Save_apply_multi": {
"message": "Multiple Matching Rules",
"description": "Multiple Matching Rules"
@@ -304,7 +320,7 @@
"description": "Multiple Matching Rules"
},
"Save_apply_multi_p3": {
- "message": "You can edit the saved rules by clicking on the link in the extension popup. The URL Pattern field is a regular expression, which allows you to apply the same rule to many different websites.",
+ "message": "You can edit the saved rules on the Saved Rules page, which the save icon in the popup opens. The URL Pattern field is a regular expression, which allows you to apply the same rule to many different websites.",
"description": "Multiple Matching Rules"
},
"ReportingIssues": {
@@ -312,7 +328,7 @@
"description": ""
},
"ReportingIssuesWarning": {
- "message": "Remember to REFRESH the page on which you wish to replace text after installing.",
+ "message": "Remember to reload any page that was already open when the extension was installed or updated. Until it is reloaded, the extension cannot reach it.",
"description": ""
},
"ReportingIssuesInfo": {
@@ -320,13 +336,29 @@
"description": ""
},
"ReportingIssues_p1": {
- "message": "If you find a bug, please provide a detailed report on the Chrome Extension Store or on GitHub.",
+ "message": "If you find a bug, please provide a detailed report on the Chrome Extension Store or on GitHub.",
"description": ""
},
"Rate_on_store": {
- "message": "Please rate ★★★★★ on Chrome Store if the extension helps you!",
+ "message": "Please rate ★★★★★ on Chrome Store if the extension helps you!",
"description": ""
},
+ "Troubleshooting": {
+ "message": "Before you report",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "Reload the page. A page that was already open when the extension was installed or updated cannot be reached until it is reloaded.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "Browser pages such as chrome://, the Chrome Web Store and the extensions page are off limits to every extension, so nothing can be replaced there.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "If the count stays at zero, try Hidden content?, turn off Match case?, or check that the text is not an image.",
+ "description": "Troubleshooting checklist"
+ },
"no_saved_instances": {
"message": "No saved instances",
"description": "message to tell user that no rules were found"
@@ -352,11 +384,143 @@
"description": "Second paragraph explaining hidden content use cases"
},
"hidden_content_note": {
- "message": "NOTE: When Hidden content? is checked, the extension will search through all elements regardless of their visibility, which may result in a higher match count.",
+ "message": "When Hidden content? is checked, the extension searches every element regardless of its visibility, which may result in a higher match count.",
"description": "Note about hidden content behavior"
},
"pageUnreachable": {
"message": "Search and Replace cannot reach this page. Reload the page and try again.",
"description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "How to find text on a page and change it — in ordinary text, in form fields, in editors, and automatically on every visit.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "Contents",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "Note",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "Tip",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "Warning",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "No undo",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "The popup at a glance",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "Open the popup from the toolbar, or with Ctrl+Shift+S. Type the text you are looking for into Search for and the text you want instead into Replace with, then press one of the two buttons at the bottom.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "The number under the Search for box counts the matches left on the page, and updates as you type and as you replace. The row of icons along the top opens this help page, your recent searches, the About panel, the language setting, and your saved rules.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "Four occurrences of Condo are left on the page.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "What each option does",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "Every checkbox in the popup narrows or widens what is searched. They can be combined.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "Only matches text with exactly the same capitalisation. Leave it unchecked and Condo, condo and CONDO all match.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "Limits the search to text boxes, text areas and rich text editors, and leaves the rest of the page alone. Use it whenever you are editing a form, a message or a post.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "Includes elements you cannot currently see: collapsed panels, inactive tabs, off-screen menus and hidden form fields.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "Requires the match to be a whole word, so partial no longer matches inside partially.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "Treats the search term as a regular expression instead of literal text.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "Searches the page's HTML source rather than the text you can read, so tags, attributes, link addresses and alt text are all in scope.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "Stores the search as a rule and applies it again every time you open a matching page, even after you restart the browser.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "The same search finds six matches instead of four once hidden elements are included.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "History, Swap and language",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "The clock icon in the popup lists your recent searches. Click one to put it back into the two boxes, or press Clear to empty the list.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "Swap, between the two boxes, exchanges the search and replace terms — handy for undoing a replacement you have just made, as long as the original text has not been typed anywhere else on the page.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "The cog icon holds the language setting. The extension is translated into Arabic, Chinese, English, German, Hindi, Japanese, Korean, Portuguese, Russian and Spanish; anything not yet translated falls back to English.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "These searches run automatically every time you open a page whose address matches their URL pattern. The pattern is a regular expression, so one rule can cover a whole site.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "Check \"Save and apply on page reload?\" in the popup to create one.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "Author",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "Licence",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "Release notes",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "Report an issue",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "Rate this extension",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "Your recent searches will appear here.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(removed)",
+ "description": "Shown in the History panel when the replacement term is empty"
}
}
diff --git a/_locales/es/messages.json b/_locales/es/messages.json
index 9d07f97..d732685 100644
--- a/_locales/es/messages.json
+++ b/_locales/es/messages.json
@@ -28,8 +28,8 @@
"description": "about"
},
"back": {
- "message": "Tagasi",
- "description": "Back"
+ "message": "Tagasi",
+ "description": "Back"
},
"version": {
"message": "Versión",
@@ -207,9 +207,9 @@
"message": "Para reemplazar texto en editores de texto o campos de entrada, debes marcar la casilla Solo Campos de Entrada.",
"description": "Explicación sobre cómo reemplazar texto en editores y campos de texto"
},
- "replace_editors_p2": {
- "message": "Para reemplazar texto en editores de texto o campos de entrada, debes marcar la casilla Solo Campos de Entrada. De lo contrario, el texto de búsqueda se reemplazará en todo el HTML, lo que podría romper la página. Para evitar cambiar campos de entrada ocultos, también debes marcar la casilla Solo Elementos Visibles.",
- "description": "Explicación sobre cómo reemplazar texto en editores y campos de texto"
+ "replace_editors_p3": {
+ "message": "Esto abarca las cajas input y textarea simples, así como editores de texto enriquecido como TinyMCE y CKEditor. Como no se toca nada fuera de esos campos, es la opción más segura en una página complicada y la primera que conviene probar si una sustitución parece haber roto algo.",
+ "description": "Explanation about replacing text in editors and text fields"
},
"Setup": {
"message": "Configuración",
@@ -223,13 +223,13 @@
"message": "Para reemplazar texto contenido en un HTML, contenido en un editor de texto y contenido en un campo de texto, debe marcar la casilla de verificación ¿Reemplazar HTML?.",
"description": "Explicación sobre cómo reemplazar texto en cualquier lugar de la página"
},
- "Replacing_anywhere_p2": {
- "message": "Para reemplazar texto que no está contenido en un editor de texto ni en un campo de entrada, deja desmarcadas las casillas Solo Campos de Entrada y Solo Cambiar Contenido Visible.",
- "description": "Explicación sobre cómo reemplazar texto en cualquier lugar de la página"
+ "Replacing_anywhere_caption": {
+ "message": "Reescribiendo cada example.com de la página, incluidas las direcciones de los enlaces.",
+ "description": "Caption for the Replace HTML screenshot"
},
"Replacing_anywhere_warning": {
- "message": "ADVERTENCIA: Esta configuración alterará el HTML de la página y puede romperla. Puedes restaurar la página recargándola, pero perderás los cambios no guardados en editores de texto y campos de entrada de texto.",
- "description": "Explicación sobre cómo reemplazar texto en cualquier lugar de la página"
+ "message": "Esta configuración modifica el HTML de la página y puede romperla. Puede restaurar la página recargándola, pero perderá los cambios no guardados en los editores de texto y en los campos de entrada de texto.",
+ "description": "Explanation about replacing text anywhere on the page"
},
"Matching_case": {
"message": "Coincidir con el caso del texto",
@@ -259,6 +259,10 @@
"message": "Si necesitas hacer coincidir un término de búsqueda parcial, debes marcar la casilla de Expresiones Regulares y especificar un comodín. Deberás tener un conocimiento básico de expresiones regulares para usar esta función. Te recomiendo regexpal para probarlo.",
"description": "Explicación sobre comodines y expresiones regulares"
},
+ "wildcards_and_regex_p2": {
+ "message": "En el ejemplo siguiente, 1\\d1 significa «un 1, luego cualquier dígito, luego un 1», que coincide con 101, 111, 121 y así sucesivamente hasta 191.",
+ "description": "Worked example for the regular expression section"
+ },
"Before": {
"message": "Antes",
"description": ""
@@ -272,24 +276,36 @@
"description": ""
},
"Replacing_wordpress_p1": {
- "message": "WordPress está actualmente en la versión 6.6, a partir de marzo de 2023. El editor de entradas ha cambiado significativamente desde la creación de esta extensión y se requiere una nueva configuración para reemplazar texto en WordPress.",
- "description": ""
+ "message": "El editor de bloques de WordPress mantiene su entrada dentro de un marco propio, separado del resto de la página de administración. La extensión mira dentro de ese marco por usted, así que no hacen falta opciones especiales: escriba sus términos y pulse Reemplazar Todo.",
+ "description": "Replacing text in WordPress"
},
- "Replacing_wordpress_setup_w6": {
- "message": "Configuración para WordPress 6+",
- "description": ""
+ "Replacing_wordpress_p2": {
+ "message": "Si utiliza el editor clásico, o un maquetador cuyos campos son cajas de texto normales, marque primero Solo Campos de Entrada.",
+ "description": "Replacing text in WordPress"
},
- "Replacing_wordpress_setup_w5": {
- "message": "Configuración para WordPress 5 y versiones anteriores",
- "description": ""
+ "Replacing_wordpress_save": {
+ "message": "La sustitución cambia lo que hay en el editor, no lo que está guardado. Pulse Actualizar en WordPress después para conservarla.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "Editando una entrada en el editor de bloques. No hace falta ninguna opción.",
+ "description": "Caption for the WordPress screenshot"
},
"Save_apply": {
"message": "Guardar y Aplicar al Recargar la Página",
"description": "Guardar y Aplicar al Recargar la Página"
},
"Save_apply_p1": {
- "message": "Puedes marcar la casilla Guardar y Aplicar al Recargar la Página para guardar tu búsqueda y aplicarla en recargas posteriores de la página. Estas configuraciones se mantendrán al reabrir tu navegador.",
- "description": "Guardar y Aplicar al Recargar la Página"
+ "message": "Puede marcar la casilla Guardar y Aplicar al Recargar la Página para guardar su búsqueda y aplicarla cada vez que se recargue la página. Seguirá aplicándose incluso después de cerrar y volver a abrir el navegador.",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "Editar las reglas guardadas",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "Cada regla guardada se puede editar o eliminar aquí.",
+ "description": "Caption for the Saved Rules screenshot"
},
"Save_apply_multi": {
"message": "Reglas de Coincidencia Múltiple",
@@ -304,15 +320,15 @@
"description": "Reglas de Coincidencia Múltiple"
},
"Save_apply_multi_p3": {
- "message": "Puedes editar las reglas guardadas haciendo clic en el enlace en la ventana emergente de la extensión. El campo Patrón de URL es una expresión regular, que te permite aplicar la misma regla a muchos sitios web diferentes.",
- "description": "Reglas de Coincidencia Múltiple"
+ "message": "Puede editar las reglas guardadas en la página Reglas Guardadas, que abre el icono de guardar del popup. El campo Patrón de URL es una expresión regular, lo que le permite aplicar la misma regla a muchos sitios web distintos.",
+ "description": "Multiple Matching Rules"
},
"ReportingIssues": {
"message": "Reportar Problemas",
"description": ""
},
"ReportingIssuesWarning": {
- "message": "Recuerda RECARGAR la página en la que deseas reemplazar texto después de instalar la extensión.",
+ "message": "Recuerde recargar cualquier página que ya estuviera abierta cuando se instaló o actualizó la extensión. Hasta que se recargue, la extensión no puede acceder a ella.",
"description": ""
},
"ReportingIssuesInfo": {
@@ -327,6 +343,22 @@
"message": "¡Por favor, califica ★★★★★ en la Tienda de Chrome si la extensión te ayuda!",
"description": ""
},
+ "Troubleshooting": {
+ "message": "Antes de informar de un problema",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "Recargue la página. Una página que ya estaba abierta cuando se instaló o actualizó la extensión no es accesible hasta que se recarga.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "Las páginas del navegador como chrome://, la Chrome Web Store y la página de extensiones están vetadas a todas las extensiones, así que allí no se puede reemplazar nada.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "Si el recuento se queda en cero, pruebe Contenido oculto, desactive Coincidir Mayúsculas y Minúsculas, o compruebe que el texto no sea una imagen.",
+ "description": "Troubleshooting checklist"
+ },
"no_saved_instances": {
"message": "No hay instancias guardadas",
"description": "message to tell user that no rules were found"
@@ -334,5 +366,161 @@
"matches": {
"message": "partidos",
"description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "Buscar contenido oculto",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "Buscar contenido oculto",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "De forma predeterminada, la extensión solo busca y reemplaza el texto visible en la página. Si necesita buscar y reemplazar texto en elementos ocultos (como secciones plegadas, divs ocultos o elementos con display: none), marque la opción Contenido oculto.",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "Esto resulta especialmente útil con contenido dinámico que está oculto al principio pero se vuelve visible mediante la interacción del usuario, o cuando necesita modificar campos de formulario ocultos.",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "Cuando Contenido oculto está marcado, la extensión examina todos los elementos con independencia de su visibilidad, lo que puede dar un número de coincidencias mayor.",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "Buscar y Reemplazar no puede acceder a esta página. Recargue la página e inténtelo de nuevo.",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "Cómo encontrar texto en una página y cambiarlo — en texto normal, en campos de formulario, en editores y automáticamente en cada visita.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "Contenido",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "Nota",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "Consejo",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "Advertencia",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "Sin deshacer",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "El popup de un vistazo",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "Abra el popup desde la barra de herramientas, o con Ctrl+Mayús+S. Escriba el texto que busca en Buscar por y el texto que quiere en su lugar en Reemplazar con, y después pulse uno de los dos botones de abajo.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "El número que aparece bajo la caja Buscar por cuenta las coincidencias que quedan en la página, y se actualiza mientras escribe y mientras reemplaza. La fila de iconos de arriba abre esta página de ayuda, sus búsquedas recientes, el panel Acerca de, el ajuste de idioma y sus reglas guardadas.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "Quedan cuatro apariciones de Condo en la página.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "Qué hace cada opción",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "Cada casilla del popup restringe o amplía lo que se busca. Se pueden combinar.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "Solo coincide con texto que tenga exactamente las mismas mayúsculas y minúsculas. Sin marcar, Condo, condo y CONDO coinciden todos.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "Limita la búsqueda a cajas de texto, áreas de texto y editores de texto enriquecido, y deja el resto de la página en paz. Úsela siempre que esté editando un formulario, un mensaje o una entrada.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "Incluye elementos que ahora mismo no puede ver: paneles plegados, pestañas inactivas, menús fuera de pantalla y campos de formulario ocultos.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "Exige que la coincidencia sea una palabra completa, de modo que partial ya no coincida dentro de partially.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "Trata el término de búsqueda como una expresión regular en lugar de como texto literal.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "Busca en el código HTML de la página en lugar del texto que usted lee, de modo que las etiquetas, los atributos, las direcciones de enlaces y el texto alternativo también entran en el ámbito.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "Guarda la búsqueda como una regla y la aplica de nuevo cada vez que abre una página que coincida, incluso después de reiniciar el navegador.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "La misma búsqueda encuentra seis coincidencias en lugar de cuatro una vez incluidos los elementos ocultos.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "Historial, Intercambio e idioma",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "El icono del reloj en el popup muestra sus búsquedas recientes. Haga clic en una para devolverla a las dos cajas, o pulse Borrar para vaciar la lista.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "Swap, entre las dos cajas, intercambia los términos de búsqueda y reemplazo — práctico para deshacer una sustitución que acaba de hacer, siempre que el texto original no se haya escrito en ningún otro lugar de la página.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "El icono del engranaje contiene el ajuste de idioma. La extensión está traducida al alemán, árabe, chino, coreano, español, hindi, inglés, japonés, portugués y ruso; lo que aún no esté traducido se muestra en inglés.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "Estas búsquedas se ejecutan automáticamente cada vez que abre una página cuya dirección coincide con su patrón de URL. El patrón es una expresión regular, así que una sola regla puede cubrir todo un sitio.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "Marque «Guardar y Aplicar al Recargar la Página» en el popup para crear una.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "Autor",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "Licencia",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "Notas de la versión",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "Informar de un problema",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "Valorar esta extensión",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "Sus búsquedas recientes aparecerán aquí.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(eliminado)",
+ "description": "Shown in the History panel when the replacement term is empty"
}
}
diff --git a/_locales/hi/messages.json b/_locales/hi/messages.json
index af1df6b..f0745ff 100644
--- a/_locales/hi/messages.json
+++ b/_locales/hi/messages.json
@@ -1,338 +1,526 @@
{
- "ext_name": {
- "message": "खोज और बदलें",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "वेबपृष्ठ पर पाठ की खोज करें और उसे विभिन्न पाठ से बदलें।",
- "description": "ext_description"
- },
- "options": {
- "message": "विकल्प",
- "description": "options"
- },
- "saved_rules": {
- "message": "सहेजे गए नियम",
- "description": "Options Tab"
- },
- "select_language": {
- "message": "एक भाषा चुनें:",
- "description": "Options Tab"
- },
- "settings": {
- "message": "सेटिंग्स",
- "description": "Settings"
- },
- "about": {
- "message": "के बारे में",
- "description": "about"
- },
- "back": {
- "message": "पीछे",
- "description": "Back"
- },
- "version": {
- "message": "संस्करण",
- "description": "version"
- },
- "RuleID": {
- "message": "नियम आईडी",
- "description": "options"
- },
- "URLPattern": {
- "message": "URL पैटर्न",
- "description": "options"
- },
- "SearchTerm": {
- "message": "खोज शब्द",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "बदलें शब्द",
- "description": "options"
- },
- "Delete": {
- "message": "मिटाएं",
- "description": "options"
- },
- "Save": {
- "message": "सहेजें",
- "description": "options"
- },
- "matchCase": {
- "message": "मैच केस",
- "description": "checkbox matchCase"
- },
- "inputFieldsOnly": {
- "message": "केवल इनपुट फ़ील्ड्स",
- "description": "checkbox inputFieldsOnly"
- },
- "hiddenContent": {
- "message": "छिपी हुई सामग्री",
- "description": "checkbox hiddenContent"
- },
- "wholeWord": {
- "message": "पूरे शब्द का मैच",
- "description": "checkbox wholeWord"
- },
- "isRegex": {
- "message": "नियमित अभिव्यक्ति",
- "description": "checkbox isRegex"
- },
- "replaceHTML": {
- "message": "HTML बदलें",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "सभी को बदलें",
- "description": "checkbox replaceAll"
- },
- "saveApplyPageReload": {
- "message": "पृष्ठ पुन: लोड होने पर सहेजें और लागू करें",
- "description": "checkbox save"
- },
- "Searchfor": {
- "message": "खोजें",
- "description": "popup"
- },
- "Swap": {
- "message": "बदलें ⇅",
- "description": "popup"
- },
- "Replacewith": {
- "message": "के साथ बदलें",
- "description": "popup"
- },
- "Matchcase": {
- "message": "मैच केस",
- "description": "popup"
- },
- "Inputfields": {
- "message": "केवल इनपुट फ़ील्ड्स",
- "description": "popup"
- },
- "Hiddencontent": {
- "message": "छिपी हुई सामग्री",
- "description": "popup"
- },
- "Matchwhole": {
- "message": "पूरे शब्द का मैच",
- "description": "popup"
- },
- "Regularexpression": {
- "message": "नियमित अभिव्यक्ति",
- "description": "popup"
- },
- "Saveandapply": {
- "message": "पृष्ठ पुन: लोड होने पर सहेजें और लागू करें",
- "description": "popup"
- },
- "ReplaceNext": {
- "message": "अगला बदलें",
- "description": "popup"
- },
- "ReplaceAll": {
- "message": "सभी को बदलें",
- "description": "popup"
- },
- "History": {
- "message": "इतिहास",
- "description": "popup"
- },
- "Clear": {
- "message": "साफ़ करें",
- "description": "popup"
- },
- "EditSettings": {
- "message": "विन्यास बदलें",
- "description": "popup"
- },
- "Help": {
- "message": "सहायता",
- "description": ""
- },
- "help_title": {
- "message": "खोज और बदलें के लिए सहायता पृष्ठ",
- "description": "help"
- },
- "URL": {
- "message": "यूआरएल",
- "description": ""
- },
- "Search": {
- "message": "खोजें",
- "description": ""
- },
- "Replace": {
- "message": "बदलें",
- "description": ""
- },
- "Priority": {
- "message": "प्राथमिकता",
- "description": ""
- },
- "Example": {
- "message": "उदाहरण",
- "description": ""
- },
- "applied_first": {
- "message": "सबसे पहले लागू किया गया",
- "description": ""
- },
- "applied_last": {
- "message": "सबसे आखिर में लागू किया गया",
- "description": ""
- },
- "next_vs_all": {
- "message": "अगला बदलें बनाम सभी को बदलें",
- "description": "अगला बदलें बनाम सभी को बदलें"
- },
- "next_vs_all_p1": {
- "message": "खोज शब्द के पहले प्रकट होने को बदलने के लिए, अगला बदलें दबाएं। आप इस बटन को जब तक कोई और उपस्थिति नहीं होती, तब तक दबा सकते हैं।",
- "description": "अगला बदलें बनाम सभी को बदलें"
- },
- "next_vs_all_p2": {
- "message": "खोज शब्द के सभी प्रकट होने को बदलने के लिए, सभी को बदलें दबाएं।",
- "description": "अगला बदलें बनाम सभी को बदलें"
- },
- "next_vs_all_p3": {
- "message": "वर्तमान में कोई आनडू फ़ंक्शन नहीं है। अगर आप गलती से कुछ गड़बड़ करते हैं, तो पृष्ठ को पुनर्लोड करके मूल पाठ को पुनर्स्थापित कर सकते हैं। हालांकि, पाठ संपादकों में और पाठ इनपुट फ़ील्ड में असहेजे बदलाव को खो देंगे।",
- "description": "अगला बदलें बनाम सभी को बदलें"
- },
- "replace_editors": {
- "message": "पाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलना",
- "description": "Pाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलने के बारे में व्याख्या"
- },
- "replace_editors_p1": {
- "message": "पाठ संपादकों या इनपुट बॉक्स में पाठ को बदलने के लिए, आपको केवल इनपुट फ़ील्ड्स? चेक बॉक्स की जांच करनी चाहिए।",
- "description": "Pाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलने के बारे में व्याख्या"
- },
- "replace_editors_p2": {
- "message": "पाठ संपादकों या इनपुट बॉक्स में पाठ को बदलने के लिए, आपको केवल इनपुट फ़ील्ड्स? चेक बॉक्स की जांच करनी चाहिए। अन्यथा, खोज पाठ को पूरे HTML के माध्यम से बदल दिया जाएगा, जिससे पृष्ठ टूट सकता है। छिपे हुए इनपुट फ़ील्डों को बदलने से बचने के लिए आपको केवल दिखाई देने वाले तत्वों को ही चेक करना चाहिए? भी करनी चाहिए।",
- "description": "Pाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलने के बारे में व्याख्या"
- },
- "Setup": {
- "message": "सेटअप",
- "description": "help"
- },
- "Replacing_anywhere": {
- "message": "पृष्ठ पर कहीं भी पाठ को बदलना",
- "description": "कहीं भी पाठ को बदलने के बारे में व्याख्या"
- },
- "Replacing_anywhere_p1": {
- "message": "HTML के भीतर मौजूद, टेक्स्ट संपादक के भीतर और टेक्स्ट फ़ील्ड के भीतर मौजूद टेक्स्ट को बदलने के लिए, आपको HTML बदलें? चेक बॉक्स को चेक करना चाहिए।",
- "description": "कहीं भी पाठ को बदलने के बारे में व्याख्या"
- },
- "Replacing_anywhere_p2": {
- "message": "यदि आप पृष्ठ पर संपादक या पाठ फ़ील्ड में शामिल नहीं होने वाले पाठ को बदलना चाहते हैं, तो केवल इनपुट फ़ील्ड्स? और केवल दिखाई देने वाले सामग्री को ही बदलने की आवश्यकता है? चेक बॉक्स खाली छोड़ दें।",
- "description": "कहीं भी पाठ को बदलने के बारे में व्याख्या"
- },
- "Replacing_anywhere_warning": {
- "message": "चेतावनी: इस सेटअप से पृष्ठ का HTML बदल जाएगा और पृष्ठ टूट सकता है। आप पृष्ठ को पुन: लोड करके पृष्ठ को पुनर्स्थापित कर सकते हैं, लेकिन पाठ संपादकों में और पाठ इनपुट फ़ील्डों में किए गए असहेजे बदलावों को खो देंगे।",
- "description": "कहीं भी पाठ को बदलने के बारे में व्याख्या"
- },
- "Matching_case": {
- "message": "पाठ के मैच करने की स्थिति",
- "description": "पाठ के मैच करने की स्थिति"
- },
- "Matching_case_p1": {
- "message": "यदि आप यह को बदलने की आवश्यकता है लेकिन यह को नहीं, तो आपको मैच केस विकल्प का उपयोग करना चाहिए।",
- "description": "पाठ के मैच करने की स्थिति"
- },
- "Matching_case_p2": {
- "message": "निम्नलिखित सेटअप में कॉन्डो को मैच करेगा लेकिन कॉन्डो को नहीं। यह पृष्ठ पर दिखाई देने वाले पाठ क्षेत्रों में कॉन्डो को अपार्टमेंट के साथ बदल देगा।",
- "description": "पाठ के मैच करने की स्थिति"
- },
- "Matching_whole": {
- "message": "पूरे शब्द का मैच",
- "description": "पूरे शब्द का मैच"
- },
- "Matching_whole_p1": {
- "message": "यदि आप केवल पूरे शब्द को मैच करने की आवश्यकता है, तो आपको पूरे शब्द के मैच विकल्प का उपयोग करना चाहिए।",
- "description": "पूरे शब्द का मैच"
- },
- "wildcards_and_regex": {
- "message": "वाइल्ड कार्ड और रेगुलर एक्सप्रेशन",
- "description": "Explanation about wild cards and regular expressions"
- },
- "wildcards_and_regex_p1": {
- "message": "यदि आपको आंशिक खोज शब्द का मिलान करना है तो आपको रेगुलर एक्सप्रेशन चेक बॉक्स को चेक करना चाहिए और वाइल्ड कार्ड निर्दिष्ट करना चाहिए। इस सुविधा का उपयोग करने के लिए आपको नियमित अभिव्यक्तियों का बहुत ही बुनियादी ज्ञान होना आवश्यक है। मैं परीक्षण के लिए regexpal की अनुशंसा करता हूं",
- "description": "Explanation about wild cards and regular expressions"
- },
- "Before": {
- "message": "पहले",
- "description": ""
- },
- "After": {
- "message": "बाद",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "में टेक्स्ट बदलना WordPress",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "मार्च 2023 तक वर्डप्रेस वर्तमान में संस्करण 6.6 पर है। इस एक्सटेंशन के बनने के बाद से पोस्ट एडिटर में काफी बदलाव आया है और वर्डप्रेस में टेक्स्ट को बदलने के लिए एक नए सेटअप की आवश्यकता है।",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "वर्डप्रेस 6+ के लिए सेटअप",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "वर्डप्रेस 5 और उससे नीचे के लिए सेटअप",
- "description": ""
- },
- "Save_apply": {
- "message": "पृष्ठ पुनः लोड होने पर सहेजें और लागू करें",
- "description": "Save and apply on page reload"
- },
- "Save_apply_p1": {
- "message": "आप अपनी खोज को सहेजने के लिए <कोड>सहेजें और पृष्ठ पुनः लोड पर लागू करेंकोड> चेक बॉक्स को चेक कर सकते हैं और इसे बाद के पृष्ठ पुनः लोड पर लागू कर सकते हैं। ये आपके ब्राउज़र को ले लेंगे और पुनः खोल देंगे।",
- "description": "Save and apply on page reload"
- },
- "Save_apply_multi": {
- "message": "एकाधिक मिलान नियम",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p1": {
- "message": "यदि एक ही पृष्ठ पर एकाधिक नियम लागू होते हैं, तो नियम अधिकांश विशिष्ट से न्यूनतम विशिष्ट के क्रम में लागू किए जाएंगे। उदाहरण के लिए:",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p2": {
- "message": "इसका मतलब यह है कि पहले नियम द्वारा लागू किए गए किसी भी बदलाव को बाद के नियमों में शामिल किया जाएगा। उपरोक्त उदाहरण में, टेक्स्ट उदाहरण को http://www.example.com/a/deper/nested/page से मेल खाने वाले नियम से बदल दिया जाएगा। इसलिए बाद के नियमों का कोई प्रभाव नहीं पड़ेगा।",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p3": {
- "message": "आप एक्सटेंशन पॉपअप में लिंक पर क्लिक करके सहेजे गए नियमों को संपादित कर सकते हैं। <कोड>यूआरएल पैटर्नकोड> फ़ील्ड एक नियमित अभिव्यक्ति है, जो आपको अनुमति देता है कई अलग-अलग वेबसाइटों पर एक ही नियम लागू करना।",
- "description": "Multiple Matching Rules"
- },
- "ReportingIssues": {
- "message": "रिपोर्टिंग मुद्दे",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "इंस्टाल करने के बाद उस पेज को रिफ्रेश करना याद रखें जिस पर आप टेक्स्ट बदलना चाहते हैं।",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "यदि एक्सटेंशन का उपयोग करने के बाद पेज टूट गया है, तो पेज को रीफ्रेश करने का प्रयास करें, और फिर खोज करने और बदलने से पहले <कोड>केवल इनपुट फ़ील्ड?कोड> की जांच करें।",
- "description": ""
- },
- "ReportingIssues_p1": {
- "message": "यदि आपको कोई बग मिलता है, तो कृपया Chrome एक्सटेंशन पर एक विस्तृत रिपोर्ट प्रदान करें स्टोर करें या GitHub पर।",
- "description": ""
- },
- "Rate_on_store": {
- "message": "कृपया ★★★★ रेट करें 9733; यदि एक्सटेंशन आपकी सहायता करता है तो क्रोम स्टोर पर!",
- "description": ""
- },
- "no_saved_instances": {
- "message": "कोई सहेजा गया उदाहरण नहीं",
- "description": "message to tell user that no rules were found"
- },
- "matches": {
- "message": "माचिस",
- "description": "message to tell user how many instances of the search term were found"
- }
+ "ext_name": {
+ "message": "खोज और बदलें",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "वेबपृष्ठ पर पाठ की खोज करें और उसे विभिन्न पाठ से बदलें।",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "विकल्प",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "सहेजे गए नियम",
+ "description": "Options Tab"
+ },
+ "select_language": {
+ "message": "एक भाषा चुनें:",
+ "description": "Options Tab"
+ },
+ "settings": {
+ "message": "सेटिंग्स",
+ "description": "Settings"
+ },
+ "about": {
+ "message": "के बारे में",
+ "description": "about"
+ },
+ "back": {
+ "message": "पीछे",
+ "description": "Back"
+ },
+ "version": {
+ "message": "संस्करण",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "नियम आईडी",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "URL पैटर्न",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "खोज शब्द",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "बदलें शब्द",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "मिटाएं",
+ "description": "options"
+ },
+ "Save": {
+ "message": "सहेजें",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "मैच केस",
+ "description": "checkbox matchCase"
+ },
+ "inputFieldsOnly": {
+ "message": "केवल इनपुट फ़ील्ड्स",
+ "description": "checkbox inputFieldsOnly"
+ },
+ "hiddenContent": {
+ "message": "छिपी हुई सामग्री",
+ "description": "checkbox hiddenContent"
+ },
+ "wholeWord": {
+ "message": "पूरे शब्द का मैच",
+ "description": "checkbox wholeWord"
+ },
+ "isRegex": {
+ "message": "नियमित अभिव्यक्ति",
+ "description": "checkbox isRegex"
+ },
+ "replaceHTML": {
+ "message": "HTML बदलें",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "सभी को बदलें",
+ "description": "checkbox replaceAll"
+ },
+ "saveApplyPageReload": {
+ "message": "पृष्ठ पुन: लोड होने पर सहेजें और लागू करें",
+ "description": "checkbox save"
+ },
+ "Searchfor": {
+ "message": "खोजें",
+ "description": "popup"
+ },
+ "Swap": {
+ "message": "बदलें ⇅",
+ "description": "popup"
+ },
+ "Replacewith": {
+ "message": "के साथ बदलें",
+ "description": "popup"
+ },
+ "Matchcase": {
+ "message": "मैच केस",
+ "description": "popup"
+ },
+ "Inputfields": {
+ "message": "केवल इनपुट फ़ील्ड्स",
+ "description": "popup"
+ },
+ "Hiddencontent": {
+ "message": "छिपी हुई सामग्री",
+ "description": "popup"
+ },
+ "Matchwhole": {
+ "message": "पूरे शब्द का मैच",
+ "description": "popup"
+ },
+ "Regularexpression": {
+ "message": "नियमित अभिव्यक्ति",
+ "description": "popup"
+ },
+ "Saveandapply": {
+ "message": "पृष्ठ पुन: लोड होने पर सहेजें और लागू करें",
+ "description": "popup"
+ },
+ "ReplaceNext": {
+ "message": "अगला बदलें",
+ "description": "popup"
+ },
+ "ReplaceAll": {
+ "message": "सभी को बदलें",
+ "description": "popup"
+ },
+ "History": {
+ "message": "इतिहास",
+ "description": "popup"
+ },
+ "Clear": {
+ "message": "साफ़ करें",
+ "description": "popup"
+ },
+ "EditSettings": {
+ "message": "विन्यास बदलें",
+ "description": "popup"
+ },
+ "Help": {
+ "message": "सहायता",
+ "description": ""
+ },
+ "help_title": {
+ "message": "खोज और बदलें के लिए सहायता पृष्ठ",
+ "description": "help"
+ },
+ "URL": {
+ "message": "यूआरएल",
+ "description": ""
+ },
+ "Search": {
+ "message": "खोजें",
+ "description": ""
+ },
+ "Replace": {
+ "message": "बदलें",
+ "description": ""
+ },
+ "Priority": {
+ "message": "प्राथमिकता",
+ "description": ""
+ },
+ "Example": {
+ "message": "उदाहरण",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "सबसे पहले लागू किया गया",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "सबसे आखिर में लागू किया गया",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "अगला बदलें बनाम सभी को बदलें",
+ "description": "अगला बदलें बनाम सभी को बदलें"
+ },
+ "next_vs_all_p1": {
+ "message": "खोज शब्द के पहले प्रकट होने को बदलने के लिए, अगला बदलें दबाएं। आप इस बटन को जब तक कोई और उपस्थिति नहीं होती, तब तक दबा सकते हैं।",
+ "description": "अगला बदलें बनाम सभी को बदलें"
+ },
+ "next_vs_all_p2": {
+ "message": "खोज शब्द के सभी प्रकट होने को बदलने के लिए, सभी को बदलें दबाएं।",
+ "description": "अगला बदलें बनाम सभी को बदलें"
+ },
+ "next_vs_all_p3": {
+ "message": "वर्तमान में कोई आनडू फ़ंक्शन नहीं है। अगर आप गलती से कुछ गड़बड़ करते हैं, तो पृष्ठ को पुनर्लोड करके मूल पाठ को पुनर्स्थापित कर सकते हैं। हालांकि, पाठ संपादकों में और पाठ इनपुट फ़ील्ड में असहेजे बदलाव को खो देंगे।",
+ "description": "अगला बदलें बनाम सभी को बदलें"
+ },
+ "replace_editors": {
+ "message": "पाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलना",
+ "description": "Pाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलने के बारे में व्याख्या"
+ },
+ "replace_editors_p1": {
+ "message": "पाठ संपादकों या इनपुट बॉक्स में पाठ को बदलने के लिए, आपको केवल इनपुट फ़ील्ड्स? चेक बॉक्स की जांच करनी चाहिए।",
+ "description": "Pाठ संपादकों और पाठ फ़ील्डों में पाठ को बदलने के बारे में व्याख्या"
+ },
+ "replace_editors_p3": {
+ "message": "इसमें सामान्य input और textarea बॉक्स के साथ-साथ TinyMCE और CKEditor जैसे रिच टेक्स्ट संपादक भी शामिल हैं। चूँकि इन फ़ील्ड के बाहर कुछ भी नहीं छुआ जाता, जटिल पृष्ठ पर यह सबसे सुरक्षित विकल्प है और यदि किसी बदलाव से कुछ टूटा हुआ लगे तो सबसे पहले इसे आज़माएँ।",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "सेटअप",
+ "description": "help"
+ },
+ "Replacing_anywhere": {
+ "message": "पृष्ठ पर कहीं भी पाठ को बदलना",
+ "description": "कहीं भी पाठ को बदलने के बारे में व्याख्या"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "HTML के भीतर मौजूद, टेक्स्ट संपादक के भीतर और टेक्स्ट फ़ील्ड के भीतर मौजूद टेक्स्ट को बदलने के लिए, आपको HTML बदलें? चेक बॉक्स को चेक करना चाहिए।",
+ "description": "कहीं भी पाठ को बदलने के बारे में व्याख्या"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "पृष्ठ पर हर example.com को बदला जा रहा है, लिंक के पतों सहित।",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "यह सेटअप पृष्ठ का HTML बदल देता है और पृष्ठ को खराब कर सकता है। पृष्ठ को पुन: लोड करके बहाल किया जा सकता है, लेकिन टेक्स्ट संपादकों और टेक्स्ट इनपुट फ़ील्ड में सहेजे न गए बदलाव खो जाएँगे।",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "पाठ के मैच करने की स्थिति",
+ "description": "पाठ के मैच करने की स्थिति"
+ },
+ "Matching_case_p1": {
+ "message": "यदि आप यह को बदलने की आवश्यकता है लेकिन यह को नहीं, तो आपको मैच केस विकल्प का उपयोग करना चाहिए।",
+ "description": "पाठ के मैच करने की स्थिति"
+ },
+ "Matching_case_p2": {
+ "message": "निम्नलिखित सेटअप में कॉन्डो को मैच करेगा लेकिन कॉन्डो को नहीं। यह पृष्ठ पर दिखाई देने वाले पाठ क्षेत्रों में कॉन्डो को अपार्टमेंट के साथ बदल देगा।",
+ "description": "पाठ के मैच करने की स्थिति"
+ },
+ "Matching_whole": {
+ "message": "पूरे शब्द का मैच",
+ "description": "पूरे शब्द का मैच"
+ },
+ "Matching_whole_p1": {
+ "message": "यदि आप केवल पूरे शब्द को मैच करने की आवश्यकता है, तो आपको पूरे शब्द के मैच विकल्प का उपयोग करना चाहिए।",
+ "description": "पूरे शब्द का मैच"
+ },
+ "wildcards_and_regex": {
+ "message": "वाइल्ड कार्ड और रेगुलर एक्सप्रेशन",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "यदि आपको आंशिक खोज शब्द का मिलान करना है तो आपको रेगुलर एक्सप्रेशन चेक बॉक्स को चेक करना चाहिए और वाइल्ड कार्ड निर्दिष्ट करना चाहिए। इस सुविधा का उपयोग करने के लिए आपको नियमित अभिव्यक्तियों का बहुत ही बुनियादी ज्ञान होना आवश्यक है। मैं परीक्षण के लिए regexpal की अनुशंसा करता हूं",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "नीचे दिए उदाहरण में 1\\d1 का अर्थ है “एक 1, फिर कोई भी अंक, फिर एक 1”, जो 101, 111, 121 और इसी तरह 191 तक से मेल खाता है।",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "पहले",
+ "description": ""
+ },
+ "After": {
+ "message": "बाद",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "में टेक्स्ट बदलना WordPress",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "WordPress का ब्लॉक संपादक आपकी पोस्ट को अपने अलग फ़्रेम में रखता है, शेष व्यवस्थापक पृष्ठ से अलग। एक्सटेंशन आपके लिए उस फ़्रेम के भीतर देखता है, इसलिए किसी विशेष विकल्प की ज़रूरत नहीं: अपने शब्द लिखें और सभी को बदलें दबाएँ।",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "यदि आप क्लासिक संपादक, या ऐसा पेज बिल्डर उपयोग कर रहे हैं जिसके फ़ील्ड सामान्य टेक्स्ट बॉक्स हैं, तो पहले केवल इनपुट फ़ील्ड्स चुनें।",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "बदलाव संपादक की सामग्री बदलता है, सहेजी गई सामग्री नहीं। इसे बनाए रखने के लिए बाद में WordPress में अपडेट दबाएँ।",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "ब्लॉक संपादक में एक पोस्ट का संपादन। किसी विकल्प की ज़रूरत नहीं है।",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "पृष्ठ पुनः लोड होने पर सहेजें और लागू करें",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_p1": {
+ "message": "अपनी खोज को सहेजने और बाद में हर बार पृष्ठ पुन: लोड होने पर लागू करने के लिए आप पृष्ठ पुन: लोड होने पर सहेजें और लागू करें चेकबॉक्स चुन सकते हैं। ब्राउज़र बंद करके दोबारा खोलने के बाद भी यह लागू रहेगा।",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "सहेजे गए नियम संपादित करना",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "हर सहेजे गए नियम को यहाँ संपादित या हटाया जा सकता है।",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "एकाधिक मिलान नियम",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p1": {
+ "message": "यदि एक ही पृष्ठ पर एकाधिक नियम लागू होते हैं, तो नियम अधिकांश विशिष्ट से न्यूनतम विशिष्ट के क्रम में लागू किए जाएंगे। उदाहरण के लिए:",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p2": {
+ "message": "इसका मतलब यह है कि पहले नियम द्वारा लागू किए गए किसी भी बदलाव को बाद के नियमों में शामिल किया जाएगा। उपरोक्त उदाहरण में, टेक्स्ट उदाहरण को http://www.example.com/a/deper/nested/page से मेल खाने वाले नियम से बदल दिया जाएगा। इसलिए बाद के नियमों का कोई प्रभाव नहीं पड़ेगा।",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p3": {
+ "message": "आप सहेजे गए नियमों को सहेजे गए नियम पृष्ठ पर संपादित कर सकते हैं, जिसे पॉपअप का सहेजें आइकन खोलता है। URL पैटर्न फ़ील्ड एक नियमित अभिव्यक्ति है, जिससे आप एक ही नियम को कई अलग-अलग वेबसाइटों पर लागू कर सकते हैं।",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "रिपोर्टिंग मुद्दे",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "एक्सटेंशन इंस्टॉल या अपडेट होते समय जो पृष्ठ पहले से खुले थे, उन्हें पुन: लोड करना न भूलें। पुन: लोड होने तक एक्सटेंशन उन तक नहीं पहुँच सकता।",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "यदि एक्सटेंशन का उपयोग करने के बाद पेज टूट गया है, तो पेज को रीफ्रेश करने का प्रयास करें, और फिर खोज करने और बदलने से पहले <कोड>केवल इनपुट फ़ील्ड?कोड> की जांच करें।",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "यदि आपको कोई बग मिलता है, तो कृपया Chrome एक्सटेंशन पर एक विस्तृत रिपोर्ट प्रदान करें स्टोर करें या GitHub पर।",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "कृपया ★★★★ रेट करें 9733; यदि एक्सटेंशन आपकी सहायता करता है तो क्रोम स्टोर पर!",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "समस्या बताने से पहले",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "पृष्ठ को पुन: लोड करें। एक्सटेंशन इंस्टॉल या अपडेट होते समय जो पृष्ठ पहले से खुला था, वह पुन: लोड होने तक पहुँच में नहीं आता।",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "chrome:// जैसे ब्राउज़र पृष्ठ, Chrome Web Store और एक्सटेंशन पृष्ठ हर एक्सटेंशन के लिए वर्जित हैं, इसलिए वहाँ कुछ भी नहीं बदला जा सकता।",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "यदि गिनती शून्य ही रहती है, तो छिपी हुई सामग्री आज़माएँ, मैच केस बंद करें, या जाँचें कि वह पाठ कोई छवि तो नहीं है।",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "कोई सहेजा गया उदाहरण नहीं",
+ "description": "message to tell user that no rules were found"
+ },
+ "matches": {
+ "message": "माचिस",
+ "description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "छिपी हुई सामग्री खोजना",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "छिपी हुई सामग्री खोजना",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "डिफ़ॉल्ट रूप से यह एक्सटेंशन केवल उसी पाठ को खोजता और बदलता है जो पृष्ठ पर दिखाई देता है। यदि आपको छिपे हुए तत्वों (जैसे मुड़े हुए अनुभाग, छिपे हुए div, या display: none वाले तत्व) में पाठ खोजना और बदलना है, तो छिपी हुई सामग्री विकल्प चुनें।",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "यह विशेष रूप से तब उपयोगी है जब सामग्री शुरू में छिपी हो और उपयोगकर्ता की क्रिया से दिखाई दे, या जब आपको छिपे हुए फ़ॉर्म फ़ील्ड बदलने हों।",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "जब छिपी हुई सामग्री चुनी होती है, तो एक्सटेंशन दृश्यता की परवाह किए बिना हर तत्व को खोजता है, जिससे मिलान की संख्या अधिक हो सकती है।",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "खोजें और बदलें इस पृष्ठ तक नहीं पहुँच सकता। पृष्ठ को पुन: लोड करें और फिर प्रयास करें।",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "पृष्ठ पर पाठ खोजकर बदलने का तरीका — सामान्य पाठ में, फ़ॉर्म फ़ील्ड में, संपादकों में, और हर बार अपने आप।",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "विषय-सूची",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "ध्यान दें",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "सुझाव",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "चेतावनी",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "पूर्ववत नहीं",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "पॉपअप एक नज़र में",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "टूलबार से, या Ctrl+Shift+S से पॉपअप खोलें। जो पाठ आप ढूँढ़ रहे हैं उसे खोजें में और जो पाठ आप उसकी जगह चाहते हैं उसे के साथ बदलें में लिखें, फिर नीचे के दो बटनों में से एक दबाएँ।",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "खोजें बॉक्स के नीचे की संख्या पृष्ठ पर शेष मिलानों की गिनती है, जो टाइप करते और बदलते समय अपडेट होती रहती है। ऊपर के आइकन इस सहायता पृष्ठ, आपकी हाल की खोजों, के बारे में पैनल, भाषा सेटिंग और आपके सहेजे गए नियमों को खोलते हैं।",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "पृष्ठ पर Condo के चार उदाहरण शेष हैं।",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "हर विकल्प क्या करता है",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "पॉपअप का हर चेकबॉक्स खोज के दायरे को सीमित या विस्तृत करता है। इन्हें एक साथ भी इस्तेमाल किया जा सकता है।",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "केवल ठीक उसी बड़े-छोटे अक्षरों वाले पाठ से मिलान करता है। इसे बिना चुने Condo, condo और CONDO सभी मिलते हैं।",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "खोज को टेक्स्ट बॉक्स, टेक्स्ट क्षेत्र और रिच टेक्स्ट संपादकों तक सीमित करता है और शेष पृष्ठ को छूता नहीं। जब भी आप कोई फ़ॉर्म, संदेश या पोस्ट संपादित कर रहे हों, इसका उपयोग करें।",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "उन तत्वों को भी शामिल करता है जो अभी दिखाई नहीं देते: मुड़े हुए पैनल, निष्क्रिय टैब, स्क्रीन से बाहर के मेनू और छिपे हुए फ़ॉर्म फ़ील्ड।",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "मिलान का पूरा शब्द होना ज़रूरी बनाता है, इसलिए partial अब partially के भीतर नहीं मिलेगा।",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "खोज शब्द को शाब्दिक पाठ के बजाय नियमित अभिव्यक्ति मानता है।",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "पढ़े जा सकने वाले पाठ के बजाय पृष्ठ का HTML स्रोत खोजता है, इसलिए टैग, विशेषताएँ, लिंक के पते और alt पाठ भी दायरे में आ जाते हैं।",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "खोज को नियम के रूप में सहेजता है और हर बार मेल खाता पृष्ठ खोलने पर फिर लागू करता है, ब्राउज़र पुनः शुरू करने के बाद भी।",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "छिपे हुए तत्वों को शामिल करते ही वही खोज चार के बजाय छह मिलान पाती है।",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "इतिहास, अदला-बदली और भाषा",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "पॉपअप का घड़ी आइकन आपकी हाल की खोजें दिखाता है। किसी एक पर क्लिक करके उसे दोनों बॉक्स में वापस लाएँ, या सूची खाली करने के लिए साफ़ करें दबाएँ।",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "दोनों बॉक्स के बीच का Swap खोज और बदलने वाले शब्दों को आपस में बदल देता है — अभी-अभी किए गए बदलाव को पलटने में यह उपयोगी है, बशर्ते मूल पाठ पृष्ठ पर कहीं और न लिखा गया हो।",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "गियर आइकन में भाषा सेटिंग है। यह एक्सटेंशन अंग्रेज़ी, अरबी, कोरियाई, चीनी, जर्मन, जापानी, पुर्तगाली, रूसी, स्पेनिश और हिंदी में अनूदित है; जो अभी अनूदित नहीं है वह अंग्रेज़ी में दिखता है।",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "ये खोजें हर बार अपने आप चलती हैं जब आप ऐसा पृष्ठ खोलते हैं जिसका पता उनके URL पैटर्न से मेल खाता है। पैटर्न एक नियमित अभिव्यक्ति है, इसलिए एक ही नियम पूरी साइट पर लागू हो सकता है।",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "एक बनाने के लिए पॉपअप में “पृष्ठ पुन: लोड होने पर सहेजें और लागू करें” चुनें।",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "लेखक",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "लाइसेंस",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "रिलीज़ नोट्स",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "समस्या की रिपोर्ट करें",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "इस एक्सटेंशन को रेट करें",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "आपकी हाल की खोजें यहाँ दिखाई देंगी।",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(हटाया गया)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/_locales/ja/messages.json b/_locales/ja/messages.json
index 8ef07fb..088c69b 100644
--- a/_locales/ja/messages.json
+++ b/_locales/ja/messages.json
@@ -1,362 +1,526 @@
{
- "ext_name": {
- "message": "検索と置換",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "ウェブページ上のテキストを検索して異なるテキストに置き換えます。",
- "description": "ext_description"
- },
- "options": {
- "message": "オプション",
- "description": "options"
- },
- "saved_rules": {
- "message": "保存されたルール",
- "description": "オプションタブ"
- },
- "select_language": {
- "message": "言語を選択:",
- "description": "オプションタブ"
- },
- "settings": {
- "message": "設定",
- "description": "設定"
- },
- "about": {
- "message": "について",
- "description": "about"
- },
- "back": {
- "message": "バック",
- "description": "Back"
- },
- "version": {
- "message": "バージョン",
- "description": "version"
- },
- "RuleID": {
- "message": "ルール ID",
- "description": "options"
- },
- "URLPattern": {
- "message": "URL パターン",
- "description": "options"
- },
- "SearchTerm": {
- "message": "検索語",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "置換語",
- "description": "options"
- },
- "Delete": {
- "message": "削除",
- "description": "options"
- },
- "Save": {
- "message": "保存",
- "description": "options"
- },
- "matchCase": {
- "message": "大文字と小文字の区別",
- "description": "チェックボックス 大文字と小文字の区別"
- },
- "inputFieldsOnly": {
- "message": "入力フィールドのみ",
- "description": "チェックボックス 入力フィールドのみ"
- },
- "hiddenContent": {
- "message": "隠しコンテンツ",
- "description": "チェックボックス 可視コンテンツのみ"
- },
- "wholeWord": {
- "message": "完全一致",
- "description": "チェックボックス 完全一致"
- },
- "isRegex": {
- "message": "正規表現",
- "description": "チェックボックス 正規表現"
- },
- "replaceHTML": {
- "message": "HTMLを置き換える",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "すべて置換",
- "description": "チェックボックス すべて置換"
- },
- "saveApplyPageReload": {
- "message": "保存してページ再読み込み時に適用",
- "description": "チェックボックス 保存"
- },
- "Searchfor": {
- "message": "検索対象",
- "description": "ポップアップ"
- },
- "Swap": {
- "message": "スワップ ⇅",
- "description": "ポップアップ"
- },
- "Replacewith": {
- "message": "置換対象",
- "description": "ポップアップ"
- },
- "Matchcase": {
- "message": "大文字と小文字の区別",
- "description": "ポップアップ"
- },
- "Inputfields": {
- "message": "入力フィールドのみ",
- "description": "ポップアップ"
- },
- "Hiddencontent": {
- "message": "隠しコンテンツ",
- "description": "ポップアップ"
- },
- "Matchwhole": {
- "message": "完全一致",
- "description": "ポップアップ"
- },
- "Regularexpression": {
- "message": "正規表現",
- "description": "ポップアップ"
- },
- "Saveandapply": {
- "message": "保存してページ再読み込み時に適用",
- "description": "ポップアップ"
- },
- "ReplaceNext": {
- "message": "次を置換",
- "description": "ポップアップ"
- },
- "ReplaceAll": {
- "message": "すべて置換",
- "description": "ポップアップ"
- },
- "History": {
- "message": "履歴",
- "description": "ポップアップ"
- },
- "Clear": {
- "message": "クリア",
- "description": "ポップアップ"
- },
- "EditSettings": {
- "message": "編集の設定",
- "description": "Edit Settings"
- },
- "Help": {
- "message": "ヘルプ",
- "description": ""
- },
- "help_title": {
- "message": "検索と置換のヘルプページ",
- "description": "ヘルプ"
- },
- "URL": {
- "message": "URL",
- "description": ""
- },
- "Search": {
- "message": "検索",
- "description": ""
- },
- "Replace": {
- "message": "置換",
- "description": ""
- },
- "Priority": {
- "message": "優先度",
- "description": ""
- },
- "Example": {
- "message": "例",
- "description": ""
- },
- "applied_first": {
- "message": "最初に適用",
- "description": ""
- },
- "applied_last": {
- "message": "最後に適用",
- "description": ""
- },
- "next_vs_all": {
- "message": "次を置換 vs. すべて置換",
- "description": "次を置換 vs. すべて置換"
- },
- "next_vs_all_p1": {
- "message": "検索語の最初の出現を置換するには、次を置換 ボタンを押します。出現がなくなるまでボタンを押し続けることができます。",
- "description": "次を置換 vs. すべて置換"
- },
- "next_vs_all_p2": {
- "message": "検索語のすべての出現を置換するには、すべて置換 ボタンを押します。",
- "description": "次を置換 vs. すべて置換"
- },
- "next_vs_all_p3": {
- "message": "現在、元に戻す機能はありません。間違いを犯した場合、ページを再読み込みして元のテキストを復元できます。ただし、テキストエディタとテキスト入力フィールドの未保存の変更は失われます。",
- "description": "次を置換 vs. すべて置換"
- },
- "replace_editors": {
- "message": "エディタとテキストフィールドのテキストを置換",
- "description": "エディタとテキストフィールドのテキストを置換に関する説明"
- },
- "replace_editors_p1": {
- "message": "テキストエディタや入力ボックスのテキストを置換するには、入力フィールドのみ? チェックボックスをオンにする必要があります。",
- "description": "エディタとテキストフィールドのテキストを置換に関する説明"
- },
- "replace_editors_p2": {
- "message": "テキストエディタや入力ボックスのテキストを置換するには、入力フィールドのみ? チェックボックスをオンにする必要があります。そうしないと、検索テキストがHTML全体に置換され、ページが壊れる可能性があります。非表示の入力フィールドを変更しないようにするには、可視要素のみ? チェックボックスもオンにする必要があります。",
- "description": "エディタとテキストフィールドのテキストを置換に関する説明"
- },
- "Setup": {
- "message": "設定",
- "description": "ヘルプ"
- },
- "Replacing_anywhere": {
- "message": "ページのどこでもテキストを置換",
- "description": "ページのどこでもテキストを置換に関する説明"
- },
- "Replacing_anywhere_p1": {
- "message": "HTML 内、テキスト エディター内、およびテキスト フィールド内に含まれるテキストを置換するには、HTML を置換しますか? チェック ボックスをオンにする必要があります。",
- "description": "ページのどこでもテキストを置換に関する説明"
- },
- "Replacing_anywhere_p2": {
- "message": "テキストエディタに含まれず、テキストフィールドに含まれないテキストを置換するには、入力フィールドのみ? および 可視コンテンツのみ? チェックボックスをオフにしておきます。",
- "description": "ページのどこでもテキストを置換に関する説明"
- },
- "Replacing_anywhere_warning": {
- "message": "警告:この設定はページのHTMLを変更し、ページを壊す可能性があります。ページを再読み込みして元に戻せますが、テキストエディタとテキスト入力フィールドの未保存の変更は失われます。",
- "description": "ページのどこでもテキストを置換に関する説明"
- },
- "Matching_case": {
- "message": "テキストの大文字と小文字の一致",
- "description": "テキストの大文字と小文字の一致に関する説明"
- },
- "Matching_case_p1": {
- "message": "テキスト THIS を置換する必要があるが、This は置換しない場合、大文字と小文字を区別するオプションを使用する必要があります。",
- "description": "テキストの大文字と小文字の一致に関する説明"
- },
- "Matching_case_p2": {
- "message": "以下の設定では、Condo を一致させ、condo を一致させません。ページ上で表示されているテキストフィールド内で、Condo を apartment に置換します。",
- "description": "テキストの大文字と小文字の一致に関する説明"
- },
- "Matching_whole": {
- "message": "完全一致",
- "description": "完全一致"
- },
- "Matching_whole_p1": {
- "message": "部分的な検索語を一致させる必要がある場合、完全一致? オプションを使用する必要があります。",
- "description": "完全一致"
- },
- "wildcards_and_regex": {
- "message": "ワイルドカードと正規表現",
- "description": "ワイルドカードと正規表現に関する説明"
- },
- "wildcards_and_regex_p1": {
- "message": "部分的な検索語を一致させる必要がある場合、正規表現チェックボックスをオンにしてワイルドカードを指定する必要があります。この機能を使用するためには、正規表現 の非常に基本的な知識が必要です。テストにはregexpal をお勧めします。",
- "description": "ワイルドカードと正規表現に関する説明"
- },
- "Before": {
- "message": "前",
- "description": ""
- },
- "After": {
- "message": "後",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "WordPressでテキストを置換",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "2023年3月現在、WordPressはバージョン6.6です。この拡張が作成された以降、投稿エディタは大幅に変更され、WordPressでテキストを置換するための新しい設定が必要です。",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "WordPress 6+ の設定",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "WordPress 5 およびそれ以下のバージョンの設定",
- "description": ""
- },
- "Save_apply": {
- "message": "保存してページ再読み込み時に適用",
- "description": "保存してページ再読み込み"
- },
- "Save_apply_p1": {
- "message": "ページ再読み込み時に検索を保存して適用するには、保存してページ再読み込み チェックボックスをオンにできます。これにより、ブラウザが再読み込みされ、検索が再開されます。",
- "description": "保存してページ再読み込み"
- },
- "Save_apply_multi": {
- "message": "複数の一致ルール",
- "description": "複数の一致ルール"
- },
- "Save_apply_multi_p1": {
- "message": "同じページに複数のルールが適用される場合、ルールは最も具体的から最も一般的の順に適用されます。たとえば:",
- "description": "複数の一致ルール"
- },
- "Save_apply_multi_p2": {
- "message": "これは、最初のルールによって適用された変更が後続のルールに入力されることを意味します。上記の例では、テキスト Example は http://www.example.com/a/deeper/nested/page に一致するルールによって置換されているため、後続のルールには影響しません。",
- "description": "複数の一致ルール"
- },
- "Save_apply_multi_p3": {
- "message": "保存したルールを編集するには、拡張ポップアップ内の リンクをクリックできます。 URL パターン フィールドは、異なるウェブサイトに同じルールを適用できる正規表現 です。",
- "description": "複数の一致ルール"
- },
- "ReportingIssues": {
- "message": "問題の報告",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "インストール後、テキストを置換したいページをリフレッシュすることを忘れないでください。",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "拡張を使用した後にページが壊れた場合、ページをリフレッシュしてから、入力フィールドのみ? をチェックした後で検索と置換をやり直してみてください。",
- "description": ""
- },
- "Updates": {
- "message": "更新情報",
- "description": ""
- },
- "Updates_p1": {
- "message": "検索と置換がアップデートされた場合、ブラウザの拡張機能ページで手動で更新するか、ブラウザが自動的に更新します。変更ログにアクセスするには、GitHub を確認してください。",
- "description": ""
- },
- "Updates_p2": {
- "message": "バグを報告したり、提案を提出するには、GitHub の問題ページ にアクセスしてください。",
- "description": ""
- },
- "Redistribution": {
- "message": "再配布",
- "description": ""
- },
- "Redistribution_p1": {
- "message": "このソフトウェアはGPL ライセンス(バージョン 3)に従って配布されています。",
- "description": ""
- },
- "Redistribution_p2": {
- "message": "したがって、ソースコードを無料で提供し、修正の場所を開示する必要があります。",
- "description": ""
- },
- "Author": {
- "message": "著者",
- "description": ""
- },
- "Home": {
- "message": "ホーム",
- "description": ""
- },
- "no_saved_instances": {
- "message": "保存されたインスタンスはありません",
- "description": "message to tell user that no rules were found"
- },
- "matches": {
- "message": "マッチ",
- "description": "message to tell user how many instances of the search term were found"
- }
+ "ext_name": {
+ "message": "検索と置換",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "ウェブページ上のテキストを検索して異なるテキストに置き換えます。",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "オプション",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "保存されたルール",
+ "description": "オプションタブ"
+ },
+ "select_language": {
+ "message": "言語を選択:",
+ "description": "オプションタブ"
+ },
+ "settings": {
+ "message": "設定",
+ "description": "設定"
+ },
+ "about": {
+ "message": "について",
+ "description": "about"
+ },
+ "back": {
+ "message": "バック",
+ "description": "Back"
+ },
+ "version": {
+ "message": "バージョン",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "ルール ID",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "URL パターン",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "検索語",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "置換語",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "削除",
+ "description": "options"
+ },
+ "Save": {
+ "message": "保存",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "大文字と小文字の区別",
+ "description": "チェックボックス 大文字と小文字の区別"
+ },
+ "inputFieldsOnly": {
+ "message": "入力フィールドのみ",
+ "description": "チェックボックス 入力フィールドのみ"
+ },
+ "hiddenContent": {
+ "message": "隠しコンテンツ",
+ "description": "チェックボックス 可視コンテンツのみ"
+ },
+ "wholeWord": {
+ "message": "完全一致",
+ "description": "チェックボックス 完全一致"
+ },
+ "isRegex": {
+ "message": "正規表現",
+ "description": "チェックボックス 正規表現"
+ },
+ "replaceHTML": {
+ "message": "HTMLを置き換える",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "すべて置換",
+ "description": "チェックボックス すべて置換"
+ },
+ "saveApplyPageReload": {
+ "message": "保存してページ再読み込み時に適用",
+ "description": "チェックボックス 保存"
+ },
+ "Searchfor": {
+ "message": "検索対象",
+ "description": "ポップアップ"
+ },
+ "Swap": {
+ "message": "スワップ ⇅",
+ "description": "ポップアップ"
+ },
+ "Replacewith": {
+ "message": "置換対象",
+ "description": "ポップアップ"
+ },
+ "Matchcase": {
+ "message": "大文字と小文字の区別",
+ "description": "ポップアップ"
+ },
+ "Inputfields": {
+ "message": "入力フィールドのみ",
+ "description": "ポップアップ"
+ },
+ "Hiddencontent": {
+ "message": "隠しコンテンツ",
+ "description": "ポップアップ"
+ },
+ "Matchwhole": {
+ "message": "完全一致",
+ "description": "ポップアップ"
+ },
+ "Regularexpression": {
+ "message": "正規表現",
+ "description": "ポップアップ"
+ },
+ "Saveandapply": {
+ "message": "保存してページ再読み込み時に適用",
+ "description": "ポップアップ"
+ },
+ "ReplaceNext": {
+ "message": "次を置換",
+ "description": "ポップアップ"
+ },
+ "ReplaceAll": {
+ "message": "すべて置換",
+ "description": "ポップアップ"
+ },
+ "History": {
+ "message": "履歴",
+ "description": "ポップアップ"
+ },
+ "Clear": {
+ "message": "クリア",
+ "description": "ポップアップ"
+ },
+ "EditSettings": {
+ "message": "編集の設定",
+ "description": "Edit Settings"
+ },
+ "Help": {
+ "message": "ヘルプ",
+ "description": ""
+ },
+ "help_title": {
+ "message": "検索と置換のヘルプページ",
+ "description": "ヘルプ"
+ },
+ "URL": {
+ "message": "URL",
+ "description": ""
+ },
+ "Search": {
+ "message": "検索",
+ "description": ""
+ },
+ "Replace": {
+ "message": "置換",
+ "description": ""
+ },
+ "Priority": {
+ "message": "優先度",
+ "description": ""
+ },
+ "Example": {
+ "message": "例",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "最初に適用",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "最後に適用",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "次を置換 vs. すべて置換",
+ "description": "次を置換 vs. すべて置換"
+ },
+ "next_vs_all_p1": {
+ "message": "検索語の最初の出現を置換するには、次を置換 ボタンを押します。出現がなくなるまでボタンを押し続けることができます。",
+ "description": "次を置換 vs. すべて置換"
+ },
+ "next_vs_all_p2": {
+ "message": "検索語のすべての出現を置換するには、すべて置換 ボタンを押します。",
+ "description": "次を置換 vs. すべて置換"
+ },
+ "next_vs_all_p3": {
+ "message": "現在、元に戻す機能はありません。間違いを犯した場合、ページを再読み込みして元のテキストを復元できます。ただし、テキストエディタとテキスト入力フィールドの未保存の変更は失われます。",
+ "description": "次を置換 vs. すべて置換"
+ },
+ "replace_editors": {
+ "message": "エディタとテキストフィールドのテキストを置換",
+ "description": "エディタとテキストフィールドのテキストを置換に関する説明"
+ },
+ "replace_editors_p1": {
+ "message": "テキストエディタや入力ボックスのテキストを置換するには、入力フィールドのみ? チェックボックスをオンにする必要があります。",
+ "description": "エディタとテキストフィールドのテキストを置換に関する説明"
+ },
+ "replace_editors_p3": {
+ "message": "これは単純な input や textarea の入力欄だけでなく、TinyMCE や CKEditor のようなリッチテキストエディタにも当てはまります。これらの欄の外側には一切手を加えないため、複雑なページでは最も安全な選択肢であり、置換で何かが壊れたように見えたときに最初に試すべき設定です。",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "設定",
+ "description": "ヘルプ"
+ },
+ "Replacing_anywhere": {
+ "message": "ページのどこでもテキストを置換",
+ "description": "ページのどこでもテキストを置換に関する説明"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "HTML 内、テキスト エディター内、およびテキスト フィールド内に含まれるテキストを置換するには、HTML を置換しますか? チェック ボックスをオンにする必要があります。",
+ "description": "ページのどこでもテキストを置換に関する説明"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "リンクのアドレスも含め、ページ上のすべての example.com を書き換えます。",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "この設定はページの HTML を変更するため、ページが壊れる可能性があります。ページを再読み込みすれば元に戻せますが、テキストエディタやテキスト入力欄の未保存の変更は失われます。",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "テキストの大文字と小文字の一致",
+ "description": "テキストの大文字と小文字の一致に関する説明"
+ },
+ "Matching_case_p1": {
+ "message": "テキスト THIS を置換する必要があるが、This は置換しない場合、大文字と小文字を区別するオプションを使用する必要があります。",
+ "description": "テキストの大文字と小文字の一致に関する説明"
+ },
+ "Matching_case_p2": {
+ "message": "以下の設定では、Condo を一致させ、condo を一致させません。ページ上で表示されているテキストフィールド内で、Condo を apartment に置換します。",
+ "description": "テキストの大文字と小文字の一致に関する説明"
+ },
+ "Matching_whole": {
+ "message": "完全一致",
+ "description": "完全一致"
+ },
+ "Matching_whole_p1": {
+ "message": "部分的な検索語を一致させる必要がある場合、完全一致? オプションを使用する必要があります。",
+ "description": "完全一致"
+ },
+ "wildcards_and_regex": {
+ "message": "ワイルドカードと正規表現",
+ "description": "ワイルドカードと正規表現に関する説明"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "部分的な検索語を一致させる必要がある場合、正規表現チェックボックスをオンにしてワイルドカードを指定する必要があります。この機能を使用するためには、正規表現 の非常に基本的な知識が必要です。テストにはregexpal をお勧めします。",
+ "description": "ワイルドカードと正規表現に関する説明"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "下の例の 1\\d1 は「1、任意の数字、1」という意味で、101、111、121 … 191 に一致します。",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "前",
+ "description": ""
+ },
+ "After": {
+ "message": "後",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "WordPressでテキストを置換",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "WordPress のブロックエディタは、管理画面の他の部分とは別の専用フレームの中に投稿を保持しています。拡張機能がそのフレームの中まで見に行くため、特別なオプションは不要です。検索語を入力して すべて置換 を押してください。",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "クラシックエディタや、入力欄が通常のテキストボックスであるページビルダーを使っている場合は、先に 入力フィールドのみ をオンにしてください。",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "置換で変わるのはエディタの中身であって、保存されている内容ではありません。あとから WordPress で 更新 を押して保存してください。",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "ブロックエディタで投稿を編集しているところ。オプションは不要です。",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "保存してページ再読み込み時に適用",
+ "description": "保存してページ再読み込み"
+ },
+ "Save_apply_p1": {
+ "message": "保存してページ再読み込み時に適用 チェックボックスをオンにすると、検索内容が保存され、以降ページを再読み込みするたびに適用されます。ブラウザを閉じて開き直したあとでも有効です。",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "保存されたルールの編集",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "保存された各ルールは、ここで編集または削除できます。",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "複数の一致ルール",
+ "description": "複数の一致ルール"
+ },
+ "Save_apply_multi_p1": {
+ "message": "同じページに複数のルールが適用される場合、ルールは最も具体的から最も一般的の順に適用されます。たとえば:",
+ "description": "複数の一致ルール"
+ },
+ "Save_apply_multi_p2": {
+ "message": "これは、最初のルールによって適用された変更が後続のルールに入力されることを意味します。上記の例では、テキスト Example は http://www.example.com/a/deeper/nested/page に一致するルールによって置換されているため、後続のルールには影響しません。",
+ "description": "複数の一致ルール"
+ },
+ "Save_apply_multi_p3": {
+ "message": "保存されたルールは、ポップアップの保存アイコンから開く保存されたルールページで編集できます。URL パターン欄は正規表現なので、同じルールを多数の異なるウェブサイトに適用できます。",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "問題の報告",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "拡張機能をインストールまたは更新したときに既に開いていたページは、必ず再読み込みしてください。再読み込みするまで拡張機能はそのページに到達できません。",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "拡張を使用した後にページが壊れた場合、ページをリフレッシュしてから、入力フィールドのみ? をチェックした後で検索と置換をやり直してみてください。",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "不具合を見つけた場合は、Chrome ウェブストアまたは GitHub に詳しい報告をお寄せください。",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "この拡張機能が役に立ったら、Chrome ウェブストアで ★★★★★ の評価をお願いします。",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "報告する前に",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "ページを再読み込みしてください。拡張機能のインストールまたは更新時に既に開いていたページは、再読み込みするまで操作できません。",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "chrome:// で始まるページ、Chrome ウェブストア、拡張機能ページなどのブラウザ内部のページは、どの拡張機能からもアクセスできないため、そこでは置換できません。",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "件数が 0 のままの場合は、隠しコンテンツを試す、大文字と小文字の区別をオフにする、あるいはそのテキストが画像でないか確認してください。",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "保存されたインスタンスはありません",
+ "description": "message to tell user that no rules were found"
+ },
+ "matches": {
+ "message": "マッチ",
+ "description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "隠しコンテンツを検索する",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "隠しコンテンツを検索する",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "既定では、拡張機能はページ上で見えているテキストだけを検索・置換します。隠れた要素(折りたたまれたセクション、非表示の div、display: none が指定された要素など)の中のテキストを検索・置換したい場合は、隠しコンテンツオプションをオンにしてください。",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "これは、最初は隠れていてユーザーの操作で表示される動的なコンテンツを扱うときや、隠しフォーム項目を変更する必要があるときに特に便利です。",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "隠しコンテンツをオンにすると、拡張機能は表示状態にかかわらずすべての要素を検索するため、一致件数が多くなることがあります。",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "検索と置換はこのページにアクセスできません。ページを再読み込みしてもう一度お試しください。",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "ページ上のテキストを見つけて変更する方法 — 通常のテキスト、フォームの入力欄、エディタ、そして訪問のたびに自動で。",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "目次",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "メモ",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "ヒント",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "警告",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "元に戻せません",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "ポップアップの概要",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "ツールバーから、または Ctrl+Shift+S でポップアップを開きます。探したいテキストを検索対象に、置き換えたいテキストを置換対象に入力し、下にある 2 つのボタンのどちらかを押してください。",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "検索対象欄の下の数字は、ページに残っている一致件数で、入力中も置換中も更新されます。上部のアイコン列からは、このヘルプページ、最近の検索、情報パネル、言語設定、保存されたルールを開けます。",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "ページには Condo がまだ 4 件残っています。",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "各オプションの働き",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "ポップアップの各チェックボックスは、検索対象を狭めたり広げたりします。組み合わせて使えます。",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "大文字・小文字がまったく同じテキストだけに一致します。オフのままなら Condo、condo、CONDO のいずれにも一致します。",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "検索対象をテキストボックス、テキストエリア、リッチテキストエディタに限定し、ページの他の部分には手を付けません。フォーム、メッセージ、投稿を編集するときは常にこれを使ってください。",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "今は見えていない要素も対象に含めます。折りたたまれたパネル、非アクティブなタブ、画面外のメニュー、隠しフォーム項目などです。",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "一致を単語全体に限定するため、partial は partially の中では一致しなくなります。",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "検索語をそのままの文字列ではなく正規表現として扱います。",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "読める文字ではなくページの HTML ソースを検索するので、タグ、属性、リンク先アドレス、代替テキストもすべて対象になります。",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "検索をルールとして保存し、条件に合うページを開くたびに再適用します。ブラウザを再起動したあとでも有効です。",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "隠れた要素も含めると、同じ検索で一致が 4 件から 6 件に増えます。",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "履歴、入れ替え、言語",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "ポップアップの時計アイコンには最近の検索が一覧表示されます。クリックすると 2 つの入力欄に戻り、クリアを押すと一覧を空にできます。",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "2 つの入力欄の間にある Swap は、検索語と置換語を入れ替えます — 元のテキストがページの他の場所に入力されていなければ、直前の置換を元に戻すのに便利です。",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "歯車アイコンには言語設定があります。この拡張機能はアラビア語、英語、韓国語、スペイン語、中国語、ドイツ語、日本語、ヒンディー語、ポルトガル語、ロシア語に翻訳されており、未翻訳の部分は英語で表示されます。",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "これらの検索は、URL パターンに一致するアドレスのページを開くたびに自動的に実行されます。パターンは正規表現なので、1 つのルールでサイト全体を対象にできます。",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "ポップアップで「保存してページ再読み込み時に適用」をオンにすると作成できます。",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "作者",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "ライセンス",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "リリースノート",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "問題を報告",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "この拡張機能を評価する",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "最近の検索がここに表示されます。",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(削除)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/_locales/ko/messages.json b/_locales/ko/messages.json
index 3150986..34f01d6 100644
--- a/_locales/ko/messages.json
+++ b/_locales/ko/messages.json
@@ -1,338 +1,526 @@
{
- "ext_name": {
- "message": "검색 및 대체",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "웹 페이지에서 텍스트를 검색하고 다른 텍스트로 대체합니다.",
- "description": "ext_description"
- },
- "options": {
- "message": "옵션",
- "description": "options"
- },
- "saved_rules": {
- "message": "저장된 규칙",
- "description": "Options Tab"
- },
- "select_language": {
- "message": "언어 선택:",
- "description": "Options Tab"
- },
- "settings": {
- "message": "설정",
- "description": "Settings"
- },
- "about": {
- "message": "정보",
- "description": "about"
- },
- "back": {
- "message": "뒤로",
- "description": "Back"
- },
- "version": {
- "message": "버전",
- "description": "version"
- },
- "RuleID": {
- "message": "규칙 ID",
- "description": "options"
- },
- "URLPattern": {
- "message": "URL 패턴",
- "description": "options"
- },
- "SearchTerm": {
- "message": "검색 용어",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "대체 용어",
- "description": "options"
- },
- "Delete": {
- "message": "삭제",
- "description": "options"
- },
- "Save": {
- "message": "저장",
- "description": "options"
- },
- "matchCase": {
- "message": "대소문자 구분",
- "description": "checkbox matchCase"
- },
- "inputFieldsOnly": {
- "message": "입력 필드만",
- "description": "checkbox inputFieldsOnly"
- },
- "hiddenContent": {
- "message": "숨겨진 콘텐츠",
- "description": "checkbox hiddenContent"
- },
- "wholeWord": {
- "message": "전체 단어 일치",
- "description": "checkbox wholeWord"
- },
- "isRegex": {
- "message": "정규 표현식",
- "description": "checkbox isRegex"
- },
- "replaceHTML": {
- "message": "HTML 바꾸기",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "모두 대체",
- "description": "checkbox replaceAll"
- },
- "saveApplyPageReload": {
- "message": "저장하고 페이지 다시로드 시 적용",
- "description": "checkbox save"
- },
- "Searchfor": {
- "message": "검색 대상",
- "description": "popup"
- },
- "Swap": {
- "message": "교체 ⇅",
- "description": "popup"
- },
- "Replacewith": {
- "message": "다음과 교체",
- "description": "popup"
- },
- "Matchcase": {
- "message": "대소문자 구분",
- "description": "popup"
- },
- "Inputfields": {
- "message": "입력 필드만",
- "description": "popup"
- },
- "Hiddencontent": {
- "message": "숨겨진 콘텐츠",
- "description": "popup"
- },
- "Matchwhole": {
- "message": "전체 단어 일치",
- "description": "popup"
- },
- "Regularexpression": {
- "message": "정규 표현식",
- "description": "popup"
- },
- "Saveandapply": {
- "message": "페이지 새로 고침 시 저장 및 적용",
- "description": "popup"
- },
- "ReplaceNext": {
- "message": "다음 항목 바꾸기",
- "description": "popup"
- },
- "ReplaceAll": {
- "message": "모두 바꾸기",
- "description": "popup"
- },
- "History": {
- "message": "기록",
- "description": "popup"
- },
- "Clear": {
- "message": "지우기",
- "description": "popup"
- },
- "EditSettings": {
- "message": "설정 편집",
- "description": "popup"
- },
- "Help": {
- "message": "도움말",
- "description": ""
- },
- "help_title": {
- "message": "검색 및 바꾸기 도움말 페이지",
- "description": "help"
- },
- "URL": {
- "message": "URL",
- "description": ""
- },
- "Search": {
- "message": "검색",
- "description": ""
- },
- "Replace": {
- "message": "바꾸기",
- "description": ""
- },
- "Priority": {
- "message": "우선 순위",
- "description": ""
- },
- "Example": {
- "message": "예시",
- "description": ""
- },
- "applied_first": {
- "message": "먼저 적용됨",
- "description": ""
- },
- "applied_last": {
- "message": "마지막에 적용됨",
- "description": ""
- },
- "next_vs_all": {
- "message": "다음 항목 바꾸기 vs. 모두 바꾸기",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p1": {
- "message": "검색어의 첫 번째 발생을 바꾸려면 다음 항목 바꾸기를 누르세요. 더 이상 발생하지 않을 때까지 버튼을 누를 수 있습니다.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p2": {
- "message": "검색어의 모든 발생을 바꾸려면 모두 바꾸기를 누르세요.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p3": {
- "message": "현재 취소 기능은 없습니다. 실수를 했다면 페이지를 다시 로드하여 원래 텍스트를 복원할 수 있습니다. 그러나 텍스트 편집기와 텍스트 입력 필드에서의 저장되지 않은 변경 사항은 손실됩니다.",
- "description": "Replace Next vs. Replace All"
- },
- "replace_editors": {
- "message": "편집기 및 텍스트 필드에서 텍스트 교체하기",
- "description": "편집기 및 텍스트 필드에서 텍스트 교체에 대한 설명"
- },
- "replace_editors_p1": {
- "message": "텍스트 편집기나 입력 상자에서 텍스트를 교체하려면 입력 필드만 대상? 확인란을 선택해야 합니다.",
- "description": "편집기 및 텍스트 필드에서 텍스트 교체에 대한 설명"
- },
- "replace_editors_p2": {
- "message": "텍스트 편집기나 입력 상자에서 텍스트를 교체하려면 입력 필드만 대상? 확인란을 선택해야 합니다. 그렇지 않으면 검색어가 전체 HTML에서 교체되어 페이지가 손상될 수 있습니다. 숨겨진 입력 상자의 변경을 피하려면 가시적 요소만 대상? 확인란도 선택해야 합니다.",
- "description": "편집기 및 텍스트 필드에서 텍스트 교체에 대한 설명"
- },
- "Setup": {
- "message": "설정",
- "description": "help"
- },
- "Replacing_anywhere": {
- "message": "페이지 어디서든 텍스트 교체하기",
- "description": "페이지 어디서든 텍스트 교체에 대한 설명"
- },
- "Replacing_anywhere_p1": {
- "message": "HTML 안에 포함된 텍스트, 텍스트 편집기 안에 포함된 텍스트, 텍스트 필드 안에 포함된 텍스트를 교체하려면 HTML 교체? 확인란을 선택해야 합니다.",
- "description": "페이지 어디서든 텍스트 교체에 대한 설명"
- },
- "Replacing_anywhere_p2": {
- "message": "텍스트 편집기 안에 포함되지 않은 텍스트 및 텍스트 필드 안에 포함되지 않은 텍스트를 교체하려면 입력 필드만 대상?와 가시적인 콘텐츠만 변경? 확인란을 체크하지 않은 상태로 유지해야 합니다.",
- "description": "페이지 어디서든 텍스트 교체에 대한 설명"
- },
- "Replacing_anywhere_warning": {
- "message": "경고: 이 설정은 페이지 HTML을 변경하고 페이지를 손상시킬 수 있습니다. 페이지를 다시 로드하여 페이지를 복원할 수 있지만, 텍스트 편집기와 텍스트 입력 필드에서의 저장되지 않은 변경 사항이 손실됩니다.",
- "description": "페이지 어디서든 텍스트 교체에 대한 설명"
- },
- "Matching_case": {
- "message": "텍스트의 대소문자 매칭",
- "description": "텍스트의 대소문자 매칭에 대한 설명"
- },
- "Matching_case_p1": {
- "message": "이것은 바꾸고 싶지만 이것은 바꾸고 싶지 않다면 대소문자 매칭 옵션을 사용해야 합니다.",
- "description": "텍스트의 대소문자 매칭에 대한 설명"
- },
- "Matching_case_p2": {
- "message": "다음 설정은 Condo는 매칭하지만 condo는 매칭하지 않습니다. 이 설정은 페이지에서 가시적인 텍스트 필드에서 Condo를 아파트로 바꿉니다.",
- "description": "텍스트의 대소문자 매칭에 대한 설명"
- },
- "Matching_whole": {
- "message": "전체 단어 매칭",
- "description": "전체 단어 매칭"
- },
- "Matching_whole_p1": {
- "message": "만약 partial을 바꾸고 싶지만 partially는 바꾸고 싶지 않다면 전체 단어 매칭? 옵션을 사용해야 합니다.",
- "description": "전체 단어 매칭"
- },
- "wildcards_and_regex": {
- "message": "와일드카드 및 정규 표현식",
- "description": "와일드카드 및 정규 표현식에 대한 설명"
- },
- "wildcards_and_regex_p1": {
- "message": "만약 부분적인 검색어와 일치시키려면 정규 표현식 확인란을 선택하고 와일드카드를 지정해야 합니다. 이 기능을 사용하려면 매우 기본적인 정규 표현식 지식이 필요합니다. 테스트를 위해 regexpal을 추천합니다.",
- "description": "와일드카드 및 정규 표현식에 대한 설명"
- },
- "Before": {
- "message": "이전",
- "description": ""
- },
- "After": {
- "message": "이후",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "WordPress에서 텍스트 교체",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "2023년 3월 기준으로 WordPress는 현재 버전 6.6에 있습니다. 이 확장 프로그램이 만들어진 이후에는 게시 편집기가 크게 변경되었으며 WordPress에서 텍스트를 교체하려면 새로운 설정이 필요합니다.",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "WordPress 6+를 위한 설정",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "WordPress 5 및 이전 버전을 위한 설정",
- "description": ""
- },
- "Save_apply": {
- "message": "페이지 새로 고침 시 저장 및 적용",
- "description": "페이지 새로 고침 시 저장 및 적용"
- },
- "Save_apply_p1": {
- "message": "페이지 새로 고침 시 저장 및 적용 확인란을 선택하여 검색어를 저장하고 이후 페이지 새로 고침에서 적용할 수 있습니다. 이는 브라우저를 새로 고치고 다시 엽니다.",
- "description": "페이지 새로 고침 시 저장 및 적용"
- },
- "Save_apply_multi": {
- "message": "여러 일치 규칙",
- "description": "여러 일치 규칙"
- },
- "Save_apply_multi_p1": {
- "message": "동일한 페이지에 여러 규칙이 적용되는 경우 규칙은 가장 구체적인 것부터 가장 일반적인 것까지 순서대로 적용됩니다. 예를 들면:",
- "description": "여러 일치 규칙"
- },
- "Save_apply_multi_p2": {
- "message": "이는 첫 번째 규칙에 의해 적용된 모든 변경 사항이 다음 규칙에 공급됨을 의미합니다. 위 예에서는 텍스트 예시가 http://www.example.com/a/deeper/nested/page와 일치하는 규칙에 의해 바뀌었습니다. 따라서 다음 규칙은 아무런 영향을 미치지 않습니다.",
- "description": "여러 일치 규칙"
- },
- "Save_apply_multi_p3": {
- "message": "확장 프로그램 팝업에서 링크를 클릭하여 저장된 규칙을 편집할 수 있습니다. URL Pattern 필드는 여러 다른 웹사이트에 동일한 규칙을 적용할 수 있도록 하는 정규 표현식입니다.",
- "description": "여러 일치 규칙"
- },
- "ReportingIssues": {
- "message": "문제 보고",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "설치 후 텍스트를 교체하려는 페이지를 새로 고침하십시오(REPLACE).",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "확장 프로그램을 사용한 후 페이지가 손상된 경우, 페이지를 새로 고침한 다음, 검색 및 교체를 수행하기 전에 Input fields only?를 확인해 보세요.",
- "description": ""
- },
- "ReportingIssues_p1": {
- "message": "버그를 발견하면 Chrome 확장 프로그램 스토어 또는 GitHub에서 자세한 보고서를 제공해 주세요.",
- "description": ""
- },
- "Rate_on_store": {
- "message": "확장 프로그램이 도움이 되었다면 Chrome 스토어에서 ★★★★★로 평가해 주세요!",
- "description": ""
- },
- "no_saved_instances": {
- "message": "저장된 인스턴스 없음",
- "description": "규칙을 찾을 수 없음을 사용자에게 알리는 메시지"
- },
- "matches": {
- "message": "일치",
- "description": "검색어의 일치 인스턴스 수를 사용자에게 알리는 메시지"
- }
+ "ext_name": {
+ "message": "검색 및 대체",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "웹 페이지에서 텍스트를 검색하고 다른 텍스트로 대체합니다.",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "옵션",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "저장된 규칙",
+ "description": "Options Tab"
+ },
+ "select_language": {
+ "message": "언어 선택:",
+ "description": "Options Tab"
+ },
+ "settings": {
+ "message": "설정",
+ "description": "Settings"
+ },
+ "about": {
+ "message": "정보",
+ "description": "about"
+ },
+ "back": {
+ "message": "뒤로",
+ "description": "Back"
+ },
+ "version": {
+ "message": "버전",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "규칙 ID",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "URL 패턴",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "검색 용어",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "대체 용어",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "삭제",
+ "description": "options"
+ },
+ "Save": {
+ "message": "저장",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "대소문자 구분",
+ "description": "checkbox matchCase"
+ },
+ "inputFieldsOnly": {
+ "message": "입력 필드만",
+ "description": "checkbox inputFieldsOnly"
+ },
+ "hiddenContent": {
+ "message": "숨겨진 콘텐츠",
+ "description": "checkbox hiddenContent"
+ },
+ "wholeWord": {
+ "message": "전체 단어 일치",
+ "description": "checkbox wholeWord"
+ },
+ "isRegex": {
+ "message": "정규 표현식",
+ "description": "checkbox isRegex"
+ },
+ "replaceHTML": {
+ "message": "HTML 바꾸기",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "모두 대체",
+ "description": "checkbox replaceAll"
+ },
+ "saveApplyPageReload": {
+ "message": "저장하고 페이지 다시로드 시 적용",
+ "description": "checkbox save"
+ },
+ "Searchfor": {
+ "message": "검색 대상",
+ "description": "popup"
+ },
+ "Swap": {
+ "message": "교체 ⇅",
+ "description": "popup"
+ },
+ "Replacewith": {
+ "message": "다음과 교체",
+ "description": "popup"
+ },
+ "Matchcase": {
+ "message": "대소문자 구분",
+ "description": "popup"
+ },
+ "Inputfields": {
+ "message": "입력 필드만",
+ "description": "popup"
+ },
+ "Hiddencontent": {
+ "message": "숨겨진 콘텐츠",
+ "description": "popup"
+ },
+ "Matchwhole": {
+ "message": "전체 단어 일치",
+ "description": "popup"
+ },
+ "Regularexpression": {
+ "message": "정규 표현식",
+ "description": "popup"
+ },
+ "Saveandapply": {
+ "message": "페이지 새로 고침 시 저장 및 적용",
+ "description": "popup"
+ },
+ "ReplaceNext": {
+ "message": "다음 항목 바꾸기",
+ "description": "popup"
+ },
+ "ReplaceAll": {
+ "message": "모두 바꾸기",
+ "description": "popup"
+ },
+ "History": {
+ "message": "기록",
+ "description": "popup"
+ },
+ "Clear": {
+ "message": "지우기",
+ "description": "popup"
+ },
+ "EditSettings": {
+ "message": "설정 편집",
+ "description": "popup"
+ },
+ "Help": {
+ "message": "도움말",
+ "description": ""
+ },
+ "help_title": {
+ "message": "검색 및 바꾸기 도움말 페이지",
+ "description": "help"
+ },
+ "URL": {
+ "message": "URL",
+ "description": ""
+ },
+ "Search": {
+ "message": "검색",
+ "description": ""
+ },
+ "Replace": {
+ "message": "바꾸기",
+ "description": ""
+ },
+ "Priority": {
+ "message": "우선 순위",
+ "description": ""
+ },
+ "Example": {
+ "message": "예시",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "먼저 적용됨",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "마지막에 적용됨",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "다음 항목 바꾸기 vs. 모두 바꾸기",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p1": {
+ "message": "검색어의 첫 번째 발생을 바꾸려면 다음 항목 바꾸기를 누르세요. 더 이상 발생하지 않을 때까지 버튼을 누를 수 있습니다.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p2": {
+ "message": "검색어의 모든 발생을 바꾸려면 모두 바꾸기를 누르세요.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p3": {
+ "message": "현재 취소 기능은 없습니다. 실수를 했다면 페이지를 다시 로드하여 원래 텍스트를 복원할 수 있습니다. 그러나 텍스트 편집기와 텍스트 입력 필드에서의 저장되지 않은 변경 사항은 손실됩니다.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "replace_editors": {
+ "message": "편집기 및 텍스트 필드에서 텍스트 교체하기",
+ "description": "편집기 및 텍스트 필드에서 텍스트 교체에 대한 설명"
+ },
+ "replace_editors_p1": {
+ "message": "텍스트 편집기나 입력 상자에서 텍스트를 교체하려면 입력 필드만 대상? 확인란을 선택해야 합니다.",
+ "description": "편집기 및 텍스트 필드에서 텍스트 교체에 대한 설명"
+ },
+ "replace_editors_p3": {
+ "message": "여기에는 일반 input 및 textarea 입력란뿐 아니라 TinyMCE, CKEditor 같은 리치 텍스트 편집기도 포함됩니다. 해당 필드 밖은 전혀 건드리지 않으므로 복잡한 페이지에서 가장 안전한 선택이며, 바꾸기 때문에 무언가 망가진 것 같을 때 가장 먼저 시도할 옵션입니다.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "설정",
+ "description": "help"
+ },
+ "Replacing_anywhere": {
+ "message": "페이지 어디서든 텍스트 교체하기",
+ "description": "페이지 어디서든 텍스트 교체에 대한 설명"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "HTML 안에 포함된 텍스트, 텍스트 편집기 안에 포함된 텍스트, 텍스트 필드 안에 포함된 텍스트를 교체하려면 HTML 교체? 확인란을 선택해야 합니다.",
+ "description": "페이지 어디서든 텍스트 교체에 대한 설명"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "링크 주소를 포함해 페이지의 모든 example.com을 바꿉니다.",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "이 설정은 페이지의 HTML을 변경하므로 페이지가 깨질 수 있습니다. 페이지를 다시 로드하면 복구되지만, 텍스트 편집기와 텍스트 입력란에 저장하지 않은 변경 사항은 사라집니다.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "텍스트의 대소문자 매칭",
+ "description": "텍스트의 대소문자 매칭에 대한 설명"
+ },
+ "Matching_case_p1": {
+ "message": "이것은 바꾸고 싶지만 이것은 바꾸고 싶지 않다면 대소문자 매칭 옵션을 사용해야 합니다.",
+ "description": "텍스트의 대소문자 매칭에 대한 설명"
+ },
+ "Matching_case_p2": {
+ "message": "다음 설정은 Condo는 매칭하지만 condo는 매칭하지 않습니다. 이 설정은 페이지에서 가시적인 텍스트 필드에서 Condo를 아파트로 바꿉니다.",
+ "description": "텍스트의 대소문자 매칭에 대한 설명"
+ },
+ "Matching_whole": {
+ "message": "전체 단어 매칭",
+ "description": "전체 단어 매칭"
+ },
+ "Matching_whole_p1": {
+ "message": "만약 partial을 바꾸고 싶지만 partially는 바꾸고 싶지 않다면 전체 단어 매칭? 옵션을 사용해야 합니다.",
+ "description": "전체 단어 매칭"
+ },
+ "wildcards_and_regex": {
+ "message": "와일드카드 및 정규 표현식",
+ "description": "와일드카드 및 정규 표현식에 대한 설명"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "만약 부분적인 검색어와 일치시키려면 정규 표현식 확인란을 선택하고 와일드카드를 지정해야 합니다. 이 기능을 사용하려면 매우 기본적인 정규 표현식 지식이 필요합니다. 테스트를 위해 regexpal을 추천합니다.",
+ "description": "와일드카드 및 정규 표현식에 대한 설명"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "아래 예시에서 1\\d1은 “1, 임의의 숫자, 다시 1”을 뜻하며 101, 111, 121부터 191까지와 일치합니다.",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "이전",
+ "description": ""
+ },
+ "After": {
+ "message": "이후",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "WordPress에서 텍스트 교체",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "WordPress 블록 편집기는 글을 관리자 페이지의 나머지 부분과 분리된 자체 프레임 안에 보관합니다. 확장 프로그램이 그 프레임 안까지 살펴보므로 특별한 옵션이 필요 없습니다. 검색어를 입력하고 모두 바꾸기를 누르세요.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "클래식 편집기를 사용하거나, 입력란이 일반 텍스트 상자인 페이지 빌더를 사용한다면 먼저 입력 필드만을 선택하세요.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "바꾸기는 편집기 안의 내용을 바꿀 뿐 저장된 내용을 바꾸지는 않습니다. 이후 WordPress에서 업데이트를 눌러 저장하세요.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "블록 편집기에서 글을 편집하는 모습. 옵션은 필요하지 않습니다.",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "페이지 새로 고침 시 저장 및 적용",
+ "description": "페이지 새로 고침 시 저장 및 적용"
+ },
+ "Save_apply_p1": {
+ "message": "저장하고 페이지 다시로드 시 적용 확인란을 선택하면 검색 내용이 저장되어 이후 페이지를 다시 로드할 때마다 적용됩니다. 브라우저를 닫았다가 다시 열어도 그대로 적용됩니다.",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "저장된 규칙 편집",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "저장된 각 규칙은 여기에서 편집하거나 삭제할 수 있습니다.",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "여러 일치 규칙",
+ "description": "여러 일치 규칙"
+ },
+ "Save_apply_multi_p1": {
+ "message": "동일한 페이지에 여러 규칙이 적용되는 경우 규칙은 가장 구체적인 것부터 가장 일반적인 것까지 순서대로 적용됩니다. 예를 들면:",
+ "description": "여러 일치 규칙"
+ },
+ "Save_apply_multi_p2": {
+ "message": "이는 첫 번째 규칙에 의해 적용된 모든 변경 사항이 다음 규칙에 공급됨을 의미합니다. 위 예에서는 텍스트 예시가 http://www.example.com/a/deeper/nested/page와 일치하는 규칙에 의해 바뀌었습니다. 따라서 다음 규칙은 아무런 영향을 미치지 않습니다.",
+ "description": "여러 일치 규칙"
+ },
+ "Save_apply_multi_p3": {
+ "message": "저장된 규칙은 팝업의 저장 아이콘으로 열리는 저장된 규칙 페이지에서 편집할 수 있습니다. URL 패턴 필드는 정규 표현식이므로 같은 규칙을 여러 웹사이트에 적용할 수 있습니다.",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "문제 보고",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "확장 프로그램을 설치하거나 업데이트할 때 이미 열려 있던 페이지는 반드시 다시 로드하세요. 다시 로드하기 전까지는 확장 프로그램이 해당 페이지에 접근할 수 없습니다.",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "확장 프로그램을 사용한 후 페이지가 손상된 경우, 페이지를 새로 고침한 다음, 검색 및 교체를 수행하기 전에 Input fields only?를 확인해 보세요.",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "버그를 발견하면 Chrome 확장 프로그램 스토어 또는 GitHub에서 자세한 보고서를 제공해 주세요.",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "확장 프로그램이 도움이 되었다면 Chrome 스토어에서 ★★★★★로 평가해 주세요!",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "문제를 알리기 전에",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "페이지를 다시 로드하세요. 확장 프로그램을 설치하거나 업데이트할 때 이미 열려 있던 페이지는 다시 로드하기 전까지 접근할 수 없습니다.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "chrome://로 시작하는 브라우저 페이지, Chrome 웹 스토어, 확장 프로그램 페이지는 모든 확장 프로그램에 차단되어 있어 그곳에서는 아무것도 바꿀 수 없습니다.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "개수가 계속 0이라면 숨겨진 콘텐츠를 시도하거나, 대소문자 구분을 끄거나, 해당 텍스트가 이미지가 아닌지 확인하세요.",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "저장된 인스턴스 없음",
+ "description": "규칙을 찾을 수 없음을 사용자에게 알리는 메시지"
+ },
+ "matches": {
+ "message": "일치",
+ "description": "검색어의 일치 인스턴스 수를 사용자에게 알리는 메시지"
+ },
+ "hidden_content_nav": {
+ "message": "숨겨진 콘텐츠 검색",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "숨겨진 콘텐츠 검색",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "기본적으로 이 확장 프로그램은 페이지에 보이는 텍스트만 검색하고 바꿉니다. 접힌 섹션, 숨겨진 div, display: none이 적용된 요소처럼 숨겨진 요소의 텍스트를 검색하고 바꾸려면 숨겨진 콘텐츠 옵션을 선택하세요.",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "처음에는 숨겨져 있다가 사용자의 조작으로 나타나는 동적 콘텐츠를 다룰 때나, 숨겨진 양식 필드를 수정해야 할 때 특히 유용합니다.",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "숨겨진 콘텐츠를 선택하면 확장 프로그램이 표시 여부와 관계없이 모든 요소를 검색하므로 일치 개수가 더 많아질 수 있습니다.",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "찾기 및 바꾸기가 이 페이지에 접근할 수 없습니다. 페이지를 다시 로드한 뒤 시도하세요.",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "페이지에서 텍스트를 찾아 바꾸는 방법 — 일반 텍스트, 양식 필드, 편집기에서, 그리고 방문할 때마다 자동으로.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "목차",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "참고",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "팁",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "경고",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "실행 취소 없음",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "팝업 한눈에 보기",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "도구 모음에서, 또는 Ctrl+Shift+S로 팝업을 엽니다. 찾을 텍스트를 검색 대상에, 대신 넣을 텍스트를 다음과 교체에 입력한 뒤 아래 두 버튼 중 하나를 누르세요.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "검색 대상 상자 아래의 숫자는 페이지에 남은 일치 개수이며, 입력하거나 바꿀 때마다 갱신됩니다. 위쪽 아이콘 줄에서는 이 도움말 페이지, 최근 검색, 정보 패널, 언어 설정, 저장된 규칙을 열 수 있습니다.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "페이지에 Condo가 네 개 남아 있습니다.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "각 옵션의 역할",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "팝업의 각 확인란은 검색 범위를 좁히거나 넓힙니다. 함께 사용할 수 있습니다.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "대소문자가 정확히 같은 텍스트만 찾습니다. 선택하지 않으면 Condo, condo, CONDO가 모두 일치합니다.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "검색 범위를 텍스트 상자, 텍스트 영역, 리치 텍스트 편집기로 제한하고 페이지의 나머지는 건드리지 않습니다. 양식, 메시지, 게시글을 편집할 때는 항상 이 옵션을 사용하세요.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "지금 보이지 않는 요소까지 포함합니다. 접힌 패널, 비활성 탭, 화면 밖 메뉴, 숨겨진 양식 필드 등입니다.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "일치 대상이 온전한 단어여야 하므로 partial이 partially 안에서는 더 이상 일치하지 않습니다.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "검색어를 문자 그대로가 아니라 정규 표현식으로 처리합니다.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "읽을 수 있는 텍스트가 아니라 페이지의 HTML 소스를 검색하므로 태그, 속성, 링크 주소, 대체 텍스트까지 모두 대상이 됩니다.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "검색을 규칙으로 저장하고, 조건에 맞는 페이지를 열 때마다 다시 적용합니다. 브라우저를 재시작한 뒤에도 유효합니다.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "숨겨진 요소까지 포함하면 같은 검색에서 일치가 네 개가 아니라 여섯 개가 됩니다.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "기록, 교체, 언어",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "팝업의 시계 아이콘에는 최근 검색이 나열됩니다. 하나를 클릭하면 두 입력란에 다시 채워지고, 지우기를 누르면 목록이 비워집니다.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "두 입력란 사이의 Swap은 검색어와 바꿀 단어를 맞바꿉니다 — 원래 텍스트가 페이지의 다른 곳에 입력되지 않았다면 방금 한 바꾸기를 되돌리는 데 편리합니다.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "톱니바퀴 아이콘에 언어 설정이 있습니다. 이 확장 프로그램은 독일어, 러시아어, 스페인어, 아랍어, 영어, 일본어, 중국어, 포르투갈어, 한국어, 힌디어로 번역되어 있으며, 아직 번역되지 않은 부분은 영어로 표시됩니다.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "이 검색들은 주소가 URL 패턴과 일치하는 페이지를 열 때마다 자동으로 실행됩니다. 패턴은 정규 표현식이므로 규칙 하나로 사이트 전체를 다룰 수 있습니다.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "팝업에서 ‘저장하고 페이지 다시로드 시 적용’을 선택하면 만들 수 있습니다.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "제작자",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "라이선스",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "릴리스 노트",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "문제 신고",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "이 확장 프로그램 평가하기",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "최근 검색이 여기에 표시됩니다.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(삭제됨)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/_locales/pt_PT/messages.json b/_locales/pt_PT/messages.json
index ebd497c..d01da4a 100644
--- a/_locales/pt_PT/messages.json
+++ b/_locales/pt_PT/messages.json
@@ -1,338 +1,526 @@
{
- "ext_name": {
- "message": "Pesquisar e Substituir",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "Pesquise texto em uma página da web e substitua-o por outro texto.",
- "description": "ext_description"
- },
- "options": {
- "message": "Opções",
- "description": "options"
- },
- "saved_rules": {
- "message": "Regras Salvas",
- "description": "Options Tab"
- },
- "select_language": {
- "message": "Selecione um idioma:",
- "description": "Options Tab"
- },
- "settings": {
- "message": "Configurações",
- "description": "Settings"
- },
- "about": {
- "message": "Sobre",
- "description": "about"
- },
- "back": {
- "message": "costas",
- "description": "Back"
- },
- "version": {
- "message": "Versão",
- "description": "version"
- },
- "RuleID": {
- "message": "ID da Regra",
- "description": "options"
- },
- "URLPattern": {
- "message": "Padrão de URL",
- "description": "options"
- },
- "SearchTerm": {
- "message": "Termo de Pesquisa",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "Termo de Substituição",
- "description": "options"
- },
- "Delete": {
- "message": "Excluir",
- "description": "options"
- },
- "Save": {
- "message": "Salvar",
- "description": "options"
- },
- "matchCase": {
- "message": "Diferenciar maiúsculas",
- "description": "checkbox matchCase"
- },
- "inputFieldsOnly": {
- "message": "Apenas campos de entrada",
- "description": "checkbox inputFieldsOnly"
- },
- "hiddenContent": {
- "message": "Conteúdo oculto",
- "description": "checkbox hiddenContent"
- },
- "wholeWord": {
- "message": "Corresponder palavra inteira",
- "description": "checkbox wholeWord"
- },
- "isRegex": {
- "message": "Expressão regular",
- "description": "checkbox isRegex"
- },
- "replaceHTML": {
- "message": "Substituir HTML",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "Substituir tudo",
- "description": "checkbox replaceAll"
- },
- "saveApplyPageReload": {
- "message": "Salvar e aplicar na recarga da página",
- "description": "checkbox save"
- },
- "Searchfor": {
- "message": "Pesquisar por",
- "description": "popup"
- },
- "Swap": {
- "message": "Trocar ⇅",
- "description": "popup"
- },
- "Replacewith": {
- "message": "Substituir por",
- "description": "popup"
- },
- "Matchcase": {
- "message": "Diferenciar maiúsculas",
- "description": "popup"
- },
- "Inputfields": {
- "message": "Apenas campos de entrada",
- "description": "popup"
- },
- "Hiddencontent": {
- "message": "Conteúdo oculto",
- "description": "popup"
- },
- "Matchwhole": {
- "message": "Corresponder palavra inteira",
- "description": "popup"
- },
- "Regularexpression": {
- "message": "Expressão regular",
- "description": "popup"
- },
- "Saveandapply": {
- "message": "Salvar e aplicar na recarga da página",
- "description": "popup"
- },
- "ReplaceNext": {
- "message": "Substituir Próximo",
- "description": "popup"
- },
- "ReplaceAll": {
- "message": "Substituir Tudo",
- "description": "popup"
- },
- "History": {
- "message": "Histórico",
- "description": "popup"
- },
- "Clear": {
- "message": "Limpar",
- "description": "popup"
- },
- "EditSettings": {
- "message": "Editar Configurações",
- "description": "popup"
- },
- "Help": {
- "message": "Ajuda",
- "description": ""
- },
- "help_title": {
- "message": "Página de Ajuda para Pesquisar e Substituir",
- "description": "help"
- },
- "URL": {
- "message": "URL",
- "description": ""
- },
- "Search": {
- "message": "Pesquisar",
- "description": ""
- },
- "Replace": {
- "message": "Substituir",
- "description": ""
- },
- "Priority": {
- "message": "Prioridade",
- "description": ""
- },
- "Example": {
- "message": "Exemplo",
- "description": ""
- },
- "applied_first": {
- "message": "aplicado primeiro",
- "description": ""
- },
- "applied_last": {
- "message": "aplicado por último",
- "description": ""
- },
- "next_vs_all": {
- "message": "Substituir Próximo vs. Substituir Tudo",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p1": {
- "message": "Para substituir a primeira ocorrência do termo de pesquisa, pressione Substituir Próximo. Você pode continuar pressionando o botão até que não haja mais ocorrências.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p2": {
- "message": "Para substituir todas as ocorrências do termo de pesquisa, pressione Substituir Tudo.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p3": {
- "message": "Atualmente, não há função de desfazer. Se você cometer um erro, pode recarregar a página para restaurar o texto original. No entanto, você perderá quaisquer alterações não salvas nos editores de texto e nos campos de entrada de texto.",
- "description": "Replace Next vs. Replace All"
- },
- "replace_editors": {
- "message": "Substituir texto em editores de texto e campos de entrada de texto",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "replace_editors_p1": {
- "message": "Para substituir texto em editores de texto ou caixas de entrada, você deve marcar a caixa Apenas campos de entrada?.",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "replace_editors_p2": {
- "message": "Para substituir texto em editores de texto ou caixas de entrada, você deve marcar a caixa Apenas campos de entrada?. Caso contrário, o texto de pesquisa será substituído em todo o HTML, o que pode quebrar a página. Para evitar a alteração de campos de entrada ocultos, você também deve marcar a caixa Apenas elementos visíveis?.",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "Setup": {
- "message": "Configuração",
- "description": "help"
- },
- "Replacing_anywhere": {
- "message": "Substituir texto em qualquer lugar na página",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_p1": {
- "message": "Para substituir o texto contido em um HTML, contido em um editor de texto e contido em um campo de texto, você deve marcar a caixa de seleção Substituir HTML?.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_p2": {
- "message": "Para substituir texto que não está contido em um editor de texto e não está contido em um campo de entrada de texto, deixe as caixas Apenas campos de entrada? e Apenas alterar conteúdo visível?não marcadas.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_warning": {
- "message": "AVISO: Esta configuração alterará o HTML da página e poderá quebrar a página. Você pode restaurar a página recarregando-a, mas perderá quaisquer alterações não salvas nos editores de texto e nos campos de entrada de texto.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Matching_case": {
- "message": "Correspondência de maiúsculas e minúsculas do texto",
- "description": "Explanation about matching the case of text"
- },
- "Matching_case_p1": {
- "message": "Se você precisar substituir ISTO mas não Isto, deve usar a opção de correspondência de maiúsculas e minúsculas.",
- "description": "Explanation about matching the case of text"
- },
- "Matching_case_p2": {
- "message": "A configuração a seguir corresponderá a Condomínio mas não condomínio. Ela substituirá Condomínio por apartamento em campos de texto que são visíveis na página.",
- "description": "Explanation about matching the case of text"
- },
- "Matching_whole": {
- "message": "Correspondência de palavra inteira",
- "description": "Matching whole words"
- },
- "Matching_whole_p1": {
- "message": "Se você precisar substituir a palavra parcial mas não parcialmente, deve usar a opção Corresponder palavra inteira?.",
- "description": "Matching whole words"
- },
- "wildcards_and_regex": {
- "message": "Coringas e Expressões Regulares",
- "description": "Explanation about wild cards and regular expressions"
- },
- "wildcards_and_regex_p1": {
- "message": "Se você precisar corresponder a uma parte do termo de pesquisa, deve marcar a caixa de seleção Expressões Regulares e especificar um caractere curinga. Você precisará de um conhecimento básico de expressões regulares para usar esse recurso. Recomenda-se o uso de regexpal para testes.",
- "description": "Explanation about wild cards and regular expressions"
- },
- "Before": {
- "message": "Antes",
- "description": ""
- },
- "After": {
- "message": "Depois",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "Substituir texto no WordPress",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "O WordPress está atualmente na versão 6.6, a partir de março de 2023. O editor de postagens mudou significativamente desde a criação desta extensão e é necessária uma nova configuração para substituir texto no WordPress.",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "Configuração para WordPress 6+",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "Configuração para WordPress 5 e versões anteriores",
- "description": ""
- },
- "Save_apply": {
- "message": "Salvar e aplicar na recarga da página",
- "description": "Save and apply on page reload"
- },
- "Save_apply_p1": {
- "message": "Você pode marcar a caixa Salvar e aplicar na recarga da página para salvar sua pesquisa e aplicá-la nas recargas subsequentes da página. Isso será salvo e reaberto em seu navegador.",
- "description": "Save and apply on page reload"
- },
- "Save_apply_multi": {
- "message": "Regras de Correspondência Múltipla",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p1": {
- "message": "Se várias regras se aplicarem à mesma página, as regras serão aplicadas em ordem do mais específico para o menos específico. Por exemplo:",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p2": {
- "message": "Isso significa que quaisquer alterações aplicadas pela primeira regra serão passadas para as regras subsequentes. No exemplo acima, o texto Exemplo teria sido substituído pela regra que corresponde a http://www.example.com/a/deeper/nested/page. Portanto, regras subsequentes não terão efeito.",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p3": {
- "message": "Você pode editar as regras salvas clicando no link na janela pop-up da extensão. O campo Padrão de URL é uma expressão regular, que permite que você aplique a mesma regra a muitos sites diferentes.",
- "description": "Multiple Matching Rules"
- },
- "ReportingIssues": {
- "message": "Relatórios de Problemas",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "Lembre-se de ATUALIZAR a página na qual deseja substituir o texto após a instalação.",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "Se a página estiver quebrada após o uso da extensão, tente atualizar a página e, em seguida, marcar as caixas Apenas campos de entrada? antes de realizar uma pesquisa e substituição.",
- "description": ""
- },
- "ReportingIssues_p1": {
- "message": "Se você encontrar um erro, forneça um relatório detalhado na Chrome Extension Store ou no GitHub.",
- "description": ""
- },
- "Rate_on_store": {
- "message": "Por favor, avalie com ★★★★★ na Chrome Store se a extensão lhe ajudar!",
- "description": ""
- },
- "no_saved_instances": {
- "message": "Nenhuma instância salva",
- "description": "message to tell user that no rules were found"
- },
- "matches": {
- "message": "correspondências",
- "description": "message to tell user how many instances of the search term were found"
- }
+ "ext_name": {
+ "message": "Pesquisar e Substituir",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "Pesquise texto em uma página da web e substitua-o por outro texto.",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "Opções",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "Regras Salvas",
+ "description": "Options Tab"
+ },
+ "select_language": {
+ "message": "Selecione um idioma:",
+ "description": "Options Tab"
+ },
+ "settings": {
+ "message": "Configurações",
+ "description": "Settings"
+ },
+ "about": {
+ "message": "Sobre",
+ "description": "about"
+ },
+ "back": {
+ "message": "costas",
+ "description": "Back"
+ },
+ "version": {
+ "message": "Versão",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "ID da Regra",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "Padrão de URL",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "Termo de Pesquisa",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "Termo de Substituição",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "Excluir",
+ "description": "options"
+ },
+ "Save": {
+ "message": "Salvar",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "Diferenciar maiúsculas",
+ "description": "checkbox matchCase"
+ },
+ "inputFieldsOnly": {
+ "message": "Apenas campos de entrada",
+ "description": "checkbox inputFieldsOnly"
+ },
+ "hiddenContent": {
+ "message": "Conteúdo oculto",
+ "description": "checkbox hiddenContent"
+ },
+ "wholeWord": {
+ "message": "Corresponder palavra inteira",
+ "description": "checkbox wholeWord"
+ },
+ "isRegex": {
+ "message": "Expressão regular",
+ "description": "checkbox isRegex"
+ },
+ "replaceHTML": {
+ "message": "Substituir HTML",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "Substituir tudo",
+ "description": "checkbox replaceAll"
+ },
+ "saveApplyPageReload": {
+ "message": "Salvar e aplicar na recarga da página",
+ "description": "checkbox save"
+ },
+ "Searchfor": {
+ "message": "Pesquisar por",
+ "description": "popup"
+ },
+ "Swap": {
+ "message": "Trocar ⇅",
+ "description": "popup"
+ },
+ "Replacewith": {
+ "message": "Substituir por",
+ "description": "popup"
+ },
+ "Matchcase": {
+ "message": "Diferenciar maiúsculas",
+ "description": "popup"
+ },
+ "Inputfields": {
+ "message": "Apenas campos de entrada",
+ "description": "popup"
+ },
+ "Hiddencontent": {
+ "message": "Conteúdo oculto",
+ "description": "popup"
+ },
+ "Matchwhole": {
+ "message": "Corresponder palavra inteira",
+ "description": "popup"
+ },
+ "Regularexpression": {
+ "message": "Expressão regular",
+ "description": "popup"
+ },
+ "Saveandapply": {
+ "message": "Salvar e aplicar na recarga da página",
+ "description": "popup"
+ },
+ "ReplaceNext": {
+ "message": "Substituir Próximo",
+ "description": "popup"
+ },
+ "ReplaceAll": {
+ "message": "Substituir Tudo",
+ "description": "popup"
+ },
+ "History": {
+ "message": "Histórico",
+ "description": "popup"
+ },
+ "Clear": {
+ "message": "Limpar",
+ "description": "popup"
+ },
+ "EditSettings": {
+ "message": "Editar Configurações",
+ "description": "popup"
+ },
+ "Help": {
+ "message": "Ajuda",
+ "description": ""
+ },
+ "help_title": {
+ "message": "Página de Ajuda para Pesquisar e Substituir",
+ "description": "help"
+ },
+ "URL": {
+ "message": "URL",
+ "description": ""
+ },
+ "Search": {
+ "message": "Pesquisar",
+ "description": ""
+ },
+ "Replace": {
+ "message": "Substituir",
+ "description": ""
+ },
+ "Priority": {
+ "message": "Prioridade",
+ "description": ""
+ },
+ "Example": {
+ "message": "Exemplo",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "aplicado primeiro",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "aplicado por último",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "Substituir Próximo vs. Substituir Tudo",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p1": {
+ "message": "Para substituir a primeira ocorrência do termo de pesquisa, pressione Substituir Próximo. Você pode continuar pressionando o botão até que não haja mais ocorrências.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p2": {
+ "message": "Para substituir todas as ocorrências do termo de pesquisa, pressione Substituir Tudo.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p3": {
+ "message": "Atualmente, não há função de desfazer. Se você cometer um erro, pode recarregar a página para restaurar o texto original. No entanto, você perderá quaisquer alterações não salvas nos editores de texto e nos campos de entrada de texto.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "replace_editors": {
+ "message": "Substituir texto em editores de texto e campos de entrada de texto",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "replace_editors_p1": {
+ "message": "Para substituir texto em editores de texto ou caixas de entrada, você deve marcar a caixa Apenas campos de entrada?.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "replace_editors_p3": {
+ "message": "Isto abrange as caixas input e textarea simples, bem como editores de texto formatado como o TinyMCE e o CKEditor. Como nada fora desses campos é tocado, é a opção mais segura numa página complicada e a primeira a experimentar se uma substituição parecer ter danificado alguma coisa.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "Configuração",
+ "description": "help"
+ },
+ "Replacing_anywhere": {
+ "message": "Substituir texto em qualquer lugar na página",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "Para substituir o texto contido em um HTML, contido em um editor de texto e contido em um campo de texto, você deve marcar a caixa de seleção Substituir HTML?.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "A reescrever cada example.com da página, incluindo os endereços das ligações.",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "Esta configuração altera o HTML da página e pode danificá-la. Pode restaurar a página recarregando-a, mas perderá quaisquer alterações não guardadas nos editores de texto e nos campos de entrada de texto.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "Correspondência de maiúsculas e minúsculas do texto",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_case_p1": {
+ "message": "Se você precisar substituir ISTO mas não Isto, deve usar a opção de correspondência de maiúsculas e minúsculas.",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_case_p2": {
+ "message": "A configuração a seguir corresponderá a Condomínio mas não condomínio. Ela substituirá Condomínio por apartamento em campos de texto que são visíveis na página.",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_whole": {
+ "message": "Correspondência de palavra inteira",
+ "description": "Matching whole words"
+ },
+ "Matching_whole_p1": {
+ "message": "Se você precisar substituir a palavra parcial mas não parcialmente, deve usar a opção Corresponder palavra inteira?.",
+ "description": "Matching whole words"
+ },
+ "wildcards_and_regex": {
+ "message": "Coringas e Expressões Regulares",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "Se você precisar corresponder a uma parte do termo de pesquisa, deve marcar a caixa de seleção Expressões Regulares e especificar um caractere curinga. Você precisará de um conhecimento básico de expressões regulares para usar esse recurso. Recomenda-se o uso de regexpal para testes.",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "No exemplo abaixo, 1\\d1 significa «um 1, depois qualquer algarismo, depois um 1», o que corresponde a 101, 111, 121 e assim por diante até 191.",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "Antes",
+ "description": ""
+ },
+ "After": {
+ "message": "Depois",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "Substituir texto no WordPress",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "O editor de blocos do WordPress mantém a sua publicação dentro de um quadro próprio, separado do resto da página de administração. A extensão olha para dentro desse quadro por si, por isso não são precisas opções especiais: escreva os seus termos e prima Substituir Tudo.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "Se estiver a utilizar o editor clássico, ou um construtor de páginas cujos campos sejam caixas de texto normais, marque primeiro Apenas campos de entrada.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "A substituição altera o que está no editor, não o que está guardado. Prima Atualizar no WordPress depois para a manter.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "A editar uma publicação no editor de blocos. Não é necessária nenhuma opção.",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "Salvar e aplicar na recarga da página",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_p1": {
+ "message": "Pode marcar a caixa Salvar e aplicar na recarga da página para guardar a sua pesquisa e aplicá-la sempre que a página for recarregada. Continuará a aplicar-se mesmo depois de fechar e reabrir o navegador.",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "Editar regras guardadas",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "Cada regra guardada pode ser editada ou eliminada aqui.",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "Regras de Correspondência Múltipla",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p1": {
+ "message": "Se várias regras se aplicarem à mesma página, as regras serão aplicadas em ordem do mais específico para o menos específico. Por exemplo:",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p2": {
+ "message": "Isso significa que quaisquer alterações aplicadas pela primeira regra serão passadas para as regras subsequentes. No exemplo acima, o texto Exemplo teria sido substituído pela regra que corresponde a http://www.example.com/a/deeper/nested/page. Portanto, regras subsequentes não terão efeito.",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p3": {
+ "message": "Pode editar as regras guardadas na página Regras Salvas, que o ícone de guardar do popup abre. O campo Padrão de URL é uma expressão regular, o que lhe permite aplicar a mesma regra a muitos sítios diferentes.",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "Relatórios de Problemas",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "Lembre-se de recarregar qualquer página que já estivesse aberta quando a extensão foi instalada ou atualizada. Até ser recarregada, a extensão não consegue aceder-lhe.",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "Se a página estiver quebrada após o uso da extensão, tente atualizar a página e, em seguida, marcar as caixas Apenas campos de entrada? antes de realizar uma pesquisa e substituição.",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "Se você encontrar um erro, forneça um relatório detalhado na Chrome Extension Store ou no GitHub.",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "Por favor, avalie com ★★★★★ na Chrome Store se a extensão lhe ajudar!",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "Antes de comunicar um problema",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "Recarregue a página. Uma página que já estivesse aberta quando a extensão foi instalada ou atualizada só fica acessível depois de ser recarregada.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "Páginas do navegador como chrome://, a Chrome Web Store e a página de extensões estão vedadas a todas as extensões, pelo que nada pode ser substituído aí.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "Se a contagem ficar a zero, experimente Conteúdo oculto, desligue Diferenciar maiúsculas, ou verifique se o texto não é uma imagem.",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "Nenhuma instância salva",
+ "description": "message to tell user that no rules were found"
+ },
+ "matches": {
+ "message": "correspondências",
+ "description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "Pesquisar conteúdo oculto",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "Pesquisar conteúdo oculto",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "Por predefinição, a extensão só pesquisa e substitui texto visível na página. Se precisar de pesquisar e substituir texto em elementos ocultos (como secções recolhidas, divs ocultas ou elementos com display: none), marque a opção Conteúdo oculto.",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "Isto é particularmente útil com conteúdo dinâmico que começa oculto mas se torna visível através da interação do utilizador, ou quando precisa de modificar campos de formulário ocultos.",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "Quando Conteúdo oculto está marcado, a extensão percorre todos os elementos independentemente da sua visibilidade, o que pode dar um número de correspondências mais elevado.",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "O Pesquisar e Substituir não consegue aceder a esta página. Recarregue a página e tente novamente.",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "Como encontrar texto numa página e alterá-lo — em texto comum, em campos de formulário, em editores e automaticamente em cada visita.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "Índice",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "Nota",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "Dica",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "Aviso",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "Sem anulação",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "O popup num relance",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "Abra o popup a partir da barra de ferramentas, ou com Ctrl+Shift+S. Escreva o texto que procura em Pesquisar por e o texto que pretende em vez dele em Substituir por, e depois prima um dos dois botões em baixo.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "O número por baixo da caixa Pesquisar por conta as correspondências que restam na página, e atualiza-se à medida que escreve e que substitui. A fila de ícones no topo abre esta página de ajuda, as suas pesquisas recentes, o painel Sobre, a definição de idioma e as suas regras guardadas.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "Restam quatro ocorrências de Condo na página.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "O que faz cada opção",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "Cada caixa do popup restringe ou alarga o que é pesquisado. Podem ser combinadas.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "Só corresponde a texto exatamente com as mesmas maiúsculas e minúsculas. Sem marcar, Condo, condo e CONDO correspondem todos.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "Limita a pesquisa a caixas de texto, áreas de texto e editores de texto formatado, e deixa o resto da página em paz. Use-a sempre que estiver a editar um formulário, uma mensagem ou uma publicação.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "Inclui elementos que não consegue ver de momento: painéis recolhidos, separadores inativos, menus fora do ecrã e campos de formulário ocultos.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "Exige que a correspondência seja uma palavra inteira, para que partial deixe de corresponder dentro de partially.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "Trata o termo de pesquisa como uma expressão regular em vez de texto literal.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "Pesquisa o código HTML da página em vez do texto que consegue ler, pelo que as etiquetas, os atributos, os endereços das ligações e o texto alternativo também são abrangidos.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "Guarda a pesquisa como uma regra e aplica-a novamente sempre que abrir uma página correspondente, mesmo depois de reiniciar o navegador.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "A mesma pesquisa encontra seis correspondências em vez de quatro depois de incluir os elementos ocultos.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "Histórico, Trocar e idioma",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "O ícone do relógio no popup lista as suas pesquisas recentes. Clique numa para a repor nas duas caixas, ou prima Limpar para esvaziar a lista.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "Swap, entre as duas caixas, troca os termos de pesquisa e de substituição — útil para anular uma substituição que acabou de fazer, desde que o texto original não tenha sido escrito noutro sítio da página.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "O ícone da roda dentada contém a definição de idioma. A extensão está traduzida para alemão, árabe, chinês, coreano, espanhol, hindi, inglês, japonês, português e russo; o que ainda não estiver traduzido aparece em inglês.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "Estas pesquisas são executadas automaticamente sempre que abre uma página cujo endereço corresponde ao seu padrão de URL. O padrão é uma expressão regular, por isso uma regra pode cobrir um sítio inteiro.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "Marque «Salvar e aplicar na recarga da página» no popup para criar uma.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "Autor",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "Licença",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "Notas de lançamento",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "Comunicar um problema",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "Avaliar esta extensão",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "As suas pesquisas recentes aparecerão aqui.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(removido)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/_locales/ru/messages.json b/_locales/ru/messages.json
index 3d8104e..f51687c 100644
--- a/_locales/ru/messages.json
+++ b/_locales/ru/messages.json
@@ -1,338 +1,526 @@
{
- "ext_name": {
- "message": "Поиск и Замена",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "Ищите текст на веб-странице и заменяйте его другим текстом.",
- "description": "ext_description"
- },
- "options": {
- "message": "Настройки",
- "description": "options"
- },
- "saved_rules": {
- "message": "Сохраненные правила",
- "description": "Options Tab"
- },
- "select_language": {
- "message": "Выберите язык:",
- "description": "Options Tab"
- },
- "settings": {
- "message": "Настройки",
- "description": "Settings"
- },
- "about": {
- "message": "О программе",
- "description": "about"
- },
- "back": {
- "message": "назад",
- "description": "Back"
- },
- "version": {
- "message": "Версия",
- "description": "version"
- },
- "RuleID": {
- "message": "Идентификатор правила",
- "description": "options"
- },
- "URLPattern": {
- "message": "Шаблон URL",
- "description": "options"
- },
- "SearchTerm": {
- "message": "Искомый термин",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "Заменяемый термин",
- "description": "options"
- },
- "Delete": {
- "message": "Удалить",
- "description": "options"
- },
- "Save": {
- "message": "Сохранить",
- "description": "options"
- },
- "matchCase": {
- "message": "Учитывать регистр",
- "description": "checkbox matchCase"
- },
- "inputFieldsOnly": {
- "message": "Только поля ввода",
- "description": "checkbox inputFieldsOnly"
- },
- "hiddenContent": {
- "message": "Скрытый контент",
- "description": "checkbox hiddenContent"
- },
- "wholeWord": {
- "message": "Соответствие целому слову",
- "description": "checkbox wholeWord"
- },
- "isRegex": {
- "message": "Регулярное выражение",
- "description": "checkbox isRegex"
- },
- "replaceHTML": {
- "message": "Заменить HTML",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "Заменить все",
- "description": "checkbox replaceAll"
- },
- "saveApplyPageReload": {
- "message": "Сохранить и применить при перезагрузке страницы",
- "description": "checkbox save"
- },
- "Searchfor": {
- "message": "Искать",
- "description": "popup"
- },
- "Swap": {
- "message": "Заменить ⇅",
- "description": "popup"
- },
- "Replacewith": {
- "message": "Заменить на",
- "description": "popup"
- },
- "Matchcase": {
- "message": "Учитывать регистр",
- "description": "popup"
- },
- "Inputfields": {
- "message": "Только поля ввода",
- "description": "popup"
- },
- "Hiddencontent": {
- "message": "Скрытый контент",
- "description": "popup"
- },
- "Matchwhole": {
- "message": "Соответствие целому слову",
- "description": "popup"
- },
- "Regularexpression": {
- "message": "Регулярное выражение",
- "description": "popup"
- },
- "Saveandapply": {
- "message": "Сохранить и применить при перезагрузке страницы",
- "description": "popup"
- },
- "ReplaceNext": {
- "message": "Заменить следующее",
- "description": "popup"
- },
- "ReplaceAll": {
- "message": "Заменить все",
- "description": "popup"
- },
- "History": {
- "message": "История",
- "description": "popup"
- },
- "Clear": {
- "message": "Очистить",
- "description": "popup"
- },
- "EditSettings": {
- "message": "Изменить настройки",
- "description": "popup"
- },
- "Help": {
- "message": "Помощь",
- "description": ""
- },
- "help_title": {
- "message": "Страница помощи по поиску и замене",
- "description": "help"
- },
- "URL": {
- "message": "URL",
- "description": ""
- },
- "Search": {
- "message": "Поиск",
- "description": ""
- },
- "Replace": {
- "message": "Замена",
- "description": ""
- },
- "Priority": {
- "message": "Приоритет",
- "description": ""
- },
- "Example": {
- "message": "Пример",
- "description": ""
- },
- "applied_first": {
- "message": "применяется первым",
- "description": ""
- },
- "applied_last": {
- "message": "применяется последним",
- "description": ""
- },
- "next_vs_all": {
- "message": "Заменить следующее против Заменить все",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p1": {
- "message": "Для замены первого вхождения искомого термина нажмите кнопку Заменить следующее. Вы можете продолжать нажимать эту кнопку, пока не останется больше вхождений.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p2": {
- "message": "Для замены всех вхождений искомого термина нажмите кнопку Заменить все.",
- "description": "Replace Next vs. Replace All"
- },
- "next_vs_all_p3": {
- "message": "На данный момент отсутствует функция отмены. Если вы сделаете ошибку, вы можете перезагрузить страницу, чтобы восстановить исходный текст. Однако вы потеряете все несохраненные изменения в текстовых редакторах и полях ввода текста.",
- "description": "Replace Next vs. Replace All"
- },
- "replace_editors": {
- "message": "Замена текста в редакторах и текстовых полях",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "replace_editors_p1": {
- "message": "Для замены текста в текстовых редакторах или полях ввода следует установить флажок Только поля ввода?.",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "replace_editors_p2": {
- "message": "Для замены текста в текстовых редакторах или полях ввода следует установить флажок Только поля ввода?. В противном случае искомый текст будет заменен во всем HTML, что может повредить страницу. Для избежания изменения скрытых полей ввода, также установите флажок Только видимые элементы?.",
- "description": "Explanation about replacing text in editors and text fields"
- },
- "Setup": {
- "message": "Настройка",
- "description": "help"
- },
- "Replacing_anywhere": {
- "message": "Замена текста в любом месте на странице",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_p1": {
- "message": "Чтобы заменить текст, содержащийся в HTML, в текстовом редакторе и в текстовом поле, установите флажок Заменить HTML?.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_p2": {
- "message": "Чтобы заменить текст, который не содержится в текстовом редакторе и не находится в текстовом поле, оставьте флажки Только поля ввода? и Только изменять видимое содержание? неотмеченными.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Replacing_anywhere_warning": {
- "message": "ПРЕДУПРЕЖДЕНИЕ: Эта настройка изменит HTML-страницу и может привести к ее повреждению. Вы можете восстановить страницу, перезагрузив ее, но при этом потеряете все несохраненные изменения в текстовых редакторах и полях ввода текста.",
- "description": "Explanation about replacing text anywhere on the page"
- },
- "Matching_case": {
- "message": "Учет регистра текста",
- "description": "Explanation about matching the case of text"
- },
- "Matching_case_p1": {
- "message": "Если вам нужно заменить ЭТО, но не Это, то вы должны использовать опцию 'учитывать регистр'.",
- "description": "Explanation about matching the case of text"
- },
- "Matching_case_p2": {
- "message": "В следующей настройке будет совпадать Квартира, но не квартира. Она будет заменять Квартира на квартира в текстовых полях, видимых на странице.",
- "description": "Explanation about matching the case of text"
- },
- "Matching_whole": {
- "message": "Соответствие целому слову",
- "description": "Matching whole words"
- },
- "Matching_whole_p1": {
- "message": "Если вам нужно заменить слово частичный, но не частично, то вы должны использовать опцию 'соответствие целому слову'.",
- "description": "Matching whole words"
- },
- "wildcards_and_regex": {
- "message": "Маски и регулярные выражения",
- "description": "Explanation about wild cards and regular expressions"
- },
- "wildcards_and_regex_p1": {
- "message": "Если вам нужно сопоставить часть искомого термина, установите флажок 'Регулярное выражение' и укажите шаблон. Для использования этой функции вам потребуется базовое знание регулярных выражений. Рекомендуется использовать regexpal для тестирования.",
- "description": "Explanation about wild cards and regular expressions"
- },
- "Before": {
- "message": "До",
- "description": ""
- },
- "After": {
- "message": "После",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "Замена текста в WordPress",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "На момент марта 2023 года WordPress находится на версии 6.6. Редактор постов претерпел значительные изменения с момента создания этого расширения, и требуется новая настройка для замены текста в WordPress.",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "Настройка для WordPress 6+",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "Настройка для WordPress 5 и более ранних версий",
- "description": ""
- },
- "Save_apply": {
- "message": "Сохранить и применить при перезагрузке страницы",
- "description": "Save and apply on page reload"
- },
- "Save_apply_p1": {
- "message": "Вы можете установить флажок Сохранить и применить при перезагрузке страницы, чтобы сохранить ваш поиск и применить его при последующей перезагрузке страницы. Они будут сохранены и восстановлены при повторном открытии вашего браузера.",
- "description": "Save and apply on page reload"
- },
- "Save_apply_multi": {
- "message": "Несколько совпадающих правил",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p1": {
- "message": "Если на одной странице применяется несколько правил, они будут применены в порядке от самого специфического к менее специфическому. Например:",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p2": {
- "message": "Это означает, что любые изменения, внесенные первым правилом, будут передаваться последующим правилам. В приведенном выше примере текст Пример будет заменен правилом, совпадающим с http://www.example.com/a/deeper/nested/page. Последующие правила, следовательно, не будут иметь никакого влияния.",
- "description": "Multiple Matching Rules"
- },
- "Save_apply_multi_p3": {
- "message": "Вы можете редактировать сохраненные правила, нажав на ссылку в выпадающем окне расширения. Поле Шаблон URL представляет собой регулярное выражение, которое позволяет применять одно и то же правило к множеству разных веб-сайтов.",
- "description": "Multiple Matching Rules"
- },
- "ReportingIssues": {
- "message": "Сообщение о проблемах",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "Не забудьте ОБНОВИТЬ страницу, на которой вы хотите заменить текст после установки.",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "Если страница сломалась после использования расширения, попробуйте обновить страницу и затем установить флажки Только поля ввода? перед выполнением поиска и замены.",
- "description": ""
- },
- "ReportingIssues_p1": {
- "message": "Если вы обнаружили ошибку, пожалуйста, предоставьте подробный отчет на Chrome Extension Store или на GitHub.",
- "description": ""
- },
- "Rate_on_store": {
- "message": "Пожалуйста, оцените расширение ★★★★★ в Chrome Store, если оно вам помогло!",
- "description": ""
- },
- "no_saved_instances": {
- "message": "Нет сохраненных экземпляров",
- "description": "message to tell user that no rules were found"
- },
- "matches": {
- "message": "совпадения",
- "description": "message to tell user how many instances of the search term were found"
- }
+ "ext_name": {
+ "message": "Поиск и Замена",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "Ищите текст на веб-странице и заменяйте его другим текстом.",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "Настройки",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "Сохраненные правила",
+ "description": "Options Tab"
+ },
+ "select_language": {
+ "message": "Выберите язык:",
+ "description": "Options Tab"
+ },
+ "settings": {
+ "message": "Настройки",
+ "description": "Settings"
+ },
+ "about": {
+ "message": "О программе",
+ "description": "about"
+ },
+ "back": {
+ "message": "назад",
+ "description": "Back"
+ },
+ "version": {
+ "message": "Версия",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "Идентификатор правила",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "Шаблон URL",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "Искомый термин",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "Заменяемый термин",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "Удалить",
+ "description": "options"
+ },
+ "Save": {
+ "message": "Сохранить",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "Учитывать регистр",
+ "description": "checkbox matchCase"
+ },
+ "inputFieldsOnly": {
+ "message": "Только поля ввода",
+ "description": "checkbox inputFieldsOnly"
+ },
+ "hiddenContent": {
+ "message": "Скрытый контент",
+ "description": "checkbox hiddenContent"
+ },
+ "wholeWord": {
+ "message": "Соответствие целому слову",
+ "description": "checkbox wholeWord"
+ },
+ "isRegex": {
+ "message": "Регулярное выражение",
+ "description": "checkbox isRegex"
+ },
+ "replaceHTML": {
+ "message": "Заменить HTML",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "Заменить все",
+ "description": "checkbox replaceAll"
+ },
+ "saveApplyPageReload": {
+ "message": "Сохранить и применить при перезагрузке страницы",
+ "description": "checkbox save"
+ },
+ "Searchfor": {
+ "message": "Искать",
+ "description": "popup"
+ },
+ "Swap": {
+ "message": "Заменить ⇅",
+ "description": "popup"
+ },
+ "Replacewith": {
+ "message": "Заменить на",
+ "description": "popup"
+ },
+ "Matchcase": {
+ "message": "Учитывать регистр",
+ "description": "popup"
+ },
+ "Inputfields": {
+ "message": "Только поля ввода",
+ "description": "popup"
+ },
+ "Hiddencontent": {
+ "message": "Скрытый контент",
+ "description": "popup"
+ },
+ "Matchwhole": {
+ "message": "Соответствие целому слову",
+ "description": "popup"
+ },
+ "Regularexpression": {
+ "message": "Регулярное выражение",
+ "description": "popup"
+ },
+ "Saveandapply": {
+ "message": "Сохранить и применить при перезагрузке страницы",
+ "description": "popup"
+ },
+ "ReplaceNext": {
+ "message": "Заменить следующее",
+ "description": "popup"
+ },
+ "ReplaceAll": {
+ "message": "Заменить все",
+ "description": "popup"
+ },
+ "History": {
+ "message": "История",
+ "description": "popup"
+ },
+ "Clear": {
+ "message": "Очистить",
+ "description": "popup"
+ },
+ "EditSettings": {
+ "message": "Изменить настройки",
+ "description": "popup"
+ },
+ "Help": {
+ "message": "Помощь",
+ "description": ""
+ },
+ "help_title": {
+ "message": "Страница помощи по поиску и замене",
+ "description": "help"
+ },
+ "URL": {
+ "message": "URL",
+ "description": ""
+ },
+ "Search": {
+ "message": "Поиск",
+ "description": ""
+ },
+ "Replace": {
+ "message": "Замена",
+ "description": ""
+ },
+ "Priority": {
+ "message": "Приоритет",
+ "description": ""
+ },
+ "Example": {
+ "message": "Пример",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "применяется первым",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "применяется последним",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "Заменить следующее против Заменить все",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p1": {
+ "message": "Для замены первого вхождения искомого термина нажмите кнопку Заменить следующее. Вы можете продолжать нажимать эту кнопку, пока не останется больше вхождений.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p2": {
+ "message": "Для замены всех вхождений искомого термина нажмите кнопку Заменить все.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "next_vs_all_p3": {
+ "message": "На данный момент отсутствует функция отмены. Если вы сделаете ошибку, вы можете перезагрузить страницу, чтобы восстановить исходный текст. Однако вы потеряете все несохраненные изменения в текстовых редакторах и полях ввода текста.",
+ "description": "Replace Next vs. Replace All"
+ },
+ "replace_editors": {
+ "message": "Замена текста в редакторах и текстовых полях",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "replace_editors_p1": {
+ "message": "Для замены текста в текстовых редакторах или полях ввода следует установить флажок Только поля ввода?.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "replace_editors_p3": {
+ "message": "Сюда входят обычные поля input и textarea, а также визуальные редакторы вроде TinyMCE и CKEditor. Поскольку ничего за пределами этих полей не затрагивается, это самый безопасный вариант на сложной странице и первое, что стоит попробовать, если замена, похоже, что-то сломала.",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "Настройка",
+ "description": "help"
+ },
+ "Replacing_anywhere": {
+ "message": "Замена текста в любом месте на странице",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "Чтобы заменить текст, содержащийся в HTML, в текстовом редакторе и в текстовом поле, установите флажок Заменить HTML?.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "Каждое вхождение example.com на странице переписано, включая адреса ссылок.",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "Эта настройка изменяет HTML страницы и может её сломать. Страницу можно восстановить перезагрузкой, но вы потеряете все несохранённые изменения в текстовых редакторах и полях ввода.",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "Учет регистра текста",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_case_p1": {
+ "message": "Если вам нужно заменить ЭТО, но не Это, то вы должны использовать опцию 'учитывать регистр'.",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_case_p2": {
+ "message": "В следующей настройке будет совпадать Квартира, но не квартира. Она будет заменять Квартира на квартира в текстовых полях, видимых на странице.",
+ "description": "Explanation about matching the case of text"
+ },
+ "Matching_whole": {
+ "message": "Соответствие целому слову",
+ "description": "Matching whole words"
+ },
+ "Matching_whole_p1": {
+ "message": "Если вам нужно заменить слово частичный, но не частично, то вы должны использовать опцию 'соответствие целому слову'.",
+ "description": "Matching whole words"
+ },
+ "wildcards_and_regex": {
+ "message": "Маски и регулярные выражения",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "Если вам нужно сопоставить часть искомого термина, установите флажок 'Регулярное выражение' и укажите шаблон. Для использования этой функции вам потребуется базовое знание регулярных выражений. Рекомендуется использовать regexpal для тестирования.",
+ "description": "Explanation about wild cards and regular expressions"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "В примере ниже 1\\d1 означает «единица, затем любая цифра, затем единица», что совпадает с 101, 111, 121 и так далее до 191.",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "До",
+ "description": ""
+ },
+ "After": {
+ "message": "После",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "Замена текста в WordPress",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "Блочный редактор WordPress держит вашу запись внутри собственного фрейма, отдельно от остальной админ-страницы. Расширение само заглядывает внутрь этого фрейма, поэтому особые параметры не нужны: введите термины и нажмите Заменить все.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "Если вы пользуетесь классическим редактором или конструктором страниц, у которого поля — обычные текстовые поля, сначала отметьте Только поля ввода.",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "Замена меняет то, что находится в редакторе, а не то, что сохранено. Нажмите Обновить в WordPress, чтобы сохранить изменения.",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "Редактирование записи в блочном редакторе. Никаких параметров не требуется.",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "Сохранить и применить при перезагрузке страницы",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_p1": {
+ "message": "Вы можете установить флажок Сохранить и применить при перезагрузке страницы, чтобы сохранить поиск и применять его при каждой последующей перезагрузке страницы. Это будет работать даже после того, как вы закроете и снова откроете браузер.",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "Редактирование сохранённых правил",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "Каждое сохранённое правило можно здесь отредактировать или удалить.",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "Несколько совпадающих правил",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p1": {
+ "message": "Если на одной странице применяется несколько правил, они будут применены в порядке от самого специфического к менее специфическому. Например:",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p2": {
+ "message": "Это означает, что любые изменения, внесенные первым правилом, будут передаваться последующим правилам. В приведенном выше примере текст Пример будет заменен правилом, совпадающим с http://www.example.com/a/deeper/nested/page. Последующие правила, следовательно, не будут иметь никакого влияния.",
+ "description": "Multiple Matching Rules"
+ },
+ "Save_apply_multi_p3": {
+ "message": "Сохранённые правила можно отредактировать на странице Сохраненные правила, которую открывает значок сохранения во всплывающем окне. Поле Шаблон URL — это регулярное выражение, что позволяет применять одно и то же правило к множеству разных сайтов.",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "Сообщение о проблемах",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "Не забудьте перезагрузить любую страницу, которая была уже открыта во время установки или обновления расширения. Пока она не перезагружена, расширение не может до неё добраться.",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "Если страница сломалась после использования расширения, попробуйте обновить страницу и затем установить флажки Только поля ввода? перед выполнением поиска и замены.",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "Если вы обнаружили ошибку, пожалуйста, предоставьте подробный отчет на Chrome Extension Store или на GitHub.",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "Пожалуйста, оцените расширение ★★★★★ в Chrome Store, если оно вам помогло!",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "Прежде чем сообщать о проблеме",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "Перезагрузите страницу. Страница, уже открытая в момент установки или обновления расширения, недоступна, пока её не перезагрузят.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "Служебные страницы браузера, такие как chrome://, Chrome Web Store и страница расширений, закрыты для всех расширений, поэтому там ничего заменить нельзя.",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "Если счётчик остаётся на нуле, попробуйте Скрытый контент, отключите Учитывать регистр или проверьте, не является ли текст изображением.",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "Нет сохраненных экземпляров",
+ "description": "message to tell user that no rules were found"
+ },
+ "matches": {
+ "message": "совпадения",
+ "description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "Поиск в скрытом содержимом",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "Поиск в скрытом содержимом",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "По умолчанию расширение ищет и заменяет только текст, видимый на странице. Если нужно искать и заменять текст в скрытых элементах (например, в свёрнутых разделах, скрытых блоках или элементах с display: none), отметьте параметр Скрытый контент.",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "Это особенно полезно при работе с динамическим содержимым, которое сначала скрыто, но становится видимым после действий пользователя, или когда нужно изменить скрытые поля формы.",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "Когда отмечен Скрытый контент, расширение просматривает все элементы независимо от их видимости, из-за чего число совпадений может оказаться больше.",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "«Поиск и замена» не может получить доступ к этой странице. Перезагрузите страницу и попробуйте снова.",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "Как найти текст на странице и изменить его — в обычном тексте, в полях форм, в редакторах и автоматически при каждом посещении.",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "Содержание",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "Примечание",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "Совет",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "Предупреждение",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "Отмены нет",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "Всплывающее окно с первого взгляда",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "Откройте всплывающее окно с панели инструментов или сочетанием Ctrl+Shift+S. Введите искомый текст в поле Искать, а нужную замену — в поле Заменить на, затем нажмите одну из двух кнопок внизу.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "Число под полем Искать показывает, сколько совпадений осталось на странице, и обновляется по мере ввода и замены. Ряд значков сверху открывает эту страницу справки, недавние запросы, панель «О программе», настройку языка и сохранённые правила.",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "На странице осталось четыре вхождения Condo.",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "Что делает каждый параметр",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "Каждый флажок во всплывающем окне сужает или расширяет область поиска. Их можно сочетать.",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "Находит только текст с точно таким же регистром. Если флажок снят, подходят и Condo, и condo, и CONDO.",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "Ограничивает поиск текстовыми полями, областями текста и визуальными редакторами, не трогая остальную часть страницы. Используйте его всегда, когда редактируете форму, сообщение или запись.",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "Включает элементы, которых сейчас не видно: свёрнутые панели, неактивные вкладки, меню за пределами экрана и скрытые поля форм.",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "Требует, чтобы совпадение было целым словом, поэтому partial больше не находится внутри partially.",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "Обрабатывает поисковый запрос как регулярное выражение, а не как буквальный текст.",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "Ищет в HTML-коде страницы, а не в читаемом тексте, поэтому теги, атрибуты, адреса ссылок и alt-текст тоже попадают в область поиска.",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "Сохраняет поиск как правило и применяет его снова при каждом открытии подходящей страницы, даже после перезапуска браузера.",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "Тот же поиск находит шесть совпадений вместо четырёх, когда учитываются скрытые элементы.",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "История, обмен и язык",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "Значок часов во всплывающем окне показывает недавние запросы. Нажмите на любой, чтобы вернуть его в оба поля, или нажмите Очистить, чтобы очистить список.",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "Swap между двумя полями меняет местами искомый текст и замену — удобно, чтобы отменить только что сделанную замену, если исходный текст не был введён где-то ещё на странице.",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "За значком шестерёнки находится настройка языка. Расширение переведено на английский, арабский, испанский, китайский, корейский, немецкий, португальский, русский, хинди и японский; всё, что ещё не переведено, показывается по-английски.",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "Эти запросы выполняются автоматически при каждом открытии страницы, адрес которой соответствует их шаблону URL. Шаблон — это регулярное выражение, поэтому одно правило может охватывать целый сайт.",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "Отметьте «Сохранить и применить при перезагрузке страницы» во всплывающем окне, чтобы создать правило.",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "Автор",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "Лицензия",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "Примечания к выпуску",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "Сообщить о проблеме",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "Оценить расширение",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "Здесь появятся ваши недавние запросы.",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(удалено)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/_locales/zh_CN/messages.json b/_locales/zh_CN/messages.json
index 4f163a2..3f8c533 100644
--- a/_locales/zh_CN/messages.json
+++ b/_locales/zh_CN/messages.json
@@ -1,338 +1,526 @@
{
- "ext_name": {
- "message": "搜索和替换",
- "description": "ext_name"
- },
- "ext_description": {
- "message": "在网页上查找文本并替换为不同的文本。",
- "description": "ext_description"
- },
- "options": {
- "message": "选项",
- "description": "options"
- },
- "saved_rules": {
- "message": "已保存规则",
- "description": "选项标签"
- },
- "select_language": {
- "message": "选择语言:",
- "description": "选项标签"
- },
- "settings": {
- "message": "设置",
- "description": "设置"
- },
- "about": {
- "message": "关于",
- "description": "about"
- },
- "back": {
- "message": "后背",
- "description": "Back"
- },
- "version": {
- "message": "版本",
- "description": "version"
- },
- "RuleID": {
- "message": "规则 ID",
- "description": "options"
- },
- "URLPattern": {
- "message": "URL 模式",
- "description": "options"
- },
- "SearchTerm": {
- "message": "搜索词",
- "description": "options"
- },
- "ReplaceTerm": {
- "message": "替换词",
- "description": "options"
- },
- "Delete": {
- "message": "删除",
- "description": "options"
- },
- "Save": {
- "message": "保存",
- "description": "options"
- },
- "matchCase": {
- "message": "区分大小写",
- "description": "复选框 区分大小写"
- },
- "inputFieldsOnly": {
- "message": "仅输入字段",
- "description": "复选框 仅输入字段"
- },
- "hiddenContent": {
- "message": "隐藏内容",
- "description": "复选框 仅可见内容"
- },
- "wholeWord": {
- "message": "匹配整个单词",
- "description": "复选框 匹配整个单词"
- },
- "isRegex": {
- "message": "正则表达式",
- "description": "复选框 正则表达式"
- },
- "replaceHTML": {
- "message": "替换 HTML",
- "description": "checkbox replaceHTML"
- },
- "replaceAll": {
- "message": "替换所有",
- "description": "复选框 替换所有"
- },
- "saveApplyPageReload": {
- "message": "保存并在页面重新加载时应用",
- "description": "复选框 保存"
- },
- "Searchfor": {
- "message": "搜索",
- "description": "弹出窗口"
- },
- "Swap": {
- "message": "交换 ⇅",
- "description": "弹出窗口"
- },
- "Replacewith": {
- "message": "替换为",
- "description": "弹出窗口"
- },
- "Matchcase": {
- "message": "区分大小写",
- "description": "弹出窗口"
- },
- "Inputfields": {
- "message": "仅输入字段",
- "description": "弹出窗口"
- },
- "Hiddencontent": {
- "message": "隐藏内容",
- "description": "弹出窗口"
- },
- "Matchwhole": {
- "message": "匹配整个单词",
- "description": "弹出窗口"
- },
- "Regularexpression": {
- "message": "正则表达式",
- "description": "弹出窗口"
- },
- "Saveandapply": {
- "message": "保存并在页面重新加载时应用",
- "description": "弹出窗口"
- },
- "ReplaceNext": {
- "message": "替换下一个",
- "description": "弹出窗口"
- },
- "ReplaceAll": {
- "message": "替换所有",
- "description": "弹出窗口"
- },
- "History": {
- "message": "历史记录",
- "description": "弹出窗口"
- },
- "Clear": {
- "message": "清除",
- "description": "弹出窗口"
- },
- "EditSettings": {
- "message": "编辑设置",
- "description": "弹出窗口"
- },
- "Help": {
- "message": "帮助",
- "description": ""
- },
- "help_title": {
- "message": "搜索和替换帮助页面",
- "description": "帮助"
- },
- "URL": {
- "message": "网址",
- "description": ""
- },
- "Search": {
- "message": "搜索",
- "description": ""
- },
- "Replace": {
- "message": "替换",
- "description": ""
- },
- "Priority": {
- "message": "优先级",
- "description": ""
- },
- "Example": {
- "message": "示例",
- "description": ""
- },
- "applied_first": {
- "message": "首先应用",
- "description": ""
- },
- "applied_last": {
- "message": "最后应用",
- "description": ""
- },
- "next_vs_all": {
- "message": "替换下一个 vs. 替换所有",
- "description": "替换下一个 vs. 替换所有"
- },
- "next_vs_all_p1": {
- "message": "要替换搜索词的第一个出现,按 替换下一个。您可以继续按此按钮,直到没有更多出现。",
- "description": "替换下一个 vs. 替换所有"
- },
- "next_vs_all_p2": {
- "message": "要替换搜索词的所有出现,按 替换所有。",
- "description": "替换下一个 vs. 替换所有"
- },
- "next_vs_all_p3": {
- "message": "目前没有撤销功能。如果出现错误,可以重新加载页面以恢复原始文本。但是,文本编辑器和文本输入字段中的未保存更改将丢失。",
- "description": "替换下一个 vs. 替换所有"
- },
- "replace_editors": {
- "message": "替换编辑器和文本字段中的文本",
- "description": "有关替换编辑器和文本字段中的文本的解释"
- },
- "replace_editors_p1": {
- "message": "要替换文本编辑器或输入框中的文本,您应该选中 仅输入字段? 复选框。",
- "description": "有关替换编辑器和文本字段中的文本的解释"
- },
- "replace_editors_p2": {
- "message": "要替换文本编辑器或输入框中的文本,您应该选中 仅输入字段? 复选框。否则,搜索文本将替换整个 HTML,可能破坏页面。为避免更改隐藏的输入字段,还应选中 仅更改可见元素? 复选框。",
- "description": "有关替换编辑器和文本字段中的文本的解释"
- },
- "Setup": {
- "message": "设置",
- "description": "帮助"
- },
- "Replacing_anywhere": {
- "message": "在页面上任意位置替换文本",
- "description": "在页面上任意位置替换文本的解释"
- },
- "Replacing_anywhere_p1": {
- "message": "要替換 HTML 中、文本編輯器中以及文本字段中包含的文本,您應該選中替換 HTML?。",
- "description": "在页面上任意位置替换文本的解释"
- },
- "Replacing_anywhere_p2": {
- "message": "要替换不在文本编辑器中并且不在文本字段中的文本,保持 仅输入字段? 和 仅更改可见内容? 复选框 未选中。",
- "description": "在页面上任意位置替换文本的解释"
- },
- "Replacing_anywhere_warning": {
- "message": "警告:此设置将更改页面的 HTML,可能会破坏页面。您可以通过重新加载页面来恢复页面,但将丢失文本编辑器和文本输入字段中的未保存更改。",
- "description": "在页面上任意位置替换文本的解释"
- },
- "Matching_case": {
- "message": "匹配文本的大小写",
- "description": "匹配文本的大小写的解释"
- },
- "Matching_case_p1": {
- "message": "如果您需要替换 THIS 但不替换 This,则应使用区分大小写选项。",
- "description": "匹配文本的大小写的解释"
- },
- "Matching_case_p2": {
- "message": "以下设置将匹配 Condo 但不匹配 condo。它将在页面上可见的文本字段中将 Condo 替换为 apartment。",
- "description": "匹配文本的大小写的解释"
- },
- "Matching_whole": {
- "message": "匹配整个单词",
- "description": "匹配整个单词"
- },
- "Matching_whole_p1": {
- "message": "如果您需要替换单词 partial 但不替换 partially,则应使用 匹配整个单词? 选项。",
- "description": "匹配整个单词"
- },
- "wildcards_and_regex": {
- "message": "通配符和正则表达式",
- "description": "通配符和正则表达式的解释"
- },
- "wildcards_and_regex_p1": {
- "message": "如果您需要匹配部分搜索词,您应该选中正则表达式复选框并指定通配符。您需要具备非常基本的 正则表达式 知识才能使用此功能。我推荐 regexpal 用于测试。",
- "description": "通配符和正则表达式的解释"
- },
- "Before": {
- "message": "之前",
- "description": ""
- },
- "After": {
- "message": "之后",
- "description": ""
- },
- "Replacing_wordpress": {
- "message": "在 WordPress 中替换文本",
- "description": ""
- },
- "Replacing_wordpress_p1": {
- "message": "截止到 2023 年 3 月,WordPress 的当前版本为 6.6。自此扩展创建以来,发布编辑器发生了重大变化,需要进行新的设置以替换 WordPress 中的文本。",
- "description": ""
- },
- "Replacing_wordpress_setup_w6": {
- "message": "WordPress 6+ 的设置",
- "description": ""
- },
- "Replacing_wordpress_setup_w5": {
- "message": "WordPress 5 及以下的设置",
- "description": ""
- },
- "Save_apply": {
- "message": "保存并在页面重新加载时应用",
- "description": "保存并在页面重新加载时应用"
- },
- "Save_apply_p1": {
- "message": "您可以选中 保存并在页面重新加载时应用 复选框,以保存您的搜索并在后续页面重新加载时应用它们。这些将在重新打开浏览器时生效。",
- "description": "保存并在页面重新加载时应用"
- },
- "Save_apply_multi": {
- "message": "多个匹配规则",
- "description": "多个匹配规则"
- },
- "Save_apply_multi_p1": {
- "message": "如果多个规则适用于同一页面,则规则将按 最具体 到 最不具体 的顺序应用。例如:",
- "description": "多个匹配规则"
- },
- "Save_apply_multi_p2": {
- "message": "这意味着第一个规则应用的任何更改将传递给后续规则。在上面的示例中,文本 Example 将被匹配 http://www.example.com/a/deeper/nested/page 的规则替换。因此,随后的规则将不会产生任何效果。",
- "description": "多个匹配规则"
- },
- "Save_apply_multi_p3": {
- "message": "您可以通过单击扩展弹出窗口中的 链接来编辑已保存的规则。URL 模式 字段是正则表达式,允许您将同一规则应用于许多不同的网站。",
- "description": "多个匹配规则"
- },
- "ReportingIssues": {
- "message": "报告问题",
- "description": ""
- },
- "ReportingIssuesWarning": {
- "message": "安装后,请记得在希望替换文本的页面上刷新。",
- "description": ""
- },
- "ReportingIssuesInfo": {
- "message": "如果在使用扩展后页面出现问题,请尝试刷新页面,然后选中 仅输入字段?复选框后执行搜索和替换。",
- "description": ""
- },
- "ReportingIssues_p1": {
- "message": "如果发现错误,请在 Chrome 扩展商店 或 GitHub 上提供详细的报告。",
- "description": ""
- },
- "Rate_on_store": {
- "message": "如果扩展对您有所帮助,请在 Chrome 商店上给予 ★★★★★ 评价!",
- "description": ""
- },
- "no_saved_instances": {
- "message": "没有保存的实例",
- "description": "message to tell user that no rules were found"
- },
- "matches": {
- "message": "火柴",
- "description": "message to tell user how many instances of the search term were found"
- }
+ "ext_name": {
+ "message": "搜索和替换",
+ "description": "ext_name"
+ },
+ "ext_description": {
+ "message": "在网页上查找文本并替换为不同的文本。",
+ "description": "ext_description"
+ },
+ "options": {
+ "message": "选项",
+ "description": "options"
+ },
+ "saved_rules": {
+ "message": "已保存规则",
+ "description": "选项标签"
+ },
+ "select_language": {
+ "message": "选择语言:",
+ "description": "选项标签"
+ },
+ "settings": {
+ "message": "设置",
+ "description": "设置"
+ },
+ "about": {
+ "message": "关于",
+ "description": "about"
+ },
+ "back": {
+ "message": "后背",
+ "description": "Back"
+ },
+ "version": {
+ "message": "版本",
+ "description": "version"
+ },
+ "RuleID": {
+ "message": "规则 ID",
+ "description": "options"
+ },
+ "URLPattern": {
+ "message": "URL 模式",
+ "description": "options"
+ },
+ "SearchTerm": {
+ "message": "搜索词",
+ "description": "options"
+ },
+ "ReplaceTerm": {
+ "message": "替换词",
+ "description": "options"
+ },
+ "Delete": {
+ "message": "删除",
+ "description": "options"
+ },
+ "Save": {
+ "message": "保存",
+ "description": "options"
+ },
+ "matchCase": {
+ "message": "区分大小写",
+ "description": "复选框 区分大小写"
+ },
+ "inputFieldsOnly": {
+ "message": "仅输入字段",
+ "description": "复选框 仅输入字段"
+ },
+ "hiddenContent": {
+ "message": "隐藏内容",
+ "description": "复选框 仅可见内容"
+ },
+ "wholeWord": {
+ "message": "匹配整个单词",
+ "description": "复选框 匹配整个单词"
+ },
+ "isRegex": {
+ "message": "正则表达式",
+ "description": "复选框 正则表达式"
+ },
+ "replaceHTML": {
+ "message": "替换 HTML",
+ "description": "checkbox replaceHTML"
+ },
+ "replaceAll": {
+ "message": "替换所有",
+ "description": "复选框 替换所有"
+ },
+ "saveApplyPageReload": {
+ "message": "保存并在页面重新加载时应用",
+ "description": "复选框 保存"
+ },
+ "Searchfor": {
+ "message": "搜索",
+ "description": "弹出窗口"
+ },
+ "Swap": {
+ "message": "交换 ⇅",
+ "description": "弹出窗口"
+ },
+ "Replacewith": {
+ "message": "替换为",
+ "description": "弹出窗口"
+ },
+ "Matchcase": {
+ "message": "区分大小写",
+ "description": "弹出窗口"
+ },
+ "Inputfields": {
+ "message": "仅输入字段",
+ "description": "弹出窗口"
+ },
+ "Hiddencontent": {
+ "message": "隐藏内容",
+ "description": "弹出窗口"
+ },
+ "Matchwhole": {
+ "message": "匹配整个单词",
+ "description": "弹出窗口"
+ },
+ "Regularexpression": {
+ "message": "正则表达式",
+ "description": "弹出窗口"
+ },
+ "Saveandapply": {
+ "message": "保存并在页面重新加载时应用",
+ "description": "弹出窗口"
+ },
+ "ReplaceNext": {
+ "message": "替换下一个",
+ "description": "弹出窗口"
+ },
+ "ReplaceAll": {
+ "message": "替换所有",
+ "description": "弹出窗口"
+ },
+ "History": {
+ "message": "历史记录",
+ "description": "弹出窗口"
+ },
+ "Clear": {
+ "message": "清除",
+ "description": "弹出窗口"
+ },
+ "EditSettings": {
+ "message": "编辑设置",
+ "description": "弹出窗口"
+ },
+ "Help": {
+ "message": "帮助",
+ "description": ""
+ },
+ "help_title": {
+ "message": "搜索和替换帮助页面",
+ "description": "帮助"
+ },
+ "URL": {
+ "message": "网址",
+ "description": ""
+ },
+ "Search": {
+ "message": "搜索",
+ "description": ""
+ },
+ "Replace": {
+ "message": "替换",
+ "description": ""
+ },
+ "Priority": {
+ "message": "优先级",
+ "description": ""
+ },
+ "Example": {
+ "message": "示例",
+ "description": ""
+ },
+ "applied_first": {
+ "message": "首先应用",
+ "description": ""
+ },
+ "applied_last": {
+ "message": "最后应用",
+ "description": ""
+ },
+ "next_vs_all": {
+ "message": "替换下一个 vs. 替换所有",
+ "description": "替换下一个 vs. 替换所有"
+ },
+ "next_vs_all_p1": {
+ "message": "要替换搜索词的第一个出现,按 替换下一个。您可以继续按此按钮,直到没有更多出现。",
+ "description": "替换下一个 vs. 替换所有"
+ },
+ "next_vs_all_p2": {
+ "message": "要替换搜索词的所有出现,按 替换所有。",
+ "description": "替换下一个 vs. 替换所有"
+ },
+ "next_vs_all_p3": {
+ "message": "目前没有撤销功能。如果出现错误,可以重新加载页面以恢复原始文本。但是,文本编辑器和文本输入字段中的未保存更改将丢失。",
+ "description": "替换下一个 vs. 替换所有"
+ },
+ "replace_editors": {
+ "message": "替换编辑器和文本字段中的文本",
+ "description": "有关替换编辑器和文本字段中的文本的解释"
+ },
+ "replace_editors_p1": {
+ "message": "要替换文本编辑器或输入框中的文本,您应该选中 仅输入字段? 复选框。",
+ "description": "有关替换编辑器和文本字段中的文本的解释"
+ },
+ "replace_editors_p3": {
+ "message": "这涵盖普通的 input 和 textarea 输入框,也包括 TinyMCE、CKEditor 这类富文本编辑器。由于这些字段之外的内容完全不会被改动,它是复杂页面上最安全的选项,也是替换似乎破坏了页面时应该首先尝试的选项。",
+ "description": "Explanation about replacing text in editors and text fields"
+ },
+ "Setup": {
+ "message": "设置",
+ "description": "帮助"
+ },
+ "Replacing_anywhere": {
+ "message": "在页面上任意位置替换文本",
+ "description": "在页面上任意位置替换文本的解释"
+ },
+ "Replacing_anywhere_p1": {
+ "message": "要替換 HTML 中、文本編輯器中以及文本字段中包含的文本,您應該選中替換 HTML?。",
+ "description": "在页面上任意位置替换文本的解释"
+ },
+ "Replacing_anywhere_caption": {
+ "message": "重写页面上每一处 example.com,包括链接地址。",
+ "description": "Caption for the Replace HTML screenshot"
+ },
+ "Replacing_anywhere_warning": {
+ "message": "此设置会更改页面的 HTML,可能导致页面出错。重新加载页面即可恢复,但文本编辑器和文本输入框中未保存的更改都会丢失。",
+ "description": "Explanation about replacing text anywhere on the page"
+ },
+ "Matching_case": {
+ "message": "匹配文本的大小写",
+ "description": "匹配文本的大小写的解释"
+ },
+ "Matching_case_p1": {
+ "message": "如果您需要替换 THIS 但不替换 This,则应使用区分大小写选项。",
+ "description": "匹配文本的大小写的解释"
+ },
+ "Matching_case_p2": {
+ "message": "以下设置将匹配 Condo 但不匹配 condo。它将在页面上可见的文本字段中将 Condo 替换为 apartment。",
+ "description": "匹配文本的大小写的解释"
+ },
+ "Matching_whole": {
+ "message": "匹配整个单词",
+ "description": "匹配整个单词"
+ },
+ "Matching_whole_p1": {
+ "message": "如果您需要替换单词 partial 但不替换 partially,则应使用 匹配整个单词? 选项。",
+ "description": "匹配整个单词"
+ },
+ "wildcards_and_regex": {
+ "message": "通配符和正则表达式",
+ "description": "通配符和正则表达式的解释"
+ },
+ "wildcards_and_regex_p1": {
+ "message": "如果您需要匹配部分搜索词,您应该选中正则表达式复选框并指定通配符。您需要具备非常基本的 正则表达式 知识才能使用此功能。我推荐 regexpal 用于测试。",
+ "description": "通配符和正则表达式的解释"
+ },
+ "wildcards_and_regex_p2": {
+ "message": "在下面的例子中,1\\d1 表示“一个 1,接任意数字,再接一个 1”,可以匹配 101、111、121,一直到 191。",
+ "description": "Worked example for the regular expression section"
+ },
+ "Before": {
+ "message": "之前",
+ "description": ""
+ },
+ "After": {
+ "message": "之后",
+ "description": ""
+ },
+ "Replacing_wordpress": {
+ "message": "在 WordPress 中替换文本",
+ "description": ""
+ },
+ "Replacing_wordpress_p1": {
+ "message": "WordPress 的区块编辑器把文章放在一个独立的框架里,与管理页面的其余部分分开。扩展会替你查看该框架内部,因此不需要任何特殊选项:输入搜索词,然后按替换所有即可。",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_p2": {
+ "message": "如果你使用的是经典编辑器,或者字段为普通文本框的页面构建器,请先勾选仅输入字段。",
+ "description": "Replacing text in WordPress"
+ },
+ "Replacing_wordpress_save": {
+ "message": "替换改变的是编辑器中的内容,而不是已保存的内容。之后请在 WordPress 中按更新以保存。",
+ "description": "Reminder to save the post after replacing"
+ },
+ "Replacing_wordpress_caption": {
+ "message": "在区块编辑器中编辑文章。无需任何选项。",
+ "description": "Caption for the WordPress screenshot"
+ },
+ "Save_apply": {
+ "message": "保存并在页面重新加载时应用",
+ "description": "保存并在页面重新加载时应用"
+ },
+ "Save_apply_p1": {
+ "message": "勾选保存并在页面重新加载时应用复选框,即可保存此次搜索,并在之后每次重新加载页面时自动应用。即使关闭并重新打开浏览器,它依然有效。",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_editing": {
+ "message": "编辑已保存规则",
+ "description": "Save and apply on page reload"
+ },
+ "Save_apply_rules_caption": {
+ "message": "每条已保存的规则都可以在此编辑或删除。",
+ "description": "Caption for the Saved Rules screenshot"
+ },
+ "Save_apply_multi": {
+ "message": "多个匹配规则",
+ "description": "多个匹配规则"
+ },
+ "Save_apply_multi_p1": {
+ "message": "如果多个规则适用于同一页面,则规则将按 最具体 到 最不具体 的顺序应用。例如:",
+ "description": "多个匹配规则"
+ },
+ "Save_apply_multi_p2": {
+ "message": "这意味着第一个规则应用的任何更改将传递给后续规则。在上面的示例中,文本 Example 将被匹配 http://www.example.com/a/deeper/nested/page 的规则替换。因此,随后的规则将不会产生任何效果。",
+ "description": "多个匹配规则"
+ },
+ "Save_apply_multi_p3": {
+ "message": "你可以在已保存规则页面编辑保存的规则,该页面由弹出窗口中的保存图标打开。URL 模式字段是一个正则表达式,因此同一条规则可以应用到许多不同的网站。",
+ "description": "Multiple Matching Rules"
+ },
+ "ReportingIssues": {
+ "message": "报告问题",
+ "description": ""
+ },
+ "ReportingIssuesWarning": {
+ "message": "请记得重新加载在安装或更新扩展时就已打开的页面。在重新加载之前,扩展无法访问这些页面。",
+ "description": ""
+ },
+ "ReportingIssuesInfo": {
+ "message": "如果在使用扩展后页面出现问题,请尝试刷新页面,然后选中 仅输入字段?复选框后执行搜索和替换。",
+ "description": ""
+ },
+ "ReportingIssues_p1": {
+ "message": "如果发现错误,请在 Chrome 扩展商店 或 GitHub 上提供详细的报告。",
+ "description": ""
+ },
+ "Rate_on_store": {
+ "message": "如果扩展对您有所帮助,请在 Chrome 商店上给予 ★★★★★ 评价!",
+ "description": ""
+ },
+ "Troubleshooting": {
+ "message": "报告问题之前",
+ "description": "Troubleshooting checklist heading"
+ },
+ "Troubleshooting_reload": {
+ "message": "重新加载页面。在安装或更新扩展时就已打开的页面,必须重新加载后才能访问。",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_restricted": {
+ "message": "chrome:// 开头的浏览器页面、Chrome 应用商店和扩展程序页面对所有扩展都是禁区,因此无法在那里替换任何内容。",
+ "description": "Troubleshooting checklist"
+ },
+ "Troubleshooting_nomatch": {
+ "message": "如果计数始终为零,可以尝试隐藏内容、关闭区分大小写,或者确认这段文字是不是图片。",
+ "description": "Troubleshooting checklist"
+ },
+ "no_saved_instances": {
+ "message": "没有保存的实例",
+ "description": "message to tell user that no rules were found"
+ },
+ "matches": {
+ "message": "火柴",
+ "description": "message to tell user how many instances of the search term were found"
+ },
+ "hidden_content_nav": {
+ "message": "搜索隐藏内容",
+ "description": "Navigation link for hidden content help section"
+ },
+ "hidden_content_title": {
+ "message": "搜索隐藏内容",
+ "description": "Title for hidden content help section"
+ },
+ "hidden_content_p1": {
+ "message": "默认情况下,扩展只搜索和替换页面上可见的文本。如果需要在隐藏元素(例如折叠的区块、隐藏的 div,或带有 display: none 的元素)中搜索和替换文本,请勾选隐藏内容选项。",
+ "description": "First paragraph explaining hidden content checkbox"
+ },
+ "hidden_content_p2": {
+ "message": "这在处理起初隐藏、通过用户交互才显示的动态内容时特别有用,或者当你需要修改隐藏的表单字段时。",
+ "description": "Second paragraph explaining hidden content use cases"
+ },
+ "hidden_content_note": {
+ "message": "勾选隐藏内容后,扩展会搜索所有元素而不论其是否可见,匹配数量可能因此变多。",
+ "description": "Note about hidden content behavior"
+ },
+ "pageUnreachable": {
+ "message": "搜索和替换无法访问此页面。请重新加载页面后再试。",
+ "description": "pageUnreachable"
+ },
+ "help_lede": {
+ "message": "如何在页面上查找并修改文字 — 普通文本、表单字段、编辑器,以及每次访问时自动完成。",
+ "description": "Introduction under the Help heading"
+ },
+ "Contents": {
+ "message": "目录",
+ "description": "Help page sidebar heading"
+ },
+ "Note": {
+ "message": "注意",
+ "description": "Callout label"
+ },
+ "Tip": {
+ "message": "提示",
+ "description": "Callout label"
+ },
+ "Warning": {
+ "message": "警告",
+ "description": "Callout label"
+ },
+ "No_undo": {
+ "message": "无法撤销",
+ "description": "Callout label"
+ },
+ "basics_title": {
+ "message": "弹出窗口一览",
+ "description": "Help section title"
+ },
+ "basics_p1": {
+ "message": "从工具栏或用 Ctrl+Shift+S 打开弹出窗口。在搜索中输入要查找的文字,在替换为中输入想要的文字,然后按下方两个按钮之一。",
+ "description": "Help section on the popup layout"
+ },
+ "basics_p2": {
+ "message": "搜索框下方的数字表示页面上剩余的匹配数量,会随着你输入和替换而更新。顶部的一排图标可分别打开此帮助页、最近的搜索、关于面板、语言设置和已保存的规则。",
+ "description": "Help section on the popup layout"
+ },
+ "basics_caption": {
+ "message": "页面上还剩四处 Condo。",
+ "description": "Caption for the popup overview screenshot"
+ },
+ "options_title": {
+ "message": "各选项的作用",
+ "description": "Help section title"
+ },
+ "options_p1": {
+ "message": "弹出窗口中的每个复选框都会缩小或扩大搜索范围。它们可以组合使用。",
+ "description": "Introduction to the option reference"
+ },
+ "option_matchCase_desc": {
+ "message": "只匹配大小写完全相同的文字。不勾选时,Condo、condo 和 CONDO 都会匹配。",
+ "description": "Option reference"
+ },
+ "option_inputFieldsOnly_desc": {
+ "message": "将搜索限制在文本框、文本区域和富文本编辑器内,页面其余部分保持不变。编辑表单、邮件或文章时都应使用该选项。",
+ "description": "Option reference"
+ },
+ "option_hiddenContent_desc": {
+ "message": "包含你当前看不到的元素:折叠的面板、未激活的标签页、屏幕外的菜单和隐藏的表单字段。",
+ "description": "Option reference"
+ },
+ "option_wholeWord_desc": {
+ "message": "要求匹配的是完整单词,因此 partial 不再会在 partially 中被匹配到。",
+ "description": "Option reference"
+ },
+ "option_isRegex_desc": {
+ "message": "把搜索词当作正则表达式而非字面文本来处理。",
+ "description": "Option reference"
+ },
+ "option_replaceHTML_desc": {
+ "message": "搜索页面的 HTML 源码而不是你读到的文字,因此标签、属性、链接地址和替代文本都在范围之内。",
+ "description": "Option reference"
+ },
+ "option_save_desc": {
+ "message": "把这次搜索保存为规则,并在每次打开匹配的页面时再次应用,即使重启浏览器后也有效。",
+ "description": "Option reference"
+ },
+ "hidden_content_caption": {
+ "message": "把隐藏元素计算在内后,同样的搜索找到六处而不是四处匹配。",
+ "description": "Caption for the hidden content screenshot"
+ },
+ "history_title": {
+ "message": "历史记录、交换和语言",
+ "description": "Help section title"
+ },
+ "history_p1": {
+ "message": "弹出窗口中的时钟图标会列出最近的搜索。点击其中一条即可填回两个输入框,或按清除清空列表。",
+ "description": "Help section on history"
+ },
+ "history_p2": {
+ "message": "两个输入框之间的 Swap 会互换搜索词和替换词 — 只要原文没有出现在页面的其他地方,用它撤销刚刚做过的替换非常方便。",
+ "description": "Help section on the swap button"
+ },
+ "history_p3": {
+ "message": "齿轮图标中是语言设置。该扩展已翻译成阿拉伯语、德语、俄语、韩语、葡萄牙语、日语、西班牙语、英语、印地语和中文;尚未翻译的内容会以英文显示。",
+ "description": "Help section on the language setting"
+ },
+ "saved_rules_lede": {
+ "message": "每当你打开地址与其 URL 模式匹配的页面时,这些搜索都会自动运行。模式是正则表达式,因此一条规则就能覆盖整个网站。",
+ "description": "Introduction on the Saved Rules page"
+ },
+ "no_saved_instances_hint": {
+ "message": "在弹出窗口中勾选“保存并在页面重新加载时应用”即可创建一条。",
+ "description": "Empty state on the Saved Rules page"
+ },
+ "about_author_label": {
+ "message": "作者",
+ "description": "About panel"
+ },
+ "about_licence_label": {
+ "message": "许可证",
+ "description": "About panel"
+ },
+ "about_release_notes": {
+ "message": "版本说明",
+ "description": "About panel"
+ },
+ "about_report_issue": {
+ "message": "报告问题",
+ "description": "About panel"
+ },
+ "about_rate": {
+ "message": "为此扩展评分",
+ "description": "About panel"
+ },
+ "no_history": {
+ "message": "你最近的搜索会显示在这里。",
+ "description": "Empty state of the History panel"
+ },
+ "history_removed": {
+ "message": "(已删除)",
+ "description": "Shown in the History panel when the replacement term is empty"
+ }
}
diff --git a/assets/background.png b/assets/background.png
deleted file mode 100644
index 8250829..0000000
Binary files a/assets/background.png and /dev/null differ
diff --git a/assets/brokenimage.png b/assets/brokenimage.png
deleted file mode 100644
index 792d340..0000000
Binary files a/assets/brokenimage.png and /dev/null differ
diff --git a/assets/help.html b/assets/help.html
index c1a199c..8359982 100644
--- a/assets/help.html
+++ b/assets/help.html
@@ -1,277 +1,485 @@
-
+
+
-
-
-
-
+
+
Help page for search and replace
+
-
+ These searches run automatically every time you open a page whose address matches their URL
+ pattern. The pattern is a regular expression, so one rule can cover a whole site.
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/assets/saved-rules.png b/assets/saved-rules.png
new file mode 100644
index 0000000..0b7b9db
Binary files /dev/null and b/assets/saved-rules.png differ
diff --git a/assets/saved-rules@2x.png b/assets/saved-rules@2x.png
new file mode 100644
index 0000000..1835931
Binary files /dev/null and b/assets/saved-rules@2x.png differ
diff --git a/assets/setup-basic.png b/assets/setup-basic.png
deleted file mode 100644
index 02c1697..0000000
Binary files a/assets/setup-basic.png and /dev/null differ
diff --git a/assets/setup-entire-page.png b/assets/setup-entire-page.png
deleted file mode 100644
index b4a6b96..0000000
Binary files a/assets/setup-entire-page.png and /dev/null differ
diff --git a/assets/setup-hidden-content.png b/assets/setup-hidden-content.png
new file mode 100644
index 0000000..cba6a98
Binary files /dev/null and b/assets/setup-hidden-content.png differ
diff --git a/assets/setup-hidden-content@2x.png b/assets/setup-hidden-content@2x.png
new file mode 100644
index 0000000..3626019
Binary files /dev/null and b/assets/setup-hidden-content@2x.png differ
diff --git a/assets/setup-input-fields.png b/assets/setup-input-fields.png
index 4213477..62b19bf 100644
Binary files a/assets/setup-input-fields.png and b/assets/setup-input-fields.png differ
diff --git a/assets/setup-input-fields@2x.png b/assets/setup-input-fields@2x.png
new file mode 100644
index 0000000..ee48fa4
Binary files /dev/null and b/assets/setup-input-fields@2x.png differ
diff --git a/assets/setup-match-case.png b/assets/setup-match-case.png
index 7fce5ab..bdae290 100644
Binary files a/assets/setup-match-case.png and b/assets/setup-match-case.png differ
diff --git a/assets/setup-match-case@2x.png b/assets/setup-match-case@2x.png
new file mode 100644
index 0000000..61b42ce
Binary files /dev/null and b/assets/setup-match-case@2x.png differ
diff --git a/assets/setup-regex.png b/assets/setup-regex.png
new file mode 100644
index 0000000..332eaed
Binary files /dev/null and b/assets/setup-regex.png differ
diff --git a/assets/setup-regex@2x.png b/assets/setup-regex@2x.png
new file mode 100644
index 0000000..2eab7bc
Binary files /dev/null and b/assets/setup-regex@2x.png differ
diff --git a/assets/setup-replace-html.png b/assets/setup-replace-html.png
new file mode 100644
index 0000000..d44cacf
Binary files /dev/null and b/assets/setup-replace-html.png differ
diff --git a/assets/setup-replace-html@2x.png b/assets/setup-replace-html@2x.png
new file mode 100644
index 0000000..91a70f4
Binary files /dev/null and b/assets/setup-replace-html@2x.png differ
diff --git a/assets/setup-save-rule.png b/assets/setup-save-rule.png
new file mode 100644
index 0000000..9a24edc
Binary files /dev/null and b/assets/setup-save-rule.png differ
diff --git a/assets/setup-save-rule@2x.png b/assets/setup-save-rule@2x.png
new file mode 100644
index 0000000..b9a7d7d
Binary files /dev/null and b/assets/setup-save-rule@2x.png differ
diff --git a/assets/setup-whole-word.png b/assets/setup-whole-word.png
index d7491f4..06f9d14 100644
Binary files a/assets/setup-whole-word.png and b/assets/setup-whole-word.png differ
diff --git a/assets/setup-whole-word@2x.png b/assets/setup-whole-word@2x.png
new file mode 100644
index 0000000..bfd03d2
Binary files /dev/null and b/assets/setup-whole-word@2x.png differ
diff --git a/assets/setup-wildcard.png b/assets/setup-wildcard.png
deleted file mode 100644
index 37b3754..0000000
Binary files a/assets/setup-wildcard.png and /dev/null differ
diff --git a/assets/setup-wordpress-6.png b/assets/setup-wordpress-6.png
deleted file mode 100644
index cf8d97f..0000000
Binary files a/assets/setup-wordpress-6.png and /dev/null differ
diff --git a/assets/setup-wordpress.png b/assets/setup-wordpress.png
index c2537ba..f262e8a 100644
Binary files a/assets/setup-wordpress.png and b/assets/setup-wordpress.png differ
diff --git a/assets/setup-wordpress@2x.png b/assets/setup-wordpress@2x.png
new file mode 100644
index 0000000..ec8970b
Binary files /dev/null and b/assets/setup-wordpress@2x.png differ
diff --git a/assets/start-basic.png b/assets/start-basic.png
deleted file mode 100644
index e6002bf..0000000
Binary files a/assets/start-basic.png and /dev/null differ
diff --git a/assets/start-case.png b/assets/start-case.png
deleted file mode 100644
index 3f3f636..0000000
Binary files a/assets/start-case.png and /dev/null differ
diff --git a/assets/start-wildcard.png b/assets/start-wildcard.png
deleted file mode 100644
index 91b0eb9..0000000
Binary files a/assets/start-wildcard.png and /dev/null differ
diff --git a/assets/start-wordpress.png b/assets/start-wordpress.png
deleted file mode 100644
index 26c92c7..0000000
Binary files a/assets/start-wordpress.png and /dev/null differ
diff --git a/assets/style.css b/assets/style.css
index 967fbb6..dfbe535 100644
--- a/assets/style.css
+++ b/assets/style.css
@@ -7,6 +7,7 @@
--sr-text: #444;
--sr-muted: #6b6b6b;
--sr-accent: #333;
+ --sr-accent-soft: #9a9a9a;
--sr-border: #cfcfcf;
--sr-hover-bg: #ccc;
--sr-button-bg: #ddd;
@@ -64,22 +65,71 @@ a {
width: 320px;
}
+/* History list. Each entry used to be a bare "term -> term" string on an alternating white and
+ grey stripe, which neither matched the popup's palette nor coped with a term long enough to
+ run past the edge of the popup. Entries are now cards that wrap. */
+
+/* Chrome caps a popup at 600px and then scrolls the whole thing, header and buttons included.
+ Ten entries are taller than that, so the list scrolls within itself and the rest of the panel
+ stays put. */
#historyList {
+ display: flex;
+ flex-direction: column;
+ gap: var(--sr-space-xs);
+ max-height: 380px;
+ overflow-y: auto;
+ margin: 0;
padding-inline-start: 0;
}
-#historyList li {
+.history-item {
list-style-type: none;
- font-size: 13px;
- padding: var(--sr-space-sm);
margin: 0;
- border-radius: 3px;
+ padding: 6px var(--sr-space-sm);
+ font-size: 13px;
+ background-color: var(--sr-surface);
+ border: 1px solid var(--sr-border);
+ border-radius: 6px;
+ cursor: pointer;
}
-#historyList li:hover {
- color: var(--sr-accent);
- cursor: pointer;
+.history-item:hover {
background-color: var(--sr-hover-bg);
+ border-color: var(--sr-accent-soft);
+}
+
+.history-item__terms {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: baseline;
+ gap: 0 6px;
+}
+
+/* A search term can be any length and need not contain a space, so it has to be allowed to break
+ mid-word rather than push the popup wider */
+.history-item__term {
+ overflow-wrap: anywhere;
+ min-width: 0;
+}
+
+.history-item__term--empty {
+ color: var(--sr-muted);
+ font-style: italic;
+}
+
+.history-item__arrow {
+ color: var(--sr-muted);
+}
+
+.history-item__options {
+ margin-top: 2px;
+ font-size: 11px;
+ color: var(--sr-muted);
+}
+
+.history-empty {
+ margin: 0 0 var(--sr-space-sm);
+ color: var(--sr-muted);
}
#content {
@@ -133,33 +183,43 @@ a {
margin-top: var(--sr-space-sm);
}
+/* The count gives up its space first: it can wrap, where the Swap button label cannot */
#searchTermCount {
color: var(--sr-muted);
text-align: left;
+ min-width: 0;
}
#swapTerms {
+ flex: none;
width: auto;
+ max-width: 60%;
padding: 2px var(--sr-space-sm);
font-size: 12px;
line-height: 1.6;
white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
}
-/* The option checkboxes read as one group, set apart from the fields above them */
+/* The option checkboxes read as one group, set apart from the fields above them.
+ The spacing is deliberately tight: in German, Spanish and Russian the longer labels wrap onto
+ a second line, and the form was tipping over the 600px at which Chrome starts scrolling the
+ whole popup. */
.options-group {
- margin-top: var(--sr-space-lg);
- padding-top: var(--sr-space-lg);
+ margin-top: var(--sr-space-md);
+ padding-top: var(--sr-space-md);
border-top: 1px solid var(--sr-border);
}
.options-group .form-check {
- margin-bottom: var(--sr-space-xs);
+ margin-bottom: 2px;
min-height: auto;
}
+/* Bootstrap's .mb-3 on the last checkbox is 16px of dead space above the footer */
.options-group .form-check:last-child {
- margin-bottom: 0;
+ margin-bottom: 0 !important;
}
.options-group .form-check-label {
@@ -182,6 +242,64 @@ a {
margin-bottom: var(--sr-space-md);
}
+/* About panel */
+
+.about-identity {
+ display: flex;
+ align-items: center;
+ gap: var(--sr-space-md);
+ margin-bottom: var(--sr-space-md);
+}
+
+.about-version {
+ color: var(--sr-muted);
+}
+
+#aboutSection p {
+ margin-bottom: var(--sr-space-md);
+}
+
+/* Author and licence, as label/value pairs rather than prose */
+.about-meta {
+ display: grid;
+ grid-template-columns: auto 1fr;
+ gap: var(--sr-space-xs) var(--sr-space-md);
+ margin: 0 0 var(--sr-space-lg);
+ padding-top: var(--sr-space-md);
+ border-top: 1px solid var(--sr-border);
+}
+
+.about-meta dt {
+ color: var(--sr-muted);
+ font-weight: 400;
+}
+
+.about-meta dd {
+ margin: 0;
+}
+
+.about-links {
+ margin: 0;
+ padding: var(--sr-space-md) 0 0;
+ list-style: none;
+ border-top: 1px solid var(--sr-border);
+}
+
+.about-links li {
+ padding: var(--sr-space-xs) 0;
+}
+
+.about-links a,
+.about-meta a {
+ text-decoration: underline;
+ text-underline-offset: 2px;
+}
+
+.about-links a:hover,
+.about-meta a:hover {
+ color: #000;
+}
+
.shadow-top {
box-shadow: 0 -2px 4px rgba(0, 0, 0, 0.1); /* Adjust values as needed */
}
@@ -191,14 +309,22 @@ a {
border-top-right-radius: 12px;
}
-/* Title block in the header: logo and name on one baseline, never wrapped */
+/* Title block in the header: logo and name on one baseline, never wrapped. It is allowed to
+ shrink so that a long translation of the extension name is trimmed rather than pushing the
+ row of icons past the edge of the popup. */
.display-flow {
display: flex;
align-items: center;
gap: var(--sr-space-sm);
+ min-width: 0;
white-space: nowrap;
}
+.display-flow span {
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
.cursor-point {
cursor: pointer;
}
@@ -283,19 +409,27 @@ a {
gap: var(--sr-space-md);
}
+/* The labels have to be allowed to wrap: "Reemplazar Siguiente" and "Заменить следующее" are
+ wider than half the popup, and nowrap pushed them straight off the right-hand edge. The row
+ stretches its items, so a button that takes two lines makes both buttons taller rather than
+ leaving them mismatched, which is what the nowrap was there to prevent. */
#replaceNext,
#replaceAll {
- flex: 1 1 0;
- white-space: nowrap;
- padding: var(--sr-space-sm);
-}
-
-.historyRow-0 {
- background-color: #f5f5f5;
-}
-
-.historyRow-1 {
- background-color: #eee;
+ /* `auto` rather than `0` for the basis: the buttons start from the width of their own label
+ and only share the leftover space, so a longer translation is not forced to wrap while
+ there is still room in the row */
+ flex: 1 1 auto;
+ /* Without this the blanket `button { width: 100% }` above makes the auto basis resolve to
+ the full row width for both buttons, so they always shrink back to exact halves */
+ width: auto;
+ min-width: 0;
+ padding: var(--sr-space-sm) var(--sr-space-sm);
+ /* Bootstrap's 16px is oversized next to the popup's 13px body text, and the 6% it gives back
+ is the difference between one line and two for several translations */
+ font-size: 15px;
+ line-height: 1.25;
+ text-wrap: balance;
+ overflow-wrap: anywhere;
}
#clearHistory {
diff --git a/package.json b/package.json
index 495714c..ab9531b 100644
--- a/package.json
+++ b/package.json
@@ -10,6 +10,7 @@
"build": "node scripts/build.mjs",
"build:dev": "node scripts/build.mjs --dev",
"release": "npm run build && mkdir -p releases && cd dist && zip -qr ../releases/search_and_replace_$npm_package_version.zip .",
+ "screenshots": "node scripts/screenshots.mjs",
"start": "light-server --no-reload -s . -p 9000 -w \"**/*.html,**/*.css,**/*.js,**/*.gz\"",
"typecheck": "tsc --noEmit && tsc --noEmit --project tsconfig.test.json && tsc --noEmit --project src/cypress/tsconfig.json",
"lint": "eslint 'src/**/*.ts' 'scripts/*.mjs'",
diff --git a/scripts/merge-locale.mjs b/scripts/merge-locale.mjs
new file mode 100644
index 0000000..199dd25
--- /dev/null
+++ b/scripts/merge-locale.mjs
@@ -0,0 +1,50 @@
+// Merges translated messages into a locale file and reorders it to match _locales/en.
+//
+// Reads a JSON document on stdin of the shape:
+// { "de": { "key": "translated message", ... }, "es": { ... } }
+//
+// Keys keep the `description` from the English file, so the locale files stay comparable, and
+// the output is ordered exactly like English to make diffing a translation against the source
+// straightforward.
+//
+// Usage: node scripts/merge-locale.mjs < translations.json
+import { dirname, resolve } from 'node:path'
+import { fileURLToPath } from 'node:url'
+import { readFile, writeFile } from 'node:fs/promises'
+
+const root = resolve(dirname(fileURLToPath(import.meta.url)), '..')
+
+async function readStdin() {
+ const chunks = []
+ for await (const chunk of process.stdin) chunks.push(chunk)
+ return Buffer.concat(chunks).toString('utf8')
+}
+
+const translations = JSON.parse(await readStdin())
+const english = JSON.parse(await readFile(resolve(root, '_locales/en/messages.json'), 'utf8'))
+
+for (const [locale, messages] of Object.entries(translations)) {
+ const path = resolve(root, `_locales/${locale}/messages.json`)
+ const existing = JSON.parse(await readFile(path, 'utf8'))
+
+ for (const [key, message] of Object.entries(messages)) {
+ if (!(key in english)) {
+ throw new Error(`${locale}: "${key}" is not a key in _locales/en/messages.json`)
+ }
+ existing[key] = { message, description: english[key].description ?? '' }
+ }
+
+ const ordered = {}
+ for (const key of Object.keys(english)) {
+ if (key in existing) ordered[key] = existing[key]
+ }
+ // Anything the locale has that English no longer does would only ever be dead weight
+ const dropped = Object.keys(existing).filter((key) => !(key in english))
+
+ await writeFile(path, `${JSON.stringify(ordered, null, 4)}\n`)
+ console.log(
+ `${locale}: ${Object.keys(messages).length} merged, ${Object.keys(ordered).length}/${
+ Object.keys(english).length
+ } translated` + (dropped.length ? `, dropped ${dropped.join(', ')}` : '')
+ )
+}
diff --git a/scripts/screenshots.mjs b/scripts/screenshots.mjs
new file mode 100644
index 0000000..85e2c62
--- /dev/null
+++ b/scripts/screenshots.mjs
@@ -0,0 +1,515 @@
+// Regenerates the screenshots that assets/help.html embeds.
+//
+// The popup shots are taken from assets/popup.html itself, so they can never drift from the
+// real markup or from style.css the way hand-captured images did: the previous set still
+// showed a green-and-white popup that was never shipped.
+//
+// popup.js is stripped out (it needs the chrome.* APIs) and replaced with a small harness that
+// puts the popup into the state each shot is meant to illustrate and names the element to crop
+// to, so the images come out as the popup alone with nothing around it.
+//
+// Usage:
+// npm run screenshots regenerate every shot
+// node scripts/screenshots.mjs setup-regex regenerate the named shots only
+import { dirname, resolve } from 'node:path'
+import { execFile, spawn } from 'node:child_process'
+import { fileURLToPath } from 'node:url'
+import { mkdtemp, readFile, rm, writeFile } from 'node:fs/promises'
+import { promisify } from 'node:util'
+import { tmpdir } from 'node:os'
+
+const run = promisify(execFile)
+const root = resolve(dirname(fileURLToPath(import.meta.url)), '..')
+const assets = resolve(root, 'assets')
+
+// The harness files have to sit in assets/ so that the relative hrefs in popup.html (bootstrap,
+// style.css, the icons) resolve. They are removed again when the script finishes.
+const harnessPath = (name) => resolve(assets, `.screenshot-harness-${name}.html`)
+
+// Every shot is written once per density, for the `srcset` pair in help.html
+const DENSITIES = [1, 2]
+const POPUP_WIDTH = 320
+
+const CHROME_CANDIDATES = ['google-chrome', 'google-chrome-stable', 'chromium', 'chromium-browser']
+
+/**
+ * Popup shots. `count` is the text of the match counter between the two fields; leave it out
+ * for the states where the popup has not counted anything yet.
+ */
+const POPUP_SHOTS = [
+ {
+ name: 'popup-overview',
+ searchTerm: 'Condo',
+ replaceTerm: 'apartment',
+ count: '4 matches',
+ checked: [],
+ },
+ {
+ name: 'setup-input-fields',
+ searchTerm: 'Condo',
+ replaceTerm: 'apartment',
+ count: '2 matches',
+ checked: ['inputFieldsOnly'],
+ },
+ {
+ name: 'setup-match-case',
+ searchTerm: 'Condo',
+ replaceTerm: 'apartment',
+ count: '3 matches',
+ checked: ['matchCase'],
+ },
+ {
+ name: 'setup-whole-word',
+ searchTerm: 'partial',
+ replaceTerm: 'complete',
+ count: '2 matches',
+ checked: ['wholeWord'],
+ },
+ {
+ name: 'setup-hidden-content',
+ searchTerm: 'Condo',
+ replaceTerm: 'apartment',
+ count: '6 matches',
+ checked: ['hiddenContent'],
+ },
+ {
+ name: 'setup-regex',
+ searchTerm: '1\\d1',
+ replaceTerm: '101',
+ count: '10 matches',
+ checked: ['isRegex'],
+ },
+ {
+ name: 'setup-replace-html',
+ searchTerm: 'example.com',
+ replaceTerm: 'example.org',
+ count: '7 matches',
+ checked: ['replaceHTML'],
+ },
+ {
+ name: 'setup-wordpress',
+ searchTerm: 'Hello world',
+ replaceTerm: 'Something else',
+ count: '3 matches',
+ checked: [],
+ },
+ {
+ name: 'setup-save-rule',
+ searchTerm: 'Condo',
+ replaceTerm: 'apartment',
+ count: '4 matches',
+ checked: ['save'],
+ },
+]
+
+async function findChrome() {
+ for (const candidate of CHROME_CANDIDATES) {
+ try {
+ await run('which', [candidate])
+ return candidate
+ } catch {
+ // try the next one
+ }
+ }
+ throw new Error(`No Chrome binary found. Tried: ${CHROME_CANDIDATES.join(', ')}`)
+}
+
+/**
+ * A very small DevTools Protocol client.
+ *
+ * `--screenshot` on the command line cannot be used here: under `--headless=new` the viewport
+ * comes out roughly 87 CSS pixels shorter than the requested `--window-size`, so the popup's
+ * footer fell off the bottom of every image while the file itself was the full requested size.
+ * Page.captureScreenshot takes an explicit clip rectangle, which crops to the element exactly.
+ */
+class Browser {
+ constructor(proc, socket, profileDir) {
+ this.proc = proc
+ this.socket = socket
+ this.profileDir = profileDir
+ this.nextId = 1
+ this.pending = new Map()
+ this.listeners = new Set()
+ socket.addEventListener('message', (event) => {
+ const message = JSON.parse(event.data)
+ if (message.id !== undefined) {
+ const { resolve, reject } = this.pending.get(message.id) ?? {}
+ this.pending.delete(message.id)
+ message.error ? reject?.(new Error(JSON.stringify(message.error))) : resolve?.(message.result)
+ } else {
+ for (const listener of this.listeners) listener(message)
+ }
+ })
+ }
+
+ static async launch(bin) {
+ const profileDir = await mkdtemp(resolve(tmpdir(), 'sr-screenshots-'))
+ const proc = spawn(
+ bin,
+ [
+ '--headless=new',
+ '--no-sandbox',
+ '--disable-gpu',
+ '--hide-scrollbars',
+ '--disable-lcd-text',
+ '--allow-file-access-from-files',
+ `--user-data-dir=${profileDir}`,
+ '--remote-debugging-port=0',
+ 'about:blank',
+ ],
+ { stdio: ['ignore', 'ignore', 'pipe'] }
+ )
+
+ const endpoint = await new Promise((resolveEndpoint, rejectEndpoint) => {
+ let output = ''
+ const timer = setTimeout(() => rejectEndpoint(new Error(`Chrome did not start:\n${output}`)), 30_000)
+ proc.stderr.on('data', (chunk) => {
+ output += chunk
+ const match = output.match(/ws:\/\/\S+/)
+ if (match) {
+ clearTimeout(timer)
+ resolveEndpoint(match[0])
+ }
+ })
+ proc.on('exit', (code) => {
+ clearTimeout(timer)
+ rejectEndpoint(new Error(`Chrome exited with ${code}:\n${output}`))
+ })
+ })
+
+ const socket = new WebSocket(endpoint)
+ await new Promise((ready, failed) => {
+ socket.addEventListener('open', ready, { once: true })
+ socket.addEventListener('error', () => failed(new Error('Could not connect to Chrome')), { once: true })
+ })
+ return new Browser(proc, socket, profileDir)
+ }
+
+ send(method, params = {}, sessionId) {
+ const id = this.nextId++
+ return new Promise((resolve, reject) => {
+ this.pending.set(id, { resolve, reject })
+ this.socket.send(JSON.stringify({ id, method, params, sessionId }))
+ })
+ }
+
+ once(method, sessionId) {
+ return new Promise((resolve) => {
+ const listener = (message) => {
+ if (message.method === method && message.sessionId === sessionId) {
+ this.listeners.delete(listener)
+ resolve(message.params)
+ }
+ }
+ this.listeners.add(listener)
+ })
+ }
+
+ /**
+ * Renders `url` and writes the crop region to `
+ These searches run automatically every time you open a page whose address matches their URL
+ pattern. The pattern is a regular expression, so one rule can cover a whole site.
+
+
+
+ ${rule(1, 'https://www\\.example\\.com/.*', 'Condo', 'apartment', ['Match case'])}
+ ${rule(
+ 2,
+ // Deliberately longer than the card, to show that the fields wrap
+ 'https://en\\.wikipedia\\.org/wiki/List_of_numbers\\?action=view§ion=.*',
+ '1\\d1',
+ '101',
+ ['Regular expression']
+ )}
+
+
+
+
+
')
+
+ const harness = `
+
+
+ `
+
+ return body.replace('', harness)
+}
+
+/**
+ * The saved rules page. The card markup mirrors instanceToHTML() in src/options.ts, which
+ * cannot be imported here because it is TypeScript and needs the chrome.* APIs to run.
+ */
+function rulesHarness() {
+ const rule = (id, url, searchTerm, replaceTerm, checked) => `
+