Extension:Translate/Namespaces

This is a plan for moving Translate to PSR-4. All code except entry points will be moved to src/ and will be under a namespace tree starting from \MediaWiki\Extension\Translate. Command line script entry points will be kept under maintenance/scripts, but the classes would be moved under src/ for consistency.

Classes are grouped by features, not by functionality.

For consistency, I have done these changes

  • Use type-suffixes instead of prefixes (e.g. SpecialTranslate -> TranslateSpecialPage)
  • Suffixes: SpecialPage, ActionApi, MaintenanceScript, Job...
  • For special pages, action apis, jobs and maintenance scripts, place verb first (if any)
  • Changed all upper case acronyms to camel case
  • Avoid abbreviations (exception: stats)

Classes to deprecate or remove edit

  1. !DEPRECATE: RevTag
  2. HTMLJsSelectToInputField (used by TranslatePreferences)
  3. TranslateToolbox (integrate with Hooks?)

\MediaWiki\Extension\Translate edit

Classes that do not belong to anywhere else. They integrate with MediaWiki core.

  1. Hooks <- TranslateHooks
  2. LogFormatter <- TranslateLogFormatter
  3. RecentChangesTranslationFilter <- TranslateRcFilter


Diagnostics edit

  1. ComparePluralImplementationsMaintenanceScript <- PluralCompare
  2. CompareYamlImplementationsMaintenanceScript <- YamlTests
  3. CreateLanguageFallbackGraphMaintenanceScript <- FallbacksCompare
  4. MigrateRevisionTagTableSchemaMaintenanceScript <- TSchema2
  5. PopulateFuzzyRevisionTagMaintenenanceScript <- PopulateFuzzy
  6. RemoveOrphanedActorsMaintenanceScript <- RemoveOrphanedActors
  7. TestWebServiceMaintenanceScript <- TestMT
  8. ValidateTranslationsMaintenanceScript <- CreateCheckIndex


FileFormatSupport edit

This requires moving to id-based loaders in message group configurarion.

  1. AmdFfs <- AmdFFS
  2. AndroidFfs <- AndroidXmlFFS
  3. AppleFfs <- AppleFFS
  4. AppleInfoPlistFfs
  5. BaseFfs <- SimpleFFS
  6. DtdFfs <- DtdFFS
  7. GettextFfs <- GettextFFS
  8. IniFfs <- IniFFS
  9. JavaPropertiesFfs <- JavaFFS
  10. JsonFfs <- JsonFFS
  11. MalformedPlural <- GettextPluralException
  12. PhpVariablesFfs <- FlatPhpFFS
  13. XliffFfs <- XliffFFS
  14. YamlFfs <- YamlFFS
  15. interface FileFormatHandler <- interface FFS


MessageGroup edit

  1. AggregateMessageGroup
  2. FileBasedMessageGroup
  3. MediaWikiExtensionMessageGroup
  4. RecentAdditionsMessageGroup
  5. RecentMessageGroup
  6. SandboxMessageGroup
  7. WikiMessageGroup
  8. WorkflowStatesMessageGroup
  9. interface MessageGroup


MessageGroupProcessing edit

  1. AggregateGroupsActionApi <- ApiAggregateGroups
  2. AggregateGroupsSpecialPage <- SpecialAggregateGroups
  3. AggregateMessageGroupLoader
  4. FileBasedMessageGroupLoader
  5. GroupReviewActionApi <- ApiGroupReview
  6. ManageMessageGroupsActionApi <- ApiManageMessageGroups
  7. MessageGroupCache
  8. MessageGroupStates
  9. MessageGroupStatesUpdaterJob
  10. MessageGroupWANCache
  11. MessageGroups
  12. QueryManageMessageGroupsActionApi <- ApiQueryManageMessageGroups
  13. QueryMessageGroupsActionApi <- ApiQueryMessageGroups
  14. TranslateMetadata
  15. WorkflowStatesMessageGroupLoader
  16. interface CachedMessageGroupLoader


MessageGroupConfiguration edit

  1. MessageGroupConfigurationParser
  2. PremadeIntuitionTextdomains
  3. PremadeMediawikiExtensionGroups
  4. interface MetaYamlSchemaExtender


MessageLoading edit

  1. QueryMessageCollectionActionApi <- ApiQueryMessageCollection
  2. QueryMessageTranslationsActionApi <- ApiQueryMessageTranslations
  3. CdbMessageIndex <- CDBMessageIndex
  4. CachedMessageIndex
  5. CreateMessageIndexMaintenanceScript <- CreateMessageIndex
  6. DatabaseMessageIndex
  7. FatMessage
  8. HashMessageIndex
  9. MessageCollection
  10. MessageDefinitions
  11. MessageHandle
  12. RebuildMessageIndexJob <- MessageIndexRebuildJob
  13. SerializedMessageIndex
  14. ThinMessage
  15. Message <- TMessage


MessageProcessing edit

  1. ArrayFlattener
  2. GettextPlural
  3. SimpleStringComparator <- StringComparators\
  4. SmartFormatPlural
  5. StringMatcher
  6. UnicodePlural
  7. interface StringComparator <- StringComparators\
  8. interface StringMangler


PageTranslation edit

  1. DeleteTranslatablePageJob <- TranslateDeleteJob
  2. DeleteTranslatablePageSpecialPage <- SpecialPageTranslationDeletePage
  3. Hooks <- PageTranslationHooks
  4. LogFormatter <- PageTranslationLogFormatter
  5. MigrateTranslatablePageSpecialPage <- SpecialPageMigration
  6. MoveTranslatablePageJob <- TranslatablePageMoveJob
  7. MoveTranslatablePageSpecialPage <- SpecialPageTranslationMovePage
  8. PageTranslationSpecialPage <- SpecialPageTranslation
  9. PrepareTranslatablePageSpecialPage <- SpecialPagePreparation
  10. RefreshTranslatablePagesMaintenanceScript <- RefreshTranslatablePages
  11. RenderTranslationPageJob <- TranslateRenderJob
  12. TranslatablePage
  13. TranslatablePageException <- TPException (XXX: needs refactoring in the future)
  14. TranslatablePageInsertablesSuggester
  15. TranslatablePageMessageGroup <- WikiPageMessageGroup
  16. TranslatablePageMessageGroupStore
  17. TranslatablePageParse <- TPParse
  18. TranslatablePageSection <- TPSection
  19. UpdateTranslationsJob <- TranslationsUpdateJob


Statistics edit

  1. CharacterEditStatsMaintenanceScript <- CharacterEditStats
  2. LanguageEditStatsMaintenanceScript <- Languageeditstats
  3. LanguageStatsSpecialPage <- SpecialLanguageStats
  4. MessageGroupStats
  5. MessageGroupStatsMaintenanceScript <- GroupStatistics
  6. MessageGroupStatsSpecialPage <- SpecialMessageGroupStats
  7. QueryLanguageStatsActionApi <- ApiQueryLanguageStats
  8. QueryMessageGroupStatsActionApi <- ApiQueryMessageGroupStats
  9. RebuildMessageGroupStatsJob <- MessageGroupStatsRebuildJob
  10. ReviewPerLanguageStats
  11. StatsTable
  12. SupportedLanguageSpecialPage <- SpecialSupportedLanguages
  13. TranslatePerLanguageStats
  14. TranslateRegistrationStats
  15. TranslateStatsOutput
  16. TranslationStats
  17. TranslationStatsSpecialPage <- SpecialTranslationStats
  18. interface TranslationStatsInterface


Synchronization edit

  1. ChangeSyncer
  2. ExpandGroupSpecificationMaintenanceScript <- TranslateExpandGroupSpec
  3. ExportTranslationsMaintenanceScript <- CommandlineExport
  4. ExportTranslationsSpecialPage <- SpecialExportTranslations
  5. ExternalMessageSourceStateComparator
  6. ExternalMessageSourceStateImporter
  7. ImportExternalTranslationsMaintenanceScript <- ProcessMessageChanges
  8. ImportOfflineTranslationsMaintenanceScript <- Poimport
  9. ImportTranslationsSpecialPage <- SpecialImportTranslations
  10. ManageGroupsSpecialPage <- SpecialManageGroups
  11. MessageChangeStorage
  12. MessageSourceChange <- MessageSync\MessageSourceChange
  13. MessageWebImporter
  14. OfflineTranslationsImporter <- WikiWriter
  15. OfflineTranslationsParser <- PoImporter
  16. RenameExternalLanguageMaintenanceScript <- ExportRenameLanguage
  17. UpdateMessageJob <- MessageUpdateJob

TranslatorInterface edit

  1. AssistantLanguagesPreference <- TranslatePreferences
  2. MessageTable <- TuxMessageTable
  3. ReviewTranslationActiveApi <- ApiTranslationReview
  4. StatsBar
  5. TranslateEditAddons
  6. TranslateSpecialPage <- SpecialTranslate
  7. TranslationHelperException
  8. TranslationHelpers
  9. TranslationsSpecialPage <- SpecialTranslations

Aid edit

  1. CurrentTranslationAid
  2. DocumentationAid
  3. GettextDocumentationAid
  4. InOtherLanguagesAid
  5. InsertablesAid
  6. MachineTranslationAid
  7. MessageDefinitionAid
  8. SupportAid
  9. TTMServerAid
  10. TranslationAidDataProvider
  11. TranslationAidsActionApi <- ApiTranslationAids
  12. UnsupportedTranslationAid
  13. UpdatedDefinitionAid

Insertable edit

  1. CombinedInsertablesSuggester
  2. HtmlTagInsertablesSuggester
  3. Insertable
  4. MediaWikiInsertablesSuggester
  5. NumericalParameterInsertablesSuggester
  6. RegexInsertablesSuggester
  7. interface InsertablesSuggester


TranslatorSandbox edit

User visible api and special page names would not change.

  1. ManageTranslatorSandboxSpecialPage <- SpecialManageTranslatorSandbox
  2. TranslationStashActionApi <- ApiTranslationStash
  3. TranslationStashSpecialPage <- SpecialTranslationStash
  4. StashedTranslation
  5. StatisticsCollectionMaintenanceScript <- TS
  6. StatisticsProcessingMaintenanceScript <- TSP
  7. TranslateSandbox
  8. TranslateSandboxEmailJob
  9. TranslationStashStorage
  10. TranslatorSandboxActionApi <- ApiTranslateSandbox


TtmServer edit

  1. BootstrapTtmServerMaintenanceScript <- TTMServerBootstrap
  2. CrossLanguageTranslationSearchQuery
  3. DatabaseTtmServer <- DatabaseTTMServer
  4. ElasticSearchTtmServer <- ElasticSearchTTMServer
  5. FakeTtmServer <- FakeTTMServer
  6. FuzzyLikeThis
  7. RemoteTtmserver <- RemoteTTMServer
  8. SearchTranslationsActionApi <- ApiSearchTranslations
  9. SearchTranslationsSpecialPage <- SpecialSearchTranslations
  10. TtmServer <- TTMServer
  11. TtmServerActionApi <- ApiTTMServer
  12. TtmServerException <- TTMServerException
  13. TtmServerMessageUpdateJob <- TTMServerMessageUpdateJob
  14. interface ReadableTtmServer <- ReadableTTMServer
  15. interface SearchableTtmServer <- SearchableTTMServer
  16. interface WritableTtmServer <- WritableTTMServer


Utilities edit

  1. CommandLineLogger <- TranslateCliLogger
  2. FCFontFinder
  3. FuzzyTranslationsMaintenanceScript <- Fuzzy
  4. JsSelectToInput
  5. PHPVariableLoader
  6. SystemUsers <- SystemUsers\TranslateUserManager
  7. TranslateReplaceTitle
  8. TranslationFuzzer <- FuzzyScript
  9. Utilities <- TranslateUtils (should be split)
  10. Yaml <- TranslateYaml


Validation edit

  1. CheckTranslationActionApi <- ApiTranslationCheck
  2. MessageValidator
  3. ValidationResult
  4. ValidatorFactory
  5. interface Validator

Validator edit

  1. BraceBalanceValidator
  2. EscapeCharacterValidator
  3. GettextNewlineValidator
  4. GettextPluralValidator
  5. InsertableRegexValidator
  6. InsertableRubyVariableValidator
  7. IosVariableValidator
  8. MatchSetValidator
  9. MediaWikiMiscValidator
  10. MediaWikiPageNameValidator
  11. MediaWikiPluralValidator
  12. NewlineValidator
  13. NumericalParameterValidator
  14. PrintfValidator
  15. PythonInterpolationValidator
  16. SmartFormatPluralValidator
  17. UnicodePluralValidator
  18. WikiLinkValidator
  19. WikiParameterValidator


WebService edit

  1. ApertiumWebService
  2. CaighdeanWebService
  3. CxserverWebService
  4. MicrosoftWebService
  5. QueryAggregator
  6. RESTBaseWebService
  7. RemoteTTMServerWebService
  8. TranslationQuery
  9. TranslationQueryResponse
  10. TranslationWebServiceConfigurationException
  11. TranslationWebServiceException
  12. TranslationWebServiceInvalidInputException
  13. YandexWebService
  14. interface QueryAggregatorAware