User:Santhosh.thottingal/i18nreview/ArticleFeedbackv5

Unused messages

 * The special page ArticleFeedbackv5 uses jquery.articleFeedbackv5.special module. All the messages used in that js module should be registered as messages in resource loader to make it available at client side  is not registered as a message in ArticleFeedbackv5.php
 * For jquery.articleFeedbackv5.special module,several messages are regsitered, but I don't see the following messages used a client side:
 * The above comment is valid for jquery.articleFeedbackv5 module. Not all messages registered for the module is not used at client side. remove unwanted messages from module definition.
 * Remove all unused messages from i18n.php file. The following messages are found only in i18n.php and not used anywhere. It is a waste of time for translators
 * articlefeedbackv5-error-abuse-linktext
 * articlefeedbackv5-error-abuse-link
 * articlefeedbackv5-special-sort-age
 * articlefeedbackv5-special-sort-helpful
 * articlefeedbackv5-special-sort-rating
 * articlefeedbackv5-form-optionid
 * articlefeedbackv5-form-header
 * articlefeedbackv5-special-title
 * articleFeedbackv5-table-caption-dailyhighsandlows
 * articleFeedbackv5-table-caption-dailyhighs
 * articleFeedbackv5-table-caption-dailylows
 * articleFeedbackv5-table-caption-weeklymostchanged
 * articleFeedbackv5-table-caption-recentlows
 * articleFeedbackv5-table-heading-page
 * articleFeedbackv5-table-heading-average
 * articlefeedbackv5-table-noratings
 * articleFeedbackv5-copy-above-highlow-tables
 * articlefeedbackv5-dashboard-bottom
 * articlefeedbackv5-privacyurl

Message documentation
It is mandatory to have documention for all the interface messages. See I18n.
 * Messages like All ($1), Unhelpful ($1) should have documentation about what is $1, because translators should know what is going to be be there at placeholders for a meaningful message in their language. Following message does not have message documentation in messages['qqq'], Even though some messages are too easy to understand the context, some others might need not give any clue to translators where the message will be used and context. So it is always recommended to have message documentation for all messages.
 * articlefeedbackv5-page-disabled
 * articlefeedbackv5-error-email
 * articlefeedbackv5-error-validation
 * articlefeedbackv5-error-unknown
 * articlefeedbackv5-error-submit
 * articlefeedbackv5-error-flagging
 * articlefeedbackv5-form-helpful-label
 * articlefeedbackv5-form-helpful-votes
 * articlefeedbackv5-special-add-feedback
 * articlefeedbackv5-special-filter-needsoversight
 * articlefeedbackv5-special-filter-visible
 * articlefeedbackv5-special-sort-asc
 * articlefeedbackv5-special-sort-desc
 * articlefeedbackv5-special-sort-helpful
 * articlefeedbackv5-special-sort-label-before
 * articlefeedbackv5-special-sort-label-after
 * articlefeedbackv5-special-filter-label-before
 * articlefeedbackv5-special-filter-label-after
 * articlefeedbackv5-special-showing
 * articlefeedbackv5-comment-link
 * articlefeedbackv5-updates-since
 * articlefeedbackv5-form-optionid
 * articlefeedbackv5-hidden
 * articlefeedbackv5-form-hide
 * articlefeedbackv5-form-unhide
 * articlefeedbackv5-form-helpful
 * articlefeedbackv5-form-abuse
 * articlefeedbackv5-form-undelete
 * articlefeedbackv5-form3-header
 * articlefeedbackv5-form5-header
 * articlefeedbackv5-form-not-shown
 * articlefeedbackv5-form-invalid
 * articlefeedbackv5-delete-saved
 * articlefeedbackv5-abuse-saved
 * articlefeedbackv5-hide-saved
 * articlefeedbackv5-unhelpful-saved
 * articlefeedbackv5-helpful-saved
 * articlefeedbackv5-unhide-saved
 * articlefeedbackv5-undelete-saved
 * articlefeedbackv5-error-loading-feedback
 * articlefeedbackv5-invalid-feedback-id
 * articlefeedbackv5-invalid-feedback-flag
 * articlefeedbackv5-go-to-article
 * articlefeedbackv5-invalid-page-id
 * articlefeedbackv5-percent-found
 * articlefeedbackv5-overall-rating
 * articleFeedbackv5-table-caption-dailyhighsandlows
 * articleFeedbackv5-table-caption-dailyhighs
 * articleFeedbackv5-table-caption-dailylows
 * articleFeedbackv5-table-caption-weeklymostchanged
 * articleFeedbackv5-table-caption-recentlows
 * articlefeedbackv5-dashboard-bottom
 * articlefeedbackv5-bucket5-form-switch-label
 * articlefeedbackv5-bucket5-form-panel-title
 * articlefeedbackv5-bucket5-form-panel-clear
 * articlefeedbackv5-bucket5-form-panel-expertise
 * articlefeedbackv5-bucket5-form-panel-expertise-studies
 * articlefeedbackv5-bucket5-form-panel-expertise-profession
 * articlefeedbackv5-bucket5-form-panel-expertise-hobby
 * articlefeedbackv5-bucket5-form-panel-expertise-other
 * articlefeedbackv5-bucket5-form-panel-submit
 * articlefeedbackv5-bucket5-form-panel-pending
 * articlefeedbackv5-bucket5-form-panel-success
 * articlefeedbackv5-bucket5-form-panel-expiry-title
 * articlefeedbackv5-bucket5-form-panel-expiry-message
 * articlefeedbackv5-bucket5-report-switch-label
 * articlefeedbackv5-bucket5-report-panel-title
 * articlefeedbackv5-bucket5-report-panel-description
 * articlefeedbackv5-bucket5-report-empty
 * articlefeedbackv5-bucket5-trustworthy-label
 * articlefeedbackv5-bucket5-trustworthy-tip
 * articlefeedbackv5-bucket5-trustworthy-tooltip-1
 * articlefeedbackv5-bucket5-trustworthy-tooltip-2
 * articlefeedbackv5-bucket5-trustworthy-tooltip-3
 * articlefeedbackv5-bucket5-trustworthy-tooltip-4
 * articlefeedbackv5-bucket5-trustworthy-tooltip-5
 * articlefeedbackv5-bucket5-complete-label
 * articlefeedbackv5-bucket5-complete-tip
 * articlefeedbackv5-bucket5-complete-tooltip-1
 * articlefeedbackv5-bucket5-complete-tooltip-2
 * articlefeedbackv5-bucket5-complete-tooltip-3
 * articlefeedbackv5-bucket5-complete-tooltip-4
 * articlefeedbackv5-bucket5-complete-tooltip-5
 * articlefeedbackv5-bucket5-objective-label
 * articlefeedbackv5-bucket5-objective-tip
 * articlefeedbackv5-bucket5-objective-tooltip-1
 * articlefeedbackv5-bucket5-objective-tooltip-2
 * articlefeedbackv5-bucket5-objective-tooltip-3
 * articlefeedbackv5-bucket5-objective-tooltip-4
 * articlefeedbackv5-bucket5-objective-tooltip-5
 * articlefeedbackv5-bucket5-wellwritten-label
 * articlefeedbackv5-bucket5-wellwritten-tip
 * articlefeedbackv5-bucket5-wellwritten-tooltip-1
 * articlefeedbackv5-bucket5-wellwritten-tooltip-2
 * articlefeedbackv5-bucket5-wellwritten-tooltip-3
 * articlefeedbackv5-bucket5-wellwritten-tooltip-4
 * articlefeedbackv5-bucket5-wellwritten-tooltip-5
 * articlefeedbackv5-help-tooltip-linkurl
 * articlefeedbackv5-disable-preference

General Comments

 * Consider changing the way modules are registered. ResourceLoaderRegisterModules hook is discouraged and alternate methods are suggested in Manual:Hooks/ResourceLoaderRegisterModules
 * aft5_debug can be replaced by mw.log. See ResourceLoader/Default_modules
 * This message -  , if $2 is passed as empty, will look like 'Someuser rated this page /5'. And this is actually happening if I did not rate the article but just gave a comment. The extra parameter for the feedbackHead method has a default value  emptystring.

Avoid patchwork
The way we display feedback headers is kind of patchwork message. eg: UserContributionLiink [ICON]  rated this page $2/5 is the effective header coming from feedbackHead message. The gender passed ias $1 value is and in English this is effectively UserContributionLiink [ICON] rated this page 2/5.

Please read Localisation. It would be better if the sentence is a meaningful complete sentence and icon/image not coming in between words. You may consider placing them left or right side of message. And the verb 'rated' is changing based on gender. So the above message can be made more clear like '$1  this page $3/5. with $1 as user contribution Link, $2 as gender, $3 as rating. For some examples, see articlefeedbackv5-form3-header is translated to he or be-tarask languages. For another example, see 'logentry-translationreview-message' => '$1 translation $3', message in Translate.i18n.php in Translate extension. Another example is logentry-* messages in languages/messages/MessagesEn.php