Note: For the documentation, seeHelp:VisualFileChange.js. This talk page is for comments, feedback and desires to the developers of this gadget.
| SpBotarchives all sections tagged with{{Section resolved|1=~~~~}} after 5 days. For the archive overview, seeArchive/. The latest archive is located atArchive/2025. | |
Kleiner Text
Make VFC save it's preferences (profiles) in another js file, not in user's common.js. File history is flooded and maybe people want to not keep profiles forever - if profiles are stored in a page like/VFC.js or/VFCpreferences.js, it can be easily deleted from time to time. --XXN,12:26, 6 April 2016 (UTC)
Make it possible to change uploader name in VFC interface without reloading page - this helps preserving settings (especially patterns for search-replace).
Make it possible to re-run a task in VFC interface without reloading page - this is usefull especially when you have constructed a complex regex pattern and forgot to escape a char or added some extra elemens, etc. --XXN,15:27, 6 April 2016 (UTC)
Hi, It would be very useful that VFS shows the source mentioned (3 categories: own, external, others, with the details shown when the mouse over). Regards,Yann (talk)13:50, 20 May 2019 (UTC)
Please seeCommons:Village pump#Is VisualFileChange.js broken?. VFC seems to be broken both on Firefox and Chromium.pandakekok904:14, 21 April 2020 (UTC)
Copy from Village Pump, cf.Special:PermaLink/413729721#Is VisualFileChange.js broken?:
Is VisualFileChange.js broken? Or is it just me? Tried to fire it off fromhttps://commons.wikimedia.org/w/index.php?title=Special:Search&limit=500&offset=0&ns0=1&ns6=1&ns9=1&ns12=1&ns14=1&ns100=1&ns106=1&search=Soule+Seattle&advancedSearch-current=%7B%7D&searchToken=rqss1robfm3r14vwivcvqno7 because I wanted to globally replace{{en|Soule, John P.}} with{{Creator:John P. Soule}}. The problem came while VisualFileChange was loading files, so I never even got to that command. The error message began in red at left, and ran off the bottom of the window in a manner that made it unreadable, something beginning "ERROR: NO TASK DESCR FOR". Looking with the Firefox web inspector, it looks like it's "-- No TASK DESCR. FOR mdFormattNumber PLEASE ADD IT -- ##### TypeError: pg.revisions[0] is undefined:" -Jmabel !talk03:04, 21 April 2020 (UTC)
|
Last edit was byKwj2772 (Special:Diff/390024004/404078565). PerhapsKrinkle has a clue? Are there recent changes that potentially affect the massively used gadget? It’s very pity that the most (and for a very long only) active admins regarding Javascript are not active for months or no admin anymore. — Speravir – 23:28, 21 April 2020 (UTC)
I don’t have much time to look into this right now, butto reproduce: openthis URL (loads the gadget even if you don’t have it enabled usually), click “perform batch task” in the sidebar, click “proceed” in the “What user or category is this action about?” popup, scroll down in the results list a few times. The error is thrown atMediaWiki:Gadget-VisualFileChange.js/ui.js,mdQueriedFile function; the API appears to return an emptyrevisions array for page ID84973088. --Lucas Werkmeister (talk)09:53, 22 April 2020 (UTC)
"continue" part of the response includes"rvcontinue": "84973088|409097305", i. e. the API hasn’t finished returning revisions for this file (that’s the same page ID there); b) that file has a lot of metadata in the imageinfo, with the “pages” metadata containing some 742 entries (one per page). It looks like the gadget assumes that, if a query API response includes a file, then it will also include revisions for that file, but I don’t think that’s true in general: with continuation, the response data for a file can be split across multiple API responses, and it looks like that’s happened here – the large amount of imageinfo metadata has pushed the revisions data for this into the next response, causing VFC to fail when processing the first response (because it expects the revisions to be there already). --Lucas Werkmeister (talk)10:10, 22 April 2020 (UTC)Error: -- NO TASK DESCR. FOR mdFormattNumber PLEASE ADD IT -- ##### TypeError: pg.revisions[0] is undefined.pg.revisions[0] is undefined) – maybe the workaround wasn’t loaded correctly. --Lucas Werkmeister (talk)08:07, 23 April 2020 (UTC)
I usually use VFC to tag recent files that have no licence as "no-license". To do that, I first use a custom RegEx to exclude files that already have a copyright-related tag (copyvio, speedy, no license, no permission, no source, OTRS, DR etc.). Thanks toAntiCompositeNumber onFile:"Катюша" на базе "Виллиса".jpg (diff), I realized that there are possible false negatives. I tried reproducing it, and, for the third time, VFC doesn't exclude this file (even though its source code matches the RegEx). I tried testing the RegEx onregex101, and the result shows there is no problem with the RegEx/source code. On the other hand, it's clear that VFC knows the file is tagged (it has a[!]), so I think VFC can read the source code properly. Is this normal for VFC? Thanks.Ahmadtalk09:15, 21 May 2020 (UTC)
([Cc]opyvio|[Nn]o (license|permission|source) since|[Ss]peedy|SD|[Dd]elete|[Cc][Cc][- ]|GFDL|PD\-|OTRS|otrs|[Ff]lickr). To reproduce, selectCategory:Media uploaded without a license as of 2020-05, using VFC, use this regex to select files, and then invert selection.Ahmadtalk09:51, 22 May 2020 (UTC)[- ], this means “any sign, but not a space char”\{\{\s*([Cc]opyvio|[Nn]o license (since|own work)|[Nn]o (permission|source) since|[Ss]peedy|[Ss]pd|[Qq]D|[Ss]D|[Dd]elete|[Cc][Cc](-|0|by)|[Gg]FDL|[Pp]D-|[Oo](TRS|trs)|[Pp]ermissionOTRS|[Ff]lickr)MediaWiki:VisualFileChange.js. Is this worth script updates? — Speravir – 21:27, 13 June 2020 (UTC)Perform batch task on a user. If VFC can somehow check the user talk page for presence of{{End of copyvios}}, and display a warning or an icon to signify a positive result, that will help a lot with anti-copyvio work.--Roy17 (talk)14:03, 16 June 2020 (UTC)
I am trying to use VFC to disperse some items fromCategory:FEDLINK_-_United_States_Federal_Collection to a new category, by doing what should be a simple search and replace.
However when I set this up in VFC, using the custom replace option, and then click on Execute. Absolutely NOTHING happens despite a number of files being selected?
What am I doing wrong, or is VFC unable to do the tasks it claims to support?ShakespeareFan00 (talk)20:50, 25 June 2020 (UTC)
VFC fails to indicate, why no files have actually been changed (and I did check my contributions to make sure.)Why is VFC failing to match the search string, and thus not change any pages despite them being selected,? Thanks.ShakespeareFan00 (talk)11:55, 26 June 2020 (UTC)
I have a very specifc search and replace query I run to do a category replace.
Entering the relevant patterns each time and the 'advanced search' filter is time-consuming.
It would be nice to save these options so they can be recalled directly. Saving a 'profile' did not seem to do this.ShakespeareFan00 (talk)08:40, 26 June 2020 (UTC)
Hi, thanks for this tool, I've been giving it a lot of use lately putting categorization onto the ANEFO photographer uploads (splitting down >10k file categories into something smaller). I have several bugs and recommendations.
Here's one. I want to work onCategory:1963 in Leiden, look for files within that which are also inCategory:Photographs by Gerard Dukker and then move them toCategory:Photographs by Gerard Dukker in Leiden (1963). It works, I've moved a few hundred files across.
To choose the files involved, I useAdvanced Select Files |In Category "Photographs by Gerard Dukker". Then a couple of regexes for the changes.
But left behind after the run are a handful of images which don't get selected (five windmills). One isFile:Molen "De Herder" - Leiden - 20137620 - RCE.jpg Can anyone see the problem? I can see the category from the list, and if it's selected, I can move it with the same regexes.
I have had problems when searching for categories to change with regexes, if they're the last thing in the file description and there's no whitespace following. But that doesn't seem to be the problem here, and I'd expect this selection to be working from the database, not the wikitext.
ThanksAndy Dingley (talk)13:31, 23 October 2020 (UTC)
I'm mostly working with categories that have >200 files. To load all of them, so that I can run an auto-select, I have to scroll past the first 100 using the down-arrow button, then keep scrolling. After a few scrolls, the file count often randomly jumps up by a few hundred (but the files seem to load OK). In some cases I can scroll indefinitely, re-loading what's clearly the last page or two of them over and over, but with continually increasing numbers.
Andy Dingley (talk)16:34, 23 October 2020 (UTC)
I'm using regexes to modify categories. There seem to be problems when that category is at the last line of the wikitext for the file, i.e. the regex runs into an EOF rather than an EOL.Andy Dingley (talk)16:36, 23 October 2020 (UTC)
Moved fromHelp talk:VisualFileChange.js
Hello.Bogomolov.PL told me at my talkpage to stop giving DR notices (on FOP related DR's) on his talk page, because he wasn't the true uploader of the affected file/s (e.g.File:Astana-concerthall.jpg). Rather he just made some modifications like cropping and adjusting of contrast. I explained to him that this may be how this gadget works - it sends notices even to those who are not uploaders (but those who modified those files). Is there a way to fix the gadget's mechanism so thatonly theoriginal uploader will be notified andnot those who made modifications on the DR-ed files?JWilz12345(Talk|Contrib's.)13:23, 1 January 2021 (UTC)
for some reason stopped working today, tried different browsers. You can reproduce if you go to my contributions (for example) and "perform batch task" by user's contributions. It stays frozen on a stage "Retrieving file-list from server", other generators seem to be working. Error shown is:
Error:An error occurred while querying the upload-list. ##### API request failed (internal_api_error_DBQueryDisconnectedError): [88e0d6ae-b1ec-4378-99db-8c9c82fa285b] Caught exception of type Wikimedia\Rdbms\DBQueryDisconnectedError
rubin16 (talk)09:36, 6 May 2021 (UTC)
Error:An error occurred while querying the upload-list. ##### API request returned code 504 error. Error code is
{{Edit request}}Hi, today the PermissionOTRS template has been moved to{{PermissionTicket}} because of the OTRS to VRTS renaming process; e.g. seePhab:T280392 andPhab:T280397. It is possible to update the gadget to use the new name of the permission template? Thanks --Ruthven(msg)20:17, 11 May 2021 (UTC)
VFS doesn't load for me anymore. Console shows error message "Uncaught SyntaxError: illegal character U+001F". --Discostu (talk)11:01, 2 June 2021 (UTC)
{{Editprotect}}to use vfc on a MediaSearch result page, i think we can simply change line 272 ofMediaWiki:Gadget-VisualFileChange.js/core.js to sth like "... === 'Search' or 'MediaSearch'". i dont know js syntax. you get the idea.--RZuo (talk)12:51, 5 June 2021 (UTC)
if ( mw.config.get( 'wgCanonicalSpecialPageName' ) === ('Search' || 'MediaSearch') ) {
probably this.--RZuo (talk)11:46, 21 June 2021 (UTC)
I'm missing an option to select uncategorized files. That would be really helpful. --Hjart (talk)10:01, 25 July 2021 (UTC)
Hello, @Janbery was trying to use VFC to do a mass replacement on a lot of files. On certain files, an API errormissingparam was reported, with MW complaining thatAt least one of the parameters \"text\", \"appendtext\", \"prependtext\" and \"undo\" is required. Network tab in devtools confirmed VFC omitted that param for two files for some reason. See[1] for an example API request made by the tool. Can you please look into this, and fix the bug? Thank you!Martin Urbanec (talk)17:38, 8 October 2021 (UTC)
To whom it may concern
When I want to make changes with VisualFileChange, it always says "Note: New jobs cannot be made without restarting VisualFileChange" and no changes are made.
Question: How can I perform a restart of VisualFileChange?
--F. Riedelio • talk17:06, 8 December 2021 (UTC)
Please make it possible to change the default pagename for deletion requests. For example I couldn't overrideCommons:Deletion requests/Files found with intitle:/Ursa/i logo toCommons:Deletion requests/Ursa logos, only the heading.Jonteemil (talk)20:55, 20 January 2022 (UTC)
i guess codes about "requestPage" inMediaWiki:Gadget-VisualFileChange.js/exec.js need to be edited for this.--RZuo (talk)00:10, 6 July 2023 (UTC)
Maybe that I made something wrong or did not understand it; and I cannot find postings from other users about that problem.
Whatever I am trying, no matter whether I define the 'pattern to match' in plain text or as a Regex, VFCdoes not find tags as e.g.</source> or</syntaxhighlight>.
What can I do when I need to replace such patterna? -- sarang♥사랑09:36, 19 February 2022 (UTC)
Special:Contributions/NNU-10-24100108. "Script cannot find any file / initial upload in / by NNU-10-24100108."--RZuo (talk) 07:14, 31 March 2022 (UTC)HiRZuo, for me it works (now). Can you please re-test? --Arnd 🇺🇦 (talk)18:40, 26 April 2022 (UTC)
some files have errors that cause them to seemingly transclude template:1879.
use vfc, search query mode, "hastemplate:1879", finds 89 such files.
choose advanced select, put{{PD-1923|1879}} into "Wikitext matches (RegExpr)", it can only select 73 files. i also tried a regex as greedy asPD.*1879, but could only select the same 73 files. example files that could not be selected by this filter:File:Brooklyn Museum - "Mon Dieu M'ame Bombec qué que vous avez donc attrapé..." - Honoré Daumier.jpgFile:Brooklyn Museum - Le Pruth. "Ah ça... à quel drôle de jeu..." - Honoré Daumier.jpg.RZuo (talk)08:14, 14 April 2022 (UTC)
Error: Error: Syntax error, unrecognized expression: input[value="File:Brooklyn Museum - \"Cré nom......Si on réfléchissait......" - Honoré Daumier.jpg"] It seems that only the first quotation mark in the filename (beforeCré) is propertly escaped (\") while the second isn't. I guess that this causes the mentioned problem. Somebody who is more familiar with the Gadget should fix that. --Arnd 🇺🇦 (talk)15:23, 15 April 2022 (UTC)RZuo, according to the JS console you can easily find information with google, e. .g.[2]. By the way, the script can only be edit by administators. So i open an edit request:
{{Edit request}}Although not 100% if it helps, please change in linehttps://commons.wikimedia.org/wiki/MediaWiki:Gadget-VisualFileChange.js/ui.js#L-1464 fromupload.replace toupload.replaceAll. IfreplaceAll is not supported then we needupload.replace(/"/g, '\\"') Details can be found in the description above. Thank you, --Arnd 🇺🇦 (talk)18:36, 23 April 2022 (UTC)
I'm trying to do a bulk replace of "Creator:Workshop of Giovanni Maria Vasaro" with ""Creator:Giovanni Maria Vasaro|workshop of", and I keep getting "please wait". I've tired different batch-replaces, and they work fine. I tried the Vasaro batch yesterday, I tried it again today, I tried after logging out and back in, I tried it in different browsers.
"Please wait" every time.
What's going on?DS (talk)17:19, 27 August 2022 (UTC)
{{Edit request}}After editing a large amount of files, it is tedious to check the list of all of them whether they had been treated well. VFC should show finally the number of affected files, and the number of successfully edited files, so it can be seen swiftly whether all edits are done - without the need to browse through a list of many many files. -- sarang♥사랑07:08, 10 November 2022 (UTC)
{{Edit request}}AFAIK that option is not yet offered, I cannot find about it neither inAction: nor inTasks:
When the button for "Just select" is ticked, all selected files get a special highlighting, enabling the decision how to treat either the selected or the not-selected ones.Sure it will be a slight expansion for VFC, but afar-reaching increase for the usablity of that tool. -- sarang♥사랑07:08, 10 November 2022 (UTC)
Without that expansion, the option is only to make in the selection a small change (when possible, whitespace so the alteration need not to be undone), and then have the two groups to work with; but t seems not to be a good idea to updatehundreds of files for nothing than to find them. I do not know about another possibility to find special patterns in file descriptions, but I need it for urgent maintainance. -- sarang♥사랑06:34, 20 November 2022 (UTC)
There's a bug where if you are using a search query which has slashes in its name, and you are mass-nominating files for deletion, VFC cannot create the subpage. This is because VFC tries creating a bunch of subpages due to the slashes. It tries naming the deletion nomination page "Files found with search query foo/bar/baz" but the slashes cause "baz" to be a subpage of "bar", which is a subpage of "Files found with search query foo".
The most obvious solution would be to replace the slashes with another similar character, such as ∕ (U+2215, division slash). --Matr1x-101Pinging me doesn't hurt! {user -talk? -useless contributions}22:00, 4 January 2023 (UTC)
it should allow users to choose marking edits as minor.RZuo (talk)13:02, 23 January 2023 (UTC)
Please add support for{{Wrong license}}/{{Wrong license note}} same asno license/source/permission. This is necessary to tag historical media uploaded under bogus licenses/authorship claims.EugeneZelenko (talk)15:58, 8 February 2023 (UTC)
Nothing is happening when I click "Perform batch task" in the sidebar, and the "Just try it without installing" link on the Help page reloads that page with no effect. Trying it in both Firefox and Edge gives the same result.
Someone else has reported VFC as failing for a few days now over atHelp_talk:VisualFileChange.js#it_is_not_working.Belbury (talk)19:16, 27 May 2023 (UTC)
I am new to VFC and I noticed this note, "Notes: We are working to re-add the possibility to rollback overwritten files to combat vandalism"
How old is this note and what is the status of adding this feature to VFC? Thanks, --Ooligan (talk)18:19, 14 January 2024 (UTC)
Hi all, after performing a search and then clicking "Perform batch task" VFC does not automatically show the search string in the popup window. This worked a while ago. Regards, --Arnd 🇺🇦 (talk)09:58, 25 April 2024 (UTC)
When I call "Perform batch task" in Firefox under "Tools", I get the following error message.
Notes:
Please wait.
Error:
An error occurred while starting the request and prefilling the contributor. ##### Error: Permission denied to access property "apply"
The same process works correctly in Microsoft Edge.
Browser:
--F. Riedelio • 💬13:12, 27 August 2024 (UTC)
When looking at the loaded files, hovering over the "c" only shows the normal categories of a file, but not the hidden categories. Is there an option to also see the hidden categories?
And is there a way to custom replace the text in the date parameter in the infobox of a file? For example, the date parameter of a file says{{According to exif data|2024-09-15}} and I want to change it to{{taken on|2024-09-15|location=United States}}. How do I do that?Nakonana (talk)14:00, 15 September 2024 (UTC)
Some that pertain to the tool itself remain onHelp talk:VisualFileChange.js. — 🇺🇦Jeff G. ツ pleaseping ortalk to me🇺🇦15:36, 16 November 2024 (UTC)
Tell me, is it possible to translate this gadget into other languages? I could help with translating it into Russian.Mitte27 (talk)00:34, 10 December 2024 (UTC)
/* jshint valid *//*global jQuery:false*/// if (window.VisualFileChange) { jQuery.extend(true, window.VisualFileChange.i18n, { mdTranslator: "Mohammed_Qays", mdButtonLabel: "التغيير البصري للملفات", mdPerformOnWhichTarget: "أي مستخدم أو فئة أو صفحة يجب أن تكون الهدف لهذه المهمة؟", mdTargetInput: "الصفحة أو المستخدم أو الفئة:", mdLoadThumbs: "تحميل الصور المصغرة", mdLoadWikitext: "تحميل نص الويكي", action: "الإجراء", mdDisselectAll: "إلغاء تحديد جميع الملفات المحمّلة:", mdInvertSelection: "عكس الاختيار", mdInsertDeleteReasen: "اختر الملفات التي ترغب في حذفها وقدم سببًا من فضلك", mdInsertDeleteHeading: "عنوان لطلب الحذف الجماعي", mdInsertOther: "النص الذي يجب إضافته إلى قسم الأذونات", mdInsertEditSummary: "يتم إنشاء ملخص تلقائي للتعديلات في صفحات وصف الملفات. أضف هذا أيضًا", mdInsertDeleteSummary: "أدخل سبب الحذف", mdReplacePermissionText: "هل يجب تنظيف قسم الأذونات؟", mdCustomReplaceText: "أدخل النص الذي يجب إدراجه بدلًا من ذلك", mdInsertGeneric: "أدخل النص الذي يجب إضافته إلى كل ملف مختار", mdInsertAll: "النص الذي يجب إضافته إلى صفحات وصف الملفات المختارة.", mdInsertTalkNote: "النص لإعلام المستخدم/المستخدمين", mdInsertReplaceMatch: "ما هو النص الذي يجب استبداله في الملفات المختارة؟", mdDelteConfirmation: "لقد قدمت سبب الحذف التالي", mdInsertConfirmation: "النص الذي قدمته لإدخاله في قسم الأذونات هو", mdProfileCantSave: "لم تتمكن من حفظ المدخلات الحالية في المتصفح", mdEditCountThrottle: "بسبب قيود معدل التحرير، لا يمكن إجراء المزيد من التعديلات خلال دقيقة واحدة. اضغط على متابعة بعد دقيقة. في هذه الأثناء، يمكنك قراءة شيء ممتع أو مشاهدة شيء ما :-)", mdEditCountBatch: "تم معالجة دفعة – كما هو محدد في الإعدادات المتقدمة. هل تود المتابعة؟", hasTalk: "هذه الملف يحتوي على صفحة نقاش", mdMore: "المزيد", mdNoResult: "VisualFileChange لا يمكنه العثور على ملف لـ %TARGET%", mdExecutingTaskEnumerateFiles: "يتم سرد الملفات لهذه المهمة", mdExecutingTask: "المهمة المطلوبة قيد التنفيذ", mdCuteSelectLabel: "اختيار الملفات الذكي", mdDelContribsButtonLabel: "الملفات المحذوفة المكتشفة", mdRevertButtonLabel: "إعادة تعيين الملفات", proceedButtonLabel: "تابع", submitButtonLabel: "تنفيذ", cancelButtonLabel: "إلغاء", abortButtonLabel: "إلغاء", mdPleaseWait: "يرجى الانتظار.", filesIn: "الملفات في", filesBy: "الملفات التي أنشأها", filesOn: "الملفات على", browsertitle: "VisualFileChange: مرحبًا %USER%!", startAt: "ابدأ من", optStartAt: "ابدأ من تاريخ معين", optStartAtFile: "ابدأ من اسم ملف معين (المفتاح الترتيبي بالضبط)", optStartAtHowTo: 'الصيغة: YYYY-MM-DD<br/> أو، اختياريًا<br/>YYYY-MM-DD hh:mm:ss<br/>أو ببساطة استخدم التقويم', optStartFileHowTo: "مفتاح الترتيب للبدء (للعثور على مفتاح الترتيب: [[Category:اسم|>>>مفتاح الترتيب<<<]], هو اسم الملف إذا لم يتم تحديد واحد). تأكد من الحروف الكبيرة والصغيرة. عادةً ما تكون الحرف الأول دائمًا كبيرًا!", optMore: "خيارات أخرى", offerContinue: "الهدف الحالي للطلب يتطابق مع الهدف للطلب الأخير. VisualFileChange قد حفظ مكان الملفات المحملة الأخيرة ويمكن تحميل الملفات التالية الآن.", continueNow: "الاستمرار الآن مع الملفات التالية!", sorting: "الترتيب", optNewToOld: "من الجديد إلى القديم (الفئة: تم الإضافة في)", optOldToNew: "من القديم إلى الجديد (الفئة: تم الإضافة في)", optDefault: "افتراضي", optAsc: "ترتيب أبجدي تصاعدي من A إلى Z", optDesc: "ترتيب أبجدي تنازلي من Z إلى A", mdConfirm: { deleteConfirmTitle: 'تأكيد الحذف النهائي', deleteConfirm: 'هل ترغب في حذف الملفات المختارة باستخدام حقوق المدير الخاصة بك؟', deleteConfirmIgnore: 'نعم، احذف!', deleteConfirmCancel: 'لا، عُد!' }, cuteSelect: { 'heading': "اختيار الملفات الذكي: اختر خيارات الفلترة", 'and': "و", 'intro': "سيتم تغيير حالة اختيار الملفات المحملة التي تطابق المعايير. لتطبيق التغييرات، اضغط على زر \"تطبيق\". يمكنك إغلاق الحوار من خلال علامة X. حدد المعايير الآن، وسيتم التعامل مع الحقول الفارغة كما لو كانت تفي بالشرط:", 'select': "اختيار (/إلغاء اختيار)", 'inCat': "في الفئة", 'title': "العنوان يتطابق مع", 'wikitext': "نص الويكي يتطابق مع", 'matches': "يتطابق مع", 'size': "الحجم", 'uploader': "الرافع هو", 'date': "<abbr title=\"يمكن أيضًا إدخال تاريخ واحد فقط. ولكن يجب أن يكون التاريخ الأول (تاريخ البدء) قبل التاريخ الثاني (تاريخ الانتهاء).\">التاريخ</abbr> (الوقت اختياري)", 'between': "بين", 'before': "إذا تم إدخال تاريخ واحد فقط، يتم عرض كل شيء قبله.", 'after': "إذا تم إدخال تاريخ واحد فقط، يتم عرض كل شيء بعده.", 'titleplaceholder': "(Reg)(?:ular )?(Exp)(?:ression)?", 'wikitextplaceholder': "نص الويكي يتطابق مع RegExp", 'dateplaceholder': "YYYY-MM-DD hh:mm:ss", 'button': "تطبيق" }, endDlg: { heading: "ماذا الآن؟", intro: "ملاحظة: لا يمكن تنفيذ طلبات جديدة بدون إعادة تشغيل VisualFileChange.", saveInProfile: "لكن المدخلات يمكن حفظها في ملف تعريف.", aboutLastExec: "سيتم حفظ المدخلات للطلب الذي تم تنفيذه آخر مرة تلقائيًا.", errorDuringTask: "نأسف للإزعاج: للأسف، أعاد الخادم أخطاء أثناء تنفيذ المهمة. " + "يرجى التحقق من مساهماتك بحثًا عن أي أخطاء.", checkContribs: "تحقق من مساهماتك", goToRequestPage: "اذهب إلى صفحة الطلب", goUserTalk: "اذهب إلى صفحة نقاش المستخدم", goUserContribs: "…أو عرض مساهمات المستخدم", reload: "إعادة تحميل هذه الصفحة", title: "VisualFileChange: تم الانتهاء!" }, mdPotentialProblems: { 'titleNf': 'لم يتم اختيار أي ملفات', 'textNf': 'يبدو أنك لم تختار أي ملفات. هل هذا مقصود؟', 'titleRE': 'التعبير المنتظم (RegExp، نمط البحث)؟', 'textRE': 'يبدو أن النمط هو تعبير منتظم. لكنه لم يُعَلم كـ (/R/).', 'titleInvalidRE': 'تعبير منتظم غير صالح (RegExp)', 'textInvalidRE': 'التعبير المنتظم غير صالح. ربما تفتقر إلى الحدود "//". الصيغة المطلوبة: /RegExp/الخصائص (الخصائص يمكن أن تكون مزيجًا من i، g، m).', 'back': 'أوبس، نسيت هذا.', 'proceed': 'استمر على الرغم من ذلك.' }, mdOptions: { 'cv': "انتهاك حقوق المؤلف", 'cv-dw': "انتهاك حقوق المؤلف (عمل مشتق)", 'cv-fu': "انتهاك حقوق المؤلف للاستخدام العادل", 'cv-logo': "انتهاك حقوق المؤلف لشعار معقد", 'cv-ndw': "انتهاك حقوق المؤلف: الأعمال المشتقة محظورة", 'del': "اقتراح الحذف", 'np': "لا يوجد تصريح", 'ns': "لا مصدر", 'ns-dw': "لا مصدر - عمل مشتق", 'other': "إضافة VRTS", 'otrs': "إزالة إشعارات VRTS", 'c_replace': "استبدال حر", 'prepend': "إضافة نص في البداية", 'append': "إضافة نص في النهاية", 'prepNf': "إضافة نص في البداية، إعلام الرافع", 'aDelete': "حذف! (فقط للإداريين)" }, reasonAutoSuggest: { 'aDelete': 'MediaWiki:Deletereason-dropdown' }, cfg: { startProfileManager: "إدارة الملف الشخصي", startConfigManager: "الإعدادات المتقدمة", tmpStored: "تم التغيير مؤقتًا", tmpStoredText: "سيتم الاحتفاظ بالإعدادات حتى مغادرة هذه الصفحة", youCanCloseDialog: "يمكنك الآن إغلاق الحوار.", jsSaved: "تم الحفظ", jsSavedText: "تم حفظ الإعدادات في JavaScript الخاصة بك", profileManager: "إدارة الملفات الشخصية", aboutProfiles: "حفظ الإعدادات الحالية في ملف شخصي أو تحميل ملف شخصي. يتم إدارة ملف شخصي (auto) تلقائيًا من قبل VisualFileChange ويتم تحديثه بعد كل تنفيذ للمهمة.", jsProfileSaved: "تم الحفظ", jsProfileSavedText: "تم حفظ الملف الشخصي المحدد في مساحة اسم المستخدم الخاصة بك", jsProfileRm: "تم الحذف", jsProfileRmText: "تم حذف الملف الشخصي المحدد من مساحة اسم المستخدم الخاصة بك", jsProfileErrText: "خطأ. لم يتم حفظ الملف الشخصي: ", jsProfileWarn: "مشكلة", jsProfileWarnText: "حدث خطأ أثناء تحديث الملفات الشخصية: ", profileSelectLocation: "حفظ الإعدادات الحالية في", profileName: "لاستبدال ملف شخصي، اختر نفس الاسم.", locationBrowser: "المتصفح (قد لا يكون دائمًا)", locationAccount: "مساحة اسم المستخدم في Commons (مرئية علنًا)", loadProfile: "تحميل", loadProfileText: "تحميل ملف شخصي. تحذير: سيتم استبدال الإعدادات الحالية. انقر نقرًا مزدوجًا على ملف شخصي لتحميله وإغلاق مدير الملفات الشخصية.", removeProfile: "حذف", removeProfileText: "حذف الملف الشخصي." }, namespace: { 'page': "اسم الصفحة الكامل", '2': "المستخدم:", '14': "الفئة:" }, specials: { 'search': "استعلام البحث" }, tasks: "المهام:", task: { start: 'بدء جمع المعلومات', target: 'اختيار الهدف', list: 'استعلام قائمة الملفات', datails: 'استعلام التفاصيل', inputcheck: 'التحقق من المدخلات', mdPrependTemplate: 'إضافة نص إلى صفحة الوصف قبل الملف', mdAppendTemplate: 'إضافة نص إلى صفحة الوصف بعد الملف', mdPrependText: 'إضافة نص إلى صفحة الوصف قبل الملف', mdAppendText: 'إضافة نص إلى صفحة الوصف بعد الملف', mdRefreshCache: 'تحديث النصوص المخزنة مؤقتًا', mdInsertPermission: 'إدراج الإذن أو الاستبدال الحر', mdNotifyUploaders: 'إشعار الرفعات', mdCreateRequestSubpage: 'إنشاء صفحة نقاش الحذف', mdListRequestSubpage: 'إضافة صفحة نقاش الحذف إلى القائمة اليومية', mdRvGenOGallery: 'إعادة تعيين الملفات التي تم الكتابة فوقها؟', mdDelete: 'حذف الملفات' }, taskFailure: { mdStartMd: "حدث خطأ أثناء بدء VisualFileChange. لم يتم إجراء أي تغييرات.", findOriginalUploader: "حدث خطأ أثناء محاولة تحديد مُحمل الملف.", findOriginalUploaderCB: "حدث خطأ بعد محاولة تحديد مُحمل الملف.", mdContinue: "حدث خطأ أثناء إنشاء مربع الحوار للبدء.", mdCreateList: "حدث خطأ أثناء التحضير لاستعلام قائمة الملفات.", mdFindUploads: "حدث خطأ أثناء استعلام قائمة الملفات المحملة.", mdFindUploadsCB: "حدث خطأ بعد استعلام قائمة الملفات المحملة.", mdFindCatMembers: "حدث خطأ أثناء تحديد أعضاء الفئة.", mdFindCatMembersCB: "هناك مشكلة في قائمة الملفات لهذه الفئة.", mdGenIGallery: "حدث خطأ أثناء إنشاء مربع حوار اختيار الملف.", mdSendNextQueries: "حدث خطأ أثناء استعلام تفاصيل الملفات.", mdCreateGalleryBox: "حدث خطأ أثناء إنشاء HTML لصندوق المعرض.", mdCreateDelUploadItem: "فشل في إنشاء إدخال في قائمة الملفات المحذوفة.", mdExtractTags: "حدث خطأ أثناء استخراج العلامات من محتوى الصفحة.", mdQueriedFile: "حدث خطأ بعد استعلام تفاصيل الملف وإضافتها إلى المربع الحوار.", mdExtractLicense: "حدث خطأ أثناء استخراج الترخيص من الفئات.", mdQueryFileDone: "حدث خطأ بعد استعلام كافة التفاصيل.", mdQueryMore: "تم اكتشاف خطأ من قبل VisualFileChange أثناء محاولة استعلام المزيد من الملفات.", mdExecute: "حدث خطأ أثناء تحديد وتقييم المدخلات الخاصة بك.", mdExecuteContinue: "حدث خطأ أثناء التحضير للمهمة.", mdRefreshCache: "حدث خطأ أثناء تحديث نصوص الويكي.", mdInsertPermission: "حدث خطأ أثناء التحضير لإدراج كتلة الإذن.", mdInsertOTRS: "حدث خطأ أثناء التحضير لمحتوى الصفحة مع الإذن.", mdCreateRequestSubpage: "حدث خطأ أثناء إنشاء صفحة مناقشة الحذف.", mdListRequestSubpage: "حدث خطأ أثناء إضافة صفحة مناقشة الحذف إلى القائمة اليومية.", mdPrependText: "حدث خطأ أثناء إضافة نص حر إلى وصف الملف.", mdAppendText: "حدث خطأ أثناء إضافة نص حر إلى نهاية وصف الملف.", mdTemplateAdded: "حدث خطأ بعد إرسال طلب التغيير إلى الخادم وتلقي الرد.", mdNotifyUploaders: "حدث خطأ أثناء إشعار الرافعين.", mdDelete: "حدث خطأ أثناء حذف الملفات.", mdRvGenOGallery: "حدث خطأ أثناء إعداد مربع حوار التراجع عن الاختيار.", mdRvQueriedFile: "حدث خطأ بعد جمع معلومات التراجع عن الملفات وإضافتها إلى المربع الحوار.", mdRvCreateImgRevisionMatrix: "حدث خطأ أثناء محاولة الحصول على مراجعات الصورة.", mdRvEvalSelction: "حدث خطأ أثناء معالجة الملفات المحددة.", mdRevertImage: "حدث خطأ قبل أو أثناء تقديم طلب التراجع.", mdReverted: "حدث خطأ بعد تقديم طلب التراجع.", mdExecuteReady: "حدث خطأ بعد أن تم تنفيذ جميع المهام." } }); } mw.messages.set({ 'vfc-query-progress': "استعلام تفاصيل الملفات: $1 دفعة{{PLURAL:$1|استعلام|استعلامات}} جارية. العدد الإجمالي: $2 {{PLURAL:$2|ملف|ملفات}}. الملف الحالي: $3", 'vfc-selected-count': "$1 {{PLURAL:$1|تم اختيار ملف|تم اختيار ملفات}}.", 'vfc-enter-reason': "يرجى إدخال سبب يتكون من {{PLURAL:$1|حرف واحد|$1 أحرف}} على الأقل.", 'vfc-edit-count-one-time': "هل يجب إجراء التعديل رقم $1؟" }); //Mohammed Qays 🗣17:52, 19 December 2024 (UTC)
Hi, I'm going into the VisualFileChanger with the search term "The Catholic Layman" (an old journal). The VFC finds me 1025 files (or at least claims this number...), among them ca. 20-25 that I found to be false positives. So far so expected, I went through all the listed files yesterday and appended the new category "The Catholic Layman" to the true positives. This resulted in 901(!) files assigned to the new category. 10% of the files were not appended correctly. Today I went through the VFC again, now with theAdvanced Selection In Category:"The Catholic Layman": That one found me ~800(!!) filesin the category, and ~200 filesnot in the category (when inverting the Advanced Selection). The highlighting/selecting of the files was apparently randomly, some files were not selected despite having the category, and others were selected despite not having the category. In the end, I went through the entire list of 1025 files manually and assigned the category to all files where VFC showed me that they were not inCategory:The Catholic Layman. Afterwards, I checked the Advanced Selection again, and now it shows me that of the 1025 files that VFC finds me for the search term "The Catholic Layman", 867 are in the Category "The Catholic Layman", 137 are not (and basic math means: 21 files are neitherin nornot in the category). Meanwhile in truth, the searched category of "The Catholic Layman" has by now actually 979 files (all of them found and assigned via the VFC, 901 via the append function and 78 manually) and there are also still 20-25 REAL false positives.
In summary, what is wrong either with this tool, or with my usage of the logic functions provided in the Advanced Selection? --Enyavar (talk)17:12, 23 December 2024 (UTC)
Weird behavior started recently (most likely because of default skin update): main frame moves down when I started to type reason for an action (from first letter). As result buttons are not visible and it's necessary to move frame in original place to complete action. I use Firefox 134 on Windows 11.EugeneZelenko (talk)15:24, 11 February 2025 (UTC)
need to editMediaWiki:Gadget-VisualFileChange.js/ui.js to change background etc. to work with dark mode.RoyZuo (talk)19:39, 17 February 2025 (UTC)
we should be able to filter out already nominated deletions as it would help quite a bitCyberwolf (talk)16:14, 24 February 2025 (UTC)
Is there any standard way for users to add their own actions? I see that the actions seem to be defined in a section of the script labeled "SETTINGS / CONFIGURATION", but I don't see any obvious way for users to inject their own values into those keys.
Alternatively: it'd be great if there were standard actions to batch tag files as CSD F10 (personal images) or G10 (promotional content). These types of speedy nominations frequently come in sets, and it'd save a lot of time to be able to tag a whole set of uploads at once, and generate a single user talk notification for the set.Omphalographer (talk)18:18, 28 March 2025 (UTC)
{{SD|F10}} or whatever else from theCOM:CSD shorts is appropriate.Grand-Duc (talk)02:38, 24 August 2025 (UTC)
Hi, VFC seems broken. Nothing loads today. Tested on several categories. The look is also different. Please see screenshot. Thanks,Yann (talk)18:12, 24 May 2025 (UTC)
var summary = vfc.$ctrs.editSummary.val(); was removed. So I think the problem might be related to the variablesummary being undefined.Tvpuppy (talk)20:21, 24 May 2025 (UTC)if you try vfc on a username, and a file being queried has been renamed, then vfc will get stuck at "Retrieving details from server". but if you do that on a category, the same renamed file will not cause problems.
i guess this probably has to do with how vfc fetches files? in a category it gets from the category listing? but for a username it gets from Special:ListFiles or something?RoyZuo (talk)19:47, 28 May 2025 (UTC)
I use VFC all the time for both nominating files for deletion and for deleting long lists of files when the Mass Delete function in DelReqHandler isn't good because some of the files need to be saved. I now need to delete 180 galleries, all in one category. VFC, as its name suggests, is for files, and it turns its nose up at my request to delete a whole category of galleries. It would be helpful occasionally to be able to do that. . Jim . . .(Jameslwoodward) (talk to me)20:25, 4 July 2025 (UTC)
BasicallyVisualCategoryChange. Would it be possible to add functionality to make changes to category contents? For example, I'd like to edit all but two categories ofCategory:Vaccinations by country to replace their text content with a new template. And I also need to functionality to adjust the template of another set of categories which I moved. See alsoCommons:Village pump/Technical#How to move (rename) many categories?. If these features can't/won't be added to VSF what about a new gadget for that (maybe based on/forked from this gadget)?Prototyperspective (talk)23:49, 3 November 2025 (UTC)
suppose the text input to prepend or append is STRING
vfc should prepend
STRING\n(original wiki code)
or append
(original wiki code)\nSTRING
now this new line that separates the new text input from the original is not inserted, which makes the result usually not so perfect and can lead to problems such as other tools not expecting two lines being in one.
however, it makes sense that sometimes users are inserting something that dont need a new line, so perhaps this could be a tick option that's default ticked (selected)? so if users really dont need a new line they can then unselect it?RoyZuo (talk)15:41, 12 November 2025 (UTC)