summaryrefslogtreecommitdiff
path: root/www/wiki/extensions/Translate/extension-wip.json
blob: 23bc1c5e6cf6ee7bcaf1ac66f7d0714fbc7aa5ff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
{
	"name": "Translate",
	"type": "specialpage",
	"author": [
		"Niklas Laxström",
		"Santhosh Thottingal",
		"Siebrand Mazeland",
		"..."
	],
	"version": "2019-04-24",
	"url": "https://www.mediawiki.org/wiki/Extension:Translate",
	"descriptionmsg": "translate-desc",
	"license-name": "GPL-2.0-or-later",
	"requires": {
		"MediaWiki": ">= 1.31.0"
	},
	"callback": "TranslateHooks::setupTranslate",
	"load_composer_autoloader": true,
	"manifest_version": 2,
	"namespaces": [
		{
			"id": 1198,
			"constant": "NS_TRANSLATIONS",
			"name": "Translations"
		},
		{
			"id": 1199,
			"constant": "NS_TRANSLATIONS_TALK",
			"name": "Translations_talk"
		}
	],
	"AutoloadClasses": {
		"AggregateMessageGroup": "messagegroups/AggregateMessageGroup.php",
		"AmdFFS": "ffs/AmdFFS.php",
		"AndroidXmlFFS": "ffs/AndroidXmlFFS.php",
		"ApertiumWebService": "webservices/ApertiumWebService.php",
		"ApiAggregateGroups": "api/ApiAggregateGroups.php",
		"ApiGroupReview": "api/ApiGroupReview.php",
		"ApiQueryLanguageStats": "api/ApiQueryLanguageStats.php",
		"ApiQueryMessageCollection": "api/ApiQueryMessageCollection.php",
		"ApiQueryMessageGroups": "api/ApiQueryMessageGroups.php",
		"ApiQueryMessageGroupStats": "api/ApiQueryMessageGroupStats.php",
		"ApiQueryMessageTranslations": "api/ApiQueryMessageTranslations.php",
		"ApiSearchTranslations": "api/ApiSearchTranslations.php",
		"ApiStatsQuery": "api/ApiStatsQuery.php",
		"ApiTranslateSandbox": "api/ApiTranslateSandbox.php",
		"ApiTranslationAids": "api/ApiQueryTranslationAids.php",
		"ApiTranslationCheck": "api/ApiTranslationCheck.php",
		"ApiTranslationReview": "api/ApiTranslationReview.php",
		"ApiTranslationStash": "api/ApiTranslationStash.php",
		"ApiTTMServer": "api/ApiTTMServer.php",
		"AppleFFS": "ffs/AppleFFS.php",
		"ArrayFlattener": "utils/ArrayFlattener.php",
		"CachedMessageIndex": "utils/MessageIndex.php",
		"CaighdeanWebService": "webservices/CaighdeanWebService.php",
		"CDBMessageIndex": "utils/MessageIndex.php",
		"CombinedInsertablesSuggester": "insertables/CombinedInsertablesSuggester.php",
		"ComplexMessages": "ffs/MediaWikiComplexMessages.php",
		"CrossLanguageTranslationSearchQuery": "ttmserver/CrossLanguageTranslationSearchQuery.php",
		"CurrentTranslationAid": "translationaids/CurrentTranslationAid.php",
		"CxserverWebService": "webservices/CxserverWebService.php",
		"DatabaseMessageIndex": "utils/MessageIndex.php",
		"DatabaseTTMServer": "ttmserver/DatabaseTTMServer.php",
		"DocumentationAid": "translationaids/DocumentationAid.php",
		"DtdFFS": "ffs/DtdFFS.php",
		"ElasticSearchTTMServer": "ttmserver/ElasticSearchTTMServer.php",
		"ExternalMessageSourceStateComparator": "utils/ExternalMessageSourceStateComparator.php",
		"ExternalMessageSourceStateImporter": "utils/ExternalMessageSourceStateImporter.php",
		"FakeTTMServer": "ttmserver/FakeTTMServer.php",
		"FatMessage": "Message.php",
		"FCFontFinder": "utils/Font.php",
		"FFS": "ffs/FFS.php",
		"FileBasedMessageGroup": "messagegroups/FileBasedMessageGroup.php",
		"FileCachedMessageIndex": "utils/MessageIndex.php",
		"FlatPhpFFS": "ffs/FlatPhpFFS.php",
		"FuzzyBot": "utils/FuzzyBot.php",
		"FuzzyLikeThis": "ttmserver/FuzzyLikeThis.php",
		"GettextDocumentationAid": "translationaids/GettextDocumentationAid.php",
		"GettextFFS": "ffs/GettextFFS.php",
		"GettextPluralException": "ffs/GettextFFS.php",
		"HashMessageIndex": "utils/MessageIndex.php",
		"HTMLJsSelectToInputField": "utils/HTMLJsSelectToInputField.php",
		"IniFFS": "ffs/IniFFS.php",
		"InOtherLanguagesAid": "translationaids/InOtherLanguagesAid.php",
		"Insertable": "insertables/Insertable.php",
		"InsertablesAid": "translationaids/InsertablesAid.php",
		"InsertablesSuggester": "insertables/InsertablesSuggester.php",
		"JavaFFS": "ffs/JavaFFS.php",
		"JavaScriptFFS": "ffs/JavaScriptFFS.php",
		"JsonFFS": "ffs/JsonFFS.php",
		"JsSelectToInput": "utils/JsSelectToInput.php",
		"MachineTranslationAid": "translationaids/MachineTranslationAid.php",
		"MagicWordsCM": "ffs/MediaWikiComplexMessages.php",
		"MediaWikiExtensionMessageGroup": "messagegroups/MediaWikiExtensionMessageGroup.php",
		"MediaWikiInsertablesSuggester": "insertables/MediaWikiInsertablesSuggester.php",
		"MediaWikiMessageChecker": "MediaWikiMessageChecker.php",
		"MessageChangeStorage": "utils/MessageChangeStorage.php",
		"MessageChecker": "MessageChecks.php",
		"MessageCollection": "MessageCollection.php",
		"MessageDefinitionAid": "translationaids/MessageDefinitionAid.php",
		"MessageDefinitions": "MessageCollection.php",
		"MessageGroup": "messagegroups/MessageGroup.php",
		"MessageGroupBase": "messagegroups/MessageGroupBase.php",
		"MessageGroupCache": "utils/MessageGroupCache.php",
		"MessageGroupConfigurationParser": "MessageGroupConfigurationParser.php",
		"MessageGroupOld": "messagegroups/MessageGroupOld.php",
		"MessageGroups": "MessageGroups.php",
		"MessageGroupStates": "utils/MessageGroupStates.php",
		"MessageGroupStatesUpdaterJob": "utils/MessageGroupStatesUpdaterJob.php",
		"MessageGroupStats": "utils/MessageGroupStats.php",
		"MessageGroupStatsRebuildJob": "utils/MessageGroupStatsRebuildJob.php",
		"MessageHandle": "utils/MessageHandle.php",
		"MessageIndex": "utils/MessageIndex.php",
		"MessageIndexRebuildJob": "utils/MessageIndexRebuildJob.php",
		"MessageUpdateJob": "utils/MessageUpdateJob.php",
		"MessageWebImporter": "utils/MessageWebImporter.php",
		"MetaYamlSchemaExtender": "MetaYamlSchemaExtender.php",
		"MicrosoftWebService": "webservices/MicrosoftWebService.php",
		"MockFileBasedMessageGroup": "tests/phpunit/MockFileBasedMessageGroup.php",
		"MockMessageCollectionForExport": "tests/phpunit/MockMessageCollectionForExport.php",
		"MockWikiMessageGroup": "tests/phpunit/MockWikiMessageGroup.php",
		"NamespaceCM": "ffs/MediaWikiComplexMessages.php",
		"NumericalParameterInsertablesSuggester": "insertables/NumericalParameterInsertablesSuggester.php",
		"PageTranslationHooks": "tag/PageTranslationHooks.php",
		"PageTranslationLogFormatter": "tag/PageTranslationLogFormatter.php",
		"PHPVariableLoader": "utils/ResourceLoader.php",
		"PremadeIntuitionTextdomains": "ffs/IntuitionTextdomains.php",
		"PremadeMediawikiExtensionGroups": "ffs/MediaWikiExtensions.php",
		"QueryAggregator": "webservices/QueryAggregator.php",
		"QueryAggregatorAware": "webservices/QueryAggregatorAware.php",
		"QueryAggregatorAwareTranslationAid": "translationaids/QueryAggregatorAwareTranslationAid.php",
		"ReadableTTMServer": "ttmserver/Interfaces.php",
		"RecentAdditionsMessageGroup": "messagegroups/RecentAdditionsMessageGroup.php",
		"RecentMessageGroup": "messagegroups/RecentMessageGroup.php",
		"RemoteTTMServer": "ttmserver/RemoteTTMServer.php",
		"RemoteTTMServerWebService": "webservices/RemoteTTMServerWebService.php",
		"RESTBaseWebService": "webservices/RESTBaseWebService.php",
		"ReviewPerLanguageStats": "specials/SpecialTranslationStats.php",
		"RevTag": "utils/RevTag.php",
		"SandboxMessageGroup": "messagegroups/SandboxMessageGroup.php",
		"SearchableTTMServer": "ttmserver/Interfaces.php",
		"SerializedMessageIndex": "utils/MessageIndex.php",
		"ShapadoJsFFS": "ffs/JavaScriptFFS.php",
		"SimpleFFS": "ffs/SimpleFFS.php",
		"SolrTTMServer": "ttmserver/SolrTTMServer.php",
		"SpecialAggregateGroups": "specials/SpecialAggregateGroups.php",
		"SpecialExportTranslations": "specials/SpecialExportTranslations.php",
		"SpecialImportTranslations": "specials/SpecialImportTranslations.php",
		"SpecialLanguageStats": "specials/SpecialLanguageStats.php",
		"SpecialMagic": "specials/SpecialMagic.php",
		"SpecialManageGroups": "specials/SpecialManageGroups.php",
		"SpecialManageTranslatorSandbox": "specials/SpecialManageTranslatorSandbox.php",
		"SpecialMessageGroupStats": "specials/SpecialMessageGroupStats.php",
		"SpecialPageAliasesCM": "ffs/MediaWikiComplexMessages.php",
		"SpecialPageMigration": "tag/SpecialPageMigration.php",
		"SpecialPagePreparation": "tag/SpecialPagePreparation.php",
		"SpecialPageTranslation": "tag/SpecialPageTranslation.php",
		"SpecialPageTranslationDeletePage": "tag/SpecialPageTranslationDeletePage.php",
		"SpecialPageTranslationMovePage": "tag/SpecialPageTranslationMovePage.php",
		"SpecialSearchTranslations": "specials/SpecialSearchTranslations.php",
		"SpecialSupportedLanguages": "specials/SpecialSupportedLanguages.php",
		"SpecialTranslate": "specials/SpecialTranslate.php",
		"SpecialTranslations": "specials/SpecialTranslations.php",
		"SpecialTranslationStash": "specials/SpecialTranslationStash.php",
		"SpecialTranslationStats": "specials/SpecialTranslationStats.php",
		"StashedTranslation": "stash/StashedTranslation.php",
		"StatsBar": "utils/StatsBar.php",
		"StatsTable": "utils/StatsTable.php",
		"StringMangler": "stringmangler/StringMangler.php",
		"StringMatcher": "stringmangler/StringMatcher.php",
		"SupportAid": "translationaids/SupportAid.php",
		"ThinMessage": "Message.php",
		"TMessage": "Message.php",
		"TPException": "tag/TPException.php",
		"TPParse": "tag/TPParse.php",
		"TPSection": "tag/TPSection.php",
		"TranslatablePage": "tag/TranslatablePage.php",
		"TranslatablePageInsertablesSuggester": "insertables/TranslatablePageInsertablesSuggester.php",
		"TranslatablePageMoveJob": "tag/TranslatablePageMoveJob.php",
		"TranslateCliLogger": "scripts/TranslateCliLogger.php",
		"TranslateDeleteJob": "tag/TranslateDeleteJob.php",
		"TranslateEditAddons": "TranslateEditAddons.php",
		"TranslateHooks": "TranslateHooks.php",
		"TranslateLogFormatter": "utils/TranslateLogFormatter.php",
		"TranslateMetadata": "utils/TranslateMetadata.php",
		"TranslateMoveJob": "tag/TranslateMoveJob.php",
		"TranslatePerLanguageStats": "specials/SpecialTranslationStats.php",
		"TranslatePreferences": "utils/UserToggles.php",
		"TranslateRcFilter": "utils/RcFilter.php",
		"TranslateRegistrationStats": "specials/SpecialTranslationStats.php",
		"TranslateRenderJob": "tag/TranslateRenderJob.php",
		"TranslateSandbox": "utils/TranslateSandbox.php",
		"TranslateSandboxEmailJob": "utils/TranslateSandboxEmailJob.php",
		"TranslateStatsOutput": "scripts/TranslateStatsOutput.php",
		"TranslateToolbox": "utils/ToolBox.php",
		"TranslateUtils": "TranslateUtils.php",
		"TranslateYaml": "utils/TranslateYaml.php",
		"TranslationAid": "translationaids/TranslationAid.php",
		"TranslationAidDataProvider": "translationaids/TranslationAidDataProvider.php",
		"TranslationHelperException": "utils/TranslationHelpers.php",
		"TranslationHelpers": "utils/TranslationHelpers.php",
		"TranslationQuery": "webservices/TranslationQuery.php",
		"TranslationQueryResponse": "webservices/TranslationQueryResponse.php",
		"TranslationStashStorage": "stash/TranslationStashStorage.php",
		"TranslationStats": "utils/TranslationStats.php",
		"TranslationStatsBase": "specials/SpecialTranslationStats.php",
		"TranslationStatsInterface": "specials/SpecialTranslationStats.php",
		"TranslationsUpdateJob": "tag/TranslationsUpdateJob.php",
		"TranslationWebService": "webservices/TranslationWebService.php",
		"TranslationWebServiceConfigurationException": "webservices/TranslationWebServiceConfigurationException.php",
		"TranslationWebServiceException": "webservices/TranslationWebServiceException.php",
		"TranslationWebServiceInvalidInputException": "webservices/TranslationWebServiceInvalidInputException.php",
		"TTMServer": "ttmserver/TTMServer.php",
		"TTMServerAid": "translationaids/TTMServerAid.php",
		"TTMServerException": "ttmserver/Exceptions.php",
		"TTMServerMessageUpdateJob": "ttmserver/TTMServerMessageUpdateJob.php",
		"TuxMessageTable": "utils/TuxMessageTable.php",
		"UnsupportedTranslationAid": "translationaids/UnsupportedTranslationAid.php",
		"UpdatedDefinitionAid": "translationaids/UpdatedDefinitionAid.php",
		"WikiMessageGroup": "messagegroups/WikiMessageGroup.php",
		"WikiPageMessageGroup": "messagegroups/WikiPageMessageGroup.php",
		"WorkflowStatesMessageGroup": "messagegroups/WorkflowStatesMessageGroup.php",
		"WritableTTMServer": "ttmserver/Interfaces.php",
		"XliffFFS": "ffs/XliffFFS.php",
		"YamlFFS": "ffs/YamlFFS.php",
		"YandexWebService": "webservices/YandexWebService.php"
	},
	"Hooks": {
		"ResourceLoaderTestModules": "TranslateHooks::onResourceLoaderTestModules",
		"UnitTestsList": "TranslateHooks::setupUnitTests",
		"LoadExtensionSchemaUpdates": "TranslateHooks::schemaUpdates",
		"ParserTestTables": "TranslateHooks::parserTestTables",
		"PageContentLanguage": "TranslateHooks::onPageContentLanguage",
		"ResourceLoaderRegisterModules": "TranslateHooks::onResourceLoaderRegisterModules",
		"EditPage::showEditForm:initial": "TranslateEditAddons::addTools",
		"AlternateEdit": "TranslateEditAddons::suppressIntro",
		"getUserPermissionsErrorsExpensive": "TranslateEditAddons::disallowLangTranslations",
		"EditPageBeforeEditButtons": "TranslateEditAddons::buttonHack",
		"LanguageGetTranslatedLanguageNames": "TranslateHooks::translateMessageDocumentationLanguage",
		"TranslateSupportedLanguages": "TranslateHooks::translateMessageDocumentationLanguage",
		"ArticlePrepareTextForEdit": "TranslateEditAddons::disablePreSaveTransform",
		"ParserFirstCallInit": "TranslateHooks::setupTranslateParserFunction",
		"UserGetReservedNames": "TranslateHooks::onUserGetReservedNames",
		"LinksUpdate": "TranslateHooks::preventCategorization",
		"PageContentSaveComplete": "TranslateEditAddons::onSave",
		"Translate:newTranslation": "TranslateEditAddons::updateTransverTag",
		"SkinTemplateNavigation::SpecialPage": [
			"SpecialTranslate::tabify",
			"SpecialManageGroups::tabify"
		],
		"GetPreferences": [
			"TranslatePreferences::onGetPreferences",
			"TranslatePreferences::translationAssistLanguages"
		],
		"ChangesListSpecialPageQuery": "TranslateRcFilter::translationFilter",
		"SpecialRecentChangesPanel": "TranslateRcFilter::translationFilterForm",
		"ChangesListSpecialPageStructuredFilters": "TranslateRcFilter::onChangesListSpecialPageStructuredFilters",
		"BaseTemplateToolbox": "TranslateToolbox::toolboxAllTranslations",
		"AbortEmailNotification": "TranslateHooks::onAbortEmailNotificationReview",
		"ArticleDeleteComplete": "TTMServer::onDelete",
		"TranslateEventMessageMembershipChange": "TTMServer::onGroupChange",
		"ArticleContentOnDiff": "TranslateEditAddons::displayOnDiff",
		"SpecialSearchProfiles": "TranslateHooks::searchProfile",
		"SpecialSearchProfileForm": "TranslateHooks::searchProfileForm",
		"SpecialSearchSetupEngine": "TranslateHooks::searchProfileSetupEngine",
		"TitleIsAlwaysKnown": "TranslateHooks::onTitleIsAlwaysKnown",
		"Translate:MessageGroupStats:isIncluded": [
			"TranslateHooks::hideDiscouragedFromStats",
			"TranslateHooks::hideRestrictedFromStats"
		],
		"MakeGlobalVariablesScript": "TranslateHooks::addConfig",
		"TranslateEventTranslationReview": [
			"MessageGroupStats::clear",
			"MessageGroupStatesUpdaterJob::onChange"
		],
		"TranslatePostInitGroups": [
			"MessageGroups::getCCGroups",
			"MessageGroups::getTranslatablePages",
			"MessageGroups::getConfiguredGroups",
			"MessageGroups::getWorkflowGroups",
			"MessageGroups::getAggregateGroups"
		],
		"AdminLinks": "TranslateHooks::onAdminLinks",
		"MergeAccountFromTo": "TranslateHooks::onMergeAccountFromTo",
		"DeleteAccount": "TranslateHooks::onDeleteAccount",
		"AbuseFilter-filterAction": "TranslateHooks::onAbuseFilterFilterAction",
		"AbuseFilter-computeVariable": "TranslateHooks::onAbuseFilterComputeVariable",
		"AbuseFilter-builder": "TranslateHooks::onAbuseFilterBuilder"
	},
	"SpecialPages": {
		"Translate": "SpecialTranslate",
		"Translations": "SpecialTranslations",
		"TranslationStats": "SpecialTranslationStats",
		"LanguageStats": "SpecialLanguageStats",
		"MessageGroupStats": "SpecialMessageGroupStats",
		"ImportTranslations": "SpecialImportTranslations",
		"ExportTranslations": "SpecialExportTranslations",
		"ManageMessageGroups": "SpecialManageGroups",
		"SupportedLanguages": "SpecialSupportedLanguages",
		"AggregateGroups": "SpecialAggregateGroups",
		"SearchTranslations": "SpecialSearchTranslations"
	},
	"APIListModules": {
		"messagecollection": "ApiQueryMessageCollection"
	},
	"APIMetaModules": {
		"languagestats": "ApiQueryLanguageStats",
		"messagegroups": "ApiQueryMessageGroups",
		"messagegroupstats": "ApiQueryMessageGroupStats",
		"messagetranslations": "ApiQueryMessageTranslations"
	},
	"APIModules": {
		"aggregategroups": "ApiAggregateGroups",
		"groupreview": "ApiGroupReview",
		"translationaids": "ApiTranslationAids",
		"translationreview": "ApiTranslationReview",
		"translationcheck": "ApiTranslationCheck",
		"ttmserver": "ApiTTMServer",
		"searchtranslations": "ApiSearchTranslations"
	},
	"JobClasses": {
		"MessageGroupStatesUpdaterJob": "MessageGroupStatesUpdaterJob",
		"MessageGroupStatsRebuildJob": "MessageGroupStatsRebuildJob",
		"MessageIndexRebuildJob": "MessageIndexRebuildJob",
		"MessageUpdateJob": "MessageUpdateJob",
		"TTMServerMessageUpdateJob": "TTMServerMessageUpdateJob"
	},
	"LogTypes": [
		"translationreview"
	],
	"LogActionsHandlers": {
		"translationreview/message": "TranslateLogFormatter",
		"translationreview/group": "TranslateLogFormatter"
	},
	"ResourceFileModulePaths": {
		"localBasePath": "",
		"remoteExtPath": "Translate"
	},
	"ResourceModules": 	{
		"ext.translate": {
			"styles": "resources/css/ext.translate.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.base": {
			"scripts": "resources/js/ext.translate.base.js",
			"dependencies": [
				"ext.translate.hooks",
				"mediawiki.api",
				"mediawiki.util"
			],
			"messages": [
				"translate-js-support-unsaved-warning"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.dropdownmenu": {
			"styles": "resources/css/ext.translate.dropdownmenu.css",
			"scripts": "resources/js/ext.translate.dropdownmenu.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.editor": {
			"scripts": [
				"resources/js/ext.translate.editor.helpers.js",
				"resources/js/ext.translate.editor.js",
				"resources/js/ext.translate.editor.shortcuts.js",
				"resources/js/ext.translate.pagemode.js",
				"resources/js/ext.translate.proofread.js"
			],
			"styles": [
				"resources/css/ext.translate.editor.css",
				"resources/css/ext.translate.pagemode.css",
				"resources/css/ext.translate.proofread.css"
			],
			"dependencies": [
				"ext.translate.base",
				"ext.translate.dropdownmenu",
				"ext.translate.hooks",
				"ext.translate.storage",
				"jquery.accessKeyLabel",
				"jquery.autosize",
				"jquery.makeCollapsible",
				"jquery.textSelection",
				"jquery.textchange",
				"mediawiki.Uri",
				"mediawiki.api",
				"mediawiki.jqueryMsg",
				"mediawiki.language",
				"mediawiki.notify",
				"mediawiki.user",
				"mediawiki.util"
			],
			"messages": [
				"translate-edit-askpermission",
				"translate-edit-nopermission",
				"tux-editor-add-desc",
				"tux-editor-ask-help",
				"tux-editor-cancel-button-label",
				"tux-editor-close-tooltip",
				"tux-editor-collapse-tooltip",
				"tux-editor-confirm-button-label",
				"tux-editor-discard-changes-button-label",
				"tux-editor-doc-editor-cancel",
				"tux-editor-doc-editor-placeholder",
				"tux-editor-doc-editor-save",
				"tux-editor-edit-desc",
				"tux-editor-expand-tooltip",
				"tux-editor-in-other-languages",
				"tux-editor-loading",
				"tux-editor-message-desc-less",
				"tux-editor-message-desc-more",
				"tux-editor-message-tools-show-editor",
				"tux-editor-message-tools-delete",
				"tux-editor-message-tools-history",
				"tux-editor-message-tools-translations",
				"tux-editor-message-tools-linktothis",
				"tux-editor-n-uses",
				"tux-editor-need-more-help",
				"tux-editor-outdated-warning",
				"tux-editor-outdated-warning-diff-link",
				"tux-editor-paste-original-button-label",
				"tux-editor-placeholder",
				"tux-editor-editsummary-placeholder",
				"tux-editor-proofread-button-label",
				"tux-editor-save-button-label",
				"tux-editor-save-failed",
				"tux-editor-shortcut-info",
				"tux-editor-skip-button-label",
				"tux-editor-suggestions-title",
				"tux-editor-tm-match",
				"tux-proofread-action-tooltip",
				"tux-proofread-edit-label",
				"tux-proofread-translated-by-self",
				"tux-session-expired",
				"tux-status-saving",
				"tux-status-translated",
				"tux-status-unsaved",
				"tux-save-unknown-error",
				"tux-warnings-hide",
				"tux-warnings-more",
				"spamprotectiontext"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.groupselector": {
			"styles": "resources/css/ext.translate.groupselector.less",
			"scripts": "resources/js/ext.translate.groupselector.js",
			"dependencies": [
				"ext.translate.base",
				"ext.translate.loader",
				"ext.translate.statsbar",
				"jquery.ui.position",
				"mediawiki.jqueryMsg"
			],
			"messages": [
				"translate-msggroupselector-search-all",
				"translate-msggroupselector-search-placeholder",
				"translate-msggroupselector-search-recent",
				"translate-msggroupselector-view-subprojects"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.hooks": {
			"scripts": "resources/js/ext.translate.hooks.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.legacy": {
			"styles": "resources/css/ext.translate.legacy.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.loader": {
			"styles": "resources/css/ext.translate.loader.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.messagetable": {
			"scripts": "resources/js/ext.translate.messagetable.js",
			"styles": "resources/css/ext.translate.messagetable.less",
			"dependencies": [
				"ext.translate.base",
				"ext.translate.hooks",
				"ext.translate.loader",
				"ext.translate.parsers",
				"jquery.textchange",
				"jquery.throttle-debounce",
				"mediawiki.Uri",
				"mediawiki.jqueryMsg",
				"mediawiki.util"
			],
			"messages": [
				"api-error-badtoken",
				"api-error-emptypage",
				"api-error-unknownerror",
				"tpt-unknown-page",
				"translate-edit-title",
				"tux-edit",
				"tux-empty-list-all",
				"tux-empty-list-all-guide",
				"tux-empty-list-other",
				"tux-empty-list-other-action",
				"tux-empty-list-other-guide",
				"tux-empty-list-other-link",
				"tux-empty-list-translated",
				"tux-empty-list-translated-action",
				"tux-empty-list-translated-guide",
				"tux-empty-no-messages-to-display",
				"tux-empty-no-outdated-messages",
				"tux-empty-nothing-new-to-proofread",
				"tux-empty-nothing-to-proofread",
				"tux-empty-show-optional-messages",
				"tux-empty-there-are-optional",
				"tux-empty-you-can-help-providing",
				"tux-empty-you-can-review-already-proofread",
				"tux-message-filter-advanced-button",
				"tux-message-filter-placeholder",
				"tux-message-filter-result",
				"tux-messagetable-loading-messages",
				"tux-messagetable-more-messages",
				"tux-status-fuzzy",
				"tux-status-optional",
				"tux-status-proofread",
				"tux-status-translated"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.messagewebimporter": {
			"styles": "resources/css/ext.translate.messagewebimporter.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.multiselectautocomplete": {
			"scripts": "resources/js/ext.translate.multiselectautocomplete.js",
			"dependencies": [
				"jquery.ui.autocomplete"
			],
			"targets": [
				"desktop"
			]
		},
		"ext.translate.navitoggle": {
			"skinScripts": {
				"vector": "resources/js/ext.translate.navitoggle.js"
			},
			"skinStyles": {
				"vector": "resources/css/ext.translate.navitoggle.css"
			},
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.pagetranslation.uls": {
			"scripts": "resources/js/ext.translate.pagetranslation.uls.js",
			"dependencies": [
				"ext.uls.mediawiki",
				"mediawiki.util"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.parsers": {
			"scripts": "resources/js/ext.translate.parsers.js",
			"dependencies": [
				"mediawiki.util"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.quickedit": {
			"styles": "resources/css/ext.translate.quickedit.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.selecttoinput": {
			"scripts": "resources/js/ext.translate.selecttoinput.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.aggregategroups": {
			"scripts": "resources/js/ext.translate.special.aggregategroups.js",
			"dependencies": [
				"jquery.ui.autocomplete",
				"mediawiki.api",
				"mediawiki.util"
			],
			"messages": [
				"tpt-aggregategroup-add",
				"tpt-aggregategroup-edit-description",
				"tpt-aggregategroup-edit-name",
				"tpt-aggregategroup-remove-confirm",
				"tpt-aggregategroup-update",
				"tpt-aggregategroup-update-cancel",
				"tpt-invalid-group"
			],
			"targets": [
				"desktop"
			]
		},
		"ext.translate.special.aggregategroups.styles": {
			"styles": "resources/css/ext.translate.special.aggregategroups.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.importtranslations": {
			"scripts": "resources/js/ext.translate.special.importtranslations.js",
			"dependencies": [
				"jquery.ui.autocomplete"
			],
			"targets": [
				"desktop"
			]
		},
		"ext.translate.special.languagestats": {
			"scripts": "resources/js/ext.translate.special.languagestats.js",
			"messages": [
				"translate-langstats-collapse",
				"translate-langstats-collapseall",
				"translate-langstats-expand",
				"translate-langstats-expandall"
			],
			"dependencies": "jquery.tablesorter",
			"targets": [
				"desktop"
			]
		},
		"ext.translate.special.managegroups": {
			"styles": "resources/css/ext.translate.special.managegroups.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.managetranslatorsandbox": {
			"scripts": "resources/js/ext.translate.special.managetranslatorsandbox.js",
			"dependencies": [
				"ext.translate.loader",
				"ext.translate.translationstashstorage",
				"ext.uls.mediawiki",
				"jquery.ui.dialog",
				"mediawiki.api",
				"mediawiki.jqueryMsg",
				"mediawiki.language",
				"mediawiki.notify"
			],
			"messages": [
				"tsb-accept-all-button-label",
				"tsb-accept-button-label",
				"tsb-reject-confirmation",
				"tsb-accept-confirmation",
				"tsb-all-languages-button-label",
				"tsb-didnt-make-any-translations",
				"tsb-no-requests-from-new-users",
				"tsb-older-requests",
				"tsb-reject-all-button-label",
				"tsb-reject-button-label",
				"tsb-reminder-failed",
				"tsb-reminder-link-text",
				"tsb-reminder-sending",
				"tsb-reminder-sent",
				"tsb-reminder-sent-new",
				"tsb-request-count",
				"tsb-selected-count",
				"tsb-translations-current",
				"tsb-translations-source",
				"tsb-translations-user",
				"tsb-user-posted-a-comment"
			],
			"targets": [
				"desktop"
			]
		},
		"ext.translate.special.managetranslatorsandbox.styles": {
			"styles": "resources/css/ext.translate.special.managetranslatorsandbox.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.pagemigration": {
			"scripts": "resources/js/ext.translate.special.pagemigration.js",
			"dependencies": [
				"jquery.ajaxdispatcher",
				"mediawiki.api",
				"mediawiki.Title",
				"mediawiki.ui",
				"mediawiki.ui.button"
			],
			"messages": [
				"pm-add-icon-hover-text",
				"pm-delete-icon-hover-text",
				"pm-extra-units-warning",
				"pm-langcode-missing",
				"pm-old-translations-missing",
				"pm-page-does-not-exist",
				"pm-pagename-missing",
				"pm-pagetitle-invalid",
				"pm-pagetitle-missing",
				"pm-swap-icon-hover-text",
				"pm-on-import-message-text",
				"pm-on-save-message-text",
				"pm-savepages-button-label",
				"pm-cancel-button-label",
				"tpt-unknown-page"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.pagemigration.styles": {
			"styles": "resources/css/ext.translate.special.pagemigration.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.pagepreparation": {
			"scripts": "resources/js/ext.translate.special.pagepreparation.js",
			"dependencies": [
				"mediawiki.RegExp",
				"mediawiki.Title",
				"mediawiki.diff.styles",
				"mediawiki.api",
				"mediawiki.jqueryMsg",
				"mediawiki.ui"
			],
			"messages": [
				"pp-already-prepared-message",
				"pp-pagename-missing",
				"pp-prepare-message",
				"pp-save-button-label",
				"pp-save-message"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.pagepreparation.styles": {
			"styles": "resources/css/ext.translate.special.pagepreparation.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.pagetranslation": {
			"scripts": "resources/js/ext.translate.special.pagetranslation.js",
			"dependencies": [
				"ext.translate.multiselectautocomplete",
				"mediawiki.ui.button",
				"mediawiki.Uri",
				"user.tokens"
			],
			"targets": [
				"desktop"
			]
		},
		"ext.translate.special.pagetranslation.styles": {
			"styles": "resources/css/ext.translate.special.pagetranslation.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.searchtranslations": {
			"scripts": "resources/js/ext.translate.special.searchtranslations.js",
			"dependencies": [
				"ext.translate.editor",
				"ext.translate.groupselector",
				"ext.uls.mediawiki",
				"mediawiki.Uri",
				"mediawiki.language"
			],
			"messages": [
				"translate-search-more-groups-info",
				"translate-search-more-languages-info"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.searchtranslations.operatorsuggest": {
			"scripts": "resources/js/ext.translate.special.operatorsuggest.js",
			"dependencies": [
				"jquery.ui.autocomplete"
			],
			"targets": [
				"desktop"
			]
		},
		"ext.translate.special.searchtranslations.styles": {
			"styles": "resources/css/ext.translate.special.searchtranslations.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.supportedlanguages": {
			"styles": "resources/css/ext.translate.special.supportedlanguages.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.translate": {
			"scripts": "resources/js/ext.translate.special.translate.js",
			"dependencies": [
				"ext.translate.base",
				"ext.translate.editor",
				"ext.translate.groupselector",
				"ext.translate.messagetable",
				"ext.translate.navitoggle",
				"ext.translate.recentgroups",
				"ext.translate.workflowselector",
				"jquery.uls.data",
				"mediawiki.Uri",
				"mediawiki.api",
				"mediawiki.jqueryMsg"
			],
			"messages": [
				"tpt-discouraged-language-content",
				"tpt-discouraged-language-force-content",
				"tpt-discouraged-language-force-header",
				"tpt-discouraged-language-header",
				"tux-editor-proofreading-hide-own-translations",
				"tux-editor-proofreading-show-own-translations"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.translate.styles": {
			"styles": "resources/css/ext.translate.special.translate.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.translationstash": {
			"scripts": "resources/js/ext.translate.special.translationstash.js",
			"styles": "resources/css/ext.translate.special.translationstash.css",
			"dependencies": [
				"ext.translate.editor",
				"ext.translate.messagetable",
				"ext.translate.translationstashstorage",
				"ext.uls.mediawiki",
				"mediawiki.api",
				"mediawiki.language"
			],
			"messages": [
				"translate-translationstash-skip-button-label",
				"translate-translationstash-translations",
				"tsb-limit-reached-body",
				"tsb-limit-reached-title"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.special.translationstats": {
			"scripts": "resources/js/ext.translate.special.translationstats.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.statsbar": {
			"styles": "resources/css/ext.translate.statsbar.css",
			"scripts": "resources/js/ext.translate.statsbar.js",
			"messages": [
				"translate-statsbar-tooltip",
				"translate-statsbar-tooltip-with-fuzzy"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.statstable": {
			"styles": "resources/css/ext.translate.statstable.less",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.storage": {
			"scripts": "resources/js/ext.translate.storage.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.tabgroup": {
			"styles": "resources/css/ext.translate.tabgroup.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.tag.languages": {
			"styles": "resources/css/ext.translate.tag.languages.css",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.translationstashstorage": {
			"scripts": "resources/js/ext.translate.translationstashstorage.js",
			"dependencies": [
				"mediawiki.api"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"ext.translate.workflowselector": {
			"styles": "resources/css/ext.translate.workflowselector.css",
			"scripts": "resources/js/ext.translate.workflowselector.js",
			"messages": [
				"translate-workflow-set-doing",
				"translate-workflow-state-",
				"translate-workflowstatus"
			],
			"dependencies": [
				"ext.translate.dropdownmenu",
				"mediawiki.api"
			],
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"jquery.ajaxdispatcher": {
			"scripts": "resources/js/jquery.ajaxdispatcher.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"jquery.autosize": {
			"scripts": "resources/js/jquery.autosize.js",
			"targets": [
				"desktop",
				"mobile"
			]
		},
		"jquery.textchange": {
			"scripts": "resources/js/jquery.textchange.js",
			"targets": [
				"desktop",
				"mobile"
			]
		}
	},
	"DefaultUserOptions": {
		"translate": 0,
		"translate-editlangs": "default",
		"translate-recent-groups": ""
	},
	"AvailableRights": [
		"translate",
		"translate-import",
		"translate-manage",
		"translate-messagereview",
		"translate-groupreview"
	],
	"GrantPermissions": {
		"editpage": {
			"translate": true
		}
	}
}