Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwclouser@mozilla.com <wclouser@mozilla.com@4eb1ac78-321c-0410-a911-ec516a8615a5>2009-08-14 03:06:14 (GMT)
committer wclouser@mozilla.com <wclouser@mozilla.com@4eb1ac78-321c-0410-a911-ec516a8615a5>2009-08-14 03:06:14 (GMT)
commit6cc652b831c9d23b9e4730ae7670f9fef303c974 (patch)
tree5f7f8cc3bfc74f9fef101e75bfda9cd868e8070d
parent1e2abf6ad58d8271d6d7b49f23c7fa8f432ce6a4 (diff)
Converted to normal .po files; bug 501988
git-svn-id: http://svn.mozilla.org/addons/trunk@49180 4eb1ac78-321c-0410-a911-ec516a8615a5
-rw-r--r--site/app/app_controller.php2
-rw-r--r--site/app/config/bootstrap.php24
-rw-r--r--site/app/config/language.php2
-rw-r--r--site/app/controllers/addons_controller.php144
-rw-r--r--site/app/controllers/api_controller.php6
-rw-r--r--site/app/controllers/collections_controller.php130
-rw-r--r--site/app/controllers/compatibility_controller.php2
-rw-r--r--site/app/controllers/components/amo.php180
-rw-r--r--site/app/controllers/components/audit.php182
-rw-r--r--site/app/controllers/components/collections_listing.php8
-rw-r--r--site/app/controllers/components/developers.php80
-rw-r--r--site/app/controllers/components/editors.php24
-rw-r--r--site/app/controllers/components/rdf.php2
-rw-r--r--site/app/controllers/components/simple_acl.php6
-rw-r--r--site/app/controllers/components/stats.php24
-rw-r--r--site/app/controllers/components/validation.php192
-rw-r--r--site/app/controllers/developers_controller.php582
-rw-r--r--site/app/controllers/downloads_controller.php10
-rw-r--r--site/app/controllers/editors_controller.php158
-rw-r--r--site/app/controllers/files_controller.php18
-rw-r--r--site/app/controllers/groups_controller.php22
-rw-r--r--site/app/controllers/localizers_controller.php2
-rw-r--r--site/app/controllers/pages_controller.php32
-rw-r--r--site/app/controllers/previews_controller.php44
-rw-r--r--site/app/controllers/reviews_controller.php42
-rw-r--r--site/app/controllers/search_controller.php16
-rw-r--r--site/app/controllers/statistics_controller.php128
-rw-r--r--site/app/controllers/tags_controller.php10
-rw-r--r--site/app/controllers/users_controller.php84
-rw-r--r--site/app/controllers/versions_controller.php4
-rw-r--r--site/app/locale/en_US/LC_MESSAGES/messages.po4
-rw-r--r--site/app/models/addontype.php28
-rw-r--r--site/app/models/collection.php4
-rw-r--r--site/app/models/license.php2
-rw-r--r--site/app/models/reviews_moderation_flag.php6
-rw-r--r--site/app/models/test_case.php96
-rw-r--r--site/app/models/test_group.php26
-rw-r--r--site/app/tests/controllers/components/developers.test.php12
-rw-r--r--site/app/tests/models/collection.test.php4
-rw-r--r--site/app/tests/test_helper_web.php2
-rw-r--r--site/app/tests/views/addons/display.test.php20
-rw-r--r--site/app/tests/views/addons/home.test.php2
-rw-r--r--site/app/tests/views/addons/plugins.test.php20
-rw-r--r--site/app/tests/views/addons/previews.test.php4
-rw-r--r--site/app/tests/views/addons/searchengines.test.php4
-rw-r--r--site/app/tests/views/addons/versions.test.php10
-rw-r--r--site/app/tests/views/elements/install.test.php20
-rw-r--r--site/app/tests/views/files/browse.test.php10
-rw-r--r--site/app/tests/views/reviews/add.test.php4
-rw-r--r--site/app/tests/views/reviews/display.test.php2
-rw-r--r--site/app/tests/views/search/index.test.php2
-rw-r--r--site/app/views/addons/browse.thtml4
-rw-r--r--site/app/views/addons/browse_thumbs.thtml30
-rw-r--r--site/app/views/addons/category_landing.thtml18
-rw-r--r--site/app/views/addons/developers.thtml8
-rw-r--r--site/app/views/addons/dictionaries.thtml20
-rw-r--r--site/app/views/addons/display.thtml126
-rw-r--r--site/app/views/addons/home.thtml26
-rw-r--r--site/app/views/addons/plugins.thtml56
-rw-r--r--site/app/views/addons/policy.thtml12
-rw-r--r--site/app/views/addons/recommended.thtml2
-rw-r--r--site/app/views/addons/rss/versions.thtml2
-rw-r--r--site/app/views/addons/searchengines.thtml22
-rw-r--r--site/app/views/addons/themes_landing.thtml6
-rw-r--r--site/app/views/addons/versions.thtml12
-rw-r--r--site/app/views/admin/addons_status.thtml2
-rw-r--r--site/app/views/admin/flagged_queue.thtml4
-rw-r--r--site/app/views/admin/users_edit.thtml36
-rw-r--r--site/app/views/api/api_addon.thtml4
-rw-r--r--site/app/views/api/collections_feed.thtml4
-rw-r--r--site/app/views/collections/add.thtml38
-rw-r--r--site/app/views/collections/detail.thtml26
-rw-r--r--site/app/views/collections/edit.thtml160
-rw-r--r--site/app/views/collections/listing.thtml4
-rw-r--r--site/app/views/collections/subscribe.thtml16
-rw-r--r--site/app/views/compatibility/dashboard.thtml44
-rw-r--r--site/app/views/compatibility/developers.thtml10
-rw-r--r--site/app/views/compatibility/report.thtml4
-rw-r--r--site/app/views/compatibility/users.thtml2
-rw-r--r--site/app/views/developers/addon_edit.thtml34
-rw-r--r--site/app/views/developers/addon_edit_authors.thtml54
-rw-r--r--site/app/views/developers/addon_edit_categories.thtml32
-rw-r--r--site/app/views/developers/addon_edit_contributions.thtml54
-rw-r--r--site/app/views/developers/addon_edit_descriptions.thtml44
-rw-r--r--site/app/views/developers/addon_edit_profile.thtml22
-rw-r--r--site/app/views/developers/addon_edit_properties.thtml120
-rw-r--r--site/app/views/developers/addon_edit_tags.thtml12
-rw-r--r--site/app/views/developers/addon_status.thtml114
-rw-r--r--site/app/views/developers/addon_status_confirm.thtml18
-rw-r--r--site/app/views/developers/addon_status_nominate.thtml10
-rw-r--r--site/app/views/developers/dashboard.thtml46
-rw-r--r--site/app/views/developers/discuss.thtml16
-rw-r--r--site/app/views/developers/previews.thtml38
-rw-r--r--site/app/views/developers/uploader.thtml66
-rw-r--r--site/app/views/developers/versions.thtml32
-rw-r--r--site/app/views/developers/versions_delete.thtml14
-rw-r--r--site/app/views/developers/versions_edit.thtml84
-rw-r--r--site/app/views/developers/versions_validate.thtml6
-rw-r--r--site/app/views/editors/featured.thtml28
-rw-r--r--site/app/views/editors/logs.thtml8
-rw-r--r--site/app/views/editors/markdown.thtml2
-rw-r--r--site/app/views/editors/performance_charts.thtml26
-rw-r--r--site/app/views/editors/performance_table.thtml46
-rw-r--r--site/app/views/editors/queue.thtml52
-rw-r--r--site/app/views/editors/review.thtml188
-rw-r--r--site/app/views/editors/reviewlog.thtml32
-rw-r--r--site/app/views/editors/reviews_queue.thtml18
-rw-r--r--site/app/views/editors/summary.thtml10
-rw-r--r--site/app/views/elements/addon_categories.thtml4
-rw-r--r--site/app/views/elements/addon_discussionheader.thtml4
-rw-r--r--site/app/views/elements/addon_list_options.thtml16
-rw-r--r--site/app/views/elements/addon_listitem.thtml16
-rw-r--r--site/app/views/elements/addon_tags.thtml2
-rw-r--r--site/app/views/elements/addon_version_detail.thtml8
-rw-r--r--site/app/views/elements/amo2009/addons/developers/about_addon.thtml4
-rw-r--r--site/app/views/elements/amo2009/addons/developers/other_addons.thtml2
-rw-r--r--site/app/views/elements/amo2009/addons/list_options.thtml16
-rw-r--r--site/app/views/elements/amo2009/addons/version_detail.thtml6
-rw-r--r--site/app/views/elements/amo2009/categories.thtml6
-rw-r--r--site/app/views/elements/amo2009/collection_listing_item.thtml10
-rw-r--r--site/app/views/elements/amo2009/collections/add_form.thtml4
-rw-r--r--site/app/views/elements/amo2009/collections/collector_info_secondary.thtml12
-rw-r--r--site/app/views/elements/amo2009/collections/collector_sidebar_download.thtml4
-rw-r--r--site/app/views/elements/amo2009/collections/js_init.thtml8
-rw-r--r--site/app/views/elements/amo2009/collections/sort_form.thtml4
-rw-r--r--site/app/views/elements/amo2009/contribution.thtml18
-rw-r--r--site/app/views/elements/amo2009/homepage_addon.thtml24
-rw-r--r--site/app/views/elements/amo2009/homepage_addon_listing.thtml16
-rw-r--r--site/app/views/elements/amo2009/install.thtml44
-rw-r--r--site/app/views/elements/amo2009/new_indicator.thtml2
-rw-r--r--site/app/views/elements/amo2009/pagination.thtml4
-rw-r--r--site/app/views/elements/amo2009/results_addon.thtml32
-rw-r--r--site/app/views/elements/amo2009/reviews.thtml2
-rw-r--r--site/app/views/elements/amo2009/search.thtml64
-rw-r--r--site/app/views/elements/amo2009/separated_list_items.thtml12
-rw-r--r--site/app/views/elements/amo2009/stars.thtml4
-rw-r--r--site/app/views/elements/amo2009/teaser_collections.thtml8
-rw-r--r--site/app/views/elements/amo2009/users/vcard.thtml23
-rw-r--r--site/app/views/elements/app_chooser.thtml4
-rw-r--r--site/app/views/elements/app_compatibility.thtml2
-rw-r--r--site/app/views/elements/categories.thtml6
-rw-r--r--site/app/views/elements/collections_interactive_addon.thtml4
-rw-r--r--site/app/views/elements/developers/actionbar.thtml12
-rw-r--r--site/app/views/elements/developers/additem.thtml16
-rw-r--r--site/app/views/elements/developers/editbox.thtml28
-rw-r--r--site/app/views/elements/developers/editors_comment_add_form.thtml4
-rw-r--r--site/app/views/elements/developers/editors_review_history_item.thtml23
-rw-r--r--site/app/views/elements/developers/editorsmenu.thtml22
-rw-r--r--site/app/views/elements/developers/editorsqueue.thtml6
-rw-r--r--site/app/views/elements/developers/license_picker.thtml4
-rw-r--r--site/app/views/elements/developers/localebox.thtml6
-rw-r--r--site/app/views/elements/developers/myaddons.thtml16
-rw-r--r--site/app/views/elements/developers/performanceheader.thtml6
-rw-r--r--site/app/views/elements/developers/rolecheck.thtml2
-rw-r--r--site/app/views/elements/developers/sidebar.thtml16
-rw-r--r--site/app/views/elements/developers/statsbar.thtml6
-rw-r--r--site/app/views/elements/developers/testresults.thtml8
-rw-r--r--site/app/views/elements/developers/testresults_group.thtml24
-rw-r--r--site/app/views/elements/developers/testresults_header.thtml2
-rw-r--r--site/app/views/elements/developers/testresults_stats.thtml20
-rw-r--r--site/app/views/elements/feature.thtml26
-rw-r--r--site/app/views/elements/footer.thtml20
-rw-r--r--site/app/views/elements/header.thtml40
-rw-r--r--site/app/views/elements/install.thtml36
-rw-r--r--site/app/views/elements/pagination.thtml6
-rw-r--r--site/app/views/elements/pitch.thtml20
-rw-r--r--site/app/views/elements/recaptcha.thtml2
-rw-r--r--site/app/views/elements/search.thtml60
-rw-r--r--site/app/views/elements/search_mini.thtml10
-rw-r--r--site/app/views/elements/stars.thtml4
-rw-r--r--site/app/views/elements/translationbox.thtml32
-rw-r--r--site/app/views/errors/error401.thtml4
-rw-r--r--site/app/views/files/browse.thtml10
-rw-r--r--site/app/views/helpers/addons_html.php8
-rw-r--r--site/app/views/helpers/localization.php2
-rw-r--r--site/app/views/layouts/amo2009.thtml62
-rw-r--r--site/app/views/layouts/mozilla.thtml2
-rw-r--r--site/app/views/pages/appversions.thtml10
-rw-r--r--site/app/views/pages/collector.thtml6
-rw-r--r--site/app/views/pages/collector_faq.thtml6
-rw-r--r--site/app/views/pages/collector_features.thtml8
-rw-r--r--site/app/views/pages/collector_firstrun.thtml8
-rw-r--r--site/app/views/pages/credits.thtml20
-rw-r--r--site/app/views/pages/js_constants.js.thtml56
-rw-r--r--site/app/views/pages/policy.thtml2
-rw-r--r--site/app/views/previews/add.thtml10
-rw-r--r--site/app/views/previews/edit.thtml8
-rw-r--r--site/app/views/reviews/add.thtml60
-rw-r--r--site/app/views/reviews/delete.thtml10
-rw-r--r--site/app/views/reviews/display.thtml92
-rw-r--r--site/app/views/reviews/flag.thtml8
-rw-r--r--site/app/views/reviews/review_added.thtml10
-rw-r--r--site/app/views/search/collections.thtml4
-rw-r--r--site/app/views/search/index.thtml40
-rw-r--r--site/app/views/search/rss/index.thtml2
-rw-r--r--site/app/views/sharing_api/addon.thtml4
-rw-r--r--site/app/views/statistics/addon.thtml98
-rw-r--r--site/app/views/statistics/index.thtml50
-rw-r--r--site/app/views/statistics/rss/summary.thtml32
-rw-r--r--site/app/views/statistics/settings.thtml18
-rw-r--r--site/app/views/tags/display.thtml16
-rw-r--r--site/app/views/tags/top.thtml2
-rw-r--r--site/app/views/users/activatefirst.thtml6
-rw-r--r--site/app/views/users/delete.thtml20
-rw-r--r--site/app/views/users/edit.thtml110
-rw-r--r--site/app/views/users/email/confirm_plain.thtml2
-rw-r--r--site/app/views/users/email/emailchange_plain.thtml2
-rw-r--r--site/app/views/users/email/pwreset_plain.thtml2
-rw-r--r--site/app/views/users/emailchange.thtml8
-rw-r--r--site/app/views/users/info.thtml18
-rw-r--r--site/app/views/users/login.thtml32
-rw-r--r--site/app/views/users/pwreset.thtml18
-rw-r--r--site/app/views/users/register.thtml54
-rw-r--r--site/app/views/users/register_complete.thtml6
-rw-r--r--site/app/views/versions/license.thtml2
-rw-r--r--site/app/views/versions/update_info.thtml2
216 files changed, 3094 insertions, 3094 deletions
diff --git a/site/app/app_controller.php b/site/app/app_controller.php
index d5441d0..1cde921 100644
--- a/site/app/app_controller.php
+++ b/site/app/app_controller.php
@@ -277,7 +277,7 @@ class AppController extends Controller
($_POST['sessionCheck'] != $currentMd5 && $_POST['sessionCheck'] != $previousMd5)) {
header('HTTP/1.1 400 Bad Request');
- $this->flash( _('error_formerrors'), '/' , 3); //error string is a little non-informative
+ $this->flash( ___('There are errors in this form. Please correct them and resubmit.'), '/' , 3); //error string is a little non-informative
exit();
}
}
diff --git a/site/app/config/bootstrap.php b/site/app/config/bootstrap.php
index 4ba0083..72e7e16 100644
--- a/site/app/config/bootstrap.php
+++ b/site/app/config/bootstrap.php
@@ -255,11 +255,11 @@ if (in_array(LANG, $rtl_languages)) {
global $app_prettynames;
$app_prettynames = array(
- 'firefox' => ___('main_prettyname_firefox'),
- 'thunderbird' => ___('main_prettyname_thunderbird'),
- 'sunbird' => ___('main_prettyname_sunbird'),
- 'seamonkey' => ___('main_prettyname_seamonkey'),
- 'fennec' => ___('main_prettyname_fennec')
+ 'firefox' => ___('Firefox'),
+ 'thunderbird' => ___('Thunderbird'),
+ 'sunbird' => ___('Sunbird'),
+ 'seamonkey' => ___('SeaMonkey'),
+ 'fennec' => ___('Fennec')
);
define('APP_PRETTYNAME', $app_prettynames[APP_SHORTNAME]);
@@ -278,10 +278,10 @@ $flush_lists = array();
*/
global $licenses;
$licenses = array();
-$licenses[0] = array('name' => ___('licenses_mpl_1.1'), 'url' => 'http://www.mozilla.org/MPL/MPL-1.1.html');
-$licenses[1] = array('name' => ___('licenses_gpl_2.0'), 'url' => 'http://www.gnu.org/licenses/gpl-2.0.html');
-$licenses[2] = array('name' => ___('licenses_gpl_3.0'), 'url' => 'http://www.gnu.org/licenses/gpl-3.0.html');
-$licenses[3] = array('name' => ___('licenses_lgpl_2.1'), 'url' => 'http://www.gnu.org/licenses/lgpl-2.1.html');
-$licenses[4] = array('name' => ___('licenses_lgpl_3.0'), 'url' => 'http://www.gnu.org/licenses/lgpl-3.0.html');
-$licenses[5] = array('name' => ___('licenses_mit'), 'url' => 'http://www.opensource.org/licenses/mit-license.php');
-$licenses[6] = array('name' => ___('licenses_bsd'), 'url' => 'http://www.opensource.org/licenses/bsd-license.php');
+$licenses[0] = array('name' => ___('Mozilla Public License, version 1.1'), 'url' => 'http://www.mozilla.org/MPL/MPL-1.1.html');
+$licenses[1] = array('name' => ___('GNU General Public License, version 2.0'), 'url' => 'http://www.gnu.org/licenses/gpl-2.0.html');
+$licenses[2] = array('name' => ___('GNU General Public License, version 3.0'), 'url' => 'http://www.gnu.org/licenses/gpl-3.0.html');
+$licenses[3] = array('name' => ___('GNU Lesser General Public License, version 2.1'), 'url' => 'http://www.gnu.org/licenses/lgpl-2.1.html');
+$licenses[4] = array('name' => ___('GNU Lesser General Public License, version 3.0'), 'url' => 'http://www.gnu.org/licenses/lgpl-3.0.html');
+$licenses[5] = array('name' => ___('MIT/X11 License'), 'url' => 'http://www.opensource.org/licenses/mit-license.php');
+$licenses[6] = array('name' => ___('BSD License'), 'url' => 'http://www.opensource.org/licenses/bsd-license.php');
diff --git a/site/app/config/language.php b/site/app/config/language.php
index f21adcf..5ff6806 100644
--- a/site/app/config/language.php
+++ b/site/app/config/language.php
@@ -364,7 +364,7 @@ class LANGUAGE_CONFIG
foreach ($xx_YY as $locale) {
if ($locale == 'all') {
- $locales[$locale] = ___('general_languages_all_locales','All Locales');
+ $locales[$locale] = ___('All Locales');
} else if ($names == 'english') {
$locales[$locale] = $localeDetails->getEnglishNameForLocale($locale);
} else if ($names == 'native') {
diff --git a/site/app/controllers/addons_controller.php b/site/app/controllers/addons_controller.php
index bf922f0..76f3a97 100644
--- a/site/app/controllers/addons_controller.php
+++ b/site/app/controllers/addons_controller.php
@@ -73,37 +73,37 @@ class AddonsController extends AppController
// see: http://digg.com/tools/integrate#3
'digg' => array(
- 'label' => ___('addons_share_label_digg', 'Digg this!'),
+ 'label' => ___('Digg this!'),
'url' => 'http://digg.com/submit?url={URL}&title={TITLE}&bodytext={DESCRIPTION}&media=news&topic=tech_news'
),
// see: http://www.facebook.com/share_options.php
'facebook' => array(
- 'label' => ___('addons_share_label_facebook', 'Post to Facebook'),
+ 'label' => ___('Post to Facebook'),
'url' => 'http://www.facebook.com/share.php?u={URL}&t={TITLE}'
),
// see: http://delicious.com/help/savebuttons
'delicious' => array(
- 'label' => ___('addons_share_label_delicious', 'Add to Delicious'),
+ 'label' => ___('Add to Delicious'),
'url' => 'http://delicious.com/save?url={URL}&title={TITLE}&notes={DESCRIPTION}'
),
// see: http://www.myspace.com/posttomyspace
'myspace' => array(
- 'label' => ___('addons_share_label_myspace', 'Post to MySpace'),
+ 'label' => ___('Post to MySpace'),
'url' => 'http://www.myspace.com/index.cfm?fuseaction=postto&t={TITLE}&c={DESCRIPTION}&u={URL}&l=1'
),
// see: http://friendfeed.com/embed/link
'friendfeed' => array(
- 'label' => ___('addons_share_label_friendfeed', 'Share on FriendFeed'),
+ 'label' => ___('Share on FriendFeed'),
'url' => 'http://friendfeed.com/?url={URL}&title={TITLE}'
),
// See Nick Nguyen
'twitter' => array(
- 'label' => ___('addons_share_label_twitter', 'Post to Twitter'),
+ 'label' => ___('Post to Twitter'),
'url' => 'https://twitter.com/home?status={TITLE} {URL}'
)
@@ -121,17 +121,17 @@ class AddonsController extends AppController
*/
function contribute($addon_id) {
if ($this->Config->getValue('paypal_disabled')) {
- return $this->flash(___('error_paypal_disabled'), '/', 3);
+ return $this->flash(___('Sorry, PayPal contributions are temporarily disabled.'), '/', 3);
}
$this->Addon->unbindFully();
$addon = $this->Addon->findById($addon_id);
if (empty($addon)) {
- return $this->flash(_('error_addon_notfound'), '/', 3);
+ return $this->flash(___('Add-on not found!'), '/', 3);
}
if (!$this->Addon->acceptContributions($addon)) {
- return $this->flash(___('error_addon_no_contributions'), '/', 3);
+ return $this->flash(___('The add-on developers have not enabled contributions.'), '/', 3);
}
$type = isset($_GET['type']) ? $_GET['type'] : null;
@@ -157,7 +157,7 @@ class AddonsController extends AppController
$return_url = $this->url("/addons/after_contribute/{$a['id']}/{$uuid}");
$this->Paypal->contribute($a['paypal_id'],
$a['id'],
- sprintf(___('addon_contribute_item'),
+ sprintf(___('Contribution for %1$s'),
$addon['Translation']['name']['string']),
SITE_URL . $return_url,
$amount);
@@ -169,14 +169,14 @@ class AddonsController extends AppController
*/
function after_contribute($addon_id, $uuid) {
if (!$addon_id || !is_numeric($addon_id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
$this->redirect('/addon/'.$addon_id);
}
function developers($addon_id, $extra=null) {
- global $valid_status;
+ global $valid_status;
$associations = array(
'single_category', 'all_categories', 'authors', 'contrib_details',
@@ -213,11 +213,11 @@ class AddonsController extends AppController
$this->publish('post_install', $extra === 'post_install');
$this->publish('roadblock', $extra === 'roadblock');
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
$addon['Translation']['name']['string'] => '/addon/'.$addon['Addon']['id'],
));
- $this->pageTitle = sprintf(n___('addon_developer_title', 'addon_developer_title',
+ $this->pageTitle = sprintf(n___('Meet the %1$s Developer', 'Meet the %1$s Developers',
count($authors)), $addon['Translation']['name']['string']);
}
@@ -243,7 +243,7 @@ class AddonsController extends AppController
// Panic if either the addon or the sharing service is not found.
if (empty($addon) || empty($service)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
@@ -253,13 +253,13 @@ class AddonsController extends AppController
// the site title.
$title =
sprintf(
- _('addons_display_pagetitle'),
+ ___('%s'),
$addon['Translation']['name']['string'].' '.
$addon['Version'][0]['version']
) .
' :: '.
sprintf(
- _('addons_home_pagetitle'),
+ ___('Add-ons for %1$s'),
APP_PRETTYNAME
);
@@ -279,7 +279,7 @@ class AddonsController extends AppController
*/
function display($id = null) {
global $valid_status;
- $this->publish('jsAdd', array('jquery-ui/ui.lightbox','jquery.autocomplete.pack.js','tags.js'));
+ $this->publish('jsAdd', array('jquery-ui/ui.lightbox','jquery.autocomplete.pack.js','tags.js'));
$this->publish('cssAdd', array('jquery-lightbox','autocomplete'));
$this->layout = 'amo2009';
$this->set('bodyclass', 'inverse');
@@ -288,14 +288,14 @@ class AddonsController extends AppController
$this->Amo->clean($id);
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
$loggedIn = $this->Session->check('User')? true : false;
$this->set('loggedIn', $loggedIn);
- if ($loggedIn) { $user=$this->Session->read('User'); }
+ if ($loggedIn) { $user=$this->Session->read('User'); }
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
@@ -309,7 +309,7 @@ class AddonsController extends AppController
|| !in_array($addon_data['Addon']['addontype_id'], array(ADDON_EXTENSION, ADDON_THEME, ADDON_DICT, ADDON_SEARCH, ADDON_LPAPP, ADDON_PLUGIN))
|| !in_array($addon_data['Addon']['status'], $valid_status)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
@@ -383,7 +383,7 @@ class AddonsController extends AppController
$this->publish('addon', $addon_data);
$this->publish('addonIconPath', $this->Image->getAddonIconURL($id), false);
$this->publish('addonPreviewPath', $this->Image->getHighlightedPreviewURL($id));
- $this->pageTitle = sprintf(_('addons_display_pagetitle'), $addon_data['Translation']['name']['string']). ' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('%s'), $addon_data['Translation']['name']['string']). ' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
// get the categories that are related to the addon, so that they have translation data
$_related_category_ids = array();
@@ -398,16 +398,16 @@ class AddonsController extends AppController
$this->publish('relatedCategories', $related_categories);
-
+
// Make the tag list, passing in this addon and the currently logged in user
if (!$loggedIn) { $user = null; }
$tags = $this->Tag->makeTagList($addon_data, $user, $this->SimpleAcl->actionAllowed('Admin', 'DeleteAnyTag', $user));
$this->publish('tags', $tags);
$this->publish('userTags', $tags['userTags']);
- $this->publish('developerTags', $tags['developerTags']);
+ $this->publish('developerTags', $tags['developerTags']);
$this->publish('addon_id', $addon_data['Addon']['id']);
-
+
// The platforms section is necessary because of CakePHP bug #1183 (https://trac.cakephp.org/ticket/1183). We
// need the translated strings in the model to offer the right platform to users.
@@ -474,7 +474,7 @@ class AddonsController extends AppController
// Collapse categories menu
$this->publish('collapse_categories', true);
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
));
}
@@ -504,7 +504,7 @@ class AddonsController extends AppController
$this->forceShadowDb();
$this->layout='amo2009';
- $this->pageTitle = sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('stats_downloaded',
$this->GlobalStat->getNamedCount('addon_total_downloads'));
@@ -529,14 +529,14 @@ class AddonsController extends AppController
$this->publish('baseurl', $this->base);
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
// add rss links to global feeds
$this->publish('rssAdd', array(
- array('/browse/type:1/cat:all/format:rss?sort=newest', _('rss_newestaddons')),
- array('/browse/type:1/cat:all/format:rss?sort=updated', ___('rss_updatedaddons', 'Updated Add-ons')),
- array('/browse/type:1/cat:all/format:rss?sort=popular', ___('rss_popularaddons', 'Popular Add-ons')),
- array('/recommended/format:rss', _('rss_featuredaddons')),
+ array('/browse/type:1/cat:all/format:rss?sort=newest', ___('Newest Add-ons')),
+ array('/browse/type:1/cat:all/format:rss?sort=updated', ___('Updated Add-ons')),
+ array('/browse/type:1/cat:all/format:rss?sort=popular', ___('Popular Add-ons')),
+ array('/recommended/format:rss', ___('Featured Add-ons')),
));
}
@@ -816,17 +816,17 @@ class AddonsController extends AppController
switch($addontype) {
case ADDON_THEME:
if ($category == 'all') {
- $this->pageTitle = sprintf(___('addons_browse_all_themes_title'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('Browse all Themes :: %1$s Add-ons'), APP_PRETTYNAME);
} else {
- $this->pageTitle = sprintf(___('addons_browse_categories_header_theme'), $this_category['Translation']['name']['string'], APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('Browse %1$s Themes :: %2$s Add-ons'), $this_category['Translation']['name']['string'], APP_PRETTYNAME);
}
break;
default:
- $this->pageTitle = sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
}
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
$this->layout = 'mozilla';
@@ -1030,10 +1030,10 @@ class AddonsController extends AppController
// set layout details
$this->publish('bigHeader', true);
$this->publish('bigHeaderText',
- sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
$this->pageTitle = $this_category['Translation']['name']['string']. " :: " .
- sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('rssAdd', array(
"/browse/type:{$addontype}/cat:{$category}/format:rss?sort=updated"
));
@@ -1129,7 +1129,7 @@ class AddonsController extends AppController
$addons = $this->Addon->getAddonsByCategory(null, $displaystatuses,
$addontype, $category, $sort_by, $sort_dir, $_limit, $_page, '', true);
if ($category!='all' && empty($this_category) || empty($addons)) {
- $this->flash(_('error_browse_no_addons'), '/browse/type:' . $addontype, 3);
+ $this->flash(___('No add-ons in this category!'), '/browse/type:' . $addontype, 3);
return;
}
$this->publish('addons', $addons);
@@ -1167,18 +1167,18 @@ class AddonsController extends AppController
// set layout details and render view
if ($category == 'all') {
switch ($sort_by) {
- case 'popular': $_title = ___('browse_addons_popular'); break;
- case 'updated': $_title = ___('browse_addons_updated'); break;
- case 'newest': $_title = ___('browse_addons_newest'); break;
- case 'rated': $_title = ___('browse_addons_rated'); break;
- case 'name': $_title = ___('browse_addons_name'); break;
+ case 'popular': $_title = ___('Popular Add-ons'); break;
+ case 'updated': $_title = ___('Recently Updated Add-ons'); break;
+ case 'newest': $_title = ___('Newest Add-ons'); break;
+ case 'rated': $_title = ___('Add-ons by Rating'); break;
+ case 'name': $_title = ___('Add-ons by Name'); break;
default: $_title = ''; break;
}
} else {
- $_title = sprintf(_('addons_browse_browse_category'), $this_category['Translation']['name']['string']);
+ $_title = sprintf(___('Browse %s'), $this_category['Translation']['name']['string']);
}
if ($format != 'rss') {
- $this->pageTitle = $_title . " :: " . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = $_title . " :: " . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('subpagetitle', $_title);
// preserve GET variables in RSS feed URLs
@@ -1193,7 +1193,7 @@ class AddonsController extends AppController
} else {
// RSS feed
$this->publish('sort_by', $sort_by, false);
- $this->publish('rss_title', $_title . " :: " . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME));
+ $this->publish('rss_title', $_title . " :: " . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME));
$this->publish('rss_description', '');
$this->render('rss/addons');
}
@@ -1253,17 +1253,17 @@ class AddonsController extends AppController
if ($format != 'rss') {
$this->set('content_wide', true); // display 2 features next to each other
$this->set('collapse_categories', true);
- $this->pageTitle = _('addons_searchengines_pagetitle').' :: '
- .sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Search Engines').' :: '
+ .sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
$this->layout='mozilla';
//$this->publish('rssAdd', array("/browse/type:".ADDON_SEARCH."/format:rss"));
$this->render('searchengines');
} else {
// RSS feed
- $this->publish('rss_title', _('addons_searchengines_pagetitle'));
+ $this->publish('rss_title', ___('Search Engines'));
$this->publish('rss_description', '');
$this->render('rss/searchengines', 'rss');
}
@@ -1274,8 +1274,8 @@ class AddonsController extends AppController
*/
function _plugins() {
$this->layout = 'mozilla';
- $this->pageTitle = _('addons_plugins_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
- $this->publish('subpagetitle', sprintf(_('addons_plugins_main_header'), APP_PRETTYNAME));
+ $this->pageTitle = ___('Plugins').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
+ $this->publish('subpagetitle', sprintf(___('Common Plugins for %1$s'), APP_PRETTYNAME));
$this->render('plugins');
return;
}
@@ -1396,10 +1396,10 @@ class AddonsController extends AppController
$this->publish('platforms', $platforms);
// set layout details
- $this->pageTitle = _('langtools_header_dicts_and_langpacks') .' :: '
- . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Dictionaries & Language Packs') .' :: '
+ . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
$this->layout = 'mozilla';
$this->set('collapse_categories', true);
@@ -1446,9 +1446,9 @@ class AddonsController extends AppController
// set layout details
$this->set('content_wide', true); // display 2 features next to each other
$this->set('collapse_categories', true);
- $this->pageTitle = sprintf(___('addons_browse_all_themes_title'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('Browse all Themes :: %1$s Add-ons'), APP_PRETTYNAME);
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
$this->layout = 'mozilla';
$this->render('themes_landing');
@@ -1510,15 +1510,15 @@ class AddonsController extends AppController
$this->publish('platforms', $platforms);
$this->layout='mozilla';
- $this->pageTitle = _('addons_recommended_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Recommended Add-ons').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('addons', $featAddons);
$this->publish('rssAdd', array('/recommended/format:rss'));
- $this->publish('subpagetitle', _('addons_recommended_title'));
+ $this->publish('subpagetitle', ___('Recommended Add-ons'));
$this->render();
} else {
$this->publish('addons', $featAddons);
- $this->publish('rss_title', _('addons_recommended_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME));
- $this->publish('rss_description', _('addons_recommended_introduction'));
+ $this->publish('rss_title', ___('Recommended Add-ons').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME));
+ $this->publish('rss_description', ___('With so many great add-ons available, there\'s something for everyone. To get you started, here\'s a list of some of the most popular. Enjoy!'));
$this->render('rss/addons', 'rss');
}
}
@@ -1534,7 +1534,7 @@ class AddonsController extends AppController
$this->layout='amo2009';
if (!$addon_id || !is_numeric($addon_id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
@@ -1542,7 +1542,7 @@ class AddonsController extends AppController
$this_addon = $this->Addon->findById($addon_id);
if (empty($this_addon)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
@@ -1578,7 +1578,7 @@ class AddonsController extends AppController
$this->publish('relatedCategories', $related_categories);
$this->publish('addon', $this_addon);
- $this->pageTitle = sprintf(_('addons_display_pagetitle'), $this_addon['Translation']['name']['string']). ' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('%s'), $this_addon['Translation']['name']['string']). ' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
}
@@ -1599,7 +1599,7 @@ class AddonsController extends AppController
'Addon.status'=>$valid_status, 'Addon.inactive'=>0), null, null,
null, null, 0);
if (empty($addon)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
@@ -1631,21 +1631,21 @@ class AddonsController extends AppController
$this->publish('versions', $versions);
$this->publish('platforms', $platforms);
- $_title = sprintf(_('addons_versions_pagetitle'), $addon['Translation']['name']['string']);
+ $_title = sprintf(___('%1$s Version History'), $addon['Translation']['name']['string']);
if (!isset($this->namedArgs['format']) || $this->namedArgs['format'] != 'rss') {
$this->publish('addonIconPath', $this->Image->getAddonIconURL($id));
- $this->pageTitle = $_title. ' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = $_title. ' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('subpagetitle', $_title);
$this->publish('rssAdd', array("/addons/versions/{$id}/format:rss"));
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
$addon['Translation']['name']['string'] => "/addon/{$id}"
));
$this->render();
} else {
$this->publish('rss_title', $_title);
- $this->publish('rss_description', _('addons_versions_history'));
+ $this->publish('rss_description', ___('Version History with Changelogs'));
$this->render('rss/versions', 'rss');
}
}
@@ -1677,7 +1677,7 @@ class AddonsController extends AppController
function previews($id) {
$this->Amo->clean($id);
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
diff --git a/site/app/controllers/api_controller.php b/site/app/controllers/api_controller.php
index 7d04578..e991059 100644
--- a/site/app/controllers/api_controller.php
+++ b/site/app/controllers/api_controller.php
@@ -121,7 +121,7 @@ class ApiController extends AppController
if (isset($this->viewVars['addonsdata'][$id])) {
$this->publish('addon', $this->viewVars['addonsdata'][$id]);
} else {
- $error = ___('error_addon_notfound');
+ $error = ___('Add-on not found!');
$this->publish('error', $error);
return;
}
@@ -424,7 +424,7 @@ class ApiController extends AppController
'Collection.id' => $id
));
if (!$collection) {
- $error = ___('error_collection_feed_notfound', 'Addon feed not found');
+ $error = ___('Add-on feed not found.');
$this->publish('error', $error);
return;
}
@@ -759,7 +759,7 @@ class ApiController extends AppController
$addon_data = $this->Addon->find($_conditions, null , null , 1);
if (empty($addon_data)) {
- $error = ___('error_addon_notfound');
+ $error = ___('Add-on not found!');
$this->publish('error', $error);
return;
}
diff --git a/site/app/controllers/collections_controller.php b/site/app/controllers/collections_controller.php
index 771d532..4e6143a 100644
--- a/site/app/controllers/collections_controller.php
+++ b/site/app/controllers/collections_controller.php
@@ -54,7 +54,7 @@ class CollectionsController extends AppController
$this->layout='mozilla';
$this->publish('collapse_categories', true);
$this->publish('collectionSearch', true);
- $this->pageTitle = 'Collections' . " :: " . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = 'Collections' . " :: " . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('jsAdd', array('jquery.autocomplete.pack.js'), false);
// Disable ACLs because this controller is entirely public.
$this->SimpleAuth->enabled = false;
@@ -96,7 +96,7 @@ class CollectionsController extends AppController
if (empty($this->viewVars['breadcrumbs'])) {
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
));
}
@@ -106,17 +106,17 @@ class CollectionsController extends AppController
function _collectionTabs() {
$tabs = array(
array('href' => 'editors_picks',
- 'text' => ___('collections_index_li_editors')),
+ 'text' => ___('Editor\'s Picks')),
array('href' => 'popular',
- 'text' => ___('collections_index_li_popular')),
+ 'text' => ___('Popular')),
);
if ($this->Session->check('User')) {
$tabs = array_merge($tabs, array(
array('href' => 'mine',
- 'text' => ___('collections_index_li_mine')),
+ 'text' => ___('My Collections')),
array('href' => 'favorites',
- 'text' => ___('collections_index_li_favorites')),
+ 'text' => ___('My Favorites')),
));
}
return $tabs;
@@ -145,7 +145,7 @@ class CollectionsController extends AppController
$this->Amo->checkLoggedIn();
$this->set('selected', 'mine');
- $this->set('filler', sprintf(___('collections_index_filler_mine'),
+ $this->set('filler', sprintf(___('<p>You haven\'t created any collections yet. Collections are easy to create and fill with your favorite add-ons. <a href=\'%1$s\'>Try it out</a>!</p>'),
$this->Html->url('/collections/add')));
$user = $this->Session->read('User');
@@ -160,7 +160,7 @@ class CollectionsController extends AppController
function favorites() {
$this->Amo->checkLoggedIn();
$this->set('selected', 'favorites');
- $this->set('filler', sprintf(___('collections_index_filler_favorites'),
+ $this->set('filler', sprintf(___('<p><strong>You don\'t have any favorite collections yet.</strong></p> <p>Collections you mark as favorites can be quickly accessed from this page, and will appear in the <a href=\'%1$s\'>Add-on Collector</a> if you\'ve installed it.</p>'),
$this->Html->url('/pages/collector')));
$user = $this->Session->read('User');
@@ -174,7 +174,7 @@ class CollectionsController extends AppController
function addon($id) {
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
$addon = $this->Addon->getAddon($id);
@@ -182,11 +182,11 @@ class CollectionsController extends AppController
$id, null, APP_ID);
$this->set('hide_listing_header', true);
- $this->publish('list_header', sprintf(___('collections_index_header_addon'),
+ $this->publish('list_header', sprintf(___('Collections containing %1$s'),
$addon['Translation']['name']['string']));
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections',
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections',
$addon['Translation']['name']['string'] => "/addon/{$addon['Addon']['id']}"
));
@@ -204,8 +204,8 @@ class CollectionsController extends AppController
$this->set('bodyclass', 'inverse collections-page');
$this->publish('jsAdd', array('jquery.autocomplete.pack.js'));
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
));
// pick initially selected add-ons both from the URI and possible form choices
@@ -276,7 +276,7 @@ class CollectionsController extends AppController
$this->Amo->checkLoggedIn(); // must be logged in
if (empty($this->data['addon_id']) || empty($this->data['collection_uuid'])) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id or collection_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id or collection_id'), '/', 3);
return;
}
@@ -295,7 +295,7 @@ class CollectionsController extends AppController
$addon_id = $this->data['addon_id'];
$collection_id = $this->Collection->getIdForUUID($this->data['collection_uuid']);
if (!is_numeric($addon_id) || !$collection_id) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id or collection_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id or collection_id'), '/', 3);
return;
}
$user = $this->Session->read('User');
@@ -308,9 +308,9 @@ class CollectionsController extends AppController
function _getSortedAddons($collection_id) {
$sort_options = array(
- 'date-added' => ___('collections_detail_sort_date'),
- 'name' => ___('collections_detail_sort_name'),
- 'popularity' => ___('collections_detail_sort_popularity')
+ 'date-added' => ___('Date Added'),
+ 'name' => ___('Name'),
+ 'popularity' => ___('Popularity')
);
// Fetch #1. What's in the collection?
@@ -359,13 +359,13 @@ class CollectionsController extends AppController
function view($uuid = NULL) {
if (!$uuid) {
- $this->flash(sprintf(_('error_missing_argument'), 'collection_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'collection_id'), '/', 3);
return;
}
$id = $this->Collection->getIdForUuidOrNickname($uuid);
if (!$id) {
- $this->flash(_('collection_not_found'), '/', 3);
+ $this->flash(___('Collection not found!'), '/', 3);
return;
}
$_conditions['Collection.id'] = $id;
@@ -379,7 +379,7 @@ class CollectionsController extends AppController
$this->publish('collection', $collection);
$this->publish('sort_options', $sort_options);
$this->publish('sortby', $sortby);
- $this->pageTitle = $collection['Translation']['name']['string'] . " :: " . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = $collection['Translation']['name']['string'] . " :: " . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
// User-specific stuff.
if ($this->Session->check('User')) {
@@ -406,7 +406,7 @@ class CollectionsController extends AppController
$rss_url = sprintf('/collection/%s?format=rss', $collection['Collection']['uuid']);
$this->publish('rssAdd', array(
array($rss_url,
- sprintf(___('collection_detail_rss_title'),
+ sprintf(___('%s Collection'),
$collection['Translation']['name']['string']))
));
@@ -418,8 +418,8 @@ class CollectionsController extends AppController
}
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
));
$this->render('detail');
@@ -452,12 +452,12 @@ class CollectionsController extends AppController
$this->publish('is_ajax', ($ajax == 'ajax'));
if (!in_array($this->action, array('subscribe', 'unsubscribe'))) {
- $this->flash(___('error_access_denied'), '/', 3);
+ $this->flash(___('Access Denied'), '/', 3);
return;
}
if (empty($this->params['form']['uuid'])) { // uuid needs to be POSTed
- $this->flash(sprintf(_('error_missing_argument'), 'uuid'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'uuid'), '/', 3);
return;
}
$uuid = $this->params['form']['uuid'];
@@ -480,8 +480,8 @@ class CollectionsController extends AppController
// set up view and render result
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
));
return $this->render('subscribe');
}
@@ -496,12 +496,12 @@ class CollectionsController extends AppController
$this->Collection->caching = false;
if (empty($uuid)) {
- $this->flash(sprintf(_('error_missing_argument'), 'collection_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'collection_id'), '/', 3);
return;
}
$id = $this->Collection->getIdForUuidOrNickname($uuid);
if (!$id) {
- $this->flash(_('collection_not_found'), '/', 3);
+ $this->flash(___('Collection not found!'), '/', 3);
return;
}
@@ -510,7 +510,7 @@ class CollectionsController extends AppController
$this->publish('user', $user);
$rights = $this->_getUserRights($user, $id);
if (!($rights['writable'] || $rights['isadmin'])) {
- $this->flash(___('error_access_denied'), '/', 3);
+ $this->flash(___('Access Denied'), '/', 3);
return;
}
@@ -518,7 +518,7 @@ class CollectionsController extends AppController
// Delete collection?
if (isset($this->data['action']) && $this->data['action'] == 'delete-coll') {
if (!$rights['atleast_manager']) {
- $this->flash(___('error_access_denied'), '/', 3);
+ $this->flash(___('Access Denied'), '/', 3);
return;
}
$this->Collection->delete($id);
@@ -552,8 +552,8 @@ class CollectionsController extends AppController
$this->publish('jsAdd', array('jquery-ui/ui.core.min', 'jquery-ui/ui.tabs.min',
'jquery.autocomplete.pack.js'));
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
));
}
@@ -594,9 +594,9 @@ class CollectionsController extends AppController
// prepare collection types
$this->publish('collection_types', array(
- Collection::COLLECTION_TYPE_NORMAL => ___('collections_type_normal'),
- Collection::COLLECTION_TYPE_AUTOPUBLISHER => ___('collections_type_autopublisher'),
- Collection::COLLECTION_TYPE_EDITORSPICK => ___('collections_type_editorspick')
+ Collection::COLLECTION_TYPE_NORMAL => ___('Normal'),
+ Collection::COLLECTION_TYPE_AUTOPUBLISHER => ___('Auto-publisher'),
+ Collection::COLLECTION_TYPE_EDITORSPICK => ___('Editor\'s Pick')
), false);
// get existing publishers and managers
@@ -844,7 +844,7 @@ class CollectionsController extends AppController
$this->publish('platforms', $platforms);
// prepare and display view
- $this->pageTitle = 'Collections' . " :: " . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = 'Collections' . " :: " . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$is_ajax = ($method=='ajax');
$this->publish('is_ajax', $is_ajax, false);
$this->publish('suppressHeader', true, false);
@@ -952,14 +952,14 @@ class CollectionsController extends AppController
function _checkNickname() {
$this->Amo->checkLoggedIn(); // must be logged in
if (empty($this->params['url']['nickname'])) {
- return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'nickname'));
+ return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'nickname'));
}
$nickname = preg_replace(INVALID_COLLECTION_NICKNAME_CHARS, '_',
mb_strtolower(trim($this->params['url']['nickname'])));
if ($nickname != mb_strtolower($this->params['url']['nickname']))
return array(
'error' => 1,
- 'error_message' => ___('collections_edit_nickname_error'),
+ 'error_message' => ___('Your nickname contained invalid characters and was corrected. Please try again.'),
'nickname' => $nickname
);
@@ -975,8 +975,8 @@ class CollectionsController extends AppController
* AJAX: Add / remove user to/from this collection's roles
*/
function _handleUser($action) {
- if (empty($action)) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'action'));
- if (empty($this->params['form']['collection_id'])) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'collection_id'));
+ if (empty($action)) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'action'));
+ if (empty($this->params['form']['collection_id'])) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'collection_id'));
$this->Amo->checkLoggedIn(); // must be logged in
@@ -987,13 +987,13 @@ class CollectionsController extends AppController
$user = $this->Session->read('User');
$rights = $this->_getUserRights($user, $collection_id);
- if (!$rights['atleast_manager']) return $this->Error->getJSONforError(___('error_access_denied'));
+ if (!$rights['atleast_manager']) return $this->Error->getJSONforError(___('Access Denied'));
switch ($action) {
case 'add':
- if (empty($email)) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'email'));
+ if (empty($email)) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'email'));
$roles = array('publishers' => COLLECTION_ROLE_PUBLISHER, 'managers' => COLLECTION_ROLE_ADMIN);
- if (empty($role)) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'role'));
+ if (empty($role)) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'role'));
$newuser = $this->User->findByEmail($email, array('id'));
if (!empty($newuser)) {
@@ -1001,25 +1001,25 @@ class CollectionsController extends AppController
$this->Collection->addUser($collection_id, $newuser['User']['id'], $roles[$role]);
return array('id' => $newuser['User']['id'], 'email' => $email);
} else {
- return $this->Error->getJSONforError(___('error_user_exists'));
+ return $this->Error->getJSONforError(___('Users can only have one role at a time. Please remove the user from any existing roles before continuing.'));
}
} else {
- return $this->Error->getJSONforError(___('error_user_notfound'));
+ return $this->Error->getJSONforError(___('User not found!'));
}
break;
case 'del':
if (empty($user_id))
- return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'user_id'));
+ return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'user_id'));
if ($this->Collection->removeUser($collection_id, $user_id) !== false) {
return array('id' => $user_id);
} else {
- return $this->Error->getJSONforError(___('error_user_notfound'));
+ return $this->Error->getJSONforError(___('User not found!'));
}
break;
default:
- return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'action'));
+ return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'action'));
}
}
@@ -1034,15 +1034,15 @@ class CollectionsController extends AppController
function _handleAddon($action) {
global $valid_status;
- if (empty($action)) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'action'));
- if (empty($this->params['form']['addon_id']) || !is_numeric($this->params['form']['addon_id'])) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'addon_id'));
+ if (empty($action)) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'action'));
+ if (empty($this->params['form']['addon_id']) || !is_numeric($this->params['form']['addon_id'])) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'addon_id'));
if (!empty($this->params['form']['collection_id']) && is_numeric($this->params['form']['collection_id'])) {
$collection_id = $this->params['form']['collection_id'];
} elseif (!empty($this->params['form']['collection_uuid']) &&
($collection_id = $this->Collection->getIdForUuidOrNickname($this->params['form']['collection_uuid'])) > 0) {
// no-op
} else {
- return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'collection_id'));
+ return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'collection_id'));
}
$this->Amo->checkLoggedIn(); // must be logged in
@@ -1052,25 +1052,25 @@ class CollectionsController extends AppController
$user = $this->Session->read('User');
$rights = $this->_getUserRights($user, $collection_id);
- if (!($rights['writable'] || $rights['isadmin'])) return $this->Error->getJSONforError(___('error_access_denied'));
+ if (!($rights['writable'] || $rights['isadmin'])) return $this->Error->getJSONforError(___('Access Denied'));
switch ($action) {
case 'add':
if ($this->AddonCollection->isAddonInCollection($addon_id, $collection_id))
- return $this->Error->getJSONforError(___('error_addon_exists'));
+ return $this->Error->getJSONforError(___('Add-on already exists!'));
$addon = $this->Addon->getAddon($addon_id);
if (empty($addon) || !in_array($addon['Addon']['status'], $valid_status))
- return $this->Error->getJSONforError(___('error_addon_notfound'));
+ return $this->Error->getJSONforError(___('Add-on not found!'));
if (false !== $this->Collection->addAddonToCollection($collection_id, $user['id'], $addon_id)) {
return array(
'id' => $addon_id,
'name' => $addon['Translation']['name']['string'],
'iconURL' => $this->Image->getAddonIconURL($addon_id),
- 'date' => strftime(_('date'), mktime()),
+ 'date' => strftime(___('%B %e, %Y'), mktime()),
'publisher' => $this->Html->linkUserFromModel($user)
);
} else {
- return $this->Error->getJSONforError(___('collection_error_saving_addon'));
+ return $this->Error->getJSONforError(___('Error saving add-on!'));
}
break;
@@ -1084,22 +1084,22 @@ class CollectionsController extends AppController
if ($res) {
return array('id' => $addon_id);
} else {
- return $this->Error->getJSONforError(___('collection_error_deleting_addon'));
+ return $this->Error->getJSONforError(___('Error deleting add-on!'));
}
break;
case 'savecomment':
- if (!isset($this->params['form']['comment'])) return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'comment'));
+ if (!isset($this->params['form']['comment'])) return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'comment'));
$comment = strip_tags(trim($this->params['form']['comment']));
$addon = $this->AddonCollection->find(array('addon_id'=>$addon_id, 'collection_id'=>$collection_id), array('user_id'));
- if (empty($addon)) return $this->Error->getJSONforError(___('error_addon_notfound'));
+ if (empty($addon)) return $this->Error->getJSONforError(___('Add-on not found!'));
if (!$rights['isadmin'] && !$rights['atleast_manager']) {
// publisher's own add-on?
- if ($addon['AddonCollection']['user_id'] != $user['id']) return $this->Error->getJSONforError(___('error_access_denied'));
+ if ($addon['AddonCollection']['user_id'] != $user['id']) return $this->Error->getJSONforError(___('Access Denied'));
}
if (!$this->AddonCollection->setComment($collection_id, $addon_id, $comment)) {
- return $this->Error->getJSONforError(___('collection_error_saving_comment'));
+ return $this->Error->getJSONforError(___('Error saving comment!'));
} else {
return array(
'addon_id' => $addon_id,
@@ -1109,7 +1109,7 @@ class CollectionsController extends AppController
break;
default:
- return $this->Error->getJSONforError(sprintf(_('error_missing_argument'), 'action'));
+ return $this->Error->getJSONforError(sprintf(___('Missing argument: %s'), 'action'));
}
}
}
diff --git a/site/app/controllers/compatibility_controller.php b/site/app/controllers/compatibility_controller.php
index fbf3cf3..2542613 100644
--- a/site/app/controllers/compatibility_controller.php
+++ b/site/app/controllers/compatibility_controller.php
@@ -69,7 +69,7 @@ class CompatibilityController extends AppController
$this->publish('jsAdd', $this->jsAdd);
$this->layout = 'amo2009';
- $this->pageTitle = ___('compatibility_dashboard_center_header', 'Add-on Compatibility Center').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Add-on Compatibility Center').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('expand_categories', true);
}
diff --git a/site/app/controllers/components/amo.php b/site/app/controllers/components/amo.php
index dcb5809..5c5331d 100644
--- a/site/app/controllers/components/amo.php
+++ b/site/app/controllers/components/amo.php
@@ -49,7 +49,7 @@ class AmoComponent extends Object {
function startup(&$controller) {
$this->controller =& $controller;
}
-
+
/**
* Checks if user has permissions for an addon
* @param int $id the add-on id
@@ -59,23 +59,23 @@ class AmoComponent extends Object {
function checkOwnership($id, $addonInfo = array(), $requireOwner = false) {
$session = $this->controller->Session->read('User');
if (empty($session['id'])) return false;
-
+
//Check if user is an admin
if ($this->controller->SimpleAcl->actionAllowed('Admin', 'EditAnyAddon', $session) && !$requireOwner) {
return true;
}
-
+
//See if add-on data was passed; if not, retrieve it
if (empty($addonInfo['status'])) {
$addon = $this->controller->Addon->findById($id, null, null, -1);
$addonInfo = $addon['Addon'];
}
-
+
//Check if add-on is disabled
if ($addonInfo['status'] == STATUS_DISABLED) {
return false;
}
-
+
//check if user is an author of the add-on
if ($this->controller->Addon->query("SELECT * FROM addons_users WHERE addon_id={$id} AND user_id={$session['id']}")) {
return true;
@@ -84,7 +84,7 @@ class AmoComponent extends Object {
return false;
}
}
-
+
/**
* Gets the author role of the current user for the given add-on
* @param int $addon_id id of the add-on
@@ -92,13 +92,13 @@ class AmoComponent extends Object {
function getAuthorRole($addon_id) {
$session = $this->controller->Session->read('User');
if (empty($session['id'])) return AUTHOR_ROLE_NONE;
-
+
// Get role from database
$role = $this->controller->Addon->query("SELECT role FROM addons_users WHERE addon_id={$addon_id} AND user_id={$session['id']}");
if (!empty($role)) {
$role = $role[0]['addons_users']['role'];
}
-
+
// Check if user has permissions to edit any add-on
if ($this->controller->SimpleAcl->actionAllowed('Admin', 'EditAnyAddon', $session)) {
if ($role == AUTHOR_ROLE_OWNER) {
@@ -108,7 +108,7 @@ class AmoComponent extends Object {
return AUTHOR_ROLE_ADMIN;
}
}
-
+
// Check if add-on is disabled
$status = $this->controller->Addon->findById($addon_id, array('Addon.status'), null, -1);
if (!empty($status['Addon']['status'])) {
@@ -116,15 +116,15 @@ class AmoComponent extends Object {
return AUTHOR_ROLE_NONE;
}
}
-
+
// If not an admin and not disabled, return db role if we found one
if (!empty($role)) {
return $role;
}
-
+
return AUTHOR_ROLE_NONE;
}
-
+
/**
* Cleans an array or string for SQL and HTML, by reference
*
@@ -158,7 +158,7 @@ class AmoComponent extends Object {
} else {
$uncleaned = stripslashes($subject);
}
-
+
return $uncleaned;
}
@@ -178,7 +178,7 @@ class AmoComponent extends Object {
}
}
}
-
+
/**
* Returns a string representation of the Approval Status id
* @param int $status
@@ -188,19 +188,19 @@ class AmoComponent extends Object {
//If a status id is specified, return the string
if ($status != '') {
switch ($status) {
- case STATUS_NULL: $string = ___('addons_status_incomplete', 'Incomplete Version');
+ case STATUS_NULL: $string = ___('Incomplete Version');
break;
- case STATUS_SANDBOX: $string = ___('addons_status_sandbox', 'In Sandbox');
+ case STATUS_SANDBOX: $string = ___('In Sandbox');
break;
- case STATUS_PENDING: $string = ___('addons_status_pending', 'In Sandbox; Pending Review');
+ case STATUS_PENDING: $string = ___('In Sandbox; Pending Review');
break;
- case STATUS_NOMINATED: $string = ___('addons_status_nominated', 'In Sandbox; Public Nomination');
+ case STATUS_NOMINATED: $string = ___('In Sandbox; Public Nomination');
break;
- case STATUS_PUBLIC: $string = ___('addons_status_public', 'Public');
+ case STATUS_PUBLIC: $string = ___('Public');
break;
- case STATUS_DISABLED: $string = ___('addons_status_disabled', 'Disabled');
+ case STATUS_DISABLED: $string = ___('Disabled');
break;
- default: $string = ___('addons_status_unknown', 'Unknown');
+ default: $string = ___('Unknown');
break;
}
return $string;
@@ -215,21 +215,21 @@ class AmoComponent extends Object {
return $array;
}
}
-
+
/**
* Returns an array of possible add-on and file statuses and names
*/
function getStatusNames() {
return array(
- STATUS_NULL => ___('addons_status_incomplete', 'Incomplete'),
- STATUS_SANDBOX => ___('addons_status_sandbox', 'In Sandbox'),
- STATUS_PENDING => ___('addons_status_pending', 'In Sandbox; Pending Review'),
- STATUS_NOMINATED => ___('addons_status_nominated', 'In Sandbox; Public Nomination'),
- STATUS_PUBLIC => ___('addons_status_public', 'Public'),
- STATUS_DISABLED => ___('addons_status_disabled', 'Admin Disabled')
+ STATUS_NULL => ___('Incomplete Version'),
+ STATUS_SANDBOX => ___('In Sandbox'),
+ STATUS_PENDING => ___('In Sandbox; Pending Review'),
+ STATUS_NOMINATED => ___('In Sandbox; Public Nomination'),
+ STATUS_PUBLIC => ___('Public'),
+ STATUS_DISABLED => ___('Disabled')
);
}
-
+
/**
* Returns the name of a platform by Id, or an array of platforms
* The purpose of this is to reduce unnecessary database queries
@@ -333,7 +333,7 @@ class AmoComponent extends Object {
else {
$applicationModel =& new Application();
$applicationModel->useDbConfig = 'shadow';
-
+
loadComponent('Versioncompare');
$versionCompare =& new VersioncompareComponent();
@@ -341,7 +341,7 @@ class AmoComponent extends Object {
$applications = $applicationModel->findAll('Application.supported=1', null, null, null, null, 2);
$appvids = array();
$versions = array();
- foreach ($applications as $application) {
+ foreach ($applications as $application) {
if (!empty($application['Appversion'])) {
$appversions = array();
//Change array structure for sorting
@@ -349,17 +349,17 @@ class AmoComponent extends Object {
$appversions[]['Appversion']['version'] = $appversion['version'];
$appvids[$appversion['application_id']][$appversion['version']] = $appversion['id'];
}
- $versionCompare->sortAppversionArray($appversions);
+ $versionCompare->sortAppversionArray($appversions);
foreach ($appversions as $appversion) {
$versions[$application['Application']['id']][] = $appversion['Appversion']['version'];
}
}
}
- $this->versionIds = $appvids;
+ $this->versionIds = $appvids;
return $versions;
}
}
-
+
/**
* Returns the version => versionIds pairs corresponding to a particular application
* It is used by the SearchController
@@ -374,12 +374,12 @@ class AmoComponent extends Object {
return $this->versionIds[$appid];
}
}
-
+
/**
* check if the user is logged in. If not, refer them to the login page,
* optionally passing on where they wanted to go to in the first place.
* @param string cake-relative path to refer to after login
- * @return mixed bool true if logged in, void otherwise
+ * @return mixed bool true if logged in, void otherwise
*/
function checkLoggedIn($whereTo = '') {
$session = $this->controller->Session->read('User');
@@ -398,7 +398,7 @@ class AmoComponent extends Object {
exit;
}
}
-
+
/**
* Returns information on the min and max versions for a version because Cake
* does not consider non-key fields in HasAndBelongsToMany tables.
@@ -443,7 +443,7 @@ class AmoComponent extends Object {
return true;
}
-
+
/**
* Return the install trigger string for the specified addontype
* @param int $addontype The addontype of the file
@@ -456,12 +456,12 @@ class AmoComponent extends Object {
$xpi = array(ADDON_EXTENSION, ADDON_DICT, ADDON_LPAPP, ADDON_LPADDON);
$chrome = array(ADDON_THEME);
$search = array(ADDON_SEARCH);
-
+
$uri = str_replace("'", "\'", $uri);
$name = str_replace("'", "\'", $name);
$icon = str_replace("'", "\'", $icon);
$hash = str_replace("'", "\'", $hash);
-
+
if (in_array($addontype, $xpi)) {
return "InstallTrigger.install('{$uri}', '{$name}', '{$icon}', '{$hash}');";
}
@@ -498,13 +498,13 @@ class AmoComponent extends Object {
return $newArray;
}
-
+
/**
* @deprecated
*/
function LEGACY_describeVersionStatus($files) {
if (count($files) == 0) {
- return ___('error_no_files_in_addon', 'Incomplete - No Files');
+ return ___('No Files');
}
elseif (count($files) == 1) {
return $this->getApprovalStatus($files[0]['File']['status']);
@@ -526,16 +526,16 @@ class AmoComponent extends Object {
return 'Multiple Files';
}
}
-
+
function describeVersionStatus($files) {
if (count($files) == 0) {
- return ___('error_no_files_in_addon', 'No Files');
+ return ___('No Files');
}
else {
$statuses = $this->getStatusNames();
$fileStatuses = array();
$counts = array();
-
+
foreach ($files as $file) {
if (!empty($fileStatuses[$file['status']])) {
$fileStatuses[$file['status']]++;
@@ -544,58 +544,58 @@ class AmoComponent extends Object {
$fileStatuses[$file['status']] = 1;
}
}
-
+
foreach ($fileStatuses as $status => $count) {
- $string = n___('devcp_describe_version_status', 'devcp_describe_version_status', $count);
+ $string = n___('%1$s %2$s file', '%1$s %2$s files', $count);
$counts[] = sprintf($string, $count, $statuses[$status]);
}
-
+
return implode('; ', $counts);
}
}
-
+
/**
* Provide the validation status as a readable string
* @param array $files the file array for the version, in model format
* @return string the rendered view, using renderElement
*/
function describeValidationStatus($files) {
-
+
// No files means no test cases
if (count($files) == 0) {
- return ___('error_no_test_results_in_addon', 'No Test Results');
+ return ___('No Test Results');
}
-
+
// We want all the results for all files
$fileIds = array();
foreach ($files as $file) {
$fileIds[] = $file['id'];
- }
-
+ }
+
$results = $this->controller->TestResult->findAll(array('file_id' => $fileIds));
if (count($results) == 0) {
- return ___('error_no_test_results_in_addon', 'No Test Results');
+ return ___('No Test Results');
}
-
+
// Count the results
$counts = array(0,0,0);
foreach ($results as $test_result) {
$counts[$test_result['TestResult']['result']]++;
- }
-
+ }
+
// Create a view to render the testresults_stats element
$view = new View($this->controller);
return $view->renderElement('developers/testresults_stats', array('counts' => $counts, 'short' => false, 'multiline' => true));
-
+
}
-
+
/**
* Returns the date in MySQL NOW() format
*/
function getNOW() {
return date('Y-m-d H:i:s');
}
-
+
/**
* Copy a file to the rsync location for updates
* @param int $addon_id the add-on id
@@ -609,45 +609,45 @@ class AmoComponent extends Object {
// return true because false indicates error
return true;
}
-
+
$currentFile = REPO_PATH."/{$addon_id}/{$filename}";
$newDir = PUBLIC_STAGING_PATH."/{$addon_id}";
$newFile = $newDir."/{$filename}";
-
+
// Make sure source file exists
if (!file_exists($currentFile)) {
return false;
}
-
+
// If we don't want to overwrite, make sure we don't
if (!$overwrite && file_exists($newFile)) {
// return true because this is not treated as an error
return false;
}
-
+
// Make directory if necessary
if (!file_exists($newDir)) {
if (!mkdir($newDir)) {
return false;
}
}
-
+
return copy($currentFile, $newFile);
}
-
+
function accessDenied() {
header('HTTP/1.1 401 Unauthorized');
-
+
$this->controller->layout = 'mozilla';
- $this->controller->pageTitle = _('error_access_denied') . ' :: ' . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
- $this->controller->set('breadcrumbs', _('error_access_denied'));
- $this->controller->set('subpagetitle', _('error_access_denied'));
- $this->controller->viewPath = 'errors';
+ $this->controller->pageTitle = ___('Access Denied') . ' :: ' . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
+ $this->controller->set('breadcrumbs', ___('Access Denied'));
+ $this->controller->set('subpagetitle', ___('Access Denied'));
+ $this->controller->viewPath = 'errors';
$this->controller->render('error401');
-
+
exit;
}
-
+
/**
* Logs detailed information to a specific logfile
* @param string $message Log message
@@ -658,9 +658,9 @@ class AmoComponent extends Object {
if (!defined('DETAILED_LOG_PATH')) {
return false;
}
-
+
$logfile = DETAILED_LOG_PATH.'/'.date('Y-m-d');
-
+
$fp = fopen($logfile, 'a');
fwrite($fp, "[".date('r')."] (".php_uname('n').") {$message}\n");
if ($dumpData) {
@@ -681,9 +681,9 @@ class AmoComponent extends Object {
// for CakePHP 1.2 this would be:
// $this->controller->loadModel('Category');
}
-
+
$this->controller->Category->unbindFully();
-
+
return $this->controller->Category->findAll(
array(
'application_id' => $app,
@@ -693,7 +693,7 @@ class AmoComponent extends Object {
'Category.weight, Translation.name'
);
}
-
+
/**
* Get categories/addon types list for global navigation menu
* @return array Category list, style:
@@ -704,9 +704,9 @@ class AmoComponent extends Object {
*/
function getNavCategories() {
global $hybrid_categories, $app_listedtypes, $valid_status;
-
+
if (!empty($this->navCategories)) return $this->navCategories;
-
+
// addon type list to be added to regular categories list
// get "Themes" category name
if (!isset($this->controller->Addontype)) {
@@ -716,9 +716,9 @@ class AmoComponent extends Object {
$names = $this->controller->Addontype->getNames();
$_themes_name = $names[ADDON_THEME];
-
+
$catlist = array(
- array('name' => ___('langtools_header_dicts_and_langpacks'),
+ array('name' => ___('Dictionaries & Language Packs'),
'type' => ADDON_DICT,
'cat' => 0,
'weight' => 0),
@@ -727,18 +727,18 @@ class AmoComponent extends Object {
'cat' => 0,
'weight' => 0)
);
-
+
// add plugins where appropriate
if (in_array(ADDON_PLUGIN, $app_listedtypes[APP_ID])) {
$catlist[] = array(
- 'name' => ___('addons_plugins_pagetitle'),
+ 'name' => ___('Plugins'),
'type' => ADDON_PLUGIN,
'cat' => 0,
'weight' => 0,
'count' => COUNT_ADDON_PLUGIN,
);
}
-
+
// create two sort arrays that we can use with array_multisort later
$_weights = array();
$_names = array();
@@ -746,7 +746,7 @@ class AmoComponent extends Object {
$_weights[] = $_item['weight'];
$_names[] = strtolower($_item['name']);
}
-
+
// add regular categories to list
$categories = $this->getCategories();
foreach ($categories as $_category) {
@@ -758,11 +758,11 @@ class AmoComponent extends Object {
$_type = $_category['Category']['addontype_id'];
$_cat = $_category['Category']['id'];
}
-
+
$_name = $_category['Translation']['name']['string'];
$_weight = $_category['Category']['weight'];
$_count = $_category['Category']['count'];
-
+
// add item to results array
$catlist[] = array(
'name' => $_name,
@@ -771,7 +771,7 @@ class AmoComponent extends Object {
'weight' => $_weight,
'count' => $_count
);
-
+
// add item to sort arrays too
$_names[] = strtolower($_name);
$_weights[] = $_weight;
diff --git a/site/app/controllers/components/audit.php b/site/app/controllers/components/audit.php
index 3e7d6a3..b94d70f 100644
--- a/site/app/controllers/components/audit.php
+++ b/site/app/controllers/components/audit.php
@@ -36,7 +36,7 @@
* ***** END LICENSE BLOCK ***** */
class AuditComponent extends Object {
var $controller;
-
+
/**
* Save a reference to the controller on startup
* @param object &$controller the controller using this component
@@ -59,18 +59,18 @@ class AuditComponent extends Object {
function linkTitle($id, $urlBase) {
return $this->link($id, $urlBase.$id);
}
-
+
function explainLog($logs) {
$newLog = array();
-
+
if (!empty($logs)) {
foreach ($logs as $log) {
$userInfo = $this->controller->User->getUser($log['Eventlog']['user_id']);
$name = trim($userInfo['User']['display_name']);
if(empty($name)) $name = $userInfo['User']['email'];
-
+
$user = $this->link($name, '/users/info/'.$log['Eventlog']['user_id']);
-
+
switch ($log['Eventlog']['type']) {
case 'admin':
switch ($log['Eventlog']['action']) {
@@ -78,114 +78,114 @@ class AuditComponent extends Object {
$status = $this->controller->Amo->getApprovalStatus($log['Eventlog']['added']);
$addonInfo = $this->controller->Addon->findById($log['Eventlog']['changed_id'], null, null, -1);
$addon = $this->link($addonInfo['Translation']['name']['string'], '/admin/addons/status/'.$log['Eventlog']['changed_id']);
-
- $entry = sprintf(___('audit_addon_status'), $user, $addon, $status);
+
+ $entry = sprintf(___('%1$s changed the status of %2$s to %3$s'), $user, $addon, $status);
break;
-
+
case 'file_recalchash':
- $entry = sprintf(___('audit_file_recalchash'), $user, $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s recalculated the hash for file %2$s'), $user, $log['Eventlog']['changed_id']);
break;
-
+
case 'application_create':
case 'application_edit':
$applicationInfo = $this->controller->Application->findById($log['Eventlog']['changed_id'], null, null, -1);
$application = $this->link($applicationInfo['Translation']['name']['string'], '/admin/applications');
-
+
if ($log['Eventlog']['action'] == 'application_create') {
- $entry = sprintf(___('audit_application_create'), $user, $application);
+ $entry = sprintf(___('%1$s created application %2$s'), $user, $application);
}
elseif ($log['Eventlog']['action'] == 'application_edit') {
- $entry = sprintf(___('audit_application_edit'), $user, $application);
+ $entry = sprintf(___('%1$s edited application %2$s'), $user, $application);
}
break;
-
+
case 'appversion_create':
- case 'appversion_delete':
+ case 'appversion_delete':
$applicationInfo = $this->controller->Application->findById($log['Eventlog']['notes'], null, null, -1);
$application = $this->link($applicationInfo['Translation']['name']['string'], '/admin/applications');
-
+
if ($log['Eventlog']['action'] == 'appversion_create') {
- $entry = sprintf(___('audit_appversion_create'), $user, $log['Eventlog']['added'], $application);
+ $entry = sprintf(___('%1$s created version %2$s for %3$s'), $user, $log['Eventlog']['added'], $application);
}
elseif ($log['Eventlog']['action'] == 'appversion_delete') {
- $entry = sprintf(___('audit_appversion_delete'), $user, $log['Eventlog']['removed'], $application);
+ $entry = sprintf(___('%1$s deleted version %2$s for %3$s'), $user, $log['Eventlog']['removed'], $application);
}
break;
-
+
case 'category_create':
case 'category_edit':
$categoryInfo = $this->controller->Category->findById($log['Eventlog']['changed_id'], null, null, -1);
$category = $this->link($categoryInfo['Translation']['name']['string'], '/admin/categories');
-
+
if ($log['Eventlog']['action'] == 'category_create') {
- $entry = sprintf(___('audit_category_create'), $user, $category);
+ $entry = sprintf(___('%1$s created tag %2$s'), $user, $category);
}
elseif ($log['Eventlog']['action'] == 'category_edit') {
- $entry = sprintf(___('audit_category_edit'), $user, $category);
+ $entry = sprintf(___('%1$s edited category %2$s'), $user, $category);
}
break;
-
+
case 'category_delete':
- $entry = sprintf(___('audit_category_delete'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s deleted category %2$s (ID %3$s)'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
break;
-
+
case 'platform_create':
case 'platform_edit':
$platformInfo = $this->controller->Platform->findById($log['Eventlog']['changed_id'], null, null, -1);
$platform = $this->link($platformInfo['Translation']['name']['string'], '/admin/platforms');
-
+
if ($log['Eventlog']['action'] == 'platform_create') {
- $entry = sprintf(___('audit_platform_create'), $user, $platform);
+ $entry = sprintf(___('%1$s created platform %2$s'), $user, $platform);
}
elseif ($log['Eventlog']['action'] == 'platform_edit') {
- $entry = sprintf(___('audit_platform_edit'), $user, $platform);
+ $entry = sprintf(___('%1$s edited platform %2$s'), $user, $platform);
}
break;
-
+
case 'platform_delete':
- $entry = sprintf(___('audit_platform_delete'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s deleted platform %2$s (ID %3$s)'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
break;
case 'feature_add':
case 'feature_edit':
$featureInfo = $this->controller->Feature->findById($log['Eventlog']['changed_id'], null, null, -1);
- $entry = sprintf(___('audit_feature_edit'), $user, $featureInfo['Feature']['locale']);
+ $entry = sprintf(___('%1$s changed a feature for %2$s locale'), $user, $featureInfo['Feature']['locale']);
break;
case 'feature_remove':
- $entry = sprintf(___('audit_admin_feature_remove'), $user, $log['Eventlog']['removed']);
+ $entry = sprintf(___('%1$s removed feature %2$s'), $user, $log['Eventlog']['removed']);
break;
-
+
case 'group_create':
case 'group_edit':
$groupInfo = $this->controller->Group->findById($log['Eventlog']['changed_id'], null, null, -1);
$group = $this->link($groupInfo['Group']['name'], '/admin/groups');
-
+
if ($log['Eventlog']['action'] == 'group_create') {
- $entry = sprintf(___('audit_group_create'), $user, $group);
+ $entry = sprintf(___('%1$s created group %2$s'), $user, $group);
}
elseif ($log['Eventlog']['action'] == 'group_edit') {
- $entry = sprintf(___('audit_group_edit'), $user, $group);
+ $entry = sprintf(___('%1$s edited group %2$s'), $user, $group);
}
break;
-
+
case 'group_delete':
- $entry = sprintf(___('audit_group_delete'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s deleted group %2$s (ID %3$s)'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
break;
-
+
case 'group_addmember':
case 'group_removemember':
$groupInfo = $this->controller->Group->findById($log['Eventlog']['changed_id'], null, null, -1);
$group = $this->link($groupInfo['Group']['name'], '/admin/groups');
-
+
if ($log['Eventlog']['action'] == 'group_addmember') {
$memberInfo = $this->controller->User->getUser($log['Eventlog']['added']);
$name = trim($memberInfo['User']['display_name']);
if(empty($name)) $name = $memberInfo['User']['email'];
$member = $this->link($name, '/admin/users/'.$log['Eventlog']['added']);
-
- $entry = sprintf(___('audit_group_addmember'), $user, $member, $group);
+
+ $entry = sprintf(___('%1$s added %2$s to group %3$s'), $user, $member, $group);
}
elseif ($log['Eventlog']['action'] == 'group_removemember') {
$memberInfo = $this->controller->User->getUser($log['Eventlog']['removed']);
@@ -193,151 +193,151 @@ class AuditComponent extends Object {
if(empty($name)) $name = $memberInfo['User']['email'];
$member = $this->link($name, '/admin/users/'.$log['Eventlog']['removed']);
-
- $entry = sprintf(___('audit_group_removemember'), $user, $member, $group);
+
+ $entry = sprintf(___('%1$s removed %2$s from group %3$s'), $user, $member, $group);
}
break;
-
+
case 'response_create':
case 'response_edit':
$responseInfo = $this->controller->Cannedresponse->findById($log['Eventlog']['changed_id'], null, null, -1);
$response = $this->link($responseInfo['Translation']['name']['string'], '/admin/responses');
-
+
if ($log['Eventlog']['action'] == 'response_create') {
- $entry = sprintf(___('audit_response_create'), $user, $response);
+ $entry = sprintf(___('%1$s created response %2$s'), $user, $response);
}
elseif ($log['Eventlog']['action'] == 'response_edit') {
- $entry = sprintf(___('audit_response_edit'), $user, $response);
+ $entry = sprintf(___('%1$s edited response %2$s'), $user, $response);
}
break;
-
+
case 'response_delete':
- $entry = sprintf(___('audit_response_delete'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s deleted response %2$s (ID %3$s)'), $user, $log['Eventlog']['removed'], $log['Eventlog']['changed_id']);
break;
-
+
case 'config':
- $entry = sprintf(___('audit_config'), $user, $log['Eventlog']['field'], $log['Eventlog']['removed'], $log['Eventlog']['added']);
+ $entry = sprintf(___('%1$s changed config \'%2$s\' from \'%3$s\' to \'%4$s\''), $user, $log['Eventlog']['field'], $log['Eventlog']['removed'], $log['Eventlog']['added']);
break;
-
+
case 'user_edit':
$userInfo = $this->controller->User->getUser($log['Eventlog']['changed_id']);
$name = trim($userInfo['User']['display_name']);
if(empty($name)) $name = $userInfo['User']['email'];
$userLink = $this->link($name, '/admin/users/'.$log['Eventlog']['changed_id']);
-
- $entry = sprintf(___('audit_user_edit'), $user, $userLink);
+
+ $entry = sprintf(___('%1$s edited %2$s\'s user information'), $user, $userLink);
break;
-
+
default:
- $entry = sprintf(___('audit_admin_default'), $user, $log['Eventlog']['action'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s committed unknown admin action %2$s to ID %3$s'), $user, $log['Eventlog']['action'], $log['Eventlog']['changed_id']);
break;
}
break;
-
+
case 'editor':
switch ($log['Eventlog']['action']) {
case 'feature_add':
$addonLink = $this->linkTitle($log['Eventlog']['added'], '/addon/');
- $entry = sprintf(___('audit_feature_add'), $user, $addonLink);
+ $entry = sprintf(___('%1$s added addon %2$s to feature list'), $user, $addonLink);
break;
case 'feature_remove':
$addonLink = $this->linkTitle($log['Eventlog']['removed'], '/addon/');
- $entry = sprintf(___('audit_editor_feature_remove'), $user, $addonLink);
+ $entry = sprintf(___('%1$s removed addon %2$s from feature list'), $user, $addonLink);
break;
case 'feature_locale_change':
$addonLink = $this->linkTitle($log['Eventlog']['changed_id'], '/addon/');
- $entry = sprintf(___('audit_feature_locale_change'), $user, $addonLink);
+ $entry = sprintf(___('%1$s changed locales for addon %2$s on feature list'), $user, $addonLink);
break;
case 'review_approve':
- $entry = sprintf(___('audit_review_approve'), $user, $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s approved review %2$s'), $user, $log['Eventlog']['changed_id']);
break;
-
+
case 'review_delete':
if ($this->controller->SimpleAcl->actionAllowed('Admin', 'logs', $this->controller->Session->read('User'))) {
- $entry = sprintf(___('audit_review_delete'), $user, $this->link($log['Eventlog']['changed_id'], "/admin/logs/{$log['Eventlog']['id']}"));
+ $entry = sprintf(___('%1$s deleted review %2$s'), $user, $this->link($log['Eventlog']['changed_id'], "/admin/logs/{$log['Eventlog']['id']}"));
}
else {
- $entry = sprintf(___('audit_review_delete'), $user, $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s deleted review %2$s'), $user, $log['Eventlog']['changed_id']);
}
break;
-
+
default:
- $entry = sprintf(___('audit_editor_default'), $user, $log['Eventlog']['action'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s committed unknown editor action %2$s to ID %3$s'), $user, $log['Eventlog']['action'], $log['Eventlog']['changed_id']);
break;
}
break;
-
+
case 'l10n':
switch ($log['Eventlog']['action']) {
case 'update_applications':
- $entry = sprintf(___('audit_update_applications'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/applications/?userlang="));
+ $entry = sprintf(___('%1$s updated application translations for %2$s'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/applications/?userlang="));
break;
-
+
case 'update_categories':
- $entry = sprintf(___('audit_update_categories'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/categories/?userlang="));
+ $entry = sprintf(___('%1$s updated categories for %2$s'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/categories/?userlang="));
break;
-
+
case 'update_platforms':
- $entry = sprintf(___('audit_update_platforms'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/platforms/?userlang="));
+ $entry = sprintf(___('%1$s updated platform translations for %2$s'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/platforms/?userlang="));
break;
case 'update_blog':
- $entry = sprintf(___('audit_update_blog'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/platforms/?userlang="));
+ $entry = sprintf(___('%1$s updated blog post translations for %2$s'), $user, $this->linkTitle($log['Eventlog']['notes'], "/localizers/platforms/?userlang="));
break;
default:
- $entry = sprintf(___('audit_l10n_default'), $user, $log['Eventlog']['action'], $log['Eventlog']['notes']);
+ $entry = sprintf(___('%1$s committed unknown action %2$s for %3$s'), $user, $log['Eventlog']['action'], $log['Eventlog']['notes']);
break;
}
break;
-
+
case 'security':
switch ($log['Eventlog']['action']) {
case 'reauthentication_failure':
- $entry = sprintf(___('audit_reauthentication_failure'), $user, $log['Eventlog']['notes']);
+ $entry = sprintf(___('%1$s failed to re-authenticate to access %2$s.'), $user, $log['Eventlog']['notes']);
break;
-
+
case 'modify_locked_group':
$groupInfo = $this->controller->Group->findById($log['Eventlog']['changed_id'], null, null, -1);
$group = $this->link($groupInfo['Group']['name'], '/admin/groups');
-
- $entry = sprintf(___('audit_modify_locked_group'), $user, $group);
+
+ $entry = sprintf(___('%1$s attempted to modify locked group %2$s'), $user, $group);
break;
-
+
case 'modify_other_locale':
- $entry = sprintf(___('audit_modify_other_locale'), $user, $log['Eventlog']['notes']);
+ $entry = sprintf(___('%1$s attempted to modify translations in %2$s without permission'), $user, $log['Eventlog']['notes']);
break;
-
+
default:
- $entry = sprintf(___('audit_security_default'), $user, $log['Eventlog']['action'], $log['Eventlog']['changed_id']);
+ $entry = sprintf(___('%1$s committed unknown security action %2$s to ID %3$s'), $user, $log['Eventlog']['action'], $log['Eventlog']['changed_id']);
break;
}
break;
-
+
case 'user':
switch ($log['Eventlog']['action']) {
case 'group_associated':
$groupInfo = $this->controller->Group->findById($log['Eventlog']['changed_id'], null, null, -1);
$group = $this->link($groupInfo['Group']['name'], '/admin/groups');
- $entry = sprintf(___('audit_group_associated'), $user, $group);
+ $entry = sprintf(___('%1$s associated themselves with %2$s'), $user, $group);
break;
}
break;
-
+
default:
- break;
+ break;
}
-
+
$newLog[] = array(
'time' => $log['Eventlog']['created'],
'entry' => $entry
);
}
- }
-
+ }
+
return $newLog;
}
}
diff --git a/site/app/controllers/components/collections_listing.php b/site/app/controllers/components/collections_listing.php
index e56d151..f12d3cd 100644
--- a/site/app/controllers/components/collections_listing.php
+++ b/site/app/controllers/components/collections_listing.php
@@ -59,16 +59,16 @@ class CollectionsListingComponent extends Object {
$sort_default = 'weekly';
$sort_opts = array(
'weekly' => array(
- 'text' => ___('collections_index_option_week'),
+ 'text' => ___('Most popular this week'),
'sort' => 'weekly_subscribers'),
'monthly' => array(
- 'text' => ___('collections_index_option_month'),
+ 'text' => ___('Most popular this month'),
'sort' => 'monthly_subscribers'),
'all' => array(
- 'text' => ___('collections_index_option_all'),
+ 'text' => ___('Most popular all time'),
'sort' => 'subscribers'),
'newest' => array(
- 'text' => ___('collections_index_option_newest'),
+ 'text' => ___('Newest'),
'sort' => 'created'),
);
$sortby = isset($_GET['sortby']) ? $_GET['sortby'] : $sort_default;
diff --git a/site/app/controllers/components/developers.php b/site/app/controllers/components/developers.php
index dcaac74..676a54a 100644
--- a/site/app/controllers/components/developers.php
+++ b/site/app/controllers/components/developers.php
@@ -51,10 +51,10 @@ class DevelopersComponent extends Object {
$this->controller =& $controller;
$this->uploadErrors = array(
- '1' => _('devcp_error_http_maxupload'),
- '2' => _('devcp_error_http_maxupload'),
- '3' => _('devcp_error_http_incomplete'),
- '4' => _('devcp_error_http_nofile')
+ '1' => ___('Exceeds maximum upload size'),
+ '2' => ___('Exceeds maximum upload size'),
+ '3' => ___('Incomplete transfer'),
+ '4' => ___('No file uploaded')
);
}
@@ -67,12 +67,12 @@ class DevelopersComponent extends Object {
//Must have at least one category selected, but no more than 5
if (empty($categories)) {
- $errors->addError(_('devcp_error_one_category'), 'Category/Category');
+ $errors->addError(___('Please select at least one category.'), 'Category/Category');
$this->controller->Category->invalidate('Category');
return false;
}
elseif (count($categories) > 5) {
- $errors->addError(_('devcp_error_five_categories'), 'Category/Category');
+ $errors->addError(___('Please select no more than five categories.'), 'Category/Category');
$this->controller->Category->invalidate('Category');
return false;
}
@@ -100,7 +100,7 @@ class DevelopersComponent extends Object {
//Make sure there is at least one author
if (empty($users)) {
- $errors->addError(_('devcp_error_one_user'), 'User/User');
+ $errors->addError(___('There must be at least one author for this add-on.'), 'User/User');
$this->controller->User->invalidate('User');
return false;
}
@@ -282,7 +282,7 @@ class DevelopersComponent extends Object {
//Make sure the first file was uploaded
if (empty($this->controller->data['File']['file1']['name'])) {
- $errors->addError(_('devcp_error_upload_file'), 'File/file1');
+ $errors->addError(___('Please upload a file.'), 'File/file1');
$this->controller->File->invalidate('file1');
return false;
}
@@ -298,7 +298,7 @@ class DevelopersComponent extends Object {
if ($f != 4) {
//Make sure platform selected
if (empty($this->controller->data['File']['platform_id'.$f])) {
- $errors->addError(_('devcp_error_no_platform'), 'File/platform_id'.$f);
+ $errors->addError(___('No platform selected'), 'File/platform_id'.$f);
$this->controller->File->invalidate('platform_id'.$f);
$errorCount++;
}
@@ -360,7 +360,7 @@ class DevelopersComponent extends Object {
// Check for file extension match
if (!in_array(strtolower($fileInfo['extension']), $allowedExtensions)) {
- return sprintf(_('devcp_error_file_extension'), $fileInfo['extension'], implode(', ', $allowedExtensions));
+ return sprintf(___('That file extension (%1$s) is not allowed for the selected add-on type. Please use one of the following: %2$s'), $fileInfo['extension'], implode(', ', $allowedExtensions));
}
// Move temporary file to repository
@@ -378,7 +378,7 @@ class DevelopersComponent extends Object {
$fileInfo['path'] = $tempLocation;
}
else {
- return _('devcp_error_move_file');
+ return ___('Could not move file');
}
return $fileInfo;
@@ -398,7 +398,7 @@ class DevelopersComponent extends Object {
// Check for file extension match
$extension = substr($icon['name'], strrpos($icon['name'], '.'));
if (!in_array(strtolower($extension), $this->imageExtensions)) {
- return sprintf(_('devcp_error_icon_extension'), $extension, implode(', ', $this->imageExtensions));
+ return sprintf(___('That file extension (%1$s) is not allowed for an icon. Please use one of the following: %2$s'), $extension, implode(', ', $this->imageExtensions));
}
$fileInfo['icondata'] = file_get_contents($icon['tmp_name']);
@@ -427,7 +427,7 @@ class DevelopersComponent extends Object {
// Check for file extension match
$extension = substr($picture['name'], strrpos($picture['name'], '.'));
if (!in_array(strtolower($extension), $this->imageExtensions)) {
- return sprintf(_('devcp_error_icon_extension'), $extension, implode(', ', $this->imageExtensions));
+ return sprintf(___('That file extension (%1$s) is not allowed for an icon. Please use one of the following: %2$s'), $extension, implode(', ', $this->imageExtensions));
}
$fileInfo['picture_data'] = file_get_contents($picture['tmp_name']);
@@ -527,47 +527,47 @@ class DevelopersComponent extends Object {
function validateManifestData($manifestData) {
// If the data is a string, it is an error message
if (is_string($manifestData)) {
- return sprintf(_('devcp_error_manifest_parse'), $manifestData);
+ return sprintf(___('The following error occurred while parsing install.rdf: %s'), $manifestData);
}
// Check if install.rdf has an updateURL
if (isset($manifestData['updateURL'])) {
- return _('devcp_error_updateurl');
+ return ___('Add-ons cannot use an external updateURL. Please remove this from install.rdf and try again.');
}
// Check if install.rdf has an updateKey
if (isset($manifestData['updateKey'])) {
- return _('devcp_error_updatekey');
+ return ___('Add-ons cannot use an updateKey. Please remove this from install.rdf and try again.');
}
// Check the GUID for existence
if (!isset($manifestData['id'])) {
- return _('devcp_error_no_guid');
+ return ___('No ID could be found for this add-on in install.rdf.');
}
// Validate GUID
if (!preg_match('/^(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\}|[a-z0-9-\._]*\@[a-z0-9-\._]+)$/i', $manifestData['id'])) {
- return sprintf(_('devcp_error_invalid_guid'), $manifestData['id']);
+ return sprintf(___('The ID of this add-on is invalid: %s'), $manifestData['id']);
}
// Make sure GUID is not an application's GUID
if ($this->controller->Application->findByGuid($manifestData['id'])) {
- return _('devcp_error_guid_application');
+ return ___('The ID of this add-on is already used by an application.');
}
// Make sure the GUID is not blacklisted
if ($this->controller->BlacklistedGuid->findByGuid($manifestData['id'])) {
- return sprintf(___('devcp_error_guid_blacklisted', 'Your add-on is attempting to use a GUID that has been blocked. Please <a href="%1$s">contact the AMO staff</a>.'), '/pages/about#contact');
+ return sprintf(___('Your add-on is attempting to use a GUID that has been blocked. Please <a href="%1$s">contact the AMO staff</a>.'), '/pages/about#contact');
}
// Make sure version has no spaces
if (!isset($manifestData['version']) || preg_match('/.*\s.*/', $manifestData['version'])) {
- return _('devcp_error_invalid_version_spaces');
+ return ___('The version of this add-on is invalid: versions cannot contain spaces.');
}
// Validate version
if (!preg_match('/^\d+(\+|\w+)?(\.\d+(\+|\w+)?)*$/', $manifestData['version'])) {
- return _('devcp_error_invalid_version');
+ return ___('The version of this add-on is invalid: please see the <a href="http://developer.mozilla.org/en/docs/Toolkit_version_format">specification</a>');
}
return true;
@@ -600,10 +600,10 @@ class DevelopersComponent extends Object {
$matchingMinVers = $this->controller->Appversion->find("application_id={$matchingApp['Application']['id']} AND version='{$appVal['minVersion']}'", null, null, -1);
if (empty($matchingMinVers)) {
- $versionErrors[] = sprintf(_('devcp_error_invalid_appversion'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
+ $versionErrors[] = sprintf(___('%1$s is not a valid version for %2$s'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
}
elseif (strpos($appVal['minVersion'], '*') !== false) {
- $versionErrors[] = sprintf(_('devcp_error_invalid_minversion'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
+ $versionErrors[] = sprintf(___('%1$s is not a valid version for %2$s: minimum versions cannot contain *'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
}
else {
$return[$i]['min'] = $matchingMinVers['Appversion']['id'];
@@ -612,7 +612,7 @@ class DevelopersComponent extends Object {
// Check if the maxVersion is valid
$matchingMaxVers = $this->controller->Appversion->find("application_id={$matchingApp['Application']['id']} AND version='{$appVal['maxVersion']}'", null, null, -1);
if (empty($matchingMaxVers)) {
- $versionErrors[] = sprintf(_('devcp_error_invalid_appversion'), $appVal['maxVersion'], $matchingApp['Translation']['name']['string']);
+ $versionErrors[] = sprintf(___('%1$s is not a valid version for %2$s'), $appVal['maxVersion'], $matchingApp['Translation']['name']['string']);
}
else {
$return[$i]['max'] = $matchingMaxVers['Appversion']['id'];
@@ -622,17 +622,17 @@ class DevelopersComponent extends Object {
}
}
- $validAppReference = sprintf(_('devcp_error_appversion_reference_link'), '<a href="'.$this->controller->url('/pages/appversions').'">'._('devcp_error_appversion_reference_link_text').'</a>');
+ $validAppReference = sprintf(___('Please see %s for reference.'), '<a href="'.$this->controller->url('/pages/appversions').'">'.___('this page').'</a>');
// Must have at least one Mozilla app
if ($noMozApps === true) {
- return _('devcp_error_mozilla_application').'<br />'.$validAppReference;
+ return ___('You must have at least one valid Mozilla target application.').'<br />'.$validAppReference;
}
// Max/min version errors
if (count($versionErrors) > 0) {
$errorStr = implode($versionErrors, '<br />');
- return _('devcp_error_install_manifest').'<br />'.$errorStr.'<br />'.$validAppReference;
+ return ___('The following errors were found in install.rdf:').'<br />'.$errorStr.'<br />'.$validAppReference;
}
return $return;
@@ -681,7 +681,7 @@ class DevelopersComponent extends Object {
// Create directory if necessary
if (!file_exists($dirPath)) {
if (!mkdir($dirPath)) {
- return sprintf(_('devcp_error_moving_file'), $data['File']['db']['filename']);
+ return sprintf(___('An error occurred moving %s.'), $data['File']['db']['filename']);
}
}
@@ -689,16 +689,16 @@ class DevelopersComponent extends Object {
if (file_exists($currentPath)) {
// Bail if the file exists. See bug 470652 for a rough explanation
if (file_exists($newPath)) {
- return sprintf(___('devcp_error_file_exists'), $filename);
+ return sprintf(___('A version of that add-on already exists. To replace it, you must delete the file %1$s first.'), $filename);
}
// We must copy instead of rename now in case there are other platforms
if (!copy($currentPath, $newPath)) {
- return sprintf(_('devcp_error_moving_file'), $data['File']['db']['filename']);
+ return sprintf(___('An error occurred moving %s.'), $data['File']['db']['filename']);
}
$fileUpdates['filename'] = $filename;
}
else {
- return sprintf(_('devcp_error_moving_file'), $data['File']['db']['filename']);
+ return sprintf(___('An error occurred moving %s.'), $data['File']['db']['filename']);
}
// Copy file to rsync area if public
@@ -758,7 +758,7 @@ class DevelopersComponent extends Object {
//Create directory if necessary
if (!file_exists($dirPath)) {
if (!mkdir($dirPath)) {
- $errors->addError(sprintf(_('devcp_error_moving_file'), $file['filename']));
+ $errors->addError(sprintf(___('An error occurred moving %s.'), $file['filename']));
}
}
@@ -769,12 +769,12 @@ class DevelopersComponent extends Object {
unlink($newPath);
}
if (!rename($currentPath, $newPath)) {
- $errors->addError(sprintf(_('devcp_error_moving_file'), $file['filename']));
+ $errors->addError(sprintf(___('An error occurred moving %s.'), $file['filename']));
}
$fileUpdates[$file['id']]['filename'] = $newFilename;
}
else {
- $errors->addError(sprintf(_('devcp_error_moving_file'), $file['filename']));
+ $errors->addError(sprintf(___('An error occurred moving %s.'), $file['filename']));
}
}
@@ -1115,7 +1115,7 @@ class DevelopersComponent extends Object {
$extension = substr($data['File']['name'], strrpos($data['File']['name'], '.'));
if (!in_array($extension, $allowedImage)) {
$errors =& $this->controller->Error;
- $errors->addError(sprintf(_('devcp_error_preview_extension'), $extension, implode(', ', $allowedImage)), 'main');
+ $errors->addError(sprintf(___('That file extension (%1$s) is not allowed for a preview. Please use one of the following: %2$s'), $extension, implode(', ', $allowedImage)), 'main');
return false;
}
@@ -1197,7 +1197,7 @@ class DevelopersComponent extends Object {
);
if ($autoDetect == true) {
- $addontypes[0] = _('devcp_additem_addontype_autodetect');
+ $addontypes[0] = ___('(auto-detect)');
}
if ($isAdmin == true) {
@@ -1219,7 +1219,7 @@ class DevelopersComponent extends Object {
// Add 'Please Choose...' only if no license has been selected.
// if (!isset($version['license_id'])) {
// $licenses['null'] = array(
- // 'name' => ___('devcp_uploader_please_choose'),
+ // 'name' => ___('Please Choose...'),
// 'selected' => True);
// }
@@ -1247,7 +1247,7 @@ class DevelopersComponent extends Object {
ORDER BY Version.id DESC";
foreach ($this->controller->Version->execute($q) as $existing) {
$existing = $existing['Version'];
- $t = ___('devcp_license_existing');
+ $t = ___('Custom license for add-on %1$s v%2$s');
$val = 'existing_'.$existing['license_id'];
$licenses[$val] = array(
'name' => sprintf($t, $version['addon_id'], $existing['version']),
@@ -1256,7 +1256,7 @@ class DevelopersComponent extends Object {
}
}
- $licenses['other'] = array('name' => ___('devcp_uploader_option_other'),
+ $licenses['other'] = array('name' => ___('Other'),
'selected' => false);
return array($licenses, $trans);
}
diff --git a/site/app/controllers/components/editors.php b/site/app/controllers/components/editors.php
index 18d4d04..c5d8358 100644
--- a/site/app/controllers/components/editors.php
+++ b/site/app/controllers/components/editors.php
@@ -54,7 +54,7 @@ class EditorsComponent extends Object {
function reviewNominatedAddon($addon, $data) {
//Make sure add-on is actually nominated
if ($addon['Addon']['status'] != STATUS_NOMINATED) {
- $this->controller->Error->addError(___('editor_review_error_addon_not_nominated', 'This add-on has not been nominated'));
+ $this->controller->Error->addError(___('This add-on has not been nominated.'));
return false;
}
@@ -76,12 +76,12 @@ class EditorsComponent extends Object {
$addonData['status'] = STATUS_NOMINATED;
}
else {
- $this->controller->Error->addError(___('editor_review_error_no_action', 'Please select a review action.'));
+ $this->controller->Error->addError(___('Please select a review action.'));
return false;
}
if (empty($data['Approval']['comments'])) {
- $this->controller->Error->addError(___('editor_review_error_no_comments', 'Please enter review comments.'));
+ $this->controller->Error->addError(___('Please enter review comments.'));
return false;
}
@@ -158,7 +158,7 @@ class EditorsComponent extends Object {
*/
function reviewPendingFiles($addon, $data) {
if (empty($data['Approval']['File'])) {
- $this->controller->addError(___('editor_review_error_no_files', 'Please select at least one file to review.'));
+ $this->controller->addError(___('Please select at least one file to review.'));
return false;
}
@@ -179,22 +179,22 @@ class EditorsComponent extends Object {
$fileData['status'] = STATUS_PENDING;
}
else {
- $this->controller->Error->addError(___('editor_review_error_no_action', 'Please select a review action.'));
+ $this->controller->Error->addError(___('Please select a review action.'));
return false;
}
if (empty($data['Approval']['comments'])) {
- $this->controller->Error->addError(___('editor_review_error_no_comments', 'Please enter review comments.'));
+ $this->controller->Error->addError(___('Please enter review comments.'));
return false;
}
if (empty($data['Approval']['applications'])) {
- $this->controller->Error->addError(___('editor_review_error_no_applications', 'Please enter the tested applications.'));
+ $this->controller->Error->addError(___('Please enter the applications you tested.'));
return false;
}
if (empty($data['Approval']['os'])) {
- $this->controller->Error->addError(___('editor_review_error_no_operating_system', 'Please enter the tested operating systems.'));
+ $this->controller->Error->addError(___('Please enter the operating systems you tested.'));
return false;
}
@@ -210,7 +210,7 @@ class EditorsComponent extends Object {
// Make sure file is pending review
if ($file['File']['status'] != STATUS_PENDING) {
- $this->controller->Error->addError(___('editor_review_error_file_not_pending', 'File not pending review.'));
+ $this->controller->Error->addError(___('This file is not pending review.'));
return false;
}
@@ -343,10 +343,10 @@ class EditorsComponent extends Object {
// validation
if (empty($commentData['subject'])) {
- $this->controller->Error->addError(___('editor_review_error_comment_subject_required', 'Comment subject is required'));
+ $this->controller->Error->addError(___('Comment subject is required'));
}
if (empty($commentData['comment'])) {
- $this->controller->Error->addError(___('editor_review_error_comment_body_required', 'Comment body is required'));
+ $this->controller->Error->addError(___('Comment body is required'));
}
// cake does not turn '' into NULL
@@ -358,7 +358,7 @@ class EditorsComponent extends Object {
if ($this->controller->Versioncomment->save($commentData)) {
$returnId = $this->controller->Versioncomment->id;
} else {
- $this->controller->Error->addError(___('editor_review_error_comment_save_fail', 'Failed to save comment'));
+ $this->controller->Error->addError(___('Failed to save comment'));
}
}
diff --git a/site/app/controllers/components/rdf.php b/site/app/controllers/components/rdf.php
index 8ffd4ba..b94f6b6 100644
--- a/site/app/controllers/components/rdf.php
+++ b/site/app/controllers/components/rdf.php
@@ -104,7 +104,7 @@ class RdfComponent extends Object {
if (array_key_exists($prop, $singleProps) ) {
if (isset($data['manifest'][$prop])) {
- $data['manifest']['errors'][] = sprintf(___('rdf_error_duplicate_single_prop', 'RDF Parser error: the file contained a duplicate element: %s'), $prop);
+ $data['manifest']['errors'][] = sprintf(___('RDF Parser error: the file contained a duplicate element: %s'), $prop);
} else {
$data['manifest'][$prop] = $object;
}
diff --git a/site/app/controllers/components/simple_acl.php b/site/app/controllers/components/simple_acl.php
index dfce478..3d469da 100644
--- a/site/app/controllers/components/simple_acl.php
+++ b/site/app/controllers/components/simple_acl.php
@@ -78,9 +78,9 @@ class SimpleAclComponent extends Object
$this->Controller->set(compact('controller', 'action'));
$this->Controller->layout = 'mozilla';
- $this->Controller->pageTitle = _('error_access_denied') . ' :: ' . sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
- $this->Controller->set('breadcrumbs', _('error_access_denied'));
- $this->Controller->set('subpagetitle', _('error_access_denied'));
+ $this->Controller->pageTitle = ___('Access Denied') . ' :: ' . sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
+ $this->Controller->set('breadcrumbs', ___('Access Denied'));
+ $this->Controller->set('subpagetitle', ___('Access Denied'));
$this->Controller->viewPath = 'errors';
$this->Controller->render('error401');
diff --git a/site/app/controllers/components/stats.php b/site/app/controllers/components/stats.php
index abc0272..b4199d4 100644
--- a/site/app/controllers/components/stats.php
+++ b/site/app/controllers/components/stats.php
@@ -423,18 +423,18 @@ class StatsComponent extends Object {
)
),
'prettyNames' => array(
- 'version' => _('statistics_longnames_version'),
- 'application' => _('statistics_longnames_application'),
- 'status' => _('statistics_longnames_status'),
- 'os' => _('statistics_longnames_os'),
- 'unknown' => _('statistics_longnames_unknown')
+ 'version' => ___('Add-on Version'),
+ 'application' => ___('Application'),
+ 'status' => ___('Add-on Status'),
+ 'os' => ___('Operating System'),
+ 'unknown' => ___('Unknown')
),
'shortNames' => array(
- 'version' => _('statistics_shortnames_version'),
- 'application' => _('statistics_shortnames_application'),
- 'status' => _('statistics_shortnames_status'),
- 'os' => _('statistics_shortnames_os'),
- 'unknown' => _('statistics_shortnames_unknown'),
+ 'version' => ___('Ver'),
+ 'application' => ___('App'),
+ 'status' => ___('St'),
+ 'os' => ___('OS'),
+ 'unknown' => ___('Uk'),
)
);
$appShortnames = $this->controller->Amo->getApplicationName(null, true);
@@ -526,7 +526,7 @@ class StatsComponent extends Object {
if (!empty($releases)) {
foreach ($releases as $version => $date) {
- $title = sprintf(_('statistics_events_app_released'), ucwords($app)." {$version}");
+ $title = sprintf(___('%1$s released'), ucwords($app)." {$version}");
$xml[] = '<event start="'.date('M d Y H:i:s \G\M\TO', strtotime($date)).'" title="'.$title.'" />';
}
}
@@ -545,7 +545,7 @@ class StatsComponent extends Object {
if (!empty($versions)) {
foreach ($versions as $version) {
- $title = sprintf(_('statistics_events_addon_created'), "{$name} {$version['Version']['version']}");
+ $title = sprintf(___('%1$s created'), "{$name} {$version['Version']['version']}");
$xml[] = '<event start="'.date('M d Y H:i:s \G\M\TO', strtotime($version['Version']['created'])).'" title="'.$title.'" />';
}
}
diff --git a/site/app/controllers/components/validation.php b/site/app/controllers/components/validation.php
index 6588665..d6c7874 100644
--- a/site/app/controllers/components/validation.php
+++ b/site/app/controllers/components/validation.php
@@ -73,12 +73,12 @@ class ValidationComponent extends Object {
// This should never happen, but just in case
if (!method_exists($this, $case['TestCase']['function'])) return false;
-
+
// For each case, run the test, which will be a function in this component
$results = call_user_func(array('ValidationComponent', $case['TestCase']['function']), $file);
-
+
if (!empty($results)) {
-
+
// Cake doesn't give us a nice way to insert multiple
// items, so we do it manually
$query = 'INSERT INTO `test_results` (`result`, `line`, `filename`, `message`, `file_id`, `test_case_id`) VALUES ';
@@ -86,7 +86,7 @@ class ValidationComponent extends Object {
$failed = false;
foreach($results as $result) {
-
+
$this->Amo->clean($result, false);
$sql[] = "({$result['result']}, {$result['line']}, '{$result['filename']}', '{$result['message']}', {$file_id}, {$case['TestCase']['id']})";
@@ -102,7 +102,7 @@ class ValidationComponent extends Object {
}
}
}
-
+
// If we made it here - the test finished successfully!
return true;
@@ -143,7 +143,7 @@ class ValidationComponent extends Object {
$extension = substr($file['File']['filename'], strrpos($file['File']['filename'], '.'));
$type = 0;
-
+
// Double-check the extension
switch ($extension) {
case '.xpi':
@@ -175,12 +175,12 @@ class ValidationComponent extends Object {
// Verify that this matches the type we store
$addon = $this->controller->Addon->getAddon($file['Version']['addon_id'], array('list_details'));
if ($addon['Addon']['addontype_id'] != $type) {
- return $this->_resultFail(0, '', ___('devcp_error_mismatched_extension', 'The extension does not match the type of the add-on'));
+ return $this->_resultFail(0, '', ___('The extension does not match the type of the add-on.'));
}
// Verify that the file exits
if (!file_exists(REPO_PATH . '/' . $addon['Addon']['id'] . '/' . $file['File']['filename'])) {
- return $this->_resultFail(0, '', ___('devcp_error_missing_addon_file', 'The add-on could not be found on the server'));
+ return $this->_resultFail(0, '', ___('The add-on could not be found on the server.'));
}
return $this->_resultPass();
@@ -203,20 +203,20 @@ class ValidationComponent extends Object {
// Make sure install.rdf is present, fail otherwise
if (empty($extraction)) {
- return $this->_resultFail(0, '', _('devcp_error_index_rdf_notfound'));
+ return $this->_resultFail(0, '', ___('No install.rdf present.'));
}
$fileContents = $extraction[0]['content'];
// Use RDF Component to parse install.rdf
$manifestData = $this->Rdf->parseInstallManifest($fileContents);
-
+
// Clean manifest data
$this->Amo->clean($manifestData);
// Check for any immediate parsing errors
if (isset($manifestData['errors'])) {
- $results = array();
+ $results = array();
foreach ($manifestData['errors'] as $error) {
$results[] = $this->_result(TEST_FAIL, 0, 'install.rdf', $error);
}
@@ -248,47 +248,47 @@ class ValidationComponent extends Object {
function validateManifestData($manifestData) {
// If the data is a string, it is an error message
if (is_string($manifestData)) {
- return sprintf(_('devcp_error_manifest_parse'), $manifestData);
+ return sprintf(___('The following error occurred while parsing install.rdf: %s'), $manifestData);
}
// Check if install.rdf has an updateURL
if (isset($manifestData['updateURL'])) {
- return _('devcp_error_updateurl');
+ return ___('Add-ons cannot use an external updateURL. Please remove this from install.rdf and try again.');
}
// Check if install.rdf has an updateKey
if (isset($manifestData['updateKey'])) {
- return _('devcp_error_updatekey');
+ return ___('Add-ons cannot use an updateKey. Please remove this from install.rdf and try again.');
}
// Check the GUID for existence
if (!isset($manifestData['id'])) {
- return _('devcp_error_no_guid');
+ return ___('No ID could be found for this add-on in install.rdf.');
}
// Validate GUID
if (!preg_match('/^(\{[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}\}|[a-z0-9-\._]*\@[a-z0-9-\._]+)$/i', $manifestData['id'])) {
- return sprintf(_('devcp_error_invalid_guid'), $manifestData['id']);
+ return sprintf(___('The ID of this add-on is invalid: %s'), $manifestData['id']);
}
// Make sure GUID is not an application's GUID
if ($this->controller->Application->findByGuid($manifestData['id'])) {
- return _('devcp_error_guid_application');
+ return ___('The ID of this add-on is already used by an application.');
}
- // Make sure the GUID is not blacklisted
+ // Make sure the GUID is not blacklisted
if ($this->controller->BlacklistedGuid->findByGuid($manifestData['id'])) {
- return sprintf(___('devcp_error_guid_blacklisted', 'Your add-on is attempting to use a GUID that has been blocked. Please <a href="%1$s">contact the AMO staff</a>.'), '/pages/about#contact');
+ return sprintf(___('Your add-on is attempting to use a GUID that has been blocked. Please <a href="%1$s">contact the AMO staff</a>.'), '/pages/about#contact');
}
// Make sure version has no spaces
if (!isset($manifestData['version']) || preg_match('/.*\s.*/', $manifestData['version'])) {
- return _('devcp_error_invalid_version_spaces');
+ return ___('The version of this add-on is invalid: versions cannot contain spaces.');
}
// Validate version
if (!preg_match('/^\d+(\+|\w+)?(\.\d+(\+|\w+)?)*$/', $manifestData['version'])) {
- return _('devcp_error_invalid_version');
+ return ___('The version of this add-on is invalid: please see the <a href="http://developer.mozilla.org/en/docs/Toolkit_version_format">specification</a>');
}
return true;
@@ -321,10 +321,10 @@ class ValidationComponent extends Object {
$matchingMinVers = $this->controller->Appversion->find("application_id={$matchingApp['Application']['id']} AND version='{$appVal['minVersion']}'", null, null, -1);
if (empty($matchingMinVers)) {
- $versionErrors[] = sprintf(_('devcp_error_invalid_appversion'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
+ $versionErrors[] = sprintf(___('%1$s is not a valid version for %2$s'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
}
elseif (strpos($appVal['minVersion'], '*') !== false) {
- $versionErrors[] = sprintf(_('devcp_error_invalid_minversion'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
+ $versionErrors[] = sprintf(___('%1$s is not a valid version for %2$s: minimum versions cannot contain *'), $appVal['minVersion'], $matchingApp['Translation']['name']['string']);
}
else {
$return[$i]['min'] = $matchingMinVers['Appversion']['id'];
@@ -333,7 +333,7 @@ class ValidationComponent extends Object {
// Check if the maxVersion is valid
$matchingMaxVers = $this->controller->Appversion->find("application_id={$matchingApp['Application']['id']} AND version='{$appVal['maxVersion']}'", null, null, -1);
if (empty($matchingMaxVers)) {
- $versionErrors[] = sprintf(_('devcp_error_invalid_appversion'), $appVal['maxVersion'], $matchingApp['Translation']['name']['string']);
+ $versionErrors[] = sprintf(___('%1$s is not a valid version for %2$s'), $appVal['maxVersion'], $matchingApp['Translation']['name']['string']);
}
else {
$return[$i]['max'] = $matchingMaxVers['Appversion']['id'];
@@ -343,17 +343,17 @@ class ValidationComponent extends Object {
}
}
- $validAppReference = sprintf(_('devcp_error_appversion_reference_link'), '<a href="'.$this->controller->url('/pages/appversions').'">'._('devcp_error_appversion_reference_link_text').'</a>');
+ $validAppReference = sprintf(___('Please see %s for reference.'), '<a href="'.$this->controller->url('/pages/appversions').'">'.___('this page').'</a>');
// Must have at least one Mozilla app
if ($noMozApps === true) {
- return _('devcp_error_mozilla_application').'<br />'.$validAppReference;
+ return ___('You must have at least one valid Mozilla target application.').'<br />'.$validAppReference;
}
// Max/min version errors
if (count($versionErrors) > 0) {
$errorStr = implode($versionErrors, '<br />');
- return _('devcp_error_install_manifest').'<br />'.$errorStr.'<br />'.$validAppReference;
+ return ___('The following errors were found in install.rdf:').'<br />'.$errorStr.'<br />'.$validAppReference;
}
return $return;
@@ -373,14 +373,14 @@ class ValidationComponent extends Object {
if (count($extraction) != 0) {
foreach ($extraction as $fileInfo) {
$filename = $fileInfo['filename'];
- $results[] = $this->_result(TEST_WARN, 0, '', sprintf(___('devcp_error_blacklisted_file', 'The add-on contains a file \'%s\', which is a flagged type.'), $filename));
+ $results[] = $this->_result(TEST_WARN, 0, '', sprintf(___('The add-on contains a file \'%s\', which is a flagged type.'), $filename));
}
}
return $this->_passIfEmpty($results);
}
- /**
+ /**
* Uses jshydra to check for things in the global namespace
* @param array $file the file in model format
* @return array an array of test results, empty if there is no result
@@ -400,11 +400,11 @@ class ValidationComponent extends Object {
}
$extracted = $this->_extract($file, 'by_preg', '/\.js/', false);
-
- // No JS to be polluted
- if (empty($extracted))
+
+ // No JS to be polluted
+ if (empty($extracted))
return array();
-
+
// Run each file through jshydra
$results = array();
foreach ($extracted as $fileInfo) {
@@ -416,7 +416,7 @@ class ValidationComponent extends Object {
if (!file_exists($fileInfo['path']) || !is_readable($fileInfo['path'])) {
continue;
}
-
+
// Build and excute the command
$command = $jshydra . ' ' . $globalsScript . ' ' . $safeFile;
$output = shell_exec($command);
@@ -424,14 +424,14 @@ class ValidationComponent extends Object {
// jshydra ouputs variables in three groups, so we use this to track state
$states = array(
- ___('devcp_error_global_variable', 'The file contains a global variable: %s'),
- ___('devcp_error_global_constant', 'The file contains a global constant: %s'),
- ___('devcp_error_global_function', 'The file contains a global function: %s')
+ ___('The file contains a global variable: %s'),
+ ___('The file contains a global constant: %s'),
+ ___('The file contains a global function: %s')
);
$currentState = -1;
foreach ($lines as $line) {
-
- // Output format will look like:
+
+ // Output format will look like:
//
// Global Variables:
// ...global variables list...
@@ -446,13 +446,13 @@ class ValidationComponent extends Object {
// Lines look like <global-name> at <line-no>
$data = explode(' ', $line);
-
+
$results[] = $this->_result(TEST_WARN, $data[2], $fileInfo['filename'], sprintf($states[$currentState], $data[0]));
- }
-
+ }
+
}
return $this->_passIfEmpty($results);
-
+
}
/**
@@ -461,7 +461,7 @@ class ValidationComponent extends Object {
* @return array an array of test results, empty if there is no result
*/
function all_security_libraryChecksum($file) {
-
+
$libraries = array(
'jquery-1.3.1.min.js' => 'sha1:fed603a4db640b82de54b246de4be7a1cffa8780',
'jquery-1.3.min.js' => 'sha1:7b9e8594368d30387059e5fdef9d662095dbbf7a',
@@ -480,9 +480,9 @@ class ValidationComponent extends Object {
'prototype-1.5.0.js' => 'sha1:4540775a3cb3fd95d5d344f88e74867b6f6c5573',
'jquery-testing' => 'md5:e6d085a4cbbcc9c44ae10e6c72d035cf' // This is for the test cases, just ignore
);
- $toExtract = '/(jquery|prototype)/i';
+ $toExtract = '/(jquery|prototype)/i';
$extracted = $this->_extract($file, 'by_preg', $toExtract, false);
-
+
$results = array();
// For every file we can find, check if we can hash it
@@ -494,9 +494,9 @@ class ValidationComponent extends Object {
if (array_key_exists($fileName, $libraries)) {
list($algo, $knownHash) = explode(':', $libraries[$fileName]);
$givenHash = hash_file($algo, $fileInfo['path']);
-
+
if ($knownHash != $givenHash) {
- $results[] = $this->_result(TEST_WARN, 1, $fileInfo['filename'], sprintf(___('devcp_error_file_checksum_mismatch', 'The add-on contains a file %s, which failed a library checksum'), $fileInfo['filename']));
+ $results[] = $this->_result(TEST_WARN, 1, $fileInfo['filename'], sprintf(___('The add-on contains a file \'%s\', which failed a library checksum'), $fileInfo['filename']));
}
}
}
@@ -572,10 +572,10 @@ class ValidationComponent extends Object {
* @return array an array of test results, empty if there is no result
*/
function all_l10n_checkCompleteness($file) {
-
+
//
- // This test is not yet ready for production, pending the
- // resolution of bug 505260. Do not remove the return
+ // This test is not yet ready for production, pending the
+ // resolution of bug 505260. Do not remove the return
// statement below until this is good to go
//
return array();
@@ -592,12 +592,12 @@ class ValidationComponent extends Object {
// Build the full escaped command
$command = PYTHON_BINARY . ' ' . $script . ' -i xpi ' . $file_loc . ' --json statistics_json';
-
+
// Results are returned as json
$json = shell_exec($command);
$result = json_decode($json);
if (!is_array($result)) {
- return $this->_testFail(0, '', sprintf(___('devcp_error_l10n_script_error', 'L10n test returned an error: %s'), $json));
+ return $this->_testFail(0, '', sprintf(___('L10n test returned an error: %s'), $json));
}
// If results didn't parse, it won't be an array
@@ -610,13 +610,13 @@ class ValidationComponent extends Object {
$code = $data[0];
$info = $data[1]->children[0];
-
+
// We are concerned with unmodified and missing entities
if (property_exists($info, 'unmodifiedEntities')) {
- $results[] = $this->_result(TEST_WARN, 0, '', sprintf(n___('devcp_error_addon_translations_unmodified', 'devcp_error_addon_translations_unmodified', $info->unmodifiedEntities, 'The %1$s locale contains %2$s unmodified translation(s)'), $code, $info->unmodifiedEntities));
+ $results[] = $this->_result(TEST_WARN, 0, '', sprintf(n___('The %1$s locale contains %2$s unmodified translation', 'The %1$s locale contains %2$s unmodified translations', $info->unmodifiedEntities), $code, $info->unmodifiedEntities));
}
if (property_exists($info, 'missingEntities')) {
- $results[] = $this->_result(TEST_WARN, 0, '', sprintf(n___('devcp_error_addon_translations_missing', 'devcp_error_addon_translations_missing', $info->missingEntities, 'The %1$s locale is missing %2$s translations'), $code, $info->missingEntities));
+ $results[] = $this->_result(TEST_WARN, 0, '', sprintf(n___('The %1$s locale is missing %2$s translation', 'The %1$s locale is missing %2$s translations', $info->missingEntities), $code, $info->missingEntities));
}
}
}
@@ -662,7 +662,7 @@ class ValidationComponent extends Object {
// Just return if it doesn't exist
if (count($extracted) == 0) return array();
-
+
$fileInfo = $extracted[0];
// Make sure that the user input is quoted
@@ -672,18 +672,18 @@ class ValidationComponent extends Object {
if (!file_exists($fileInfo['path']) || !is_readable($fileInfo['path'])) {
continue;
}
-
+
// Build and excute the command
$command = $jshydra . ' ' . $script . ' ' . $safeFile;
$output = shell_exec($command);
$lines = explode("\n", $output);
-
+
// One warning for each function found
$results = array();
foreach ($lines as $line) {
if ($line != '') {
list($num, $func) = explode(':', $line);
- $results[] = $this->_result(TEST_WARN, $num, 'install.js', sprintf(___('devcp_error_install_js_wrong_func', 'Install.js contains a function missing from the whitelist: %s'), $func));
+ $results[] = $this->_result(TEST_WARN, $num, 'install.js', sprintf(___('Install.js contains a function missing from the whitelist: %s'), $func));
}
}
@@ -722,7 +722,7 @@ class ValidationComponent extends Object {
$supportedApps = $manifestData['targetApplication'];
$mozApps = $this->controller->Application->getGuidList();
foreach ($supportedApps as $guid => $app) {
-
+
// There's almost certainly a better way to check this ...
if ($mozApps[$guid] == 'SeaMonkey' && $this->Versioncompare->compareVersions($app['minVersion'], '2.0a1pre') == -1) {
$flags = $this->_verifyFilesExist($file, array('install.js'), 'by_name');
@@ -767,16 +767,16 @@ class ValidationComponent extends Object {
// Check for a match on the conduit URL
if (isset($manifestData['updateURL']) && preg_match('/hosting\.conduit\.com/i', $manifestData['updateURL'])) {
- $results[] = $this->_result(TEST_FAIL, 0, 'install.rdf', ___('devcp_error_conduit_toolbar_updateURL', 'The add-on appears to be a conduit toolbar due to its updateURL element'));
+ $results[] = $this->_result(TEST_FAIL, 0, 'install.rdf', ___('The add-on appears to be a conduit toolbar due to its updateURL element.'));
}
// Check the searchplugin/components directory, as well as
// default_radio_skin and version.txt
$extraction = $this->_extract($file, 'by_preg', '/((searchplugin|components)\/.*conduit|defaults\/.*default_radio_skin.xml|version.txt)/i', false);
-
+
if (!empty($extraction)) {
foreach ($extraction as $fileInfo) {
- $results[] = $this->_result(TEST_FAIL, 0, $fileInfo['filename'], sprintf(___('devcp_error_conduit_toolbar_badFile', 'The add-on appears to be a conduit toolbar due to the file \'%s\''), $fileInfo['filename']));
+ $results[] = $this->_result(TEST_FAIL, 0, $fileInfo['filename'], sprintf(___('The add-on appears to be a conduit toolbar due to the file \'%s\''), $fileInfo['filename']));
}
}
@@ -787,7 +787,7 @@ class ValidationComponent extends Object {
'/chrome:authorURL="http:\/\/www.conduit.com"/',
'/chrome:description="More than just a toolbar\."/');
- $grep = $this->_grepExtractedFiles($extraction, $patterns, TEST_FAIL, ___('devcp_error_conduit_toolbar_contents_rdf', 'The contents.rdf file contains a line identifying the plugin as a conduit toolbar'));
+ $grep = $this->_grepExtractedFiles($extraction, $patterns, TEST_FAIL, ___('The contents.rdf file contains a line identifying the plugin as a conduit toolbar.'));
if ($grep[0]['result'] != TEST_PASS)
$results = array_merge($results, $grep);
@@ -797,7 +797,7 @@ class ValidationComponent extends Object {
$extraction = $this->_extract($file, 'by_name', array('chrome.manifest'));
$patterns = array('/^reference:\s+ebtoolbarstyle\.css$/i');
- $grep = $this->_grepExtractedFiles($extraction, $patterns, TEST_FAIL, ___('devcp_error_conduit_toolbar_chrome_manifest', 'The chrome.manifest file contains a line identifying the plugin as a conduit toolbar'));
+ $grep = $this->_grepExtractedFiles($extraction, $patterns, TEST_FAIL, ___('The chrome.manifest file contains a line identifying the plugin as a conduit toolbar.'));
if ($grep[0]['result'] != TEST_PASS)
$results = array_merge($results, $grep);
@@ -883,11 +883,11 @@ class ValidationComponent extends Object {
* @return array an arrat of test results, empty if there is no result
*/
function search_general_checkFormat($file) {
-
+
$result = $this->Opensearch->parse(REPO_PATH . '/' . $file['Version']['addon_id'] . '/' . $file['File']['filename']);
if ($result == null) {
- return $this->_resultFail(0, '', ___('devcp_error_search_wrong_format', 'The search engine could not be parsed according to the OpenSearch format.'));
- }
+ return $this->_resultFail(0, '', ___('The search engine could not be parsed according to the OpenSearch format.'));
+ }
return $this->_resultPass();
}
@@ -898,12 +898,12 @@ class ValidationComponent extends Object {
* @return array an arrat of test results, empty if there is no result
*/
function search_security_checkUpdateURL($file) {
-
+
$search = $this->Opensearch->parse(REPO_PATH . '/' . $file['Version']['addon_id'] . '/' . $file['File']['filename']);
if ($search == null) return array();
if ($search->updateUrl != '') {
- return $this->_resultFail(0, '', ___('devcp_error_search_upadteurl', 'The search engine contains an updateURL element, which is not allowed.'));
+ return $this->_resultFail(0, '', ___('The search engine contains an updateURL element, which is not allowed.'));
}
return $this->_resultPass();
@@ -937,20 +937,20 @@ class ValidationComponent extends Object {
/**
* Generates an inline preview for displaying errors
- * @param array $result the result to generate a preview for
+ * @param array $result the result to generate a preview for
* @param array $file the file in model format
*/
function getResultPreview(&$result, $file) {
-
+
// Don't get a preview if the result has no line or file
if (empty($result['TestResult']['line']) || empty($result['TestResult']['filename'])) return;
-
+
// Use the file to do the extraction
$data = $this->_extract($file, 'by_name', $result['TestResult']['filename']);
-
+
if (count($data) == 0) return;
$lines = explode("\n", $data[0]['content']);
-
+
// Grab the two lines around the target line to provide some context
// Also shift down by 1 to adjust for index mismatch
$targetLine = $result['TestResult']['line'];
@@ -960,7 +960,7 @@ class ValidationComponent extends Object {
$result['TestResult']['preview'][$i + 1] = rtrim($lines[$i]);
}
}
- }
+ }
/**
* Check all the files in an add-on and verify that they conform to the
@@ -992,7 +992,7 @@ class ValidationComponent extends Object {
}
if (!$fileInfo['folder'] && !$nameOk) {
- $flags[] = $this->_result(TEST_WARN, 0, $fileInfo['filename'], sprintf(___('devcp_error_unsafe_filename', 'The file %s does not appear to belong in this add-on'), $fileInfo['filename']));
+ $flags[] = $this->_result(TEST_WARN, 0, $fileInfo['filename'], sprintf(___('The file %s does not appear to belong in this add-on'), $fileInfo['filename']));
}
}
@@ -1011,7 +1011,7 @@ class ValidationComponent extends Object {
if (!empty($names)) {
foreach ($names as $name) {
if (count($this->_extract($file, $extract_how, $name, false)) == 0)
- $flags[] = $this->_result(TEST_FAIL, 0, '', sprintf(___('devcp_error_missing_file', 'The add-on was missing a required file: %s'), $name));
+ $flags[] = $this->_result(TEST_FAIL, 0, '', sprintf(___('The add-on was missing a required file: %1$s'), $name));
}
}
@@ -1040,13 +1040,13 @@ class ValidationComponent extends Object {
if (!empty($patterns)) {
foreach ($patterns as $pattern) {
- $matches = preg_grep($pattern, $lines);
+ $matches = preg_grep($pattern, $lines);
if (!empty($matches)) {
foreach(array_keys($matches) as $line_num) {
-
+
if($lines[$line_num] != '') {
// Lines are 1-indexed, but the array is 0-indexed
- $flags[] = $this->_result($action, $line_num + 1, $file_info['filename'], empty($message) ? sprintf(___('devcp_error_grep_match', 'Matched Pattern: "%s"'), $pattern) : $message);
+ $flags[] = $this->_result($action, $line_num + 1, $file_info['filename'], empty($message) ? sprintf(___('Matched Pattern: "%s"'), $pattern) : $message);
}
}
}
@@ -1069,7 +1069,7 @@ class ValidationComponent extends Object {
* @return array the result of the extraction
*/
function _extract($file, $extract_by, $extract_what, $get_contents = true, $expires = '+1 day') {
-
+
// Cache location
$tmp_loc = NETAPP_STORAGE . '/validate-' . $file['File']['id'];
@@ -1077,23 +1077,23 @@ class ValidationComponent extends Object {
if (file_exists($tmp_loc)) {
$expires = strtotime($expires);
$diff = $expires - filemtime($tmp_loc);
-
+
if (time() - filemtime($tmp_loc) > $diff) {
$this->_deleteDir($tmp_loc);
}
}
-
+
// If the file doesn't exist, do the extraction
if (!file_exists($tmp_loc)) {
// We usually die extracting things, so boost the limit since
// this is an infrequent operation
ini_set('memory_limit', '128M');
-
+
$file_loc = REPO_PATH . '/' . $file['Version']['addon_id'] . '/' . $file['File']['filename'];
$zip = new Archive_Zip($file_loc);
$extracted = $zip->extract(array('add_path' => $tmp_loc));
-
+
// This will return 0 if the extraction fails
if (!$extracted) return array();
@@ -1105,17 +1105,17 @@ class ValidationComponent extends Object {
// This is a jar, extract this
$tmpjar = $name . '.tmp';
copy($name, $tmpjar);
-
+
// The jar is now a folder on disk
unlink($name);
mkdir($name);
-
- // Finally, extract. Add the results to our list so that they
+
+ // Finally, extract. Add the results to our list so that they
// can be extracted as well if there are nested archives
$zip = new Archive_Zip($tmpjar);
$contents = $zip->extract(array('add_path' => $name));
$extracted = array_merge($extracted, $contents);
-
+
unlink($tmpjar);
}
}
@@ -1141,7 +1141,7 @@ class ValidationComponent extends Object {
// Load in all the files we found
$result = array();
if (!empty($files)) {
- foreach ($files as $file) {
+ foreach ($files as $file) {
if (file_exists($tmp_loc . '/' . $file)) {
$content = '';
$path = $tmp_loc . '/' . $file;
@@ -1151,19 +1151,19 @@ class ValidationComponent extends Object {
$result[] = array('filename' => $file, 'content' => $content, 'path' => $path);
}
}
- }
+ }
return $result;
}
/**
- * Helper to recursively scan a directory and find any
+ * Helper to recursively scan a directory and find any
* files that match the regexes supplied
* @param string $root_dir the root extraction dir
* @param string $cur_dir the current extraction dir
* @param array $names the regexes to match on file names
* @return array an array of matching filenames
*/
- function _findFiles($root_dir, $cur_dir, $names) {
+ function _findFiles($root_dir, $cur_dir, $names) {
if (is_dir($root_dir . $cur_dir) && $dh = opendir($root_dir . $cur_dir)) {
$result = array();
while (($file = readdir($dh)) !== false) {
@@ -1192,7 +1192,7 @@ class ValidationComponent extends Object {
function _deleteDir($dir_name) {
if (!file_exists($dir_name)) return true;
if (is_dir($dir_name)) {
- foreach (scandir($dir_name) as $item) {
+ foreach (scandir($dir_name) as $item) {
if ($item == '.' || $item == '..') continue;
if (!$this->_deleteDir($dir_name . '/' . $item)) return false;
}
diff --git a/site/app/controllers/developers_controller.php b/site/app/controllers/developers_controller.php
index a92057c..acbbe87 100644
--- a/site/app/controllers/developers_controller.php
+++ b/site/app/controllers/developers_controller.php
@@ -81,25 +81,25 @@ class DevelopersController extends AppController
// beforeFilter() is apparently called before components are initialized. Cake++
$this->Amo->startup($this);
$this->Amo->checkLoggedIn();
-
+
// Clean post data
- $this->Amo->clean($this->data);
+ $this->Amo->clean($this->data);
$this->layout = 'mozilla';
- $this->pageTitle = _('devcp_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Developer Tools').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->cssAdd = array('developers', 'validation');
$this->publish('cssAdd', $this->cssAdd);
$this->jsAdd = array('developers', 'json', 'jquery-ui/jqModal.js');
$this->publish('jsAdd', $this->jsAdd);
-
+
$this->publish('expand_categories', true);
- $this->breadcrumbs = array(_('devcp_pagetitle') => '/developers/index');
+ $this->breadcrumbs = array(___('Developer Tools') => '/developers/index');
$this->publish('breadcrumbs', $this->breadcrumbs);
-
- $this->publish('subpagetitle', _('devcp_pagetitle'));
+
+ $this->publish('subpagetitle', ___('Developer Tools'));
global $native_languages;
$this->set('nativeLanguages', $native_languages);
@@ -108,7 +108,7 @@ class DevelopersController extends AppController
foreach ($this->uses as $_model) {
$this->$_model->caching = false;
}
-
+
// Default "My Add-ons" sidebar data
$session = $this->Session->read('User');
$this->publish('all_addons', $this->Addon->getAddonsByUser($session['id']));
@@ -122,33 +122,33 @@ class DevelopersController extends AppController
*/
function dashboard() {
$session = $this->Session->read('User');
-
+
$addon_ids = $this->Addon->getAddonsByUser($session['id']);
$addons = array();
-
+
if (!empty($addon_ids)) {
foreach ($addon_ids as $addon_id => $addon_name) {
$addon = $this->Addon->getAddon($addon_id, array('default_fields', 'latest_version'));
if (!empty($addon['Version'][0])) {
$files = $this->File->findAll("File.version_id={$addon['Version'][0]['id']}");
-
+
if (!empty($files)) {
foreach ($files as $file) {
$addon['Version'][0]['File'][] = $file['File'];
}
}
}
-
+
$addon['Addon']['updatepings'] = $this->Addon->getMostRecentUpdatePingCount($addon_id);
-
+
$addons[] = $addon;
}
}
-
+
$this->publish('addons', $addons);
$this->publish('statuses', $this->Amo->getStatusNames());
$this->publish('addontypes', $this->Addontype->getNames());
-
+
$this->render('dashboard');
}
@@ -164,19 +164,19 @@ class DevelopersController extends AppController
elseif ($additional == 'file') {
$json = $this->_updateAddonFromFile($additional);
}
-
+
$this->publish('encapsulate', true);
break;
-
+
case 'verifyauthor':
$json = $this->_verifyAuthor($_GET['email']);
break;
}
-
+
$this->set('json', $json);
$this->render('json', 'ajax');
}
-
+
/**
* Handler for add-on-centric actions
* @param string $action action to take
@@ -190,7 +190,7 @@ class DevelopersController extends AppController
if (empty($role)) {
$this->Amo->accessDenied();
}
-
+
$addon_name = $this->Addon->getAddonName($addon_id);
if ($addon_name !== false) {
$this->publish('author_role', $role);
@@ -198,49 +198,49 @@ class DevelopersController extends AppController
$this->publish('addon_id', $addon_id);
}
else {
- $this->flash(_('error_addon_notfound'), '/developers/dashboard');
+ $this->flash(___('Add-on not found!'), '/developers/dashboard');
return;
}
}
-
+
switch ($action) {
case 'details':
$this->setAction('_addonDetails', $addon_id);
break;
-
+
case 'edit':
$this->setAction('_editAddon', $addon_id, $additional);
break;
-
+
case 'status':
$this->setAction('_changeAddonStatus', $addon_id, $additional);
break;
-
+
case 'submit':
$this->setAction('_submitAddon');
break;
}
}
-
+
/**
* Shows add-on details
*/
function _addonDetails($addon_id) {
$this->publish('action', 'details');
-
+
$this->render('addon_details');
}
-
+
/**
* Displays uploader for submitting add-ons
*/
function _submitAddon() {
$this->publish('type', 'new');
$this->publish('hasAgreement', false);
-
+
$this->render('uploader');
}
-
+
/**
* Called via AJAX to handle creation of a new add-on
*/
@@ -249,24 +249,24 @@ class DevelopersController extends AppController
if ($data['error'] == 1) {
return $data;
}
-
+
// For non-search-engines
if ($data['Addon']['addontype_id'] != ADDON_SEARCH) {
// Make sure GUID doesn't exist already
if ($existing = $this->Addon->findAll("Addon.guid='{$data['Addon']['guid']}'")) {
- return $this->Error->getJSONforError(sprintf(___('devcp_new_addon_error'), $data['Addon']['guid'], $this->url("/developers/versions/add/{$existing[0]['Addon']['id']}")));
+ return $this->Error->getJSONforError(sprintf(___('This add-on ID (%1$s) already exists in the database. If this is your add-on, you can <a href="%2$s">upload a new version</a>.'), $data['Addon']['guid'], $this->url("/developers/versions/add/{$existing[0]['Addon']['id']}")));
}
}
-
+
// Insert new add-on row
$this->Addon->id = 0;
$this->Addon->save($data['Addon']);
$data['Addon']['id'] = $this->Addon->getLastInsertId();
-
+
// Add user as author
$session = $this->Session->read('User');
$this->Addon->saveAuthor($data['Addon']['id'], $session['id']);
-
+
// Save License
$license_id = $this->Developers->saveLicense(
$this->data['License'],
@@ -280,14 +280,14 @@ class DevelopersController extends AppController
$data['Version']['license_id'] = $license_id;
$this->Version->save($data['Version']);
$data['Version']['id'] = $this->Version->getLastInsertId();
-
+
// Save appversions
if (!empty($data['appversions'])) {
foreach ($data['appversions'] as $appversion) {
$this->Version->addCompatibleApp($data['Version']['id'], $appversion['application_id'], $appversion['min'], $appversion['max']);
}
}
-
+
// Add Files
$data['File']['db']['version_id'] = $data['Version']['id'];
$platforms = $data['File']['db']['platform_id'];
@@ -307,14 +307,14 @@ class DevelopersController extends AppController
if (file_exists($tempFile)) {
unlink($tempFile);
}
-
+
return array(
'error' => 0,
'uploadtype' => 'new',
'addon_id' => $data['Addon']['id']
);
}
-
+
/**
* Called via AJAX to handle updating of an add-on
* @param string $type whether an update or new file
@@ -325,33 +325,33 @@ class DevelopersController extends AppController
if ($data['error'] == 1) {
return $data;
}
-
+
$addon_id = $this->data['Addon']['id'];
$data['Addon']['id'] = $addon_id;
-
+
// Make sure user has upload permissions
$role = $this->Amo->getAuthorRole($addon_id);
if (empty($role) || $role < AUTHOR_ROLE_DEV) {
- return $this->Error->getJSONforError(___('devcp_update_addon_priv_error'));
+ return $this->Error->getJSONforError(___('You do not have sufficient privileges to update this add-on.'));
}
-
+
$addon = $this->Addon->findById($addon_id);
-
+
// For non-search-engines
if ($data['Addon']['addontype_id'] != ADDON_SEARCH) {
// Make sure GUID matches add-on ID
if ($addon['Addon']['guid'] != $data['Addon']['guid']) {
- return $this->Error->getJSONforError(sprintf(___('devcp_update_addon_guid_error'), $data['Addon']['guid'], $addon['Addon']['guid']));
+ return $this->Error->getJSONforError(sprintf(___('The add-on GUID used in this file (%1$s) does not match the existing GUID for this add-on (%2$s).'), $data['Addon']['guid'], $addon['Addon']['guid']));
}
}
-
+
if ($type == 'update') {
// Make sure version doesn't exist already
$vcheck = $this->Version->find("Version.addon_id={$addon_id} AND Version.version='{$data['Version']['version']}'");
if (!empty($vcheck)) {
- return $this->Error->getJSONforError(sprintf(___('devcp_update_addon_version_exists_error'), $data['Version']['version'], $this->url('/developers/versions/addfile/'.$vcheck['Version']['id'])));
+ return $this->Error->getJSONforError(sprintf(___('The version number uploaded (%1$s) already exists for this add-on. If you are trying to add another file to this version, <a href="%2$s">click here</a>.'), $data['Version']['version'], $this->url('/developers/versions/addfile/'.$vcheck['Version']['id'])));
}
-
+
// Save License
if ($addon['Addon']['dev_agreement'] == true) {
// If we already have an agreement, we didn't show the license
@@ -380,38 +380,38 @@ class DevelopersController extends AppController
if ($addon['Addon']['status'] == STATUS_PUBLIC) {
$this->Addon->execute("UPDATE files SET status = ".STATUS_SANDBOX." WHERE files.version_id IN (SELECT id FROM versions WHERE versions.addon_id={$addon_id}) AND files.status = ".STATUS_PENDING);
}
-
+
// Save appversions
if (!empty($data['appversions'])) {
foreach ($data['appversions'] as $appversion) {
$this->Version->addCompatibleApp($version_id, $appversion['application_id'], $appversion['min'], $appversion['max']);
}
}
-
+
// notify subscribed editors of update (if any)
$this->Editors->updateNotify($addon['Addon']['id'], $version_id);
}
elseif ($type == 'file') {
$version_id = $this->data['Version']['id'];
-
+
// Make sure version id belongs to this add-on
$vcheck = $this->Version->find("Version.id={$version_id} AND Version.addon_id={$addon_id}");
if (empty($vcheck)) {
- return $this->Error->getJSONforError(sprintf(___('devcp_update_addon_version_belong_error'), $version_id, $addon_id));
+ return $this->Error->getJSONforError(sprintf(___('The specified version (%1$s) does not belong to this add-on (%2$s).'), $version_id, $addon_id));
return $this->Error->getJSONforError(sprintf('The specified version (%1$s) does not belong to this add-on (%2$s).', $version_id, $addon_id));
}
-
+
// Make sure version number matches
if ($vcheck['Version']['version'] != $data['Version']['version']) {
- return $this->Error->getJSONforError(sprintf(___('devcp_update_addon_version_match_error'), $data['Version']['version'], $vcheck['Version']['version']));
+ return $this->Error->getJSONforError(sprintf(___('The uploaded version number (%1$s) does not match the existing version number (%2$s).'), $data['Version']['version'], $vcheck['Version']['version']));
}
}
$data['Version']['id'] = $version_id;
-
+
// Add Files
$data['File']['db']['version_id'] = $version_id;
$platforms = $data['File']['db']['platform_id'];
-
+
// Make trusted add-ons public
if ($addon['Addon']['trusted'] == 1) {
$data['File']['db']['status'] = STATUS_PUBLIC;
@@ -422,7 +422,7 @@ class DevelopersController extends AppController
else {
$data['File']['db']['status'] = STATUS_SANDBOX;
}
-
+
foreach ($platforms as $platform_id) {
$this->File->id = 0;
$data['File']['db']['platform_id'] = $platform_id;
@@ -439,10 +439,10 @@ class DevelopersController extends AppController
if (file_exists($tempFile)) {
unlink($tempFile);
}
-
+
$pending = $this->Addon->query("SELECT COUNT(*) AS pending FROM files WHERE status=".STATUS_PENDING." GROUP BY status");
$pendingCount = (!empty($pending[0][0]['pending']) ? ($pending[0][0]['pending'] - 1) : 0);
-
+
return array(
'error' => 0,
'uploadtype' => $type,
@@ -453,19 +453,19 @@ class DevelopersController extends AppController
'queuecount' => $pendingCount
);
}
-
+
/**
* Validates the file upload for all types of uploads
*/
function _validateUpload() {
// This will store all data to be saved
$addon = array();
-
+
// Make sure a file was uploaded
if (empty($_FILES['file']['name'])) {
- return $this->Error->getJSONforError(_('devcp_error_upload_file'));
+ return $this->Error->getJSONforError(___('Please upload a file.'));
}
-
+
// Detect add-on type based on file
$addon['Addon']['addontype_id'] = $this->Developers->detectAddontype($_FILES['file']);
if (empty($addon['Addon']['addontype_id'])) {
@@ -473,7 +473,7 @@ class DevelopersController extends AppController
// an add-on at all, it will be caught later with extension checks.
$addon['Addon']['addontype_id'] = ADDON_EXTENSION;
}
-
+
// Validate file upload for basic errors and get some info
$validate = $this->Developers->validateFile($_FILES['file'], $addon);
if (is_string($validate)) {
@@ -492,21 +492,21 @@ class DevelopersController extends AppController
'datestatuschanged' => $this->Amo->getNOW()
);
}
-
+
// Parse install.rdf file if not a search plugin
if ($addon['Addon']['addontype_id'] != ADDON_SEARCH) {
// Extract install.rdf from xpi or jar
$zip = new Archive_Zip($addon['File']['details']['path']);
$extraction = $zip->extract(array('extract_as_string' => true, 'by_name' => array('install.rdf')));
-
+
// Make sure install.rdf is present
if (empty($extraction)) {
- $validAppReference = sprintf(_('devcp_valid_app_reference'), '<a href=\''.$this->url('/pages/appversions').'\'>'._('devcp_valid_app_reference_linktext').'</a>');
- return $this->Error->getJSONforError(_('devcp_error_index_rdf_notfound').'<br />'.$validAppReference);
+ $validAppReference = sprintf(___('Please see %s for reference.'), '<a href=\''.$this->url('/pages/appversions').'\'>'.___('this page').'</a>');
+ return $this->Error->getJSONforError(___('No install.rdf present.').'<br />'.$validAppReference);
}
-
+
$fileContents = $extraction[0]['content'];
-
+
// Use RDF Component to parse install.rdf
$manifestData = $this->Rdf->parseInstallManifest($fileContents);
if (isset($manifestData['errors'])) {
@@ -515,14 +515,14 @@ class DevelopersController extends AppController
// Clean manifest data
$this->Amo->clean($manifestData);
-
+
// Validate manifest data
$validate = $this->Developers->validateManifestData($manifestData);
if (is_string($validate)) {
// If a string is returned, there was an error
return $this->Error->getJSONforError($validate);
}
-
+
// Last minute add-on type correction
if ($manifestData['type'] == 8) {
$addon['Addon']['addontype_id'] = ADDON_LPAPP;
@@ -530,13 +530,13 @@ class DevelopersController extends AppController
elseif ($manifestData['type'] == 4) {
$addon['Addon']['addontype_id'] = ADDON_THEME;
}
-
+
$addon['Addon']['guid'] = $manifestData['id'];
$addon['Addon']['name'] = $manifestData['name']['en-US'];
$addon['Addon']['summary'] = $manifestData['description']['en-US'];
$addon['Addon']['homepage'] = $manifestData['homepageURL'];
$addon['Version']['version'] = $manifestData['version'];
-
+
// Validate target applications
$validate = $this->Developers->validateTargetApplications($manifestData['targetApplication']);
if (is_string($validate)) {
@@ -554,26 +554,26 @@ class DevelopersController extends AppController
// There was a parse error, the name was empty, etc. Bad things.
if ($search == null) {
- return $this->Error->getJSONforError(___('devcp_verify_search_engine_error','Either the XML is invalid or required fields are missing. Please <a href="https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox">read the documentation</a>, verify your add-on, and try again.'));
+ return $this->Error->getJSONforError(___('Either the XML is invalid or required fields are missing. Please <a href="https://developer.mozilla.org/en/Creating_OpenSearch_plugins_for_Firefox">read the documentation</a>, verify your add-on, and try again.'));
}
-
+
$addon['Addon']['name'] = $search->name;
$addon['Addon']['summary'] = $search->description;
$addon['Version']['version'] = date('Ymd');
-
+
// Clean search engine data
$this->Amo->clean($addon);
}
-
+
$addon['error'] = 0;
return $addon;
}
-
+
function _verifyAuthor($email) {
$this->Amo->clean($email);
-
+
$result = $this->User->findByEmail($email);
-
+
if (!empty($result)) {
return array(
'error' => 0,
@@ -582,10 +582,10 @@ class DevelopersController extends AppController
);
}
else {
- return $this->Error->getJSONforError(___('devcp_verify_author_error'));
+ return $this->Error->getJSONforError(___('No account found for that email address.'));
}
}
-
+
/**
* Handler for subactions of editing an add-on
* @param int $addon_id the add-on id
@@ -594,30 +594,30 @@ class DevelopersController extends AppController
function _editAddon($addon_id = 0, $action = null) {
// Make sure add-on ID was passed
if (empty($addon_id)) {
- $this->flash(_('error_addon_notfound'), '/developers', 6);
+ $this->flash(___('Add-on not found!'), '/developers', 6);
return;
}
-
+
$this->publish('action', 'edit');
$this->publish('subaction', $action);
-
+
switch ($action) {
case 'properties':
$this->setAction('_editAddonProperties', $addon_id);
break;
-
+
case 'descriptions':
$this->setAction('_editAddonDescriptions', $addon_id);
break;
-
+
case 'categories':
$this->setAction('_editAddonCategories', $addon_id);
break;
-
+
case 'authors':
$this->setAction('_editAddonAuthors', $addon_id);
- break;
-
+ break;
+
case 'tags':
$this->setAction('_editAddonTags', $addon_id);
break;
@@ -634,7 +634,7 @@ class DevelopersController extends AppController
$this->render('addon_edit');
break;
}
-
+
return;
}
@@ -722,7 +722,7 @@ class DevelopersController extends AppController
if (!empty($this->data['Addon']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_DEV) {
// Split localized fields from other fields
list($localizedFields, $unlocalizedFields) = $this->Addon->splitLocalizedFields($this->data['Addon']);
-
+
// Handle icon before non-db fields are stripped
if (!empty($unlocalizedFields['icon']['name'])) {
$iconData = $this->Developers->validateIcon($unlocalizedFields['icon']);
@@ -738,21 +738,21 @@ class DevelopersController extends AppController
$unlocalizedFields['icontype'] = '';
$unlocalizedFields['icondata'] = '';
}
-
+
// Make sure only allowed fields are saved
$allowedFields = array('defaultlocale', 'viewsource', 'prerelease',
'sitespecific', 'externalsoftware', 'binary',
'icondata', 'icontype');
-
+
// If an admin, allow additional fields
if ($this->SimpleAcl->actionAllowed('Admin', 'ConfigureAnyAddon', $this->Session->read('User'))) {
$allowedFields = array_merge($allowedFields, array(
'addontype_id', 'trusted', 'target_locale', 'locale_disambiguation', 'guid'
));
}
-
+
$unlocalizedFields = $this->Addon->stripFields($unlocalizedFields, $allowedFields);
-
+
// Make sure all checkbox fields have values
$checkboxes = array('prerelease', 'sitespecific', 'externalsoftware',
'binary');
@@ -761,11 +761,11 @@ class DevelopersController extends AppController
$unlocalizedFields[$checkbox] = 0;
}
}
-
+
$this->Addon->id = $addon_id;
$this->Addon->saveTranslations($addon_id, $this->params['form']['data']['Addon'], $localizedFields);
$this->Addon->save($unlocalizedFields);
-
+
if (empty($errors)) {
$this->publish('success', true);
}
@@ -773,18 +773,18 @@ class DevelopersController extends AppController
$this->publish('errors', $errors);
}
}
-
+
$translations = $this->Addon->getAllTranslations($addon_id);
$this->set('translations', $translations);
-
+
$addon = $this->Addon->findById($addon_id);
$this->set('addon', $addon);
-
+
$this->set('addontypes', $this->Addontype->getNames());
-
+
$this->render('addon_edit_properties');
}
-
+
/**
* Edit Add-on Descriptions
* @param int $addon_id the add-on id
@@ -795,31 +795,31 @@ class DevelopersController extends AppController
$this->Addon->saveTranslations($addon_id, $this->params['form']['data']['Addon'], $this->data['Addon']);
// flush cached add-on objects
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon_id}");
-
+
$this->publish('success', true);
}
-
+
$translations = $this->Addon->getAllTranslations($addon_id);
$this->set('translations', $translations);
-
+
$addon = $this->Addon->findById($addon_id);
$this->set('addon', $addon);
-
+
$this->render('addon_edit_descriptions');
}
-
+
function _editAddonCategories($addon_id) {
// Save categories if POST data
if (!empty($this->data['Category']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_DEV) {
$this->Category->saveCategories($addon_id, $this->data['Category']);
// flush cached add-on objects
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon_id}");
-
+
$this->publish('success', true);
}
-
+
$addon = $this->Addon->findById($addon_id);
-
+
if ($addon['Addon']['addontype_id'] == ADDON_SEARCH) {
// Search engines don't have supported applications
$supportedApps = array(
@@ -834,14 +834,14 @@ class DevelopersController extends AppController
// Get all applications the add-on has ever supported
$supportedApps = $this->Addon->getApplicationsEverSupported($addon_id);
}
-
+
// All categories for add-on's type and supported applications
$categoryDescriptions = array();
$sortedCategories = array();
if (!empty($supportedApps)) {
foreach ($supportedApps as $supportedApp) {
$categories = $this->Category->findAll("Category.addontype_id={$addon['Addon']['addontype_id']} AND Category.application_id={$supportedApp['Application']['id']}");
-
+
$sorted = array();
if (!empty($categories)) {
foreach ($categories as $category) {
@@ -850,14 +850,14 @@ class DevelopersController extends AppController
}
asort($sorted);
}
-
+
$sortedCategories[$supportedApp['Application']['id']] = $sorted;
}
}
-
+
$this->set('sortedCategories', $sortedCategories);
$this->set('categoryDescriptions', $categoryDescriptions);
-
+
// Currently selected categories
$currentCategories = array();
if (!empty($addon['Category'])) {
@@ -866,9 +866,9 @@ class DevelopersController extends AppController
}
}
$this->publish('currentCategories', $currentCategories);
-
+
$this->publish('applications', $this->Application->getIDList());
-
+
// The "Other" category for each application that has one
if ($addon['Addon']['addontype_id'] == ADDON_SEARCH) {
$otherCategories = array(
@@ -883,112 +883,112 @@ class DevelopersController extends AppController
);
}
$this->publish('otherCategories', $otherCategories);
-
+
$this->render('addon_edit_categories');
}
function _editAddonTags($addon_id) {
- $this->publish('jsAdd', array('tags.js'));
-
+ $this->publish('jsAdd', array('tags.js'));
+
// Save tags if POST data
if (!empty($this->data['Tag']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_DEV) {
- // Add tags here
+ // Add tags here
// flush cached add-on objects
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon_id}");
-
+
$this->publish('success', true);
}
-
+
$addon_data = $this->Addon->findById($addon_id);
$this->publish('addon_data',$addon_data);
-
+
// MAke the tag list, passing in this addon and the currently logged in user
$loggedIn = $this->Session->check('User')? true : false;
$this->set('loggedIn', $loggedIn);
- if ($loggedIn) { $user=$this->Session->read('User'); } else { $user=null; }
-
+ if ($loggedIn) { $user=$this->Session->read('User'); } else { $user=null; }
+
// Get all tags
$tags = $this->Tag->makeTagList($addon_data, $user, $this->SimpleAcl->actionAllowed('Admin', 'DeleteAnyTag', $user));
$this->publish('userTags', $tags['userTags']);
- $this->publish('developerTags', $tags['developerTags']);
+ $this->publish('developerTags', $tags['developerTags']);
$this->publish('addon_id', $addon_data['Addon']['id']);
-
+
$this->render('addon_edit_tags');
}
-
+
/**
* Edit Add-on Authors
* @param int $addon_id the add-on id
*/
function _editAddonAuthors($addon_id) {
-
+
// Save authors if POST data
if (!empty($this->data['addons_users']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_OWNER) {
// Start a transaction
$this->Addon->begin();
-
+
// Clear current authors
$this->Addon->clearAuthors($addon_id);
-
+
// Add back authors
$position = 1;
foreach ($this->data['addons_users'] as $user_id => $fields) {
$this->Amo->clean($user_id);
$allowedRoles = array(AUTHOR_ROLE_OWNER, AUTHOR_ROLE_DEV, AUTHOR_ROLE_VIEWER);
-
+
$role = $fields['role'];
$role = in_array($role, $allowedRoles) ? $role : AUTHOR_ROLE_OWNER;
$listed = !empty($fields['listed']) ? 1 : 0;
-
+
$this->Addon->saveAuthor($addon_id, $user_id, $role, $listed, $position);
$position++;
}
-
+
// Commit the transaction
$this->Addon->commit();
-
+
$this->publish('success', true);
}
-
+
$authors = $this->Addon->getAuthors($addon_id, false);
$this->publish('authors', $authors);
-
+
$this->render('addon_edit_authors');
}
-
+
/**
* Change Add-on Status
* @param int $addon_id the add-on id
*/
function _changeAddonStatus($addon_id, $action = '') {
$this->publish('action', 'status');
-
+
if (!empty($action)) {
$this->Addon->id = $addon_id;
if (!$this->_addonStatusAction($action)) {
return;
}
}
-
+
$addon = $this->Addon->findById($addon_id, array('id', 'addontype_id', 'inactive', 'trusted', 'status', 'higheststatus'), null, -1);
$this->set('addon', $addon);
$this->publish('statuses', $this->Amo->getStatusNames());
-
+
$this->publish('criteria', $this->_checkCriteria($addon_id));
-
+
$nominated = $this->Addon->query("SELECT COUNT(*) AS nominated FROM addons WHERE status=".STATUS_NOMINATED." GROUP BY status");
$this->publish('nominationCount', !empty($nominated[0][0]['nominated']) ? ($nominated[0][0]['nominated'] - 1) : 0);
-
+
$this->render('addon_status');
}
-
+
/**
* Checks criteria for add-on completion and nomination
* @param int $addon_id the add-on id
@@ -1006,7 +1006,7 @@ class DevelopersController extends AppController
$versions = implode(',', $versions);
$reviews = $this->Review->findAll("Review.version_id IN ({$versions})");
}
-
+
$criteria = array();
$criteria['name'] = !empty($addon['Translation']['name']['string']);
$criteria['summary'] = !empty($addon['Translation']['summary']['string']);
@@ -1014,36 +1014,36 @@ class DevelopersController extends AppController
$criteria['category'] = !empty($addon['Category']);
$criteria['previews'] = !empty($previews);
$criteria['prerelease'] = !empty($addon['Addon']['prerelease']) ? false : true;
-
+
return $criteria;
}
-
+
/**
* Handles actions for changing statuses
* @param string $action the action
*/
function _addonStatusAction($action) {
$this->publish('subaction', $action);
-
+
$addon = $this->Addon->findById($this->viewVars['addon_id'], array('id', 'addontype_id', 'nominationmessage', 'status', 'higheststatus'), null, -1);
$this->publish('addon', $addon);
-
+
// Complete an add-on
if ($action == 'complete' && $addon['Addon']['status'] == STATUS_NULL) {
$criteria = $this->_checkCriteria($this->viewVars['addon_id']);
-
+
// Make sure criteria is fulfilled
if (!$criteria['name'] || !$criteria['summary'] || !$criteria['description'] || !$criteria['category']) {
return true;
}
-
+
$addonData = array('status' => STATUS_SANDBOX, 'higheststatus' => STATUS_SANDBOX);
$this->Addon->save($addonData);
$this->publish('success', true);
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon['Addon']['id']}");
return true;
}
-
+
// Other actions
if (!empty($_POST['confirmed']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_DEV) {
if ($action == 'inactive') {
@@ -1073,11 +1073,11 @@ class DevelopersController extends AppController
elseif ($action == 'nominate') {
if ($addon['Addon']['status'] == STATUS_SANDBOX) {
$criteria = $this->_checkCriteria($this->viewVars['addon_id']);
-
+
if ((in_array($addon['Addon']['addontype_id'], array(ADDON_EXTENSION, ADDON_THEME)) && !$criteria['previews']) || !$criteria['prerelease']) {
return true;
}
-
+
if (empty($this->data['Addon']['nominationmessage'])) {
$this->publish('errors', true);
$this->render('addon_status_nominate');
@@ -1086,27 +1086,27 @@ class DevelopersController extends AppController
$addonData = array('status' => STATUS_NOMINATED, 'nominationmessage' => $this->params['form']['data']['Addon']['nominationmessage'], 'nominationdate' => date('Y-m-d H:i:s'));
$this->Addon->save($addonData);
$this->publish('success', true);
-
+
// notify subscribed editors of update
global $valid_status;
$version_id = $this->Version->getVersionByAddonId($addon['Addon']['id'], $valid_status);
$this->Editors->updateNotify($addon['Addon']['id'], $version_id);
}
}
-
+
return true;
}
-
+
if ($action == 'nominate') {
$this->render('addon_status_nominate');
}
else {
$this->render('addon_status_confirm');
}
-
+
return false;
}
-
+
/**
* Handler for version-centric actions
* @param string $action the action (in some cases this may be an add-on id)
@@ -1115,7 +1115,7 @@ class DevelopersController extends AppController
function versions($action, $version_id = 0) {
$this->publish('action', 'versions');
$this->publish('subaction', $action);
-
+
// Get version information and add-on id
if (!empty($version_id) && $action != 'add') {
$version = $this->Version->findById($version_id, array('Version.id', 'Version.addon_id', 'Version.version'), null, -1);
@@ -1127,7 +1127,7 @@ class DevelopersController extends AppController
else {
$addon_id = $action;
}
-
+
if (!empty($addon_id)) {
// Make sure user has some permissions to view this add-on
$role = $this->Amo->getAuthorRole($addon_id);
@@ -1138,29 +1138,29 @@ class DevelopersController extends AppController
$this->Amo->accessDenied();
}
}
-
+
$this->publish('author_role', $role);
$this->publish('addon_name', $this->Addon->getAddonName($addon_id));
$this->publish('addon_id', $addon_id);
}
else {
- $this->flash(_('error_addon_notfound'), '/developers', 6);
+ $this->flash(___('Add-on not found!'), '/developers', 6);
return;
}
-
+
switch ($action) {
case 'add':
$this->setAction('_addVersion', $addon_id);
break;
-
+
case 'addfile':
$this->setAction('_addVersion', $addon_id, $version);
break;
-
+
case 'delete':
$this->setAction('_deleteVersion', $version);
break;
-
+
case 'edit':
$this->setAction('_editVersion', $version);
break;
@@ -1168,13 +1168,13 @@ class DevelopersController extends AppController
case 'validate':
$this->setAction('_validateVersion', $version);
break;
-
+
default:
$this->setAction('_versionsIndex', $addon_id);
break;
}
}
-
+
/**
* Versions listing/index
* @param int $addon_id the add-on id
@@ -1182,15 +1182,15 @@ class DevelopersController extends AppController
function _versionsIndex($addon_id) {
$addon = $this->Addon->getAddon($addon_id, array('default_fields'));
$this->set('addon', $addon);
-
+
$versions = $this->Version->findAll("Version.addon_id={$addon_id}", null, 'Version.created DESC');
$this->set('versions', $versions);
-
+
$this->publish('statuses', $this->Amo->getStatusNames());
-
+
$this->render('versions');
}
-
+
/**
* Add a Version
* @param int $addon_id the add-on id
@@ -1199,18 +1199,18 @@ class DevelopersController extends AppController
function _addVersion($addon_id, $version = '') {
$type = !empty($version) ? 'file' : 'update';
$this->publish('type', $type);
-
+
if (!empty($version)) {
$this->publish('version_id', $version['Version']['id']);
$this->publish('version', $version['Version']['version']);
}
-
+
$addon = $this->Addon->getAddon($addon_id, array('default_fields'));
$this->publish('hasAgreement', $addon['Addon']['dev_agreement']);
$this->render('uploader');
}
-
+
/**
* Delete a Version
* @param array $version the version info
@@ -1218,24 +1218,24 @@ class DevelopersController extends AppController
function _deleteVersion($version) {
$version_id = $version['Version']['id'];
$addon_id = $version['Version']['addon_id'];
-
+
// Make sure user has permission
if ($this->viewVars['author_role'] < AUTHOR_ROLE_DEV) {
- $this->flash(___('devcp_delete_version_priv_error'), '/developers/versions/edit/'.$version_id, 6);
+ $this->flash(___('You do not have privileges to delete versions or files.'), '/developers/versions/edit/'.$version_id, 6);
return;
}
-
+
// Get all version info
$version = $this->Version->findById($version_id);
-
+
if (empty($version['File']) || !empty($_POST['confirmDelete'])) {
// If there are no files, we can delete without confirmation
$this->Developers->deleteVersion($version_id);
$this->Developers->postDelete($addon_id);
-
+
// flush cached add-on objects
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon_id}");
-
+
$this->publish('deleteSuccess', true);
$this->publish('deletedVersion', $version['Version']['version']);
$this->_versionsIndex($addon_id);
@@ -1247,7 +1247,7 @@ class DevelopersController extends AppController
$this->render('versions_delete');
}
}
-
+
/**
* Edit a Version
* @param array $version the version info
@@ -1255,19 +1255,19 @@ class DevelopersController extends AppController
function _editVersion($version) {
$version_id = $version['Version']['id'];
$addon_id = $version['Version']['addon_id'];
-
+
// Save data if POST data
if (!empty($this->data['Version']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_DEV) {
// Save translated fields (only releasenotes)
list($localizedFields, $unlocalizedFields) = $this->Version->splitLocalizedFields($this->data['Version']);
$this->Version->saveTranslations($version_id, $this->params['form']['data']['Version'], $localizedFields);
-
+
// Save Version fields (only approvalnotes)
$this->Version->id = $version_id;
$this->Version->save(array(
'approvalnotes' => $unlocalizedFields['approvalnotes']
));
-
+
// Save target apps
if (!empty($this->data['Application'])) {
foreach ($this->data['Application'] as $application_id => $app) {
@@ -1279,24 +1279,24 @@ class DevelopersController extends AppController
// Add a new app
$this->Version->addCompatibleApp($version_id, $application_id, $app['min'], $app['max']);
}
-
+
if (empty($app['delete']) && empty($app['new'])) {
// Normal update
$this->Version->updateCompatibility($version_id, $application_id, $app['min'], $app['max']);
}
}
}
-
+
// Save file fields (only platform and deletion)
if (!empty($this->data['File'])) {
$allowedFileIDs = $this->Version->getFileIDs($version_id);
-
+
foreach ($this->data['File'] as $file_id => $fields) {
if (!in_array($file_id, $allowedFileIDs)) {
// Make sure the file ID belongs to this version
continue;
}
-
+
// Delete if requested, otherwise update platform
if (!empty($fields['delete'])) {
$this->Developers->deleteFile($file_id, $addon_id);
@@ -1310,7 +1310,7 @@ class DevelopersController extends AppController
}
}
}
-
+
// Save license.
$license_id = $this->Developers->saveLicense(
$this->data['License'],
@@ -1320,19 +1320,19 @@ class DevelopersController extends AppController
// flush cached add-on objects
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon_id}");
-
+
$this->publish('success', true);
}
-
+
// Get all version info
$version = $this->Version->findById($version_id);
-
+
// Get add-on info
$addon = $this->Addon->findById($addon_id);
$this->set('addon', $addon);
-
+
$this->set('version', $version);
-
+
// Get target app info
$this->publish('targetApps', $this->Version->getCompatibleAppIds($version_id));
$possibleVersions = $this->Appversion->getAllVersions();
@@ -1342,7 +1342,7 @@ class DevelopersController extends AppController
}
}
$this->publish('possibleVersions', $possibleVersions);
-
+
// Get all translations
$translations = $this->Version->getAllTranslations($version_id);
if (isset($version['Version']['license_id'])) {
@@ -1353,12 +1353,12 @@ class DevelopersController extends AppController
}
$this->set('translations', $translations);
-
+
// Other info
$this->publish('applications', $this->Application->getNames());
$this->publish('statuses', $this->Amo->getStatusNames());
$this->publish('platforms', $this->Platform->getNames());
-
+
$this->render('versions_edit');
}
@@ -1371,9 +1371,9 @@ class DevelopersController extends AppController
// Load in all the version info we need
$version = $this->Version->findById($version['Version']['id']);
$addon = $this->Addon->getAddon($version['Version']['addon_id'], array('list_details'));
-
+
$fileIds = array();
-
+
// Pull in the files, which also brings in test result data
if (!empty($version['File'])) {
foreach($version['File'] as $file) {
@@ -1389,9 +1389,9 @@ class DevelopersController extends AppController
$files[$id]['counts'] = array(0,0,0);
}
}
-
+
$test_groups = $this->TestGroup->getTestGroupsForAddonType($addon['Addon']['addontype_id']);
-
+
$test_groupIds = array();
// Use the test group ids to pull in the results
if (!empty($test_groups)) {
@@ -1402,8 +1402,8 @@ class DevelopersController extends AppController
}
}
$test_results = $this->TestResult->findAll(array('TestCase.test_group_id' => $test_groupIds, 'TestResult.file_id' => $fileIds), array('*'), 'TestCase.test_group_id');
-
- // Build a hierarchical view that cake just doesn't give
+
+ // Build a hierarchical view that cake just doesn't give
// us to make life easier in the view
if (!empty($test_results)) {
foreach ($test_results as $result) {
@@ -1422,15 +1422,15 @@ class DevelopersController extends AppController
if (empty($file['groups'][$test_group_id])) {
$files[$f_id]['groups'][$test_group_id] = $group;
}
-
+
// Insert the case into this view if we haven't seen it yet
$case_id = $result['TestCase']['id'];
if (empty($files[$f_id]['groups'][$test_group_id]['cases'][$case_id])) {
$files[$f_id]['groups'][$test_group_id]['cases'][$case_id] = $result['TestCase'];
$files[$f_id]['groups'][$test_group_id]['cases'][$case_id]['results'] = array();
}
-
- // Grab the formatted result view, and then insert into the
+
+ // Grab the formatted result view, and then insert into the
$this->Validation->getResultPreview($result, $files[0]);
$files[$f_id]['groups'][$test_group_id]['cases'][$case_id]['results'][] = $result['TestResult'];
$files[$f_id]['groups'][$test_group_id]['counts'][$result['TestResult']['result']]++;
@@ -1445,15 +1445,15 @@ class DevelopersController extends AppController
// Most all of the data is in this array
$this->publish('files', $files);
-
+
$this->publish('all_groups', $test_groups);
-
+
$this->publish('version', $version);
$this->publish('validation_disabled',$this->Config->getValue('validation_disabled'));
-
+
$this->render('versions_validate');
}
-
+
/**
* Verifies the addon using the test cases given by the validation component
* @param int $file_id the id of the file to verify
@@ -1469,23 +1469,23 @@ class DevelopersController extends AppController
// Pull in the test group
$test_group = $this->TestGroup->findById($test_group_id);
-
+
// Grab the file to pass over to the view
$this->File->cacheQueries = false;
$file = $this->File->findById($file_id);
-
+
// Do whatever tests were specified, then find the next tests
// if we need to continue
$next_tests = array();
if ($this->Validation->runTest($file_id, $test_group_id)) {
$addon = $this->Addon->getAddon($file['Version']['addon_id'], array('list_details'));
-
+
$next_tier = $test_group['TestGroup']['tier'] + 1;
$conditions = array('TestGroup.tier' => $next_tier);
$next_cat = $test_group['TestGroup']['category'];
- if ($test_group_id != 1)
+ if ($test_group_id != 1)
$conditions['TestGroup.category'] = $next_cat;
-
+
$next_tests = $this->TestGroup->getTestGroupsForAddonType($addon['Addon']['addontype_id'], $conditions, array('id'));
}
@@ -1496,7 +1496,7 @@ class DevelopersController extends AppController
$counts = array(0,0,0);
$test_group['cases'] = array();
- // Build a hierarchical view that cake just doesn't give
+ // Build a hierarchical view that cake just doesn't give
// us to make life easier in the view
if (!empty($results)) {
foreach ($results as $result) {
@@ -1511,12 +1511,12 @@ class DevelopersController extends AppController
}
}
$test_group['counts'] = $counts;
-
+
// Total results for this test group
$counts = array(0,0,0);
$test_group['cases'] = array();
- // Build a hierarchical view that cake just doesn't give
+ // Build a hierarchical view that cake just doesn't give
// us to make life easier in the view
if (!empty($results)) {
foreach ($results as $result) {
@@ -1530,7 +1530,7 @@ class DevelopersController extends AppController
$counts[$result['TestResult']['result']]++;
}
}
-
+
// We need a view to call renderElement, see
// https://trac.cakephp.org/ticket/3132
// This means we also pull in the HTML helper
@@ -1540,7 +1540,7 @@ class DevelopersController extends AppController
// Render the result, then return it via json
$this->_sanitizeArray($test_group);
- $testresult = $view->renderElement('developers/testresults_group',
+ $testresult = $view->renderElement('developers/testresults_group',
array('file' => $file, 'group' => $test_group, 'html' => $html));
// Render the statistics for display in the header
@@ -1557,11 +1557,11 @@ class DevelopersController extends AppController
array('counts' => $counts, 'short' => false, 'multiline' => false, 'html' => $html));
$json = array('result' => $testresult, 'file_id' => $file_id, 'test_group_id' => $test_group_id, 'next_tests' => $next_tests, 'stats' => $stats, 'total_stats' => $total_stats);
-
+
$this->set('json', $json);
$this->render('json', 'ajax');
}
-
+
/**
* Handler for preview-centric actions
* @param string $action the action
@@ -1570,7 +1570,7 @@ class DevelopersController extends AppController
function previews($action, $preview_id = 0) {
$this->publish('action', 'previews');
$this->publish('subaction', $action);
-
+
// Get addon id
if (!empty($preview_id)) {
$preview = $this->Preview->findById($preview_id);
@@ -1579,136 +1579,136 @@ class DevelopersController extends AppController
else {
$addon_id = $action;
}
-
+
// Make sure user has some permissions to view this add-on
$role = $this->Amo->getAuthorRole($addon_id);
if (empty($role)) {
$this->Amo->accessDenied();
}
-
+
$this->publish('author_role', $role);
$this->publish('addon_name', $this->Addon->getAddonName($addon_id));
$this->publish('addon_id', $addon_id);
-
+
switch ($action) {
case 'add':
$this->setAction('_addPreview', $addon_id);
break;
-
+
case 'delete':
$this->setAction('_deletePreview', $preview);
break;
-
+
case 'edit':
$this->setAction('_editPreview', $preview);
break;
-
+
default:
$this->setAction('_previewsIndex', $addon_id);
break;
}
}
-
+
function _previewsIndex($addon_id) {
// If post data is present, dispatch accordingly
if (!empty($this->data['Preview']) && $this->viewVars['author_role'] >= AUTHOR_ROLE_DEV) {
$messages = array('success', 'errors');
-
+
// Check if we're adding any previews
if (!empty($this->data['Preview']['New'])) {
$addReturn = $this->_addPreviews($addon_id);
$messages = array_merge_recursive($messages, $addReturn);
}
-
+
// Check if we're replacing any previews
if (!empty($this->data['Preview']['Replace'])) {
$replaceReturn = $this->_addPreviews($addon_id);
$messages = array_merge_recursive($messages, $replaceReturn);
}
-
+
// Save translated fields (only caption)
foreach ($this->data['Preview'] as $preview_id => $fields) {
if (!is_numeric($preview_id)) continue;
-
+
list($localizedFields, $unlocalizedFields) = $this->Preview->splitLocalizedFields($fields);
$this->Preview->saveTranslations($preview_id, $this->params['form']['data']['Preview'][$preview_id], $localizedFields);
}
-
+
// Check if we're deleting any previews
if (!empty($this->data['Preview']['Delete'])) {
$deleteReturn = $this->_deletePreviews($addon_id);
$messages = array_merge_recursive($messages, $deleteReturn);
}
-
+
// Update the highlighted preview
$this->Preview->saveHighlight($addon_id, $this->data['Preview']['highlight']);
-
+
// flush cached add-on objects
if (QUERY_CACHE) $this->Addon->Cache->markListForFlush("addon:{$addon_id}");
-
+
// inform about cache lag, if any of the changes were successful
- if (!empty($messages['success'])) $messages['success'][] = ___('devcp_several_hours');
-
+ if (!empty($messages['success'])) $messages['success'][] = ___('Please note that some changes may take several hours to appear in all areas of the website.');
+
$this->publish('messages', $messages);
}
-
+
// Get add-on previews
$previews = $this->Preview->findAllByAddon_id($addon_id);
$this->set('previews', $previews);
-
+
$translations = array();
-
+
if (!empty($previews)) {
foreach ($previews as $preview) {
$translations[$preview['Preview']['id']] = $this->Preview->getAllTranslations($preview['Preview']['id']);
}
}
$this->set('translations', $translations);
-
+
$addon = $this->Addon->findById($addon_id);
$this->set('addon', $addon);
-
+
$this->render('previews');
}
-
+
function _addPreviews($addon_id) {
$return = array();
-
+
// Get IDs of existing previews
$existing = $this->Preview->getIDsForAddon($addon_id);
-
+
// Loop through each new preview
foreach ($this->data['Preview']['New']['name'] as $id => $name) {
if (empty($name)) continue;
-
+
$tmp_name = $this->data['Preview']['New']['tmp_name'][$id];
-
+
$previewData = array('addon_id' => $addon_id,
'filedata' => file_get_contents($tmp_name),
'filetype' => $this->data['Preview']['New']['type'][$id],
'highlight' => 0,
'thumbtype' => 'image/png'
);
-
+
// Check for allowed file extensions
$extension = strtolower(substr($name, strrpos($name, '.')));
if (!in_array($extension, $this->Developers->imageExtensions)) {
- $return['errors'][] = sprintf(___('devcp_add_previews_extension_error'), $name, $extension, implode(', ', $this->Developers->imageExtensions));
+ $return['errors'][] = sprintf(___('File %1$s has an invalid extension (%2$s). Allowed extensions: %3$s'), $name, $extension, implode(', ', $this->Developers->imageExtensions));
continue;
}
-
+
// Get image dimensions
list($sourceWidth, $sourceHeight) = getimagesize($tmp_name);
-
+
// Generate thumbnail (200 x 150)
$previewData['thumbdata'] = $this->Developers->resizeImage($previewData['filedata'], $sourceWidth, $sourceHeight, 200, 150);
-
+
// Resize preview if too large (700 x 525)
if ($sourceWidth > 700 || $sourceHeight > 525) {
$previewData['filedata'] = $this->Developers->resizeImage($previewData['filedata'], $sourceWidth, $sourceHeight, 700, 525);
$previewData['filetype'] = 'image/png';
}
-
+
if (in_array($id, $existing)) {
// Replacing existing preview
$this->Preview->id = $id;
@@ -1717,51 +1717,51 @@ class DevelopersController extends AppController
// Adding new preview
$this->Preview->id = 0;
}
-
+
// Save preview to db
if ($this->Preview->save($previewData)) {
if (in_array($id, $existing))
- $return['success'][] = sprintf(___('devcp_add_previews_success_replace'), $id, $name);
+ $return['success'][] = sprintf(___('Preview %1$s was replaced with file %2$s successfully.'), $id, $name);
else
- $return['success'][] = sprintf(___('devcp_add_previews_success_upload'), $name);
+ $return['success'][] = sprintf(___('File %s was uploaded successfully. You can add a caption below.'), $name);
}
else
- $return['errors'][] = sprintf(___('devcp_add_previews_save_error'), $name);
+ $return['errors'][] = sprintf(___('File %s could not be saved to the database. Please try again.'), $name);
}
-
+
return $return;
}
-
+
function _deletePreviews($addon_id) {
$return = array();
-
+
// Get IDs of existing previews
$existing = $this->Preview->getIDsForAddon($addon_id);
-
+
// Loop through each preview
foreach ($this->data['Preview']['Delete'] as $id => $delete) {
if ($delete !== 'true') continue;
-
+
// Delete the preview
$this->Preview->id = $id;
if ($this->Preview->delete())
- $return['success'][] = sprintf(___('devcp_delete_previews_success'), $id);
+ $return['success'][] = sprintf(___('Preview %s has been deleted successfully.'), $id);
else
- $return['errors'][] = sprintf(___('devcp_delete_previews_error'), $id);
+ $return['errors'][] = sprintf(___('Preview %s could not be deleted from the database. Please try again.'), $id);
}
-
+
return $return;
}
-
+
/**
* Discuss a review request with an editor
*/
function discuss($infoid) {
global $valid_status;
-
+
$inforequest = $this->Approval->findById($infoid);
if (empty($inforequest)) {
- $this->flash(_('error_addon_notfound'), '/developers/index');
+ $this->flash(___('Add-on not found!'), '/developers/index');
return;
}
// Make sure user has some permissions to view this add-on
@@ -1769,35 +1769,35 @@ class DevelopersController extends AppController
$isEditor = $this->SimpleAcl->actionAllowed('Editors', '*', $session);
$role = $this->Amo->getAuthorRole($inforequest['Approval']['addon_id']);
if (!$isEditor && empty($role)) $this->Amo->accessDenied();
-
+
$this->publish('inforequest', $inforequest);
-
+
$addon = $this->Addon->getAddon($inforequest['Approval']['addon_id'], array('authors'));
$this->publish('addonName', $addon['Translation']['name']['string']);
-
+
$versionid = $this->Version->getVersionByAddonId($addon['Addon']['id'], $valid_status);
$version = $this->Version->findById($versionid, null, null, -1);
$this->publish('versionno', $version['Version']['version']);
-
+
// grab replies
$replies = $this->Approval->findAll(array('reply_to' => $infoid), null, 'Approval.created');
$this->publish('replies', $replies);
-
+
if (!empty($this->data)) {
$session = $this->Session->read('User');
-
+
//Auto-detect addontype if necessary
if ($this->data['Addon']['addontype_id'] == 0) {
$this->data['Addon']['addontype_id'] = $this->Developers->detectAddontype($this->data['File']['file1']);
$this->publish('autoDetected', $this->Addontype->getName($this->data['Addon']['addontype_id']));
}
-
+
//Make sure addontype is allowed
$allowedAddonTypes = $this->Developers->getAllowedAddonTypes(false, $this->SimpleAcl->actionAllowed('*', '*', $this->Session->read('User')));
if (!array_key_exists($this->data['Addon']['addontype_id'], $allowedAddonTypes)) {
- $this->Error->addError(_('devcp_error_invalid_addontype'));
+ $this->Error->addError(___('Invalid add-on type'));
}
-
+
//Validate files
$this->Developers->validateFiles();
@@ -1812,18 +1812,18 @@ class DevelopersController extends AppController
);
if (true === $this->Approval->save($approvalData)) {
$this->set('success', true);
-
+
// add this to the replies set
$replies[] = $this->Approval->findById($this->Approval->getLastInsertID());
$this->publish('replies', $replies);
-
+
// send email to all authors and the editor, but not the current user
$recipients = array();
foreach ($addon['User'] as &$user) $recipients[] = $user['email'];
$recipients[] = $inforequest['User']['email'];
foreach ($replies as &$reply) $recipients[] = $reply['User']['email'];
$recipients = array_diff(array_unique($recipients), array($session['email'])); // remove current user
-
+
$emailInfo = array(
'name' => $addon['Translation']['name']['string'],
'infoid' => $infoid,
@@ -1854,13 +1854,13 @@ class DevelopersController extends AppController
// Need separate cases for the text so gettext can see each one.
switch ($example) {
case 'passive':
- $text = ___('devcp_edit_contrib_example_passive');
+ $text = ___('A new section is added to your add-on\'s page and Developer Profile requesting a contribution from your users.');
break;
case 'after':
- $text = ___('devcp_edit_contrib_example_after');
+ $text = ___('When users begin downloading this add-on they are taken to your Developer Profile, where they are asked to make a contribution.');
break;
case 'roadblock':
- $text = ___('devcp_edit_contrib_example_roadblock');
+ $text = ___('When users try to install this add-on they are taken to your Developer Profile first, where they will be asked to make a contribution. Users must click the install button again to complete the installation.');
break;
default:
return $this->cakeError('error404');
diff --git a/site/app/controllers/downloads_controller.php b/site/app/controllers/downloads_controller.php
index 0057a4d..ecfb3a7 100644
--- a/site/app/controllers/downloads_controller.php
+++ b/site/app/controllers/downloads_controller.php
@@ -62,7 +62,7 @@ class DownloadsController extends AppController
$this->Amo->clean($id);
$this->layout=null;
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'file_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'file_id'), '/', 3);
return;
}
@@ -88,18 +88,18 @@ class DownloadsController extends AppController
} elseif ($addon_data['Addon']['status'] == STATUS_DISABLED &&
!$this->Amo->checkOwnership($addon_data['Addon']['id'])) {
- $this->flash(_('downloads_disable_warning'), '/', 3);
+ $this->flash(___('This add-on is disabled'), '/', 3);
return;
}
} else {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
if (file_exists($file_loc))
$this->set('fileLoc', $file_loc);
else {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
@@ -161,7 +161,7 @@ class DownloadsController extends AppController
}
else {
// File wasn't found
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
}
}
}
diff --git a/site/app/controllers/editors_controller.php b/site/app/controllers/editors_controller.php
index 6ed3052..7f7d919 100644
--- a/site/app/controllers/editors_controller.php
+++ b/site/app/controllers/editors_controller.php
@@ -61,7 +61,7 @@ class EditorsController extends AppController
$this->Amo->checkLoggedIn();
$this->layout = 'mozilla';
- $this->pageTitle = _('editors_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Editor Tools').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->cssAdd = array('editors', 'admin', 'validation');
$this->publish('cssAdd', $this->cssAdd);
@@ -74,11 +74,11 @@ class EditorsController extends AppController
'editors');
$this->publish('jsAdd', $this->jsAdd);
- $this->breadcrumbs = array(_('editors_pagetitle') => '/editors/index');
+ $this->breadcrumbs = array(___('Editor Tools') => '/editors/index');
$this->publish('breadcrumbs', $this->breadcrumbs);
$this->publish('suppressJQuery', 1);
- $this->publish('subpagetitle', _('editors_pagetitle'));
+ $this->publish('subpagetitle', ___('Editor Tools'));
// disable query caching so devcp changes are visible immediately
foreach ($this->uses as $_model) {
@@ -134,7 +134,7 @@ class EditorsController extends AppController
function queue($mode = 'pending') {
//If queues are disabled, show appropriate error
if ($this->Config->getValue('queues_disabled') == 1 && !$this->SimpleAcl->actionAllowed('*', '*', $this->Session->read('User'))) {
- $this->flash(_('editors_queues_disabled'), '/', 3);
+ $this->flash(___('All review queues are currently disabled. Please check back at a later time.'), '/', 3);
return;
}
@@ -145,9 +145,9 @@ class EditorsController extends AppController
$this->publish('collapse_categories', true);
$this->Amo->clean($mode);
- $this->breadcrumbs[_('editors_review_queue_pagetitle')] = '/editors/queue';
+ $this->breadcrumbs[___('Review Queue')] = '/editors/queue';
$this->publish('breadcrumbs', $this->breadcrumbs);
- $this->publish('subpagetitle', _('editors_review_queue_pagetitle'));
+ $this->publish('subpagetitle', ___('Review Queue'));
$this->publish('mode', $mode);
@@ -216,7 +216,7 @@ class EditorsController extends AppController
'6' => '6', '7' => '7', '8' => '8', '9' => '9', '10+' => '10+');
$platforms = $this->Amo->getPlatformName();
$applications = $this->Amo->getApplicationName();
- $flags = array('0'=>___('editors_queue_flag_no'), '1'=>___('editors_queue_flag_yes'));
+ $flags = array('0'=>___('no'), '1'=>___('yes'));
$filtered = !empty($filter);
$filterChanged = $filtered && array_key_exists('filter', $this->params['form']);
@@ -251,8 +251,8 @@ class EditorsController extends AppController
*/
function review($id) {
$this->Amo->clean($id);
- $this->publish('subpagetitle', _('editors_addon_review_pagetitle'));
- $this->breadcrumbs[_('editors_addon_review_pagetitle')] = '/editors/review/'.$id;
+ $this->publish('subpagetitle', ___('Review Add-on'));
+ $this->breadcrumbs[___('Review Add-on')] = '/editors/review/'.$id;
$this->publish('breadcrumbs', $this->breadcrumbs);
$this->publish('collapse_categories', true);
$this->cssAdd[] = '../vendors/markitup/skins/simple/style';
@@ -278,12 +278,12 @@ class EditorsController extends AppController
$this->Versioncomment->bindFully();
if (!$version = $this->Version->findById($id, null, null, 1)) {
- $this->flash(_('error_version_notfound'), '/editors/queue');
+ $this->flash(___('Version not found!'), '/editors/queue');
return;
}
if (!$addon = $this->Addon->findById($version['Version']['addon_id'])) {
- $this->flash(_('error_addon_notfound'), '/editors/queue');
+ $this->flash(___('Add-on not found!'), '/editors/queue');
return;
}
@@ -292,7 +292,7 @@ class EditorsController extends AppController
if (!$this->SimpleAcl->actionAllowed('*', '*', $session)) {
foreach ($addon['User'] as $author) {
if ($author['id'] == $session['id']) {
- $this->flash(_('editors_error_self_reviews_forbidden'), '/editors/queue');
+ $this->flash(___('Self-reviews are not allowed.'), '/editors/queue');
return;
}
}
@@ -333,7 +333,7 @@ class EditorsController extends AppController
}
$redirectUrl .= "#editorComment{$commentId}";
- $this->flash(___('editors_comment_posted'), $redirectUrl);
+ $this->flash(___('Comment successfully posted'), $redirectUrl);
return;
}
@@ -341,7 +341,7 @@ class EditorsController extends AppController
if ($this->data['Approval']['subscribe'])
$this->EditorSubscription->subscribeToUpdates($session['id'], $addon['Addon']['id']);
- $this->flash(_('editors_reviewed_successfully'), '/editors/queue/'.$this->data['Approval']['Type']);
+ $this->flash(___('Review successfully processed.'), '/editors/queue/'.$this->data['Approval']['Type']);
return;
}
}
@@ -393,12 +393,12 @@ class EditorsController extends AppController
$this->publish('cannedresponses', $cannedresponses);
}
- $this->publish('jsLocalization', array( 'action' => _('editors_review_action'),
- 'comments' => _('editors_review_comments'),
- 'os' => _('editors_tested_os'),
- 'applications' => _('editors_tested_app'),
- 'errors' => _('editors_error_js-formerror'),
- 'files' => _('editors_error_review_one_file')
+ $this->publish('jsLocalization', array( 'action' => ___('Review Action'),
+ 'comments' => ___('Review Comments'),
+ 'os' => ___('Tested Operating Systems'),
+ 'applications' => ___('Tested Application'),
+ 'errors' => ___('Please complete the following fields:'),
+ 'files' => ___('Please select at least one file to review.')
));
// Validation results
@@ -501,23 +501,23 @@ class EditorsController extends AppController
$this->publish('filteredCount', $filteredCount);
$this->publish('subscriptions', $this->Versioncomment->getSubscriptionsByUser($session['id']));
$this->publish('jsLocalization', array(
- 'editors_review_bold' => ___('editors_review_bold', 'Bold'),
- 'editors_review_italics' => ___('editors_review_italics', 'Italics'),
- 'editors_review_unordered_lists' => ___('editors_review_unordered_lists', 'Unordered List'),
- 'editors_review_ordered_lists' => ___('editors_review_ordered_lists', 'Ordered List'),
- 'editors_review_block_quotes' => ___('editors_review_block_quotes', 'Block Quote'),
- 'editors_review_code_blocks' => ___('editors_review_code_blocks', 'Code Block'),
- 'editors_review_code_text' => ___('editors_review_code_text', 'Plain Text'),
- 'editors_review_code_html' => ___('editors_review_code_html', 'HTML'),
- 'editors_review_code_css' => ___('editors_review_code_css', 'CSS'),
- 'editors_review_code_javascript_xul' => ___('editors_review_code_javascript_xul', 'Javascript / XUL'),
- 'editors_review_code_diff' => ___('editors_review_code_diff', 'Diff / Patch'),
- 'editors_review_code_sql' => ___('editors_review_code_sql', 'SQL'),
- 'editors_markdown_preview' => ___('editors_markdown_preview', 'Preview'),
- 'editors_review_comment_help_heading' => ___('editors_review_comment_help_heading', 'Comment Help'),
- 'editors_syntax_view_source' => ___('editors_syntax_view_source', 'View Source'),
- 'editors_syntax_print' => ___('editors_syntax_print', 'Print'),
- 'editors_syntax_about' => ___('editors_syntax_about', 'About'),
+ 'editors_review_bold' => ___('Bold'),
+ 'editors_review_italics' => ___('Italics'),
+ 'editors_review_unordered_lists' => ___('Unordered List'),
+ 'editors_review_ordered_lists' => ___('Ordered List'),
+ 'editors_review_block_quotes' => ___('Block Quote'),
+ 'editors_review_code_blocks' => ___('Code Block'),
+ 'editors_review_code_text' => ___('Plain Text'),
+ 'editors_review_code_html' => ___('HTML'),
+ 'editors_review_code_css' => ___('CSS'),
+ 'editors_review_code_javascript_xul' => ___('Javascript / XUL'),
+ 'editors_review_code_diff' => ___('Diff / Patch'),
+ 'editors_review_code_sql' => ___('SQL'),
+ 'editors_markdown_preview' => ___('Preview'),
+ 'editors_review_comment_help_heading' => ___('Comment Help'),
+ 'editors_syntax_view_source' => ___('View Source'),
+ 'editors_syntax_print' => ___('Print'),
+ 'editors_syntax_about' => ___('About'),
));
$this->render('review');
@@ -532,7 +532,7 @@ class EditorsController extends AppController
$this->File->id = $id;
if (!$file = $this->File->read()) {
- $this->flash(_('error_file_notfound'), '/editors/queue');
+ $this->flash(___('File not found!'), '/editors/queue');
}
$this->Addon->id = $file['Version']['addon_id'];
@@ -550,7 +550,7 @@ class EditorsController extends AppController
readfile($file);
}
else {
- $this->flash(sprintf(_('error_file_x_notfound'), $file), '/editors/review/'.$this->Version->id);
+ $this->flash(sprintf(___('File error: %s does not exist.'), $file), '/editors/review/'.$this->Version->id);
}
exit;
}
@@ -569,7 +569,7 @@ class EditorsController extends AppController
$user = $this->User->findByEmail($this->params['url']['user']);
if (empty($user)) {
header('HTTP/1.1 404 Not Found');
- $this->flash(___('editors_performance_user_not_found', 'User not found'), "/editors/performance/{$mode}");
+ $this->flash(___('User not found'), "/editors/performance/{$mode}");
return;
}
} else {
@@ -613,7 +613,7 @@ class EditorsController extends AppController
$this->publish('showUserLookup', $isSenior);
$this->publish('editors', $isSenior ? $this->_recentEditors() : array());
$this->publish('collapse_categories', true);
- $this->publish('subpagetitle', ___('editors_performance_pagetitle', 'Performance Reports'));
+ $this->publish('subpagetitle', ___('Performance Reports'));
$this->set('page', 'performance');
//Standard text report
@@ -655,7 +655,7 @@ class EditorsController extends AppController
$ytdEndTime = strtotime('tomorrow');
$startDate = date('Y-m-01');
$startTime = strtotime($startDate);
- $endDate = ___('editors_date_filter_placeholder', 'YYYY-MM-DD');
+ $endDate = ___('YYYY-MM-DD');
$endTime = $ytdEndTime;
//If user has specified own conditions, use those
@@ -1225,14 +1225,14 @@ class EditorsController extends AppController
// check action
if (!in_array($this->action, array('threadsubscribe', 'threadunsubscribe'))) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(___('error_access_denied'), '/editors/queue');
+ $this->flash(___('Access Denied'), '/editors/queue');
return;
}
// get posted comment_id
if (empty($this->params['form']['comment_id'])) { // id needs to be POSTed
header('HTTP/1.1 400 Bad Request');
- $this->flash(sprintf(_('error_missing_argument'), 'comment_id'), '/editors/queue');
+ $this->flash(sprintf(___('Missing argument: %s'), 'comment_id'), '/editors/queue');
return;
}
$id = $this->params['form']['comment_id'];
@@ -1241,14 +1241,14 @@ class EditorsController extends AppController
$comment = $this->Versioncomment->findById($id);
if (empty($comment)) {
header('HTTP/1.1 404 Not Found');
- $this->flash(___('editors_error_invalid_comment', 'Invalid comment'), '/editors/queue');
+ $this->flash(___('Invalid comment'), '/editors/queue');
return;
}
// only allow subscribing to head of the thread
if (! empty($comment['Versioncomment']['reply_to'])) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(___('editors_error_starting_comment', 'Comment does not start a thread'),
+ $this->flash(___('Comment does not start a thread'),
"/editors/review/{$comment['Version']['id']}", 3);
return;
}
@@ -1264,7 +1264,7 @@ class EditorsController extends AppController
foreach ($addon['User'] as $author) {
if ($author['id'] == $user['id']) {
header('HTTP/1.1 401 Unauthorized');
- $this->flash(_('editors_error_self_reviews_forbidden'), '/editors/queue');
+ $this->flash(___('Self-reviews are not allowed.'), '/editors/queue');
return;
}
}
@@ -1272,14 +1272,14 @@ class EditorsController extends AppController
}
$result = $this->Versioncomment->subscribe($id, $user['id'], true);
- $message = ($result ? ___('editors_subscription_succeeded', 'Subscription Succeeded')
- : ___('editors_subscription_failed', 'Subscription Failed'));
+ $message = ($result ? ___('Subscription Succeeded')
+ : ___('Subscription Failed'));
// unsubscribe
} else {
$result = $this->Versioncomment->unsubscribe($id, $user['id']);
- $message = ($result ? ___('editors_unsubscription_succeeded', 'Unsubscription Succeeded')
- : ___('editors_unsubscription_failed', 'Unsubscription Failed'));
+ $message = ($result ? ___('Unsubscription Succeeded')
+ : ___('Unsubscription Failed'));
}
// results!
@@ -1436,10 +1436,10 @@ class EditorsController extends AppController
foreach ($addon['Version'][0]['File'] as $file) {
$os[] = $platforms[$file['platform_id']];
}
- $addons[$k]['notes'][] = sprintf(_('editors_platform_x_only'), implode(', ', $os));
+ $addons[$k]['notes'][] = sprintf(___('%s only'), implode(', ', $os));
}
elseif (!empty($addon['File']['platform_id']) && $addon['File']['platform_id'] != 1) {
- $addons[$k]['notes'][] = sprintf(_('editors_platform_x_only'), $platforms[$addon['File']['platform_id']]);
+ $addons[$k]['notes'][] = sprintf(___('%s only'), $platforms[$addon['File']['platform_id']]);
}
//Featured?
@@ -1447,15 +1447,15 @@ class EditorsController extends AppController
//Site specific?
if ($addon['Addon']['sitespecific'] == 1) {
- $addons[$k]['notes'][] = _('editors_site_specific');
+ $addons[$k]['notes'][] = ___('Site Specific');
}
//Pre-release?
if ($addon['Addon']['prerelease'] == 1) {
- $addons[$k]['notes'][] = _('editors_pre-release');
+ $addons[$k]['notes'][] = ___('Pre-release');
}
//External software?
if ($addon['Addon']['externalsoftware'] == 1) {
- $addons[$k]['notes'][] = _('editors_external_software');
+ $addons[$k]['notes'][] = ___('External Software');
}
}
}
@@ -1504,7 +1504,7 @@ class EditorsController extends AppController
}
}
- $this->flash(_('editors_reviews_processed'), '/editors/queue/reviews');
+ $this->flash(___('Reviews processed successfully!'), '/editors/queue/reviews');
return;
}
@@ -1588,14 +1588,14 @@ class EditorsController extends AppController
if (!is_numeric($this->data['Addon']['id']) || !is_numeric($this->data['Category']['id'])) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_add_failure'), '/editors/featured');
+ $this->flash(___('Failed to add feature.'), '/editors/featured');
return;
}
$_addon = $this->Addon->getAddon($this->data['Addon']['id']);
if ($_addon['Addon']['status'] != STATUS_PUBLIC) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_edit_failure'), '/editors/featured');
+ $this->flash(___('Failed to edit feature.'), '/editors/featured');
return;
}
@@ -1604,10 +1604,10 @@ class EditorsController extends AppController
if ($this->AddonCategory->query($_new_feature_query)) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_add_failure'), '/editors/featured');
+ $this->flash(___('Failed to add feature.'), '/editors/featured');
} else {
$this->Eventlog->log($this, 'editor', 'feature_add', '', $this->data['Addon']['id'], $this->data['Addon']['id']);
- $this->flash(_('editors_featured_addon_add_success'), '/editors/featured', 3);
+ $this->flash(___('Successfully added feature.'), '/editors/featured', 3);
}
return;
@@ -1617,14 +1617,14 @@ class EditorsController extends AppController
if (!empty($this->data['AddonCategory']['feature_locales'])) {
if (count(array_diff(explode(',',$this->data['AddonCategory']['feature_locales']), array_keys($valid_languages))) > 0) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_invalid_locale'), '/editors/featured');
+ $this->flash(___('One or more locales are invalid.'), '/editors/featured');
return;
}
}
if (!is_numeric($this->data['Addon']['id']) || !is_numeric($this->data['Category']['id']) || preg_match('/[^A-Za-z,-]/',$this->data['AddonCategory']['feature_locales'])) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_edit_failure'), '/editors/featured');
+ $this->flash(___('Failed to edit feature.'), '/editors/featured');
return;
}
@@ -1642,9 +1642,9 @@ class EditorsController extends AppController
if ($this->AddonCategory->query($_edit_feature_query)) {
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_edit_failure'), '/editors/featured');
+ $this->flash(___('Failed to edit feature.'), '/editors/featured');
} else {
- $this->flash(_('editors_featured_addon_edit_success'), '/editors/featured', 3);
+ $this->flash(___('Successfully edited feature.'), '/editors/featured', 3);
}
return;
@@ -1657,12 +1657,12 @@ class EditorsController extends AppController
$this->AddonCategory->execute("DELETE FROM `addons_categories` WHERE addon_id='{$this->data['Addon']['id']}' AND category_id='{$this->data['Category']['id']}' AND feature=1 LIMIT 1");
// Assume we succeeded
- $this->flash(_('editors_featured_addon_remove_success'), '/editors/featured', 3);
+ $this->flash(___('Successfully removed feature.'), '/editors/featured', 3);
return;
}
header('HTTP/1.1 400 Bad Request');
- $this->flash(_('editors_featured_addon_remove_failure'), '/editors/featured');
+ $this->flash(___('Failed to remove feature.'), '/editors/featured');
return;
@@ -1671,9 +1671,9 @@ class EditorsController extends AppController
}
// Setup title and breadcrumbs
- $this->breadcrumbs[_('editors_featured_addons_pagetitle')] = '/editors/featured';
+ $this->breadcrumbs[___('Featured Add-ons')] = '/editors/featured';
$this->publish('breadcrumbs', $this->breadcrumbs);
- $this->publish('subpagetitle', _('editors_featured_addons_pagetitle'));
+ $this->publish('subpagetitle', ___('Featured Add-ons'));
// Get all featured Addons
$features = $this->AddonCategory->findAllByFeature(1, array('addon_id'));
@@ -1748,14 +1748,14 @@ class EditorsController extends AppController
* Display logs
*/
function logs() {
- $this->breadcrumbs[_('editorcp_logs_page_heading')] = '/editors/logs';
+ $this->breadcrumbs[___('Event Log')] = '/editors/logs';
$this->set('breadcrumbs', $this->breadcrumbs);
//Default conditions are the current month
$monthStart = date('Y-m-01');
$conditions = array("Eventlog.created >= '{$monthStart} 00:00:00'");
$startDate = $monthStart;
- $endDate = ___('editors_date_filter_placeholder', 'YYYY-MM-DD');
+ $endDate = ___('YYYY-MM-DD');
$filter = '';
//If user has specified own conditions, use those
@@ -1798,8 +1798,8 @@ class EditorsController extends AppController
$this->publish('filterOptions', array(
'' => '',
- 'editor:review_approve' => ___('editorcp_logs_review_approve', 'Approved reviews'),
- 'editor:review_delete' => ___('editorcp_logs_review_delete', 'Deleted reviews')
+ 'editor:review_approve' => ___('Approved reviews'),
+ 'editor:review_delete' => ___('Deleted reviews')
));
$this->set('page', 'logs');
@@ -1853,27 +1853,27 @@ class EditorsController extends AppController
//days
if ($age >= (60*60*24*2)) {
- $humanized = sprintf(_('editors_x_days'), floor($age/(60*60*24)));
+ $humanized = sprintf(___('%s days'), floor($age/(60*60*24)));
}
//1 day
elseif ($age >= (60*60*24)) {
- $humanized = _('editors_one_day');
+ $humanized = ___('1 day');
}
//hours
elseif ($age >= (60*60*2)) {
- $humanized = sprintf(_('editors_x_hours'), floor($age/(60*60)));
+ $humanized = sprintf(___('%s hours'), floor($age/(60*60)));
}
//hour
elseif ($age >= (60*60)) {
- $humanized = _('editors_one_hour');
+ $humanized = ___('1 hour');
}
//minutes
elseif ($age > 60) {
- $humanized = sprintf(_('editors_x_minutes'), floor($age/60));
+ $humanized = sprintf(___('%s minutes'), floor($age/60));
}
//minute
else {
- $humanized = _('editors_one_minute');
+ $humanized = ___('1 minute');
}
return $humanized;
diff --git a/site/app/controllers/files_controller.php b/site/app/controllers/files_controller.php
index 70455e9..bca1b9c 100644
--- a/site/app/controllers/files_controller.php
+++ b/site/app/controllers/files_controller.php
@@ -72,7 +72,7 @@ class FilesController extends AppController
$this->File->id = $file_id;
if (!$file = $this->File->read()) {
- $this->flash(_('error_file_notfound'), '/');
+ $this->flash(___('File not found!'), '/');
return;
}
$this->Addon->id = $file['Version']['addon_id'];
@@ -92,7 +92,7 @@ class FilesController extends AppController
//Only display add-on if: 1) opted in 2) user owns this plugin 3) user is an editor/admin
if ($addon['Addon']['viewsource'] != 1 && !$isDeveloper &&
!$this->SimpleAcl->actionAllowed('Editors', '*', $user)) {
- $this->flash(_('error_addon_notviewable'), '/addon/'.$this->Addon->id);
+ $this->flash(___('This add-on is not viewable here.'), '/addon/'.$this->Addon->id);
return;
}
@@ -102,10 +102,10 @@ class FilesController extends AppController
if (!file_exists($path)) {
if ($review == 1) {
- $this->flash(_('error_file_notfound'), '/reviewers/review/'.$this->Addon->id);
+ $this->flash(___('File not found!'), '/reviewers/review/'.$this->Addon->id);
}
else {
- $this->flash(_('error_file_notfound'), '/addon/'.$this->Addon->id);
+ $this->flash(___('File not found!'), '/addon/'.$this->Addon->id);
}
return;
}
@@ -236,7 +236,7 @@ class FilesController extends AppController
$contents = $this->_get_contents($path, $file, $addontype);
if (is_bool($contents) && $contents == false) {
- $this->flash(_('error_file_notfound'), '/');
+ $this->flash(___('File not found!'), '/');
return;
}
$this->publish('filename', $file);
@@ -249,7 +249,7 @@ class FilesController extends AppController
$this->File->id = $file_id;
if (!$file = $this->File->read()) {
- $this->flash(_('error_file_notfound'), '/');
+ $this->flash(___('File not found!'), '/');
return;
}
@@ -258,7 +258,7 @@ class FilesController extends AppController
array(STATUS_PUBLIC));
if (count($prev) == 0) {
- $this->flash(_('error_file_notfound'), '/');
+ $this->flash(___('File not found!'), '/');
return;
}
$this->Version->id = $prev[0]['Version']['id'];
@@ -269,7 +269,7 @@ class FilesController extends AppController
//Only display add-on if opted in or if the user is a reviewer
if ($addon['Addon']['viewsource'] != 1 && !$this->SimpleAcl->actionAllowed('Editors', '*', $this->Session->read('User'))) {
- $this->flash(_('error_addon_notviewable'), '/addon/'.$this->Addon->id);
+ $this->flash(___('This add-on is not viewable here.'), '/addon/'.$this->Addon->id);
return;
}
@@ -277,7 +277,7 @@ class FilesController extends AppController
$path = REPO_PATH.'/'.$this->Addon->id.'/'.$file['File']['filename'];
if (!file_exists($path)) {
- $this->flash(_('error_file_notfound'), '/reviewers/review/'.$this->Addon->id);
+ $this->flash(___('File not found!'), '/reviewers/review/'.$this->Addon->id);
return;
}
diff --git a/site/app/controllers/groups_controller.php b/site/app/controllers/groups_controller.php
index e3917d1..47759ec 100644
--- a/site/app/controllers/groups_controller.php
+++ b/site/app/controllers/groups_controller.php
@@ -62,22 +62,22 @@ class GroupsController extends AppController {
}
function index() {
- $this->pageTitle = _('admin_group_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Group Admin').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->Group->recursive = 0;
$this->set('groups', $this->Group->findAll());
}
function add() {
- $this->pageTitle = _('admin_group_add_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Add Group').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
if(empty($this->data)) {
$this->render();
} else {
$this->cleanUpFields();
if($this->Group->save($this->data)) {
- $this->Session->setFlash(_('admin_group_saved'));
+ $this->Session->setFlash(___('The Group has been saved'));
$this->redirect('/groups/index');
} else {
- $this->Session->setFlash(_('error_formerrors'));
+ $this->Session->setFlash(___('There are errors in this form. Please correct them and resubmit.'));
}
}
}
@@ -86,20 +86,20 @@ class GroupsController extends AppController {
* @param int $id
*/
function edit($id = null) {
- $this->pageTitle = _('admin_group_edit_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Edit Group').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
if(empty($this->data)) {
if(!$id) {
- $this->Session->setFlash(_('admin_group_error_invalid_id'));
+ $this->Session->setFlash(___('Invalid id for Group'));
$this->redirect('/groups/index');
}
$this->data = $this->Group->read(null, $id);
} else {
$this->cleanUpFields();
if($this->Group->save($this->data)) {
- $this->Session->setFlash(_('admin_group_saved'));
+ $this->Session->setFlash(___('The Group has been saved'));
$this->redirect('/groups/index');
} else {
- $this->Session->setFlash(_('error_formerrors'));
+ $this->Session->setFlash(___('There are errors in this form. Please correct them and resubmit.'));
}
}
}
@@ -108,13 +108,13 @@ class GroupsController extends AppController {
* @param int $id
*/
function delete($id = null) {
- $this->pageTitle = _('admin_group_delete_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Delete Group').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
if(!$id) {
- $this->Session->setFlash(_('admin_group_error_invalid_id'));
+ $this->Session->setFlash(___('Invalid id for Group'));
$this->redirect('/groups/index');
}
if($this->Group->del($id)) {
- $this->Session->setFlash(sprintf(_('admin_group_deleted'), $id));
+ $this->Session->setFlash(sprintf(___('The Group with id %s was deleted'), $id));
$this->redirect('/groups/index');
}
}
diff --git a/site/app/controllers/localizers_controller.php b/site/app/controllers/localizers_controller.php
index 1acdee1..9eda0b8 100644
--- a/site/app/controllers/localizers_controller.php
+++ b/site/app/controllers/localizers_controller.php
@@ -70,7 +70,7 @@ class LocalizersController extends AppController
$this->Amo->clean($this->data);
$this->layout = 'mozilla';
- $this->pageTitle = 'Localizer Control Panel :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = 'Localizer Control Panel :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->cssAdd = array('localizers');
$this->publish('cssAdd', $this->cssAdd);
diff --git a/site/app/controllers/pages_controller.php b/site/app/controllers/pages_controller.php
index 2dd39d0..7118ed6 100644
--- a/site/app/controllers/pages_controller.php
+++ b/site/app/controllers/pages_controller.php
@@ -83,46 +83,46 @@ class PagesController extends AppController{
if (!empty($path[1])) {
$subpage = $path[1];
}
-
+
// settings titles for individual pages
switch ($path_string) {
case 'appversions':
- $title = ___('page_title_appversions', _('pages_appversions_header')); break;
+ $title = ___('Application Versions'); break;
case 'credits':
- $title = ___('page_title_credits', 'Credits'); break;
+ $title = ___('Credits'); break;
case 'fashionyourfirefox_faq':
- $title = ___('page_title_fashionyourfirefox_faq', 'Fashion your Firefox FAQ');
+ $title = ___('Fashion your Firefox FAQ');
$this->set('cssAdd', array('collection-style'));
$this->publish('suppressHeader', true, false);
$this->publish('suppressLanguageSelector', true, false);
$this->publish('suppressCredits', true, false);
break;
case 'policy':
- $title = ___('page_title_policy', 'Add-ons Policy'); break;
+ $title = ___('Add-ons Policy'); break;
case 'privacy':
- $title = ___('page_title_privacy', 'Mozilla Privacy Policy'); break;
+ $title = ___('Mozilla Privacy Policy'); break;
case 'review_guide':
- $title = ___('page_title_review_guide', 'Review Guidelines'); break;
+ $title = ___('Review Guidelines'); break;
case 'sandbox':
- $title = ___('page_title_sandbox', 'Sandbox Review System'); break;
+ $title = ___('Sandbox Review System'); break;
case 'submissionhelp':
- $title = ___('page_title_submissionhelp', 'Submission Help'); break;
+ $title = ___('Submission Help'); break;
case 'faq':
- $title = ___('page_title_faq', 'Frequently Asked Questions'); break;
+ $title = ___('Frequently Asked Questions'); break;
case 'developer_faq':
- $title = ___('page_title_developer_faq'); break;
+ $title = ___('Developer FAQ'); break;
case 'collector':
- $title = ___('page_title_collector');
+ $title = ___('Add-on Collector');
$this->publish('collectionSearch', true); break;
case 'collector_faq':
- $title = ___('page_title_collector_faq');
+ $title = ___('Add-on Collector FAQ');
$this->publish('collectionSearch', true); break;
case 'collector_features':
- $title = ___('page_title_collector_features');
+ $title = ___('Add-on Collector Features');
$this->publish('collectionSearch', true); break;
case 'collector_firstrun':
$this->set('jsAdd', array('amo2009/collections'));
- $title = ___('page_title_collector_firstrun');
+ $title = ___('Welcome to the Add-on Collector');
$this->publish('collectionSearch', true); break;
default:
if (!empty($path[$count - 1])) {
@@ -133,7 +133,7 @@ class PagesController extends AppController{
$this->publish('page', $page);
$this->publish('subpage', $subpage);
- $this->set('title', $title .' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME));
+ $this->set('title', $title .' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME));
$this->render($path_string);
}
}
diff --git a/site/app/controllers/previews_controller.php b/site/app/controllers/previews_controller.php
index ba1291b..10e0721 100644
--- a/site/app/controllers/previews_controller.php
+++ b/site/app/controllers/previews_controller.php
@@ -64,7 +64,7 @@ class PreviewsController extends AppController
$this->Amo->clean($this->data);
$this->layout = 'mozilla';
- $this->pageTitle = _('devcp_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Developer Tools').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->cssAdd = array('developers');
$this->publish('cssAdd', $this->cssAdd);
@@ -76,10 +76,10 @@ class PreviewsController extends AppController
,'jquery-compressed.js');
$this->publish('jsAdd', $this->jsAdd);
- $this->breadcrumbs = array(_('devcp_pagetitle') => '/developers/index');
+ $this->breadcrumbs = array(___('Developer Tools') => '/developers/index');
$this->publish('breadcrumbs', $this->breadcrumbs);
- $this->publish('subpagetitle', _('devcp_pagetitle'));
+ $this->publish('subpagetitle', ___('Developer Tools'));
global $native_languages;
$this->publish('nativeLanguages', $native_languages);
@@ -100,19 +100,19 @@ class PreviewsController extends AppController
*/
function add($addon_id) {
$this->Amo->clean($addon_id);
- $this->publish('subpagetitle', _('devcp_preview_add_pagetitle'));
- $this->breadcrumbs[_('devcp_preview_add_pagetitle')] = '/previews/add/'.$addon_id;
+ $this->publish('subpagetitle', ___('Add Preview'));
+ $this->breadcrumbs[___('Add Preview')] = '/previews/add/'.$addon_id;
$this->publish('breadcrumbs', $this->breadcrumbs);
if (!$this->Amo->checkOwnership($addon_id)) {
- $this->flash(_('devcp_error_addon_access_denied'), '/developers/index');
+ $this->flash(___('You do not have access to that add-on.'), '/developers/index');
return;
}
$this->Addon->bindFully();
$this->Addon->id = $addon_id;
if (!$addon = $this->Addon->read()) {
- $this->flash(_('error_addon_notfound'), '/developers/index');
+ $this->flash(___('Add-on not found!'), '/developers/index');
return;
}
@@ -132,7 +132,7 @@ class PreviewsController extends AppController
$this->Developers->saveTranslations($this->data, array('Preview'));
- $this->flash(_('devcp_preview_added_successfully'), '/previews/edit/'.$id);
+ $this->flash(___('Preview added successfully.'), '/previews/edit/'.$id);
return;
}
}
@@ -165,7 +165,7 @@ class PreviewsController extends AppController
$localizedFields = array(
'caption' => array(
'type' => 'input',
- 'display' => _('devcp_addon_field_preview_caption_displaytitle'),
+ 'display' => ___('Preview Caption'),
'model' => 'Preview',
'field' => 'caption',
'attributes' => array(
@@ -181,7 +181,7 @@ class PreviewsController extends AppController
'localizedFields' => $localizedFields));
//Javascript localization
$this->publish('jsLocalization', array(
- 'makeDefaultNotice' => _('devcp_notice_makedefault')
+ 'makeDefaultNotice' => ___('Making this the default preview will remove default status from the current default preview.')
));
}
@@ -191,24 +191,24 @@ class PreviewsController extends AppController
*/
function edit($id) {
$this->Amo->clean($id);
- $this->set ('subpagetitle', _('devcp_preview_edit_pagetitle'));
- $this->breadcrumbs[_('devcp_preview_edit_pagetitle')] = '/previews/edit/'.$id;
+ $this->set ('subpagetitle', ___('Edit Preview'));
+ $this->breadcrumbs[___('Edit Preview')] = '/previews/edit/'.$id;
$this->publish('breadcrumbs', $this->breadcrumbs);
$this->Preview->id = $id;
if (!$preview = $this->Preview->read()) {
- $this->flash(_('error_preview_notfound'), '/developers/index');
+ $this->flash(___('Preview not found!'), '/developers/index');
return;
}
$this->Addon->id = $preview['Preview']['addon_id'];
if (!$addon = $this->Addon->read()) {
- $this->flash(_('error_addon_notfound'), '/developers/index');
+ $this->flash(___('Add-on not found!'), '/developers/index');
return;
}
if (!$this->Amo->checkOwnership($this->Addon->id)) {
- $this->flash(_('devcp_error_addon_access_denied'), '/developers/index');
+ $this->flash(___('You do not have access to that add-on.'), '/developers/index');
return;
}
@@ -234,7 +234,7 @@ class PreviewsController extends AppController
//Save translated fields (caption)
$this->Developers->saveTranslations($this->data, array('Preview'));
- $this->flash(_('devcp_preview_updated_successfully'), '/previews/edit/'.$id);
+ $this->flash(___('Preview updated successfully.'), '/previews/edit/'.$id);
return;
}
@@ -248,8 +248,8 @@ class PreviewsController extends AppController
//Javascript localization
$this->publish('jsLocalization', array(
- 'makeDefaultNotice' => _('devcp_notice_makedefault'),
- 'clearDefaultNotice' => _('devcp_notice_cleardefault')
+ 'makeDefaultNotice' => ___('Making this the default preview will remove default status from the current default preview.'),
+ 'clearDefaultNotice' => ___('Removing this as the default preview will cause another preview to automatically become the default preview.')
));
//Retrieve language arrays from bootstrap.
@@ -274,7 +274,7 @@ class PreviewsController extends AppController
$localizedFields = array(
'caption' => array(
'type' => 'input',
- 'display' => _('devcp_addon_field_preview_caption_displaytitle'),
+ 'display' => ___('Preview Caption'),
'model' => 'Preview',
'field' => 'caption',
'attributes' => array(
@@ -304,12 +304,12 @@ class PreviewsController extends AppController
$this->Addon->id = $preview['Preview']['addon_id'];
if (!$addon = $this->Addon->read()) {
- $this->flash(_('error_addon_notfound'), '/developers/index');
+ $this->flash(___('Add-on not found!'), '/developers/index');
return;
}
if (!$this->Amo->checkOwnership($addon['Addon']['id'])) {
- $this->flash(_('devcp_error_addon_access_denied'), '/developers/index');
+ $this->flash(___('You do not have access to that add-on.'), '/developers/index');
return;
}
@@ -320,7 +320,7 @@ class PreviewsController extends AppController
$this->Preview->delete();
- $this->flash(_('devcp_preview_deleted_successfully'), '/developers/index/'.$addon['Addon']['id']);
+ $this->flash(___('Preview deleted successfully.'), '/developers/index/'.$addon['Addon']['id']);
return;
}
}
diff --git a/site/app/controllers/reviews_controller.php b/site/app/controllers/reviews_controller.php
index 3dd62de..1bbf091 100644
--- a/site/app/controllers/reviews_controller.php
+++ b/site/app/controllers/reviews_controller.php
@@ -68,14 +68,14 @@ class ReviewsController extends AppController
$format = (isset($this->namedArgs['format']) ? $this->namedArgs['format'] : 'html');
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
$this->Addon->bindOnly('Version');
$addon = $this->Addon->findById($id);
if (empty($addon)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
$this->publish('addon', $addon);
@@ -199,10 +199,10 @@ class ReviewsController extends AppController
$this->publish('reviews_others_counts', $others_counts);
$this->publish('reviews', $reviews);
- $_title = sprintf(_('addon_review_pagetitle'), $addon['Translation']['name']['string']);
+ $_title = sprintf(___('Reviews for %s'), $addon['Translation']['name']['string']);
if ($format != 'rss') {
- $this->pageTitle = $_title.' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = $_title.' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('rssAdd', array("/reviews/display/{$id}/format:rss"));
$this->publish('breadcrumbs', array(
$addon['Translation']['name']['string'] => "/addon/{$addon['Addon']['id']}",
@@ -232,24 +232,24 @@ class ReviewsController extends AppController
$this->set('reviewRating', 0);
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
$addon = $this->Addon->getAddon($id);
if (empty($addon)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
$isauthor = $this->Amo->checkOwnership($id, $addon['Addon'], true);
if($isauthor) {
- $this->flash(_('error_addon_selfreview'), '/', 3);
+ $this->flash(___('You cannot review your own add-on.'), '/', 3);
}
$this->publish('addon', $addon);
- $_title = sprintf(_('addon_review_pagetitle'), $addon['Translation']['name']['string']);
- $this->pageTitle = $_title .' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $_title = sprintf(___('Reviews for %s'), $addon['Translation']['name']['string']);
+ $this->pageTitle = $_title .' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
// fetch user object from session
$user = $this->Session->read('User');
@@ -323,14 +323,14 @@ class ReviewsController extends AppController
$this->publish('cssAdd', array('forms'));
if (!$id || !is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'addon_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'addon_id'), '/', 3);
return;
}
// find review we're replying to (only where reply_to is null, i.e. no replies to replies)
$review = $this->Review->find("Review.id = $id AND Review.reply_to IS NULL", null, null, 2);
if (empty($review)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
$this->publish('reply_to', $review);
@@ -338,20 +338,20 @@ class ReviewsController extends AppController
$version = $this->Version->findById($review['Review']['version_id']);
$addon = $this->Addon->getAddon($version['Version']['addon_id']);
if (empty($addon)) {
- $this->flash(_('error_addon_notfound'), '/', 3);
+ $this->flash(___('Add-on not found!'), '/', 3);
return;
}
$this->publish('addon', $addon);
- $_title = sprintf(_('addon_review_pagetitle'), $addon['Translation']['name']['string']);
- $this->pageTitle = $_title .' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $_title = sprintf(___('Reviews for %s'), $addon['Translation']['name']['string']);
+ $this->pageTitle = $_title .' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
// fetch user object from session
$user = $this->Session->read('User');
// only authors are allowed to reply to reviews
if (!$this->Amo->checkOwnership($addon['Addon']['id'], $addon['Addon'])) {
- $this->flash(_('error_access_denied'), '/', 3);
+ $this->flash(___('Access Denied'), '/', 3);
return;
}
@@ -422,8 +422,8 @@ class ReviewsController extends AppController
$review = $this->Review->findById($id, null, null, 2);
$review['Addon'] = $this->Addon->findById($review['Version']['addon_id'], array('id', 'name'), null, -1);
- $_title = sprintf(_('addon_review_pagetitle'), $review['Addon']['Translation']['name']['string']);
- $this->pageTitle = $_title .' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $_title = sprintf(___('Reviews for %s'), $review['Addon']['Translation']['name']['string']);
+ $this->pageTitle = $_title .' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('breadcrumbs', array(
$review['Addon']['Translation']['name']['string'] => "/addon/{$review['Addon']['Addon']['id']}",
@@ -447,7 +447,7 @@ class ReviewsController extends AppController
debug($review['Addon']['Addon']['id']);
$this->Review->updateBayesianRating(array($review['Addon']['Addon']['id']));
- $this->flash(_('addon_review_deleted_successfully'), "/reviews/display/{$review['Version']['addon_id']}");
+ $this->flash(___('Review deleted successfully.'), "/reviews/display/{$review['Version']['addon_id']}");
return;
}
@@ -471,9 +471,9 @@ class ReviewsController extends AppController
if (!isset($this->data['Review']['id']) || !is_numeric($this->data['Review']['id'])) {
header('HTTP/1.1 400 Bad Request');
if (!$ajax)
- $this->flash(_('error_missing_argument'), "/");
+ $this->flash(___('Missing argument: %s'), "/");
else {
- $this->publish('msg', _('error_missing_argument'));
+ $this->publish('msg', ___('Missing argument: %s'));
$this->render('flag', 'ajax');
}
return;
@@ -483,7 +483,7 @@ class ReviewsController extends AppController
if (!$ajax)
$this->Amo->checkLoggedIn();
else {
- $this->publish('msg', _('error_access_denied'));
+ $this->publish('msg', ___('Access Denied'));
$this->render('flag', 'ajax');
}
return;
diff --git a/site/app/controllers/search_controller.php b/site/app/controllers/search_controller.php
index 8dc396b..8125fa7 100644
--- a/site/app/controllers/search_controller.php
+++ b/site/app/controllers/search_controller.php
@@ -98,7 +98,7 @@ class SearchController extends AppController
if ($this->Config->getValue('search_disabled') == 1
&& !$this->SimpleAcl->actionAllowed('*', '*', $this->Session->read('User'))) {
- $this->flash(_('search_disabled'), '/', 3);
+ $this->flash(___('Search is currently disabled. Please try again later.'), '/', 3);
exit;
}
}
@@ -196,7 +196,7 @@ class SearchController extends AppController
$_result_ids = $this->Search->search($_terms, $_tag, false, $category[0], $category[1], NULL, $lver, $hver, $vfuz, $atype, $pid, $lup, $sort);
if ($this->params['action'] != 'rss') {
- $this->pageTitle = _('search_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Search Add-ons').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('cssAdd', array('forms'));
$this->params['url']['q'] = urlencode( $this->params['url']['q']);
$this->Pagination->total = count($_result_ids);
@@ -232,7 +232,7 @@ class SearchController extends AppController
}
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
// Collapse categories menu, unless no results were found
$this->publish('collapse_categories', !empty($results));
@@ -256,8 +256,8 @@ class SearchController extends AppController
$results = array();
}
$this->publish('search_results', $results);
- $this->publish('rss_title', sprintf(_('search_rss_results_for'), $_terms));
- $this->publish('rss_description', _('search_rss_description'));
+ $this->publish('rss_title', sprintf(___('Search results for: %s'), $_terms));
+ $this->publish('rss_description', ___('Search results feed'));
$this->render('rss/index', 'rss');
return;
}
@@ -295,12 +295,12 @@ class SearchController extends AppController
list($sort_opts, $sortby) = $this->CollectionsListing->sorting();
// Prep and render the view
- $this->pageTitle = ___('search_collections_pagetitle', 'Collection Search Results').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Collection Search Results').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('jsAdd', array('amo2009/collections', 'jquery-ui/jqModal.js'));
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
));
$this->publish('collapse_categories', true);
diff --git a/site/app/controllers/statistics_controller.php b/site/app/controllers/statistics_controller.php
index 9ea451e..e15480c 100644
--- a/site/app/controllers/statistics_controller.php
+++ b/site/app/controllers/statistics_controller.php
@@ -64,7 +64,7 @@ class StatisticsController extends AppController
$this->Amo->clean($this->data);
$this->layout = 'amo2009';
- $this->pageTitle = _('statistics_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Statistics Dashboard').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->cssAdd = array('stats/stats');
$this->publish('cssAdd', $this->cssAdd);
@@ -75,10 +75,10 @@ class StatisticsController extends AppController
$prescriptJS = "var statsURL = '".$this->url('/statistics/')."';";
$this->set('prescriptJS', $prescriptJS);
- $this->breadcrumbs = array(_('statistics_pagetitle') => '/statistics/index');
+ $this->breadcrumbs = array(___('Statistics Dashboard') => '/statistics/index');
$this->publish('breadcrumbs', $this->breadcrumbs);
- $this->publish('subpagetitle', _('statistics_pagetitle'));
+ $this->publish('subpagetitle', ___('Statistics Dashboard'));
}
/**
@@ -122,26 +122,26 @@ class StatisticsController extends AppController
$this->publish('statsOverview', $this->_cachedStats('getSiteStatsOverview', array()));
$this->publish('jsLocalization', array(
- 'addons_downloaded' => ___('statistics_addons_downloaded', 'Add-ons Downloaded'),
- 'addons_in_use' => ___('statistics_addons_inuse', 'Add-ons In Use'),
- 'addons_created' => ___('statistics_addons_created', 'Add-ons Created'),
- 'addons_updated' => ___('statistics_addons_updated', 'Add-ons Updated'),
- 'users_created' => ___('statistics_users_created', 'Users Created'),
- 'reviews_created' => ___('statistics_reviews_created', 'Reviews Created'),
- 'collections_created' => ___('statistics_collections_created', 'Collections Created'),
- 'statistics_js_groupby_selector_date' => ___('statistics_js_groupby_selector_date', 'Group by: Day'),
- 'statistics_js_groupby_selector_week' => ___('statistics_js_groupby_selector_week', 'Group by: Week'),
- 'statistics_js_groupby_selector_month' => ___('statistics_js_groupby_selector_month', 'Group by: Month'),
- 'statistics_js_last_30days' => ___('statistics_js_last_30days', 'Show last: 30 days'),
- 'statistics_js_last_60days' => ___('statistics_js_last_60days', 'Show last: 60 days'),
- 'statistics_js_last_90days' => ___('statistics_js_last_90days', 'Show last: 90 days'),
- 'statistics_js_last_18weeks' => ___('statistics_js_last_18weeks', 'Show last: 18 weeks'),
- 'statistics_js_last_36weeks' => ___('statistics_js_last_36weeks', 'Show last: 36 weeks'),
- 'statistics_js_last_54weeks' => ___('statistics_js_last_54weeks', 'Show last: 54 weeks'),
- 'statistics_js_last_12months' => ___('statistics_js_last_12months', 'Show last: 12 months'),
- 'statistics_js_last_24months' => ___('statistics_js_last_24months', 'Show last: 24 months'),
- 'statistics_js_last_36months' => ___('statistics_js_last_36months', 'Show last: 36 months'),
- 'date' => _('date'),
+ 'addons_downloaded' => ___('Add-ons Downloaded'),
+ 'addons_in_use' => ___('Add-ons In Use'),
+ 'addons_created' => ___('Add-ons Created'),
+ 'addons_updated' => ___('Add-ons Updated'),
+ 'users_created' => ___('Users Created'),
+ 'reviews_created' => ___('Reviews Created'),
+ 'collections_created' => ___('Collections Created'),
+ 'statistics_js_groupby_selector_date' => ___('Group by: Day'),
+ 'statistics_js_groupby_selector_week' => ___('Group by: Week'),
+ 'statistics_js_groupby_selector_month' => ___('Group by: Month'),
+ 'statistics_js_last_30days' => ___('Show last: 30 days'),
+ 'statistics_js_last_60days' => ___('Show last: 60 days'),
+ 'statistics_js_last_90days' => ___('Show last: 90 days'),
+ 'statistics_js_last_18weeks' => ___('Show last: 18 weeks'),
+ 'statistics_js_last_36weeks' => ___('Show last: 36 weeks'),
+ 'statistics_js_last_54weeks' => ___('Show last: 54 weeks'),
+ 'statistics_js_last_12months' => ___('Show last: 12 months'),
+ 'statistics_js_last_24months' => ___('Show last: 24 months'),
+ 'statistics_js_last_36months' => ___('Show last: 36 months'),
+ 'date' => ___('%B %e, %Y'),
));
// Get initial chart data (daily) - but check cache first
@@ -187,7 +187,7 @@ class StatisticsController extends AppController
$this->Addon->id = $addon_id;
$this->Addon->unbindFully();
if (!$addon = $this->Addon->read()) {
- $this->flash(_('error_addon_notfound'), '/statistics/index');
+ $this->flash(___('Add-on not found!'), '/statistics/index');
return;
}
@@ -199,7 +199,7 @@ class StatisticsController extends AppController
// Make sure user has permission to view this add-on's stats
if (!$this->_checkAccess($addon_id, $addon) &&
!($rss && !empty($this->namedArgs['key']) && md5($addon['Addon']['created']) == $this->namedArgs['key'])) {
- $this->flash(_('devcp_error_addon_access_denied'), '/developers/index');
+ $this->flash(___('You do not have access to that add-on.'), '/developers/index');
return;
}
@@ -236,7 +236,7 @@ class StatisticsController extends AppController
$this->publish('addon', $addon);
$this->publish('addon_name', $addon['Translation']['name']['string']);
- $this->breadcrumbs[sprintf(_('statistics_title_addon_stats'), $addon['Translation']['name']['string'])] = '/statistics/addon/'.$addon_id;
+ $this->breadcrumbs[sprintf(___('%1$s Statistics'), $addon['Translation']['name']['string'])] = '/statistics/addon/'.$addon_id;
$this->publish('breadcrumbs', $this->breadcrumbs);
$prescriptJS = "var Simile_urlPrefix = '".SITE_URL.$this->base.'/js/simile'."';";
@@ -290,50 +290,50 @@ class StatisticsController extends AppController
}
}
$this->set('stats', $stats);
- $this->pageTitle = $addon['Translation']['name']['string'].' :: '._('statistics_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = $addon['Translation']['name']['string'].' :: '.___('Statistics Dashboard').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
if (!$rss) {
$this->publish('jsLocalization', array(
- 'date' => _('date'),
- 'statistics_js_dropdowns_removeplot' => _('statistics_js_dropdowns_removeplot'),
- 'statistics_js_dropdowns_none' => _('statistics_js_dropdowns_none'),
- 'statistics_js_download_csv' => ___('statistics_js_download_csv', 'View this table in CSV format'),
- 'statistics_js_groupby_selector_date' => ___('statistics_js_groupby_selector_date', 'Group by: Day'),
- 'statistics_js_groupby_selector_week' => ___('statistics_js_groupby_selector_week', 'Group by: Week'),
- 'statistics_js_groupby_selector_week_over_week' => ___('statistics_js_groupby_selector_week_over_week', 'Compare by: Week'),
- 'statistics_js_groupby_selector_month' => ___('statistics_js_groupby_selector_month', 'Group by: Month'),
- 'statistics_js_plotselection_selector_summary' => _('statistics_js_plotselection_selector_summary'),
- 'statistics_js_plotselection_selector_downloads' => _('statistics_js_plotselection_selector_downloads'),
- 'statistics_js_plotselection_selector_adu' => _('statistics_js_plotselection_selector_adu'),
- 'statistics_js_plotselection_selector_version' => _('statistics_js_plotselection_selector_version'),
- 'statistics_js_plotselection_selector_application' => _('statistics_js_plotselection_selector_application'),
- 'statistics_js_plotselection_selector_status' => _('statistics_js_plotselection_selector_status'),
- 'statistics_js_plotselection_selector_os' => _('statistics_js_plotselection_selector_os'),
- 'statistics_js_plotselection_selector_custom' => _('statistics_js_plotselection_selector_custom'),
- 'statistics_js_plotselection_foundinrange' => _('statistics_js_plotselection_foundinrange'),
- 'statistics_js_plotselection_options_count_name_checked' => _('statistics_js_plotselection_options_count_name_checked'),
- 'statistics_js_plotselection_options_count_name_unchecked' => _('statistics_js_plotselection_options_count_name_unchecked'),
- 'statistics_js_plotselection_options_count_tooltip' => _('statistics_js_plotselection_options_count_tooltip'),
- 'statistics_js_plotselection_options_events_firefox_name_checked' => _('statistics_js_plotselection_options_events_firefox_name_checked'),
- 'statistics_js_plotselection_options_events_firefox_name_unchecked' => _('statistics_js_plotselection_options_events_firefox_name_unchecked'),
- 'statistics_js_plotselection_options_events_firefox_tooltip' => _('statistics_js_plotselection_options_events_firefox_tooltip'),
- 'statistics_js_plotselection_options_events_addon_name_checked' => _('statistics_js_plotselection_options_events_addon_name_checked'),
- 'statistics_js_plotselection_options_events_addon_name_unchecked' => _('statistics_js_plotselection_options_events_addon_name_unchecked'),
- 'statistics_js_plotselection_options_events_addon_tooltip' => _('statistics_js_plotselection_options_events_addon_tooltip'),
- 'statistics_js_plotselection_options_addplot_name' => _('statistics_js_plotselection_options_addplot_name'),
- 'statistics_js_plotselection_options_addplot_tooltip' => _('statistics_js_plotselection_options_addplot_tooltip'),
- 'statistics_js_plotselection_options_resize_name_checked' => _('statistics_js_plotselection_options_resize_name_checked'),
- 'statistics_js_plotselection_options_resize_name_unchecked' => _('statistics_js_plotselection_options_resize_name_unchecked'),
- 'statistics_js_plotselection_options_resize_tooltip' => _('statistics_js_plotselection_options_resize_tooltip'),
- 'statistics_js_plotselection_options_csv_name' => _('statistics_js_plotselection_options_csv_name'),
- 'statistics_js_plotselection_options_csv_tooltip' => _('statistics_js_plotselection_options_csv_tooltip')
+ 'date' => ___('%B %e, %Y'),
+ 'statistics_js_dropdowns_removeplot' => ___('Remove this plot'),
+ 'statistics_js_dropdowns_none' => ___('none'),
+ 'statistics_js_download_csv' => ___('View this table in CSV format'),
+ 'statistics_js_groupby_selector_date' => ___('Group by: Day'),
+ 'statistics_js_groupby_selector_week' => ___('Group by: Week'),
+ 'statistics_js_groupby_selector_week_over_week' => ___('Compare by: Week'),
+ 'statistics_js_groupby_selector_month' => ___('Group by: Month'),
+ 'statistics_js_plotselection_selector_summary' => ___('Summary'),
+ 'statistics_js_plotselection_selector_downloads' => ___('Downloads'),
+ 'statistics_js_plotselection_selector_adu' => ___('Active Daily Users'),
+ 'statistics_js_plotselection_selector_version' => ___('Add-on Version'),
+ 'statistics_js_plotselection_selector_application' => ___('Application'),
+ 'statistics_js_plotselection_selector_status' => ___('Add-on Status'),
+ 'statistics_js_plotselection_selector_os' => ___('Operating System'),
+ 'statistics_js_plotselection_selector_custom' => ___('Custom'),
+ 'statistics_js_plotselection_foundinrange' => ___('%s found in range'),
+ 'statistics_js_plotselection_options_count_name_checked' => ___('Hide Total Count'),
+ 'statistics_js_plotselection_options_count_name_unchecked' => ___('Show Total Count'),
+ 'statistics_js_plotselection_options_count_tooltip' => ___('Plot the total count on this graph'),
+ 'statistics_js_plotselection_options_events_firefox_name_checked' => ___('Hide Firefox Events'),
+ 'statistics_js_plotselection_options_events_firefox_name_unchecked' => ___('Show Firefox Events'),
+ 'statistics_js_plotselection_options_events_firefox_tooltip' => ___('Overlay Firefox release dates on the plots'),
+ 'statistics_js_plotselection_options_events_addon_name_checked' => ___('Hide %s Events'),
+ 'statistics_js_plotselection_options_events_addon_name_unchecked' => ___('Show %s Events'),
+ 'statistics_js_plotselection_options_events_addon_tooltip' => ___('Overlay add-on release dates on the plots'),
+ 'statistics_js_plotselection_options_addplot_name' => ___('Add Plot'),
+ 'statistics_js_plotselection_options_addplot_tooltip' => ___('Add another plot to this graph'),
+ 'statistics_js_plotselection_options_resize_name_checked' => ___('Collapse Graph'),
+ 'statistics_js_plotselection_options_resize_name_unchecked' => ___('Expand Graph'),
+ 'statistics_js_plotselection_options_resize_tooltip' => ___('Resize the graph'),
+ 'statistics_js_plotselection_options_csv_name' => ___('View Data (CSV)'),
+ 'statistics_js_plotselection_options_csv_tooltip' => ___('Get a Comma Separated Values file of this data')
));
$this->render('addon', 'amo2009');
}
else {
- $this->publish('rss_title', sprintf(_('statistics_title_addon_stats'), $addon['Translation']['name']['string']));
- $this->publish('rss_description', sprintf(_('statistics_rss_description'), $addon['Translation']['name']['string']));
+ $this->publish('rss_title', sprintf(___('%1$s Statistics'), $addon['Translation']['name']['string']));
+ $this->publish('rss_description', sprintf(___('Daily summary of statistics for %1$s'), $addon['Translation']['name']['string']));
$this->render('rss/summary', 'rss');
}
}
@@ -344,7 +344,7 @@ class StatisticsController extends AppController
function sitecsv($plot=null) {
if (!in_array($plot, array('date', 'week', 'month'))) {
header('HTTP/1.1 404 Not Found');
- $this->flash(___('statistics_csv_not_found', 'CSV data not found'), "/statistics/");
+ $this->flash(___('CSV data not found'), "/statistics/");
return;
}
@@ -429,7 +429,7 @@ class StatisticsController extends AppController
// Make sure user is owner in order to change this setting
if (!$this->Amo->checkOwnership($addon_id, null, true)) {
- $this->flash(_('devcp_error_addon_access_denied'), '/statistics/addon/'.$addon_id);
+ $this->flash(___('You do not have access to that add-on.'), '/statistics/addon/'.$addon_id);
return;
}
diff --git a/site/app/controllers/tags_controller.php b/site/app/controllers/tags_controller.php
index d1b383b..f25a7b8 100644
--- a/site/app/controllers/tags_controller.php
+++ b/site/app/controllers/tags_controller.php
@@ -135,7 +135,7 @@ class TagsController extends AppController
foreach ($split_tags as $tag_text) {
// If we're up to 80 tags, then break
if ($num_tags > 79) {
- $this->publish('message', ___('tag_message_tag_limit_reached', 'Tag limit reached'));
+ $this->publish('message', ___('Tag limit reached'));
break;
}
@@ -191,7 +191,7 @@ class TagsController extends AppController
} else {
// Add Tag to Addon
$this->Addon->addTag($addon_id, $tag_id, $user['id']);
- $this->publish('message', ___('tag_message_tag_added', 'Tag added'));
+ $this->publish('message', ___('Tag added'));
}
$num_tags++;
} // foreach $tag
@@ -268,7 +268,7 @@ class TagsController extends AppController
$this->publish('addon_id', $addon_data['Addon']['id']);
$this->publish('userTags', $tags['userTags']);
$this->publish('developerTags', $tags['developerTags']);
- $this->publish('message', ___('tag_message_tag_removed', 'Tag removed'));
+ $this->publish('message', ___('Tag removed'));
if (@$_POST['ajax']==1) {
$this->render('tag_added', 'ajax');
@@ -369,7 +369,7 @@ class TagsController extends AppController
$results = array();
}
$this->publish('bigHeader', true);
- $this->publish('bigHeaderText', sprintf(_('addons_home_header_details'), APP_PRETTYNAME));
+ $this->publish('bigHeaderText', sprintf(___('Add-ons extend %1$s, letting you personalize your browsing experience. Take a look around and make %1$s your own.'), APP_PRETTYNAME));
/* pull in platforms for install button */
$this->Platform->unbindFully();
@@ -378,7 +378,7 @@ class TagsController extends AppController
$this->publish('results', $results);
- $this->pageTitle = sprintf(_('addons_display_pagetitle'), $tag['Tag']['tag_text']). ' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = sprintf(___('%s'), $tag['Tag']['tag_text']). ' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->render();
return;
diff --git a/site/app/controllers/users_controller.php b/site/app/controllers/users_controller.php
index 86510f6..0467d57 100644
--- a/site/app/controllers/users_controller.php
+++ b/site/app/controllers/users_controller.php
@@ -93,10 +93,10 @@ class UsersController extends AppController
$this->disableCache();
- $this->pageTitle = _('users_register_pagetitle'). ' :: '. sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('New User Registration'). ' :: '. sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
// $this->publish('cssAdd', array('forms'));
- $this->publish('breadcrumbs', array(_('users_register_pagetitle') => '/users/register'));
- $this->publish('subpagetitle', _('user_form_registration'));
+ $this->publish('breadcrumbs', array(___('New User Registration') => '/users/register'));
+ $this->publish('subpagetitle', ___('New User Registration'));
if (empty($this->data)) {
$this->render();
return;
@@ -163,7 +163,7 @@ class UsersController extends AppController
// don't allow sending an email to already confirmed users.
if (empty($data['User']['confirmationcode'])) {
- $this->flash(_('error_user_already_confirmed'), '/', 3);
+ $this->flash(___('This user account is already confirmed.'), '/', 3);
return false;
}
@@ -171,7 +171,7 @@ class UsersController extends AppController
$this->publish('data', $data);
$this->Email->template = 'email/confirm';
$this->Email->to = $data['User']['email'];
- $this->Email->subject = sprintf(_('user_email_confirm_subject'), APP_PRETTYNAME);
+ $this->Email->subject = sprintf(___('Thanks for joining %s Add-ons'), APP_PRETTYNAME);
$result = $this->Email->send();
return true;
}
@@ -188,31 +188,31 @@ class UsersController extends AppController
$this->Amo->clean($code);
if (!$id || !$code) {
- $this->flash(sprintf(_('error_missing_argument'), 'user_id or code'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'user_id or code'), '/', 3);
return;
}
$thisuser = $this->User->findById($id);
if (empty($thisuser)) {
- $this->flash(_('error_user_notfound'), '/', 3);
+ $this->flash(___('User not found!'), '/', 3);
return;
}
if ($code == 'resend') { // resend the confirmation code to the user's email address
if (true === $this->_sendConfirmationCode($id))
- $this->flash(_('user_confirmationcode_resent'), '/', 3);
+ $this->flash(___('The confirmation code was resent!'), '/', 3);
return;
}
if ($code !== $thisuser['User']['confirmationcode']) {
- $this->flash(_('error_user_badconfirmationcode'), '/', 3);
+ $this->flash(___('Invalid confirmation code!'), '/', 3);
return;
}
// remove confirmation code from DB
$this->User->id = $id;
$this->User->saveField('confirmationcode', '');
- $this->flash(_('user_verified_okay'), '/users/login?to='.urlencode('/'), 3);
+ $this->flash(___('Successfully verified!'), '/users/login?to='.urlencode('/'), 3);
}
@@ -226,10 +226,10 @@ class UsersController extends AppController
$this->Amo->clean($id);
$this->Amo->clean($code);
- $this->pageTitle = _('users_pwreset_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('User Password Reset').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('cssAdd', array('forms'));
- $this->publish('breadcrumbs', array(_('users_pwreset_pagetitle') => '/users/pwreset'));
- $this->publish('subpagetitle', _('user_pwreset_header'));
+ $this->publish('breadcrumbs', array(___('User Password Reset') => '/users/pwreset'));
+ $this->publish('subpagetitle', ___('Password Reset'));
if (!$id && !$code) {
if (!isset($this->data['User']['email'])) {
$this->render(); // display 'enter email' form
@@ -248,10 +248,10 @@ class UsersController extends AppController
$this->publish('resetcode', $resetCode);
$this->Email->template = 'email/pwreset';
$this->Email->to = $this->data['User']['email'];
- $this->Email->subject = sprintf(_('user_email_pwreset_subject'), APP_PRETTYNAME);
+ $this->Email->subject = sprintf(___('Reset your %s Add-ons password'), APP_PRETTYNAME);
$result = $this->Email->send();
- $this->flash(_('user_pwreset_link_sent'), '/', 3);
+ $this->flash(___('The password reset link was sent to your email address.'), '/', 3);
}
}
return;
@@ -267,19 +267,19 @@ class UsersController extends AppController
}
if (!$id || !$code) {
- $this->flash(sprintf(_('error_missing_argument'), 'user_id or code'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'user_id or code'), '/', 3);
return;
}
$thisuser = $this->User->findById($id);
if (empty($thisuser)) {
- $this->flash(_('error_user_notfound'), '/', 3);
+ $this->flash(___('User not found!'), '/', 3);
return;
}
if (!$this->User->checkResetCode($id, $code)) {
// TODO: update message re: expiration
- $this->flash(_('error_user_badconfirmationcode'), '/', 3);
+ $this->flash(___('Invalid confirmation code!'), '/', 3);
return;
}
@@ -307,7 +307,7 @@ class UsersController extends AppController
$this->User->id = $id;
$this->User->save($newpw);
// success
- $this->flash(_('user_pwreset_okay'), '/users/login', 3);
+ $this->flash(___('Password successfully reset.'), '/users/login', 3);
}
}
@@ -333,9 +333,9 @@ class UsersController extends AppController
return;
}
- $this->pageTitle = _('users_login_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('User Login').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('cssAdd', array('forms'));
- $this->publish('subpagetitle', _('user_form_login'));
+ $this->publish('subpagetitle', ___('User Login'));
$this->publish('loginerror', false);
// by default, just give them a login screen
@@ -419,7 +419,7 @@ class UsersController extends AppController
$this->publish('user_id', $_current_user['User']['id']);
- $this->pageTitle = _('users_edit_pagetitle').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('User Account Editing').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('cssAdd', array('forms', 'jquery-ui/flora/flora.tabs'));
$this->publish('jsAdd', array('jquery-ui/ui.core.min', 'jquery-ui/ui.tabs.min'));
@@ -606,7 +606,7 @@ class UsersController extends AppController
// send out the confirmation email
$this->Email->template = 'email/emailchange';
$this->Email->to = $newemail;
- $this->Email->subject = sprintf(___('user_emailchange_subject'), APP_PRETTYNAME);
+ $this->Email->subject = sprintf(___('Please confirm your email address change at %1$s Add-ons'), APP_PRETTYNAME);
$result = $this->Email->send();
}
@@ -615,10 +615,10 @@ class UsersController extends AppController
$_new_session_user = $newprofile['User'];
$_new_session_user['picture_data'] = $_new_session_user['picture_type'] = '';
$this->Session->write('User', $_new_session_user);
- $this->publish('confirmation_message', _('user_profile_saved'));
+ $this->publish('confirmation_message', ___('Profile updated.'));
} else {
// this should never happen, but anyway...
- $this->publish('confirmation_message', _('user_profile_edit_error'));
+ $this->publish('confirmation_message', ___('There were errors in the changes you made. Please correct them and resubmit.'));
}
$this->data['User'] = $newprofile['User'];
@@ -638,7 +638,7 @@ class UsersController extends AppController
function emailchange($id = '') {
$this->Amo->clean($id);
if (!(int)$id || !$this->params['url']['code']) {
- $this->flash(sprintf(_('error_missing_argument'), 'user_id or code'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'user_id or code'), '/', 3);
return;
}
$code = $this->params['url']['code'];
@@ -648,7 +648,7 @@ class UsersController extends AppController
// characters, or anything bigger but mod 4 = 0 as base64 generates
// multiples of four chars.
if (strlen($code) < 64 || strlen($code)%4 != 0) {
- $this->publish('errormsg', _('error_user_badconfirmationcode'));
+ $this->publish('errormsg', ___('Invalid confirmation code!'));
$this->render();
return;
}
@@ -660,13 +660,13 @@ class UsersController extends AppController
// decode and hash-check the token
$token = base64_decode($token);
if (!$token || md5($token.$this->_getSecret()) != $hash) {
- $this->publish('errormsg', _('error_user_badconfirmationcode'));
+ $this->publish('errormsg', ___('Invalid confirmation code!'));
$this->render();
return;
}
$changedata = explode(',', $token);
if (!$changedata || count($changedata) != 3) {
- $this->publish('errormsg', _('error_user_badconfirmationcode'));
+ $this->publish('errormsg', ___('Invalid confirmation code!'));
$this->render();
return;
}
@@ -675,28 +675,28 @@ class UsersController extends AppController
// is the token expired (48 hours max)?
if (time()-$changedata[2] > 48*60*60) {
- $this->publish('errormsg', ___('error_user_emailchange_expired'));
+ $this->publish('errormsg', ___('The email change has expired. Please change your email address again in your user profile and click the link in the confirmation email as soon as you receive it.'));
$this->render();
return;
}
$thisuser = $this->User->findById($id);
if (empty($thisuser)) {
- $this->publish('errormsg', _('error_user_notfound'));
+ $this->publish('errormsg', ___('User not found!'));
$this->render();
return;
}
// does old email still match?
if ($thisuser['User']['email'] != $changedata[0]) {
- $this->publish('errormsg', _('error_user_badconfirmationcode'));
+ $this->publish('errormsg', ___('Invalid confirmation code!'));
$this->render();
return;
}
// is new email address still unique?
if ($this->User->findCount(array('User.email' => $changedata[1])) > 0) {
- $this->publish('errormsg', _('error_user_email_notunique'));
+ $this->publish('errormsg', ___('This email address is already taken by another user.'));
$this->render();
return;
}
@@ -706,7 +706,7 @@ class UsersController extends AppController
'id' => $id,
'email' => $changedata[1]
)))) {
- $this->publish('errormsg', _('error_user_badconfirmationcode'));
+ $this->publish('errormsg', ___('Invalid confirmation code!'));
}
// fetch new user profile
if ($this->Session->check('User')) {
@@ -736,12 +736,12 @@ class UsersController extends AppController
$this->Amo->clean($userid);
if (!is_numeric($userid)) {
- $this->flash(sprintf(_('error_missing_argument'), 'user_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'user_id'), '/', 3);
return;
}
$user = $this->User->getUser($userid, array('addons', 'reviews'), $addon_associations);
if (empty($user)) {
- $this->flash(_('error_user_notfound'), '/', 3);
+ $this->flash(___('User not found!'), '/', 3);
return;
}
@@ -784,11 +784,11 @@ class UsersController extends AppController
$this->publish('user', $user);
- $_title = sprintf(_('users_info_pagetitle'), $user['User']['display_name']);
- $this->pageTitle = $_title.' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $_title = sprintf(___('User Info for %1$s'), $user['User']['display_name']);
+ $this->pageTitle = $_title.' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('breadcrumbs', array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
));
return $this->render();
@@ -801,7 +801,7 @@ class UsersController extends AppController
function delete() {
$this->Amo->checkLoggedIn();
- $this->pageTitle = ___('users_delete_pagetitle', 'Delete User Account').' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->pageTitle = ___('Delete User Account').' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->publish('cssAdd', array('forms'));
$deluser = $this->Session->read('User');
@@ -906,12 +906,12 @@ class UsersController extends AppController
*/
function picture($id) {
if (!is_numeric($id)) {
- $this->flash(sprintf(_('error_missing_argument'), 'user_id'), '/', 3);
+ $this->flash(sprintf(___('Missing argument: %s'), 'user_id'), '/', 3);
return;
}
$user = $this->User->getUser($id);
if (empty($user)) {
- $this->flash(_('error_user_notfound'), '/', 3);
+ $this->flash(___('User not found!'), '/', 3);
return;
}
diff --git a/site/app/controllers/versions_controller.php b/site/app/controllers/versions_controller.php
index 9e7cbdc..eadd4be 100644
--- a/site/app/controllers/versions_controller.php
+++ b/site/app/controllers/versions_controller.php
@@ -58,9 +58,9 @@ class VersionsController extends AppController
// set up view, then render
$this->layout = 'amo2009';
- $this->pageTitle = sprintf(___('versions_license_header_source'),
+ $this->pageTitle = sprintf(___('Source code license for %1$s %2$s'),
$addon['Translation']['name']['string'], $version['Version']['version'])
- .' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ .' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
}
/**
diff --git a/site/app/locale/en_US/LC_MESSAGES/messages.po b/site/app/locale/en_US/LC_MESSAGES/messages.po
index 6f721bb..6107122 100644
--- a/site/app/locale/en_US/LC_MESSAGES/messages.po
+++ b/site/app/locale/en_US/LC_MESSAGES/messages.po
@@ -1804,12 +1804,12 @@ msgstr "Remove from Favorites"
msgid ""
"<p>You can view your new collection below. If you'd like to set a collection "
"nickname, upload an icon, or change additional settings, please visit the <a "
-"href='%1$s'>Manage Collections</a> page.</p><p>Your collection can be "
+"href=\"%1$s\">Manage Collections</a> page.</p><p>Your collection can be "
"accessed at this location: %2$s</p>"
msgstr ""
"<p>You can view your new collection below. If you'd like to set a collection "
"nickname, upload an icon, or change additional settings, please visit the <a "
-"href='%1$s'>Manage Collections</a> page.</p><p>Your collection can be "
+"href=\"%1$s\">Manage Collections</a> page.</p><p>Your collection can be "
"accessed at this location: %2$s</p>"
#: views/collections/detail.thtml:61
diff --git a/site/app/models/addontype.php b/site/app/models/addontype.php
index af50036..1909573 100644
--- a/site/app/models/addontype.php
+++ b/site/app/models/addontype.php
@@ -72,19 +72,19 @@ class Addontype extends AppModel
function getName($id) {
switch($id) {
case ADDON_EXTENSION:
- return ___('general_addontype_extension');
+ return ___('Extension');
case ADDON_THEME:
- return ___('general_addontype_theme');
+ return ___('Theme');
case ADDON_DICT:
- return ___('general_addontype_dict');
+ return ___('Dictionary');
case ADDON_SEARCH:
- return ___('general_addontype_search');
+ return ___('Search Engine');
case ADDON_LPAPP:
- return ___('general_addontype_lpapp');
+ return ___('Language Pack (Application)');
case ADDON_LPADDON:
- return ___('general_addontype_lpaddon');
+ return ___('Language Pack (Add-on)');
case ADDON_PLUGIN:
- return ___('general_addontype_plugin');
+ return ___('Plugin');
}
}
@@ -95,13 +95,13 @@ class Addontype extends AppModel
*/
function getNames() {
$addontypes = array(
- ADDON_EXTENSION => ___('general_addontype_extension_plural'),
- ADDON_THEME => ___('general_addontype_theme_plural'),
- ADDON_DICT => ___('general_addontype_dict_plural'),
- ADDON_SEARCH => ___('general_addontype_search_plural'),
- ADDON_LPAPP => ___('general_addontype_lpapp_plural'),
- ADDON_LPADDON => ___('general_addontype_lpaddon_plural'),
- ADDON_PLUGIN => ___('general_addontype_plugin_plural')
+ ADDON_EXTENSION => ___('Extensions'),
+ ADDON_THEME => ___('Themes'),
+ ADDON_DICT => ___('Dictionaries'),
+ ADDON_SEARCH => ___('Search Engines'),
+ ADDON_LPAPP => ___('Language Packs (Application)'),
+ ADDON_LPADDON => ___('Language Packs (Add-on)'),
+ ADDON_PLUGIN => ___('Plugins')
);
return $addontypes;
diff --git a/site/app/models/collection.php b/site/app/models/collection.php
index a177218..283f48d 100644
--- a/site/app/models/collection.php
+++ b/site/app/models/collection.php
@@ -119,7 +119,7 @@ class Collection extends AppModel
* validate name field
*/
function clean_name($input) {
- $msg = sprintf(___('collection_name_limit'), Collection::MAX_NAME_LENGTH);
+ $msg = sprintf(___('The name should be less than %1$s characters.'), Collection::MAX_NAME_LENGTH);
$this->maxLength('name', $input, Collection::MAX_NAME_LENGTH, $msg);
}
@@ -127,7 +127,7 @@ class Collection extends AppModel
* validate description field
*/
function clean_description($input) {
- $msg = sprintf(___('collection_description_limit'), Collection::MAX_DESC_LENGTH);
+ $msg = sprintf(___('The description should be less than %1$s characters.'), Collection::MAX_DESC_LENGTH);
$this->maxLength('description', $input, Collection::MAX_DESC_LENGTH, $msg);
}
diff --git a/site/app/models/license.php b/site/app/models/license.php
index eff7014..7518d10 100644
--- a/site/app/models/license.php
+++ b/site/app/models/license.php
@@ -63,7 +63,7 @@ class License extends AppModel {
$this->unbindFully();
$license = $this->findById($license_id);
if ($license['License']['name'] == -1) {
- return ___('license_custom');
+ return ___('Custom License');
} else {
$licenses = $this->getNamesAndUrls();
diff --git a/site/app/models/reviews_moderation_flag.php b/site/app/models/reviews_moderation_flag.php
index e740784..2ed4266 100644
--- a/site/app/models/reviews_moderation_flag.php
+++ b/site/app/models/reviews_moderation_flag.php
@@ -62,11 +62,11 @@ class ReviewsModerationFlag extends AppModel
// class definition.
$this->reasons = array(
'review_flag_reason_spam' =>
- ___('review_flag_reason_spam', 'Spam or otherwise non-review content'),
+ ___('Spam or otherwise non-review content'),
'review_flag_reason_language' =>
- ___('review_flag_reason_language', 'Inappropriate language/dialog'),
+ ___('Inappropriate language/dialog'),
'review_flag_reason_bug_support' =>
- ___('review_flag_reason_bug_support', 'Misplaced bug report or support request'),
+ ___('Misplaced bug report or support request'),
'review_flag_reason_other' =>
___('review_flag_reason_other', 'Other (please specify)')
);
diff --git a/site/app/models/test_case.php b/site/app/models/test_case.php
index ad82cc9..b2b437c 100644
--- a/site/app/models/test_case.php
+++ b/site/app/models/test_case.php
@@ -64,58 +64,58 @@ class TestCase extends AppModel
// Don't modify these arrays, as they are used
// as a translation mechanism to localize test names
$names = array(
- '11' => ___('test_case_name_all_general_verifyExtension', 'General Verification Tests'),
- '12' => ___('test_case_name_all_general_verifyInstallRDF', 'install.rdf Verification Tests'),
- '13' => ___('test_case_name_all_general_verifyFileTypes', 'File Type Verification'),
- '14' => ___('test_case_name_all_general_checkJSPollution', 'JavaScript Namespace Pollution Tests'),
- '21' => ___('test_case_name_all_security_filterUnsafeJS', 'Unsafe JavaScript Tests'),
- '22' => ___('test_case_name_all_security_filterUnsafeSettings', 'Unsafe Settings Tests'),
- '23' => ___('test_case_name_all_security_filterRemoteJS', 'Remote JavaScript Tests'),
- '24' => ___('test_case_name_all_security_libraryChecksum', 'Common Library Checksum Tests'),
- '31' => ___('test_case_name_all_l10n_checkCompleteness', 'L10n Completeness Check'),
- '121' => ___('test_case_name_extension_security_checkGeolocation', 'Geolocation Check'),
- '122' => ___('test_case_name_extension_security_checkConduit', 'Conduit Toolbar Check'),
- '211' => ___('test_case_name_dictionary_general_verifyFileLayout', 'File Layout Check'),
- '212' => ___('test_case_name_dictionary_general_checkExtraFiles', 'File Type Verification'),
- '213' => ___('test_case_name_dictionary_general_checkSeaMonkeyFiles', 'SeaMonkey Valid Files Check'),
- '221' => ___('test_case_name_dictionary_security_checkInstallJS', 'install.js Verification'),
- '311' => ___('test_case_name_langpack_general_verifyFileLayout', 'File Layout Check'),
- '312' => ___('test_case_name_langpack_general_checkExtraFiles', 'File Type Verification'),
- '321' => ___('test_case_name_langpack_security_filterUnsafeHTML', 'Unsafe HTML Check'),
- '322' => ___('test_case_name_langpack_security_checkRemoteLoading', 'Remote Loading Check'),
- '323' => ___('test_case_name_langpack_security_checkChromeManifest', 'chrome.manifest Check'),
- '411' => ___('test_case_name_theme_general_verifyFileLayout', 'File Layout Check'),
- '421' => ___('test_case_name_theme_security_checkChromeManifest', 'chrome.manifest Check'),
- '511' => ___('test_case_name_search_general_checkFormat', 'Opensearch Format Check'),
- '521' => ___('test_case_name_search_security_checkUpdateURL', 'UpdateURL Check')
+ '11' => ___('General Verification Tests'),
+ '12' => ___('install.rdf Verification Tests'),
+ '13' => ___('File Type Verification'),
+ '14' => ___('JavaScript Namespace Pollution Tests'),
+ '21' => ___('Unsafe JavaScript Tests'),
+ '22' => ___('Unsafe Settings Tests'),
+ '23' => ___('Remote JavaScript Tests'),
+ '24' => ___('Common Library Checksum Tests'),
+ '31' => ___('L10n Completeness Check'),
+ '121' => ___('Geolocation Check'),
+ '122' => ___('Conduit Toolbar Check'),
+ '211' => ___('File Layout Check'),
+ '212' => ___('File Type Verification'),
+ '213' => ___('SeaMonkey Valid Files Check'),
+ '221' => ___('install.js Verification'),
+ '311' => ___('File Layout Check'),
+ '312' => ___('File Type Verification'),
+ '321' => ___('Unsafe HTML Check'),
+ '322' => ___('Remote Loading Check'),
+ '323' => ___('chrome.manifest Check'),
+ '411' => ___('File Layout Check'),
+ '421' => ___('chrome.manifest Check'),
+ '511' => ___('Opensearch Format Check'),
+ '521' => ___('UpdateURL Check')
);
// Might not even need this ...
$descriptions = array(
- '11' => ___('test_case_name_all_general_verifyExtension', 'General Verification Tests'),
- '12' => ___('test_case_name_all_general_verifyInstallRDF', 'install.rdf Verification Tests'),
- '13' => ___('test_case_name_all_general_verifyFileTypes', 'File Type Verification'),
- '14' => ___('test_case_name_all_general_checkJSPollution', 'JavaScript Namespace Pollution Tests'),
- '21' => ___('test_case_name_all_security_filterUnsafeJS', 'Unsafe JavaScript Tests'),
- '22' => ___('test_case_name_all_security_filterUnsafeSettings', 'Unsafe Settings Tests'),
- '23' => ___('test_case_name_all_security_filterRemoteJS', 'Remote JavaScript Tests'),
- '24' => ___('test_case_name_all_security_libraryChecksum', 'Common Library Checksum Tests'),
- '31' => ___('test_case_name_all_l10n_checkCompleteness', 'L10n Completeness Check'),
- '121' => ___('test_case_name_extension_security_checkGeolocation', 'Geolocation Check'),
- '122' => ___('test_case_name_extension_security_checkConduit', 'Conduit Toolbar Check'),
- '211' => ___('test_case_name_dictionary_general_verifyFileLayout', 'File Layout Check'),
- '212' => ___('test_case_name_dictionary_general_checkExtraFiles', 'File Type Verification'),
- '213' => ___('test_case_name_dictionary_general_checkSeaMonkeyFiles', 'SeaMonkey Valid Files Check'),
- '221' => ___('test_case_name_dictionary_security_checkInstallJS', 'install.js Verification'),
- '311' => ___('test_case_name_langpack_general_verifyFileLayout', 'File Layout Check'),
- '312' => ___('test_case_name_langpack_general_checkExtraFiles', 'File Type Verification'),
- '321' => ___('test_case_name_langpack_security_filterUnsafeHTML', 'Unsafe HTML Check'),
- '322' => ___('test_case_name_langpack_security_checkRemoteLoading', 'Remote Loading Check'),
- '323' => ___('test_case_name_langpack_security_checkChromeManifest', 'chrome.manifest Check'),
- '411' => ___('test_case_name_theme_general_verifyFileLayout', 'File Layout Check'),
- '421' => ___('test_case_name_theme_security_checkChromeManifest', 'chrome.manifest Check'),
- '511' => ___('test_case_name_search_general_checkFormat', 'Opensearch Format Check'),
- '521' => ___('test_case_name_search_security_checkUpdateURL', 'UpdateURL Check')
+ '11' => ___('General Verification Tests'),
+ '12' => ___('install.rdf Verification Tests'),
+ '13' => ___('File Type Verification'),
+ '14' => ___('JavaScript Namespace Pollution Tests'),
+ '21' => ___('Unsafe JavaScript Tests'),
+ '22' => ___('Unsafe Settings Tests'),
+ '23' => ___('Remote JavaScript Tests'),
+ '24' => ___('Common Library Checksum Tests'),
+ '31' => ___('L10n Completeness Check'),
+ '121' => ___('Geolocation Check'),
+ '122' => ___('Conduit Toolbar Check'),
+ '211' => ___('File Layout Check'),
+ '212' => ___('File Type Verification'),
+ '213' => ___('SeaMonkey Valid Files Check'),
+ '221' => ___('install.js Verification'),
+ '311' => ___('File Layout Check'),
+ '312' => ___('File Type Verification'),
+ '321' => ___('Unsafe HTML Check'),
+ '322' => ___('Remote Loading Check'),
+ '323' => ___('chrome.manifest Check'),
+ '411' => ___('File Layout Check'),
+ '421' => ___('chrome.manifest Check'),
+ '511' => ___('Opensearch Format Check'),
+ '521' => ___('UpdateURL Check')
);
diff --git a/site/app/models/test_group.php b/site/app/models/test_group.php
index 6e58b63..af21ed4 100644
--- a/site/app/models/test_group.php
+++ b/site/app/models/test_group.php
@@ -65,19 +65,19 @@ class TestGroup extends AppModel
// Don't modify these arrays, as they are used
// as a translation mechanism to localize test names
$names = array(
- '1' => ___('test_group_name_all_general', 'General'),
- '2' => ___('test_group_name_all_security', 'Security'),
- '3' => ___('test_group_name_extension_l10n', 'L10n'),
- '11' => ___('test_group_name_extension_general', 'Extension-specific'),
- '12' => ___('test_group_name_extension_security', 'Extension-specific security'),
- '21' => ___('test_group_name_dictionary_general', 'Dictionary-specific'),
- '22' => ___('test_group_name_dictionary_security', 'Dictionary-specific security'),
- '31' => ___('test_group_name_langpack_general', 'Language Pack-specific'),
- '32' => ___('test_group_name_langpack_security', 'Language Pack-specific security'),
- '41' => ___('test_group_name_theme_general', 'Theme-specific'),
- '42' => ___('test_group_name_theme_security', 'Theme-specific security'),
- '51' => ___('test_group_name_search_general', 'Search Engine-specific'),
- '52' => ___('test_group_name_search_security', 'Search Engine-specific security')
+ '1' => ___('General'),
+ '2' => ___('Security'),
+ '3' => ___('L10n'),
+ '11' => ___('Extension-specific'),
+ '12' => ___('Extension-specific security'),
+ '21' => ___('Dictionary-specific'),
+ '22' => ___('Dictionary-specific security'),
+ '31' => ___('Language Pack-specific'),
+ '32' => ___('Language Pack-specific security'),
+ '41' => ___('Theme-specific'),
+ '42' => ___('Theme-specific security'),
+ '51' => ___('Search Engine-specific'),
+ '52' => ___('Search Engine-specific security')
);
foreach ($results as $key => $result) {
diff --git a/site/app/tests/controllers/components/developers.test.php b/site/app/tests/controllers/components/developers.test.php
index 7eeede2..54a99f4 100644
--- a/site/app/tests/controllers/components/developers.test.php
+++ b/site/app/tests/controllers/components/developers.test.php
@@ -226,16 +226,16 @@ class DevelopersTest extends UnitTestCase {
*/
function testValidateIcon() {
$allowedImage = array('.png', '.jpg', '.gif');
- $fileErrors = array('1' => _('devcp_error_http_maxupload'),
- '2' => _('devcp_error_http_maxupload'),
- '3' => _('devcp_error_http_incomplete'),
- '4' => _('devcp_error_http_nofile')
+ $fileErrors = array('1' => ___('Exceeds maximum upload size'),
+ '2' => ___('Exceeds maximum upload size'),
+ '3' => ___('Incomplete transfer'),
+ '4' => ___('No file uploaded')
);
/* test vector for extension tests */
$extTestVec = array(
- 'base-image' => sprintf(_('devcp_error_icon_extension'), 'base-image', implode(', ', $allowedImage)),
- 'base-image.xpi' => sprintf(_('devcp_error_icon_extension'), '.xpi', implode(', ', $allowedImage))
+ 'base-image' => sprintf(___('That file extension (%1$s) is not allowed for an icon. Please use one of the following: %2$s'), 'base-image', implode(', ', $allowedImage)),
+ 'base-image.xpi' => sprintf(___('That file extension (%1$s) is not allowed for an icon. Please use one of the following: %2$s'), '.xpi', implode(', ', $allowedImage))
);
/* test image */
diff --git a/site/app/tests/models/collection.test.php b/site/app/tests/models/collection.test.php
index fa31ebb..d8261cb 100644
--- a/site/app/tests/models/collection.test.php
+++ b/site/app/tests/models/collection.test.php
@@ -52,9 +52,9 @@ class CollectionModelTest extends UnitTestCase {
$errors = $this->Collection->validationErrors;
$this->assertEqual($errors['name'],
- sprintf(___('collection_name_limit'), $name_limit));
+ sprintf(___('The name should be less than %1$s characters.'), $name_limit));
$this->assertEqual($errors['description'],
- sprintf(___('collection_description_limit'), $desc_limit));
+ sprintf(___('The description should be less than %1$s characters.'), $desc_limit));
}
}
?>
diff --git a/site/app/tests/test_helper_web.php b/site/app/tests/test_helper_web.php
index 81ec63f..d7c517c 100644
--- a/site/app/tests/test_helper_web.php
+++ b/site/app/tests/test_helper_web.php
@@ -80,7 +80,7 @@ class WebTestHelper extends WebTestCase {
);
$this->post($path, $data);
- $this->assertNoUnwantedText(_('error_username_or_pw_wrong'), 'Logged in with test account');
+ $this->assertNoUnwantedText(___('Wrong username or password!'), 'Logged in with test account');
}
/**
diff --git a/site/app/tests/views/addons/display.test.php b/site/app/tests/views/addons/display.test.php
index b9cf0f6..3de5677 100644
--- a/site/app/tests/views/addons/display.test.php
+++ b/site/app/tests/views/addons/display.test.php
@@ -65,10 +65,10 @@ class AddonTest extends WebTestHelper {
if ($categorykey == 0)
$related_category_query = "Category.id='${categoryvalue['id']}'";
else
- $related_category_query = $related_category_query . " OR Category.id ='${categoryvalue['id']}'";
+ $related_category_query = $related_category_query . " OR Category.id ='${categoryvalue['id']}'";
}
$this->categoryData = $categoryModel->findAll($related_category_query);
-
+
$this->getAction("/addon/" . $this->id);
global $TestController;
@@ -87,12 +87,12 @@ class AddonTest extends WebTestHelper {
function testDisplay() {
// Title
- $this->title = sprintf(_('addons_display_pagetitle'), $this->data['Translation']['name']['string']). ' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = sprintf(___('%s'), $this->data['Translation']['name']['string']). ' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
// Author
$username = $this->data['User'][0]['nickname'];
$userid = $this->data['User'][0]['id'];
- $this->actionPath = $this->actionPath("");
+ $this->actionPath = $this->actionPath("");
$this->authorPattern = "@<h4 class=\"author\">by +<a href=\"{$this->actionPath}/user/{$userid}\" class=\"profileLink\">{$username}</a> ?</h4>@";
$this->assertWantedPattern($this->authorPattern, htmlentities($this->authorPattern));
@@ -104,9 +104,9 @@ class AddonTest extends WebTestHelper {
foreach ($this->categoryData as $category) {
$this->wantedPattern = "@<li><a href=\"[^\"]+\"( )*>" . $category['Translation']['name']['string'] . "</a></li>@";
$this->assertWantedPattern($this->wantedPattern, htmlentities($this->wantedPattern));
- }
+ }
// are reviews displayed?
- $this->wantedPattern = "@"._('addons_display_header_reviews')."@";
+ $this->wantedPattern = "@".___('Reviews')."@";
$this->assertWantedPattern($this->wantedPattern, htmlentities($this->wantedPattern));
$this->wantedPattern = "@It works but not well.@";
@@ -120,14 +120,14 @@ class AddonTest extends WebTestHelper {
// Check the version detail area.
$version_link = pq('h5#version-detail a');
$version = $this->data['Version'][0]['Version']['version'];
- $this->assertEqual($version_link->text(), sprintf(_('addon_display_header_version'), $version));
+ $this->assertEqual($version_link->text(), sprintf(___('Version %s'), $version));
$link = sprintf('addons/versions/%s#version-%s', $this->id, $version);
$this->assertEqual($version_link->attr('href'), $this->controller->url($link));
$span = pq('h5#version-detail span');
$created = strtotime($this->data['Version'][0]['Version']['created']);
- $this->assertEqual($span->attr('title'), strftime(_('datetime'), $created));
- $this->assertEquiv($span->text(), '— '.strftime(_('date'), $created));
+ $this->assertEqual($span->attr('title'), strftime(___('%B %e, %Y, %I:%M %p'), $created));
+ $this->assertEquiv($span->text(), '— '.strftime(___('%B %e, %Y'), $created));
$notes = $this->data['Version'][0]['Translation']['releasenotes']['string'];
$this->assertEquiv(pq('#release-notes')->text(), $notes);
@@ -138,7 +138,7 @@ class AddonTest extends WebTestHelper {
// check if previous versions link is displayed
$link = $this->controller->url('addons/versions/'.$this->id);
- $text = ___('addons_display_see_all_versions');
+ $text = ___('View Older Versions');
$this->assertLinkLocation($link, $text);
}
diff --git a/site/app/tests/views/addons/home.test.php b/site/app/tests/views/addons/home.test.php
index 351ce0e..b92ea8e 100644
--- a/site/app/tests/views/addons/home.test.php
+++ b/site/app/tests/views/addons/home.test.php
@@ -58,7 +58,7 @@ class AddonHomeTest extends WebTestHelper {
}
function testTitle() {
- $this->title = sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
}
diff --git a/site/app/tests/views/addons/plugins.test.php b/site/app/tests/views/addons/plugins.test.php
index 67b4fcf..d3e3406 100644
--- a/site/app/tests/views/addons/plugins.test.php
+++ b/site/app/tests/views/addons/plugins.test.php
@@ -57,34 +57,34 @@ class AddonPluginsTest extends WebTestHelper {
}
function testPlugins() {
- $this->title = _('addons_plugins_pagetitle') .' :: '. sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = ___('Plugins') .' :: '. sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
- $pattern = '#<span>'.sprintf(_('addons_plugins_main_header'), APP_PRETTYNAME).'</span>#';
+ $pattern = '#<span>'.sprintf(___('Common Plugins for %1$s'), APP_PRETTYNAME).'</span>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#<p class="first">'._('addons_plugins_main_description').'</p>#';
+ $pattern = '#<p class="first">'.___('Plugins help your browser perform specific functions like viewing special graphic formats or playing multimedia files. Plugins are slightly different from extensions, which modify or add to existing functionality.').'</p>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#<p class="first">'._('addons_plugins_by').'#';
+ $pattern = '#<p class="first">'.___('By').'#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#'._('addons_plugins_for_windows').'<br>#';
+ $pattern = '#'.___('for Windows').'<br>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#'._('addons_plugins_for_linux').'<br>#';
+ $pattern = '#'.___('for Linux').'<br>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#'._('addons_plugins_for_macosx').'<br>#';
+ $pattern = '#'.___('for Mac OS X').'<br>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#'._('addons_plugins_support_documentation').'#';
+ $pattern = '#'.___('Support Documentation: ').'#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#<h2>'._('addons_plugins_looking_for_plugin').'#';
+ $pattern = '#<h2>'.___('Looking for a plugin not listed here?').'#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#<p class="first">'.sprintf(_('addons_plugins_looking_for_more'),'<a href="http://plugindoc.mozdev.org">PluginDoc</a>').'</p>#';
+ $pattern = '#<p class="first">'.sprintf(___('This page only lists some of the most common and most popular plugins. For more information about other plugins available for Mozilla-based Browsers, visit %1$s'),'<a href="http://plugindoc.mozdev.org">PluginDoc</a>').'</p>#';
$this->assertPattern($pattern, htmlentities($pattern));
}
}
diff --git a/site/app/tests/views/addons/previews.test.php b/site/app/tests/views/addons/previews.test.php
index 6fa4ace..83a2b77 100644
--- a/site/app/tests/views/addons/previews.test.php
+++ b/site/app/tests/views/addons/previews.test.php
@@ -61,7 +61,7 @@ class AddonPreviewsTest extends WebTestHelper {
$addon = $this->controller->Addon->findById($this->addonid);
// Title
- $this->title = sprintf(_('addons_previews_pagetitle'), $addon['Translation']['name']['string']) .' :: '. sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = sprintf(_('addons_previews_pagetitle'), $addon['Translation']['name']['string']) .' :: '. sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
// Header
@@ -77,7 +77,7 @@ class AddonPreviewsTest extends WebTestHelper {
$this->assertPattern($pattern, htmlentities($pattern));
// link back
- $this->assertLink(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), 'link back to addon page');
+ $this->assertLink(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), 'link back to addon page');
}
}
?>
diff --git a/site/app/tests/views/addons/searchengines.test.php b/site/app/tests/views/addons/searchengines.test.php
index 23e6cff..b655fc8 100644
--- a/site/app/tests/views/addons/searchengines.test.php
+++ b/site/app/tests/views/addons/searchengines.test.php
@@ -58,7 +58,7 @@ class AddonSearchenginesTest extends WebTestHelper {
function testSearchengines() {
// Title
- $this->title = _('addons_searchengines_pagetitle') .' :: '. sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = ___('Search Engines') .' :: '. sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
/* // addSearchEngine + correct URLs
@@ -72,7 +72,7 @@ class AddonSearchenginesTest extends WebTestHelper {
/* // two headers
$pattern = '#<span>'._('addons_searchengines_title').'</span>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#<h1>'._('addons_searchengines_additional_resources').'</h1>#';
+ $pattern = '#<h1>'.___('Additional Resources').'</h1>#';
$this->assertPattern($pattern, htmlentities($pattern));
// search engine link
diff --git a/site/app/tests/views/addons/versions.test.php b/site/app/tests/views/addons/versions.test.php
index dedff88..f299863 100644
--- a/site/app/tests/views/addons/versions.test.php
+++ b/site/app/tests/views/addons/versions.test.php
@@ -80,19 +80,19 @@ class AddonEnabledVersionsTest extends AddonVersionsTest {
$addon = $this->controller->Addon->findById($this->addonid);
// "Careful" warning
- $pattern = '#<h3>'._('addons_versions_careful').'</h3>#';
+ $pattern = '#<h3>'.___('Be Careful With Old Versions').'</h3>#';
$this->assertPattern($pattern, htmlentities($pattern));
- $pattern = '#<p>'._('addons_versions_careful_introduction').'</p>#';
+ $pattern = '#<p>'.___('These versions are displayed for reference and testing purposes. You should always use the latest version of an add-on.').'</p>#';
$this->assertPattern($pattern, htmlentities($pattern));
// Version strings for all versions
foreach ($addon['Version'] as $version) {
- $pattern = "@<h3>Version " . $version['version'] . ' <span title="' . strftime(_('datetime'), strtotime($version['created'])) . '">&mdash; ' . strftime(_('date'), strtotime($version['created'])) . "</span> &mdash; .*</h3>@";
+ $pattern = "@<h3>Version " . $version['version'] . ' <span title="' . strftime(___('%B %e, %Y, %I:%M %p'), strtotime($version['created'])) . '">&mdash; ' . strftime(___('%B %e, %Y'), strtotime($version['created'])) . "</span> &mdash; .*</h3>@";
$this->assertPattern($pattern, htmlentities($pattern));
}
// link back
- $this->assertLink(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), 'link back to addon page');
+ $this->assertLink(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), 'link back to addon page');
}
/**
@@ -119,7 +119,7 @@ class AddonDisabledVersionsTest extends AddonVersionsTest {
* Test if version page is _not_ shown for disabled add-ons
*/
function testDisabledAddonVersionsPage() {
- $this->assertText(___('error_addon_notfound'), "disabled add-on's versions page");
+ $this->assertText(___('Add-on not found!'), "disabled add-on's versions page");
}
}
?>
diff --git a/site/app/tests/views/elements/install.test.php b/site/app/tests/views/elements/install.test.php
index c4d10ff..9ea3a63 100644
--- a/site/app/tests/views/elements/install.test.php
+++ b/site/app/tests/views/elements/install.test.php
@@ -21,7 +21,7 @@
*
* Contributor(s):
* Andrei Hajdukewycz <sancus@off.net> (Original Author)
- *
+ *
*
* Alternatively, the contents of this file may be used under the terms of
* either the GNU General Public License Version 2 or later (the "GPL"), or
@@ -53,9 +53,11 @@ class InstallTest extends WebTestHelper {
}
function testDisplayInstall() {
- //get display page and test eula link
+ //get display page and test eula link
$this->getAction("/addon/" . $this->id);
- $installMessage = sprintf(_('a_install'), "", "");
+ // commented out by clouserw on 2009-08-13. I'm converting to normal .po files and I don't know what this
+ // is, but it doesn't look like $installMessage is doing anything anyway. we can revisit later.
+ //$installMessage = sprintf(_('a_install'), "", "");
if (!empty($this->data['Translation']['eula']['string'])) {
// install link
$this->wantedPattern = "@<p class=\"install-button platform-ALL\">\s*<a href=\"{$this->actionPath}/@";
@@ -66,23 +68,23 @@ class InstallTest extends WebTestHelper {
$this->wantedPattern = "@<script type=\"text/javascript\">setTimeout\(function\(\) {fixPlatformLinks\('\d+', document.getElementById\('installTrigger\d+'\).getAttribute\('addonName'\)\);addCompatibilityHints\([^)]+\);},0\);</script>@";
$this->assertWantedPattern($this->wantedPattern, htmlentities($this->wantedPattern));
}
-
+
// test remaining things on the policy page
$this->getAction("/addons/policy/0/{$this->id}/{$this->data['Version'][0]['File'][0]['id']}");
- $installMessage = _('a_eula_install');
-
+ $installMessage = ___('Accept and Install');
+
//test filenames matches with database
$this->wantedPattern = "@<a href=\"{$this->actionPath}/downloads/latest/{$this->id}/addon-{$this->id}-latest.xpi\"@";
$this->assertWantedPattern($this->wantedPattern, "install url matches: ".htmlentities($this->wantedPattern));
-
+
//test add-on name matches in install trigger
$this->wantedPattern = "@addonName=\"{$this->data['Translation']['name']['string']}\"@";
$this->assertWantedPattern($this->wantedPattern, "Add-on name matches: {$this->data['Translation']['name']['string']}");
-
+
//test add-on icon link for install trigger
$this->wantedPattern = "@addonIcon=\"{$this->actionPath}/images/addon_icon/{$this->id}/\d{10}\"@";
$this->assertWantedPattern($this->wantedPattern, htmlentities($this->wantedPattern));
-
+
//test add-on hash matches with db @TODO: Download file and verify hash
$this->wantedPattern = "@addonHash=\"{$this->data['Version'][0]['File'][0]['hash']}\"@";
$this->assertWantedPattern($this->wantedPattern, "Addon Hash Match: {$this->data['Version'][0]['File'][0]['hash']}");
diff --git a/site/app/tests/views/files/browse.test.php b/site/app/tests/views/files/browse.test.php
index b841bfd..c70edbc 100644
--- a/site/app/tests/views/files/browse.test.php
+++ b/site/app/tests/views/files/browse.test.php
@@ -37,7 +37,7 @@
*
* ***** END LICENSE BLOCK ***** */
-class DevelopersIndexTest extends WebTestHelper {
+class DevelopersBrowseTest extends WebTestHelper {
function ownAddon() {
// We need to be able to login a non-admin developer
@@ -63,15 +63,15 @@ class DevelopersIndexTest extends WebTestHelper {
$username = 'fligtar@gmail.com';
$password = 'test';
-
+
$path = $this->actionURI('/users/login');
$data = array(
'data[Login][email]' => $username,
'data[Login][password]' => $password
);
-
+
$this->post($path, $data);
- $this->assertNoUnwantedText(_('error_username_or_pw_wrong'), 'Logged in with developer account');
+ $this->assertNoUnwantedText(___('Wrong username or password!'), 'Logged in with developer account');
}
function testAdminBrowsing() {
@@ -93,7 +93,7 @@ class DevelopersIndexTest extends WebTestHelper {
// The developer should be able to see the add-on as well
$this->assertWantedPattern('/File Browser/i', 'Header detected');
$this->assertWantedPattern('/install.rdf/i', 'File names');
- }
+ }
function testGeneralBrowsing() {
// Make sure that general source viewing is not allowed
diff --git a/site/app/tests/views/reviews/add.test.php b/site/app/tests/views/reviews/add.test.php
index 86ccaba..bee858f 100644
--- a/site/app/tests/views/reviews/add.test.php
+++ b/site/app/tests/views/reviews/add.test.php
@@ -59,7 +59,7 @@ class ReviewsAddTest extends WebTestHelper {
function testReviews() {
// Title
- $this->title = sprintf(_('addon_review_pagetitle'), $this->data['Translation']['name']['string']).' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = sprintf(___('Reviews for %s'), $this->data['Translation']['name']['string']).' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
// add review form
@@ -67,7 +67,7 @@ class ReviewsAddTest extends WebTestHelper {
$this->assertWantedPattern($myPattern, htmlentities($myPattern));
// submit button
- $myPattern = '#<input type="submit" class="amo-submit" value="'._('addon_review_add_submit').'" >#';
+ $myPattern = '#<input type="submit" class="amo-submit" value="'.___('Submit your review').'" >#';
$this->assertWantedPattern($myPattern, htmlentities($myPattern));
}
diff --git a/site/app/tests/views/reviews/display.test.php b/site/app/tests/views/reviews/display.test.php
index 60f6190..b6a2c5d 100644
--- a/site/app/tests/views/reviews/display.test.php
+++ b/site/app/tests/views/reviews/display.test.php
@@ -57,7 +57,7 @@ class AddonReviewsTest extends WebTestHelper {
function testReviews() {
// Title
- $this->title = sprintf(_('addon_review_pagetitle'), $this->data['Translation']['name']['string']).' :: '.sprintf(_('addons_home_pagetitle'), APP_PRETTYNAME);
+ $this->title = sprintf(___('Reviews for %s'), $this->data['Translation']['name']['string']).' :: '.sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME);
$this->assertTitle($this->title);
// Header
diff --git a/site/app/tests/views/search/index.test.php b/site/app/tests/views/search/index.test.php
index 5197c4c..5693689 100644
--- a/site/app/tests/views/search/index.test.php
+++ b/site/app/tests/views/search/index.test.php
@@ -44,7 +44,7 @@ class SearchResultTest extends WebTestHelper {
function testBasicResults() {
$this->getAction("/search/?q=the");
- $this->assertNoUnwantedPattern("/"._('search_nothing_found')."/", "No results found.");
+ $this->assertNoUnwantedPattern("/".___('No results found.')."/", "No results found.");
$this->assertFieldById('query', 'the', "previous query pre-populated");
}
diff --git a/site/app/views/addons/browse.thtml b/site/app/views/addons/browse.thtml
index 7bb0996..4fb9ae7 100644
--- a/site/app/views/addons/browse.thtml
+++ b/site/app/views/addons/browse.thtml
@@ -57,8 +57,8 @@ $this->layout = 'amo2009';
<div class="primary full" role="main">
<h2><?=$subpagetitle?></h2>
- <h3><?=sprintf(ngettext('addon_list_category_totalcount',
- 'addon_list_category_totalcount', $paging['total']),
+ <h3><?=sprintf(n___('%1$s add-on',
+ '%1$s add-ons', $paging['total']),
$paging['total'])?></h3>
<div class="featured listing" id="addon-listing">
<?php
diff --git a/site/app/views/addons/browse_thumbs.thtml b/site/app/views/addons/browse_thumbs.thtml
index ca3d1dc..059ef3a 100644
--- a/site/app/views/addons/browse_thumbs.thtml
+++ b/site/app/views/addons/browse_thumbs.thtml
@@ -53,9 +53,9 @@ $this->layout = 'amo2009';
<div class="secondary">
<div class="highlight" id="thumb-subcategories">
- <h3><?=___('general_addontype_theme_plural', 'Themes')?></h3>
+ <h3><?=___('Themes')?></h3>
<ul class="subcategories">
- <li<?= ($this_category == FALSE) ? ' class="selected"' : '' ?>><?=$html->link(
+ <li<?= ($this_category == FALSE) ? ' class="selected"' : '' ?>><?=$html->link(
'All',
"/browse/type:{$type}/cat:all?sort={$sort_by}"
)?>
@@ -64,12 +64,12 @@ $this->layout = 'amo2009';
<?php foreach ($subcats as $subcat): ?>
<?php
$params = 'sort=' . $sort_by;
- if ($show_exp)
+ if ($show_exp)
$params .= '&exp=on';
- if ($show_limit)
+ if ($show_limit)
$params .= '&show=' . $show_limit;
?>
- <li class="sub<?= ($this_category['Category']['id'] == $subcat['Category']['id']) ? ' selected' : '' ?>"><?=$html->link(
+ <li class="sub<?= ($this_category['Category']['id'] == $subcat['Category']['id']) ? ' selected' : '' ?>"><?=$html->link(
$subcat['Translation']['name']['string'],
"/browse/type:{$subcat['Category']['addontype_id']}/cat:{$subcat['Category']['id']}?{$params}"
)?>
@@ -83,13 +83,13 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?php if ( empty($this_category)): ?>
- <h2><?=___('themes_landing_browse_themes', 'Browse Themes')?></h2>
+ <h2><?=___('Browse Themes')?></h2>
<?php else: ?>
<h2><?=$this_category['Translation']['name']['string']?></h2>
<?php endif ?>
- <h3><?=sprintf(ngettext('addon_list_category_totalcount',
- 'addon_list_category_totalcount', $paging['total']),
+ <h3><?=sprintf(n___('%1$s add-on',
+ '%1$s add-ons', $paging['total']),
$paging['total'])?></h3>
<div class="featured listing" id="addon-listing">
<?= $this->renderElement('amo2009/addons/list_options', array('paging' => $paging)) ?>
@@ -103,7 +103,7 @@ $this->layout = 'amo2009';
$prevPath = $this->controller->Image->getHighlightedPreviewURL($addon['Addon']['id']);
$iconPath = $this->controller->Image->getAddonIconURL($addon['Addon']['id']);
- $_alt = sprintf(_('img_preview_of'),$addonName);
+ $_alt = sprintf(___('Preview Image of %s'),$addonName);
$previmg = '<img src="'.$prevPath.'" alt="'.$_alt.'" title="'.$_alt.'"/>';
$previmg = $html->link($previmg, "/addon/{$addonID}");
?>
@@ -115,20 +115,20 @@ $this->layout = 'amo2009';
<p class="meta">
<?php if ($sort_by == 'updated'): ?>
<?php
- $_update_string = (_('addon_detail_last_updated') == 'addon_detail_last_updated') ? 'Updated %s' : _('addon_detail_last_updated');
+ $_update_string = (___('Updated %s') == 'addon_detail_last_updated') ? 'Updated %s' : ___('Updated %s');
$_version_date = (isset($addon['Addon']['datestatuschanged']) ? $addon['Addon']['datestatuschanged'] : $addon['Version'][0]['created']);
- echo sprintf($_update_string, strftime(_('date'), strtotime($_version_date)));
+ echo sprintf($_update_string, strftime(___('%B %e, %Y'), strtotime($_version_date)));
?>
<?php elseif ($sort_by == 'popular'): ?>
<em><?=$html->number_format($addon['Addon']['weeklydownloads'], 0)?></em>
- <?php
- echo ___('addon_downloads_weekly', _('addon_downloads'));
+ <?php
+ echo ___('weekly downloads');
?>
<?php else: ?>
<?=$this->renderElement('stars',array('rating' => $addon['Addon']['averagerating']))?>
- <?php if ($addon['Addon']['totalreviews'] > 0): ?>
+ <?php if ($addon['Addon']['totalreviews'] > 0): ?>
<a href="<?= $html->url('/addon/'.$addon['Addon']['id'].'#reviews') ?>"><?=
- sprintf(ngettext('feature_reviews','feature_reviews',
+ sprintf(n___('%1$s review','%1$s reviews',
$addon['Addon']['totalreviews']), $addon['Addon']['totalreviews'])
?></a>
<?php endif ?>
diff --git a/site/app/views/addons/category_landing.thtml b/site/app/views/addons/category_landing.thtml
index 3d54b50..10b8956 100644
--- a/site/app/views/addons/category_landing.thtml
+++ b/site/app/views/addons/category_landing.thtml
@@ -63,7 +63,7 @@ $summaryLimit = 70;
<li class="addon_block_wrapper">
<div class="addon_block item">
<h4 class="name"><a href="<?=$html->url("/addon/{$addon['Addon']['id']}")?>"><?php echo $html->truncateChars(28, $addon['Translation']['name']['string'], true) ?></a></h4>
- <p class="authors"><?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addon['User'], 2,"/addon/{$addon['Addon']['id']}#authors" );?></p>
+ <p class="authors"><?=___('by')?> <?=$html->linkUsersFromModel($addon['User'], 2,"/addon/{$addon['Addon']['id']}#authors" );?></p>
<p class="summary"><?php echo $html->truncateChars($summaryLimit, $addon['Translation']['summary']['string'], true) ?></p>
<div class="preview"><a href="<?=$html->url("/addon/{$addon['Addon']['id']}")?>"><img src="<?php echo $this->controller->Image->getHighlightedPreviewURL($addon['Addon']['id']);?>" alt="" /></a></div>
<p class="rating"><?=$this->renderElement('amo2009/stars',array('rating' => $addon['Addon']['averagerating']))?></p>
@@ -84,7 +84,7 @@ $summaryLimit = 70;
// prepare preview image
if (isset($addonPreviewPath) && !empty($addonPreviewPath)) {
- $_alt = sprintf(_('img_preview_of'),$addonName);
+ $_alt = sprintf(___('Preview Image of %s'),$addonName);
$previmg = '<img src="'.$addonPreviewPath.'" '
.'alt="'.$_alt.'" title="'.$_alt.'"/>';
$previmg = '<p class="preview-img">'
@@ -132,7 +132,7 @@ $summaryLimit = 70;
</div>
<div id="new_addons" class="addons_column clearfix">
- <h3><span><?= ___('addons_recently_added') ?></span></h3>
+ <h3><span><?= ___('Recently Added') ?></span></h3>
<ul>
<?php foreach ($new_addons as $idx=>$addon): ?>
<li class="<?= (0 == ($idx % 2)) ? 'odd' : 'even' ?>"><a href="<?=$html->url("/addon/{$addon['id']}")?>">
@@ -144,25 +144,25 @@ $summaryLimit = 70;
</a></li>
<?php endforeach ?>
</ul>
- <p class="view-all"><?=$html->link(___('view_recently_added').' »',"/browse/type:{$type_id}/cat:{$cat_id}?sort=newest")?></p>
+ <p class="view-all"><?=$html->link(___('View all recently added').' »',"/browse/type:{$type_id}/cat:{$cat_id}?sort=newest")?></p>
</div>
<div id="popular_addons" class="addons_column clearfix">
- <h3><span><?=___('addons_top_downloads') ?></span></h3>
+ <h3><span><?=___('Top Downloads') ?></span></h3>
<ul>
<?php foreach ($popular_addons as $idx=>$addon): ?>
<li class="<?= (0 == ($idx % 2)) ? 'odd' : 'even' ?>"><a href="<?=$html->url("/addon/{$addon['id']}")?>">
<img class="icon" src="<?php echo $addon['icon_url']?>" width="32" height="32" alt="" />
<span class="name"><?php echo $html->truncateChars($nameLimit, $addon['name'], true) ?></span>
- <span class="meta downloads"><?php echo $html->number_format($addon['weeklydownloads']) ?> <?= _('addon_downloads_weekly') ?></span>
+ <span class="meta downloads"><?php echo $html->number_format($addon['weeklydownloads']) ?> <?= ___('weekly downloads') ?></span>
</a></li>
<?php endforeach ?>
</ul>
- <p class="view-all"><?=$html->link(___('view_top_downloads').' »',"/browse/type:{$type_id}/cat:{$cat_id}?sort=popular")?></p>
+ <p class="view-all"><?=$html->link(___('View all top downloads').' »',"/browse/type:{$type_id}/cat:{$cat_id}?sort=popular")?></p>
</div>
<div id="updated_addons" class="addons_column last clearfix">
- <h3><span><?=___('addons_top_rated') ?></span></h3>
+ <h3><span><?=___('Top Rated') ?></span></h3>
<ul>
<?php foreach ($updated_addons as $idx=>$addon): ?>
<li class="<?= (0 == ($idx % 2)) ? 'odd' : 'even' ?>"><a href="<?=$html->url("/addon/{$addon['id']}")?>">
@@ -172,7 +172,7 @@ $summaryLimit = 70;
</a></li>
<?php endforeach ?>
</ul>
- <p class="view-all"><?=$html->link(___('view_top_rated').' »',"/browse/type:{$type_id}/cat:{$cat_id}?sort=rated")?></p>
+ <p class="view-all"><?=$html->link(___('View all top rated').' »',"/browse/type:{$type_id}/cat:{$cat_id}?sort=rated")?></p>
</div>
</div>
diff --git a/site/app/views/addons/developers.thtml b/site/app/views/addons/developers.thtml
index 380686d..53b24fc 100644
--- a/site/app/views/addons/developers.thtml
+++ b/site/app/views/addons/developers.thtml
@@ -12,7 +12,7 @@ if ($multiple) {
</div>
<?=$this->renderElement('amo2009/breadcrumbs')?>
- <h2><?=n___('addon_developer_h2_meet', 'addon_developer_h2_meet', $num_authors)?></h2>
+ <h2><?=n___('Meet the Developer', 'Meet the Developers', $num_authors)?></h2>
<?php
if ($this->controller->Addon->acceptContributions($addon)) {
@@ -26,8 +26,8 @@ if ($multiple) {
$contrib_element = $this->renderElement('amo2009/contribution', array(
'addon_id' => $addon['Addon']['id'],
- 'text' => $roadblock ? ___('addons_display_contribution_roadblock')
- : ___('addons_display_contribution_ask'),
+ 'text' => $roadblock ? ___('Before downloading this add-on, please consider supporting the development of this add-on by making a small contribution.')
+ : ___('The developer of this add-on asks that you help support its continued development by making a small contribution.'),
'source' => $source,
'show_install' => True,
));
@@ -53,7 +53,7 @@ if ($multiple) {
<?=$contrib_element?>
<div class="primary prose">
<?php if($author['Translation']['bio']['string']): ?>
- <h3><?=sprintf(___('addon_developer_who_is', 'Who is %s?'), $author['User']['display_name'])?></h3>
+ <h3><?=sprintf(___('Who is %1$s?'), $author['User']['display_name'])?></h3>
<p class="intro"><?=$author['Translation']['bio']['string']?></p>
<?php endif; ?>
<?=$this->renderElement('amo2009/addons/developers/about_addon')?>
diff --git a/site/app/views/addons/dictionaries.thtml b/site/app/views/addons/dictionaries.thtml
index da197e8..d726715 100644
--- a/site/app/views/addons/dictionaries.thtml
+++ b/site/app/views/addons/dictionaries.thtml
@@ -41,11 +41,11 @@ global $native_languages, $experimental_status, $browser_apps;
// "Download" or "Install"?
$install_text = array();
if (in_array(APP_ID, $browser_apps)) {
- $install_text[ADDON_DICT] = _('langtools_install_dictionary');
- $install_text[ADDON_LPAPP] = _('langtools_install_langpack');
+ $install_text[ADDON_DICT] = ___('Install Dictionary');
+ $install_text[ADDON_LPAPP] = ___('Install Language Pack');
} else {
- $install_text[ADDON_DICT] = _('langtools_download_dictionary');
- $install_text[ADDON_LPAPP] = _('langtools_download_langpack');
+ $install_text[ADDON_DICT] = ___('Download Dictionary');
+ $install_text[ADDON_LPAPP] = ___('Download Language Pack');
}
$this->viewVars['bodyclass'] = 'inverse';
@@ -60,14 +60,14 @@ $this->layout = 'amo2009';
<?php /* list of dictionaries and language packs */ ?>
<div class="featured"><div class="featured-inner">
<div id="dictionaries">
- <h3><?=_('langtools_header_dicts_and_langpacks')?></h3>
+ <h3><?=___('Dictionaries & Language Packs')?></h3>
- <table summary="<?=_('langtools_a11y_tablesummary')?>">
+ <table summary="<?=___('List of language packs and dictionaries.')?>">
<thead>
<tr>
- <th scope="col" colspan="2"><?=_('langtools_tableheader_language')?></th>
- <th scope="col"><?=_('langtools_tableheader_dictionary')?></th>
- <th scope="col"><?=_('langtools_tableheader_langpack')?></th>
+ <th scope="col" colspan="2"><?=___('Language')?></th>
+ <th scope="col"><?=___('Dictionary')?></th>
+ <th scope="col"><?=___('Language Pack')?></th>
</tr>
</thead>
<tbody>
@@ -89,7 +89,7 @@ $this->layout = 'amo2009';
foreach($localedata[$type] as $addon) {
echo '<p>';
echo $html->link($install_text[$type], "/addon/{$addon['Addon']['id']}");
- echo ' ('.sprintf(_('size_kb'), $addon['File'][0]['size']).')';
+ echo ' ('.sprintf(___('%1$s KB'), $addon['File'][0]['size']).')';
if (!empty($addon['Addon']['locale_disambiguation']))
echo "<br/>({$addon['Addon']['locale_disambiguation']})";
echo "</p>\n";
diff --git a/site/app/views/addons/display.thtml b/site/app/views/addons/display.thtml
index 8e0c99a..9b7a30c 100644
--- a/site/app/views/addons/display.thtml
+++ b/site/app/views/addons/display.thtml
@@ -61,13 +61,13 @@ if (empty($addonIconPath)) {
<?=($hasversion ? $addon['Version'][0]['Version']['version'] : '')?>
</span>
</h2>
-<h4 class="author"><?=_('addons_home_by')?> <?= $html->linkUsersFromModel($addon['User'], 0); ?></h4>
+<h4 class="author"><?=___('by')?> <?= $html->linkUsersFromModel($addon['User'], 0); ?></h4>
<?php
if (!empty($coll_addon_added)) {
echo $this->renderElement('notification', array(
'type' => 'success',
- 'msg' => sprintf(___('addons_display_collection_publish_success'),
+ 'msg' => sprintf(___('%1$s has been added to the %2$s collection.'),
$addon['Translation']['name']['string'],
$html->link($coll_addon_added['Translation']['name']['string'],
"/collection/{$coll_addon_added['Collection']['uuid']}")
@@ -115,7 +115,7 @@ if (!empty($coll_addon_added)) {
if (!empty($addon['Translation']['privacypolicy']['string'])): ?>
<a class="privacy-policy"
href="<?=$html->url('/addons/policy/0/'.$addon['Addon']['id'])?>">
- <strong><?=___('addons_display_view_privacy')?></strong>
+ <strong><?=___('View privacy policy')?></strong>
</a>
<?php endif; ?>
</div>
@@ -132,63 +132,63 @@ if (!empty($coll_addon_added)) {
<?php
if ($this->controller->Addon->acceptContributions($addon)) {
echo $this->renderElement('amo2009/contribution', array(
- 'text' => ___('addons_display_contribution_ask'),
+ 'text' => ___('The developer of this add-on asks that you help support its continued development by making a small contribution.'),
'source' => 'addon-detail'));
}
?>
- <table summary="<?___('addons_display_table_summary')?>">
+ <table summary="<?___('Add-on Information')?>">
<tbody>
<?php if ($hasversion): ?>
<tr>
- <th><?=___('devcp_versions_th_version')?></th>
+ <th><?=___('Version')?></th>
<td><?=$_version_data['version']?></td>
</tr>
<tr>
- <th><?=___('addons_display_th_workswith')?></th>
+ <th><?=___('Works with')?></th>
<td>
<?=$this->renderElement('app_versions',
array('app' => $compatible_apps[0]))?>
</td>
</tr>
<tr>
- <th><?=___('addons_home_browse_updated')?></th>
+ <th><?=___('Updated')?></th>
<?php $updated = strtotime(str_replace('&#45;', '-', $_version_data['created'])) ?>
<td>
- <span title="<?=strftime(_('datetime'), $updated)?>">
- <?=strftime(_('date'), $updated)?>
+ <span title="<?=strftime(___('%B %e, %Y, %I:%M %p'), $updated)?>">
+ <?=strftime(___('%B %e, %Y'), $updated)?>
</span>
</td>
</tr>
<?php endif; ?>
<tr>
<th>
- <?=n___('addons_home_summary_developer',
- 'addons_home_summary_developer',
+ <?=n___('Developer',
+ 'Developers',
count($addon['User']))?>
</th>
<td><?=$html->linkUsersFromModel($addon['User'], 40)?></td>
</tr>
<?php if (!empty($addon['Translation']['homepage']['string'])): ?>
<tr>
- <th><?=___('addons_display_header_homepage')?></th>
+ <th><?=___('Homepage')?></th>
<td><strong>
<?=$html->link($addon['Translation']['homepage']['string'])?>
</strong></td>
</tr>
<?php endif ?>
<tr>
- <th><?=___('advanced_search_form_rating')?></th>
+ <th><?=___('Rating')?></th>
<td><?=$this->renderElement('amo2009/reviews', array('addon' => $addon))?></td>
</tr>
<tr>
- <th><?=___('list_sortby_downloads')?></th>
+ <th><?=___('Downloads')?></th>
<td>
<strong class="downloads">
<?=$html->number_format($addon['Addon']['totaldownloads'], 0)?>
</strong>
<?php if ($addon['Addon']['publicstats'] == 1): ?>
- <?=$html->link(___('addons_display_statistics'),
+ <?=$html->link(___('Statistics'),
'/statistics/addon/'.$addon['Addon']['id']);?>
<?php endif; ?>
</td>
@@ -215,7 +215,7 @@ if (!empty($coll_addon_added)) {
<?php endif ?>
<div class="share-this">
- <a class="share" href="#"><?=___('addons_share_button_a_text')?></a>
+ <a class="share" href="#"><?=___('Share this Add-on')?></a>
<div class="share-networks">
<ul>
<?php foreach ($link_sharing_services as $l_name => $l_details) :?>
@@ -234,13 +234,13 @@ if (!empty($coll_addon_added)) {
</div> <!-- featured-inner -->
</div> <!-- featured -->
- <h3><?=___('addons_display_more_about')?></h3>
+ <h3><?=___('More about this add-on')?></h3>
<div class="article">
<p <?=$addon['Translation']['description']['locale_html']?>>
<?=nl2br($addon['Translation']['description']['string'])?>
</p>
<? if (count($previews) > 1): // Only show this if there are 2 or more images. ?>
- <h4><?=___('addons_display_image_gallery')?></h4>
+ <h4><?=___('Image Gallery')?></h4>
<?php
foreach (array_slice($previews, 1) as $preview):
$thumb = $this->controller->Image->getPreviewURL($preview['Preview']['id']);
@@ -261,17 +261,17 @@ if (!empty($coll_addon_added)) {
$has_url = !empty($support_url);
if ($has_email || $has_url):
?>
- <h4><?=___('addons_display_header_support')?></h4>
+ <h4><?=___('Support')?></h4>
<p>
<?php if ($has_email && $has_url): ?>
- <?=sprintf(_('addons_display_paragraph_supportinfoemailurl'),
+ <?=sprintf(___('Support for this add-on is provided by the developer at %1$s or by sending an e-mail to %2$s'),
$html->link($support_url),
$link->email($support_email));?>
<?php elseif ($has_url): ?>
- <?=sprintf(_('addons_display_paragraph_supportinfourl'),
+ <?=sprintf(___('Support for this add-on is provided by the developer at %s'),
$html->link($support_url));?>
<?php elseif ($has_email): ?>
- <?=sprintf(_('addons_display_paragraph_supportinfoemail'),
+ <?=sprintf(___('Support for this add-on is provided by the developer at %s'),
$link->email($support_email));?>
<?php endif; ?>
</p>
@@ -279,7 +279,7 @@ if (!empty($coll_addon_added)) {
<?php $comments = $addon['Translation']['developercomments']['string'] ?>
<?php if (!empty($comments)): ?>
- <h4><?=___('addons_display_developer_comments', 'Developer Comments')?></h4>
+ <h4><?=___('Developer Comments')?></h4>
<p <?=$addon['Translation']['developercomments']['locale_html']?>>
<?=nl2br($addon['Translation']['developercomments']['string'])?>
</p>
@@ -287,7 +287,7 @@ if (!empty($coll_addon_added)) {
</div> <!-- article -->
<?php if (!empty($reviews)): ?>
- <h3 id="reviews"><?=_('addons_display_header_reviews')?></h3>
+ <h3 id="reviews"><?=___('Reviews')?></h3>
<div class="article">
<?php
foreach ($reviews as $rev_no => $review):
@@ -302,15 +302,15 @@ if (!empty($coll_addon_added)) {
<p>
<?=$this->renderElement('amo2009/stars',
array('rating' => $review['Review']['rating']));?>
- <?=sprintf(___('addon_reviewed_by_u_on_d'),
+ <?=sprintf(___('by %1$s on %2$s'),
$html->linkUserFromModel($review['User']),
- strftime(_('date'), strtotime($review['Review']['created'])))?>
+ strftime(___('%B %e, %Y'), strtotime($review['Review']['created'])))?>
</p>
</div>
<?php endforeach; ?>
<p>
<a class="more-info" href="<?=$html->url('/reviews/display/'.$addon['Addon']['id'])?>">
- <?=sprintf(___('addons_display_see_reviews'), $review_count)?>
+ <?=sprintf(___('See all %1$s reviews of this add-on'), $review_count)?>
</a>
</p>
</div>
@@ -318,10 +318,10 @@ if (!empty($coll_addon_added)) {
<?php if(empty($isAuthor)): ?>
- <h3><?=_('addons_display_what_do_you_think')?></h3>
+ <h3><?=___('What do you think?')?></h3>
<div id="review-box" class="highlight">
<?php if (!$loggedIn): ?>
- <p><?=sprintf(___('addons_display_please_login'), $html->url($html->login_url()))?></p>
+ <p><?=sprintf(___('Please <a href="%1$s">log in</a> to submit a review'), $html->url($html->login_url()))?></p>
<?php endif; ?>
<form class="addon-feedback" method="post"
@@ -330,12 +330,12 @@ if (!empty($coll_addon_added)) {
<?php $disabled = $loggedIn ? '' : 'disabled="disabled"'; ?>
<div class="container">
- <label for="review"><?=___('addons_display_label_review')?></label>
+ <label for="review"><?=___('Review')?></label>
<textarea name="data[Review][body]" id="review" <?=$disabled?>
cols="30" rows="6"></textarea>
</div>
<div class="container">
- <label for="review-rating"><?=___('list_sortby_rating')?></label>
+ <label for="review-rating"><?=___('Rating')?></label>
<select id="review-rating" name="data[Review][rating]">
<option></option>
<option value="1" class="worst">*</option>
@@ -346,27 +346,27 @@ if (!empty($coll_addon_added)) {
</select>
<input type="hidden" name="data[Review][id]" value="" id="ReviewId"/>
<input type="hidden" name="data[Review][title]" value=" " id="ReviewTitle"/>
- <button <?=$disabled?>><?=___('addons_display_post_review')?></button>
+ <button <?=$disabled?>><?=___('Post Review')?></button>
</div>
</form>
- <p><?=___('addons_display_review_etiquette');?></p>
+ <p><?=___('Please do not post bug reports in reviews. We do not make your email address available to add-on developers and they may need to contact you to help resolve your issue.');?></p>
<?php if ($has_email || $has_url): ?>
- <p><?=sprintf(___('addons_display_review_see_support'), '#support')?></p>
+ <p><?=sprintf(___('See the <a href="%1$s">support section</a> to find out where to get assistance for this add-on.'), '#support')?></p>
<?php endif; ?>
<p>
- <?=sprintf(___('addons_display_review_guidelines_link'), $html->url('/pages/review_guide'))?>
+ <?=sprintf(___('<a href="%s">Review Guidelines</a>'), $html->url('/pages/review_guide'))?>
</p>
<p>
<a href="<?=$html->url('/reviews/add/'.$addon['Addon']['id'])?>">
- <?=_('addons_display_detailed_review')?>
+ <?=___('detailed review')?>
</a>
</p>
</div> <!-- highlight -->
<?php endif; /* isAuthor */ ?>
<?php if ($hasversion): ?>
- <h3><?=___('addons_display_release_notes')?></h3>
+ <h3><?=___('Release Notes')?></h3>
<div class="article">
<?=$this->renderElement('addon_version_detail', $_version_data)?>
<p id="release-notes" <?=$addon['Version'][0]['Translation']['releasenotes']['locale_html']?>>
@@ -382,9 +382,9 @@ if (!empty($coll_addon_added)) {
'/versions/license/'.$version_id);
?>
<h5 id="license">
- <?=___('addons_display_header_license')?>
+ <?=___('Source Code License')?>
<a href="<?=$html->url('/pages/developer_faq#license')?>">
- <?=___('addons_display_a_license_what')?>
+ <?=___("What's this?")?>
</a>
</h5>
<p><?=$license_link?></p>
@@ -394,12 +394,12 @@ if (!empty($coll_addon_added)) {
<?php if ($addon['Addon']['viewsource'] == 1 &&
$this->controller->Session->check('User')): ?>
<li>
- <a href="<?=$html->url('/files/browse/'.$addon['Version'][0]['File'][0]['id'])?>"><?=___('addons_display_view_source')?></a>
+ <a href="<?=$html->url('/files/browse/'.$addon['Version'][0]['File'][0]['id'])?>"><?=___('View the source')?></a>
</li>
<?php endif; ?>
<li>
<a href="<?=$html->url('/addons/versions/'.$addon['Addon']['id'])?>">
- <?=___('addons_display_view_older')?>
+ <?=___('View Older Versions')?>
</a>
</li>
</ul>
@@ -417,17 +417,17 @@ if (!empty($coll_addon_added)) {
$dev = $addon['User'][array_rand($addon['User'])];
$dev = $this->controller->User->getUser($dev['id']);
?>
- <h3><?=n___('addon_developer_h2_meet', 'addon_developer_h2_meet', count($devs))?></h3>
+ <h3><?=n___('Meet the Developer', 'Meet the Developers', count($devs))?></h3>
<img class="avatar" alt="<?=$dev['User']['display_name']?>" height="64" width="64"
src="<?=$html->url('/users/picture/'.$dev['User']['id'])?>" />
- <p><?=sprintf(___('addon_display_meet_learn'),
+ <p><?=sprintf(___('Learn why %1$s was created and find out what\'s next for this add-on.'),
$addon['Translation']['name']['string'])?></p>
<p>
<a class="more-info" href="<?=$html->url('/addon/'.$addon_id.'/developers')?>">
<? if (count($devs) > 1): ?>
- <?=n___('addon_developer_h2_meet', 'addon_developer_h2_meet', count($devs))?>
+ <?=n___('Meet the Developer', 'Meet the Developers', count($devs))?>
<? else: ?>
- <?=sprintf(___('addon_display_meet_x'), $dev['User']['display_name'])?>
+ <?=sprintf(___('Meet %1$s'), $dev['User']['display_name'])?>
<? endif; ?>
</a>
</p>
@@ -441,14 +441,14 @@ if (!empty($coll_addon_added)) {
if (is_array($relatedCategories)) {
$_sort_opt = ($addon['Addon']['addontype_id'] == ADDON_SEARCH) ? '?sort=rated' : '';
foreach ($relatedCategories as $category) {
- echo $html->link(sprintf(_('addons_display_see_all_addons'),$category['Translation']['name']['string']), '/browse/' . "type:" . $category['Category']['addontype_id'] . '/' . "cat:" . $category['Category']['id'] . $_sort_opt , array('class'=>'more-info')) . "\n";
+ echo $html->link(sprintf(___('See All %1$s Add-ons'),$category['Translation']['name']['string']), '/browse/' . "type:" . $category['Category']['addontype_id'] . '/' . "cat:" . $category['Category']['id'] . $_sort_opt , array('class'=>'more-info')) . "\n";
}
}
?>
<?php if (count($authorAddons) > 1): ?>
<div class="other-author-addons">
- <h4><?=sprintf(n___('addons_display_other_addons_by', 'addons_display_other_addons_by', count($addon['User'])),
+ <h4><?=sprintf(n___('Other add-ons by %1$s', 'Other add-ons by these authors', count($addon['User'])),
$html->linkUsersFromModel($addon['User'], 0));?>
</h4>
<?php if (count($authorAddons) > 3) {
@@ -456,7 +456,7 @@ if (!empty($coll_addon_added)) {
echo '<select id="addons-author-addons-select" name="addons-author-addons-select" onchange="this.form.submit()">';
echo $this->renderElement('addon_author_addons', array('tag' => 'option'));
echo '</select>';
- echo '<input class="hidden" type="submit" value="'._('addons_author_addons_submit').'"/>';
+ echo '<input class="hidden" type="submit" value="'.___('Go').'"/>';
echo '</form>';
} else {
echo '<ul class="xoxo">';
@@ -470,7 +470,7 @@ if (!empty($coll_addon_added)) {
<?php endif; ?>
<div class="highlight">
-<h3><?=___('tags_header_tags_title', 'Tags')?></h3>
+<h3><?=___('Tags')?></h3>
<script type="text/javascript">
<?=$this->renderElement('tags_js_init')?>
@@ -481,19 +481,19 @@ if (!empty($coll_addon_added)) {
</div>
<? if ($loggedIn): ?>
- <a href="#" id="addatag"><?=___('tags_add_tag_link', 'Add a tag');?></a>
+ <a href="#" id="addatag"><?=___('Add a tag');?></a>
<div class="addtagform ">
<form id='tagForm' action="<?=$html->url("/tags/add/")?>" method="POST">
<?=$html->hiddenSession() ?>
<input type="text" id='newTag' name="newTag" />
<input type="hidden" name="addonid" id="addtagformaddonid" value="<?=$addon['Addon']['id']?>" />
- <button id="addtagbutton"><?=___('tags_add_tag_button', 'Add');?></button>
+ <button id="addtagbutton"><?=___('Add');?></button>
</form>
- <span class="hint"><?=___('tags_example_tags', 'Comma-separated, minimum of 2 characters. Example: <span class="example">ocean, sail boat, water</span>')?></span>
+ <span class="hint"><?=___('Comma-separated, minimum of 2 characters. Example: <span class="example">ocean, sail boat, water</span>')?></span>
</div>
<? else: ?>
<?echo sprintf(
- ___('tags_register_or_login', '<a href="%1$s">Register</a> or <a href="%2$s">Log in</a> to add tags'),
+ ___('<a href="%1$s">Register</a> or <a href="%2$s">Log in</a> to add tags'),
$html->url('/users/register', false), $html->url($html->login_url())); ?>
<? endif; ?>
@@ -501,10 +501,10 @@ if (!empty($coll_addon_added)) {
<!-- /.highlight-->
<div class="highlight collections-add prose">
- <h3><?=___('addons_display_header_collections')?></h3>
+ <h3><?=___('Related Collections')?></h3>
<?php if (empty($pop_collections)): ?>
- <p><?=___('addons_display_nocollections')?></p>
+ <p><?=___('This add-on is not yet in any collections.')?></p>
<?php else: ?>
<ul>
<?php foreach($pop_collections as &$_coll): ?>
@@ -513,8 +513,8 @@ if (!empty($coll_addon_added)) {
<?php if (($_othercolls = $collection_count - count($pop_collections)) > 0): ?>
<li>
<a href="<?=$html->url('/collections/addon/'.$addon['Addon']['id'])?>">
- <?=sprintf(n___('addons_display_collections_more',
- 'addons_display_collections_more',
+ <?=sprintf(n___('and %1$s more collection',
+ 'and %1$s more collections',
$_othercolls),
$_othercolls)?>
</a>
@@ -526,18 +526,18 @@ if (!empty($coll_addon_added)) {
<?php if ($loggedIn): ?>
<form action="<?= $html->url('/collections/addtocollection') ?>" method="post" id="coll_publish">
<div>
- <h3><label for="publish_to"><?=___('addons_display_collection_add')?></label></h3>
- <?=$html->link(___('addons_display_collection_whatsthis'), '/collections/')?>
+ <h3><label for="publish_to"><?=___('Add to a collection:')?></label></h3>
+ <?=$html->link(___("What's this?"), '/collections/')?>
<?=$html->hiddenSession() ?>
<input name="data[addon_id]" type="hidden" value="<?= $addon['Addon']['id'] ?>" />
<select name="data[collection_uuid]" id="publish_to">
- <option value="" selected="selected"><?=___('addons_display_collection_add_select_one')?></option>
+ <option value="" selected="selected"><?=___('Select a collection...')?></option>
<?php foreach ($userCollections as $collection): ?>
<option value="<?=$collection['Collection']['uuid'] ?>"><?=$collection['Translation']['name']['string'] ?></option>
<?php endforeach; ?>
- <option value="new"><?=___('addons_display_collection_add_new')?></option>
+ <option value="new"><?=___('New Collection...')?></option>
</select>
- <button><?=___('addons_display_collection_add_submit')?></button>
+ <button><?=___('Publish')?></button>
</div>
</form>
<?php endif; ?>
diff --git a/site/app/views/addons/home.thtml b/site/app/views/addons/home.thtml
index 7866ed5..9330d51 100644
--- a/site/app/views/addons/home.thtml
+++ b/site/app/views/addons/home.thtml
@@ -54,13 +54,13 @@ $this->viewVars['bodyclass'] = 'home';
<ul class="stats">
<?php if (!empty($stats_downloaded)): ?>
<li><?=sprintf(
- n___('addons_home_stats_downloaded', 'addons_home_stats_downloaded', $stats_downloaded),
+ n___('<strong>%1$s</strong> <span>add-on downloaded</span>', '<strong>%1$s</strong> <span>add-ons downloaded</span>', $stats_downloaded),
$html->number_format($stats_downloaded, 0)
)?></li>
<?php endif ?>
<?php if (!empty($stats_inuse)): ?>
<li><?=sprintf(
- n___('addons_home_stats_inuse', 'addons_home_stats_inuse', $stats_inuse),
+ n___('<strong>%1$s</strong> <span>add-on in use</span>', '<strong>%1$s</strong> <span>add-ons in use</span>', $stats_inuse),
$html->number_format($stats_inuse, 0)
)?></li>
<?php endif ?>
@@ -98,20 +98,20 @@ $this->viewVars['bodyclass'] = 'home';
))?>
<? endif; ?>
- <h2><?=___('addons_home_browse_title', 'Browse Add-ons')?></h2>
+ <h2><?=___('Browse Add-ons')?></h2>
<div class="primary">
<div class="featured show-<?=$featured_type?> listing" id="featured">
<div class="featured-inner">
<div class="listing-header">
<ul>
<li<?= ('recommended'==$featured_type) ? ' class="selected"' : '' ?>>
- <a href="?featured=recommended#featured"><?=___('addons_home_browse_recommended', 'Recommended')?></a></li>
+ <a href="?featured=recommended#featured"><?=___('Recommended')?></a></li>
<li<?= ('popular'==$featured_type) ? ' class="selected"' : '' ?>>
- <a href="?featured=popular#featured"><?=___('addons_home_browse_popular', 'Popular')?></a></li>
+ <a href="?featured=popular#featured"><?=___('Popular')?></a></li>
<li<?= ('added'==$featured_type) ? ' class="selected"' : '' ?>>
- <a href="?featured=added#featured"><?=___('addons_home_browse_new', 'Just Added')?></a></li>
+ <a href="?featured=added#featured"><?=___('Just Added')?></a></li>
<li<?= ('updated'==$featured_type) ? ' class="selected"' : '' ?>>
- <a href="?featured=updated#featured"><?=___('addons_home_browse_updated', 'Updated')?></a></li>
+ <a href="?featured=updated#featured"><?=___('Updated')?></a></li>
</ul>
</div>
<div class="addon-listing">
@@ -139,7 +139,7 @@ $this->viewVars['bodyclass'] = 'home';
<div class="secondary">
<img class="pull-right" src="<?=$html->url('/img/amo2009/illustrations/logo-collections-100x125.png', null, false, false)?>" alt=""/>
- <h3><a href="<?=$html->url('/collections')?>"><?=___('addons_home_collections','Collections')?></a>
+ <h3><a href="<?=$html->url('/collections')?>"><?=___('Collections')?></a>
<?=$this->renderElement('amo2009/new_indicator')?>
</h3>
<p><?=___('addons_home_collections_intro', '
@@ -149,7 +149,7 @@ $this->viewVars['bodyclass'] = 'home';
')?></p>
<?php if (!empty($popular_collections)): ?>
- <h4><?=___('addons_home_collection_popular_title', 'Popular Collections')?></h4>
+ <h4><?=___('Popular Collections')?></h4>
<?php foreach ($popular_collections as $c): ?>
<div class="item">
<h5>
@@ -158,24 +158,24 @@ $this->viewVars['bodyclass'] = 'home';
'Collection' => array('uuid'=>$c['uuid'], 'nickname'=>$c['nickname']),
'Translation' => array('name'=>array('string'=>$c['name']))
))?>
- <span><?=_('addons_home_by')?> <?=$html->linkUsersFromModel($c['authors'], null);?></span>
+ <span><?=___('by')?> <?=$html->linkUsersFromModel($c['authors'], null);?></span>
</h5>
<blockquote cite="#">
<p><?=$html->truncateChars(200, $c['description'])?></p>
</blockquote>
<div class="meta">
<span class="addons"><?=sprintf(
- n___('addons_home_collections_addon_count','addons_home_collections_addon_count',$c['addons_count']),
+ n___('<strong>%1$s</strong> add-on','<strong>%1$s</strong> add-ons',$c['addons_count']),
$c['addons_count']
)?></span>
<span class="subscribers"><?=sprintf(
- n___('addons_home_collections_subscribers','addons_home_collections_subscribers',$c['subscribers']),
+ n___('<strong>%1$s</strong> subscriber','<strong>%1$s</strong> subscriber',$c['subscribers']),
$c['subscribers'])
?></span>
</div>
</div>
<?php endforeach ?>
<?php endif ?>
- <p><a class="more-info" href="<?=$html->url('/collections')?>"><?=___('addons_home_collections_all', 'View All Collections')?></a></p>
+ <p><a class="more-info" href="<?=$html->url('/collections')?>"><?=___('View All Collections')?></a></p>
</div>
</div>
diff --git a/site/app/views/addons/plugins.thtml b/site/app/views/addons/plugins.thtml
index 2be15d8..c70c016 100644
--- a/site/app/views/addons/plugins.thtml
+++ b/site/app/views/addons/plugins.thtml
@@ -55,87 +55,87 @@ $this->layout='amo2009';
<div class="featured listing">
<div class="featured-inner">
<div class="listing-header">
- <p><?=_('addons_plugins_main_description')?></p>
+ <p><?=___('Plugins help your browser perform specific functions like viewing special graphic formats or playing multimedia files. Plugins are slightly different from extensions, which modify or add to existing functionality.')?></p>
</div> <!-- listing-header -->
<div class="item">
<h2><a href="http://www.adobe.com/products/reader/">Adobe Reader</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.adobe.com/">Adobe</a></p>
+ <p><?=___('By')?> <a href="http://www.adobe.com/">Adobe</a></p>
<p>For viewing and printing Adobe Portable Document Format (PDF)</p>
<div class="install install-container"><p class="install-button">
- <a class="button positive" href="http://www.adobe.com/products/acrobat/readstep2.html"> <img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(_('a_download'),'')?></a></p>
+ <a class="button positive" href="http://www.adobe.com/products/acrobat/readstep2.html"> <img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(___('Download Now %s'),'')?></a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#Acrobat">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#Acrobat">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Acrobat">Mac OS X</a> | <a href="http://plugindoc.mozdev.org/faqs/acroread.html">Acrobat Reader FAQ</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#Acrobat">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#Acrobat">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Acrobat">Mac OS X</a> | <a href="http://plugindoc.mozdev.org/faqs/acroread.html">Acrobat Reader FAQ</a></p></div>
</div>
<div class="item">
<h2><a href="http://www.adobe.com/products/flashplayer/">Adobe Flash Player</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.adobe.com/">Adobe</a></p>
+ <p><?=___('By')?> <a href="http://www.adobe.com/">Adobe</a></p>
<p>Adobe Flash Player is the universal rich client for delivering effective Adobe Flash experiences across desktops and devices.</p>
<div class="install install-container"><p class="install-button">
- <a class="button positive" href="http://www.adobe.com/go/getflashplayer"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(_('a_download'),'')?></a></p>
+ <a class="button positive" href="http://www.adobe.com/go/getflashplayer"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(___('Download Now %s'),'')?></a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#Flash">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#Flash">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Flash">Mac OS X</a> | <a href="http://plugindoc.mozdev.org/faqs/flash.html">Flash Player FAQ</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#Flash">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#Flash">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Flash">Mac OS X</a> | <a href="http://plugindoc.mozdev.org/faqs/flash.html">Flash Player FAQ</a></p></div>
</div>
<div class="item">
<h2><a href="http://www.java.com/en/about/">Java</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.sun.com/">Sun Microsystems</a></p>
+ <p><?=___('By')?> <a href="http://www.sun.com/">Sun Microsystems</a></p>
<p>The Java Runtime Environment enables your computer to run applications and applets that use Java technology.</p>
<div class="install install-container"><p class="install-button">
- <a class="button positive" href="http://www.java.com/en/download/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(_('a_download'),'')?></a></p>
+ <a class="button positive" href="http://www.java.com/en/download/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(___('Download Now %s'),'')?></a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#Java">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#Java">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Java">Mac OS X</a> | <a href="http://plugindoc.mozdev.org/faqs/java.html">Java Plugin FAQ</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#Java">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#Java">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Java">Mac OS X</a> | <a href="http://plugindoc.mozdev.org/faqs/java.html">Java Plugin FAQ</a></p></div>
</div>
<div class="item">
<h2><a href="http://www.apple.com/quicktime/">QuickTime</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.apple.com/">Apple</a></p>
+ <p><?=___('By')?> <a href="http://www.apple.com/">Apple</a></p>
<p>QuickTime Player is an easy-to-use application for playing, interacting with or viewing video, audio, VR or graphics files.</p>
<div class="install install-container"><p class="install-button">
- <a class="button positive" href="http://www.apple.com/quicktime/download/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(_('a_download'),'')?></a></p>
+ <a class="button positive" href="http://www.apple.com/quicktime/download/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(___('Download Now %s'),'')?></a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#Quicktime">Windows</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Quicktime">Mac OS X</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#Quicktime">Windows</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Quicktime">Mac OS X</a></p></div>
</div>
<div class="item">
<h2><a href="http://www.real.com/player/">RealPlayer</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.realnetworks.com/">Real Networks</a></p>
+ <p><?=___('By')?> <a href="http://www.realnetworks.com/">Real Networks</a></p>
<p>RealPlayer enables your computer to play streaming RealVideo and RealAudio.</p>
<div class="install install-container">
- <p class="install-button"><a class="button positive" href="http://www.real.com/R/RC.040104freeplayer.def...R/forms.real.com/real/realone/realone.html?type=eva1&amp;rppr=rnwk&amp;src=040104freeplayer"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=_('addons_plugins_for_windows')?> Version 11</a></p>
- <p class="install-button"><a class="button positive" href="http://www.real.com/linux/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=_('addons_plugins_for_linux')?> Version 10</a></p>
- <p class="install-button"><a class="button positive" href="http://www.real.com/R/RC.040104freeplayer.def...R/forms.real.com/real/realone/mac.html?rppr=rnwk&amp;src=040104freeplayer"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=_('addons_plugins_for_macosx')?> Version 10</a></p>
+ <p class="install-button"><a class="button positive" href="http://www.real.com/R/RC.040104freeplayer.def...R/forms.real.com/real/realone/realone.html?type=eva1&amp;rppr=rnwk&amp;src=040104freeplayer"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=___('for Windows')?> Version 11</a></p>
+ <p class="install-button"><a class="button positive" href="http://www.real.com/linux/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=___('for Linux')?> Version 10</a></p>
+ <p class="install-button"><a class="button positive" href="http://www.real.com/R/RC.040104freeplayer.def...R/forms.real.com/real/realone/mac.html?rppr=rnwk&amp;src=040104freeplayer"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=___('for Mac OS X')?> Version 10</a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#RealOne">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#RealPlayer">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#RealOne">Mac OS X</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#RealOne">Windows</a>, <a href="http://plugindoc.mozdev.org/linux.html#RealPlayer">Linux</a>, <a href="http://plugindoc.mozdev.org/OSX.html#RealOne">Mac OS X</a></p></div>
</div>
<div class="item">
<h2><a href="http://www.adobe.com/products/shockwaveplayer/">Shockwave</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.adobe.com/">Adobe</a></p>
+ <p><?=___('By')?> <a href="http://www.adobe.com/">Adobe</a></p>
<p>Shockwave Player displays Web content that has been created by Adobe Director.</p>
<div class="install install-container"><p class="install-button">
- <a class="button positive" href="http://www.adobe.com/shockwave/download/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(_('a_download'),'')?></a></p>
+ <a class="button positive" href="http://www.adobe.com/shockwave/download/"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=sprintf(___('Download Now %s'),'')?></a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#Shockwave">Windows</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Shockwave">Mac OS X</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#Shockwave">Windows</a>, <a href="http://plugindoc.mozdev.org/OSX.html#Shockwave">Mac OS X</a></p></div>
</div>
<div class="item">
<h2><a href="http://www.microsoft.com/windows/windowsmedia/default.aspx">Windows Media Player</a></h2>
- <p><?=_('addons_plugins_by')?> <a href="http://www.microsoft.com/">Microsoft</a></p>
+ <p><?=___('By')?> <a href="http://www.microsoft.com/">Microsoft</a></p>
<p>Windows Media Player lets you play streaming audio, video, animations, and multimedia presentations on the web.</p>
<div class="install install-container">
- <p class="install-button"><a class="button positive" href="http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=_('addons_plugins_for_windows')?> Vers. 11 (XP, Vista)</a></p>
- <p class="install-button"><a class="button positive" href="http://www.microsoft.com/windows/windowsmedia/9series/player.aspx"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=_('addons_plugins_for_windows')?> Vers. 9 (98 SE, ME, 2000)</a></p>
- <p class="install-button"><a class="button positive" href="http://www.microsoft.com/windows/windowsmedia/player/mac/default.aspx"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=_('addons_plugins_for_macosx')?> Version 9 or QuickTime Components</a></p>
+ <p class="install-button"><a class="button positive" href="http://port25.technet.com/pages/windows-media-player-firefox-plugin-download.aspx"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=___('for Windows')?> Vers. 11 (XP, Vista)</a></p>
+ <p class="install-button"><a class="button positive" href="http://www.microsoft.com/windows/windowsmedia/9series/player.aspx"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=___('for Windows')?> Vers. 9 (98 SE, ME, 2000)</a></p>
+ <p class="install-button"><a class="button positive" href="http://www.microsoft.com/windows/windowsmedia/player/mac/default.aspx"><img src="<?=$html->urlImage('amo2009/icons/buttons/plus-green-8x9.gif')?>" alt=""><?=___('for Mac OS X')?> Version 9 or QuickTime Components</a></p>
</div>
- <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=_('addons_plugins_support_documentation')?> <a href="http://plugindoc.mozdev.org/windows.html#WMP">Windows</a>, <a href="http://plugindoc.mozdev.org/OSX.html#WMP">Mac OS X</a></p></div>
+ <div class="baseline"><p><img src="<?=$html->url('/img/plugins/faq_small.png',false,false,false)?>" class="faq" height="16" width="16" alt="" ><?=___('Support Documentation: ')?> <a href="http://plugindoc.mozdev.org/windows.html#WMP">Windows</a>, <a href="http://plugindoc.mozdev.org/OSX.html#WMP">Mac OS X</a></p></div>
</div>
</div> <!-- featured-inner -->
-<h2><?=_('addons_plugins_looking_for_plugin')?></h2>
+<h2><?=___('Looking for a plugin not listed here?')?></h2>
-<p><?=sprintf(_('addons_plugins_looking_for_more'),'<a href="http://plugindoc.mozdev.org">PluginDoc</a>')?></p>
+<p><?=sprintf(___('This page only lists some of the most common and most popular plugins. For more information about other plugins available for Mozilla-based Browsers, visit %1$s'),'<a href="http://plugindoc.mozdev.org">PluginDoc</a>')?></p>
</div> <!-- featured listing -->
</div> <!-- primary -->
diff --git a/site/app/views/addons/policy.thtml b/site/app/views/addons/policy.thtml
index 3fa17f0..bcf14bf 100644
--- a/site/app/views/addons/policy.thtml
+++ b/site/app/views/addons/policy.thtml
@@ -54,11 +54,11 @@ else
<?=$addon['Translation']['name']['string']?><?php if (empty($policy)) {?> <?=$addon['Version'][0]['Version']['version']?><? }?>
</h2>
- <h3 class="author"> <?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addon['User'], 0);?></h3>
+ <h3 class="author"> <?=___('by')?> <?=$html->linkUsersFromModel($addon['User'], 0);?></h3>
<?php if (empty($policy)) {?>
<div class="addon-policy-tagline">
- <p<?=$addon['Translation']['name']['locale_html']?>><?=sprintf(_('addons_policy_eula_require'), $addon['Translation']['name']['string']);?></p>
+ <p<?=$addon['Translation']['name']['locale_html']?>><?=sprintf(___('%s requires that you accept the following End-User License Agreement before installation can proceed:'), $addon['Translation']['name']['string']);?></p>
</div>
<?php }?>
@@ -69,9 +69,9 @@ else
<?
global $browser_apps;
if (!in_array(APP_ID, $browser_apps)) {
- $buttonMessage = ___('a_eula_download');
+ $buttonMessage = ___('Accept and Download');
} else {
- $buttonMessage = _('a_eula_install');
+ $buttonMessage = ___('Accept and Install');
}
if (array_key_exists('collection_id', $_GET) && $this->controller->Collection->isValidUUID($_GET['collection_id'])) {
$_collection_uuid = $_GET['collection_id'];
@@ -100,10 +100,10 @@ else
</div>
<!-- /.addon-summary -->
- <p class="policy-link"><?=$html->link(_('a_cancel_installation'), "/addon/{$addon['Addon']['id']}");?></p>
+ <p class="policy-link"><?=$html->link(___('Cancel Installation'), "/addon/{$addon['Addon']['id']}");?></p>
<?php endif;?>
- <p class="policy-link"><?=$html->link(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></p>
+ <p class="policy-link"><?=$html->link(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></p>
</div>
<!-- /#primary -->
diff --git a/site/app/views/addons/recommended.thtml b/site/app/views/addons/recommended.thtml
index ab27e5a..9de8a89 100644
--- a/site/app/views/addons/recommended.thtml
+++ b/site/app/views/addons/recommended.thtml
@@ -48,7 +48,7 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
<div>
- <?=_('addons_recommended_introduction')?>
+ <?=___('With so many great add-ons available, there's something for everyone. To get you started, here's a list of some of the most popular. Enjoy!')?>
</div>
<div class="featured listing">
<div class="featured-inner">
diff --git a/site/app/views/addons/rss/versions.thtml b/site/app/views/addons/rss/versions.thtml
index 017777d..65f8f71 100644
--- a/site/app/views/addons/rss/versions.thtml
+++ b/site/app/views/addons/rss/versions.thtml
@@ -39,7 +39,7 @@
foreach ($versions as $version):
// prepare version string
if (!empty($version['Version']))
- $itemversion = $version['Version']['version'] .' - '. strftime(_('date'), strtotime($version['Version']['created']));
+ $itemversion = $version['Version']['version'] .' - '. strftime(___('%B %e, %Y'), strtotime($version['Version']['created']));
else
$itemversion = '';
diff --git a/site/app/views/addons/searchengines.thtml b/site/app/views/addons/searchengines.thtml
index ebc6a8d..c154744 100644
--- a/site/app/views/addons/searchengines.thtml
+++ b/site/app/views/addons/searchengines.thtml
@@ -48,13 +48,13 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<noscript>
- <?=$this->renderElement('notification', array('type' => 'error', 'description' => _('addons_searchengines_error_nojavascript'))); ?>
+ <?=$this->renderElement('notification', array('type' => 'error', 'description' => ___('JavaScript is required to install plugins, but it looks like you have it disabled. Please enable JavaScript before trying to install any of the search plugins below.'))); ?>
</noscript>
<div class="featured show-recommended listing" id="featured">
<div class="featured-inner">
<div class="listing-header">
<ul>
- <li class="selected"><a href="?featured=recommended#featured"><?=___('addons_home_browse_recommended', 'Recommended')?></a></li>
+ <li class="selected"><a href="?featured=recommended#featured"><?=___('Recommended')?></a></li>
</ul>
</div>
<?php foreach ($featureAddons as $id => $addon): ?>
@@ -69,26 +69,26 @@ $this->layout = 'amo2009';
<div class="secondary" role="complementary">
- <h3 class="compact"><?=$html->link(_('search_landing_browse_search_engines'), "/browse/type:".ADDON_SEARCH."/cat:all?sort=name", array('class'=>'view'))?></h3>
+ <h3 class="compact"><?=$html->link(___('Browse Search Engines'), "/browse/type:".ADDON_SEARCH."/cat:all?sort=name", array('class'=>'view'))?></h3>
<div class="more-addons">
<ul class="highlight">
- <li><?=$html->link(_('search_landing_all_search_engines'), "/browse/type:".ADDON_SEARCH."/cat:all?sort=name", array('class' => 'category'))?></li>
+ <li><?=$html->link(___('All Search Engines'), "/browse/type:".ADDON_SEARCH."/cat:all?sort=name", array('class' => 'category'))?></li>
<?php foreach ($subcats as $subcat): ?>
<li class="sub-category"><?=$html->link($subcat['Translation']['name']['string'], "/browse/type:{$subcat['Category']['addontype_id']}/cat:{$subcat['Category']['id']}?sort=name", array('class' => 'category'))?></li>
<?php endforeach; ?>
</ul>
</div>
- <h3 class="clear"><?=___('addons_searchengines_additional_resources')?></h3>
+ <h3 class="clear"><?=___('Additional Resources')?></h3>
<div class="article prose compact more-addons">
<ul>
- <li><?=$html->link(sprintf(_('category_extra_see_all'), $this_category['Translation']['name']['string']), "/browse/type:{$this_category['Category']['addontype_id']}/cat:{$this_category['Category']['id']}?sort=name", array('class'=>'view'))?></li>
- <li><?=sprintf(___('addons_searchengines_more'), $html->link(___('addons_searchengines_mycroft_link'), 'http://mycroft.mozdev.org/'))?></li>
- <li><?=sprintf(___('addons_searchengines_learn_howto'),
- $html->link(___('addons_searchengines_makeyourown_link'), 'http://developer.mozilla.org'.___('addons_searchengines_makeyourown_href')),
- $html->link(___('addons_searchengines_devmo_link'), 'http://developer.mozilla.org/'))?></li>
+ <li><?=$html->link(sprintf(___('See All %1$s'), $this_category['Translation']['name']['string']), "/browse/type:{$this_category['Category']['addontype_id']}/cat:{$this_category['Category']['id']}?sort=name", array('class'=>'view'))?></li>
+ <li><?=sprintf(___('Browse through more search engines at %1$s'), $html->link(___('mycroft.mozdev.org'), 'http://mycroft.mozdev.org/'))?></li>
+ <li><?=sprintf(___('Learn how to %1$s at the %2$s.'),
+ $html->link(___('make your own'), 'http://developer.mozilla.org'.___('/en/docs/Creating_OpenSearch_plugins_for_Firefox')),
+ $html->link(___('Mozilla Developer Center'), 'http://developer.mozilla.org/'))?></li>
</ul>
</div>
- <div class="article prose highlight"> <?=_('addons_searchengines_thanks')?> </div>
+ <div class="article prose highlight"> <?=___('Special thanks to the Mycroft Project for their work on Firefox search engines.')?> </div>
</div><!-- /.secondary -->
diff --git a/site/app/views/addons/themes_landing.thtml b/site/app/views/addons/themes_landing.thtml
index 94f213d..d7dff51 100644
--- a/site/app/views/addons/themes_landing.thtml
+++ b/site/app/views/addons/themes_landing.thtml
@@ -51,7 +51,7 @@ $this->layout = 'amo2009';
<div class="featured-inner">
<div class="listing-header">
<ul>
- <li class="selected"><a href="?featured=recommended#featured"><?=___('addons_home_browse_recommended', 'Recommended')?></a></li>
+ <li class="selected"><a href="?featured=recommended#featured"><?=___('Recommended')?></a></li>
</ul>
</div>
<?php foreach ($featureAddons as $id => $addon): ?>
@@ -64,10 +64,10 @@ $this->layout = 'amo2009';
</div><!-- /.primary -->
<div class="secondary more-addons" role="navigation">
- <h3 class="compact"><?=$html->link(_('themes_landing_browse_themes'), "/browse/type:".ADDON_THEME."/cat:all?sort=name", array('class'=>'view'))?></h3>
+ <h3 class="compact"><?=$html->link(___('Browse Themes'), "/browse/type:".ADDON_THEME."/cat:all?sort=name", array('class'=>'view'))?></h3>
<ul class="highlight">
- <li><?=$html->link(_('themes_landing_all_themes'), "/browse/type:".ADDON_THEME."/cat:all?sort=name")?></li>
+ <li><?=$html->link(___('All Themes'), "/browse/type:".ADDON_THEME."/cat:all?sort=name")?></li>
<?php foreach ($subcats as $subcat): ?>
<li class="sub-category"><?=$html->link($subcat['Translation']['name']['string'], "/browse/type:{$subcat['Category']['addontype_id']}/cat:{$subcat['Category']['id']}?sort=name", array('class' => 'category'))?></li>
<?php endforeach; ?>
diff --git a/site/app/views/addons/versions.thtml b/site/app/views/addons/versions.thtml
index 0973197..75bb15d 100644
--- a/site/app/views/addons/versions.thtml
+++ b/site/app/views/addons/versions.thtml
@@ -59,8 +59,8 @@ $addonIconPath = $this->controller->Image->getAddonIconURL($addon['Addon']['id']
<?php
echo $this->renderElement('notification', array(
'type' => 'warning',
- 'msg' => ___('addons_versions_careful'),
- 'description' => ___('addons_versions_careful_introduction')
+ 'msg' => ___('Be Careful With Old Versions'),
+ 'description' => ___('These versions are displayed for reference and testing purposes. You should always use the latest version of an add-on.')
));
?>
@@ -107,14 +107,14 @@ $addonIconPath = $this->controller->Image->getAddonIconURL($addon['Addon']['id']
$license_name = $this->controller->License->getName($_version_data['license_id']);
$license_link = $html->link($license_name, '/versions/license/'.$version['Version']['id']);
echo '<li class="license">'
- .___('addons_display_header_license').' '
+ .___('Source Code License').' '
.$license_link
.'</li>';
}
if ($show_source) {
echo '<li class="source">'
- .$html->link(_('addons_display_view_source'),
+ .$html->link(___('View the source'),
"/files/browse/{$version['File'][0]['id']}")
.'</li>';
}
@@ -127,7 +127,7 @@ $addonIconPath = $this->controller->Image->getAddonIconURL($addon['Addon']['id']
<?php endforeach; ?>
</div><!-- /listing -->
- <p><?=$html->link(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), "/addon/{$addon['Addon']['id']}");?></p>
+ <p><?=$html->link(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), "/addon/{$addon['Addon']['id']}");?></p>
</div><!-- primary -->
@@ -137,7 +137,7 @@ $addonIconPath = $this->controller->Image->getAddonIconURL($addon['Addon']['id']
if (gIsFirefox) {
addons_history.init();
addons_history.createLatestVersionElement("<?php
- echo addslashes(___('addon_versions_getlatestversion'))
+ echo addslashes(___('The most recent version compatible with %1$s %2$s'))
?>", "<?=addslashes(APP_PRETTYNAME)?>");
}
});
diff --git a/site/app/views/admin/addons_status.thtml b/site/app/views/admin/addons_status.thtml
index 4c1f122..2b81c19 100644
--- a/site/app/views/admin/addons_status.thtml
+++ b/site/app/views/admin/addons_status.thtml
@@ -54,7 +54,7 @@
foreach ($addon['Version'] as $version) {
$version_link = $html->link("{$version['id']}", '/editors/review/'.$version['id']);
echo "<li>Version {$version_link}: {$version['version']}
- <span class='version-date-created'>".strftime(___('datetime'), strtotime($version['created']))."</span></li>";
+ <span class='version-date-created'>".strftime(___('%B %e, %Y, %I:%M %p'), strtotime($version['created']))."</span></li>";
if (!empty($version['File'])) {
echo '<ul>';
foreach ($version['File'] as $file) {
diff --git a/site/app/views/admin/flagged_queue.thtml b/site/app/views/admin/flagged_queue.thtml
index 7e6a5dc..1c10f67 100644
--- a/site/app/views/admin/flagged_queue.thtml
+++ b/site/app/views/admin/flagged_queue.thtml
@@ -50,7 +50,7 @@
<table width="100%" id="flagged">
<tr class="queueHeader">
<td>&nbsp;</td>
- <td><?=_('editors_th_addon')?></td>
+ <td><?=___('Add-on')?></td>
<td>Review</td>
<td>Flagged on</td>
<td>Flagged by</td>
@@ -86,7 +86,7 @@ if (!empty($addons)):
<p><input type="submit" value="Unflag Selected Add-ons"/></p>
<?php else: ?>
- <tr><td colspan=8 class="emptyQueue"><?=_('editors_notice_none_found')?></td></tr>
+ <tr><td colspan=8 class="emptyQueue"><?=___('There are currently no add-ons of this type to review.')?></td></tr>
</table>
<?php endif; ?>
diff --git a/site/app/views/admin/users_edit.thtml b/site/app/views/admin/users_edit.thtml
index 1af35e5..6d3c4a3 100644
--- a/site/app/views/admin/users_edit.thtml
+++ b/site/app/views/admin/users_edit.thtml
@@ -73,49 +73,49 @@ $this->translationBox = array(
<?=$html->input('User/email', array('value' => $user['User']['email']))?>
</div>
<div>
- <label for="UserFirstname"><?=_('user_form_firstname')?></label>
+ <label for="UserFirstname"><?=___('First name')?></label>
<?=$html->input('User/firstname', array('value' => $user['User']['firstname'])) ?>
- <?=$html->tagErrorMsg('User/firstname', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('User/firstname', ___('This field must not be empty.'))?>
</div>
<div>
- <label for="UserLastname"><?=_('user_form_lastname')?></label>
+ <label for="UserLastname"><?=___('Last name')?></label>
<?=$html->input('User/lastname', array('value' => $user['User']['lastname'])) ?>
- <?=$html->tagErrorMsg('User/lastname', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('User/lastname', ___('This field must not be empty.'))?>
</div>
<div>
- <label for="UserNickname"><?=_('user_form_nickname')?></label>
+ <label for="UserNickname"><?=___('Nickname')?></label>
<?=$html->input('User/nickname', array('value' => $user['User']['nickname'])) ?>
- <?=$html->tagErrorMsg('User/nickname', _('error_user_nickname_notunique'))?>
+ <?=$html->tagErrorMsg('User/nickname', ___('This nickname is already taken.'))?>
</div>
<div>
- <label for="UserEmailhidden"><?=_('user_form_hideemail')?></label>
+ <label for="UserEmailhidden"><?=___('Hide email address')?></label>
<?=$html->checkBox('User/emailhidden', null, array('checked' => ($user['User']['emailhidden'] ? 'checked' : false), 'value' => 1)) ?>
</div>
<div>
- <label for="UserSandboxshown"><?=_('user_form_showsandbox')?></label>
+ <label for="UserSandboxshown"><?=___('Show sandbox?')?></label>
<?=$html->checkBox('User/sandboxshown', null, array('checked' => ($user['User']['sandboxshown'] ? 'checked' : false), 'value' => 1)) ?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserLocation"><?=___('user_form_location', 'Location')?></label>
+ <label class="amo-label-large" for="UserLocation"><?=___('Location')?></label>
<?=$html->input('User/location', array('value' => stripslashes($user['User']['location']))) ?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserOccupation"><?=___('user_form_occupation', 'Occupation')?></label>
+ <label class="amo-label-large" for="UserOccupation"><?=___('Occupation')?></label>
<?=$html->input('User/occupation', array('value' => stripslashes($user['User']['occupation']))) ?>
</div>
<div>
- <label for="UserHomepage"><?=_('user_form_homepage')?></label>
+ <label for="UserHomepage"><?=___('Website URL')?></label>
<?=$html->input('User/homepage', array('value' => $user['User']['homepage'])) ?>
- <?=$html->tagErrorMsg('User/homepage', _('error_invalid_url'))?>
+ <?=$html->tagErrorMsg('User/homepage', ___('This URL has an invalid format. Valid URLs look like http://example.com/my_page.'))?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserPictureData"><?=___('user_form_picture', 'Picture')?></label>
+ <label class="amo-label-large" for="UserPictureData"><?=___('Picture')?></label>
<div class="edit-picture">
- <img src="<?=$html->url("/user/{$user['User']['id']}/picture")?>" alt="<?=empty($user['User']['picture_data']) ? ___('user_picture_alt_no_picture', 'No photo') : ___('user_picture_alt_name', "Picture of {$this->data['User']['email']}")?>" class="avatar photo-large photo" />
+ <img src="<?=$html->url("/user/{$user['User']['id']}/picture")?>" alt="<?=empty($user['User']['picture_data']) ? ___('No photo') : ___('Picture of %1$s')?>" class="avatar photo-large photo" />
<br />
- <label for="UserRemovepicture"><?=___('user_form_delete_picture', 'Remove this picture?')?></label>
+ <label for="UserRemovepicture"><?=___('Remove this picture?')?></label>
<?=$html->checkBox('User/removepicture') ?><br />
- <label for="UserRemovepicture"><?=___('user_form_new_picture', 'Upload a new picture?')?></label>
+ <label for="UserRemovepicture"><?=___('Upload a new picture?')?></label>
<?=$html->file('User/picture_data') ?>
<?=$html->tagErrorMsg('User/picture_data', @$picture_error)?>
</div>
@@ -128,8 +128,8 @@ $this->translationBox = array(
'translations' => $translations['bio'],
'height' => '100',
'maxLength' => '500',
- 'displayName' => ___('user_form_bio'),
- 'description' => ___('user_form_bio_description'),
+ 'displayName' => ___('About me'),
+ 'description' => ___('Introduce yourself to the community, if you like! This text will appear publicly on your user info page. Line breaks will be preserved, but no HTML is allowed.'),
));
?>
</div>
diff --git a/site/app/views/api/api_addon.thtml b/site/app/views/api/api_addon.thtml
index a1dcf4c..a7added 100644
--- a/site/app/views/api/api_addon.thtml
+++ b/site/app/views/api/api_addon.thtml
@@ -52,9 +52,9 @@
<guid><?php echo $addon['Addon']['guid']; ?></guid>
<version><?php echo $addon['install_version']; ?></version>
<status id='<?php echo $addon['Addon']['status']; ?>'><?php if ($addon['Addon']['status'] == STATUS_PUBLIC) {
- echo rtrim(_('a_header_public'));
+ echo rtrim(___('Public'));
} else {
- echo rtrim(_('a_header_sandbox'));
+ echo rtrim(___('Sandbox'));
}
?></status>
<authors>
diff --git a/site/app/views/api/collections_feed.thtml b/site/app/views/api/collections_feed.thtml
index 7a3704f..f1c60a8 100644
--- a/site/app/views/api/collections_feed.thtml
+++ b/site/app/views/api/collections_feed.thtml
@@ -72,9 +72,9 @@ if (isset($error)) { ?>
<version><?php echo $addon['install_version']; ?></version>
<status id='<?php echo $addon['status']; ?>'><?php
if ($addon['status'] == STATUS_PUBLIC) {
- echo rtrim(_('a_header_public'));
+ echo rtrim(___('Public'));
} else {
- echo rtrim(_('a_header_sandbox'));
+ echo rtrim(___('Sandbox'));
}
?></status>
<authors>
diff --git a/site/app/views/collections/add.thtml b/site/app/views/collections/add.thtml
index 59362df..01f70c1 100644
--- a/site/app/views/collections/add.thtml
+++ b/site/app/views/collections/add.thtml
@@ -45,14 +45,14 @@
</div>
<div id="collections-add" class="primary" role="main">
<?=$this->renderElement('amo2009/breadcrumbs')?>
- <h2><?=___('collections_add_header')?></h2>
+ <h2><?=___('Create a Collection')?></h2>
- <p><?=___('collections_add_intro')?></p>
+ <p><?=___('It\'s easy to create your own collection of add-ons by filling in a few fields below.')?></p>
<?php
if (!empty($form_errors)) {
echo $this->renderElement('notification', array(
- 'msg' => ___('error_formerrors'),
+ 'msg' => ___('There are errors in this form. Please correct them and resubmit.'),
'type' => 'error'
));
}
@@ -63,45 +63,45 @@
<fieldset>
<div>
- <h3><label for="CollectionName"><?=___('collections_edit_formfield_name')?></label></h3>
- <p><?=___('collections_edit_formfield_name_description')?></p>
+ <h3><label for="CollectionName"><?=___('Collection Name')?></label></h3>
+ <p><?=___('Give your collection a descriptive name, such as "Dave\'s Favorite Travel Add-ons"')?></p>
<?=$html->input('Collection/name');?>
- <?=$html->tagErrorMsg('Collection/name', ___('collections_edit_form_error_name')) ?>
+ <?=$html->tagErrorMsg('Collection/name', ___('You must give your collection a name.')) ?>
</div>
<div>
- <h3><label for="CollectionDescription"><?=___('collections_edit_formfield_description')?></label></h3>
- <p><?=___('collections_edit_formfield_description_description')?></p>
+ <h3><label for="CollectionDescription"><?=___('Collection Description')?></label></h3>
+ <p><?=___('Briefly describe your collection and the kind of add-ons in it')?></p>
<?=$html->textarea('Collection/description', array('cols'=>50, 'rows'=>5));?>
- <?=$html->tagErrorMsg('Collection/description', ___('collections_edit_form_error_description')) ?>
+ <?=$html->tagErrorMsg('Collection/description', ___('You must provide a description of your collection.')) ?>
</div>
<div>
- <h3><label><?=___('collections_edit_formfield_listed')?></label></h3>
- <p><?=___('collections_edit_formfield_listed_description')?></p>
+ <h3><label><?=___('Who can view your collection?')?></label></h3>
+ <p><?=___('By default, collections appear in the public Collection Directory and are discoverable by anyone. If you want to restrict your collection to be viewable only by people who are given a special link, choose that option below.')?></p>
<?=$html->radio('Collection/listed', array(
- true => '<label for="listed_1">'.___('collections_edit_formfield_listed_true').'</label>',
- false => '<label for="listed_0">'.___('collections_edit_formfield_listed_false').'</label>'
+ true => '<label for="listed_1">'.___('Everyone can view my collection in the directory').'</label>',
+ false => '<label for="listed_0">'.___('Only people I invite can view my collection').'</label>'
), '<br/>', array('value' => (int)(!isset($this->data['Collection']['listed']) || $this->data['Collection']['listed']))
// defaults to true, or previously selected value on postback
)?>
</div>
<div id="firstaddons">
- <h3><label for="addonname"><?=___('collections_add_formfield_firstaddons')?></label></h3>
- <p><?=sprintf(___('collections_add_formfield_addons_description'),
- ___('collections_add_submit'))?></p>
- <label for="addonname"><?=___('collections_edit_formfield_addons')?></label>
+ <h3><label for="addonname"><?=___('Choose your first add-ons')?></label></h3>
+ <p><?=sprintf(___('If you already know which add-ons you want to add to your collection, just start typing their names below. If you\'d rather wait and do this later, just click %1$s now.'),
+ ___('Create Collection'))?></p>
+ <label for="addonname"><?=___('Add-on name:')?></label>
<input type="text" name="q" id="addonname"/>
<div id="selectedaddons">
- <h3><?=___('collections_add_header_selectedaddons')?></h3>
+ <h3><?=___('Selected Add-ons')?></h3>
<ul></ul>
</div>
</div>
<div>
- <label><?=$html->submit(___('collections_add_submit'), array('class'=>'submit-button'))?></label>
+ <label><?=$html->submit(___('Create Collection'), array('class'=>'submit-button'))?></label>
</div>
</fieldset>
</form>
diff --git a/site/app/views/collections/detail.thtml b/site/app/views/collections/detail.thtml
index 5a3e95f..e447b31 100644
--- a/site/app/views/collections/detail.thtml
+++ b/site/app/views/collections/detail.thtml
@@ -58,8 +58,8 @@ $c = $collection['Collection'];
$uuid = $collection['Collection']['uuid'];
if (!empty($collection_created)) {
echo $this->renderElement('notification', array(
- 'msg' => ___('collections_detail_created_msg'),
- 'description' => sprintf(___('collections_detail_created_desc'),
+ 'msg' => ___('Your collection is now ready!'),
+ 'description' => sprintf(___('<p>You can view your new collection below. If you\'d like to set a collection nickname, upload an icon, or change additional settings, please visit the <a href="%1$s">Manage Collections</a> page.</p><p>Your collection can be accessed at this location: %2$s</p>'),
$html->url('/collections/edit/'.$uuid),
$html->link(SITE_URL.$html->rootUrl('/collection/'.$uuid),
'/collection/'.$uuid)),
@@ -87,35 +87,35 @@ $c = $collection['Collection'];
</li>
<?php else: ?>
<li>
- <?=sprintf(___('collections_detail_login'),
+ <?=sprintf(___('<a href="%1$s">Log in</a> to add this collection to your favorites.'),
$html->url($html->login_url()))?>
</li>
<?php endif; ?>
<li class="subscribers">
<?php $subscribers = $c['subscribers']; ?>
- <?=sprintf(n___('addons_home_collections_subscribers',
- 'addons_home_collections_subscribers',
+ <?=sprintf(n___('<strong>%1$s</strong> subscriber',
+ '<strong>%1$s</strong> subscribers',
$subscribers),
$subscribers);?>
</li>
<li>
<?php if ($writable): ?>
<a href="<?=$html->url('/collections/edit/'.$c['uuid'])?>">
- <?=sprintf(___('collections_detail_manage'))?>
+ <?=sprintf(___('Manage Collection'))?>
</a>
<?php endif; ?>
</ul>
</div> <!-- meta -->
- <h3><?=___('collections_detail_header_about')?></h3>
+ <h3><?=___('About This Collection')?></h3>
<p><?=$collection['Translation']['description']['string']?></p>
<div class="object-info">
<p>
- <?=sprintf(___('collections_detail_info_created'),
+ <?=sprintf(___('<strong>Created by:</strong> %1$s'),
$html->linkUsersFromModel($collection['Users']))?>
</p>
<p>
- <?=___('collections_detail_info_updated')?>
- <?=strftime(___('date'), strtotime($c['modified']))?>
+ <?=___('<strong>Updated:</strong>')?>
+ <?=strftime(___('%B %e, %Y'), strtotime($c['modified']))?>
</p>
</div>
</div> <!-- featured-inner -->
@@ -123,20 +123,20 @@ $c = $collection['Collection'];
<div class="separated-listing">
<h3>
<?php $count = $collection['Collection']['addonCount']; ?>
- <?=sprintf(n___('collections_detail_header_count', 'collections_detail_header_count',
+ <?=sprintf(n___('%1$s Add-on in this Collection', '%1$s Add-ons in this Collection',
$count),
$count)?>
</h3>
<form class="item-sort go" method="get" action="">
<div>
- <label for="sortby"><?=___('collections_index_label_sortby')?></label>
+ <label for="sortby"><?=___('Sort by')?></label>
<select id="sortby" name="sortby">
<?php foreach($sort_options as $value => $text): ?>
<?php $selected = ($value == $sortby) ? 'selected="selected"' : ''; ?>
<option value="<?=$value?>" <?=$selected?>><?=$text?></option>
<?php endforeach; ?>
</select>
- <button><?=___('collections_index_button_go')?></button>
+ <button><?=___('Go')?></button>
</div>
</form>
<?=$this->renderElement('amo2009/separated_list_items', array(
diff --git a/site/app/views/collections/edit.thtml b/site/app/views/collections/edit.thtml
index 19cbcce..6ae1b96 100644
--- a/site/app/views/collections/edit.thtml
+++ b/site/app/views/collections/edit.thtml
@@ -65,14 +65,14 @@ $this->translationBox = array(
<form action="<?=$html->entities($html->url())?>" method="post" id="collections" enctype="multipart/form-data">
<?=$html->hiddenSession()?>
- <h2><?=sprintf(___('collections_edit_header'), $this->data['Collection']['Translation']['name']['string'])?></h2>
+ <h2><?=sprintf(___('Manage %1$s'), $this->data['Collection']['Translation']['name']['string'])?></h2>
<?php
if (!empty($collection_saved)) {
echo $this->renderElement('notification', array(
'type' => 'success',
- 'msg' => ___('collections_edit_saved_success'),
- 'description' => ___('collections_edit_saved_nextstep').' '
+ 'msg' => ___('Your collection was successfully saved!'),
+ 'description' => ___('Your collection can be accessed at this location:').' '
.$html->link(SITE_URL.$html->url($collection_url), $collection_url),
'htmlattributes' => array('id' => 'saved_success')
));
@@ -86,15 +86,15 @@ JS;
} elseif (!empty($form_errors)) {
echo $this->renderElement('notification', array(
'type' => 'error',
- 'msg' => ___('error_formerrors')
+ 'msg' => ___('There are errors in this form. Please correct them and resubmit.')
));
}
echo $this->renderElement('notification', array(
'type' => 'warning',
- 'msg' => ___('collections_edit_delete_warning'),
- 'description' => sprintf(___('collections_edit_delete_upon_submit'),
- ___('collections_edit_submit_deletecollection'),
- ___('collections_edit_tabheader_advanced')),
+ 'msg' => ___('Your collection is about to be deleted!'),
+ 'description' => sprintf(___('Upon clicking "%1$s" below, your collection will be deleted. If you do not want to delete your collection, uncheck the confirmation box in the "%2$s" tab and continue editing your collection. If you leave this page without saving, your collection will also not be deleted.'),
+ ___('Delete Collection'),
+ ___('Advanced')),
'htmlattributes' => array(
'id' => 'delete-warning',
'style' => 'display:none'
@@ -105,12 +105,12 @@ JS;
<div id="coll-edit" class="flora">
<ul class="tabs-nav">
<?php if ($atleast_manager): ?>
- <li><a href="#details"><span><?=___('collections_edit_tabheader_details')?></span></a></li>
- <li><a href="#permissions"><span><?=___('collections_edit_tabheader_permissions')?></span></a></li>
+ <li><a href="#details"><span><?=___('Name &amp; Details')?></span></a></li>
+ <li><a href="#permissions"><span><?=___('Permissions')?></span></a></li>
<?php endif; ?>
- <li><a href="#addons"><span><?=___('collections_edit_tabheader_addons')?></span></a></li>
+ <li><a href="#addons"><span><?=___('Add-ons')?></span></a></li>
<?php if ($atleast_manager): ?>
- <li><a href="#advanced"><span><?=___('collections_edit_tabheader_advanced')?></span></a></li>
+ <li><a href="#advanced"><span><?=___('Advanced')?></span></a></li>
<?php endif; ?>
</ul>
@@ -123,11 +123,11 @@ JS;
'translations' => $translations['name'],
'height' => '25',
'maxLength' => '50',
- 'displayName' => ___('collections_edit_formfield_name'),
- 'description' => ___('collections_edit_formfield_name_description'),
+ 'displayName' => ___('Collection Name'),
+ 'description' => ___('Give your collection a descriptive name, such as "Dave\'s Favorite Travel Add-ons"'),
));
?>
- <?=$html->tagErrorMsg('Collection/name', ___('collections_edit_form_error_name')) ?>
+ <?=$html->tagErrorMsg('Collection/name', ___('You must give your collection a name.')) ?>
</div>
<div>
@@ -137,60 +137,60 @@ JS;
'translations' => $translations['description'],
'height' => '100',
'maxLength' => '200',
- 'displayName' => ___('collections_edit_formfield_description'),
- 'description' => ___('collections_edit_formfield_description_description'),
+ 'displayName' => ___('Collection Description'),
+ 'description' => ___('Briefly describe your collection and the kind of add-ons in it'),
));
?>
- <?=$html->tagErrorMsg('Collection/description', ___('collections_edit_form_error_description')) ?>
+ <?=$html->tagErrorMsg('Collection/description', ___('You must provide a description of your collection.')) ?>
</div>
<div>
- <h4><label for="CollectionNickname"><?=___('collections_edit_formfield_nickname')?></label></h4>
- <p><?=___('collections_edit_formfield_nickname_description')?></p>
+ <h4><label for="CollectionNickname"><?=___('Collection Nickname')?></label></h4>
+ <p><?=___('Optionally, give your collection a unique nickname for quick access:')?></p>
<p>
<?=SITE_URL.$html->url('/collection/', true, false, false)
.$html->input('Collection/nickname', array('maxlength'=>30, 'value'=>$this->data['Collection']['Collection']['nickname']));?>
- <input type="button" value="<?=___('collections_edit_check_nickname')?>" style="display:none" id="nick-avail" />
+ <input type="button" value="<?=___('Check Availability')?>" style="display:none" id="nick-avail" />
<?=$html->image('ajax_loading.gif', array('style'=>'display:none', 'width'=>15, 'height'=>15, 'alt'=>'searching'))?>
- <span class="available" style="display:none"><?=___('collections_edit_nickname_available')?></span>
- <span class="taken error_message" style="display:none"><?=___('collections_edit_nickname_taken')?></span>
+ <span class="available" style="display:none"><?=___('Nickname Available')?></span>
+ <span class="taken error_message" style="display:none"><?=___('Nickname Taken')?></span>
</p>
- <?=$html->tagErrorMsg('Collection/nickname', ___('collections_edit_form_error_nickname')) ?>
+ <?=$html->tagErrorMsg('Collection/nickname', ___('If you choose a nickname, it must be unique.')) ?>
</div>
<div id="icon">
- <h4><label for="CollectionIcon"><?=___('collections_edit_formfield_icon')?></label></h4>
- <p><?=___('collections_edit_formfield_icon_description')?></p>
+ <h4><label for="CollectionIcon"><?=___('Icon')?></label></h4>
+ <p><?=___('You can upload a JPG, GIF or PNG icon that will be resized to 32x32 pixels.')?></p>
<?php if (!empty($this->data['Collection']['Collection']['icontype'])): ?>
<img src="<?=$iconurl.(!empty($collection_saved)?'/updated':'')?>" alt="Icon"/>
<?php endif;?>
<input id="CollectionIcon" type="file" name="icon"/>
- <span class="toberemoved" style="display:none"><?=sprintf(___('collections_edit_icon_toberemoved'), ___('collections_edit_submit'))?></span>
- <a href="#" class="cancel" style="display:none"><?=___('collections_edit_icon_cancel')?></a>
+ <span class="toberemoved" style="display:none"><?=sprintf(___('Icon will be removed when "%1$s" is clicked below'), ___('Update Collection'))?></span>
+ <a href="#" class="cancel" style="display:none"><?=___('Cancel')?></a>
<noscript>
<p>
- <input id="IconDeleteNoScript" type="checkbox" name="data[Icon][delete]"/> <label for="IconDeleteNoScript"><?=___('collections_edit_icon_delete')?></label>
+ <input id="IconDeleteNoScript" type="checkbox" name="data[Icon][delete]"/> <label for="IconDeleteNoScript"><?=___('Delete Icon')?></label>
</p>
</noscript>
<span class="replaceremove" style="display:none">
- <a href="#" id="icon_replace"><?=___('collections_edit_icon_replace')?></a> |
- <a href="#" id="icon_remove"><?=___('collections_edit_icon_delete')?></a>
+ <a href="#" id="icon_replace"><?=___('Replace Icon')?></a> |
+ <a href="#" id="icon_remove"><?=___('Delete Icon')?></a>
</span>
- <?=$html->tagErrorMsg('Collection/icon', ___('collections_edit_form_error_icon')) ?>
+ <?=$html->tagErrorMsg('Collection/icon', ___('There was an error uploading your icon.')) ?>
</div>
</div>
<div id="permissions">
- <noscript><h3><?=___('collections_edit_header_permissions')?></h3></noscript>
+ <noscript><h3><?=___('Manage Collection Permissions')?></h3></noscript>
<div>
<fieldset>
- <h4><?=___('collections_edit_formfield_listed')?></h4>
- <p><?=___('collections_edit_formfield_listed_description')?></p>
+ <h4><?=___('Who can view your collection?')?></h4>
+ <p><?=___('By default, collections appear in the public Collection Directory and are discoverable by anyone. If you want to restrict your collection to be viewable only by people who are given a special link, choose that option below.')?></p>
<?=$html->radio('Collection/listed', array(
- true => '<label for="listed_1">'.___('collections_edit_formfield_listed_true').'</label>',
- false => '<label for="listed_0">'.___('collections_edit_formfield_listed_false').'</label>'
+ true => '<label for="listed_1">'.___('Everyone can view my collection in the directory').'</label>',
+ false => '<label for="listed_0">'.___('Only people I invite can view my collection').'</label>'
), '<br/>', array('value'=>$this->data['Collection']['Collection']['listed']));
?>
</fieldset>
@@ -198,44 +198,44 @@ JS;
<div>
<fieldset>
- <h4><?=___('collections_edit_formfield_publishers')?></h4>
- <p><?=___('collections_edit_formfield_publishers_description')?></p>
+ <h4><?=___('Who can publish add-ons to your collection?')?></h4>
+ <p><?=___('These users can publish add-ons to your collection and remove add-ons that they publish.')?></p>
<?=$html->radio('Publishers/p_onlyme', array(
- true => '<label for="p_onlyme_1">'.___('collections_edit_formfield_users_onlyme').'</label>',
- false => '<label for="p_onlyme_0">'.___('collections_edit_formfield_users_otherusers').'</label>'
+ true => '<label for="p_onlyme_1">'.___('Only me').'</label>',
+ false => '<label for="p_onlyme_0">'.___('Myself and these users:').'</label>'
), '<br/>', array('value'=>(int)empty($publishers_noscript)));
?>
<div id="publishers" class="jsonly">
<ul></ul>
- <label for="PublishersAdd"><?=___('collections_edit_formfield_users_add')?></label><br/>
- <?=$html->input('Publishers/add')?> <input type="button" value="<?=___('collections_edit_formfield_users_submit')?>" />
+ <label for="PublishersAdd"><?=___('Enter the e-mail address of a Firefox Add-ons account:')?></label><br/>
+ <?=$html->input('Publishers/add')?> <input type="button" value="<?=___('Add')?>" />
<?=$html->image('ajax_loading.gif', array('style'=>'display:none', 'width'=>15, 'height'=>15, 'alt'=>'searching'))?>
</div>
<noscript><div>
- <?=$html->input('Publishers/new')?> <label for="PublishersNew"><?=___('collections_edit_formfield_users_new_noscript')?></label><br/>
- <?=$html->selectTag('Publishers/delete', $publishers_noscript, null, array('size'=>3, 'multiple'=>'multiple'), null, false)?> <label for="PublishersDelete"><?=___('collections_edit_formfield_users_delete_noscript')?></label>
+ <?=$html->input('Publishers/new')?> <label for="PublishersNew"><?=___('Enter a comma-separated list of e-mail addresses of Firefox Add-ons accounts')?></label><br/>
+ <?=$html->selectTag('Publishers/delete', $publishers_noscript, null, array('size'=>3, 'multiple'=>'multiple'), null, false)?> <label for="PublishersDelete"><?=___('Selected accounts will be removed upon Save')?></label>
</div></noscript>
</fieldset>
</div>
<div>
<fieldset>
- <h4><?=___('collections_edit_formfield_managers')?></h4>
- <p><?=___('collections_edit_formfield_managers_description')?></p>
+ <h4><?=___('Who can manage my collection?')?></h4>
+ <p><?=___('These users can publish add-ons to your collection, manage all add-ons and settings, and grant other users permission.')?></p>
<?=$html->radio('Managers/m_onlyme', array(
- true => '<label for="m_onlyme_1">'.___('collections_edit_formfield_users_onlyme').'</label>',
- false => '<label for="m_onlyme_0">'.___('collections_edit_formfield_users_otherusers').'</label>'
+ true => '<label for="m_onlyme_1">'.___('Only me').'</label>',
+ false => '<label for="m_onlyme_0">'.___('Myself and these users:').'</label>'
), '<br/>', array('value'=>(int)empty($managers_noscript)));
?>
<div id="managers" class="jsonly">
<ul></ul>
- <label for="ManagersAdd"><?=___('collections_edit_formfield_users_add')?></label><br/>
- <?=$html->input('Managers/add')?> <input type="button" value="<?=___('collections_edit_formfield_users_submit')?>" />
+ <label for="ManagersAdd"><?=___('Enter the e-mail address of a Firefox Add-ons account:')?></label><br/>
+ <?=$html->input('Managers/add')?> <input type="button" value="<?=___('Add')?>" />
<?=$html->image('ajax_loading.gif', array('style'=>'display:none', 'width'=>15, 'height'=>15, 'alt'=>'searching'))?>
</div>
<noscript><div>
- <?=$html->input('Managers/new')?> <label for="ManagersNew"><?=___('collections_edit_formfield_users_new_noscript')?></label><br/>
- <?=$html->selectTag('Managers/delete', $managers_noscript, null, array('size'=>3, 'multiple'=>'multiple'), null, false)?> <label for="ManagersDelete"><?=___('collections_edit_formfield_users_delete_noscript')?></label>
+ <?=$html->input('Managers/new')?> <label for="ManagersNew"><?=___('Enter a comma-separated list of e-mail addresses of Firefox Add-ons accounts')?></label><br/>
+ <?=$html->selectTag('Managers/delete', $managers_noscript, null, array('size'=>3, 'multiple'=>'multiple'), null, false)?> <label for="ManagersDelete"><?=___('Selected accounts will be removed upon Save')?></label>
</div></noscript>
</fieldset>
</div>
@@ -243,32 +243,32 @@ JS;
<?php endif; // at least manager ?>
<div id="addons">
- <noscript><h3><?=___('collections_edit_header_addons')?></h3></noscript>
- <p class="jsonly"><?=___('collections_edit_addons_description')?> <?=___('collections_edit_addons_description_publish_detailspage')?></p>
- <noscript><p><?=___('collections_edit_addons_description_noscript')?> <?=___('collections_edit_addons_description_publish_detailspage')?></p></noscript>
- <label for="addonname" class="jsonly"><?=___('collections_edit_formfield_addons')?></label> <input type="text" name="q" id="addonname"/>
- <input type="button" onclick="return false;" value="<?=___('collections_edit_addons_submit')?>" id="addon-add" class="jsonly" />
+ <noscript><h3><?=___('Manage Collection Contents')?></h3></noscript>
+ <p class="jsonly"><?=___('To publish new add-ons to this collection, start typing their names below.')?> <?=___('You can also publish an add-on from its normal listing page.')?></p>
+ <noscript><p><?=___('To publish new add-ons to this collection, enter a comma-separated list of Add-on IDs below.')?> <?=___('You can also publish an add-on from its normal listing page.')?></p></noscript>
+ <label for="addonname" class="jsonly"><?=___('Add-on name:')?></label> <input type="text" name="q" id="addonname"/>
+ <input type="button" onclick="return false;" value="<?=___('Add to Collection')?>" id="addon-add" class="jsonly" />
<hr/>
<noscript><div>
- <h3><?=___('collections_edit_header_addons_current')?></h3>
+ <h3><?=___('Current Add-ons:')?></h3>
<?=$html->selectTag('Addons/delete', $addons_noscript, null, array('size'=>6, 'multiple'=>'multiple'), null, false)?>
- <label for="AddonsDelete"><?=___('collections_edit_addons_delete_noscript')?></label>
+ <label for="AddonsDelete"><?=___('Selected add-ons will be removed upon Save')?></label>
</div></noscript>
<div id="currentaddons" class="jsonly">
- <h3><?=___('collections_edit_header_addons_current')?></h3>
+ <h3><?=___('Current Add-ons:')?></h3>
<div class="coll-addon" id="addon-new" style="display:none">
- <p><img src="" alt=""/><span class="name"></span><span class="added"><?=___('collections_edit_addons_listitem_added')?></span></p>
- <a href="#" class="removeaddon"><?=___('collections_edit_addons_listitem_remove')?></a>
+ <p><img src="" alt=""/><span class="name"></span><span class="added"><?=___('Added %1$s by %2$s')?></span></p>
+ <a href="#" class="removeaddon"><?=___('Remove')?></a>
<blockquote title="publishercomment"></blockquote>
- <a href="#" class="addlink"><?=___('collections_edit_addons_listitem_comment_add')?></a>
+ <a href="#" class="addlink"><?=___('Add publisher comment')?></a>
<div class="editdelete">
- <a href="#" class="editlink"><?=___('collections_edit_addons_listitem_comment_edit')?></a> |
- <a href="#" class="deletelink"><?=___('collections_edit_addons_listitem_comment_delete')?></a>
+ <a href="#" class="editlink"><?=___('Edit publisher comment')?></a> |
+ <a href="#" class="deletelink"><?=___('Delete publisher comment')?></a>
</div>
<div class="editbox">
<textarea cols="50" rows="5"></textarea>
- <input type="button" value="<?=___('collections_edit_addons_listitem_comment_submit')?>"/>
- <p><?=___('collections_edit_addons_listitem_comment_note')?></p>
+ <input type="button" value="<?=___('Save Comment')?>"/>
+ <p><?=___('Note: Comment will appear as though written by original publisher on the original publication date')?></p>
</div>
</div>
</div>
@@ -276,35 +276,35 @@ JS;
<?php if ($atleast_manager): ?>
<div id="advanced">
- <noscript><h3><?=___('collections_edit_header_advanced')?></h3></noscript>
+ <noscript><h3><?=___('Advanced Settings')?></h3></noscript>
<fieldset>
- <h4><?=___('collections_edit_formfield_application')?></h4>
- <p><?=___('collections_edit_formfield_application_description')?></p>
+ <h4><?=___('Associated Application')?></h4>
+ <p><?=___('Select the application that your collection supports.')?></p>
<?=$html->selectTag('Collection/application_id', $appoptions, $this->data['Collection']['Collection']['application_id'], null, null, false);?>
</fieldset>
<?php if ($isadmin): ?>
<fieldset>
- <h4><?=___('collections_edit_formfield_collectiontype')?></h4>
+ <h4><?=___('Collection Type')?></h4>
<?=$html->selectTag('Collection/collection_type', $collection_types, $this->data['Collection']['Collection']['collection_type'], null, null, false);?>
</fieldset>
<?php endif; ?>
<fieldset>
- <h4><?=___('collections_edit_formfield_deletecollection')?></h4>
- <p><?=___('collections_edit_formfield_deletecollection_description')?></p>
- <input id="delete-coll" type="button" class="jsonly" name="data[action]" value="<?=___('collections_edit_submit_deletecollection')?>"/>
+ <h4><?=___('Delete Collection')?></h4>
+ <p><?=___('Deleting your collection will permanently erase it.')?></p>
+ <input id="delete-coll" type="button" class="jsonly" name="data[action]" value="<?=___('Delete Collection')?>"/>
<div id="delete-confirm">
- <div><input id="delete-coll-noscript" type="checkbox" name="data[action]" value="delete-coll"/> <label for="delete-coll-noscript"><?=___('collections_edit_confirm_deletecollection')?></label></div>
- <p class="jsonly"><?=sprintf(___('collections_edit_confirm_deletecollection_description'), ___('collections_edit_submit_deletecollection'))?></p>
- <noscript><p><?=sprintf(___('collections_edit_confirm_deletecollection_description'), ___('collections_edit_submit'))?></p></noscript>
+ <div><input id="delete-coll-noscript" type="checkbox" name="data[action]" value="delete-coll"/> <label for="delete-coll-noscript"><?=___('Yes, I would like to delete this collection.')?></label></div>
+ <p class="jsonly"><?=sprintf(___('Check the box, then click on "%1$s" to delete this collection.'), ___('Delete Collection'))?></p>
+ <noscript><p><?=sprintf(___('Check the box, then click on "%1$s" to delete this collection.'), ___('Update Collection'))?></p></noscript>
</div>
</fieldset>
</div>
<?php endif; // at least manager ?>
</div><!-- /tabs -->
- <div><input type="submit" id="submitbutton" value="<?=___('collections_edit_submit')?>"/></div>
+ <div><input type="submit" id="submitbutton" value="<?=___('Update Collection')?>"/></div>
</form>
<script type="text/javascript">
@@ -321,7 +321,7 @@ JS;
$addon['AddonCollection']['addon_id'], // id
addslashes($html->unsanitize($addon['Addon']['Translation']['name']['string'])), // name
$this->controller->Image->getAddonIconURL($addon['AddonCollection']['addon_id']), // iconurl
- strftime(_('date'), strtotime($html->unsanitize($addon['AddonCollection']['added']))), // add date
+ strftime(___('%B %e, %Y'), strtotime($html->unsanitize($addon['AddonCollection']['added']))), // add date
$html->linkUserFromModel($addon['User']), // publisher
preg_replace('/\n/', '<br/>', $addon['Translation']['comments']['string']), // comment
(($atleast_manager || $addon['User']['id'] == $user['id']) ? 1 : 0), // editable
diff --git a/site/app/views/collections/listing.thtml b/site/app/views/collections/listing.thtml
index 6a060ad..45a7371 100644
--- a/site/app/views/collections/listing.thtml
+++ b/site/app/views/collections/listing.thtml
@@ -49,14 +49,14 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?=$this->renderElement('amo2009/breadcrumbs')?>
<?php if (empty($list_header)): ?>
- <h2><?=___('collections_index_header_collections')?></h2>
+ <h2><?=___('Collections')?></h2>
<?php else: ?>
<h2><?=$list_header?></h2>
<?php endif; ?>
<?php if (!empty($collection_deleted)): ?>
<?=$this->renderElement('notification', array(
'type' => 'success',
- 'msg' => ___('collections_success_delete')
+ 'msg' => ___('The collection has been deleted.')
));?>
<script type="text/javascript">/* <![CDATA[ */
$(document).ready(function() {
diff --git a/site/app/views/collections/subscribe.thtml b/site/app/views/collections/subscribe.thtml
index 43ebbc2..d131f18 100644
--- a/site/app/views/collections/subscribe.thtml
+++ b/site/app/views/collections/subscribe.thtml
@@ -57,17 +57,17 @@ if (!$is_ajax):
if (!empty($success)) {
echo $this->renderElement('notification', array(
'type' => 'success',
- 'msg' => sprintf(___('collections_subscribe_success'),
+ 'msg' => sprintf(___('%1$s has been added to your favorite collections.'),
$collection['Translation']['name']['string']),
- 'description' => sprintf(___('collections_subscribe_success_desc'),
+ 'description' => sprintf(___('You can now quickly find this collection from the <a href="%1$s">%2$s</a> tab in the directory. For an even easier way to keep track of your favorite collections, try out our <a href="%3$s">Add-on Collector</a> extension for Firefox.'),
$html->url('/collections/favorites'),
- ___('collections_index_li_favorites'),
+ ___('My Favorites'),
$html->url('/pages/collector_features'))
));
} else {
echo $this->renderElement('notification', array(
'type' => 'error',
- 'msg' => ___('collections_subscribe_error')
+ 'msg' => ___('An error occurred trying to add a favorite collection. Is this collection already a favorite?')
));
}
@@ -75,25 +75,25 @@ if (!$is_ajax):
if (!empty($success)) {
echo $this->renderElement('notification', array(
'type' => 'success',
- 'msg' => sprintf(___('collections_unsubscribe_success'),
+ 'msg' => sprintf(___('%1$s has been removed from your favorite collections.'),
$collection['Translation']['name']['string'])
));
} else {
echo $this->renderElement('notification', array(
'type' => 'error',
- 'msg' => ___('collections_unsubscribe_error')
+ 'msg' => ___('An error occurred trying to remove a favorite collection. Was this collection not a favorite?')
));
}
}
?>
<div class="footer">
- <?=$html->link(___('collections_subscribe_button_close'), '/collections',
+ <?=$html->link(___('Close'), '/collections',
array('class' => 'button close-button'));?>
<div class="bother">
<input type="checkbox" id="bothersome" name="bothersome">
<label for="bothersome">
- <?=___('collections_subscribe_label_bothersome')?>
+ <?=___('Don\'t show me this message again.')?>
</label>
</div>
</div>
diff --git a/site/app/views/compatibility/dashboard.thtml b/site/app/views/compatibility/dashboard.thtml
index bfc3595..af32ddc 100644
--- a/site/app/views/compatibility/dashboard.thtml
+++ b/site/app/views/compatibility/dashboard.thtml
@@ -42,16 +42,16 @@ $this->viewVars['bodyclass'] = 'inverse';
?>
<div id="content" class="primary prose" style="min-height: 400px;">
<div id="compat-home-nav">
- <a href="#" onclick="compatibility.viewHome(); return false;"><?=___('compatibility_dashboard_main_link', 'Back to Main')?></a>
+ <a href="#" onclick="compatibility.viewHome(); return false;"><?=___('Back to Main')?></a>
</div>
<div class="compat-box">
<div id="compat-intro">
- <h2><?=$html->image('wordmarks/firefox-'.$version.'.png', array('alt' => APP_PRETTYNAME." {$version}"))?><br /><?=___('compatibility_dashboard_center_header', 'Add-on Compatibility Center')?></h2>
- <p><?=sprintf(___('compatibility_dashboard_intro', 'Be prepared for the release of %1$s with the tools and information available for the %2$s Add-ons community found below.'), APP_PRETTYNAME." {$version}", APP_PRETTYNAME)?></p>
+ <h2><?=$html->image('wordmarks/firefox-'.$version.'.png', array('alt' => APP_PRETTYNAME." {$version}"))?><br /><?=___('Add-on Compatibility Center')?></h2>
+ <p><?=sprintf(___('Be prepared for the release of %1$s with the tools and information available for the %2$s Add-ons community found below.'), APP_PRETTYNAME." {$version}", APP_PRETTYNAME)?></p>
<ul>
- <li id="nav-report"><a href="<?=$html->url('/compatibility/report/'.$version)?>" onclick="compatibility.viewReport(); return false;"><?=___('compatibility_view_report', 'View Compatibility Report')?></a></li>
- <li id="nav-developers"><a href="<?=$html->url('/compatibility/developers/'.$version)?>" onclick="compatibility.viewDeveloperInfo(); return false;"><?=___('compatibility_developer_info', 'Information for Add-on Developers')?></a></li>
- <li id="nav-users"><a href="<?=$html->url('/compatibility/users/'.$version)?>" onclick="compatibility.viewEndUserInfo(); return false;"><?=___('compatibility_user_info', 'Information for Add-on Users')?></a></li>
+ <li id="nav-report"><a href="<?=$html->url('/compatibility/report/'.$version)?>" onclick="compatibility.viewReport(); return false;"><?=___('View Compatibility Report')?></a></li>
+ <li id="nav-developers"><a href="<?=$html->url('/compatibility/developers/'.$version)?>" onclick="compatibility.viewDeveloperInfo(); return false;"><?=___('Information for Add-on Developers')?></a></li>
+ <li id="nav-users"><a href="<?=$html->url('/compatibility/users/'.$version)?>" onclick="compatibility.viewEndUserInfo(); return false;"><?=___('Information for Add-on Users')?></a></li>
</ul>
</div>
@@ -59,10 +59,10 @@ $this->viewVars['bodyclass'] = 'inverse';
<div id="report-intro">
<div class="header">
<div class="title">
- <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('compatibility_report_title', 'Add-on Compatibility Report')?>
+ <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('Add-on Compatibility Report')?>
</div>
</div>
- <p class="intro"><?=sprintf(___('compatibility_report_intro', 'Of the %1$s add-ons that make up 95&#37; of add-on usage known to Mozilla, <b>%2$s&#37;</b> are currently considered compatible with the latest builds of %3$s.'), $html->number_format($totals['addons95']), round($percentages[COMPAT_LATEST]), APP_PRETTYNAME." {$version}")?></p>
+ <p class="intro"><?=sprintf(___('Of the %1$s add-ons that make up 95&#37; of add-on usage known to Mozilla, <b>%2$s&#37;</b> are currently considered compatible with the latest builds of %3$s.'), $html->number_format($totals['addons95']), round($percentages[COMPAT_LATEST]), APP_PRETTYNAME." {$version}")?></p>
<div id="overall-compat">
<div id="overall-compat-bar">
<div class="compat-other" style="width: <?=$percentages[COMPAT_OTHER]?>%;"><?=($percentages[COMPAT_OTHER] >= 5 ? round($percentages[COMPAT_OTHER]).'%': '')?></div>
@@ -74,44 +74,44 @@ $this->viewVars['bodyclass'] = 'inverse';
<div id="overall-compat-legend">
<div class="legend-box">
<div class="color-square compat-other"></div>
- <p><b><?=___('compatibility_report_legend_other', 'Other Versions')?></b><br /><?=sprintf(___('compatibility_report_legend_other_description', 'Add-ons not compatible with any version of %1$s'), APP_PRETTYNAME." {$version}")?></p>
+ <p><b><?=___('Other Versions')?></b><br /><?=sprintf(___('Add-ons not compatible with any version of %1$s'), APP_PRETTYNAME." {$version}")?></p>
</div>
<div class="legend-box">
<div class="color-square compat-alpha"></div>
- <p><b><?=___('compatibility_report_legend_alpha', 'Alpha Versions')?></b><br /><?=sprintf(___('compatibility_report_legend_alpha_description', 'Add-ons compatible with an alpha version of %1$s'), APP_PRETTYNAME." {$version}")?></p>
+ <p><b><?=___('Alpha Versions')?></b><br /><?=sprintf(___('Add-ons compatible with an alpha version of %1$s'), APP_PRETTYNAME." {$version}")?></p>
</div>
<div class="legend-box">
<div class="color-square compat-beta"></div>
- <p><b><?=___('compatibility_report_legend_beta', 'Beta Versions')?></b><br /><?=sprintf(___('compatibility_report_legend_beta_description', 'Add-ons compatible with a beta version or release candidate of %1$s'), APP_PRETTYNAME." {$version}")?></p>
+ <p><b><?=___('Beta Versions')?></b><br /><?=sprintf(___('Add-ons compatible with a beta version or release candidate of %1$s'), APP_PRETTYNAME." {$version}")?></p>
</div>
<div class="legend-box">
<div class="color-square compat-latest"></div>
- <p><b><?=___('compatibility_report_legend_latest', 'Latest Version')?></b><br /><?=sprintf(___('compatibility_report_legend_latest_description', 'Add-ons up-to-date with the latest builds of %1$s'), APP_PRETTYNAME." {$version}")?></p>
+ <p><b><?=___('Latest Version')?></b><br /><?=sprintf(___('Add-ons up-to-date with the latest builds of %1$s'), APP_PRETTYNAME." {$version}")?></p>
</div>
</div>
</div>
- <div class="details-link"><a href="#" onclick="compatibility.viewReportDetails();"><?=___('compatibility_report_detailed_link', 'View Detailed Report')?></a></div>
+ <div class="details-link"><a href="#" onclick="compatibility.viewReportDetails();"><?=___('View Detailed Report')?></a></div>
</div>
<div id="report-details">
<div class="header">
<div class="title">
- <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('compatibility_dashboard_report', 'Add-on Compatibility Report')?>
+ <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('Add-on Compatibility Report')?>
</div>
</div>
- <div class="loading"><?=___('compatibility_dashboard_loading', 'Loading data...')?></div>
+ <div class="loading"><?=___('Loading data...')?></div>
<div id="report-details-data"></div>
</div>
<div id="developers-intro">
<div class="header">
<div class="title">
- <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('compatibility_developer_info', 'Information for Add-on Developers')?>
+ <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('Information for Add-on Developers')?>
</div>
</div>
<br />
- <a href="https://developer.mozilla.org/En/Updating_extensions_for_<?=APP_PRETTYNAME." {$version}"?>"><?=$html->image('mdc-logo.png', array('class' => 'rightalign', 'alt' => ___('compatibility_developers_mdclogo_alt', 'Mozilla Developer Center Logo')))?></a>
+ <a href="https://developer.mozilla.org/En/Updating_extensions_for_<?=APP_PRETTYNAME." {$version}"?>"><?=$html->image('mdc-logo.png', array('class' => 'rightalign', 'alt' => ___('Mozilla Developer Center Logo')))?></a>
<?=$localization->includeLocalPage('compatibility_developer_tips', array(
APP_PRETTYNAME." {$version}",
APP_PRETTYNAME."_{$version}",
@@ -121,27 +121,27 @@ $this->viewVars['bodyclass'] = 'inverse';
))?>
<?php if ($loggedin): ?>
- <div class="details-link"><a href="#" onclick="compatibility.viewDeveloperDetails();"><?=___('compatibility_developers_check_status', 'Check Status of My Add-ons')?></a></div>
+ <div class="details-link"><a href="#" onclick="compatibility.viewDeveloperDetails();"><?=___('Check Status of My Add-ons')?></a></div>
<?php else: ?>
- <p class="login"><?=sprintf(___('compatibility_developers_login_first', 'If you have add-ons hosted on Mozilla Add-ons, <a href="%1$s">please login</a> to analyze the status of your add-ons for %2$s.'), $html->url($html->login_url()), APP_PRETTYNAME." {$version}")?></p>
+ <p class="login"><?=sprintf(___('If you have add-ons hosted on Mozilla Add-ons, <a href="%1$s">please log in</a> to analyze the status of your add-ons for %2$s.'), $html->url($html->login_url()), APP_PRETTYNAME." {$version}")?></p>
<?php endif; ?>
</div>
<div id="developers-details">
<div class="header">
<div class="title">
- <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('compatibility_developers_results', 'Add-on Status Check Results')?>
+ <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('Add-on Status Check Results')?>
</div>
</div>
- <div class="loading"><?=___('compatibility_developers_retrieving', 'Retrieving status of hosted add-ons...')?></div>
+ <div class="loading"><?=___('Retrieving status of hosted add-ons...')?></div>
<div id="developers-details-data"></div>
</div>
<div id="users-intro">
<div class="header">
<div class="title">
- <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('compatibility_user_info', 'Information for Add-on Users')?>
+ <?=$html->image('wordmarks/firefox-'.$version.'_small.png', array('alt' => APP_PRETTYNAME." {$version}"))?><?=___('Information for Add-on Users')?>
</div>
</div>
<br />
diff --git a/site/app/views/compatibility/developers.thtml b/site/app/views/compatibility/developers.thtml
index 45af4ee..e162215 100644
--- a/site/app/views/compatibility/developers.thtml
+++ b/site/app/views/compatibility/developers.thtml
@@ -40,7 +40,7 @@ if ($format != 'ajax') {
$this->viewVars['bodyclass'] = 'inverse';
?>
<div id="content" class="primary prose" style="min-height: 400px;">
- <h2><?=___('compatibility_developer_info', 'Information for Add-on Developers')?></h2>
+ <h2><?=___('Information for Add-on Developers')?></h2>
<?=$localization->includeLocalPage('compatibility_developer_tips', array(
APP_PRETTYNAME." {$version}",
APP_PRETTYNAME."_{$version}",
@@ -52,7 +52,7 @@ $this->viewVars['bodyclass'] = 'inverse';
}
if ($loggedin) {
if ($format != 'ajax') {
- echo '<h2>'.___('compatibility_developers_results', 'Add-on Status Check Results').'</h2>';
+ echo '<h2>'.___('Add-on Status Check Results').'</h2>';
}
if (!empty($addons)) {
@@ -63,18 +63,18 @@ if ($loggedin) {
echo '<div class="addon-details">';
echo '<span class="name">'.$addon['name'].'</span>';
echo '<span class="details">'.sprintf(___('compatibility_developers_user_count', '%1$s %2$s users (%3$s&#37; of total)'), $html->number_format($addon['versionCount'], 0), APP_PRETTYNAME." {$version}", $addon['percentage']);
- echo '&nbsp;&middot;&nbsp;<a href="'.$html->url('/developers/versions/edit/'.$addon['latestVersion']).'">'.___('compatibility_developers_adjust_maxversion', 'Adjust maxVersion without uploading').'</a></span>';
+ echo '&nbsp;&middot;&nbsp;<a href="'.$html->url('/developers/versions/edit/'.$addon['latestVersion']).'">'.___('Adjust maxVersion without uploading').'</a></span>';
echo '</div>';
echo '</li>';
}
echo '</ul>';
}
else {
- echo '<p class="login">'.___('compatibility_developers_no_addons', 'You do not have any add-ons hosted on Mozilla Add-ons.').'</p>';
+ echo '<p class="login">'.___('You do not have any add-ons hosted on Mozilla Add-ons.').'</p>';
}
}
else {
- echo '<p class="login">'.sprintf(__('compatibility_developers_login_first', 'If you have add-ons hosted on Mozilla Add-ons, <a href="%1$s">please login</a> to analyze the status of your add-ons for %2$s.'), $html->url($html->login_url()), APP_PRETTYNAME." {$version}").'</p>';
+ echo '<p class="login">'.sprintf(____('If you have add-ons hosted on Mozilla Add-ons, <a href="%1$s">please log in</a> to analyze the status of your add-ons for %2$s.'), $html->url($html->login_url()), APP_PRETTYNAME." {$version}").'</p>';
}
?>
<?php if ($format != 'ajax'): ?>
diff --git a/site/app/views/compatibility/report.thtml b/site/app/views/compatibility/report.thtml
index f84024f..7af4665 100644
--- a/site/app/views/compatibility/report.thtml
+++ b/site/app/views/compatibility/report.thtml
@@ -40,9 +40,9 @@ if ($format != 'ajax'):
$this->viewVars['bodyclass'] = 'inverse';
?>
<div id="content" class="primary prose" style="min-height: 400px;">
- <h2><?=___('compatibility_dashboard_report', 'Add-on Compatibility Report')?></h2>
+ <h2><?=___('Add-on Compatibility Report')?></h2>
<?php endif; ?>
- <p class="intro"><?=___('compatibility_report_detail_intro', 'The add-ons below make up 95% of add-on usage known to Mozilla and are ordered by their usage size.')?></p>
+ <p class="intro"><?=___('The add-ons below make up 95% of add-on usage known to Mozilla and are ordered by their usage size.')?></p>
<table id="compat-report">
<tbody>
<?php
diff --git a/site/app/views/compatibility/users.thtml b/site/app/views/compatibility/users.thtml
index b214dad..08d4187 100644
--- a/site/app/views/compatibility/users.thtml
+++ b/site/app/views/compatibility/users.thtml
@@ -39,7 +39,7 @@
$this->viewVars['bodyclass'] = 'inverse';
?>
<div id="content" class="primary prose" style="min-height: 400px;">
- <h2><?=___('compatibility_user_info', 'Information for Add-on Users')?></h2>
+ <h2><?=___('Information for Add-on Users')?></h2>
<?=$localization->includeLocalPage('compatibility_user_tips', array(
APP_PRETTYNAME." {$version}",
APP_PRETTYNAME,
diff --git a/site/app/views/developers/addon_edit.thtml b/site/app/views/developers/addon_edit.thtml
index fa2618a..f496451 100644
--- a/site/app/views/developers/addon_edit.thtml
+++ b/site/app/views/developers/addon_edit.thtml
@@ -40,32 +40,32 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
-
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
+
<dl id="edit-listing" class="actionbar">
- <dt class="edit-authors"><?=$html->link(___('devcp_edit_dt_manage_authors'), "/developers/addon/edit/{$addon_id}/authors")?></dt>
- <dd><?=___('devcp_edit_dd_manage_authors')?></dd>
- <dt class="edit-categories"><?=$html->link(___('devcp_edit_dt_manage_categories'), "/developers/addon/edit/{$addon_id}/categories")?></dt>
- <dd><?=___('devcp_edit_dd_manage_categories')?></dd>
- <dt class="edit-tags"><?=$html->link(___('devcp_edit_dt_manage_tag'), "/developers/addon/edit/{$addon_id}/tags")?></dt>
- <dd><?=___('devcp_edit_dd_manage_tags')?></dd>
- <dt class="edit-descriptions"><?=$html->link(___('devcp_edit_dt_manage_descriptions'), "/developers/addon/edit/{$addon_id}/descriptions")?></dt>
- <dd><?=___('devcp_edit_dd_manage_description')?></dd>
- <dt class="edit-properties"><?=$html->link(___('devcp_edit_dt_manage_properties'), "/developers/addon/edit/{$addon_id}/properties")?></dt>
- <dd><?=___('devcp_edit_dd_manage_properties')?></dd>
+ <dt class="edit-authors"><?=$html->link(___('Manage Add-on Authors'), "/developers/addon/edit/{$addon_id}/authors")?></dt>
+ <dd><?=___('Add or remove users that can manage this add-on.')?></dd>
+ <dt class="edit-categories"><?=$html->link(___('Manage Add-on Categories'), "/developers/addon/edit/{$addon_id}/categories")?></dt>
+ <dd><?=___('Select the relevant categories for each application your add-on supports.')?></dd>
+ <dt class="edit-tags"><?=$html->link(___('Manage Add-on Tags'), "/developers/addon/edit/{$addon_id}/tags")?></dt>
+ <dd><?=___('Add tags to your add-on.')?></dd>
+ <dt class="edit-descriptions"><?=$html->link(___('Manage Add-on Descriptions'), "/developers/addon/edit/{$addon_id}/descriptions")?></dt>
+ <dd><?=___('Add and modify translations for your add-on\'s summary, description, end-user license, and privacy policy.')?></dd>
+ <dt class="edit-properties"><?=$html->link(___('Manage Add-on Properties'), "/developers/addon/edit/{$addon_id}/properties")?></dt>
+ <dd><?=___('Change your add-on\'s name, homepage, icon, and other flags.')?></dd>
<dt class="edit-profile">
- <?=$html->link(___('devcp_edit_dt_manage_profile'),
+ <?=$html->link(___('Manage Developer Profile'),
"/developers/addon/edit/{$addon_id}/profile")?>
<?=$this->renderElement('amo2009/new_indicator')?>
</dt>
- <dd><?=___('devcp_edit_dd_manage_profile')?></dd>
+ <dd><?=___('Create or update a profile of yourself and your work in making this add-on.')?></dd>
<dt class="edit-contributions">
- <?=$html->link(___('devcp_edit_dt_manage_contributions'),
+ <?=$html->link(___('Manage Contributions'),
"/developers/addon/edit/{$addon_id}/contributions")?>
<?=$this->renderElement('amo2009/new_indicator')?>
</dt>
- <dd><?=___('devcp_edit_dd_manage_contributions')?></dd>
+ <dd><?=___('Provide a way for users to make monetary donations to your project.')?></dd>
</dl>
-
+
</div>
</div>
diff --git a/site/app/views/developers/addon_edit_authors.thtml b/site/app/views/developers/addon_edit_authors.thtml
index 86dda99..5d086fc 100644
--- a/site/app/views/developers/addon_edit_authors.thtml
+++ b/site/app/views/developers/addon_edit_authors.thtml
@@ -41,61 +41,61 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_OWNER ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded">'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
?>
- <h2><?=___('devcp_edit_authors_header_manage')?></h2>
-
+ <h2><?=___('Manage Add-on Authors')?></h2>
+
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="addon-edit-authors-form" action="" method="post">
<?=$html->hiddenSession();?>
-
+
<div class="graybox field rounded spaced">
- <h4><?=___('devcp_edit_authors_header_current')?></h4>
+ <h4><?=___('Current Authors')?></h4>
<table id="author-table" class="pretty-table">
<thead><tr>
<th></th>
- <th><?=___('devcp_edit_authors_th_author')?></th>
- <th><?=___('devcp_edit_authors_th_role')?></th>
- <th><?=___('devcp_edit_authors_th_listed')?></th>
+ <th><?=___('Author')?></th>
+ <th><?=___('Role')?></th>
+ <th><?=___('Listed')?></th>
<th></th>
</tr></thead>
<tbody></tbody>
</table>
<div class="save-changes rounded">
- <strong><?=___('devcp_notice_unsaved_changes')?></strong> <?=___('devcp_edit_authors_click_save')?>
+ <strong><?=___('You have unsaved changes.')?></strong> <?=___('Click the Update Authors button below to save.')?>
</div>
- <div class="add-button-container"><a href="#add-author" onclick="addon_edit_authors.showAddForm();" class="add-button rounded"><?=___('devcp_edit_authors_add_author')?></a></div>
+ <div class="add-button-container"><a href="#add-author" onclick="addon_edit_authors.showAddForm();" class="add-button rounded"><?=___('Add New Author')?></a></div>
</div>
</form>
-
- <div id="empty-authors" class="notice-error rounded" style="display:none"><span><?=___('devcp_error_empty_authors', 'Your add-on must have at least one owner.')?></span></div>
- <div class="action-button-container centered"><a href="#" id="submit" onclick="addon_edit_authors.save(); return false;" class="action-button rounded"><?=___('devcp_edit_authors_update_author')?></a></div>
+
+ <div id="empty-authors" class="notice-error rounded" style="display:none"><span><?=___('Your add-on must have at least one owner.')?></span></div>
+ <div class="action-button-container centered"><a href="#" id="submit" onclick="addon_edit_authors.save(); return false;" class="action-button rounded"><?=___('Update authors')?></a></div>
<br />
-
+
<div id="add-author" class="graybox rounded spaced field" style="display: none;">
- <h4><?=___('devcp_edit_authors_add_author')?></h4>
+ <h4><?=___('Add New Author')?></h4>
<br />
- <p><label><?=___('devcp_edit_authors_add_email')?> <input id="add-email" type="text" size="40" /></label></p>
+ <p><label><?=___('Author Account Email:')?> <input id="add-email" type="text" size="40" /></label></p>
<div id="add-error" class="rounded"></div>
-
- <p><?=___('devcp_edit_authors_select_role')?></p>
+
+ <p><?=___('Select a role for the author:')?></p>
<ul>
- <li><label><input id="add-role-owner" type="radio" name="role" checked="checked" />&nbsp;</strong><?=___('devcp_edit_authors_label_owner')?></label></li>
- <li><label><input id="add-role-developer" type="radio" name="role" />&nbsp;</strong><?=___('devcp_edit_authors_label_developer')?></label></li>
- <li><label><input id="add-role-viewer" type="radio" name="role" />&nbsp;</strong><?=___('devcp_edit_authors_label_viewer')?></label></li>
+ <li><label><input id="add-role-owner" type="radio" name="role" checked="checked" />&nbsp;</strong><?=___('<strong>Owner</strong> - Can manage all aspects of the add-on listing, including adding and removing other authors.')?></label></li>
+ <li><label><input id="add-role-developer" type="radio" name="role" />&nbsp;</strong><?=___('<strong>Developer</strong> - Can manage all aspects of the add-on listing, except for adding and removing other authors.')?></label></li>
+ <li><label><input id="add-role-viewer" type="radio" name="role" />&nbsp;</strong><?=___('<strong>Viewer</strong> - Can view add-on developer listing and statistics, but can\'t make any changes.')?></label></li>
</ul>
-
- <p><label><input id="add-listed" type="checkbox" checked="checked" />&nbsp;<?=___('devcp_edit_authors_label_add_listed')?></label></p>
-
+
+ <p><label><input id="add-listed" type="checkbox" checked="checked" />&nbsp;<?=___('List as author in public display pages')?></label></p>
+
<table><tr><td>
- <div id="add-author-button" class="add-button-container"><a href="#author-table" onclick="return addon_edit_authors.checkAddForm();" class="add-button rounded bigger"><?=___('devcp_edit_authors_add_author_button')?></a></div>
+ <div id="add-author-button" class="add-button-container"><a href="#author-table" onclick="return addon_edit_authors.checkAddForm();" class="add-button rounded bigger"><?=___('Add Author')?></a></div>
</td><td valign="middle">
- <div id="add-loading"><?=$html->image('ajax_loading.gif', array('alt' => 'Loading'))?>&nbsp;<?=___('devcp_edit_authors_add_loading')?></div>
+ <div id="add-loading"><?=$html->image('ajax_loading.gif', array('alt' => 'Loading'))?>&nbsp;<?=___('Checking account email...')?></div>
</td></tr></table>
</div>
</div>
diff --git a/site/app/views/developers/addon_edit_categories.thtml b/site/app/views/developers/addon_edit_categories.thtml
index 1a2c8e7..f5fa2f2 100644
--- a/site/app/views/developers/addon_edit_categories.thtml
+++ b/site/app/views/developers/addon_edit_categories.thtml
@@ -40,13 +40,13 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded">'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
?>
- <h2><?=___('devcp_edit_categories_header_manage')?></h2>
+ <h2><?=___('Manage Add-on Categories')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<?php
@@ -55,22 +55,22 @@
echo $html->hiddenSession();
foreach ($sortedCategories as $application_id => $categories) {
$otherSelected = !empty($otherCategories[$application_id]) && in_array($otherCategories[$application_id], $currentCategories);
-
+
echo '<div class="edit-categories-box field graybox rounded spaced app-'.$application_id.'">';
echo '<h4 style="border-bottom: none;">'.$html->image('app-icons/'.strtolower($applications[$application_id]).'_small.png', array('alt' => $applications[$application_id]));
- echo sprintf(___('devcp_edit_categories_header_application'), $applications[$application_id]).'</h4>';
+ echo sprintf(___('%s Categories'), $applications[$application_id]).'</h4>';
if (!empty($categories)) {
- echo '<p>'.sprintf(___('devcp_edit_categories_select_application_categories'), $applications[$application_id]).':</p>';
+ echo '<p>'.sprintf(___('Select up to three %s categories for your add-on'), $applications[$application_id]).':</p>';
echo '<table style="width: 100%;"><tr><td style="width: 50%;">';
for ($i = 1; $i <= 3; $i++) {
$selected = false;
- echo '<label>'.sprintf(___('devcp_edit_categories_label_category_num'), $i).':&nbsp;';
+ echo '<label>'.sprintf(___('Category %s'), $i).':&nbsp;';
echo '<select name="data[Category]['.$application_id.'][]"'.($otherSelected ? ' disabled="disabled"' : '').'>';
- echo '<option value="" style="color: gray;">'.___('devcp_edit_authors_option_empty').'</option>';
+ echo '<option value="" style="color: gray;">'.___('----------------').'</option>';
foreach ($categories as $category_id => $category_name) {
if ($otherCategories[$application_id] == $category_id)
continue;
-
+
echo '<option value="'.$category_id.'"';
if (in_array($category_id, $currentCategories) && !$selected) {
echo ' selected="selected"';
@@ -83,24 +83,24 @@
echo '</select></label>';
}
if (!empty($otherCategories[$application_id])) {
- echo '<label onmouseover="addon_edit_categories.updateDescription('.$application_id.', \''.$html->entities('<strong>'.$sortedCategories[$application_id][$otherCategories[$application_id]].'</strong><br />'.___('devcp_edit_categories_other')).'\');">';
+ echo '<label onmouseover="addon_edit_categories.updateDescription('.$application_id.', \''.$html->entities('<strong>'.$sortedCategories[$application_id][$otherCategories[$application_id]].'</strong><br />'.___('Place your add-on into this category only if it does not fit into any other available categories.')).'\');">';
echo '<input type="checkbox" name="data[Category]['.$application_id.'][]" value="'.$otherCategories[$application_id].'" onclick="addon_edit_categories.toggleDropdowns(this, '.$application_id.');"'.($otherSelected ? ' checked="checked"' : '').' />&nbsp;';
- echo ___('devcp_edit_categories_does_not_fit');
+ echo ___('My add-on doesn\'t fit into any available categories.');
echo '</label>';
}
- echo '</td><td id="edit-categories-descriptions'.$application_id.'" class="edit-categories-descriptions">'.___('devcp_edit_categories_hover').'</td></tr></table>';
+ echo '</td><td id="edit-categories-descriptions'.$application_id.'" class="edit-categories-descriptions">'.___('Hover over a category to see its description.').'</td></tr></table>';
}
else {
- echo '<p>'.___('devcp_edit_categories_none_available').'</p>';
+ echo '<p>'.___('No categories are available for this add-on type and application.').'</p>';
}
echo '</div>';
}
-
- echo '<div class="action-button-container centered"><a href="#" onclick="addon_edit_categories.save(); return false;" class="action-button rounded">'.___('devcp_edit_categories_button_update').'</a></div>';
+
+ echo '<div class="action-button-container centered"><a href="#" onclick="addon_edit_categories.save(); return false;" class="action-button rounded">'.___('Update Categories').'</a></div>';
echo '</form>';
}
else {
- echo '<p>'.___('devcp_edit_categories_none_available').'</p>';
+ echo '<p>'.___('No categories are available for this add-on type and application.').'</p>';
}
?>
</div>
diff --git a/site/app/views/developers/addon_edit_contributions.thtml b/site/app/views/developers/addon_edit_contributions.thtml
index f20c23e..06f3165 100644
--- a/site/app/views/developers/addon_edit_contributions.thtml
+++ b/site/app/views/developers/addon_edit_contributions.thtml
@@ -43,7 +43,7 @@
<div id="content-main" class="<?=$show_intro ? 'intro' : ''?>">
<?=$this->renderElement('developers/addonheader',
- array('title' => sprintf(___('devcp_title_edit_addon'),
+ array('title' => sprintf(___('Edit %s'),
$addon_name),
'addon_id' => $addon_id));?>
<?=$this->renderElement('noscript')?>
@@ -53,22 +53,22 @@
if ($paypal_disabled) {
echo $this->renderElement('notification', array(
'type' => 'notification',
- 'msg' => ___('error_paypal_disabled')));
+ 'msg' => ___('Sorry, PayPal contributions are temporarily disabled.')));
}
?>
<?php if ($show_intro): ?>
<div id="start-asking" class="graybox field rounded spaced">
- <h2><?=___('devcp_edit_contrib_header_start')?></h2>
- <?=___('devcp_edit_contrib_start')?>
+ <h2><?=___('Start Asking for Contributions')?></h2>
+ <?=___('<p>Contributions provide a way for users to support your add-on financially. With contributions, you can:</p><ul><li>Ask users for donations on your add-on\'s listing.</li><li>Offer users the ability to contribute using a credit card or PayPal account.</li><li>Deposit contributions in a <a href='https://www.paypal.com/' target='_blank'>PayPal account</a> of your choice.</li></ul><p>Ready to get started? Click below to start asking for contributions.</p>')?>
<?php if ($has_profile): ?>
<div class="button-holder">
- <button><?=___('devcp_edit_contrib_button_start')?></button>
+ <button><?=___('Start Asking for Contributions')?></button>
</div>
<?php else: ?>
- <p><strong><?=___('devcp_edit_contrib_before')?></strong></p>
+ <p><strong><?=___('Before you begin, you must create a developer profile.')?></strong></p>
<a href="<?=$html->url("/developers/addon/edit/{$addon_id}/profile")?>">
- <?=___('devcp_edit_contrib_button_profile')?>
+ <?=___('Create a Developer Profile First')?>
</a>
<?php endif; ?>
</div>
@@ -86,11 +86,11 @@
<div id="currently" class="clearfix <?=$wants_contributions ? 'asking' : 'not-asking'?>">
<?php
if ($wants_contributions) {
- $text = ___('devcp_edit_contrib_currently_asking');
- $button = ___('devcp_edit_contrib_stop_asking');
+ $text = ___('You are currently <strong>asking for contributions</strong> from users of this add-on.');
+ $button = ___('Stop asking for contributions');
} else {
- $text = ___('devcp_edit_contrib_currently_not_asking');
- $button = ___('devcp_edit_contrib_start_asking');
+ $text = ___('You are currently <strong>not asking for contributions</strong> from users of this add-on.');
+ $button = ___('Start asking for contributions');
}
?>
<p><?=$text?></p>
@@ -100,11 +100,11 @@
<form method="post" action="">
<div class="graybox field rounded spaced clearfix" id="contrib-account">
- <h4><?=___('devcp_edit_contrib_header_account')?></h4>
- <p><?=sprintf(___('devcp_edit_contrib_account'), 'https://www.paypal.com')?></p>
+ <h4><?=___('Contribution Account')?></h4>
+ <p><?=sprintf(___('Your contribution account is the <a href="%1$s">PayPal account</a> where user contributions will be deposited.'), 'https://www.paypal.com')?></p>
<?=$html->hiddenSession();?>
<div>
- <label for="AddonPaypalId"><?=___('devcp_edit_contrib_label_pp_id')?></label>
+ <label for="AddonPaypalId"><?=___('PayPal ID')?></label>
</div>
<div>
<?=$html->input('Addon/paypal_id')?>
@@ -112,36 +112,36 @@
</div>
<div>
<a href="<?=PAYPAL_CGI_URL?>?cmd=_registration-run">
- <?=___('devcp_edit_contrib_pp_signup')?>
+ <?=___('Sign up for PayPal')?>
</a>
</div>
</div>
<div class="graybox field rounded spaced">
- <h4><?=___('devcp_edit_contrib_header_asking')?></h4>
- <p><?=___('devcp_edit_contrib_asking')?></p>
+ <h4><?=___('Asking for Contributions')?></h4>
+ <p><?=___('Specify how much users will be asked to contribute and where they will be asked.')?></p>
<table>
<tr>
- <th><label for="AddonSuggestedAmount"><?=___('devcp_edit_contrib_label_suggested')?></label></th>
+ <th><label for="AddonSuggestedAmount"><?=___('Suggested amount')?></label></th>
<td>
<?=$html->tagErrorMsg('Addon/suggested_amount',
- ___('devcp_edit_contrib_suggested_amount_error'))?>
+ ___('Should be a positive number between 0.00 and 99.99.'))?>
<span class="greed">$</span>
<?=$html->input('Addon/suggested_amount')?>
<span class="help">
- <?=___('devcp_edit_contrib_currency_example')?>
+ <?=___('(US Dollars. Example: 3.99)')?>
</span>
<!-- TODO: currency -->
- <p><?=___('devcp_edit_contrib_amount')?></p>
+ <p><?=___('Users have the option of contributing more or less than this amount.')?></p>
</td>
</tr>
<tr>
- <th><label><?=___('devcp_edit_contrib_label_where')?></label></th>
+ <th><label><?=___('Where to ask')?></label></th>
<td>
<?=$html->radio_list('Addon/annoying', array(
- Addon::CONTRIBUTIONS_PASSIVE => sprintf(___('devcp_edit_contrib_radio_ask_passive_example'), $html->url('/developers/contributions/example/passive')),
- Addon::CONTRIBUTIONS_AFTER => sprintf(___('devcp_edit_contrib_radio_ask_after_example'), $html->url('/developers/contributions/example/after')),
- Addon::CONTRIBUTIONS_ROADBLOCK => sprintf(___('devcp_edit_contrib_radio_ask_roadblock_example'), $html->url('/developers/contributions/example/roadblock'))
+ Addon::CONTRIBUTIONS_PASSIVE => sprintf(___('Only ask on this add-on\'s page and developer profile (<a href="%1$s">example</a>)'), $html->url('/developers/contributions/example/passive')),
+ Addon::CONTRIBUTIONS_AFTER => sprintf(___('Ask after users start downloading this add-on (<a href="%1$s">example</a>)'), $html->url('/developers/contributions/example/after')),
+ Addon::CONTRIBUTIONS_ROADBLOCK => sprintf(___('Ask before users can download this add-on (<a href="%1$s">example</a>)'), $html->url('/developers/contributions/example/roadblock'))
))?>
</td>
</tr>
@@ -151,9 +151,9 @@
<div class="button-holder">
<?php if ($show_intro): ?>
<?=$contribution_toggle?>
- <button><?=___('devcp_edit_contrib_button_start')?></button>
+ <button><?=___('Start Asking for Contributions')?></button>
<?php else: ?>
- <button><?=___('devcp_edit_contrib_button_update')?></button>
+ <button><?=___('Update Contributions')?></button>
<?php endif; ?>
</div>
</form>
diff --git a/site/app/views/developers/addon_edit_descriptions.thtml b/site/app/views/developers/addon_edit_descriptions.thtml
index 2dcbd2e..761dbc9 100644
--- a/site/app/views/developers/addon_edit_descriptions.thtml
+++ b/site/app/views/developers/addon_edit_descriptions.thtml
@@ -41,14 +41,14 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="edit-addon <?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded">'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
?>
-
- <h2><?=___('devcp_edit_descriptions_header')?></h2>
+
+ <h2><?=___('Edit Add-on Descriptions')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="addon-edit-descriptions-form" action="" method="post">
@@ -60,60 +60,60 @@
$languages[$key] = $native_languages[$key]['native'];
}
ksort($languages);
-
+
$this->translationBox = array(
'defaultLocale' => $addon['Addon']['defaultlocale'],
'languages' => $languages,
'table' => 'Addon',
'loaded' => false
);
-
+
// Summary
echo $this->renderElement('translationbox', array(
'field' => 'summary',
'translations' => $translations['summary'],
'height' => '60',
'maxLength' => '250',
- 'displayName' => ___('devcp_edit_descriptions_transbox_summary_name'),
- 'description' => ___('devcp_edit_descriptions_transbox_summary_description'),
+ 'displayName' => ___('Add-on Summary'),
+ 'description' => ___('The summary is a short explanation of your add-on\'s basic functionality that is displayed in search and browse listings, as well as at the top of your add-on\'s display page. <strong>Limit of 250 characters.</strong>'),
));
-
+
// Description
echo $this->renderElement('translationbox', array(
'field' => 'description',
'translations' => $translations['description'],
- 'displayName' => ___('devcp_edit_descriptions_transbox_description_name'),
- 'description' => ___('devcp_edit_descriptions_transbox_description_description'),
+ 'displayName' => ___('Add-on Description'),
+ 'description' => ___('The description of your add-on is a longer explanation of features, functionality, and other relevant information. It is displayed under the summary on the add-on\'s display page.'),
));
-
+
// Developer Comments
echo $this->renderElement('translationbox', array(
'field' => 'developercomments',
'translations' => $translations['developercomments'],
- 'displayName' => ___('devcp_edit_descriptions_transbox_comments_name'),
- 'description' => ___('devcp_edit_descriptions_transbox_comments_description'),
+ 'displayName' => ___('Developer Comments'),
+ 'description' => ___('Any information end users may want to know that isn\'t necessarily applicable to the add-on summary or description. Common uses include listing known major bugs, information on how to report bugs, anticipated release date of a new version, etc.'),
));
-
+
// EULA
echo $this->renderElement('translationbox', array(
'field' => 'eula',
'translations' => $translations['eula'],
'height' => '200',
- 'displayName' => ___('devcp_edit_descriptions_transbox_eula_name'),
- 'description' => ___('devcp_edit_descriptions_transbox_eula_description'),
+ 'displayName' => ___('End-User License Agreement'),
+ 'description' => ___('If your add-on has an End-User License Agreement (EULA), please enter its text below. If set below, users will be required to agree to this before installing your add-on. Please note that a EULA is not the same as a code license such as GPL or MPL.'),
));
-
+
// Privacy Policy
echo $this->renderElement('translationbox', array(
'field' => 'privacypolicy',
'translations' => $translations['privacypolicy'],
'height' => '200',
- 'displayName' => ___('devcp_edit_descriptions_transbox_privacy_name'),
- 'description' => ___('devcp_edit_descriptions_transbox_privacy_description'),
+ 'displayName' => ___('Privacy Policy'),
+ 'description' => ___('If your add-on has a privacy policy, enter its text here. Your add-on\'s display page will display a link to the policy.'),
));
?>
- <div id="edit-error" class="error" style="display: none;"><?=___('devcp_edit_description_correct_error')?></div>
- <div class="action-button-container centered" style="width: 600px;"><a href="#" onclick="addon_edit_descriptions.save(); return false;" class="action-button rounded"><?=___('devcp_edit_description_button_update')?></a></div>
+ <div id="edit-error" class="error" style="display: none;"><?=___('Please correct the errors above indicated in red.')?></div>
+ <div class="action-button-container centered" style="width: 600px;"><a href="#" onclick="addon_edit_descriptions.save(); return false;" class="action-button rounded"><?=___('Update Descriptions')?></a></div>
</form>
</div>
</div>
diff --git a/site/app/views/developers/addon_edit_profile.thtml b/site/app/views/developers/addon_edit_profile.thtml
index 60363b8..7159036 100644
--- a/site/app/views/developers/addon_edit_profile.thtml
+++ b/site/app/views/developers/addon_edit_profile.thtml
@@ -59,14 +59,14 @@ $this->translationBox = array(
<?php if (isset($updated)) {
echo $this->renderElement('notification', array(
'type' => 'success',
- 'msg' => sprintf(___('devcp_edit_profile_success_notification'),
+ 'msg' => sprintf(___('Your <a href="%1$s">Developer Profile</a> has been updated.'),
$html->url("/addon/{$addon_id}/developers"))
));
}
?>
<?=$this->renderElement('developers/addonheader',
- array('title' => sprintf(___('devcp_title_edit_addon'),
+ array('title' => sprintf(___('Edit %s'),
$addon_name),
'addon_id' => $addon_id));?>
<?=$this->renderElement('noscript')?>
@@ -74,10 +74,10 @@ $this->translationBox = array(
<?php if (!$has_profile): ?>
<div id="create-dev-profile" class="graybox field rounded spaced">
- <h2><?=___('devcp_edit_profile_header_create')?></h2>
- <?=___('devcp_edit_profile_create')?>
+ <h2><?=___('Create a Developer Profile')?></h2>
+ <?=___('<p>Introduce yourself to your users with a Developer Profile.</p><ul><li>Explain why you created this add-on.</li><li>Tell your users what\'s next.</li><li>Build more awareness of your efforts.</li></ul><p>Ready to create your Developer Profile? Click the button below to begin.</p>')?>
<div class="button-holder">
- <button><?=___('devcp_edit_profile_button_create')?></button>
+ <button><?=___('Create a Developer Profile')?></button>
</div>
</div>
<?php endif; ?>
@@ -91,8 +91,8 @@ $this->translationBox = array(
<?=$this->renderElement('translationbox', array(
'field' => 'the_reason',
'translations' => $translations['the_reason'],
- 'displayName' => ___('devcp_edit_profile_trans_reason_name'),
- 'description' => ___('devcp_edit_profile_trans_reason_description'),
+ 'displayName' => ___('Why I Made this Add-on'),
+ 'description' => ___('Let your users know why you created an add-on. Whether it was an idea while in line at the grocery store or the solution to one of life\'s great problems, share your story.'),
'graybox' => false
))?>
</div>
@@ -101,17 +101,17 @@ $this->translationBox = array(
<?=$this->renderElement('translationbox', array(
'field' => 'the_future',
'translations' => $translations['the_future'],
- 'displayName' => ___('devcp_edit_profile_trans_future_name'),
- 'description' => ___('devcp_edit_profile_trans_future_description'),
+ 'displayName' => ___('What\'s Next for this Add-on'),
+ 'description' => ___('Whether or not you request contributions for future development of your add-on, telling your users what\'s coming soon will give them something to look forward to.'),
'graybox' => false
))?>
</div>
<div class="button-holder"><button>
<?php if ($has_profile): ?>
- <?=___('devcp_edit_profile_button_save')?>
+ <?=___('Save Changes to Developer Profile')?>
<?php else: ?>
- <?=___('devcp_edit_profile_button_create_profile')?>
+ <?=___('Create Developer Profile')?>
<?php endif; ?>
</button></div>
diff --git a/site/app/views/developers/addon_edit_properties.thtml b/site/app/views/developers/addon_edit_properties.thtml
index d408527..88892fc 100644
--- a/site/app/views/developers/addon_edit_properties.thtml
+++ b/site/app/views/developers/addon_edit_properties.thtml
@@ -41,16 +41,16 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded">'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
if (!empty($errors)) {
- echo '<div class="notice-error rounded">'.___('devcp_notice_changes_error').'</div>';
+ echo '<div class="notice-error rounded">'.___('<span>One or more of your changes couldn\'t be saved.</span><br />Please look for the errors below. The rest of your changes were successfully saved.').'</div>';
}
?>
- <h2><?=___('devcp_edit_properties_header')?></h2>
+ <h2><?=___('Edit Add-on Properties')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="addon-edit-properties-form" action="" method="post" enctype="multipart/form-data">
@@ -62,27 +62,27 @@
$languages[$key] = $native_languages[$key]['native'];
}
ksort($languages);
-
+
$this->translationBox = array(
'defaultLocale' => $addon['Addon']['defaultlocale'],
'languages' => $languages,
'table' => 'Addon',
'loaded' => false
);
-
+
// Name
echo $this->renderElement('translationbox', array(
'field' => 'name',
'translations' => $translations['name'],
'type' => 'textbox',
- 'displayName' => ___('devcp_edit_properties_transbox_name_name'),
- 'description' => ___('devcp_edit_properties_transbox_name_description'),
+ 'displayName' => ___('Add-on Name'),
+ 'description' => ___('The name of your add-on is displayed everywhere your add-on is listed.'),
));
?>
-
+
<div class="field graybox rounded spaced" style="width: 600px;">
- <h4><?=___('devcp_edit_properties_header_default_locale')?></h4>
- <p><?=___('devcp_edit_properties_default_locale')?></p>
+ <h4><?=___('Default Locale')?></h4>
+ <p><?=___('Information about your add-on is displayed on this website in the default locale unless you override it with a locale-specific translation.')?></p>
<select name="data[Addon][defaultlocale]">
<?php
// Retrieve language arrays from bootstrap.
@@ -91,23 +91,23 @@
$languages[$key] = $native_languages[$key]['native'];
}
ksort($languages);
-
+
foreach ($languages as $lang_key => $lang_name) {
echo '<option value="'.$lang_key.'"'.($addon['Addon']['defaultlocale'] == $lang_key ? ' selected="selected"' : '').'>'.$lang_name.' ('.$lang_key.')</option>';
}
?>
</select>
-
+
</div>
-
+
<div class="field graybox rounded spaced<?=(!empty($errors['icon']) ? ' errors' : '')?>" style="width: 600px;">
- <h4><?=___('devcp_edit_properties_header_icon')?></h4>
+ <h4><?=___('Add-on Icon')?></h4>
<?=(!empty($errors['icon']) ? '<div class="error-message">'.$errors['icon'].'</div>' : '')?>
- <p><?=sprintf(___('devcp_edit_properties_icon'), implode(', ', $this->controller->Developers->imageExtensions))?></p>
+ <p><?=sprintf(___('The add-on icon is a small image that is displayed next to your add-on\'s name in browse and search results, display pages, and in the add-on installation dialog. The image will automatically be resized to 32 x 32 pixels. Please use one of the following image types: %s'), implode(', ', $this->controller->Developers->imageExtensions))?></p>
<table width="100%" id="edit-properties-icon-table">
<tr>
- <th style="width: 20%;"><?=___('devcp_edit_properties_current_icon')?></th>
- <th><?=___('devcp_edit_properties_new_icon')?></th>
+ <th style="width: 20%;"><?=___('Current Icon')?></th>
+ <th><?=___('New Icon')?></th>
</tr>
<tr>
<td style="text-align: center;">
@@ -115,8 +115,8 @@
$addonIconPath = $this->controller->Image->getAddonIconURL($addon_id);
echo '<img id="addon-icon" src="'.$addonIconPath.'" alt="" />';
if (!empty($addon['Addon']['icontype'])) {
- echo '<div id="delete-icon-area" class="require-privs"><a href="#" onclick="addon_edit_properties.deleteIcon(); return false;">'.___('devcp_edit_properties_remove_icon').'</a></div>';
- echo '<div id="undelete-icon-area" style="display: none;">'.sprintf(___('devcp_edit_properties_undelete'), 'href="#" onclick="addon_edit_properties.undeleteIcon(); return false;"').'</div>';
+ echo '<div id="delete-icon-area" class="require-privs"><a href="#" onclick="addon_edit_properties.deleteIcon(); return false;">'.___('Remove Icon').'</a></div>';
+ echo '<div id="undelete-icon-area" style="display: none;">'.sprintf(___('Icon will be deleted on save. <a %s>Cancel?</a>'), 'href="#" onclick="addon_edit_properties.undeleteIcon(); return false;"').'</div>';
echo '<input id="delete-icon" type="hidden" name="data[Addon][deleteIcon]" value="0" />';
}
?>
@@ -125,65 +125,65 @@
</tr>
</table>
</div>
-
+
<?php
// Homepage
echo $this->renderElement('translationbox', array(
'field' => 'homepage',
'translations' => $translations['homepage'],
'type' => 'textbox',
- 'displayName' => ___('devcp_edit_properties_transbox_homepage_name'),
- 'description' => ___('devcp_edit_properties_transbox_homepage_description'),
+ 'displayName' => ___('Add-on Homepage'),
+ 'description' => ___('If your add-on has another homepage, enter its address here. Adding other translations is not necessary unless your website is localized into other languages.'),
));
-
+
// Support Email
echo $this->renderElement('translationbox', array(
'field' => 'supportemail',
'translations' => $translations['supportemail'],
'type' => 'textbox',
- 'displayName' => ___('devcp_edit_properties_transbox_supportemail_name'),
- 'description' => ___('devcp_edit_properties_transbox_supportemail_description'),
+ 'displayName' => ___('Support Email Address'),
+ 'description' => ___('If you have an email address for support inquiries, enter it here. Adding other translations is not necessary unless you have different email addresses for different languages.'),
));
-
+
// Support URL
echo $this->renderElement('translationbox', array(
'field' => 'supporturl',
'translations' => $translations['supporturl'],
'type' => 'textbox',
- 'displayName' => ___('devcp_edit_properties_transbox_supporturl_name'),
- 'description' => ___('devcp_edit_properties_transbox_supporturl_description'),
+ 'displayName' => ___('Support Website'),
+ 'description' => ___('If your add-on has a support website or forum, enter its address here. Adding other translations is not necessary unless your website is localized into other languages.'),
));
?>
-
+
<div class="field graybox rounded spaced" style="width: 600px;">
- <h4><?=___('devcp_edit_properties_header_other_settings')?></h4>
- <h5><?=___('devcp_edit_properties_header_view_source')?></h5>
- <p class="smallmargin"><?=___('devcp_edit_properties_view_source')?></p>
- <label class="indented"><input type="radio" name="data[Addon][viewsource]" value="1" <?=($addon['Addon']['viewsource'] == 0 ? '' : 'checked="checked"')?>/>&nbsp;<?=___('devcp_edit_properties_view_source_allow')?></label>
- <label class="indented"><input type="radio" name="data[Addon][viewsource]" value="0" <?=($addon['Addon']['viewsource'] == 0 ? 'checked="checked"' : '')?>/>&nbsp;<?=___('devcp_edit_properties_view_source_do_not_allow')?></label>
-
+ <h4><?=___('Other Settings')?></h4>
+ <h5><?=___('View Source Online')?></h5>
+ <p class="smallmargin"><?=___('The source of your add-on files can be viewed online by any logged in user if you wish.')?></p>
+ <label class="indented"><input type="radio" name="data[Addon][viewsource]" value="1" <?=($addon['Addon']['viewsource'] == 0 ? '' : 'checked="checked"')?>/>&nbsp;<?=___('Allow online source viewing')?></label>
+ <label class="indented"><input type="radio" name="data[Addon][viewsource]" value="0" <?=($addon['Addon']['viewsource'] == 0 ? 'checked="checked"' : '')?>/>&nbsp;<?=___('Do not allow online source viewing')?></label>
+
<?php if ($addon['Addon']['addontype_id'] != ADDON_SEARCH): ?>
- <h5><?=___('devcp_edit_properties_header_flags')?></h5>
- <p class="smallmargin"><?=___('devcp_edit_properties_flags')?></p>
- <label class="indented"><input type="checkbox" name="data[Addon][prerelease]" value="1" <?=($addon['Addon']['prerelease'] == 1 ? 'checked="checked"' : '')?>/>&nbsp;<?=_('devcp_edit_label_prerelease')?></label>
- <label class="indented"><input type="checkbox" name="data[Addon][sitespecific]" value="1" <?=($addon['Addon']['sitespecific'] == 1 ? 'checked="checked"' : '')?>/>&nbsp;<?=_('devcp_edit_label_sitespecific')?></label>
- <label class="indented"><input type="checkbox" name="data[Addon][externalsoftware]" value="1" <?=($addon['Addon']['externalsoftware'] == 1 ? 'checked="checked"' : '')?> />&nbsp;<?=_('devcp_edit_label_externalsoftware')?></label>
- <label class="indented"><input type="checkbox" name="data[Addon][binary]" value="1" <?=($addon['Addon']['binary'] == 1 ? 'checked="checked"' : '')?> />&nbsp;<?=___('devcp_edit_properties_label_binary')?></label>
-
- <h5><?=___('devcp_edit_properties_header_guid')?></h5>
- <p class="smallmargin"><?=___('devcp_edit_properties_guid')?></p>
+ <h5><?=___('Add-on Flags')?></h5>
+ <p class="smallmargin"><?=___('These flags are used to filter and classify add-ons.')?></p>
+ <label class="indented"><input type="checkbox" name="data[Addon][prerelease]" value="1" <?=($addon['Addon']['prerelease'] == 1 ? 'checked="checked"' : '')?>/>&nbsp;<?=___('This is a pre-release')?></label>
+ <label class="indented"><input type="checkbox" name="data[Addon][sitespecific]" value="1" <?=($addon['Addon']['sitespecific'] == 1 ? 'checked="checked"' : '')?>/>&nbsp;<?=___('This is a site-specific add-on')?></label>
+ <label class="indented"><input type="checkbox" name="data[Addon][externalsoftware]" value="1" <?=($addon['Addon']['externalsoftware'] == 1 ? 'checked="checked"' : '')?> />&nbsp;<?=___('This add-on requires external software')?></label>
+ <label class="indented"><input type="checkbox" name="data[Addon][binary]" value="1" <?=($addon['Addon']['binary'] == 1 ? 'checked="checked"' : '')?> />&nbsp;<?=___('This add-on contains binary components')?></label>
+
+ <h5><?=___('Add-on GUID')?></h5>
+ <p class="smallmargin"><?=___('The GUID of your add-on is specified in its install.rdf and uniquely identifies it. You cannot change your GUID once it is listed on Mozilla Add-ons.')?></p>
<label class="indented"><tt><?=$addon['Addon']['guid']?></tt></label>
<?php endif; ?>
</div>
-
+
<?php if ($this->controller->SimpleAcl->actionAllowed('Admin', 'ConfigureAnyAddon', $this->controller->Session->read('User'))): ?>
<div class="field graybox rounded spaced" style="width: 600px;">
- <h4><?=___('devcp_edit_properties_header_admin_settings')?></h4>
- <h5><?=___('devcp_edit_properties_header_trusted')?></h5>
- <p class="smallmargin"><?=___('devcp_edit_properties_trusted')?></p>
- <label class="indented"><input type="radio" name="data[Addon][trusted]" value="1" <?=($addon['Addon']['trusted'] == 1 ? 'checked="checked"' : '')?>/>&nbsp;<?=___('devcp_edit_properties_label_trusted')?></label>
- <label class="indented"><input type="radio" name="data[Addon][trusted]" value="0" <?=($addon['Addon']['trusted'] == 1 ? '' : 'checked="checked"')?>/>&nbsp;<?=___('devcp_edit_properties_label_not_trusted')?></label>
- <h5><?=___('devcp_edit_properties_header_addon_type')?></h5>
+ <h4><?=___('Admin Settings')?></h4>
+ <h5><?=___('Trusted Add-on?')?></h5>
+ <p class="smallmargin"><?=___('Trusted add-ons can become public without Editor review.')?></p>
+ <label class="indented"><input type="radio" name="data[Addon][trusted]" value="1" <?=($addon['Addon']['trusted'] == 1 ? 'checked="checked"' : '')?>/>&nbsp;<?=___('Trusted')?></label>
+ <label class="indented"><input type="radio" name="data[Addon][trusted]" value="0" <?=($addon['Addon']['trusted'] == 1 ? '' : 'checked="checked"')?>/>&nbsp;<?=___('Not Trusted')?></label>
+ <h5><?=___('Add-on Type')?></h5>
<select name="data[Addon][addontype_id]">
<?php
if (!empty($addontypes)) {
@@ -193,23 +193,23 @@
}
?>
</select>
-
- <h5><?=___('devcp_edit_properties_header_guid')?></h5>
- <p class="smallmargin"><?=___('devcp_edit_properties_change_guid')?></p>
+
+ <h5><?=___('Add-on GUID')?></h5>
+ <p class="smallmargin"><?=___('Only change if you understand all of the consequences.')?></p>
<input type="text" name="data[Addon][guid]" value="<?=$addon['Addon']['guid']?>" size="50" />
-
+
<?php if (in_array($addon['Addon']['addontype_id'], array(ADDON_DICT, ADDON_LPAPP))): ?>
- <h5><?=_('devcp_edit_label_target_locale')?></h5>
+ <h5><?=___('Target Locale')?></h5>
<p class="smallmargin">Only applicable to dictionaries and language packs, this identifies the language and, optionally, region that this add-on is written for. Examples: en-US, fr, and de-AT</p>
<label><input type="text" name="data[Addon][target_locale]" value="<?=$html->entities($addon['Addon']['target_locale'])?>" /></label>
- <h5><?=_('devcp_edit_label_locale_disambiguation')?></h5>
+ <h5><?=___('Additional Locale Info')?></h5>
<p class="smallmargin">Only applicable to dictionaries and language packs, this is a short identifier to differentiate this add-on from other similar add-ons (for example, different dialects). This field is not required. Please limit the length of the field to a few short words.</p>
<label><input type="text" name="data[Addon][locale_disambiguation]" value="<?=$html->entities($addon['Addon']['locale_disambiguation'])?>" /></label>
<?php endif; ?>
</div>
<?php endif; ?>
-
- <div class="action-button-container centered" style="width: 600px;"><a href="#" onclick="addon_edit_properties.save(); return false;" class="action-button rounded"><?=___('devcp_edit_properties_button_update')?></a></div>
+
+ <div class="action-button-container centered" style="width: 600px;"><a href="#" onclick="addon_edit_properties.save(); return false;" class="action-button rounded"><?=___('Update Properties')?></a></div>
</form>
</div>
</div>
diff --git a/site/app/views/developers/addon_edit_tags.thtml b/site/app/views/developers/addon_edit_tags.thtml
index 72a0e18..d43b7ad 100644
--- a/site/app/views/developers/addon_edit_tags.thtml
+++ b/site/app/views/developers/addon_edit_tags.thtml
@@ -40,18 +40,18 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded">'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
?>
- <h2><?=___('devcp_edit_tags_header_manage')?></h2>
+ <h2><?=___('Manage Tags')?></h2>
<?=$this->renderElement('developers/rolecheck')?>
<div id='tags'>
<?=$this->renderElement('addon_tags',array('userTags'=>$userTags, 'developerTags'=>$developerTags,'addon_id'=>$addon_id, 'origin'=>'developers')); ?>
</div>
- <a href="#" id="addatag"><?=___('tags_add_tag_link', 'Add a tag');?></a>
+ <a href="#" id="addatag"><?=___('Add a tag');?></a>
<script type="text/javascript">
<?=$this->renderElement('tags_js_init')?>
@@ -64,9 +64,9 @@
<input type="hidden" name="addonid" id="addtagformaddonid" value="<?=$addon_data['Addon']['id']?>"/>
<input type="hidden" name="origin" id="origin" value="developers"/>
- <button id="addtagbutton"><?=___('tags_add_tag_button', 'Add');?></button>
+ <button id="addtagbutton"><?=___('Add');?></button>
</form>
- <span class="hint"><?=___('tags_example_tags', 'Comma-separated, minimum of 2 characters. Example: <span class="example">ocean, sail boat, water</span>')?></span>
+ <span class="hint"><?=___('Comma-separated, minimum of 2 characters. Example: <span class="example">ocean, sail boat, water</span>')?></span>
</div>
</div>
</div>
diff --git a/site/app/views/developers/addon_status.thtml b/site/app/views/developers/addon_status.thtml
index eced95d..194f114 100644
--- a/site/app/views/developers/addon_status.thtml
+++ b/site/app/views/developers/addon_status.thtml
@@ -40,155 +40,155 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_addon_status_title'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('%s Status'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded"><span>'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded"><span>'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
if (!empty($errors)) {
- echo '<div class="notice-error rounded"><span>'.___('devcp_notice_changes_error').'</div>';
+ echo '<div class="notice-error rounded"><span>'.___('<span>One or more of your changes couldn\'t be saved.</span><br />Please look for the errors below. The rest of your changes were successfully saved.').'</div>';
}
?>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="status-form" action="" method="post" enctype="multipart/form-data">
<?=$html->hiddenSession();?>
-
+
<div class="field graybox rounded spaced">
- <h4 class="status"><?=sprintf(___('devcp_addon_status_header'), '<span class="status-'.$addon['Addon']['status'].'">'.$statuses[$addon['Addon']['status']].'</span>')?></h4>
+ <h4 class="status"><?=sprintf(___('Add-on Status: %s'), '<span class="status-'.$addon['Addon']['status'].'">'.$statuses[$addon['Addon']['status']].'</span>')?></h4>
<p>
<?php
function status_span($i, $status) { return '<span class="status-'.$i.'">'.$status.'</span>'; }
// Add-on Status
- $sandbox = status_span(STATUS_SANDBOX, ___('devcp_addon_status_sandbox'));
- $public = status_span(STATUS_PUBLIC, ___('devcp_addon_status_public'));
+ $sandbox = status_span(STATUS_SANDBOX, ___('Sandbox'));
+ $public = status_span(STATUS_PUBLIC, ___('Public'));
switch ($addon['Addon']['status']) {
case STATUS_NULL:
- echo ___('devcp_addon_status_switch_incomplete');
+ echo ___('Your add-on is currently <span class="status-0">Incomplete</span>. This means your add-on is not showing up on any portion of the site or update check service. You may come to this page to complete your add-on after it meets the criteria below for completion and transfer to the <span class="status-1">Sandbox</span>.');
break;
case STATUS_SANDBOX:
- ___('devcp_addon_status_switch_sandbox');
+ ___('Your add-on is in the <span class="status-1">Sandbox</span>, which means it will show up in listings and searches, but users must log in to download it. Updates are <b>not</b> being provided to your add-on through the update check service.');
break;
-
+
case STATUS_NOMINATED:
- ___('devcp_addon_status_switch_sandbox');
+ ___('Your add-on is in the <span class="status-1">Sandbox</span>, which means it will show up in listings and searches, but users must log in to download it. Updates are <b>not</b> being provided to your add-on through the update check service.');
echo '</p><p>';
- echo sprintf(___('devcp_addon_status_switch_nominated'), $nominationCount);
+ echo sprintf(___('Your add-on is currently nominated to become <span class="status-4">Public</span> and is awaiting editor review. There are currently %s other add-ons in the nomination queue.'), $nominationCount);
break;
-
+
case STATUS_PENDING:
- echo sprintf(___('devcp_addon_status_switch_pending'), 'amo-editors@mozilla.org');
+ echo sprintf(___('Your add-on is pending. This shouldn\'t have happened. Please e-mail %s with your add-on ID and state this error.'), 'amo-editors@mozilla.org');
break;
case STATUS_PUBLIC:
- ___('devcp_addon_status_switch_public');
+ ___('Your add-on is <span class="status-4">Public</span>, which means it will show up in all listings and searches and can be downloaded without restriction. Updates are being provided to your add-on through the update check service.');
break;
-
+
case STATUS_DISABLED:
- echo sprintf(___('devcp_addon_status_switch_disabled'), 'amo-admins@mozilla.org');
+ echo sprintf(___('Your add-on was <span class="status-5">Disabled</span> by an administrator and cannot be used. If you have any questions, please e-mail %s.'), 'amo-admins@mozilla.org');
break;
}
?>
</p>
-
+
<?php
if ($addon['Addon']['status'] == STATUS_NULL) {
- echo '<h5>'.___('devcp_addon_status_header_criteria').'</h5>';
+ echo '<h5>'.___('Add-on Completion Criteria').'</h5>';
echo '<ul class="criteria">';
- echo '<li class="'.($criteria['name'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_name').'</li>';
- echo '<li class="'.($criteria['summary'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_summary').'</li>';
- echo '<li class="'.($criteria['description'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_description').'</li>';
- echo '<li class="'.($criteria['category'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_category').'</li>';
+ echo '<li class="'.($criteria['name'] ? 'pass' : 'fail').'">'.___('Add-on Name required').'</li>';
+ echo '<li class="'.($criteria['summary'] ? 'pass' : 'fail').'">'.___('Add-on Summary required').'</li>';
+ echo '<li class="'.($criteria['description'] ? 'pass' : 'fail').'">'.___('Add-on Description required').'</li>';
+ echo '<li class="'.($criteria['category'] ? 'pass' : 'fail').'">'.___('At least one category selected').'</li>';
echo '</ul>';
-
+
$completionEnabled = false;
if ($criteria['name'] && $criteria['summary'] && $criteria['description'] && $criteria['category']) {
$completionEnabled = true;
- echo '<p>'.sprintf(___('devcp_addon_status_completion_enabled'), $sandbox).'</p>';
+ echo '<p>'.sprintf(___('You may now complete your add-on and move it to the <span class="status-1">Sandbox</span> by clicking the button below.'), $sandbox).'</p>';
}
else {
- echo '<p>'.sprintf(___('devcp_addon_status_completion_disabled'), $sandbox).'</p>';
+ echo '<p>'.sprintf(___('Please fulfill the criteria above before you can complete your add-on and move it to the <span class="status-1">Sandbox</span>.'), $sandbox).'</p>';
}
}
-
+
$nominationEnabled = false;
if ($addon['Addon']['status'] == STATUS_SANDBOX || $addon['Addon']['higheststatus'] < STATUS_PUBLIC) {
- echo '<h5>'.___('devcp_addon_status_header_nomination').'</h5>';
+ echo '<h5>'.___('Public Nomination Criteria').'</h5>';
echo '<ul class="criteria">';
- echo '<li class="'.($criteria['previews'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_preview').'</li>';
- echo '<li class="'.($criteria['prerelease'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_prerelease').'</li>';
+ echo '<li class="'.($criteria['previews'] ? 'pass' : 'fail').'">'.___('At least one preview image required for extensions and themes.').'</li>';
+ echo '<li class="'.($criteria['prerelease'] ? 'pass' : 'fail').'">'.___('Add-on is not marked as pre-release.').'</li>';
echo '</ul>';
-
+
if ((!in_array($addon['Addon']['addontype_id'], array(ADDON_EXTENSION, ADDON_THEME)) || $criteria['previews']) && $criteria['prerelease']) {
$nominationEnabled = true;
- echo '<p>'.___('devcp_addon_status_nominate_enabled').'</p>';
+ echo '<p>'.___('You may now nominate your add-on for <span class="status-4">Public</span> by clicking the button below.').'</p>';
}
else {
- echo '<p>'.___('devcp_addon_status_nominate_disabled').'</p>';
+ echo '<p>'.___('Please fulfill the criteria above before nominating your add-on to become <span class="status-4">Public</span>.').'</p>';
}
}
-
+
// Actions
$actions = '';
if ($addon['Addon']['status'] == STATUS_NULL && $completionEnabled === true) {
- $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/complete").'" class="complete add-button rounded">'.___('devcp_addon_status_action_complete').'</a></td>';
- $actions .= '<td class="description">'.___('devcp_addon_status_action_complete_description').'</td></tr>';
+ $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/complete").'" class="complete add-button rounded">'.___('Complete Add-on').'</a></td>';
+ $actions .= '<td class="description">'.___('Complete your add-on and move to the Sandbox').'</td></tr>';
}
if ($addon['Addon']['status'] == STATUS_SANDBOX && $nominationEnabled === true) {
- $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/nominate").'" class="nominate add-button rounded">'.___('devcp_addon_status_action_nominate').'</a></td>';
- $actions .= '<td class="description">'.___('devcp_addon_status_action_nominate_description').'</td></tr>';
+ $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/nominate").'" class="nominate add-button rounded">'.___('Nominate for Public').'</a></td>';
+ $actions .= '<td class="description">'.___('Nominate your add-on to become Public').'</td></tr>';
}
if ($addon['Addon']['status'] == STATUS_PUBLIC) {
- $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/sandbox").'" class="to-sandbox add-button rounded">'.___('devcp_addon_status_action_move').'</a></td>';
- $actions .= '<td class="description">'.___('devcp_addon_status_action_move_description').'</td></tr>';
+ $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/sandbox").'" class="to-sandbox add-button rounded">'.___('Move to Sandbox').'</a></td>';
+ $actions .= '<td class="description">'.___('Move your add-on back to the Sandbox. This is reversible.').'</td></tr>';
}
if ($addon['Addon']['status'] == STATUS_SANDBOX && $addon['Addon']['higheststatus'] == STATUS_PUBLIC) {
- $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/public").'" class="to-public add-button rounded">'.___('devcp_addon_status_action_public').'</a></td>';
- $actions .= '<td class="description">'.___('devcp_addon_status_action_public_description').'</td></tr>';
+ $actions .= '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/public").'" class="to-public add-button rounded">'.___('Make Public').'</a></td>';
+ $actions .= '<td class="description">'.___('Make your add-on Public again.').'</td></tr>';
}
-
+
if (!empty($actions)) {
- echo '<h5>'.___('devcp_addon_status_header_actions').'</h5>';
+ echo '<h5>'.___('Available Actions').'</h5>';
echo '<table class="actions"><tbody>';
echo $actions;
echo '</tbody></table>';
}
?>
</div>
-
+
<div class="field graybox rounded spaced">
<p>
<?php
if ($addon['Addon']['inactive'] == 1) {
- echo '<h4 class="status">'.___('devcp_addon_status_header_inactive').'</h4>';
- echo ___('devcp_addon_status_inactive');
+ echo '<h4 class="status">'.___('Active Status: <span class="inactive-1">Inactive</span>').'</h4>';
+ echo ___('Your add-on is <span class="inactive-1">Inactive</span>. This means your add-on will not show up in any listing, regardless of its status above. Updates are <b>not</b> being provided to your add-on through the update check service.');
}
else {
- echo '<h4 class="status">'.___('devcp_addon_status_header_active').'</h4>';
- echo ___('devcp_addon_status_active');
+ echo '<h4 class="status">'.___('Active Status: <span class="inactive-0">Active</span>').'</h4>';
+ echo ___('Your add-on is <span class="inactive-0">Active</span>. This means your add-on is showing up in all available listings appropriate for its status above.');
}
?>
</p>
- <h5><?=___('devcp_addon_status_header_actions')?></h5>
+ <h5><?=___('Available Actions')?></h5>
<table class="actions"><tbody>
<?php
if ($addon['Addon']['inactive'] == 1) {
- echo '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/active").'" class="make-active add-button rounded">'.___('devcp_addon_status_action_activate').'</a></td>';
- echo '<td class="description">'.___('devcp_addon_status_action_activate_description').'</tr>';
+ echo '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/active").'" class="make-active add-button rounded">'.___('Make Active').'</a></td>';
+ echo '<td class="description">'.___('Make your add-on active for it to show up in public listings and enable the update check service.').'</tr>';
}
else {
- echo '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/inactive").'" class="make-inactive add-button rounded">'.___('devcp_addon_status_action_deactivate').'</td>';
- echo '<td class="description">'.___('devcp_addon_status_action_deactivate_description').'</tr>';
+ echo '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/inactive").'" class="make-inactive add-button rounded">'.___('Make Inactive').'</td>';
+ echo '<td class="description">'.___('Make your add-on inactive to hide it from all public listings and disable the update check service.').'</tr>';
}
?>
</tbody></table>
</div>
-
+
<?php if ($addon['Addon']['trusted'] == 1): ?>
<div class="field graybox rounded spaced">
- <h4 class="status"><?=___('devcp_addon_status_header_trusted')?></h4>
- <p><?=___('devcp_addon_status_trusted')?></p>
+ <h4 class="status"><?=___('Trusted Status: <span class="status-4">Trusted</span>')?></h4>
+ <p><?=___('Your add-on is <span class="status-4">Trusted</span>. This means you can submit updates to your add-on without editor review.')?></p>
</div>
<?php endif; ?>
</form>
diff --git a/site/app/views/developers/addon_status_confirm.thtml b/site/app/views/developers/addon_status_confirm.thtml
index fb3f6a3..1e08ac7 100644
--- a/site/app/views/developers/addon_status_confirm.thtml
+++ b/site/app/views/developers/addon_status_confirm.thtml
@@ -40,41 +40,41 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_addon_status_title'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('%s Status'), $addon_name), 'addon_id' => $addon_id));?>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="status-form" name="status-form" action="" method="post">
<?=$html->hiddenSession();?>
<input type="hidden" name="confirmed" value="true" />
<div class="graybox field rounded">
- <h4><?=___('devcp_status_confirm_header_sure')?></h4>
+ <h4><?=___('Are you sure?')?></h4>
<p>
<?php
switch ($subaction) {
case 'inactive':
- echo ___('devcp_status_confirm_inactive').'</p><p>'.___('devcp_status_confirm_inactive_sure');
+ echo ___('Marking this add-on inactive will prevent it from showing up in any public areas, including search and browse listings. It will not be downloadable from the website and will not be returned in client update checks. You will be able to return here and re-enable it at your convenience.').'</p><p>'.___('Are you sure you wish to mark this add-on inactive?');
break;
case 'active':
- echo ___('devcp_status_confirm_active').'</p><p>'.___('devcp_status_confirm_active_sure');
+ echo ___('Marking this add-on active will cause it to show up in public areas appropriate for its status, including search and browse listings. It will be downloadable from the website and could be returned in client update checks, depending on its status. You will be able to return here and disable it again at your convenience.').'</p><p>'.___('Are you sure you wish to mark this add-on active?');
break;
case 'sandbox':
- echo ___('devcp_status_confirm_sandbox').'</p><p>'.___('devcp_status_confirm_sandbox_sure');
+ echo ___('Moving this add-on back to the sandbox will require users to log in before downloading and updates will no longer be offered to existing users. Because your add-on is currently public, you will be able to return here at any time to make it public again.').'</p><p>'.___('Are you sure you wish to move this add-on to the sandbox?');
break;
case 'public':
- echo ___('devcp_status_confirm_public').'</p><p>'.___('devcp_status_confirm_public_sure');
+ echo ___('Making this add-on public will make it available for anyone to download and will begin offering updates to existing users.').'</p><p>'.___('Are you sure you wish to make this add-on public?');
break;
}
?>
</p>
<div style="text-align: center;">
- <a href="#" onclick="addon_status.confirm(); return false;" class="complete add-button rounded"><?=___('devcp_status_confirm_yes')?></a>&nbsp;&nbsp;
- <a href="<?=$html->url("/developers/addon/status/{$addon_id}/")?>" class="button rounded"><?=___('devcp_status_confirm_no')?></a>
+ <a href="#" onclick="addon_status.confirm(); return false;" class="complete add-button rounded"><?=___('Yes, I\'m Sure')?></a>&nbsp;&nbsp;
+ <a href="<?=$html->url("/developers/addon/status/{$addon_id}/")?>" class="button rounded"><?=___('No, cancel')?></a>
</div>
</div>
</form>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/site/app/views/developers/addon_status_nominate.thtml b/site/app/views/developers/addon_status_nominate.thtml
index 2373732..ce68e83 100644
--- a/site/app/views/developers/addon_status_nominate.thtml
+++ b/site/app/views/developers/addon_status_nominate.thtml
@@ -40,10 +40,10 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_addon_status_title'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('%s Status'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($errors)) {
- echo '<div class="notice-error rounded">'.___('devcp_status_nominate_error_notice').'</div>';
+ echo '<div class="notice-error rounded">'.___('<span>A nomination message is required.</span><br />Please fill in the text box with the requested information and try again.').'</div>';
}
?>
<?=$this->renderElement('noscript')?>
@@ -52,14 +52,14 @@
<?=$html->hiddenSession();?>
<input type="hidden" name="confirmed" value="true" />
<div class="graybox field rounded">
- <h4><?=___('devcp_status_nominate_header')?></h4>
+ <h4><?=___('Add-on Nomination')?></h4>
<?=$localization->includeLocalPage('nomination', array($html->url('/pages/policy')))?>
<div style="text-align: center;">
<textarea cols="70" rows="5" name="data[Addon][nominationmessage]"><?=(!empty($addon['Addon']['nominationmessage']) ? $addon['Addon']['nominationmessage'] : '')?></textarea>
- <div><a href="#" onclick="addon_status.confirm(); return false;" class="nominate add-button rounded"><?=sprintf(_('devcp_nominate_submit_nominate'), $addon_name)?></a><br />
- <a href="<?=$html->url("/developers/addon/status/{$addon_id}/")?>"><?=___('devcp_nominate_cancel')?></a>
+ <div><a href="#" onclick="addon_status.confirm(); return false;" class="nominate add-button rounded"><?=sprintf(___('Nominate %s'), $addon_name)?></a><br />
+ <a href="<?=$html->url("/developers/addon/status/{$addon_id}/")?>"><?=___('Cancel and return')?></a>
</div>
</div>
</div>
diff --git a/site/app/views/developers/dashboard.thtml b/site/app/views/developers/dashboard.thtml
index a451b75..9193f7e 100644
--- a/site/app/views/developers/dashboard.thtml
+++ b/site/app/views/developers/dashboard.thtml
@@ -38,10 +38,10 @@
?>
<div id="content">
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons));?>
-
+
<div id="content-main">
- <h3><?= ___('devcp_dashboard_header_main') ?></h3>
-
+ <h3><?= ___('Developer Dashboard') ?></h3>
+
<div id="summary">
<?php
if (!empty($addons)) {
@@ -55,49 +55,49 @@
echo '<h4><a href="'.$html->url('/addon/'.$addon_id).'">';
echo '<img src="'.$addonIconPath.'" alt="'.$addon['Translation']['name']['string'].'" />';
echo $addon['Translation']['name']['string'].'</a></h4>';
-
+
if ($addon['Addon']['status'] != STATUS_DISABLED) {
$latestVersion = !empty($addon['Version'][0]) ? $addon['Version'][0] : 0;
-
+
echo '<ul class="actionbar index-actions">';
// Edit Add-on
- echo '<li class="edit"><a href="'.$html->url('/developers/addon/edit/'.$addon_id).'" class="view">'._('devcp_actionbar_link_edit').'</a>';
- echo '<span class="action-details">'.sprintf(___('devcp_dashboard_last_edited'), strftime(_('date'), strtotime($addon['Addon']['modified']))).'</span></li>';
+ echo '<li class="edit"><a href="'.$html->url('/developers/addon/edit/'.$addon_id).'" class="view">'.___('Edit Add-on').'</a>';
+ echo '<span class="action-details">'.sprintf(___('Last edited on %s'), strftime(___('%B %e, %Y'), strtotime($addon['Addon']['modified']))).'</span></li>';
// Change Status
- echo '<li class="status"><a href="'.$html->url('/developers/addon/status/'.$addon_id).'" class="view">'.___('devcp_dashboard_change_status').'</a>';
- $active = $addon['Addon']['inactive'] == 1 ? ___('devcp_dashboard_inactive') : ___('devcp_dashboard_active');
- echo '<span class="action-details">'.sprintf(___('devcp_dashboard_addontype_status'), $addontypes[$addon['Addon']['addontype_id']],
+ echo '<li class="status"><a href="'.$html->url('/developers/addon/status/'.$addon_id).'" class="view">'.___('Change Status').'</a>';
+ $active = $addon['Addon']['inactive'] == 1 ? ___('Inactive') : ___('Active');
+ echo '<span class="action-details">'.sprintf(___('%1$s currently %2$s and %3$s'), $addontypes[$addon['Addon']['addontype_id']],
'<span class="inactive-'.$addon['Addon']['inactive'].'">'.$active.'</span>',
'<span class="status-'.$addon['Addon']['status'].'">'.$statuses[$addon['Addon']['status']].'</span>').'</span></li>';
// Statistics Dashboard
- echo '<li class="statistics"><a href="'.$html->url('/statistics/addon/'.$addon_id).'" class="view">'._('devcp_actionbar_link_stats').'</a>';
+ echo '<li class="statistics"><a href="'.$html->url('/statistics/addon/'.$addon_id).'" class="view">'.___('Statistics Dashboard').'</a>';
echo '<span class="action-details stats">';
- echo sprintf(_('devcp_statsbar_total_downloads'), $html->number_format($addon['Addon']['totaldownloads'], 0));
+ echo sprintf(___('<em>%s</em> Total Downloads'), $html->number_format($addon['Addon']['totaldownloads'], 0));
echo '&nbsp;&middot;&nbsp;';
- echo sprintf(_('devcp_statsbar_weekly_downloads'), $html->number_format($addon['Addon']['weeklydownloads'], 0));
+ echo sprintf(___('<em>%s</em> Weekly Downloads'), $html->number_format($addon['Addon']['weeklydownloads'], 0));
echo '&nbsp;&middot;&nbsp;';
- echo sprintf(_('devcp_statsbar_adu'), $html->number_format($addon['Addon']['updatepings'], 0));
+ echo sprintf(___('<em>%s</em> Active Daily Users'), $html->number_format($addon['Addon']['updatepings'], 0));
echo '</span></li>';
// Versions and Files
- echo '<li class="versions"><a href="'.$html->url('/developers/versions/'.$addon_id).'" class="view">'.___('devcp_dashboard_versions').'</a>';
+ echo '<li class="versions"><a href="'.$html->url('/developers/versions/'.$addon_id).'" class="view">'.___('Versions and Files').'</a>';
echo '<span class="action-details">';
if (!empty($latestVersion)) {
- echo _('devcp_summary_lastversion').' '.$html->link($latestVersion['version'], '/developers/versions/edit/'.$latestVersion['id']).' ('.$this->controller->Amo->describeVersionStatus($latestVersion['File']).')';
+ echo ___('Latest Version:').' '.$html->link($latestVersion['version'], '/developers/versions/edit/'.$latestVersion['id']).' ('.$this->controller->Amo->describeVersionStatus($latestVersion['File']).')';
if ($addon['Addon']['inactive'] != 1) {
echo '&nbsp;&middot;&nbsp;';
}
}
if ($addon['Addon']['inactive'] != 1) {
- echo '<a href="'.$html->url('/developers/versions/add/'.$addon_id).'">'.___('devcp_dashboard_versions_new').'</a>';
+ echo '<a href="'.$html->url('/developers/versions/add/'.$addon_id).'">'.___('Upload a new version').'</a>';
}
echo '</span></li>';
-
+
echo '</ul>';
}
else {
// Admin Disabled Add-on
- echo '<p>'.sprintf(___('devcp_dashboard_disabled_status'), '<span class ="'.STATUS_DISABLED.'">'.$statuses[STATUS_DISABLED].'</span>').'</p>';
- echo '<p>'.sprintf(___('devcp_dashboard_disabled_questions'), 'amo-admins@mozilla.org').'</p>';
+ echo '<p>'.sprintf(___('Add-on Status: %s'), '<span class ="'.STATUS_DISABLED.'">'.$statuses[STATUS_DISABLED].'</span>').'</p>';
+ echo '<p>'.sprintf(___('Your add-on was disabled by an administrator and cannot be used. If you have any questions, please email %s.'), 'amo-admins@mozilla.org').'</p>';
}
?>
</div>
@@ -108,9 +108,9 @@
}
else {
echo '<div class="graybox rounded">';
- echo '<h4>'.___('devcp_dashboard_header_welcome').'</h4>';
- echo '<p>'.___('devcp_dashboard_learn').'</p>';
- echo '<div style="text-align: center;"><a href="'.$html->url('/developers/addon/submit').'" class="action-button rounded">'.___('devcp_dashboard_start').'</a></div>';
+ echo '<h4>'.___('Welcome to the Developer Dashboard').'</h4>';
+ echo '<p>'.___('You don\'t currently have any add-ons hosted on Mozilla Add-ons. To learn how the process works and submit your first add-on, click Get Started below.').'</p>';
+ echo '<div style="text-align: center;"><a href="'.$html->url('/developers/addon/submit').'" class="action-button rounded">'.___('Get Started').'</a></div>';
echo '</div>';
}
?>
diff --git a/site/app/views/developers/discuss.thtml b/site/app/views/developers/discuss.thtml
index 914ee4b..aa163af 100644
--- a/site/app/views/developers/discuss.thtml
+++ b/site/app/views/developers/discuss.thtml
@@ -40,7 +40,7 @@
<div id="content-main">
- <h3><?=sprintf(___('devcp_discuss_pagetitle', 'Provide More Information For the Add-on Review of %1$s'), $addonName)?></h3>
+ <h3><?=sprintf(___('Provide More Information For the Add-on Review of %1$s'), $addonName)?></h3>
<p><?=sprintf(___('devcp_discuss_intro', 'A Mozilla Add-ons Editor requested further '
@@ -49,34 +49,34 @@
<div class="corner-box">
<p><?=$inforequest['Approval']['comments']?></p>
<cite>
- <?=sprintf(___('devcp_discuss_writtenby', 'written by %1$s on %2$s'), $html->linkUserFromModel($inforequest['User']), strftime(_('datetime'), strtotime($inforequest['Approval']['created'])))?>
+ <?=sprintf(___('written by %1$s on %2$s'), $html->linkUserFromModel($inforequest['User']), strftime(___('%B %e, %Y, %I:%M %p'), strtotime($inforequest['Approval']['created'])))?>
</cite>
</div>
<?php if (!empty($replies)): ?>
- <h4><?=___('devcp_discuss_allreplies_header', 'Replies')?></h4>
+ <h4><?=___('Replies')?></h4>
<?php foreach ($replies as &$reply): ?>
<div class="corner-box">
<p><?=$reply['Approval']['comments']?></p>
<cite>
- <?=sprintf(___('devcp_discuss_writtenby', 'written by %1$s on %2$s'), $html->linkUserFromModel($reply['User']), strftime(_('datetime'), strtotime($reply['Approval']['created'])))?>
+ <?=sprintf(___('written by %1$s on %2$s'), $html->linkUserFromModel($reply['User']), strftime(___('%B %e, %Y, %I:%M %p'), strtotime($reply['Approval']['created'])))?>
</cite>
</div>
<?php endforeach; ?>
<?php endif; ?>
- <h4><?=___('devcp_discuss_addreply_header', 'Add Reply')?></h4>
+ <h4><?=___('Add Reply')?></h4>
<?php if (!empty($error)): ?>
- <div class="error-notice"><p><?=sprintf(___('devcp_discuss_error_notice', 'There was an error saving your reply. Please contact %1$s about the issue.'), $link->email('amo-editors@mozilla.org'))?></p></div>
+ <div class="error-notice"><p><?=sprintf(___('There was an error saving your reply. Please contact %1$s about the issue.'), $link->email('amo-editors@mozilla.org'))?></p></div>
<?php elseif (!empty($success)): ?>
- <div><p><?=___('devcp_discuss_success_message', 'Your reply was successfully saved. The other participants of the discussion will be notified by email.')?></p></div>
+ <div><p><?=___('Your reply was successfully saved. The other participants of the discussion will be notified by email.')?></p></div>
<?php else: ?>
<?=$html->formTag()?>
<div id="commentsbox">
<?=$html->textarea('Approval/comments', array('cols' => '70', 'rows' => '5', 'id' => 'comments', 'class' => 'input'))?>
</div>
<div id="finish">
- <?=$html->submit(___('devcp_discuss_submit_reply', 'Submit Reply'), array('id' => 'submit'))?>
+ <?=$html->submit(___('Submit Reply'), array('id' => 'submit'))?>
</div>
</form>
<?php endif; ?>
diff --git a/site/app/views/developers/previews.thtml b/site/app/views/developers/previews.thtml
index e229be3..4c7f740 100644
--- a/site/app/views/developers/previews.thtml
+++ b/site/app/views/developers/previews.thtml
@@ -41,13 +41,13 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_previews_title'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('%s Preview Manager'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($messages['success'])) {
- echo '<div class="notice-success rounded"><span>'.___('devcp_previews_notice_success').'</span><br /><ul><li>'.implode('</li><li>', $messages['success']).'</li></ul></div>';
+ echo '<div class="notice-success rounded"><span>'.___('Your previews have been updated successfully.').'</span><br /><ul><li>'.implode('</li><li>', $messages['success']).'</li></ul></div>';
}
if (!empty($messages['errors'])) {
- echo '<div class="notice-error rounded"><span>'.___('devcp_previews_notice_error').'</span><br /><ul><li>'.implode('</li><li>', $messages['errors']).'</li></ul></div>';
+ echo '<div class="notice-error rounded"><span>'.___('One or more of your new previews could not be saved.').'</span><br /><ul><li>'.implode('</li><li>', $messages['errors']).'</li></ul></div>';
}
echo $this->renderElement('noscript');
@@ -56,7 +56,7 @@
echo $html->hiddenSession();
if (!empty($previews)) {
- echo '<p>'.___('devcp_previews_p_screenshots').'</p>';
+ echo '<p>'.___('The preview screenshots for your add-on are shown below. You can make changes to captions or images below. The Default Preview is the preview that is displayed next to your add-on in search and browse listings.').'</p>';
// Retrieve language arrays from bootstrap.
global $valid_languages, $native_languages;
foreach (array_keys($valid_languages) as $key) {
@@ -75,9 +75,9 @@
?>
<div class="preview-box graybox rounded spaced field">
<table style="width: 100%;"><tr><td style="width: 200px; text-align: center; vertical-align: top;">
- <img src="<?=$this->controller->Image->getPreviewURL($preview['Preview']['id'])?>/0" alt="<?=___('devcp_previews_thumbnail')?>" />
+ <img src="<?=$this->controller->Image->getPreviewURL($preview['Preview']['id'])?>/0" alt="<?=___('Thumbnail')?>" />
</td><td style="vertical-align: top;">
- <h5 style="margin-top: 0; margin-bottom: 2px;"><?=___('devcp_previews_header_caption')?></h5>
+ <h5 style="margin-top: 0; margin-bottom: 2px;"><?=___('Preview Caption')?></h5>
<?php
echo $this->renderElement('translationbox', array(
'field' => 'caption',
@@ -90,21 +90,21 @@
<table style="width: 100%; padding-top: 10px;"><tr><td>
<label><input type="radio" name="data[Preview][highlight]" value="<?=$preview['Preview']['id']?>" style="vertical-align: top;"<?=($preview['Preview']['highlight'] == 1 ? ' checked="checked"' : '')?>/>
- <?=___('devcp_previews_label_default')?></label>
+ <?=___('Default Preview')?></label>
</td><td class="preview-buttons">
- <a href="#" onclick="previews.showReplaceBox(this); return false;" class="edit-button rounded"><?=___('devcp_previews_a_replace')?></a>&nbsp;
- <a href="#" onclick="previews.deletePreview(this); return false;" class="remove-button rounded"><?=___('devcp_previews_a_delete')?></a>
+ <a href="#" onclick="previews.showReplaceBox(this); return false;" class="edit-button rounded"><?=___('Replace Preview')?></a>&nbsp;
+ <a href="#" onclick="previews.deletePreview(this); return false;" class="remove-button rounded"><?=___('Delete Preview')?></a>
</td></tr></table>
<div class="replace-preview" style="display: none;">
- <label><?=___('devcp_previews_label_new')?>
+ <label><?=___('New image:')?>
<input type="file" name="data[Preview][New][<?=$preview['Preview']['id']?>]" /></label>
- <p><?=sprintf(___('devcp_previews_click_update'), 'href="#" onclick="previews.cancelReplace(this); return false;"')?></p>
+ <p><?=sprintf(___('Click the Update Previews button below to save this image. (<a %s>Cancel?</a>)'), 'href="#" onclick="previews.cancelReplace(this); return false;"')?></p>
</div>
</td></tr></table>
<input type="hidden" class="delete" name="data[Preview][Delete][<?=$preview['Preview']['id']?>]" value="false" />
- <div class="error-message"><?=sprintf(___('devcp_previews_error_message'), 'href="#" onclick="previews.cancelDelete(this); return false;"')?></div>
+ <div class="error-message"><?=sprintf(___('This preview will be deleted when Update Previews is clicked below. (<a %s>Cancel?</a>)'), 'href="#" onclick="previews.cancelDelete(this); return false;"')?></div>
</div>
<?php
}
@@ -112,18 +112,18 @@
?>
<div id="add-preview-box" class="graybox rounded spaced field" style="<?=(!empty($previews) ? 'display: none;' : '')?>">
- <h4><?=___('devcp_previews_add_new')?></h4>
- <p><?=sprintf(___('devcp_previews_add_select'), implode(', ', $this->controller->Developers->imageExtensions))?></p>
+ <h4><?=___('Add New Preview')?></h4>
+ <p><?=sprintf(___('Select an image to upload below. Images larger than the maximum size of 700 pixels wide by 525 pixels tall will be resized. Allowed file types: %s'), implode(', ', $this->controller->Developers->imageExtensions))?></p>
<div id="new-preview-container">
- <label class="new-preview"><?=___('devcp_previews_label_upload')?><input type="file" name="data[Preview][New][]" size="40" /></label>
+ <label class="new-preview"><?=___('Upload Preview: ')?><input type="file" name="data[Preview][New][]" size="40" /></label>
</div>
- <div class="add-button-container"><a href="#" onclick="previews.addUploadBox(); return false;" class="add-button rounded"><?=___('devcp_previews_a_another')?></a></div>
- <div class="preview-add-button-description"><?=___('devcp_previews_click_below')?></div>
+ <div class="add-button-container"><a href="#" onclick="previews.addUploadBox(); return false;" class="add-button rounded"><?=___('Add Another Preview')?></a></div>
+ <div class="preview-add-button-description"><?=___('Click Update Previews below to upload.')?></div>
</div>
- <div class="add-button-container" style="<?=(empty($previews) ? 'display: none;' : '')?>"><a href="#add-preview-box" onclick="previews.showAddBox(this);" class="add-button rounded"><?=___('devcp_previews_add_new')?></a></div>
+ <div class="add-button-container" style="<?=(empty($previews) ? 'display: none;' : '')?>"><a href="#add-preview-box" onclick="previews.showAddBox(this);" class="add-button rounded"><?=___('Add New Preview')?></a></div>
- <div class="action-button-container centered"><a href="#" onclick="previews.save(); return false;" class="action-button rounded"><?=___('devcp_previews_a_update')?></a></div>
+ <div class="action-button-container centered"><a href="#" onclick="previews.save(); return false;" class="action-button rounded"><?=___('Update Previews')?></a></div>
</form>
</div>
</div>
diff --git a/site/app/views/developers/uploader.thtml b/site/app/views/developers/uploader.thtml
index 8feec7b..be1ea22 100644
--- a/site/app/views/developers/uploader.thtml
+++ b/site/app/views/developers/uploader.thtml
@@ -45,16 +45,16 @@
echo $this->renderElement('developers/sidebar', $params);
echo '<div id="content-main" class="'.($type != 'new' && $author_role < AUTHOR_ROLE_DEV ? 'no-privs' : 'privs').'">';
-
+
if ($type == 'new') {
- $title = ___('devcp_uploader_title_submit');
+ $title = ___('Submit New Add-on');
$addon_id = 0;
}
elseif ($type == 'update') {
- $title = sprintf(___('devcp_uploader_title_update'), $addon_name);
+ $title = sprintf(___('Update %s'), $addon_name);
}
elseif ($type == 'file') {
- $title = sprintf(___('devcp_uploader_title_file'), $addon_name, $version);
+ $title = sprintf(___('Add File to %1$s %2$s'), $addon_name, $version);
}
echo $this->renderElement('developers/addonheader', array('title' => $title, 'addon_id' => $addon_id));
?>
@@ -63,15 +63,15 @@
<div id="submission-area" class="rounded graybox">
<?php if ($type == 'new'): ?>
<div id="step-intro">
- <h3><?=___('devcp_uploader_header_how')?></h3>
- <?=___('devcp_uploader_how')?>
- <div style="text-align: center;"><a href="#" onclick="upload.showAgreement(); return false;" class="action-button rounded"><?=___('devcp_uploader_a_start')?></a></div>
+ <h3><?=___('How does it all work?')?></h3>
+ <?=___('<p>Thanks for your interest in submitting your add-on to Mozilla Add-ons. Hosting your add-on on Mozilla Add-ons is the easiest way to handle distribution of your add-on. Here\'s what you\'ll get:</p><ul><li>Each add-on will have a public display page with information you provide, such as a brief summary of the add-on\'s functionality, an optional longer description, and a showcase of preview screenshots of your add-on.</li><li>Your add-on will appear in search and browse listings across the site, and even in the Add-ons Manager of Firefox 3.</li><li>We\'ll take care of hosting all of your downloads and providing automatic updates to users when you upload a new version.</li><li>You\'ll have access to a statistics dashboard with detailed information about your user base.</li></ul><p>Add-ons hosted on the site must be reviewed by a Mozilla Add-ons Editor before they will have all of the features listed above. If you\'re ready to start the process and have your add-on package ready for upload, just click on Get Started below!</p>')?>
+ <div style="text-align: center;"><a href="#" onclick="upload.showAgreement(); return false;" class="action-button rounded"><?=___('Get Started')?></a></div>
</div> <!-- /#step-intro -->
<?php endif; ?>
<?php $showAgreement = ($type == 'new' || !$hasAgreement); ?>
<?php if ($showAgreement): ?>
<div id="step-agreement" <?=($type != 'new' ? 'style="display:block"' : '')?>>
- <p><?=_('devcp_review_agreement_please')?></p>
+ <p><?=___('Please review and accept the following Developer Agreement before proceeding.')?></p>
<?=$localization->includeLocalPage('developer_agreement',array($html->url('/pages/developer_faq')))?>
<?php
@@ -99,7 +99,7 @@
'fieldname' => 'text'));
?>
<div class="submit-area">
- <input type="button" value="<?=___('devcp_uploader_button_agree')?>"
+ <input type="button" value="<?=___('Agree and continue')?>"
id="accept-agreement" disabled="true" onclick="upload.acceptAgreement()"/>
</div>
<script type="text/javascript">
@@ -117,16 +117,16 @@
<?php endif; ?>
<div id="file-upload"<?=($showAgreement ? ' style="display: none;"' : '')?>>
- <h3><?=___('devcp_uploader_header_upload')?></h3>
- <p><?=___('devcp_uploader_p_upload')?>
+ <h3><?=___('Upload Your File')?></h3>
+ <p><?=___('Upload your add-on file using the form below. If you have multiple, platform-specific files to upload, choose a single file and then upload the others using the Versions and Files Manager.')?>
<br />
<form id="upload-form" method="post" enctype="multipart/form-data" action="<?=$html->url('/developers/json/fileupload/'.$type)?>" target="upload-frame" onsubmit="return upload.uploadFile();">
<?=$html->hiddenSession();?>
<?=(!empty($addon_id) ? '<input type="hidden" name="data[Addon][id]" value="'.$addon_id.'" />' : '')?>
<?=(!empty($version_id) ? '<input type="hidden" name="data[Version][id]" value="'.$version_id.'" />' : '')?>
- <label><?=___('devcp_uploader_label_upload_field')?><input id="upload-field" type="file" name="file" /></label><br />
- <?=___('devcp_uploader_label_platformtype')?>&nbsp;&nbsp;<label><input type="radio" name="platformtype" onclick="upload.platformAll();" checked />&nbsp;<?=___('devcp_uploader_platformtype_all')?></label>&nbsp;&nbsp;
- <label><input type="radio" name="platformtype" onclick="upload.platformSpecific();" />&nbsp;<?=___('devcp_uploader_platformtype_specific')?></label>
+ <label><?=___('Add-on File: ')?><input id="upload-field" type="file" name="file" /></label><br />
+ <?=___('Supported Platforms:')?>&nbsp;&nbsp;<label><input type="radio" name="platformtype" onclick="upload.platformAll();" checked />&nbsp;<?=___('All')?></label>&nbsp;&nbsp;
+ <label><input type="radio" name="platformtype" onclick="upload.platformSpecific();" />&nbsp;<?=___('Specific:')?></label>
<?php
$platforms = $this->controller->Platform->getNames();
foreach ($platforms as $platform_id => $platform_name) {
@@ -135,49 +135,49 @@
}
?>
<div class="submit">
- <input type="submit" value="<?=___('devcp_input_upload_file')?>" class="require-privs" />
+ <input type="submit" value="<?=___('Upload File')?>" class="require-privs" />
</div>
- <div id="upload-loading"><?=$html->image('ajax_loading.gif')?>&nbsp;<?=___('devcp_uploader_ajax_loading')?></div>
+ <div id="upload-loading"><?=$html->image('ajax_loading.gif')?>&nbsp;<?=___('Uploading file...')?></div>
</form>
<div id="upload-error" class="redbox-tr"><div class="redbox-tl">
<div id="upload-error-content">
- <h4><?=___('devcp_uploader_header_error')?></h4>
+ <h4><?=___('Oops! There seems to be a problem with this file...')?></h4>
<p id="upload-error-text" class="smallmargin"></p>
- <p class="smallmargin"><?=___('devcp_uploader_error_correct')?></p>
+ <p class="smallmargin"><?=___('Please correct this problem and upload your file again.')?></p>
</div>
<div class="redbox-br"><div class="redbox-bl"></div></div>
</div></div>
</div><!-- /#file-upload -->
-
+
</div><!-- /#submission-area -->
-
+
<div id="upload-success" class="greenbox-tr"><div class="greenbox-tl">
<?php if ($type == 'new'): ?>
<div id="addon-created-content">
- <h3><?=___('devcp_uploader_header_created')?></h3>
+ <h3><?=___('Add-on Created!')?></h3>
<div id="created-results">
- <?=sprintf(___('devcp_uploader_created_results'), 'href="'.$html->url('/developers/addon/status/').'" id="status-link"')?>
- <div class="action-button-container centered"><a id="complete-link" href="<?=$html->url('/developers/addon/edit/')?>" class="action-button rounded"><?=___('devcp_uploader_button_edit')?></a></div>
- <div style="text-align: center;"><a href="<?=$html->url('/developers')?>"><?=___('devcp_uploader_button_later')?></a></div>
+ <?=sprintf(___('<p>Your add-on listing has been successfully created. The basic information obtained from your uploaded file has been stored, but there\'s a lot more to your listing that can be customized.</p><p>Your add-on is currently marked as <strong>Incomplete</strong>. In order to complete your add-on, you\'ll need to make sure it has an accurate name, summary, and description, as well as at least one selected category. You can edit your add-on\'s information using the link below and check the status of your add-on at any time on the <a %s>status page</a>.'), 'href="'.$html->url('/developers/addon/status/').'" id="status-link"')?>
+ <div class="action-button-container centered"><a id="complete-link" href="<?=$html->url('/developers/addon/edit/')?>" class="action-button rounded"><?=___('Edit My Add-on')?></a></div>
+ <div style="text-align: center;"><a href="<?=$html->url('/developers')?>"><?=___('I\'ll complete my add-on later.')?></a></div>
</div>
</div><!-- /#addon-created-content -->
<?php elseif ($type == 'update'): ?>
<div id="version-created-content">
- <h3><?=sprintf(___('devcp_uploader_header_update_created'), '<span id="new-version-number"></span>')?></h3>
+ <h3><?=sprintf(___('Version %s Created'), '<span id="new-version-number"></span>')?></h3>
<div id="created-results">
- <p><?=sprintf(___('devcp_uploader_p_update_created'), '<span id="new-file-status"></span>')?></p>
- <p id="pending-message"><?=sprintf(___('devcp_uploader_p_pending_version'), '<span id="queue-count"></span>', 'href="https://wiki.mozilla.org/Update:Editors"')?></p>
- <p><?=sprintf(___('devcp_uploader_p_update_version'), '/developers/versions/edit/', '/developers/addon/status/'.$addon_id)?>
- <div class="action-button-container centered"><a id="complete-link" href="<?=$html->url('/developers/versions/edit/')?>" class="action-button rounded"><?=___('devcp_uploader_button_release')?></a></div>
+ <p><?=sprintf(___('Your new version has been created and is currently marked as %s.'), '<span id="new-file-status"></span>')?></p>
+ <p id="pending-message"><?=sprintf(___('The new version will be available to the public as soon as an editor is able to review it. There are currently %1$s other add-ons in the queue. Want to be reviewed faster? Consider <a %2$s>becoming an editor</a>.'), '<span id="queue-count"></span>', 'href="https://wiki.mozilla.org/Update:Editors"')?></p>
+ <p><?=sprintf(___('View your new version in the <a %1$s>Versions and Files page</a>, check out your add-on\'s <a %2$s>current status</a>, or <b>add release notes</b> by clicking the button below (highly recommended).'), '/developers/versions/edit/', '/developers/addon/status/'.$addon_id)?>
+ <div class="action-button-container centered"><a id="complete-link" href="<?=$html->url('/developers/versions/edit/')?>" class="action-button rounded"><?=___('Add Release Notes')?></a></div>
</div>
</div><!-- /#version-created-content -->
<?php elseif ($type == 'file'): ?>
<div id="file-created-content">
- <h3><?=___('devcp_uploader_header_file_added')?></h3>
+ <h3><?=___('File Added!')?></h3>
<div id="created-results">
- <p><?=sprintf(___('devcp_uploader_file_created'), $version, '<span id="new-file-status"></span>')?></p>
- <p id="pending-message"><?=sprintf(___('devcp_uploader_p_pending_file'), '<span id="queue-count"></span>', 'href="https://wiki.mozilla.org/Update:Editors"')?></p>
- <p><?=sprintf(___('devcp_uploader_update_file_nextsteps'),
+ <p><?=sprintf(___('Your new file has been added to version %1$s and is currently marked as %2$s.'), $version, '<span id="new-file-status"></span>')?></p>
+ <p id="pending-message"><?=sprintf(___('The new file will be available to the public as soon as an editor is able to review it. There are currently %1$s other add-ons in the queue. Want to be reviewed faster? Consider <a %2$s>becoming an editor</a>.'), '<span id="queue-count"></span>', 'href="https://wiki.mozilla.org/Update:Editors"')?></p>
+ <p><?=sprintf(___('View your new file on the <a href="%1$s">Versions and Files page</a>, or check out your add-on\'s <a href="%2$s">current status</a>.'),
$html->url("/developers/versions/edit/{$version_id}"),
$html->url("/developers/addon/status/{$addon_id}"))?>
</div>
diff --git a/site/app/views/developers/versions.thtml b/site/app/views/developers/versions.thtml
index 4f5921b..2947449 100644
--- a/site/app/views/developers/versions.thtml
+++ b/site/app/views/developers/versions.thtml
@@ -40,45 +40,45 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($deleteSuccess)) {
- echo '<div class="notice-success rounded"><span>'.sprintf(___('devcp_versions_notice_success'), $deletedVersion).'</span></div>';
+ echo '<div class="notice-success rounded"><span>'.sprintf(___('Version %s deleted successfully.'), $deletedVersion).'</span></div>';
}
?>
- <h2><?=___('devcp_versions_header_manage')?></h2>
+ <h2><?=___('Manage Versions and Files')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<div class="graybox spaced rounded">
<table id="versions-table" class="pretty-table">
<?php
echo '<tr>';
- echo '<th style="width: 25%;">'.___('devcp_versions_th_version').'</th>';
- echo '<th style="width: 20%;">'.___('devcp_versions_th_validation', 'Validation').'</th>';
- echo '<th style="width: 20%;">'.___('devcp_versions_th_status').'</th>';
- echo '<th style="width: 20%;">'.___('devcp_versions_th_created').'</th>';
+ echo '<th style="width: 25%;">'.___('Version').'</th>';
+ echo '<th style="width: 20%;">'.___('Validation').'</th>';
+ echo '<th style="width: 20%;">'.___('Status').'</th>';
+ echo '<th style="width: 20%;">'.___('Created').'</th>';
echo '<th style="width: 15%;"></th>';
echo '</tr>';
if (!empty($versions)) {
$i = 0;
foreach ($versions as $version) {
echo '<tr'.($i % 2 == 0 ? ' class="alt"' : '').'>';
- echo '<td><a href="'.$html->url('/developers/versions/edit/'.$version['Version']['id']).'">'.sprintf(_('devcp_details_version'), $version['Version']['version']).'</a></td>';
+ echo '<td><a href="'.$html->url('/developers/versions/edit/'.$version['Version']['id']).'">'.sprintf(___('Version %s'), $version['Version']['version']).'</a></td>';
echo '<td class="validation"><a href="'.$html->url('/developers/versions/validate/'.$version['Version']['id']).'">'.$this->controller->Amo->describeValidationStatus($version['File']).'</a></td>';
echo '<td>'.$this->controller->Amo->describeVersionStatus($version['File']).'</td>';
- echo '<td>'.strftime(_('date'), strtotime($version['Version']['created'])).'</td>';
+ echo '<td>'.strftime(___('%B %e, %Y'), strtotime($version['Version']['created'])).'</td>';
echo '<td class="delete-area version-delete-area">';
if (empty($version['File'])) {
echo '<div class="inline-delete-button uses-button">';
- echo '<a href="#" onclick="versions.deleteVersion(this); return false;" class="remove-button rounded trigger">'.___('devcp_versions_a_remove').'</a>';
+ echo '<a href="#" onclick="versions.deleteVersion(this); return false;" class="remove-button rounded trigger">'.___('Remove?').'</a>';
echo '<div class="inline-delete-box">';
- echo '<p>'.___('devcp_versions_p_remove').'</p><br />';
- echo '<p><a href="'.$html->url('/developers/versions/delete/'.$version['Version']['id']).'" class="remove-button rounded">'.___('devcp_versions_a_empty').'</a>&nbsp;&nbsp;';
- echo '<a href="#" onclick="versions.cancelDelete(this); return false;" class="button rounded">'.___('devcp_versions_a_cancel').'</a></p>';
+ echo '<p>'.___('This version has no files associated with it and can be removed. Would you like to remove this version?').'</p><br />';
+ echo '<p><a href="'.$html->url('/developers/versions/delete/'.$version['Version']['id']).'" class="remove-button rounded">'.___('Remove Empty Version').'</a>&nbsp;&nbsp;';
+ echo '<a href="#" onclick="versions.cancelDelete(this); return false;" class="button rounded">'.___('Cancel').'</a></p>';
echo '</div></div>';
}
else {
- echo '<a href="'.$html->url('/developers/versions/delete/'.$version['Version']['id']).'">'.$html->image('developers/delete.png', array('alt' => ___('devcp_versions_a_delete'), 'title' => ___('devcp_versions_a_delete'))).'</a>';
+ echo '<a href="'.$html->url('/developers/versions/delete/'.$version['Version']['id']).'">'.$html->image('developers/delete.png', array('alt' => ___('Delete Version'), 'title' => ___('Delete Version'))).'</a>';
}
echo '</td>';
echo '</tr>';
@@ -86,11 +86,11 @@
}
}
else {
- echo '<tr><td colspan="3" style="text-align: center;"><i>'.___('devcp_versions_no_versions').'</i></td></tr>';
+ echo '<tr><td colspan="3" style="text-align: center;"><i>'.___('No versions.').'</i></td></tr>';
}
?>
</table>
-<div class="add-button-container"><a href="<?=$html->url("/developers/versions/add/{$addon_id}")?>" class="add-button rounded"><?=___('devcp_versions_add')?></a></div>
+<div class="add-button-container"><a href="<?=$html->url("/developers/versions/add/{$addon_id}")?>" class="add-button rounded"><?=___('Add New Version')?></a></div>
</div>
</div>
</div> \ No newline at end of file
diff --git a/site/app/views/developers/versions_delete.thtml b/site/app/views/developers/versions_delete.thtml
index c1d7d67..cd3e682 100644
--- a/site/app/views/developers/versions_delete.thtml
+++ b/site/app/views/developers/versions_delete.thtml
@@ -40,22 +40,22 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?=$this->renderElement('noscript')?>
<form id="versions-delete-form" action="" method="post">
<?=$html->hiddenSession();?>
<div class="graybox rounded">
- <h4><?=sprintf(___('devcp_versions_delete_header'), $version['Version']['version'])?></h4>
- <p class="smallmargin"><?=sprintf(___('devcp_versions_delete_sure'), $version['Version']['version'])?></p>
- <p><?=___('devcp_versions_delete_also')?></p>
+ <h4><?=sprintf(___('Delete Version %s?'), $version['Version']['version'])?></h4>
+ <p class="smallmargin"><?=sprintf(___('Are you sure you want to permanently delete version %s?'), $version['Version']['version'])?></p>
+ <p><?=___('This will also delete:')?></p>
<ul>
- <li><?=sprintf(n___('devcp_versions_delete_reviews', 'devcp_versions_delete_reviews', count($version['Review'])), count($version['Review']))?></li>
+ <li><?=sprintf(n___('%s review', '%s reviews', count($version['Review'])), count($version['Review']))?></li>
<li><?=sprintf(n___('devcp_versions_delete_files', 'devcp_versions_delete_files', count($version['File'])), count($version['File']))?></li>
</ul>
<div>
- <a href="#" onclick="versions_delete.confirm(); return false;" class="remove-button rounded"><?=___('devcp_versions_delete_a_delete')?></a>
+ <a href="#" onclick="versions_delete.confirm(); return false;" class="remove-button rounded"><?=___('Delete Version')?></a>
<input type="hidden" name="confirmDelete" value="1"/>&nbsp;&nbsp;
- <a href="<?=$html->url('/developers/versions/'.$addon_id)?>" class="button rounded"><?=___('devcp_versions_delete_a_cancel')?></a>
+ <a href="<?=$html->url('/developers/versions/'.$addon_id)?>" class="button rounded"><?=___('Cancel')?></a>
</div>
</div>
</form>
diff --git a/site/app/views/developers/versions_edit.thtml b/site/app/views/developers/versions_edit.thtml
index 21e7fc4..cbddec7 100644
--- a/site/app/views/developers/versions_edit.thtml
+++ b/site/app/views/developers/versions_edit.thtml
@@ -41,16 +41,16 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Edit %s'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
+ echo '<div class="notice-success rounded">'.___('<span>Your changes have been saved.</span><br />Please note that some changes may take several hours to appear in all areas of the website.').'</div>';
}
if (!empty($errors)) {
- echo '<div class="notice-error rounded">'.___('devcp_notice_changes_error').'</div>';
+ echo '<div class="notice-error rounded">'.___('<span>One or more of your changes couldn\'t be saved.</span><br />Please look for the errors below. The rest of your changes were successfully saved.').'</div>';
}
?>
- <h2><?=sprintf(___('devcp_versions_edit_header_manage'), $version['Version']['version'])?></h2>
+ <h2><?=sprintf(___('Manage Version %s'), $version['Version']['version'])?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="versions-edit-form" action="" method="post">
@@ -62,23 +62,23 @@
$languages[$key] = $native_languages[$key]['native'];
}
ksort($languages);
-
+
$this->translationBox = array(
'defaultLocale' => $addon['Addon']['defaultlocale'],
'languages' => $languages,
'table' => 'Version',
'loaded' => false
);
-
+
echo '<div class="graybox rounded spaced field">';
- echo '<h4>'.___('devcp_versions_edit_header_file').'</h4>';
+ echo '<h4>'.___('File Information').'</h4>';
if (!empty($version['File'])) {
echo '<table id="files-table" class="pretty-table">';
echo '<thead><tr>';
- echo '<th>'.___('devcp_versions_edit_th_file').'</th>';
- echo '<th>'.___('devcp_versions_edit_th_platform').'</th>';
- echo '<th>'.___('devcp_versions_edit_th_size').'</th>';
- echo '<th>'.___('devcp_versions_edit_th_status').'</th>';
+ echo '<th>'.___('File').'</th>';
+ echo '<th>'.___('Platform').'</th>';
+ echo '<th>'.___('Size').'</th>';
+ echo '<th>'.___('Status').'</th>';
echo '<th style="width: 25px;"></th>';
echo '</tr></thead><tbody>';
$i = 0;
@@ -92,14 +92,14 @@
echo '<option value="'.$platform_id.'"'.($file['platform_id'] == $platform_id ? ' selected="selected"' : '').'>'.$platform_name.'</option>';
}
echo '</select></td>';
- echo '<td>'.sprintf(_('size_kb'), $file['size']).'</td>';
+ echo '<td>'.sprintf(___('%1$s KB'), $file['size']).'</td>';
echo '<td>'.$statuses[$file['status']].'</td>';
echo '<td><div class="inline-delete-button uses-image">';
- echo '<a href="#" onclick="versions_edit.deleteVersion(this); return false;">'.$html->image('developers/delete.png', array('alt' => ___('devcp_versions_edit_img_delete'), 'title' => ___('devcp_versions_edit_img_delete'))).'</a>';
+ echo '<a href="#" onclick="versions_edit.deleteVersion(this); return false;">'.$html->image('developers/delete.png', array('alt' => ___('Delete File'), 'title' => ___('Delete File'))).'</a>';
echo '<div class="inline-delete-box">';
- echo '<p>'.___('devcp_versions_edit_delete_sure').'</p><br />';
- echo '<p><a href="#" onclick="versions_edit.confirmDelete(this); return false;" class="remove-button rounded">'.___('devcp_versions_edit_a_delete').'</a>&nbsp;&nbsp;';
- echo '<a href="#" onclick="versions_edit.cancelDelete(this); return false;" class="button rounded">'.___('devcp_versions_edit_a_cancel').'</a></p>';
+ echo '<p>'.___('Are you <b>sure</b> you wish to permanently delete this file?').'</p><br />';
+ echo '<p><a href="#" onclick="versions_edit.confirmDelete(this); return false;" class="remove-button rounded">'.___('Delete File').'</a>&nbsp;&nbsp;';
+ echo '<a href="#" onclick="versions_edit.cancelDelete(this); return false;" class="button rounded">'.___('Cancel').'</a></p>';
echo '</div>';
echo '</div></td>';
echo '</tr>';
@@ -108,18 +108,18 @@
echo '</tbody></table>';
}
else {
- echo '<p><i>'.___('devcp_versions_edit_no_files').'</i></p>';
+ echo '<p><i>'.___('No files found.').'</i></p>';
}
- echo '<div class="save-changes rounded">'.___('devcp_versions_edit_unsaved_files').'</div>';
- echo '<div class="add-button-container"><a href="'.$html->url("/developers/versions/addfile/{$version['Version']['id']}").'" class="add-button rounded">'.___('devcp_versions_edit_add').'</a></div>';
+ echo '<div class="save-changes rounded">'.___('<strong>You have unsaved changes.</strong> Files will not be deleted until you click Update Version below.').'</div>';
+ echo '<div class="add-button-container"><a href="'.$html->url("/developers/versions/addfile/{$version['Version']['id']}").'" class="add-button rounded">'.___('Add New File').'</a></div>';
echo '</div>';
-
+
// Compatible applications (hidden for search engines)
if ($addon['Addon']['addontype_id'] != ADDON_SEARCH) {
echo '<div class="graybox rounded spaced field">';
- echo '<h4>'.___('devcp_versions_edit_header_compat').'</h4>';
- echo '<p>'.sprintf(___('devcp_versions_edit_adjust'), 'href="'.$html->url('/pages/appversions').'"').'</p>';
-
+ echo '<h4>'.___('Compatible Applications').'</h4>';
+ echo '<p>'.sprintf(___('Adjusting application information here will allow users to install your add-on even if the install.rdf in the package indicates that the add-on is incompatible. <a %s>List of supported applications</a>'), 'href="'.$html->url('/pages/appversions').'"').'</p>';
+
echo '<table id="edit-versions-targetapps-table" class="pretty-table"><tbody>';
$i = 0;
if (!empty($targetApps)) {
@@ -148,23 +148,23 @@
echo '</select></td>';
echo '<td style="width: 25px;">';
echo '<div class="inline-delete-button uses-image">';
- echo '<a href="#" onclick="versions_edit.deleteVersion(this); return false;">'.$html->image('developers/delete.png', array('alt' => ___('devcp_versions_edit_remove_compat'), 'title' => ___('devcp_versions_edit_remove_compat'))).'</a>';
+ echo '<a href="#" onclick="versions_edit.deleteVersion(this); return false;">'.$html->image('developers/delete.png', array('alt' => ___('Remove Application Compatibility'), 'title' => ___('Remove Application Compatibility'))).'</a>';
echo '<div class="inline-delete-box">';
- echo '<p>'.___('devcp_versions_edit_compat_sure').'</p><br />';
- echo '<p><a href="#" onclick="versions_edit.confirmDelete(this); return false;" class="remove-button rounded">'.___('devcp_versions_edit_a_remove_app').'</a>&nbsp;&nbsp;';
- echo '<a href="#" onclick="versions_edit.cancelDelete(this); return false;" class="button rounded">'.___('devcp_versions_edit_a_cancel').'</a></p>';
+ echo '<p>'.___('Are you <b>sure</b> you wish to remove compatibility with this application?').'</p><br />';
+ echo '<p><a href="#" onclick="versions_edit.confirmDelete(this); return false;" class="remove-button rounded">'.___('Remove Application').'</a>&nbsp;&nbsp;';
+ echo '<a href="#" onclick="versions_edit.cancelDelete(this); return false;" class="button rounded">'.___('Cancel').'</a></p>';
echo '</div>';
echo '</div></td>';
-
+
echo '</tr>';
$i++;
}
}
echo '</tbody></table>';
- echo '<div class="save-changes rounded">'.___('devcp_versions_edit_unsaved_compat').'</div>';
- echo '<div class="add-button-container" style="width: 60%; margin: 10px auto 0;"><a href="#" onclick="versions_edit.showAppPicker(); return false;" class="add-button rounded">'.___('devcp_versions_edit_a_new_app').'</a>';
+ echo '<div class="save-changes rounded">'.___('<strong>You have unsaved changes.</strong> Compatibility will not be deleted until you click Update Version below.').'</div>';
+ echo '<div class="add-button-container" style="width: 60%; margin: 10px auto 0;"><a href="#" onclick="versions_edit.showAppPicker(); return false;" class="add-button rounded">'.___('Add New Application').'</a>';
echo '<span id="new-app-picker"><select onchange="versions_edit.addApplication(this);">';
- echo '<option value="">'.___('devcp_versions_edit_select_app').'</option>';
+ echo '<option value="">'.___('Please Select an Application').'</option>';
foreach ($applications as $application_id => $application_name) {
echo '<option value="'.$application_id.'">'.$application_name.'</option>';
}
@@ -179,15 +179,15 @@
'translations' => $translations['releasenotes'],
'height' => '130',
'width' => 'inherit',
- 'displayName' => ___('devcp_versions_edit_transbox_releasenotes_name'),
- 'description' => ___('devcp_versions_edit_transbox_releasenotes_description'),
+ 'displayName' => ___('Release Notes'),
+ 'description' => ___('Information about changes in this release, new features, known bugs, and other useful information specific to this release/version. This information will also be available to users updating the add-on in the Firefox 3 Add-ons Manager interface.'),
));
?>
<!-- Source Code License -->
<div class="graybox rounded spaced">
- <h4><?=___('devcp_versions_edit_header_license')?></h4>
- <p><?=___('devcp_versions_edit_license_description')?></p>
+ <h4><?=___('License')?></h4>
+ <p><?=___('Please select the appropriate license for your add-on. This license specifies the rights you grant on your source code.')?></p>
<?php
list($licenses, $trans) = $this->controller->Developers->getLicenses($version['Version']['id']);
echo $this->renderElement('developers/license_picker',
@@ -200,22 +200,22 @@
</div>
<div class="graybox rounded spaced field">
- <h4><?=___('devcp_versions_edit_header_approval')?></h4>
+ <h4><?=___('Approval Information')?></h4>
<?php
if (!empty($version['File'])) {
echo '<ul>';
foreach ($version['File'] as $file) {
- echo '<li>'.sprintf(___('devcp_versions_edit_li_file'), $file['id'], $platforms[$file['platform_id']], strftime(_('date'), strtotime($file['created'])), $statuses[$file['status']], strftime(_('date'), strtotime($file['datestatuschanged']))).'</li>';
+ echo '<li>'.sprintf(___('File %1$s (%2$s) created on %3$s and changed to %4$s on %5$s'), $file['id'], $platforms[$file['platform_id']], strftime(___('%B %e, %Y'), strtotime($file['created'])), $statuses[$file['status']], strftime(___('%B %e, %Y'), strtotime($file['datestatuschanged']))).'</li>';
}
echo '</ul>';
}
- echo '<h5>'.___('devcp_versions_edit_header_notes').'</h5>';
- echo '<p class="smallmargin">'.___('devcp_versions_edit_optional').'</p>';
+ echo '<h5>'.___('Approval Notes').'</h5>';
+ echo '<p class="smallmargin">'.___('Optional information for the Editor that reviews this version.').'</p>';
echo '<textarea name="data[Version][approvalnotes]" cols="" rows="" style="width: 100%; height: 70px;" class="rounded">'.$version['Version']['approvalnotes'].'</textarea>';
echo '</div>';
?>
-
- <div class="action-button-container centered"><a href="#" onclick="versions_edit.save(); return false;" class="action-button rounded"><?=___('devcp_versions_edit_update')?></a></div>
+
+ <div class="action-button-container centered"><a href="#" onclick="versions_edit.save(); return false;" class="action-button rounded"><?=___('Update Versions')?></a></div>
</form>
</div>
</div>
@@ -234,7 +234,7 @@ if ($addon['Addon']['addontype_id'] != ADDON_SEARCH) {
echo '};';
echo 'var imageBase = \''.$html->url('/img/developers', true, false, false).'\'';
echo '</script>';
-
+
// Dropdowns for all applications so they can be added. This must be
// outside of the <form>
foreach ($applications as $application_id => $application_name) {
diff --git a/site/app/views/developers/versions_validate.thtml b/site/app/views/developers/versions_validate.thtml
index 1382e95..20f0e8e 100644
--- a/site/app/views/developers/versions_validate.thtml
+++ b/site/app/views/developers/versions_validate.thtml
@@ -40,7 +40,7 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main" class="<?=($author_role >= AUTHOR_ROLE_DEV ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_validate_addon', 'Validate %s version %s'), $addon_name, $version['Version']['version']), 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('Validate %1$s version %2$s'), $addon_name, $version['Version']['version']), 'addon_id' => $addon_id));?>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="versions-validate-form" action="" method="post">
@@ -49,14 +49,14 @@
<?php if (!empty($files)) {
foreach($files as $file) {
echo '<div id="test-results-'.$file['File']['id'].'">';
- echo '<h2>'.sprintf(___('devcp_versions_validate_header', 'Validate File %s'), $file['File']['filename']).'</h2>';
+ echo '<h2>'.sprintf(___('Validate File %s'), $file['File']['filename']).'</h2>';
echo $this->renderElement('developers/testresults', array('file' => $file, 'test_groups' => $file['groups'], 'all_groups' => $all_groups, 'counts' => $file['counts']));
echo '</div><br/>';
}
}
else {
// They should never actually hit this, but display it just in case
- echo '<p><i>'.___('devcp_versions_edit_no_files').'</i></p>';
+ echo '<p><i>'.___('No files found.').'</i></p>';
} ?>
</form>
</div>
diff --git a/site/app/views/editors/featured.thtml b/site/app/views/editors/featured.thtml
index aeef6ca..6a627a1 100644
--- a/site/app/views/editors/featured.thtml
+++ b/site/app/views/editors/featured.thtml
@@ -46,12 +46,12 @@
var addonurl = '<?php echo $html->url('/addon'); ?>';
var imageurl = '<?php echo $html->urlImage(''); ?>';
- var featureaddfailure = '<?php echo _('editors_featured_addon_add_failure'); ?>';
- var featureeditfailure = '<?php echo _('editors_featured_addon_edit_failure'); ?>';
- var featureeditsuccess = '<?php echo _('editors_featured_addon_edit_success'); ?>';
- var featureremovefailure = '<?php echo _('editors_featured_addon_remove_failure'); ?>';
- var addedinvalidlocale = '<?php echo _('editors_featured_addon_invalid_locale'); ?>';
- var featureeditsubmit = '<?php echo _('editors_featured_edit_feature_submit'); ?>';
+ var featureaddfailure = '<?php echo ___('Failed to add feature.'); ?>';
+ var featureeditfailure = '<?php echo ___('Failed to edit feature.'); ?>';
+ var featureeditsuccess = '<?php echo ___('Successfully edited feature.'); ?>';
+ var featureremovefailure = '<?php echo ___('Failed to remove feature.'); ?>';
+ var addedinvalidlocale = '<?php echo ___('One or more locales are invalid.'); ?>';
+ var featureeditsubmit = '<?php echo ___('Go'); ?>';
</script>
<div id="content">
@@ -60,8 +60,8 @@
<div id="content-main">
<table width="100%" id="features">
<tr class="queueHeader">
- <td><?=_('editors_th_addon')?></td>
- <td><?=_('editors_th_locales')?></td>
+ <td><?=___('Add-on')?></td>
+ <td><?=___('Restrict to locales?')?></td>
</tr>
<?php
$current_type = 0;
@@ -87,8 +87,8 @@
array('id' => 'feature-remove-form-'.$category['Category']['id'].'-'.$addon['Addon']['id'],
'onsubmit' => 'removeFeature('.$category['Category']['id'].','.$addon['Addon']['id'].'); return false;'));
echo $html->submitImage('/developers/delete.png',
- array('title'=>_('editors_featured_remove_feature'),
- 'alt' => _('editors_featured_remove_feature'),
+ array('title'=>___('Remove feature'),
+ 'alt' => ___('Remove feature'),
'class' => 'featureremove',
'id' => 'delete-'.$category['Category']['id'].'-'.$addon['Addon']['id']));
echo $html->hidden('Category/id', array('value' => $category['Category']['id']));
@@ -104,7 +104,7 @@
echo $html->hidden('Category/id', array('value' => $category['Category']['id']));
echo $html->hidden('Addon/id', array('value' => $addon['Addon']['id']));
echo $html->input('AddonCategory/feature_locales', array('id' => "edit-addon-locales-{$category['Category']['id']}-{$addon['Addon']['id']}", 'size' => 40, 'value' => $addon['AddonCategory'][0]['feature_locales']));
- echo $html->submit(_('editors_featured_edit_feature_submit'), array('id' => 'edit-feature-submit-'.$category['Category']['id'].'-'.$addon['Addon']['id']));
+ echo $html->submit(___('Go'), array('id' => 'edit-feature-submit-'.$category['Category']['id'].'-'.$addon['Addon']['id']));
?>
</form>
</td>
@@ -117,13 +117,13 @@
echo $html->formTag('/editors/featured/add', 'post', array('id' => 'feature-add-form-'.$category['Category']['id'], 'onsubmit' => 'addFeatureSubmit('.$category['Category']['id'].'); return false;'));
echo $html->hidden('Category/id', array('value' => $category['Category']['id']));
echo $html->submitImage('developers/add.png',
- array('title' => _('editors_featured_add_feature'),
- 'alt' => _('editors_featured_add_feature'),
+ array('title' => ___('Add feature'),
+ 'alt' => ___('Add feature'),
'class' => 'featureadd',
'id' => 'add-'.$category['Category']['id'],
)).'&nbsp;';
echo '<input type="text" name="data[Addon][id]" id="new-addon-id-'.$category['Category']['id'].'" onfocus="prepAutocomplete('.$category['Category']['id'].');" size="40" />';
- echo '<noscript>'.$html->submit(_('editors_featured_add_feature_submit'), array('id' => 'new-feature-submit-'.$category['Category']['id'])).'</noscript>';
+ echo '<noscript>'.$html->submit(___('Add'), array('id' => 'new-feature-submit-'.$category['Category']['id'])).'</noscript>';
echo '</form></td>';
echo '<td><span id="edit-feature-message-'.$category['Category']['id'].'"></span></td></tr>'; // use the extra space for messages
diff --git a/site/app/views/editors/logs.thtml b/site/app/views/editors/logs.thtml
index 6d32aee..5dcee3f 100644
--- a/site/app/views/editors/logs.thtml
+++ b/site/app/views/editors/logs.thtml
@@ -39,21 +39,21 @@
<?=$this->renderElement('developers/editorsmenu');?>
<div id="content-main">
- <h3><?=_('editorcp_logs_page_heading')?></h3>
+ <h3><?=___('Event Log')?></h3>
<form id="logFilter" method="get" action="">
<div>
- <?=sprintf(_('editorcp_reviewlog_entries_between'),
+ <?=sprintf(___('View entries between %1$s and %2$s'),
'<input type="text" id="start" name="start" value="'.$startDate.'" size="11" onfocus="clearInput(this)"/>',
'<input type="text" id="end" name="end" value="'.$endDate.'" size="11" onfocus="clearInput(this)"/>')?>
</div>
<div>
- <?=_('editorcp_logs_filter_by')?>:
+ <?=___('Filter by type/action')?>:
<select name="filter">
<?php foreach ($filterOptions as $val => $text): ?>
<option value="<?=$val?>"<?=($filter == $val ? ' selected="selected"' : '')?>><?=$text?></option>
<?php endforeach; ?>
</select>
- <?=$html->submit(_('editorcp_logs_button_filter'))?>
+ <?=$html->submit(___('Filter'))?>
</div>
</form>
<?php
diff --git a/site/app/views/editors/markdown.thtml b/site/app/views/editors/markdown.thtml
index 0f7fe16..859257e 100644
--- a/site/app/views/editors/markdown.thtml
+++ b/site/app/views/editors/markdown.thtml
@@ -36,7 +36,7 @@
*
* ***** END LICENSE BLOCK ***** */
?>
-<h2><?=___('editors_markdown_preview', 'Preview')?></h2>
+<h2><?=___('Preview')?></h2>
<div class="editorComment commentDepth0">
<div class="commentBody">
<?=$markdownHtml?>
diff --git a/site/app/views/editors/performance_charts.thtml b/site/app/views/editors/performance_charts.thtml
index bb1676e..7f553c7 100644
--- a/site/app/views/editors/performance_charts.thtml
+++ b/site/app/views/editors/performance_charts.thtml
@@ -42,10 +42,10 @@
<div id="content-main">
<?=$this->renderElement('developers/performanceheader');?>
- <h3 class="performanceHeader collapsible expanded"><span><?=___('editorcp_performance_month_activity', 'Activity By Month')?></span></h3>
+ <h3 class="performanceHeader collapsible expanded"><span><?=___('Activity By Month')?></span></h3>
<div id="byMonthChart" style="width:600px;height:300px"></div>
- <h3 class="performanceHeader collapsible expanded"><span><?=___('editorcp_performance_category_breakdown', 'Category Breakdown')?></span></h3>
+ <h3 class="performanceHeader collapsible expanded"><span><?=___('Category Breakdown')?></span></h3>
<div>
<form id="performanceFilter" action="<?=$html->url()?>" method="get">
<div>
@@ -62,24 +62,24 @@
<?php if ($showUserLookup): ?>
<input type="hidden" name="user" value="<?=$user['User']['email']?>" />
<?php endif; ?>
- <?=$html->submit(_('editorcp_reviewlog_button_filter'))?>
+ <?=$html->submit(___('Filter'))?>
</div>
</form>
<div id="performancePieContainer">
<h4><?=$userName?> - <?=$pieTitleDate?></h4>
<div id="byCatUserChart"></div>
- <h4><?=___('editorcp_performance_column_teamaverage', 'Team Average')?> - <?=$pieTitleDate?></h4>
+ <h4><?=___('Team Average')?> - <?=$pieTitleDate?></h4>
<div id="byCatTeamChart"></div>
</div>
<div id="performancePieLegendContainer">
- <h4><?=___('editorcp_performance_legend', 'Legend')?></h4>
+ <h4><?=___('Legend')?></h4>
<div id="performancePieLegend"></div>
<ul id="performancePieLegendControl">
- <li><a id="topUserSlices" href="#"><?=___('editorcp_performance_top_user_categories', 'Top User Categories')?></a></li>
- <li><a id="topTeamSlices" href="#"><?=___('editorcp_performance_top_team_categories', 'Top Team Categories')?></a></li>
- <li><a id="allSlices" href="#"><?=___('editorcp_performance_select_all', 'Select All')?></a></li>
- <li><a id="noSlices" href="#"><?=___('editorcp_performance_select_none', 'Select None')?></a></li>
- <li><a id="toggleSliceLabels" href="#"><?=___('editorcp_performance_toggle_labels', 'Toggle Labels')?></a></li>
+ <li><a id="topUserSlices" href="#"><?=___('Top User Categories')?></a></li>
+ <li><a id="topTeamSlices" href="#"><?=___('Top Team Categories')?></a></li>
+ <li><a id="allSlices" href="#"><?=___('Select All')?></a></li>
+ <li><a id="noSlices" href="#"><?=___('Select None')?></a></li>
+ <li><a id="toggleSliceLabels" href="#"><?=___('Toggle Labels')?></a></li>
</ul>
</div>
</div>
@@ -93,7 +93,7 @@
// line chart data
editors_performance.monthlyData = [
{ label: '<?=$userName?>', data: [<?=$monthlyUserPointsJS?>], color:'#0066cc'},
- { label: '<?=___('editorcp_performance_column_teamaverage', 'Team Average')?>', data: [<?=$monthlyTeamPointsJS?>], color:'#cc3333'}
+ { label: '<?=___('Team Average')?>', data: [<?=$monthlyTeamPointsJS?>], color:'#cc3333'}
];
editors_performance.monthlyTicks = [<?=$monthlyTicksJS?>];
@@ -105,8 +105,8 @@
editors_performance.pieLabels = [<?=$sliceLabelsJS?>];
editors_performance.pieOptions = {
legendId: 'performancePieLegend',
- otherLabel: '<?=___('editorcp_performance_unselected', 'Unselected')?>',
- emptyLabel: '<?=___('editorcp_performance_nodata', 'No Data')?>',
+ otherLabel: '<?=___('Unselected')?>',
+ emptyLabel: '<?=___('No Data')?>',
};
editors_performance.init();
diff --git a/site/app/views/editors/performance_table.thtml b/site/app/views/editors/performance_table.thtml
index 8f12bdf..9e97540 100644
--- a/site/app/views/editors/performance_table.thtml
+++ b/site/app/views/editors/performance_table.thtml
@@ -45,11 +45,11 @@
<form id="performanceFilter" action="<?=$html->url()?>" method="get">
<div>
<?php
- echo sprintf(_('editorcp_reviewlog_entries_between'),
+ echo sprintf(___('View entries between %1$s and %2$s'),
'<input type="text" id="start" name="start" value="'.$startDate.'" size="11" onfocus="clearInput(this)"/>',
'<input type="text" id="end" name="end" value="'.$endDate.'" size="11" onfocus="clearInput(this)"/>');
echo "&nbsp;&nbsp;";
- echo $html->submit(_('editorcp_reviewlog_button_filter'));
+ echo $html->submit(___('Filter'));
if ($showUserLookup) {
echo '<input type="hidden" name="user" value="'.$user['User']['email'].'"/>';
}
@@ -58,18 +58,18 @@
</div>
</form>
- <h3 id="reviewTotals" class="performanceHeader collapsible expanded"><span><?=sprintf(___('editorcp_performance_totals', 'Total Reviews: %1$s &nbsp;&nbsp;Team Average: %2$s'), $myTotal, sprintf('%.2f', $teamAverage))?></span></h3>
+ <h3 id="reviewTotals" class="performanceHeader collapsible expanded"><span><?=sprintf(___('Total Reviews: %1$s &nbsp;&nbsp;Team Average: %2$s'), $myTotal, sprintf('%.2f', $teamAverage))?></span></h3>
<?php if (empty($myApprovals)): ?>
- <div><p><?=_('editorcp_reviewlog_none_found')?></p></div>
+ <div><p><?=___('No reviews found for this period.')?></p></div>
<?php else: ?>
<table id="historyTable">
- <thead title="<?=___('editorcp_performance_multisort_tip', 'Shift-click to sort by multiple columns')?>">
+ <thead title="<?=___('Shift-click to sort by multiple columns')?>">
<tr>
- <th><?=_('editorcp_reviewlog_column_date')?></th>
- <th><?=_('editorcp_reviewlog_column_addon')?></th>
- <th><?=___('editorcp_performance_column_application', 'Application')?></th>
- <th><?=___('editorcp_performance_column_category', 'Category')?></th>
- <th><?=_('editorcp_reviewlog_column_action')?></th>
+ <th><?=___('Date')?></th>
+ <th><?=___('Add-on')?></th>
+ <th><?=___('Application')?></th>
+ <th><?=___('Category')?></th>
+ <th><?=___('Action')?></th>
</tr>
</thead>
<tbody>
@@ -83,24 +83,24 @@
echo '<td>';
if ($approval['Approval']['reviewtype'] == 'nominated') {
if ($approval['Approval']['action'] == STATUS_PUBLIC) {
- echo _('editors_review_history_nominated_approved');
+ echo ___('Nomination Approved/Public');
}
elseif ($approval['Approval']['action'] == STATUS_SANDBOX) {
- echo _('editors_review_history_nominated_denied');
+ echo ___('Nomination Denied/Sandbox');
}
elseif ($approval['Approval']['action'] == STATUS_NOMINATED) {
- echo _('editors_review_history_nominated_adminreview');
+ echo ___('Admin Review');
}
}
elseif ($approval['Approval']['reviewtype'] == 'pending') {
if ($approval['Approval']['action'] == STATUS_PUBLIC) {
- echo _('editors_review_history_pending_approved');
+ echo ___('Approved/Public');
}
elseif ($approval['Approval']['action'] == STATUS_SANDBOX) {
- echo _('editors_review_history_pending_denied');
+ echo ___('Denied/Sandbox');
}
elseif ($approval['Approval']['action'] == STATUS_PENDING) {
- echo _('editors_review_history_pending_adminreview');
+ echo ___('Admin Review');
}
}
echo '</td>';
@@ -111,17 +111,17 @@
</table>
<?php endif; ?>
- <h3 id="weeklyTotals" class="performanceHeader collapsible expanded"><span><?=___('editorcp_performance_weekly_heading', 'Weekly Totals')?></span></h3>
+ <h3 id="weeklyTotals" class="performanceHeader collapsible expanded"><span><?=___('Weekly Totals')?></span></h3>
<table id="weeklyTable">
<tr>
- <th><?=___('editorcp_performance_column_week', 'Week')?></th>
- <th class="numeric"><?=___('editorcp_performance_column_total', 'Total')?></th>
- <th class="numeric"><?=___('editorcp_performance_column_teamaverage', 'Team Average')?></th>
+ <th><?=___('Week')?></th>
+ <th class="numeric"><?=___('Total')?></th>
+ <th class="numeric"><?=___('Team Average')?></th>
</tr>
<?php
foreach ($weeklyTotals as $k => $week) {
echo '<tr>';
- echo "<td>".sprintf(___('editorcp_performance_date_range', '%1$s to %2$s'), date('Y-m-d', $week['from']), date('Y-m-d', $week['to']))."</td>";
+ echo "<td>".sprintf(___('%1$s to %2$s'), date('Y-m-d', $week['from']), date('Y-m-d', $week['to']))."</td>";
echo "<td class=\"numeric\">{$week['myTotal']}</td>";
echo sprintf('<td class="numeric">%0.2f</td>', $week['teamAverage']);
echo '</tr>';
@@ -129,9 +129,9 @@
?>
</table>
- <h3 id="monthToDateTotals" class="performanceHeader"><span><?=sprintf(___('editorcp_performance_mtd_totals', 'Month To Date Total: %1$s &nbsp;&nbsp;Team Average: %2$s'), $myMtdTotal, sprintf('%.2f', $teamMtdAverage))?></span></h3>
+ <h3 id="monthToDateTotals" class="performanceHeader"><span><?=sprintf(___('Month To Date Total: %1$s &nbsp;&nbsp;Team Average: %2$s'), $myMtdTotal, sprintf('%.2f', $teamMtdAverage))?></span></h3>
- <h3 id="yearToDateTotals" class="performanceHeader"><span><?=sprintf(___('editorcp_performance_ytd_totals', 'Year To Date Total: %1$s &nbsp;&nbsp;Team Average: %2$s'), $myYtdTotal, sprintf('%.2f', $teamYtdAverage))?></span></h3>
+ <h3 id="yearToDateTotals" class="performanceHeader"><span><?=sprintf(___('Year To Date Total: %1$s &nbsp;&nbsp;Team Average: %2$s'), $myYtdTotal, sprintf('%.2f', $teamYtdAverage))?></span></h3>
</div>
</div>
<script type="text/javascript">
diff --git a/site/app/views/editors/queue.thtml b/site/app/views/editors/queue.thtml
index 009581f..d95753f 100644
--- a/site/app/views/editors/queue.thtml
+++ b/site/app/views/editors/queue.thtml
@@ -43,22 +43,22 @@
<div id="filterBox">
<?=$html->formTag("/editors/queue/{$mode}", 'post');?>
- <div id="filterHeader">&darr;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?=_('editors_filter_queue')?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&darr;</div>
- <?php if ($filtered == true) { ?><div id="sessionNotice"><?=_('editors_notice_filter_session')?></div><?php } ?>
+ <div id="filterHeader">&darr;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<?=___('Filter Queue')?>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&darr;</div>
+ <?php if ($filtered == true) { ?><div id="sessionNotice"><?=___('These filters will remain in place for this session or until cleared.')?></div><?php } ?>
<div id="filterTable" <?=($filterChanged == false ? ' style="display: none;"' : '')?>>
<div class="group left">
<div>
- <label for="FilterAddonOrAuthor"><?=___('editors_queue_filter_label_addon', 'Add-on or Author Email')?></label>
+ <label for="FilterAddonOrAuthor"><?=___('Add-on or Author Email')?></label>
<?=$html->input('Filter/AddonOrAuthor', array('value'=>$addonOrAuthor))?>
</div>
<div>
- <label for="FilterApplication"><?=___('editors_queue_filter_label_application', 'Application')?></label>
+ <label for="FilterApplication"><?=___('Application')?></label>
<?=$html->selectTag('Filter/Application', $applications, $selected['Application'], null, null, true)?>
</div>
<div>
- <label for="FilterMaxVersion"><?=___('editors_queue_filter_label_maxversion', 'Max. Version')?></label>
+ <label for="FilterMaxVersion"><?=___('Max. Version')?></label>
<?=$html->selectTag('Filter/MaxVersion', $maxVersions, $selected['MaxVersion'], null, null, true)?>
</div>
@@ -69,31 +69,31 @@
</div>
<div class="group">
<div>
- <label for="FilterAddontype"><?=___('editors_queue_filter_label_addontypes', 'Add-on Types')?></label><br/>
+ <label for="FilterAddontype"><?=___('Add-on Types')?></label><br/>
<?=$html->selectTag('Filter/Addontype', $addontypes, $selected['Addontype'], array('multiple' => 'multiple', 'size' => 5), null, false)?>
</div>
</div>
<div class="group">
<div>
- <label for="FilterPlatform"><?=___('editors_queue_filter_label_platforms', 'Platforms')?></label><br/>
+ <label for="FilterPlatform"><?=___('Platforms')?></label><br/>
<?=$html->selectTag('Filter/Platform', $platforms, $selected['Platform'], array('multiple' => 'multiple', 'size' => 5), null, false)?>
</div>
</div>
<div class="group">
<div>
- <label for="FilterAdminFlag"><?=___('editors_queue_filter_label_admin_flag')?></label><br/>
+ <label for="FilterAdminFlag"><?=___('Admin Flag')?></label><br/>
<?=$html->selectTag('Filter/AdminFlag', $flags, $selected['AdminFlag'], null, null, true)?>
</div>
</div>
<div class="buttons">
- <?=$html->submit(_('editors_queue_submit_filter'), array('name' => 'filter'));?>
- <?=$html->submit(_('editors_queue_submit_clean'), array('name' => 'clear'))?>
+ <?=$html->submit(___('Filter'), array('name' => 'filter'));?>
+ <?=$html->submit(___('Clear'), array('name' => 'clear'))?>
</div>
</div>
</form>
<?php if ($filtered): ?>
<div>
- <?=sprintf(n___('editors_queue_filter_result_count','editors_queue_filter_result_count', $filteredCount, 'Results of Your Filtered Search: <strong>%d</strong> Add-ons'), $filteredCount)?>
+ <?=sprintf(n___('Results of your filtered search: <strong>%1$s</strong> Add-on','Results of your filtered search: <strong>%1$s</strong> Add-ons', $filteredCount), $filteredCount)?>
</div>
<?php endif; ?>
</div>
@@ -104,15 +104,15 @@
$sortimg = '';
if ($sortBy == 'name') {
if ($sortDir == 'ASC') {
- $sortimg = $html->image('developers/arrow_up.png', array('title' => ___('editors_th_sort_ascending', 'ascending sort')));
+ $sortimg = $html->image('developers/arrow_up.png', array('title' => ___('Ascending sort')));
$sorturl .= '&dir=desc';
} else {
- $sortimg = $html->image('developers/arrow_down.png', array('title' => ___('editors_th_sort_descending', 'descending sort')));
+ $sortimg = $html->image('developers/arrow_down.png', array('title' => ___('Descending sort')));
$sorturl .= '&dir=asc';
}
}
- echo $html->link(___('editors_th_addon'), $sorturl);
+ echo $html->link(___('Add-on'), $sorturl);
echo $sortimg;
?></td>
<td><?php
@@ -120,21 +120,21 @@
$sortimg = '';
if ($sortBy == 'type') {
if ($sortDir == 'ASC') {
- $sortimg = $html->image('developers/arrow_up.png', array('title' => ___('editors_th_sort_ascending', 'ascending sort')));
+ $sortimg = $html->image('developers/arrow_up.png', array('title' => ___('Ascending sort')));
$sorturl .= '&dir=desc';
} else {
- $sortimg = $html->image('developers/arrow_down.png', array('title' => ___('editors_th_sort_descending', 'descending sort')));
+ $sortimg = $html->image('developers/arrow_down.png', array('title' => ___('Descending sort')));
$sorturl .= '&dir=asc';
}
}
- echo $html->link(___('editors_th_addontype'), $sorturl);
+ echo $html->link(___('Type'), $sorturl);
echo $sortimg;
?></td>
<?php
$apps = array('Firefox', 'Thunderbird', 'Mozilla', 'SeaMonkey', 'Sunbird');
foreach ($apps as $app) {
- echo '<td>'.$html->image('developers/'.strtolower($app).'.png', array('title' => sprintf(_('editors_queue_app_compatibility'), $app))).'</td>';
+ echo '<td>'.$html->image('developers/'.strtolower($app).'.png', array('title' => sprintf(___('%s Compatibility'), $app))).'</td>';
}
?>
<td><?php
@@ -143,19 +143,19 @@
if ($sortBy == 'age') {
if ($sortDir == 'ASC') {
// age sort is actually on a timestamp, so age direction is opposite
- $sortimg = $html->image('developers/arrow_down.png', array('title' => ___('editors_th_sort_descending', 'descending sort')));
+ $sortimg = $html->image('developers/arrow_down.png', array('title' => ___('Descending sort')));
$sorturl .= '&dir=desc';
} else {
- $sortimg = $html->image('developers/arrow_up.png', array('title' => ___('editors_th_sort_ascending', 'ascending sort')));
+ $sortimg = $html->image('developers/arrow_up.png', array('title' => ___('Ascending sort')));
$sorturl .= '&dir=asc';
}
}
- echo $html->link(___('editors_th_nomination_age'), $sorturl);
+ echo $html->link(___('Time in Queue'), $sorturl);
echo $sortimg;
?></td>
- <td><?=___('editors_th_flags')?></td>
- <td><?=_('editors_th_additional_info')?></td>
+ <td><?=___('Flags')?></td>
+ <td><?=___('Additional Information')?></td>
</tr>
<?php
if (!empty($addons)) {
@@ -174,7 +174,7 @@
}
echo '<td>'.(($mode == 'nominated') ? $addon['nominationage'] : $addon['age']).'</td>';
if ($addon['Addon']['adminreview']) {
- echo '<td>'.$html->image('developers/admin_review.png', array('title' => ___('editors_flag_admin_review'))).'</td>';
+ echo '<td>'.$html->image('developers/admin_review.png', array('title' => ___('Admin Review'))).'</td>';
} else {
echo '<td>&nbsp;</td>';
}
@@ -186,12 +186,12 @@
echo $this->renderElement('pagination');
}
else {
- echo '<tr><td colspan=8 class="emptyQueue">'._('editors_notice_none_found').'</td></tr>';
+ echo '<tr><td colspan=8 class="emptyQueue">'.___('There are currently no add-ons of this type to review.').'</td></tr>';
echo '</table>';
}
?>
<div id="helpfulLinks">
-<?=_('editors_helpful_links').': '.$html->link(_('editors_link_policy'), '/pages/policy').' | '.$html->link(_('editors_link_guide'), 'http://wiki.mozilla.org/Update:Editors')?>
+<?=___('Helpful Links').': '.$html->link(___('Add-on Policy'), '/pages/policy').' | '.$html->link(___('Editors\' Guide'), 'http://wiki.mozilla.org/Update:Editors')?>
</div>
</div>
<script type="text/javascript">
diff --git a/site/app/views/editors/review.thtml b/site/app/views/editors/review.thtml
index b8ecfa5..de74e15 100644
--- a/site/app/views/editors/review.thtml
+++ b/site/app/views/editors/review.thtml
@@ -45,16 +45,16 @@
if ($filtered) {
echo sprintf(___('editors_review_rank_in_queue_filtered', '<strong># %1$s</strong> of %2$s in queue (filtered)'), $queueRank, $filteredCount);
} else {
- echo sprintf(___('editors_review_rank_in_queue'), $queueRank, $filteredCount);
+ echo sprintf(___('<strong># %1$s</strong> of %2$s in queue'), $queueRank, $filteredCount);
}
?><br/>
- <?php if ($queueRank > 1) echo $html->link(___('editors_review_previous_link'), "/editors/queue/{$reviewType}?num=".($queueRank-1)); ?>
- <?php if ($queueRank < $count[$reviewType]) echo $html->link(___('editors_review_next_link'), "/editors/queue/{$reviewType}?num=".($queueRank+1)); ?>
+ <?php if ($queueRank > 1) echo $html->link(___('&laquo; prev'), "/editors/queue/{$reviewType}?num=".($queueRank-1)); ?>
+ <?php if ($queueRank < $count[$reviewType]) echo $html->link(___('next &raquo;'), "/editors/queue/{$reviewType}?num=".($queueRank+1)); ?>
</div>
<?php endif; ?>
-
+
<a name="top"></a>
-<h3 class="reviewheader"><?=sprintf(_('editors_review_header_review'), $addon['Translation']['name']['string'].' '.$version['Version']['version'])?></h3>
+<h3 class="reviewheader"><?=sprintf(___('Review %s'), $addon['Translation']['name']['string'].' '.$version['Version']['version'])?></h3>
<?php
if (!empty($errors['main'])) {
echo '<div class="error">'.$errors['main'].'</div>';
@@ -63,7 +63,7 @@
<div id="headerbox">
<div id="header1" class="headerboxes">
<div>
- <span class="sectionTitle"><?=_('editors_review_header_authors')?></span>
+ <span class="sectionTitle"><?=___('Authors:')?></span>
<ul id="authors">
<?php
if (!empty($addon['User'])) {
@@ -77,7 +77,7 @@
</div>
<div id="header2" class="headerboxes">
<div>
- <span class="sectionTitle"><?=_('editors_review_header_categories')?></span>
+ <span class="sectionTitle"><?=___('Categories:')?></span>
<ul id="categorylist">
<?php
if (!empty($addon['Categories'])) {
@@ -90,7 +90,7 @@
</div>
</div>
<div id="header3" class="headerboxes">
- <span class="sectionTitle"><?=_('editors_review_header_compatibility')?></span>
+ <span class="sectionTitle"><?=___('Compatibility:')?></span>
<ul id="compatibility">
<?php
if (!empty($addon['targetApps'])) {
@@ -112,20 +112,20 @@
</div>
<br class="clear">
<div id="flagsbox">
- <span id="flagsTitle"><?=___('editors_review_header_flags')?></span>
+ <span id="flagsTitle"><?=___('Flags:')?></span>
<ul id="flags">
<?php
if ($addon['Addon']['adminreview']) {
- echo '<li>'.$html->image('developers/admin_review.png', array('title' => ___('editors_review_admin_flag'))).'</li>';
+ echo '<li>'.$html->image('developers/admin_review.png', array('title' => ___('Admin Review'))).'</li>';
} else {
- echo '<li>' . ___('editors_review_list_none') . '</li>';
+ echo '<li>' . ___('none') . '</li>';
}
?>
</ul>
</div>
<?=$html->formTag('/editors/review/'.$version['Version']['id'], 'post')?>
<div id="filesbox">
- <span id="filesTitle"><?=_('editors_review_header_files')?></span>
+ <span id="filesTitle"><?=___('Files:')?></span>
<ul id="files">
<?php
if (!empty($version['File'])) {
@@ -143,26 +143,26 @@
echo $html->checkbox('Approval/File][', null, array('value' => $file['id'], 'class' => 'fileCheckbox', 'checked' => $checked, 'disabled' => $file['disabled'], 'onClick' => 'selectedFile();'));
echo '&nbsp;<b>'.$html->link($platforms[$file['platform_id']], '/downloads/file/'.$file['id'].'/'.$file['filename'], array('onClick' => $this->controller->Amo->installTrigger($addon['Addon']['addontype_id'], FULL_BASE_URL.$html->url('/downloads/file/'.$file['id'].'/'.$file['filename']), $addon['Translation']['name']['string'].' '.$version['Version']['version'], '', $file['hash']).' return false;')).'</b>';
echo ' - '.$approval[$file['status']].' ('.$file['created'].')';
- echo ' - '.$html->link(_('editors_review_file_viewcontents_link'), '/files/browse/'.$file['id'].'/1');
+ echo ' - '.$html->link(___('View Contents'), '/files/browse/'.$file['id'].'/1');
if ($has_public && $addontype != ADDON_SEARCH) {
//if (count($addon['Version']) > 1) {
- echo ' - '.$html->link(_('editors_review_file_diff_link'), '/files/diff/'.$file['id'].'/');
+ echo ' - '.$html->link(___('Compare with public version'), '/files/diff/'.$file['id'].'/');
}
echo '</li>';
}
}
?>
</ul>
- <span id="multipleNotice" style="display: none;"><?=___('editors_review_mulitple_notice')?></span>
+ <span id="multipleNotice" style="display: none;"><?=___('Notice: Only review more than one file if you have tested EVERY file you select.')?></span>
</div>
<br class="clear">
<div id="links">
- <span id="overview_link"><?=$html->link(___('editors_review_a_item_overview'), '/addon/'.$addon['Addon']['id'])?></span>
- <span id="history_link"><a href="#history"><?=___('editors_review_a_item_history')?></a></span>
- <span id="previews_link"><a href="#previews"><?=___('editors_review_a_previews')?></a></span>
- <?=(!empty($addon['Addon']['homepage'])) ? '<span id="homepage_link">'.$html->link(___('editors_review_a_item_homepage'), $addon['Addon']['homepage']).'</span>' : ''?>
- <?=($this->controller->SimpleAcl->actionAllowed('Admin', 'EditAnyAddon', $this->controller->Session->read('User'))) ? '<span id="edit_link">'.$html->link(___('editors_review_a_edit_item'), '/developers/edit/'.$addon['Addon']['id']).'</span>' : ''?>
- <span id="comments_link"><a href="#editorComments"><?=___('editors_review_a_comments')?></a></span>
+ <span id="overview_link"><?=$html->link(___('Item Overview'), '/addon/'.$addon['Addon']['id'])?></span>
+ <span id="history_link"><a href="#history"><?=___('Item History')?></a></span>
+ <span id="previews_link"><a href="#previews"><?=___('Previews')?></a></span>
+ <?=(!empty($addon['Addon']['homepage'])) ? '<span id="homepage_link">'.$html->link(___('Item Homepage'), $addon['Addon']['homepage']).'</span>' : ''?>
+ <?=($this->controller->SimpleAcl->actionAllowed('Admin', 'EditAnyAddon', $this->controller->Session->read('User'))) ? '<span id="edit_link">'.$html->link(___('Edit Item'), '/developers/edit/'.$addon['Addon']['id']).'</span>' : ''?>
+ <span id="comments_link"><a href="#editorComments"><?=___('Editor Comments')?></a></span>
</div>
<div id="form">
<?php
@@ -170,46 +170,46 @@
echo $html->hidden('Approval/Type', array('value' => $reviewType));
?>
<div id="actionbox">
- <span id="public" class="action_color" onClick="selectAction('public');"><?=$html->image('developers/public-bw.png', array('id' => 'publicIcon')).' '._('editors_review_action_public')?></span>
- <span id="sandbox" class="action_color" onClick="selectAction('sandbox');"><?=$html->image('developers/sandbox-bw.png', array('id' => 'sandboxIcon')).' '._('editors_review_action_sandbox')?></span>
- <span id="info" class="action_color" onClick="selectAction('info');"><?=$html->image('developers/info-bw.png', array('id' => 'infoIcon')).' '.___('editors_review_action_info')?></span>
- <span id="superreview" class="action_color" onClick="selectAction('superreview');"><?=$html->image('developers/superreview-bw.png', array('id' => 'superreviewIcon')).' '._('editors_review_action_request_superreview')?></span>
+ <span id="public" class="action_color" onClick="selectAction('public');"><?=$html->image('developers/public-bw.png', array('id' => 'publicIcon')).' '.___('Push to Public')?></span>
+ <span id="sandbox" class="action_color" onClick="selectAction('sandbox');"><?=$html->image('developers/sandbox-bw.png', array('id' => 'sandboxIcon')).' '.___('Retain in Sandbox')?></span>
+ <span id="info" class="action_color" onClick="selectAction('info');"><?=$html->image('developers/info-bw.png', array('id' => 'infoIcon')).' '.___('Request More Information')?></span>
+ <span id="superreview" class="action_color" onClick="selectAction('superreview');"><?=$html->image('developers/superreview-bw.png', array('id' => 'superreviewIcon')).' '.___('Request Super-Review')?></span>
</div>
<div id="actiondetails">
<?php
if ($reviewType == 'pending') {
echo '<div id="details-public" style="display: none;">';
- echo _('editors_review_details_pending_public');
+ echo ___('This will approve a sandboxed version of a public add-on to appear on the public side.');
echo '</div>';
echo '<div id="details-sandbox" style="display: none;">';
- echo _('editors_review_details_pending_sandbox');
+ echo ___('This will cause a sandboxed version of a public add-on to remain in the sandbox.');
echo '</div>';
}
elseif ($reviewType == 'nominated') {
echo '<div id="details-public" style="display: none;">';
- echo _('editors_review_details_nominated_public');
+ echo ___('This will mark the add-on and its most recent version and files as public. Future versions will go into the sandbox until they are reviewed by an editor.');
echo '</div>';
echo '<div id="details-sandbox" style="display: none;">';
- echo _('editors_review_details_nominated_sandbox');
+ echo ___('This will retain the add-on in the sandbox.');
echo '</div>';
}
?>
<div id="details-info" style="display: none;">
- <?=___('editors_review_details_info_request')?>
+ <?=___('Use this form to request more information from the author. They will receive an email and be able to answer here. You will be notified by email when they reply.')?>
</div>
<div id="details-superreview" style="display: none;">
- <?=_('editors_review_details_superreview');?>
+ <?=___('If you have concerns about this add-on\'s security, copyright issues, or other concerns that an administrator should look into, enter your comments in the area below. They will be sent to administrators, not the author.');?>
</div>
</div>
<div id="subform" style="display: none;">
<div id="commentsbox">
- <?=_('editors_review_label_comments')?>
+ <?=___('Comments:')?>
<?=$html->textarea('Approval/comments', array('cols' => '70', 'rows' => '5', 'id' => 'comments', 'class' => 'input'))?>
</div>
<?php
if (!empty($cannedresponses)) {
echo '<div id="canned">';
- echo _('editors_review_label_cannedresponse').' ';
+ echo ___('or select a canned response:').' ';
echo $html->selectTag('Approval/CannedResponse', $cannedresponses, null, array("onChange" => "document.getElementById('comments').value = this.value;", 'class' => 'input'));
echo '</div>';
}
@@ -217,11 +217,11 @@
?>
<div id="testing">
<div id="os">
- <?=_('editors_review_label_operating_systems')?>
+ <?=___('Operating Systems:')?>
<?=$html->input('Approval/os', array('class' => 'input', 'size' => '30'))?>
</div>
<div id="apps">
- <?=_('editors_review_label_applications')?>
+ <?=___('Applications:')?>
<?=$html->input('Approval/applications', array('class' => 'input', 'size' => '30'))?>
</div>
</div>
@@ -230,13 +230,13 @@
?>
<div id="subscribe">
<?php
- $_subscribetext = ___('editors_review_update_notify_once');
+ $_subscribetext = ___('Notify me the next time this add-on is updated. (Subsequent updates will not generate an email)');
echo $html->checkbox('Approval/subscribe', $_subscribetext);
?>
<label for="ApprovalSubscribe"><?=$_subscribetext?></label>
</div>
<div id="finish">
- <?=$html->submit(_('editors_review_submit_process_action'), array('id' => 'process', 'onClick' => 'return validateReview(\''.$reviewType.'\');'))?>
+ <?=$html->submit(___('Process Action'), array('id' => 'process', 'onClick' => 'return validateReview(\''.$reviewType.'\');'))?>
</div>
</div>
</div>
@@ -245,50 +245,50 @@
<?php
if (!empty($addon['Addon']['nominationmessage'])) {
echo '<div class="highlighted">';
- echo '<h3>'._('editors_review_header_nominationmessage').'</h3>';
+ echo '<h3>'.___('Nomination Message').'</h3>';
echo '<div id="nominationMessage">';
echo nl2br($addon['Addon']['nominationmessage']);
echo '</div>';
echo '</div>';
}
if (!empty($version['Version']['approvalnotes'])) {
- echo '<h3>'._('editors_review_header_reviewernotes').'</h3>';
+ echo '<h3>'.___('Notes to Reviewer').'</h3>';
echo '<div id="reviewNotes">';
echo nl2br($version['Version']['approvalnotes']);
echo '</div>';
}
if (!empty($addon['Translation']['summary']['string'])) {
- echo '<h3>'._('editors_review_header_summary').'</h3>';
+ echo '<h3>'.___('Summary').'</h3>';
echo '<div id="summary" '.$addon['Translation']['summary']['locale_html'].'>';
echo nl2br($addon['Translation']['summary']['string']);
echo '</div>';
}
if (!empty($addon['Translation']['description']['string'])) {
- echo '<h3>'._('editors_review_header_description').'</h3>';
+ echo '<h3>'.___('Description').'</h3>';
echo '<div id="description" '.$addon['Translation']['description']['locale_html'].'>';
echo nl2br($addon['Translation']['description']['string']);
echo '</div>';
}
if (!empty($version['Translation']['releasenotes']['string'])) {
- echo '<h3>'._('editors_review_header_versionnotes').'</h3>';
+ echo '<h3>'.___('Version Notes').'</h3>';
echo '<div id="versionNotes" '.$version['Translation']['releasenotes']['locale_html'].'>';
echo nl2br($version['Translation']['releasenotes']['string']);
echo '</div>';
}
if (!empty($addon['Translation']['eula']['string'])) {
- echo '<h3>'._('editors_review_header_eula').'</h3>';
+ echo '<h3>'.___('EULA').'</h3>';
echo '<div id="EULA" '.$addon['Translation']['eula']['locale_html'].'>';
echo nl2br($addon['Translation']['eula']['string']);
echo '</div>';
}
if (!empty($addon['Translation']['privacypolicy']['string'])) {
- echo '<h3>'._('editors_review_header_privacy').'</h3>';
+ echo '<h3>'.___('Privacy Policy').'</h3>';
echo '<div id="privacyPolicy" '.$addon['Translation']['privacypolicy']['locale_html'].'>';
echo nl2br($addon['Translation']['privacypolicy']['string']);
echo '</div>';
}
if (!empty($addon['Translation']['developercomments']['string'])) {
- echo '<h3>'._('editors_review_header_devcomments').'</h3>';
+ echo '<h3>'.___('Developer Comments').'</h3>';
echo '<div id="developerComments" '.$addon['Translation']['developercomments']['locale_html'].'>';
echo nl2br($addon['Translation']['developercomments']['string']);
echo '</div>';
@@ -298,29 +298,29 @@ if (!empty($addon['Translation']['developercomments']['string'])) {
<br class="clear">
<div id="validation" class="validation">
<div class="sectionHeader">
- <div class="name"><a name="validation"></a><?=___('editors_review_header_validation', 'Validation Results') . ' [' . $html->link(___('editors_review_header_validation_help', 'help'), '/pages/validation') . ']'?></div>
- <div class="top"><a href="#top"><?=_('editors_review_link_pagetop')?></a></div>
+ <div class="name"><a name="validation"></a><?=___('Validation Results') . ' [' . $html->link(___('help'), '/pages/validation') . ']'?></div>
+ <div class="top"><a href="#top"><?=___('Top')?></a></div>
</div>
<br class="clear">
<? foreach($version['File'] as $file) : ?>
- <h4><?= $html->link(sprintf(___('editors_file_validation_header', 'Validation results for %s'), $file['filename']), '/developers/versions/validate/' . $version['Version']['id'] . '#test-results-' . $file['id']) ?></h4>
+ <h4><?= $html->link(sprintf(___('Validation results for %s'), $file['filename']), '/developers/versions/validate/' . $version['Version']['id'] . '#test-results-' . $file['id']) ?></h4>
<?= $this->renderElement('developers/testresults_header', array('test_groups' => $file['groups'], 'all_groups' => $test_groups, 'file' => array('File' => $file), 'counts' => $file['counts'], 'external_link' => true)); ?>
<? endforeach; ?>
-</div>
+</div>
<br class="clear">
<div id="history">
<div class="sectionHeader">
- <div class="name"><a name="history"></a><?=_('editors_review_header_itemhistory')?></div>
- <div class="top"><a href="#top"><?=_('editors_review_link_pagetop')?></a></div>
+ <div class="name"><a name="history"></a><?=___('Item History')?></div>
+ <div class="top"><a href="#top"><?=___('Top')?></a></div>
</div>
<br class="clear">
<table id="historyTable">
<tr id="headerRow">
- <td><?=_('editors_review_th_version_file')?></td>
- <td><?=_('editors_review_th_date')?></td>
- <td><?=_('editors_review_th_reviewer')?></td>
- <td><?=_('editors_review_th_action')?></td>
- <td><?=_('editors_review_th_comments')?></td>
+ <td><?=___('Version/File')?></td>
+ <td><?=___('Date')?></td>
+ <td><?=___('Reviewer')?></td>
+ <td><?=___('Action')?></td>
+ <td><?=___('Comments')?></td>
</tr>
<?php
if (!empty($history)) {
@@ -330,7 +330,7 @@ if (!empty($addon['Translation']['developercomments']['string'])) {
unset($hist); // PHP bug 35106
}
else {
- echo '<tr><td id="notFound" colspan="5">'._('editors_review_history_nonefound').'</td></tr>';
+ echo '<tr><td id="notFound" colspan="5">'.___('No previous review entries could be found.').'</td></tr>';
}
?>
</table>
@@ -338,8 +338,8 @@ if (!empty($addon['Translation']['developercomments']['string'])) {
<br class="clear">
<div id="previews">
<div class="sectionHeader">
- <div class="name"><a name="previews"></a><?=_('editors_review_header_previews')?></div>
- <div class="top"><a href="#top"><?=_('editors_review_link_pagetop')?></a></div>
+ <div class="name"><a name="previews"></a><?=___('Previews')?></div>
+ <div class="top"><a href="#top"><?=___('Top')?></a></div>
</div>
<br class="clear">
<?php
@@ -349,15 +349,15 @@ if (!empty($addon['Translation']['developercomments']['string'])) {
echo '<img src="'.$previewUrl.'" border=0>&nbsp;&nbsp;';
}
} else {
- echo _('editors_review_previews_notfound');
+ echo ___('No previews found.');
}
?>
</div>
<br class="clear">
<div id="editorComments">
<div class="sectionHeader">
- <div class="name"><a name="editorComments"></a><?=___('editors_review_header_comments')?></div>
- <div class="top"><a href="#top"><?=_('editors_review_link_pagetop')?></a></div>
+ <div class="name"><a name="editorComments"></a><?=___('Editor Comments')?></div>
+ <div class="top"><a href="#top"><?=___('Top')?></a></div>
</div>
<br class="clear">
<?php foreach ($comments as $c): ?>
@@ -366,7 +366,7 @@ if (!empty($addon['Translation']['developercomments']['string'])) {
<div class="commentSubheader">
<?="{$c['User']['firstname']} {$c['User']['lastname']} "?>
<?=$html->link("({$c['User']['email']})", "mailto:{$c['User']['email']}")?>
- <?=(" - " . strftime(_('datetime'), strtotime($c['Versioncomment']['created'])))?>
+ <?=(" - " . strftime(___('%B %e, %Y, %I:%M %p'), strtotime($c['Versioncomment']['created'])))?>
<?php
if (! $c['Versioncomment']['reply_to']) { // start of thread
$params = array('comment_id' => $c['Versioncomment']['id'],
@@ -377,56 +377,56 @@ if (!empty($addon['Translation']['developercomments']['string'])) {
</div>
<div class="commentBody">
<?=$c['Versioncomment']['comment']?>
- <div class="commentFooter"><a href="#editorComment<?=$c['Versioncomment']['id']?>" class="replyLink"><?=___('editors_review_link_reply')?></a></div>
+ <div class="commentFooter"><a href="#editorComment<?=$c['Versioncomment']['id']?>" class="replyLink"><?=___('(Reply)')?></a></div>
</div>
</div>
<?php endforeach; ?>
- <a href="#" class="newThreadLink"><?=___('editors_review_link_new_thread')?></a>
+ <a href="#" class="newThreadLink"><?=___('(New Thread)')?></a>
<?=$html->formTag('/editors/review/'.$version['Version']['id'].($queueRank ? "?num={$queueRank}" : ''), 'post', array('id'=>'editorCommentForm', 'class'=>'hidden'))?>
<div>
<?=$html->input('Versioncomment/subject', array('size'=>'50'))?>
- <label for="VersioncommentSubject"><?=___('editors_review_label_subject')?></label><br />
+ <label for="VersioncommentSubject"><?=___('Subject')?></label><br />
<?=$html->textarea('Versioncomment/comment', array('cols'=>'70', 'rows'=>'10'))?><br />
<?=$html->hidden('Versioncomment/reply_to', array('value'=>''))?>
- <input type="submit" value="<?=___('editors_review_input_post_comment')?>" />
- <input type="button" value="<?=___('editors_review_input_cancel')?>" id="VersioncommentCancel" />
+ <input type="submit" value="<?=___('Post Comment')?>" />
+ <input type="button" value="<?=___('Cancel')?>" id="VersioncommentCancel" />
</div>
<div id="markitupHelp" class="hidden">
- <span id="markitupHelpClose"><?=$html->image('developers/cross.png', array('alt'=>___('editors_review_help_close'), 'title'=>___('editors_review_help_close')))?></span>
+ <span id="markitupHelpClose"><?=$html->image('developers/cross.png', array('alt'=>___('Close'), 'title'=>___('Close')))?></span>
- <h1><?=___('editors_review_comment_help_heading', 'Comment Help')?></h1>
+ <h1><?=___('Comment Help')?></h1>
- <h2><?=___('editors_review_supported_markdown', 'Supported markdown syntax')?></h2>
+ <h2><?=___('Supported markdown syntax')?></h2>
<dl>
- <dt><?=___('editors_review_line_breaks', 'Line Break')?></dt>
- <dd><?=___('editors_review_line_breaks_help', 'End a line with two or more spaces.')?></dd>
- <dt><?=___('editors_review_italics', 'Italics')?></dt>
- <dd><?=___('editors_review_italics_help', 'Wrap text with *asterisks* or _underscores_.')?></dd>
- <dt><?=___('editors_review_bold', 'Bold')?></dt>
- <dd><?=___('editors_review_bold_help', 'Wrap text with **two asterisks** or __two underscores__.')?></dd>
- <dt><?=___('editors_review_unordered_lists', 'Unordered List')?></dt>
- <dd><?=___('editors_review_unordered_lists_help', 'Start a line with a single * or + character.')?></dd>
- <dt><?=___('editors_review_ordered_lists', 'Ordered List')?></dt>
- <dd><?=___('editors_review_ordered_lists_help', 'Start a line with a number followed by a period.')?></dd>
- <dt><?=___('editors_review_block_quotes', 'Block Quote')?></dt>
- <dd><?=___('editors_review_block_quotes_help', 'Start lines with a &gt;. Multiple &gt; characters may be used to create nested block quotes.')?></dd>
- <dt><?=___('editors_review_code_blocks', 'Code Block')?></dt>
- <dd><?=___('editors_review_code_blocks_help', 'Enclose code with three or more ~ tilde characters on separate lines.')?></dd>
- <dt><?=___('editors_review_syntax', 'Syntax Highlighting')?></dt>
- <dd><?=___('editors_review_syntax_help', 'Append {.syntax} to the opening line of code block ~ tildes, where syntax is one of: html, css, javascript, diff, or sql.')?></dd>
+ <dt><?=___('Line Break')?></dt>
+ <dd><?=___('End a line with two or more spaces.')?></dd>
+ <dt><?=___('Italics')?></dt>
+ <dd><?=___('Wrap text with *asterisks* or _underscores_.')?></dd>
+ <dt><?=___('Bold')?></dt>
+ <dd><?=___('Wrap text with **two asterisks** or __two underscores__.')?></dd>
+ <dt><?=___('Unordered List')?></dt>
+ <dd><?=___('Start a line with a single * or + character.')?></dd>
+ <dt><?=___('Ordered List')?></dt>
+ <dd><?=___('Start a line with a number followed by a period.')?></dd>
+ <dt><?=___('Block Quote')?></dt>
+ <dd><?=___('Start lines with a &gt;. Multiple &gt; characters may be used to create nested block quotes.')?></dd>
+ <dt><?=___('Code Block')?></dt>
+ <dd><?=___('Enclose code with three or more ~ tilde characters on separate lines.')?></dd>
+ <dt><?=___('Syntax Highlighting')?></dt>
+ <dd><?=___('Append {.syntax} to the opening line of code block ~ tildes, where syntax is one of: html, css, javascript, diff, or sql.')?></dd>
</dl>
- <h2><?=___('editors_review_modifier_keys_heading', 'Button Modifier Keys')?></h2>
+ <h2><?=___('Button Modifier Keys')?></h2>
<dl>
- <dt><?=___('editors_review_ctrl_click', 'Ctrl + Click')?></dt>
- <dd><?=___('editors_review_ctrl_click_help', 'Insert markup and retain selection.')?></dd>
- <dt><?=___('editors_review_shift_click', 'Shift + Click')?></dt>
- <dd><?=___('editors_review_shift_click_help', 'Insert markup and retain selection plus added markup.')?></dd>
- <dt><?=___('editors_review_ctrl_shift_click', 'Ctrl + Shift + Click')?></dt>
- <dd><?=___('editors_review_ctrl_shift_click_help', 'Insert markup on every line of selection instead of once on the whole selection.')?></dd>
+ <dt><?=___('Ctrl + Click')?></dt>
+ <dd><?=___('Insert markup and retain selection.')?></dd>
+ <dt><?=___('Shift + Click')?></dt>
+ <dd><?=___('Insert markup and retain selection plus added markup.')?></dd>
+ <dt><?=___('Ctrl + Shift + Click:')?></dt>
+ <dd><?=___('Insert markup on every line of selection instead of once on the whole selection.')?></dd>
</dl>
</div>
</form>
diff --git a/site/app/views/editors/reviewlog.thtml b/site/app/views/editors/reviewlog.thtml
index 4fc5aa2..5bf9353 100644
--- a/site/app/views/editors/reviewlog.thtml
+++ b/site/app/views/editors/reviewlog.thtml
@@ -39,23 +39,23 @@
<?=$this->renderElement('developers/editorsmenu');?>
<div id="content-main">
- <h3><?=_('editorcp_reviewlog_page_heading')?></h3>
+ <h3><?=___('Review Log')?></h3>
<form action="<?=$html->url()?>" method="get">
<?php
- echo sprintf(_('editorcp_reviewlog_entries_between'),
+ echo sprintf(___('View entries between %1$s and %2$s'),
'<input type="text" id="start" name="start" value="'.$startdate.'" size="11" onFocus="clearInput(this)"/>',
'<input type="text" id="end" name="end" value="'.$enddate.'" size="11" onFocus="clearInput(this)"/>');
echo '&nbsp;&nbsp;';
- echo $html->submit(_('editorcp_reviewlog_button_filter'));
+ echo $html->submit(___('Filter'));
?>
</form>
<table id="historyTable">
<tr id="headerRow">
- <td><?=_('editorcp_reviewlog_column_date')?></td>
- <td><?=_('editorcp_reviewlog_column_addon')?></td>
- <td><?=_('editorcp_reviewlog_column_editor')?></td>
- <td><?=_('editorcp_reviewlog_column_action')?></td>
+ <td><?=___('Date')?></td>
+ <td><?=___('Add-on')?></td>
+ <td><?=___('Editor')?></td>
+ <td><?=___('Action')?></td>
<td>&nbsp;</td>
</tr>
<?php
@@ -68,30 +68,30 @@
echo '<td>';
if ($approval['Approval']['reviewtype'] == 'nominated') {
if ($approval['Approval']['action'] == STATUS_PUBLIC) {
- echo _('editors_review_history_nominated_approved');
+ echo ___('Nomination Approved/Public');
}
elseif ($approval['Approval']['action'] == STATUS_SANDBOX) {
- echo _('editors_review_history_nominated_denied');
+ echo ___('Nomination Denied/Sandbox');
}
elseif ($approval['Approval']['action'] == STATUS_NOMINATED) {
- echo _('editors_review_history_nominated_adminreview');
+ echo ___('Admin Review');
}
}
elseif ($approval['Approval']['reviewtype'] == 'pending') {
if ($approval['Approval']['action'] == STATUS_PUBLIC) {
- echo _('editors_review_history_pending_approved');
+ echo ___('Approved/Public');
}
elseif ($approval['Approval']['action'] == STATUS_SANDBOX) {
- echo _('editors_review_history_pending_denied');
+ echo ___('Denied/Sandbox');
}
elseif ($approval['Approval']['action'] == STATUS_PENDING) {
- echo _('editors_review_history_pending_adminreview');
+ echo ___('Admin Review');
}
}
echo '</td>';
echo '<td>';
- echo $html->link(_('editorcp_reviewlog_comments_show'), 'javascript:void(0);', array('onClick' => 'showComments('.$k.');', 'id' => 'reviewShow_'.$k));
- echo $html->link(_('editorcp_reviewlog_comments_hide'), 'javascript:void(0);', array('onClick' => 'hideComments('.$k.');', 'style' => 'display: none;', 'id' => 'reviewHide_'.$k));
+ echo $html->link(___('Show Comments'), 'javascript:void(0);', array('onClick' => 'showComments('.$k.');', 'id' => 'reviewShow_'.$k));
+ echo $html->link(___('Hide Comments'), 'javascript:void(0);', array('onClick' => 'hideComments('.$k.');', 'style' => 'display: none;', 'id' => 'reviewHide_'.$k));
echo '</td>';
echo '</tr>';
echo '<tr id="reviewComment_'.$k.'" style="display: none;">';
@@ -101,7 +101,7 @@
}
else {
echo '<tr>';
- echo '<td colspan=4 align="center">'._('editorcp_reviewlog_none_found').'</td>';
+ echo '<td colspan=4 align="center">'.___('No reviews found for this period.').'</td>';
echo '</tr>';
}
//pr($approvals);
diff --git a/site/app/views/editors/reviews_queue.thtml b/site/app/views/editors/reviews_queue.thtml
index b077db0..7a61b58 100644
--- a/site/app/views/editors/reviews_queue.thtml
+++ b/site/app/views/editors/reviews_queue.thtml
@@ -54,7 +54,7 @@
<h3><?=$html->link($review['Addon']['Translation']['name']['string'], '/addons/display/'.$review['Addon']['Addon']['id']).
': '.$review['Translation']['title']['string']?> (<?=$review['Translation']['title']['locale']?>)</h3>
- <div class="reviewed-on"><?= sprintf(_('addon_reviewed_on_x_rated_y'), $html->linkUserFromModel($review['User']), strftime(_('date'), strtotime($review['Review']['created'])), $review['Review']['rating'])?></div>
+ <div class="reviewed-on"><?= sprintf(___('by %1$s on %2$s (rated %3$s)'), $html->linkUserFromModel($review['User']), strftime(___('%B %e, %Y'), strtotime($review['Review']['created'])), $review['Review']['rating'])?></div>
<?=nl2br($review['Translation']['body']['string'])?>
<? /* Developer reply? */
@@ -64,8 +64,8 @@
$replyto['Translation'][LANG] : current($replyto['Translation']));
?>
<div class="review-reply">
- <h3><?=_('editors_reviews_in_reply_to')?> <?=$replyto['Translation']['title']['string']?></h3>
- <div class="reviewed-on"><?= sprintf(_('addon_reviewed_on_x_rated_y'), $html->linkUserFromModel($replyto['User']), strftime(_('date'), strtotime($replyto['Review']['created'])), $replyto['Review']['rating'])?></div>
+ <h3><?=___('In reply to:')?> <?=$replyto['Translation']['title']['string']?></h3>
+ <div class="reviewed-on"><?= sprintf(___('by %1$s on %2$s (rated %3$s)'), $html->linkUserFromModel($replyto['User']), strftime(___('%B %e, %Y'), strtotime($replyto['Review']['created'])), $replyto['Review']['rating'])?></div>
<?=nl2br($replyto['Translation']['body']['string'])?>
</div>
<? endif; ?>
@@ -97,24 +97,24 @@
</ul>
<div class="reviewAction">
- <b><?=_('editors_reviews_header_action')?></b>:&nbsp;
+ <b><?=___('Action')?></b>:&nbsp;
<input type="radio" name="data[Reviews][review<?=$review['Review']['id']?>]" value="skip" checked id="skip<?=$review['Review']['id']?>">
- <label for="skip<?=$review['Review']['id']?>"><?=_('editors_reviews_action_skip')?></label>
+ <label for="skip<?=$review['Review']['id']?>"><?=___('Skip')?></label>
<input type="radio" name="data[Reviews][review<?=$review['Review']['id']?>]" value="approve" id="approve<?=$review['Review']['id']?>">
- <label for="approve<?=$review['Review']['id']?>"><?=___('editors_reviews_action_keep', 'Remove flags; keep review')?></label>
+ <label for="approve<?=$review['Review']['id']?>"><?=___('Remove flags; keep review')?></label>
<input type="radio" name="data[Reviews][review<?=$review['Review']['id']?>]" value="delete" id="deny<?=$review['Review']['id']?>">
- <label for="deny<?=$review['Review']['id']?>"><?=___('editors_reviews_action_delete_review', 'Delete review')?></label>
+ <label for="deny<?=$review['Review']['id']?>"><?=___('Delete review')?></label>
</div>
</div>
<?
}
- echo $html->submit(_('editors_reviews_submit_process_reviews'));
+ echo $html->submit(___('Process Reviews'));
echo '</form>';
echo $this->renderElement('pagination');
}
else {
- echo '<div class="emptyQueue">'._('editors_reviews_queue_empty').'</div>';
+ echo '<div class="emptyQueue">'.___('There are currently no reviews in moderation.').'</div>';
}
?>
</div>
diff --git a/site/app/views/editors/summary.thtml b/site/app/views/editors/summary.thtml
index 334fc2c..ecfb8c3 100644
--- a/site/app/views/editors/summary.thtml
+++ b/site/app/views/editors/summary.thtml
@@ -39,10 +39,10 @@
<?=$this->renderElement('developers/editorsmenu');?>
<div id="content-main">
- <h3><?=_('editorcp_summary_page_heading')?></h3>
+ <h3><?=___('Editor Summary')?></h3>
<table class="stats">
<tr>
- <td class="heading" colspan=2><?=_('editorcp_summary_totalreviews_heading')?></td>
+ <td class="heading" colspan=2><?=___('Total Reviews')?></td>
</tr>
<?php
if (!empty($totalReviews)) {
@@ -58,7 +58,7 @@
<table class="stats">
<tr>
- <td class="heading" colspan=2><?=_('editorcp_summary_monthreviews_heading')?></td>
+ <td class="heading" colspan=2><?=___('Month Reviews')?></td>
</tr>
<?php
if (!empty($monthReviews)) {
@@ -74,7 +74,7 @@
<table class="stats">
<tr>
- <td class="heading" colspan=2><?=_('editorcp_summary_neweditors_heading')?></td>
+ <td class="heading" colspan=2><?=___('New Editors')?></td>
</tr>
<?php
if (!empty($newEditors)) {
@@ -91,7 +91,7 @@
<br>
<table width="100%" class="log">
<tr>
- <td class="heading" colspan=2><?=_('editorcp_summary_recentactivity_heading')?></td>
+ <td class="heading" colspan=2><?=___('Recent Editor Activity')?></td>
</tr>
<?php
if (!empty($logs)) {
diff --git a/site/app/views/elements/addon_categories.thtml b/site/app/views/elements/addon_categories.thtml
index cbad9e6..2ace864 100644
--- a/site/app/views/elements/addon_categories.thtml
+++ b/site/app/views/elements/addon_categories.thtml
@@ -49,10 +49,10 @@ if (!empty($categories)) {
switch ($categories[0]['Category']['addontype_id']) {
case ADDON_DICT:
case ADDON_LPAPP:
- $li = $html->link(___('nav_category_dicts_langpacks'), '/browse/type:'.ADDON_DICT);
+ $li = $html->link(___('Dictionaries & Language Packs'), '/browse/type:'.ADDON_DICT);
break;
case ADDON_THEME:
- $li = $html->link(___('nav_category_themes'), '/browse/type:'.ADDON_THEME);
+ $li = $html->link(___('Themes'), '/browse/type:'.ADDON_THEME);
break;
default:
$li = '';
diff --git a/site/app/views/elements/addon_discussionheader.thtml b/site/app/views/elements/addon_discussionheader.thtml
index 3c8a365..0c8e9d1 100644
--- a/site/app/views/elements/addon_discussionheader.thtml
+++ b/site/app/views/elements/addon_discussionheader.thtml
@@ -59,7 +59,7 @@ $addonSummary = $addon['Translation']['summary']['string'];
// prepare preview image
if (isset($addonPreviewPath) && !empty($addonPreviewPath)) {
- $_alt = sprintf(_('img_preview_of'),$addonName);
+ $_alt = sprintf(___('Preview Image of %s'),$addonName);
$previmg = '<img src="'.$addonPreviewPath.'" '
.'alt="'.$_alt.'" title="'.$_alt.'"/>';
$previmg = '<p class="preview-img">'
@@ -80,7 +80,7 @@ if (!isset($addonSummary) || empty($addonSummary))
<div class="addon">
<div class="irk">
<h3 class="name discussions"><?=$html->link("$icon $addonName", "/addon/{$addonID}");?></h3>
- <h4 class="author discussions"> <?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addonCreators, null, "/addon/{$addonID}#authors")?></h4>
+ <h4 class="author discussions"> <?=___('by')?> <?=$html->linkUsersFromModel($addonCreators, null, "/addon/{$addonID}#authors")?></h4>
<p class="desc"><?=$addonSummary?></p>
</div>
<div class="vex"><span><!-- bottom edge --></span></div>
diff --git a/site/app/views/elements/addon_list_options.thtml b/site/app/views/elements/addon_list_options.thtml
index 16d571e..33da7e1 100644
--- a/site/app/views/elements/addon_list_options.thtml
+++ b/site/app/views/elements/addon_list_options.thtml
@@ -42,10 +42,10 @@
*/
$sortorders = array(
- 'name' => _('list_sortby_name'),
- 'updated' => _('list_sortby_date'),
- 'popular' => _('list_sortby_downloads'),
- 'rated' => _('list_sortby_rating')
+ 'name' => ___('Add-on Name'),
+ 'updated' => ___('Date'),
+ 'popular' => ___('Downloads'),
+ 'rated' => ___('Rating')
);
// make sort order links
@@ -91,20 +91,20 @@ function submit_options() {
}
?>
</select>
- <?=_('addon_list_perpage')?></label>
+ <?=___('per page')?></label>
</p>
<ul id="order-by">
- <li id="order-label"><?=_('addon_list_sortby')?></li>
+ <li id="order-label"><?=___('Sort by:')?></li>
<?=implode('', $sortlinks)?>
</ul>
<p id="experimental">
<label for="show-exp"><input type="checkbox" id="show-exp"
name="exp"<?=($show_exp?' checked':'')?> onChange="submit_options();"/>
- <?=_('addons_options_show_experimental')?></label>
+ <?=___('show experimental add-ons')?></label>
</p>
<div><button type="submit" name="sort" value="<?=$paging['sortBy']?>"
- id="options-submit" class="hidden"><?=_('addons_options_submit')?></button></div>
+ id="options-submit" class="hidden"><?=___('Go')?></button></div>
</form>
diff --git a/site/app/views/elements/addon_listitem.thtml b/site/app/views/elements/addon_listitem.thtml
index 3927591..a1e4248 100644
--- a/site/app/views/elements/addon_listitem.thtml
+++ b/site/app/views/elements/addon_listitem.thtml
@@ -37,7 +37,7 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
/**
* This element uses the following local variables:
@@ -64,7 +64,7 @@ $addonSummary = $addon['Translation']['summary']['string'];
// prepare preview image
if (isset($addonPreviewPath) && !empty($addonPreviewPath)) {
- $_alt = sprintf(_('img_preview_of'),$addonName);
+ $_alt = sprintf(___('Preview Image of %s'),$addonName);
$previmg = '<img src="'.$addonPreviewPath.'" '
.'alt="'.$_alt.'" title="'.$_alt.'"/>';
$previmg = '<p class="preview-img">'
@@ -88,7 +88,7 @@ if (!isset($addonSummary) || empty($addonSummary))
$addonSummary = '&nbsp;';
$_install_render_options = array(
- 'addonIconPath' => $addonIconPath,
+ 'addonIconPath' => $addonIconPath,
'addonName' => $addonName,
'addonId' => $addonID,
'addonFiles' => $addonFiles,
@@ -106,22 +106,22 @@ $installbutton = $this->renderElement('install', $_install_render_options);
<li class="addon <?=$html->extraClass($addon)?>">
<div class="irk">
<h3 class="name"><?=$html->link("$icon $addonName", "/addon/{$addonID}");?></h3>
- <h4 class="author"> <?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addonCreators, null, "/addon/{$addonID}#authors")?></h4>
+ <h4 class="author"> <?=___('by')?> <?=$html->linkUsersFromModel($addonCreators, null, "/addon/{$addonID}#authors")?></h4>
<?=$html->flag($addon)?>
<?=$previmg ?>
- <p class="rating"><?=$this->renderElement('stars',array('rating' => $addon['Addon']['averagerating']))?><?php if ($addon['Addon']['totalreviews'] > 0) { ?> <a href="<?=$html->url('/addon/'.$addon['Addon']['id'].'#reviews')?>"><?=sprintf(ngettext('feature_reviews','feature_reviews', $addon['Addon']['totalreviews']), $addon['Addon']['totalreviews'])?></a><?php } ?></p>
+ <p class="rating"><?=$this->renderElement('stars',array('rating' => $addon['Addon']['averagerating']))?><?php if ($addon['Addon']['totalreviews'] > 0) { ?> <a href="<?=$html->url('/addon/'.$addon['Addon']['id'].'#reviews')?>"><?=sprintf(n___('%1$s review','%1$s reviews', $addon['Addon']['totalreviews']), $addon['Addon']['totalreviews'])?></a><?php } ?></p>
<span class="stats">
<em><?=$html->number_format($addon['Addon']['weeklydownloads'], 0)?></em>
- <?php echo ___('addon_downloads_weekly'); ?>
+ <?php echo ___('weekly downloads'); ?>
</span>
<?=$categories?>
<p class="desc"><?=$addonSummary?></p>
<?=$installbutton?>
<p class="updated">
<?php
- $_update_string = ___('addon_detail_last_updated');
+ $_update_string = ___('Updated %s');
$_version_date = (isset($addon['Addon']['datestatuschanged']) ? $addon['Addon']['datestatuschanged'] : $addon['Version'][0]['created']);
- echo sprintf($_update_string, strftime(_('date'), strtotime($_version_date)));
+ echo sprintf($_update_string, strftime(___('%B %e, %Y'), strtotime($_version_date)));
?>
</p>
</div>
diff --git a/site/app/views/elements/addon_tags.thtml b/site/app/views/elements/addon_tags.thtml
index 1fef446..7a443cb 100644
--- a/site/app/views/elements/addon_tags.thtml
+++ b/site/app/views/elements/addon_tags.thtml
@@ -60,7 +60,7 @@
<li id="taglink-<?=$t['id']?>" class="<?=$class?>">
<a href="<?=$html->url('/tag/'.$t['tag_text'])?>" class="tagitem"><?=$t['tag_text']?></a>
<?php if (@$t['OwnerOrDeveloper'] == 1): ?>
- <input type="submit" alt="<?=___('tags_alt_remove_tag')?>"
+ <input type="submit" alt="<?=___('Remove')?>"
name="tagid" value="<?=$t['id']?>"
class="removetag" />
<?php endif; ?>
diff --git a/site/app/views/elements/addon_version_detail.thtml b/site/app/views/elements/addon_version_detail.thtml
index 6c61f61..6d01de8 100644
--- a/site/app/views/elements/addon_version_detail.thtml
+++ b/site/app/views/elements/addon_version_detail.thtml
@@ -48,7 +48,7 @@
$created = strtotime(str_replace('&#45;', '-', $created));
if (!isset($fileSize) || false === $fileSize = $localization->localFileSize($fileSize)) $fileSize = '';
?>
-<?=$html->link(sprintf(_('addon_display_header_version'), $version), "/addons/versions/{$addonid}#version-{$version}",
- array('title'=>___('addon_version_permalink', 'Permanent link to this version')))?>
- <span title="<?=strftime(_('datetime'), $created)?>">&mdash;
- <?=strftime(_('date'), $created)?></span> &mdash; <?=$fileSize?>
+<?=$html->link(sprintf(___('Version %s'), $version), "/addons/versions/{$addonid}#version-{$version}",
+ array('title'=>___('Permanent link to this version')))?>
+ <span title="<?=strftime(___('%B %e, %Y, %I:%M %p'), $created)?>">&mdash;
+ <?=strftime(___('%B %e, %Y'), $created)?></span> &mdash; <?=$fileSize?>
diff --git a/site/app/views/elements/amo2009/addons/developers/about_addon.thtml b/site/app/views/elements/amo2009/addons/developers/about_addon.thtml
index 8e0f6f5..1134300 100644
--- a/site/app/views/elements/amo2009/addons/developers/about_addon.thtml
+++ b/site/app/views/elements/amo2009/addons/developers/about_addon.thtml
@@ -43,10 +43,10 @@
?>
<?php if ($addon['Translation']['the_reason']['string']): ?>
- <h3><?=sprintf(___('addon_developer_why_created'), $addon['Translation']['name']['string'])?></h3>
+ <h3><?=sprintf(___('Why was %1$s created?'), $addon['Translation']['name']['string'])?></h3>
<p><?=$addon['Translation']['the_reason']['string']?></p>
<?php endif; ?>
<?php if ($addon['Translation']['the_future']['string']): ?>
- <h3><?=sprintf(___('addon_developer_what_next'), $addon['Translation']['name']['string'])?></h3>
+ <h3><?=sprintf(___('What\'s next for %1$s'), $addon['Translation']['name']['string'])?></h3>
<p><?=$addon['Translation']['the_future']['string']?></p>
<?php endif; ?>
diff --git a/site/app/views/elements/amo2009/addons/developers/other_addons.thtml b/site/app/views/elements/amo2009/addons/developers/other_addons.thtml
index 45f9a18..09887ad 100644
--- a/site/app/views/elements/amo2009/addons/developers/other_addons.thtml
+++ b/site/app/views/elements/amo2009/addons/developers/other_addons.thtml
@@ -47,7 +47,7 @@
<?php if ($force_output || (count($addons) > 1)): ?>
<div class="secondary" role="complementary">
<div class="article secondary-item-list">
- <h4><?=n___('addon_developer_other_addons', 'addon_developer_other_addons', $num_authors)?></h4>
+ <h4><?=n___('Other add-ons by this developer', 'Other add-ons by these developers', $num_authors)?></h4>
<ul>
<?php foreach ($addons as $a): ?>
<?php if ($a['Addon']['id'] != $skip): ?>
diff --git a/site/app/views/elements/amo2009/addons/list_options.thtml b/site/app/views/elements/amo2009/addons/list_options.thtml
index 4a3ba2e..bd88724 100644
--- a/site/app/views/elements/amo2009/addons/list_options.thtml
+++ b/site/app/views/elements/amo2009/addons/list_options.thtml
@@ -42,10 +42,10 @@
*/
$sortorders = array(
- 'name' => _('list_sortby_name'),
- 'updated' => _('list_sortby_date'),
- 'popular' => _('list_sortby_downloads'),
- 'rated' => _('list_sortby_rating')
+ 'name' => ___('Add-on Name'),
+ 'updated' => ___('Date'),
+ 'popular' => ___('Downloads'),
+ 'rated' => ___('Rating')
);
// get base URL for sort links and form
@@ -81,7 +81,7 @@ $(document).ready(function() {
<div id="addon-list-options" class="listing-header">
<form id="form-listcontrol" method="get" action="<?=$html->url($sortbase)?>">
<ul>
- <li id="order-label"><?=_('addon_list_sortby')?></li>
+ <li id="order-label"><?=___('Sort by:')?></li>
<?php foreach ($sortorders as $sortkey => $prettystring): ?>
<li<?= ($paging['sortBy'] == $sortkey ? ' class="selected"' : '') ?>>
<?= $html->link($prettystring, "{$sortbase}?sort={$sortkey}", array(
@@ -100,17 +100,17 @@ $(document).ready(function() {
}
?>
</select>
- <?=_('addon_list_perpage')?></label>
+ <?=___('per page')?></label>
</div>
<div>
<label for="show-exp"><input type="checkbox" id="show-exp"
name="exp"<?=($show_exp?' checked':'')?> onChange="submit_options();"/>
- <?=_('addons_options_show_experimental')?></label>
+ <?=___('show experimental add-ons')?></label>
</div>
<noscript>
<div>
<button type="submit" name="sort" value="<?=$paging['sortBy']?>"
- id="options-submit"><?=_('addons_options_submit')?></button>
+ id="options-submit"><?=___('Go')?></button>
</div>
</noscript>
</li>
diff --git a/site/app/views/elements/amo2009/addons/version_detail.thtml b/site/app/views/elements/amo2009/addons/version_detail.thtml
index 8498ce5..67bf772 100644
--- a/site/app/views/elements/amo2009/addons/version_detail.thtml
+++ b/site/app/views/elements/amo2009/addons/version_detail.thtml
@@ -48,6 +48,6 @@
$created = strtotime(str_replace('&#45;', '-', $created));
if (!isset($fileSize) || false === $fileSize = $localization->localFileSize($fileSize)) $fileSize = '';
?>
-<?=$html->link(sprintf(_('addon_display_header_version'), $version), "/addons/versions/{$addonid}#version-{$version}",
- array('title'=>___('addon_version_permalink', 'Permanent link to this version')))?>
- &mdash; <?=strftime(_('date'), $created)?> &mdash; <?=$fileSize?>
+<?=$html->link(sprintf(___('Version %s'), $version), "/addons/versions/{$addonid}#version-{$version}",
+ array('title'=>___('Permanent link to this version')))?>
+ &mdash; <?=strftime(___('%B %e, %Y'), $created)?> &mdash; <?=$fileSize?>
diff --git a/site/app/views/elements/amo2009/categories.thtml b/site/app/views/elements/amo2009/categories.thtml
index f6955d6..bb66a9e 100644
--- a/site/app/views/elements/amo2009/categories.thtml
+++ b/site/app/views/elements/amo2009/categories.thtml
@@ -38,8 +38,8 @@
* ***** END LICENSE BLOCK ***** */
?>
<div class="categories">
- <h3 title="<?=_('categories_header_title')?>">
- <a href="#categoriesdropdown" aria-haspopup="true"><?=_('categories_header')?></a>
+ <h3 title="<?=___('Choose a category')?>">
+ <a href="#categoriesdropdown" aria-haspopup="true"><?=___('Categories')?></a>
</h3>
<ul id="categoriesdropdown">
<li>
@@ -62,7 +62,7 @@
<li>
<ul>
<li>
- <?= $html->link(___('addons_home_collections','Collections'), '/collections/') ?>
+ <?= $html->link(___('Collections'), '/collections/') ?>
</li>
<?php foreach ($AmoCategories as $_category): ?>
<?php if (0!==$_category['cat'] || ADDON_PLUGIN===$_category['type']) continue ?>
diff --git a/site/app/views/elements/amo2009/collection_listing_item.thtml b/site/app/views/elements/amo2009/collection_listing_item.thtml
index 289b41a..8b1403a 100644
--- a/site/app/views/elements/amo2009/collection_listing_item.thtml
+++ b/site/app/views/elements/amo2009/collection_listing_item.thtml
@@ -48,15 +48,15 @@
<ul>
<li class="addons">
<?php $count = $collection['Collection']['addonCount']; ?>
- <?=sprintf(n___('addons_home_collections_addon_count',
- 'addons_home_collections_addon_count',
+ <?=sprintf(n___('<strong>%1$s</strong> add-on',
+ '<strong>%1$s</strong> add-ons',
$count),
$count);?>
</li>
<li class="subscribers">
<?php $subscribers = $collection['Collection']['subscribers']; ?>
- <?=sprintf(n___('addons_home_collections_subscribers',
- 'addons_home_collections_subscribers',
+ <?=sprintf(n___('<strong>%1$s</strong> subscriber',
+ '<strong>%1$s</strong> subscribers',
$subscribers),
$subscribers);?>
</li>
@@ -81,7 +81,7 @@
<?=$collection['Translation']['name']['string']?>
</a>
<span>
- <?=sprintf(___('collections_index_header_created'),
+ <?=sprintf(___('created by %1$s'),
$html->linkUsersFromModel($collection['Users']))?>
</span>
<a href="<?=$html->url($link)?>">
diff --git a/site/app/views/elements/amo2009/collections/add_form.thtml b/site/app/views/elements/amo2009/collections/add_form.thtml
index 13f66f8..d6ea3a5 100644
--- a/site/app/views/elements/amo2009/collections/add_form.thtml
+++ b/site/app/views/elements/amo2009/collections/add_form.thtml
@@ -47,10 +47,10 @@
if ($is_subscribed) {
$buttonClass .= ' fav';
$action = $this->controller->Collection->getUnsubscribeUrl();
- $text = ___('collections_detail_button_remove');
+ $text = ___('Remove from Favorites');
} else {
$action = $this->controller->Collection->getSubscribeUrl();
- $text = ___('collections_detail_button_add');
+ $text = ___('Add to Favorites');
}
if ($withImage) {
diff --git a/site/app/views/elements/amo2009/collections/collector_info_secondary.thtml b/site/app/views/elements/amo2009/collections/collector_info_secondary.thtml
index 53f65c3..d1ea5c8 100644
--- a/site/app/views/elements/amo2009/collections/collector_info_secondary.thtml
+++ b/site/app/views/elements/amo2009/collections/collector_info_secondary.thtml
@@ -44,12 +44,12 @@ $showSecondBox = isset($showSecondBox) ? $showSecondBox : true;
<div class="secondary" role="complementary">
<? if ($showFirstBox): ?>
<div class="highlight">
- <h3><?=___('collections_index_header_what')?></h3>
- <p><?=___('collections_index_p_what_are')?></p>
+ <h3><?=___('What are Collections?')?></h3>
+ <p><?=___('Collections are groups of related add-ons assembled for easy sharing.')?></p>
<? if ($showCreateLink): ?>
<p>
<a class="more-info" href="<?=$html->url('/collections/add')?>">
- <?=___('collections_index_a_create')?>
+ <?=___('Create a Collection')?>
</a>
</p>
<? endif; ?>
@@ -57,17 +57,17 @@ $showSecondBox = isset($showSecondBox) ? $showSecondBox : true;
<? endif; ?>
<? if ($showSecondBox && (APP_ID == APP_FIREFOX)): ?>
<div class="highlight">
- <h3><?=___('collections_index_header_collector')?></h3>
+ <h3><?=___('Add-on Collector')?></h3>
<p class="teaser-img">
<a href="<?=$html->url('/pages/collector')?>">
<img alt="" src="<?=$html->url('/img/amo2009/illustrations/logo-collections-download-146x159.png',
false, false, false)?>" />
</a>
</p>
- <p><?=___('collections_index_p_collector')?></p>
+ <p><?=___('There\'s a new way to manage and find favorite add-ons. Comment, share and sync collections, all from your browser')?></p>
<p>
<a class="more-info" href="<?=$html->url('/pages/collector')?>">
- <?=___('collections_index_a_check_out')?>
+ <?=___('Check out Add-on Collector')?>
</a>
</p>
</div>
diff --git a/site/app/views/elements/amo2009/collections/collector_sidebar_download.thtml b/site/app/views/elements/amo2009/collections/collector_sidebar_download.thtml
index 0c55e09..74ff5ff 100644
--- a/site/app/views/elements/amo2009/collections/collector_sidebar_download.thtml
+++ b/site/app/views/elements/amo2009/collections/collector_sidebar_download.thtml
@@ -42,11 +42,11 @@
<a href="<?=$html->url('/pages/collector')?>">
<img src="<?=$html->url('/img/amo2009/illustrations/logo-collections-download-146x159.png',
false, false, false)?>"
- alt="<?=___('collector_features_img_logo')?>" />
+ alt="<?=___('Add-on Collector Logo')?>" />
</a>
</p>
<div id="download-box" class="highlight">
- <h4><?=___('collector_features_heading_download')?></h4>
+ <h4><?=___('Download the Add-on Collector:')?></h4>
<?php
$assoc = array('compatible_apps', 'files', 'latest_version', 'list_details');
$addon = $this->controller->Addon->getAddon(COLLECTOR_ID, $assoc);
diff --git a/site/app/views/elements/amo2009/collections/js_init.thtml b/site/app/views/elements/amo2009/collections/js_init.thtml
index 7e1a73e..cba8aac 100644
--- a/site/app/views/elements/amo2009/collections/js_init.thtml
+++ b/site/app/views/elements/amo2009/collections/js_init.thtml
@@ -59,16 +59,16 @@ $(document).ready(function(){
c.unsubscribe_url = '<?=$html->url($this->controller->Collection->getUnsubscribeUrl(true))?>';
c.adding_img = '<?=$html->rootUrl("/img/amo2009/icons/white-loading-{$loadingButtonSize}.gif")?>';
- c.adding_text = '<?=addcslashes(___('collections_detail_js_adding'), "'")?>';
+ c.adding_text = '<?=addcslashes(___('Adding to Favorites&hellip;'), "'")?>';
c.removing_img = '<?=$html->rootUrl("/img/amo2009/icons/white-loading-{$loadingButtonSize}.gif")?>';
- c.removing_text = '<?=addcslashes(___('collections_detail_js_removing'), "'")?>';
+ c.removing_text = '<?=addcslashes(___('Removing Favorite&hellip;'), "'")?>';
c.add_img = '<?=$html->rootUrl("/img/amo2009/icons/buttons/plus-orange-{$addButtonSize}.gif")?>';
- c.add_text = '<?=addcslashes(___('collections_detail_button_add'), "'")?>';
+ c.add_text = '<?=addcslashes(___('Add to Favorites'), "'")?>';
c.remove_img = '<?=$html->rootUrl("/img/amo2009/icons/buttons/minus-orange-{$removeButtonSize}.gif")?>';
- c.remove_text = '<?=addcslashes(___('collections_detail_button_remove'), "'")?>';
+ c.remove_text = '<?=addcslashes(___('Remove from Favorites'), "'")?>';
c.cookie_path = '<?=$html->rootUrl('/')?>';
diff --git a/site/app/views/elements/amo2009/collections/sort_form.thtml b/site/app/views/elements/amo2009/collections/sort_form.thtml
index 776357e..bbee1a4 100644
--- a/site/app/views/elements/amo2009/collections/sort_form.thtml
+++ b/site/app/views/elements/amo2009/collections/sort_form.thtml
@@ -45,13 +45,13 @@
<input type="hidden" name="cat" value="collections" />
<input type="hidden" name="pp" value="<?=$pp?>" />
<?php endif; ?>
- <label for="sortby2"><?=___('collections_index_label_sortby')?></label>
+ <label for="sortby2"><?=___('Sort by')?></label>
<select id="sortby2" name="sortby">
<?php foreach ($sort_opts as $value => $opt): ?>
<?php $selected = ($value == $sortby) ? 'selected="selected"' : ''; ?>
<option value="<?=$value?>" <?=$selected?>><?=$opt['text']?></option>
<?php endforeach; ?>
</select>
- <button><?=___('collections_index_button_go')?></button>
+ <button><?=___('Go')?></button>
</div>
</form>
diff --git a/site/app/views/elements/amo2009/contribution.thtml b/site/app/views/elements/amo2009/contribution.thtml
index 34d28c7..fccd983 100644
--- a/site/app/views/elements/amo2009/contribution.thtml
+++ b/site/app/views/elements/amo2009/contribution.thtml
@@ -61,7 +61,7 @@ $has_suggested = !empty($addon['Addon']['suggested_amount']);
href="<?=$html->url("/addons/contribute/{$addon_id}?source={$source}")?>">
<?=$html->image('amo2009/icons/buttons/heart-blue-16x16.gif',
array('alt' => ''))
- ?><?=___('addon_display_contribute')?>
+ ?><?=___('Contribute')?>
</a>
<?php if (isset($show_install) && $show_install): ?>
<?php
@@ -69,7 +69,7 @@ $has_suggested = !empty($addon['Addon']['suggested_amount']);
'recommended' => 'recommended',
'default' => '')));
?>
- <span class="continue"><?=___('addon_display_or')?></span>
+ <span class="continue"><?=___('or')?></span>
<div id="addon-summary" class="<?=$html->extraClass($addon)?>">
<?=$this->renderElement('amo2009/install', array(
'addon' => $addon,
@@ -83,13 +83,13 @@ $has_suggested = !empty($addon['Addon']['suggested_amount']);
</p>
<div class="suggestion">
<?php if ($has_suggested): ?>
- <p><?=sprintf(___('addon_display_suggested_amount'),
+ <p><?=sprintf(___('Suggested Donation: $%1$s'),
$addon['Addon']['suggested_amount'])?>
</p>
<?php endif; ?>
<p>
<a class="toggle-help" href="#contribute-why">
- <?=___('addons_display_a_license_what')?>
+ <?=___('What\'s this?')?>
</a>
</p>
</div>
@@ -99,21 +99,21 @@ $has_suggested = !empty($addon['Addon']['suggested_amount']);
<ul>
<li>
<a href="<?=$html->url("/addons/contribute/{$addon_id}?source={$source}&type=suggested")?>">
- <?=sprintf(___('addon_display_contribute_suggested'),
+ <?=sprintf(___('Contribute $%1$s'),
$addon['Addon']['suggested_amount'])?>
</a>
- <span><?=___('addon_display_suggested')?></span>
+ <span><?=___('Suggested')?></span>
</li>
<li>
<a href="<?=$html->url("/addons/contribute/{$addon_id}?source={$source}")?>">
- <?=___('addon_display_contribute_different')?>
+ <?=___('Contribute a Different Amount')?>
</a>
</li>
</ul>
</div>
<?php endif; ?>
<div id="contribute-why" class="toggle-info">
- <p class="dropdown"><?=___('addons_display_contribute_why')?></p>
- <a class="close" href="#"><?=___('addons_display_contribute_close')?></a>
+ <p class="dropdown"><?=___('Mozilla is committed to supporting a vibrant and healthy developer ecosystem. Your optional contribution helps sustain further development of this add-on.')?></p>
+ <a class="close" href="#"><?=___('close')?></a>
</div>
</div>
diff --git a/site/app/views/elements/amo2009/homepage_addon.thtml b/site/app/views/elements/amo2009/homepage_addon.thtml
index 3f8f670..12d2d08 100644
--- a/site/app/views/elements/amo2009/homepage_addon.thtml
+++ b/site/app/views/elements/amo2009/homepage_addon.thtml
@@ -63,9 +63,9 @@ if (mb_strlen($addonSummary) > $desc_limit) {
// If the addon summary exceeds the display limit, cut it off before the
// last space-delimited word in the string and add an ellipsis linking to
// the full detail page. Would use TextHelper::truncate() here, but need
- // mb_* string functions.
+ // mb_* string functions.
- // mb_substr is used twice here, because mb_strrpos doesn't support
+ // mb_substr is used twice here, because mb_strrpos doesn't support
// offset in PHP 5.1.6 - first chop down to char limit, then chop down
// to end of last space-delimited word.
$addonSummary = mb_substr($addonSummary, 0, $desc_limit);
@@ -74,7 +74,7 @@ if (mb_strlen($addonSummary) > $desc_limit) {
}
// prepare alt and title text for preview image
-$_alt = sprintf(_('img_preview_of'), $addonName);
+$_alt = sprintf(___('Preview Image of %s'), $addonName);
$flags = array($html->byStatus($addon, array('experimental' => 'experimental',
'recommended' => 'recommended',
@@ -92,20 +92,20 @@ if (isset($addonStatus) && in_array($addonStatus, $experimental_status)) {
?>
<div class="<?=join(' ', $flags)?> item">
<?=$this->renderElement('amo2009/install', array(
- 'flags' => $flags,
+ 'flags' => $flags,
'addon' => $addon
))?>
<h3>
- <a title="<?=___('addons_title_tooltip') ?>" href="<?=$html->url("/addon/{$addonId}")?>"><?=$addonName?></a>
- <span title="<?=___('addons_author_tooltip') ?>"><?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addonAuthors, 0);?></span>
+ <a title="<?=___('Learn more about this add-on') ?>" href="<?=$html->url("/addon/{$addonId}")?>"><?=$addonName?></a>
+ <span title="<?=___('View Author\'s Profile') ?>"><?=___('by')?> <?=$html->linkUsersFromModel($addonAuthors, 0);?></span>
</h3>
- <a title="<?=___('addons_title_tooltip') ?>" href="<?=$html->url("/addon/{$addonId}")?>">
+ <a title="<?=___('Learn more about this add-on') ?>" href="<?=$html->url("/addon/{$addonId}")?>">
<img src="<?=$addonIconPath?>" width="32" height="32" alt="<?=$_alt?>" title="<?=$_alt?>" class="icon"/>
</a>
<blockquote cite="#"><p><?=$addonSummary?></p></blockquote>
<div class="meta">
<?=$this->renderElement('amo2009/reviews', array('addon' => $addon))?>
- <span class="downloads"><strong><?=$html->number_format($addonWeeklyDownloads, 0)?></strong> <?=___('addon_downloads_weekly')?></span>
+ <span class="downloads"><strong><?=$html->number_format($addonWeeklyDownloads, 0)?></strong> <?=___('weekly downloads')?></span>
</div>
</div>
@@ -114,19 +114,19 @@ if (isset($addonStatus) && in_array($addonStatus, $experimental_status)) {
<?php if (isset($addonFiles)): ?>
<p class="updated">
- <?php echo sprintf(___('addon_detail_last_updated'), strftime(_('date'), strtotime($addonVersionCreated))); ?>
+ <?php echo sprintf(___('Updated %s'), strftime(___('%B %e, %Y'), strtotime($addonVersionCreated))); ?>
</p>
<?=$this->renderElement('install',array(
'addonType' => $addonType
))?>
<?php else: ?>
-<p class="learn-more"><?=$html->link(_('feature_learnmore'), "/addon/{$addonId}",
- array('class'=>'view', 'title'=>sprintf(_('feature_learnmore_about_addon'), $addonName)))?></p>
+<p class="learn-more"><?=$html->link(___('Learn more'), "/addon/{$addonId}",
+ array('class'=>'view', 'title'=>sprintf(___('Learn more about %1$s'), $addonName)))?></p>
<?php endif; ?>
<?php if(!empty($addonCategories)): ?>
-<p class="more-from"><?=_('feature_view_more_from_category')?> <a href="<?=$html->url('/browse/type:'.$addonType.'/cat:'.$addonCategories[0]['Category']['id'])?>" class="view"><?=$addonCategories[0]['Translation']['name']['string']?></a></p>
+<p class="more-from"><?=___('View more from')?> <a href="<?=$html->url('/browse/type:'.$addonType.'/cat:'.$addonCategories[0]['Category']['id'])?>" class="view"><?=$addonCategories[0]['Translation']['name']['string']?></a></p>
<?php endif; ?>
<?php endif ?>
diff --git a/site/app/views/elements/amo2009/homepage_addon_listing.thtml b/site/app/views/elements/amo2009/homepage_addon_listing.thtml
index fcede5e..8f9315a 100644
--- a/site/app/views/elements/amo2009/homepage_addon_listing.thtml
+++ b/site/app/views/elements/amo2009/homepage_addon_listing.thtml
@@ -46,30 +46,30 @@ foreach ($featured_addons as $addon) {
<?php if ('popular' == $featured_type): ?>
<div class="popular listing-footer">
<a href="<?=$html->url('/browse/type:1/cat:all/format:rss?sort=popular')?>"
- class="subscribe"><?=___('addons_home_browse_subscribe','Subscribe')?></a>
+ class="subscribe"><?=___('Subscribe')?></a>
<a href="<?=$html->url("/browse/type:1/cat:all?sort=popular")?>" class="more-info"
- title="<?=_('addons_home_view_all_popular_title')?>"><?=_('addons_home_view_all_popular_title')?></a>
+ title="<?=___('View all popular add-ons')?>"><?=___('View all popular add-ons')?></a>
</div>
<?php elseif ('added' == $featured_type): ?>
<div class="added listing-footer">
<a href="<?=$html->url('/browse/type:1/cat:all/format:rss?sort=newest')?>"
- class="subscribe"><?=___('addons_home_browse_subscribe','Subscribe')?></a>
+ class="subscribe"><?=___('Subscribe')?></a>
<a href="<?=$html->url("/browse/type:1/cat:all?sort=newest")?>" class="more-info"
- title="<?=_('addons_home_view_all_newest_title')?>"><?=_('addons_home_view_all_newest_title')?></a>
+ title="<?=___('View all newly created add-ons')?>"><?=___('View all newly created add-ons')?></a>
</div>
<?php elseif ('updated' == $featured_type): ?>
<div class="updated listing-footer">
<a href="<?=$html->url('/browse/type:1/cat:all/format:rss?sort=updated')?>"
- class="subscribe"><?=___('addons_home_browse_subscribe','Subscribe')?></a>
+ class="subscribe"><?=___('Subscribe')?></a>
<a href="<?=$html->url("/browse/type:1/cat:all?sort=updated")?>" class="more-info"
- title="<?=_('addons_home_view_all_updated_title')?>"><?=_('addons_home_view_all_updated_title')?></a>
+ title="<?=___('View all recently updated add-ons')?>"><?=___('View all recently updated add-ons')?></a>
</div>
<?php else: ?>
<div class="recommended listing-footer">
<a href="<?=$html->url('/recommended/format:rss')?>"
- class="subscribe"><?=___('addons_home_browse_subscribe','Subscribe')?></a>
+ class="subscribe"><?=___('Subscribe')?></a>
<a href="<?=$html->url('/recommended')?>" class="more-info"
- title="<?=_('addons_home_view_all_recommended_title')?>"><?=_('addons_home_view_all_recommended_title')?></a>
+ title="<?=___('View all recommended add-ons')?>"><?=___('View all recommended add-ons')?></a>
</div>
<?php endif ?>
diff --git a/site/app/views/elements/amo2009/install.thtml b/site/app/views/elements/amo2009/install.thtml
index 7cd3c16..427c52c 100644
--- a/site/app/views/elements/amo2009/install.thtml
+++ b/site/app/views/elements/amo2009/install.thtml
@@ -134,9 +134,9 @@ if (!isset($is_latest)) $is_latest = false;
/* "Install" for browser apps, "Download" for non-browser apps */
if (!isset($buttonMessage)) {
if (!in_array(APP_ID, $browser_apps) || !in_array(APP_ID, $compatible_app_ids)) {
- $buttonMessage = _('a_download');
+ $buttonMessage = ___('Download Now %s');
} else {
- $buttonMessage = sprintf(_('install_button_text'), APP_PRETTYNAME, "%s");
+ $buttonMessage = sprintf(___('Add to %1$s %2$s'), APP_PRETTYNAME, "%s");
}
}
@@ -155,7 +155,7 @@ if (empty($addonIconPath)) {
if (count($addonFiles) < 1) {
// This should never happen - this would mean the file didn't exist.
- echo '<p class="install-button">'._('install_error_addon_not_found').'</p>';
+ echo '<p class="install-button">'.___('This add-on is not available.').'</p>';
} else {
@@ -199,7 +199,7 @@ if (count($addonFiles) < 1) {
// prepare link options for browser apps
$linkOptions = array(
'id' => $installTriggerName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME),
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME),
'addonName' => $addonName,
'addonIcon' => $addonIconPath,
'addonHash' => $file['hash'],
@@ -208,13 +208,13 @@ if (count($addonFiles) < 1) {
} else {
// prepare link options for non-browser apps
$linkOptions = array('id' => $installTriggerName,
- 'title'=>sprintf(_('install_download'),$addonName));
+ 'title'=>sprintf(___('Download %1$s'),$addonName));
}
} else {
/* prepare link options for search engines */
$linkOptions = array(
'id' => $installTriggerName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME),
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME),
'engineURL' => FULL_BASE_URL . $html->urlFile($file['id'], $file['filename'], @$collection_uuid),
// search engines use a special install method
'jsInstallMethod' => 'search_engine_install',
@@ -230,7 +230,7 @@ if (count($addonFiles) < 1) {
).'" alt="" />';
$install_button_html = '';
if ($annoying == Addon::CONTRIBUTIONS_ROADBLOCK) {
- $linktitle = $install_button_image.'<span class="install-button-text">'.sprintf(_('a_download'),$_install_platform_string).'</span>';
+ $linktitle = $install_button_image.'<span class="install-button-text">'.sprintf(___('Download Now %s'),$_install_platform_string).'</span>';
if (!empty($collection_uuid)) {
$qs = '?collection_id='.$collection_uuid;
} else {
@@ -243,7 +243,7 @@ if (count($addonFiles) < 1) {
INVALID_FILENAME_CHARS, '_', $html->unsanitize($file['filename'])));
// if this is the latest public version, use perma-URL. Otherwise, link directly to file.
- $linktitle = $install_button_image.'<span class="install-button-text">'.sprintf(_('a_download'),$_install_platform_string).'</span>';
+ $linktitle = $install_button_image.'<span class="install-button-text">'.sprintf(___('Download Now %s'),$_install_platform_string).'</span>';
if ($is_latest && $file['status'] == STATUS_PUBLIC) {
$latest_permalink = "/downloads/latest/{$addonId}";
if ($file['platform_id'] != PLATFORM_ALL) $latest_permalink .= "/platform:{$file['platform_id']}";
@@ -269,7 +269,7 @@ if (count($addonFiles) < 1) {
$eula_attributes = array('id' => $installTriggerName,
'class' => $linkOptions['class'],
'addonName' => $addonName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME),
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME),
'isEULAPageLink' => 'true');
$link_url = "/addons/policy/0/{$addonId}/{$file['id']}";
@@ -281,7 +281,7 @@ if (count($addonFiles) < 1) {
}
$install_button_html .= $html->link(
- $install_button_image.'<span class="install-button-text">'.sprintf(_('a_download'),$_install_platform_string).'</span>',
+ $install_button_image.'<span class="install-button-text">'.sprintf(___('Download Now %s'),$_install_platform_string).'</span>',
$link_url,
$eula_attributes, false, false);
}
@@ -307,7 +307,7 @@ if (count($addonFiles) < 1) {
<div class="exp-desc">
<strong class="compatmsg">
<input type="checkbox" name="confirm-<?= $addonId ?>" />
- <?= sprintf(___('install_button_confirm_exp_install'), $html->url('/pages/faq#experimental-addons')) ?>
+ <?= sprintf(___('Let me install this experimental add-on. <a href="%1$s">What\'s this?</a>'), $html->url('/pages/faq#experimental-addons')) ?>
</strong>
</div>
</div>
@@ -322,43 +322,43 @@ if (count($addonFiles) < 1) {
$login_url = $html->login_url('/'.LANG.'/'.APP_SHORTNAME."/addon/{$addonId}", false);
$attributes = array('id' => $installTriggerName,
'addonName' => $addonName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME));
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME));
echo $html->link('<span><span><span><strong>'
- .sprintf(_('a_download'),$_install_platform_string)
+ .sprintf(___('Download Now %s'),$_install_platform_string)
.'</strong></span></span></span>',
$login_url, $attributes, false, false);
$exp_addon_url = "/pages/faq#experimental-addons";
?>
</p>
- <?= sprintf(___('install_a_login_to_install'), $html->url($login_url), $html->url($exp_addon_url)); ?>
+ <?= sprintf(___('<a href="%1$s">Log in</a> to install this experimental add-on. <a href="%2$s">Why</a>?'), $html->url($login_url), $html->url($exp_addon_url)); ?>
</noscript>
</div>
<?php endif; ?>
<script type="text/javascript">
- installVersusDownloadCheck("<?=$installTriggerName?>", "<?=sprintf($buttonMessage, $_install_platform_string) ?>", "<?=sprintf(_('a_download'), $_install_platform_string)?>");
+ installVersusDownloadCheck("<?=$installTriggerName?>", "<?=sprintf($buttonMessage, $_install_platform_string) ?>", "<?=sprintf(___('Download Now %s'), $_install_platform_string)?>");
</script>
<?php
}
?>
<?php if (in_array('recommended', $flags)) { ?>
- <strong><?=___('addon_listitem_flag_recommended')?></strong>
+ <strong><?=___('recommended')?></strong>
<?php } else if (in_array('experimental', $flags) && $loggedin) { ?>
- <strong><?=_('addon_listitem_flag_experimental')?></strong>
+ <strong><?=___('experimental')?></strong>
<?php }
-
+
// If we're looking at thunderbird pages, and there is no EULA, show the TB
// install instructions. Bug 401272 fixed the button so it downloads instead of
// installs, but it doesn't hurt to have these instructions still.
if ($annoying != Addon::CONTRIBUTIONS_ROADBLOCK && empty($addonEULA) && $showInstructions && (APP_ID == APP_THUNDERBIRD || APP_ID == APP_SUNBIRD)):
$installPopupName = "install-popup-" . $versionId;
if (APP_ID == APP_THUNDERBIRD):
- $installTitle = _('addons_install_in_thunderbird_title');
- $installBody = _('addons_install_in_thunderbird');
+ $installTitle = ___('How to Install in Thunderbird');
+ $installBody = ___('<ol><li>Download and save the file to your hard disk.</li><li>In Mozilla Thunderbird, open Add-ons from the Tools menu.</li><li>Click the Install button, and locate/select the file you downloaded and click "OK".</li></ol>');
elseif (APP_ID == APP_SUNBIRD):
- $installTitle = _('addons_install_in_sunbird_title');
- $installBody = _('addons_install_in_sunbird');
+ $installTitle = ___('How to Install in Sunbird');
+ $installBody = ___('<ol><li>Download and save the file to your hard disk.</li><li>In Mozilla Sunbird, open Add-ons from the Tools menu.</li><li>Click the Install button, and locate/select the file you downloaded and click "OK".</li></ol>');
endif;
?>
<div class="app_install">
diff --git a/site/app/views/elements/amo2009/new_indicator.thtml b/site/app/views/elements/amo2009/new_indicator.thtml
index 8f872ad..4b30c6d 100644
--- a/site/app/views/elements/amo2009/new_indicator.thtml
+++ b/site/app/views/elements/amo2009/new_indicator.thtml
@@ -37,4 +37,4 @@
* ***** END LICENSE BLOCK ***** */
?>
-<span class="new indicator"><?=___('addons_home_new_indicator')?></span>
+<span class="new indicator"><?=___('NEW!')?></span>
diff --git a/site/app/views/elements/amo2009/pagination.thtml b/site/app/views/elements/amo2009/pagination.thtml
index dd03402..42620e4 100644
--- a/site/app/views/elements/amo2009/pagination.thtml
+++ b/site/app/views/elements/amo2009/pagination.thtml
@@ -38,8 +38,8 @@
?>
<?php if($pagination->setPaging($paging)):
- $prev = $pagination->prevPage(___('amo2009_pagination_previous_page'), false);
- $next = $pagination->nextPage(___('amo2009_pagination_next_page'), false);
+ $prev = $pagination->prevPage(___('Prev'), false);
+ $next = $pagination->nextPage(___('Next'), false);
$pages = $pagination->pageNumbers();
?>
<ol class="pagination">
diff --git a/site/app/views/elements/amo2009/results_addon.thtml b/site/app/views/elements/amo2009/results_addon.thtml
index 4f752e3..567d5e8 100644
--- a/site/app/views/elements/amo2009/results_addon.thtml
+++ b/site/app/views/elements/amo2009/results_addon.thtml
@@ -63,9 +63,9 @@ if (mb_strlen($addonSummary) > $desc_limit) {
// If the addon summary exceeds the display limit, cut it off before the
// last space-delimited word in the string and add an ellipsis linking to
// the full detail page. Would use TextHelper::truncate() here, but need
- // mb_* string functions.
+ // mb_* string functions.
- // mb_substr is used twice here, because mb_strrpos doesn't support
+ // mb_substr is used twice here, because mb_strrpos doesn't support
// offset in PHP 5.1.6 - first chop down to char limit, then chop down
// to end of last space-delimited word.
$addonSummary = mb_substr($addonSummary, 0, $desc_limit);
@@ -74,7 +74,7 @@ if (mb_strlen($addonSummary) > $desc_limit) {
}
// prepare alt and title text for preview image
-$_alt = sprintf(_('img_preview_of'), $addonName);
+$_alt = sprintf(___('Preview Image of %s'), $addonName);
$group = isset($group) ? $group : '';
$flags = array($group);
@@ -87,27 +87,27 @@ if (isset($addonStatus) && in_array($addonStatus, $experimental_status)) {
?>
<div class="<?=join(' ', $flags)?> item">
<h3>
- <a title="<?=___('addons_title_tooltip') ?>" href="<?=$html->url("/addon/{$addonId}")?>"><?=$addonName?></a>
- <span title="<?=___('addons_author_tooltip') ?>"><?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addonAuthors, 0);?></span>
- <a title="<?=___('addons_title_tooltip') ?>" href="<?=$html->url("/addon/{$addonId}")?>"><img src="<?=$addonIconPath?>" width="32" height="32" alt="<?=$_alt?>" title="<?=$_alt?>" class="icon"/></a>
+ <a title="<?=___('Learn more about this add-on') ?>" href="<?=$html->url("/addon/{$addonId}")?>"><?=$addonName?></a>
+ <span title="<?=___('View Author\'s Profile') ?>"><?=___('by')?> <?=$html->linkUsersFromModel($addonAuthors, 0);?></span>
+ <a title="<?=___('Learn more about this add-on') ?>" href="<?=$html->url("/addon/{$addonId}")?>"><img src="<?=$addonIconPath?>" width="32" height="32" alt="<?=$_alt?>" title="<?=$_alt?>" class="icon"/></a>
</h3>
-
+
<div class="item-info">
<?=$this->renderElement('amo2009/reviews', array('addon' => $addon))?>
- <span class="downloads"><strong><?=$html->number_format($addonWeeklyDownloads, 0)?></strong> <?=___('addon_downloads_weekly')?></span>
+ <span class="downloads"><strong><?=$html->number_format($addonWeeklyDownloads, 0)?></strong> <?=___('weekly downloads')?></span>
<p class="updated">
<?php
- $_update_string = ___('addon_detail_last_updated');
+ $_update_string = ___('Updated %s');
$_version_date = (isset($addonDateChanged) ? $addonDateChanged : $addonVersionCreated);
- echo sprintf($_update_string, strftime(_('date'), strtotime($_version_date)));
+ echo sprintf($_update_string, strftime(___('%B %e, %Y'), strtotime($_version_date)));
?>
</p>
<?=$this->renderElement('amo2009/install', array(
- 'flags' => $flags,
+ 'flags' => $flags,
'addon' => $addon
))?>
</div>
-
+
<blockquote cite="#"><p><?=$addonSummary?></p></blockquote>
</div>
@@ -116,19 +116,19 @@ if (isset($addonStatus) && in_array($addonStatus, $experimental_status)) {
<?php if (isset($addonFiles)): ?>
<p class="updated">
- <?php echo sprintf(___('addon_detail_last_updated'), strftime(_('date'), strtotime($addonVersionCreated))); ?>
+ <?php echo sprintf(___('Updated %s'), strftime(___('%B %e, %Y'), strtotime($addonVersionCreated))); ?>
</p>
<?=$this->renderElement('install',array(
'addonType' => $addonType
))?>
<?php else: ?>
-<p class="learn-more"><?=$html->link(_('feature_learnmore'), "/addon/{$addonId}",
- array('class'=>'view', 'title'=>sprintf(_('feature_learnmore_about_addon'), $addonName)))?></p>
+<p class="learn-more"><?=$html->link(___('Learn more'), "/addon/{$addonId}",
+ array('class'=>'view', 'title'=>sprintf(___('Learn more about %1$s'), $addonName)))?></p>
<?php endif; ?>
<?php if(!empty($addonCategories)): ?>
-<p class="more-from"><?=_('feature_view_more_from_category')?> <a href="<?=$html->url('/browse/type:'.$addonType.'/cat:'.$addonCategories[0]['Category']['id'])?>" class="view"><?=$addonCategories[0]['Translation']['name']['string']?></a></p>
+<p class="more-from"><?=___('View more from')?> <a href="<?=$html->url('/browse/type:'.$addonType.'/cat:'.$addonCategories[0]['Category']['id'])?>" class="view"><?=$addonCategories[0]['Translation']['name']['string']?></a></p>
<?php endif; ?>
<?php endif ?>
diff --git a/site/app/views/elements/amo2009/reviews.thtml b/site/app/views/elements/amo2009/reviews.thtml
index 0ec01bd..49e5241 100644
--- a/site/app/views/elements/amo2009/reviews.thtml
+++ b/site/app/views/elements/amo2009/reviews.thtml
@@ -55,7 +55,7 @@ $_url .= '#reviews'
?>
<?php if ($reviews > 0): ?>
<a href="<?=$_url?>">
- <?=sprintf(n___('feature_reviews', 'feature_reviews', $reviews),
+ <?=sprintf(n___('%1$s review', '%1$s reviews', $reviews),
'<strong>'.$reviews.'</strong>')?>
</a>
<?php endif; ?>
diff --git a/site/app/views/elements/amo2009/search.thtml b/site/app/views/elements/amo2009/search.thtml
index d25b64a..e8bee94 100644
--- a/site/app/views/elements/amo2009/search.thtml
+++ b/site/app/views/elements/amo2009/search.thtml
@@ -94,7 +94,7 @@ if(!isset($hver)) {
// AmoPlatforms is from controller->beforeRender()
array_shift($AmoPlatforms); // get rid of PLATFORM_ALL
-$platforms = array_merge(array(PLATFORM_ANY => ___('advanced_search_form_any_type')), $AmoPlatforms); //add semantically happy PLATFORM_ANY
+$platforms = array_merge(array(PLATFORM_ANY => ___('Any')), $AmoPlatforms); //add semantically happy PLATFORM_ANY
$pid = 0;
if (isset($this->params['pid'])
&& in_array($this->params['pid'], array_keys($platforms))) {
@@ -107,7 +107,7 @@ if (isset($this->params['pid'])
// goes to a static page and the latter is empty
array_pop($AmoAddonTypes);
array_pop($AmoAddonTypes);
-$addon_types = array_merge(array(ADDON_ANY => ___('advanced_search_form_any_type')), $AmoAddonTypes);
+$addon_types = array_merge(array(ADDON_ANY => ___('Any')), $AmoAddonTypes);
if (!isset($atype)) {
$atype = ADDON_ANY;
}
@@ -123,13 +123,13 @@ if (!isset($pp)) {
}
$updates = array(
- "" => ___('advanced_search_form_any_time'),
- '- INTERVAL 1 DAY' => ___('advanced_search_form_past_day'),
- '- INTERVAL 1 WEEK' => ___('advanced_search_form_past_week'),
- '- INTERVAL 1 MONTH' => ___('advanced_search_form_past_month'),
- '- INTERVAL 3 MONTH' => ___('advanced_search_form_past_3_months'),
- '- INTERVAL 6 MONTH' => ___('advanced_search_form_past_6_months'),
- '- INTERVAL 1 YEAR' => ___('advanced_search_form_past_year')
+ "" => ___('Any time'),
+ '- INTERVAL 1 DAY' => ___('Past Day'),
+ '- INTERVAL 1 WEEK' => ___('Past week'),
+ '- INTERVAL 1 MONTH' => ___('Past month'),
+ '- INTERVAL 3 MONTH' => ___('Past 3 months'),
+ '- INTERVAL 6 MONTH' => ___('Past 6 months'),
+ '- INTERVAL 1 YEAR' => ___('Past year')
);
$lup = "";
@@ -141,11 +141,11 @@ if (isset($this->params['lup'])
}
$sort_orders = array(
- '' => ___('advanced_search_form_keyword_match'),
- 'newest' => ___('advanced_search_form_newest'),
- 'name' => ___('advanced_search_form_name'),
- 'averagerating' => ___('advanced_search_form_rating'),
- 'weeklydownloads' => ___('advanced_search_form_popularity')
+ '' => ___('Keyword Match'),
+ 'newest' => ___('Newest'),
+ 'name' => ___('Name'),
+ 'averagerating' => ___('Rating'),
+ 'weeklydownloads' => ___('Popularity')
);
if (!isset($sort)) {
$sort = "";
@@ -182,11 +182,11 @@ if (!isset($category)) $category = array(0, 0);
<div class="search-form expanded-search-form">
<form method="get" action="<?=$html->url("/search")?>" id="search-form">
<div class="basic" id="search-query">
- <label for="query" class="query-label" title="<?=___('search_form_tooltip')?>"><?=($collectionSearch ? ___('search_form_default_text_collections', 'search for collections') : ___('search_form_default_text'))?></label>
+ <label for="query" class="query-label" title="<?=___('Click to enter search terms')?>"><?=($collectionSearch ? ___('search for collections') : ___('search for add-ons'))?></label>
<input id="query" type="text" title="search" name="q" value="<?=$query?>" />
- <label for="cat"><?=___('search_form_within')?></label>
+ <label for="cat"><?=___('within')?></label>
<select name="cat" id="cat">
- <option class="cat-all" value="all"<?=(!$collectionSearch && $category[0]==0 ? ' selected="selected"' : '')?>><?=_('search_form_all_addons')?></option>
+ <option class="cat-all" value="all"<?=(!$collectionSearch && $category[0]==0 ? ' selected="selected"' : '')?>><?=___('all add-ons')?></option>
<?php foreach ($AmoCategories as $AmoCategory): ?>
<?php
@@ -202,9 +202,9 @@ if (!isset($category)) $category = array(0, 0);
<option value="<?=$AmoCategory['type'].','.$AmoCategory['cat']?>"<?=$sel?>><?=$html->entities($AmoCategory['name'])?></option>
<?php endforeach; ?>
- <option class="cat-all" value="collections"<?=($collectionSearch ? ' selected="selected"' : '')?>><?=___('search_form_all_collections', 'all collections')?></option>
+ <option class="cat-all" value="collections"<?=($collectionSearch ? ' selected="selected"' : '')?>><?=___('all collections')?></option>
</select>
- <button type="submit"><img src="<?=$html->url('/img/amo2009/blank.gif', null, false, false)?>" alt="<?= ___('search_form_submit_tooltip') ?>"/></button>
+ <button type="submit"><img src="<?=$html->url('/img/amo2009/blank.gif', null, false, false)?>" alt="<?= ___('Search for add-ons') ?>"/></button>
</div>
<?=$two_form; ?>
@@ -221,17 +221,17 @@ if (!isset($category)) $category = array(0, 0);
<input type="hidden" id="vfuz" name="vfuz" value="false" />
<div class="container application">
- <label for="appid"><?=___('advanced_search_form_application', 'Application'); ?></label>
+ <label for="appid"><?=___('Application'); ?></label>
<?php $html->simpleSelectTag('appid', $applications, $appid, array(), array(), false)?>
</div>
<div class="container">
- <label for="lver"><?=___('advanced_search_form_version', 'version'); ?></label>
+ <label for="lver"><?=___('version'); ?></label>
<span id="lver-td"><input name="lver" type="text" size="5" maxlength="10" value="<?=$lver ?>" /></span>
</div>
<div class="container">
- <label for="hver"><?=___('advanced_search_form_to', 'to'); ?></label>
+ <label for="hver"><?=___('to'); ?></label>
<span id="hver-td"><input name="hver" type="text" size="5" maxlength="10" value="<?=$hver ?>" /></span>
</div>
@@ -239,29 +239,29 @@ if (!isset($category)) $category = array(0, 0);
<fieldset class="subsidiary">
<div class="container">
- <label for="atype"><?=___('advanced_search_form_type', 'Type'); ?></label>
+ <label for="atype"><?=___('Type'); ?></label>
<?php $html->simpleSelectTag('atype', $addon_types, $atype, array(), array(), false); ?>
</div>
<div class="container">
- <label for="pp"><?=___('advanced_search_form_perpage', 'Per Page'); ?></label>
+ <label for="pp"><?=___('Per Page'); ?></label>
<?php $html->simpleSelectTag('pp', $pages, $pp, array(), array(), false); ?>
</div>
<div class="container">
- <label for="pid"><?=___('advanced_search_form_platform', 'Platform'); ?></label>
+ <label for="pid"><?=___('Platform'); ?></label>
<?php $html->simpleSelectTag('pid', $platforms, $pid, array(), array(), false); ?>
</div>
<div class="container">
- <label for="sort"><?=___('advanced_search_form_sortby', 'Sort By'); ?></label>
+ <label for="sort"><?=___('Sort By'); ?></label>
<?php $html->simpleSelectTag('sort', $sort_orders, $sort, array(), array(), false); ?>
</div>
<div class="container">
- <label for="lup"><?=___('advanced_search_form_lastupdate', 'Last Updated'); ?></label>
+ <label for="lup"><?=___('Last Updated'); ?></label>
<?php $html->simpleSelectTag('lup', $updates, $lup, array(), array(), false); ?>
</div>
</fieldset>
</div>
- <div id="advanced-link" title="<?=___('advanced_search_form_toggle_tooltip');?>"><a href="<?=$toggle_uri; ?>"><?= ___('advanced_search_form') ?></a></div>
+ <div id="advanced-link" title="<?=___('Toggle advanced search mode');?>"><a href="<?=$toggle_uri; ?>"><?= ___('Advanced') ?></a></div>
</form>
<div id="search-bubble-inner"></div>
@@ -279,7 +279,7 @@ if (!isset($category)) $category = array(0, 0);
echo "\"{$version}\": \"{$version}\", ";
}
}
- echo "'".___('advanced_search_form_any_version')."' : 'any' };\n";
+ echo "'".___('Any')."' : 'any' };\n";
}
// to get default version value set up correctly needed to do after $appid, $lver and $hver set-up above in this element
@@ -387,7 +387,7 @@ if (!isset($category)) $category = array(0, 0);
var l = $("#search-query label[for=query]");
var c = $("#cat");
l.show();
- if ( q.val() == "<?=_('search_form_default_text')?>"){ //initially q is set to search add-ons text for javascriptless browsing
+ if ( q.val() == "<?=___('search for add-ons')?>"){ //initially q is set to search add-ons text for javascriptless browsing
q.val('');
}
if ( q.val() != "") { // if field has any value...
@@ -406,11 +406,11 @@ if (!isset($category)) $category = array(0, 0);
});
c.change(function() {
if (c.val() == "collections") {
- l.text("<?=___('search_form_default_text_collections', 'search for collections')?>");
+ l.text("<?=___('search for collections')?>");
// most advanced fields do not apply to collection search
$('select:not(#appid,#pp),input', $('#advanced-search')).attr('disabled', 'disabled');
} else {
- l.text("<?=_('search_form_default_text')?>");
+ l.text("<?=___('search for add-ons')?>");
$('select,input', $('#advanced-search')).attr('disabled', '');
}
});
diff --git a/site/app/views/elements/amo2009/separated_list_items.thtml b/site/app/views/elements/amo2009/separated_list_items.thtml
index 918a978..a9be61b 100644
--- a/site/app/views/elements/amo2009/separated_list_items.thtml
+++ b/site/app/views/elements/amo2009/separated_list_items.thtml
@@ -69,7 +69,7 @@
<?=$addon['Translation']['name']['string']?>
</a>
<span>
- <?=sprintf(___('collections_index_header_created'),
+ <?=sprintf(___('created by %1$s'),
$html->linkUsersFromModel($addon['User']))?>
</span>
</h4>
@@ -77,8 +77,8 @@
<?=$this->renderElement('amo2009/install', $element_params)?>
<p class="downloads">
<?php $downloads = $a['weeklydownloads']; ?>
- <?=sprintf(n___('collections_detail_weekly_downloads',
- 'collections_detail_weekly_downloads',
+ <?=sprintf(n___('%1$s download this week',
+ '%1$s downloads this week',
$downloads),
'<strong>'.$html->number_format($downloads).'</strong>')?>
</p>
@@ -96,16 +96,16 @@
</p>
<p>
<a href="<?=$addon_link?>">
- <?=___('collections_detail_a_learn')?>
+ <?=___('Learn More')?>
</a>
</p>
<?php
if (!empty($a['comment'])) {
echo '<blockquote class="publisher-comment">';
echo '<p>'.nl2br($a['comment']).'</p>';
- echo '<p class="by">'.sprintf(___('addon_reviewed_by_u_on_d'),
+ echo '<p class="by">'.sprintf(___('by %1$s on %2$s'),
$html->linkUserFromModel($a['publisher']),
- strftime(_('date'), strtotime($a['dateadded']))).'</p>';
+ strftime(___('%B %e, %Y'), strtotime($a['dateadded']))).'</p>';
echo '</blockquote>';
}
?>
diff --git a/site/app/views/elements/amo2009/stars.thtml b/site/app/views/elements/amo2009/stars.thtml
index 3c0b4b9..7e5c849 100644
--- a/site/app/views/elements/amo2009/stars.thtml
+++ b/site/app/views/elements/amo2009/stars.thtml
@@ -46,7 +46,7 @@ if (is_numeric($rating) && $rating > 0) {
} else {
$stars = ceil($rating);
}
- $msg = sprintf(_('stars_rated_x_outof_5'), $stars);
+ $msg = sprintf(___('Rated %s out of 5 stars'), $stars);
?>
<span class="stars stars-<?=$stars?>" title="<?=$msg?>">
<?=$msg?>
@@ -54,6 +54,6 @@ if (is_numeric($rating) && $rating > 0) {
<?php
} else {
?>
- <?=_('stars_not_yet_rated')?>
+ <?=___('Not yet rated')?>
<?php
}
diff --git a/site/app/views/elements/amo2009/teaser_collections.thtml b/site/app/views/elements/amo2009/teaser_collections.thtml
index d6f1e62..da25a3e 100644
--- a/site/app/views/elements/amo2009/teaser_collections.thtml
+++ b/site/app/views/elements/amo2009/teaser_collections.thtml
@@ -42,7 +42,7 @@
<div class="featured-inner">
<div class="teaser-header">
<ol>
- <li><a href="#t-introduction"><?=___('addons_home_introduction_name','Introduction')?></a></li>
+ <li><a href="#t-introduction"><?=___('Introduction')?></a></li>
<?php foreach($teaser_collections_categories as $id => $tc): ?>
<?php if (array_key_exists($id, $teaser_collection_promos)): ?>
<li><a href="#t-<?=$tc['title']?>"><?=$tc['title']?></a></li>
@@ -52,7 +52,7 @@
</div>
<ol class="teaser-items">
<li id="t-introduction">
- <h2><?=___('addons_home_introduction_header','What are Add-ons?')?></h2>
+ <h2><?=___('What are Add-ons?')?></h2>
<div class="column-wrapper">
<div class="first column">
@@ -86,13 +86,13 @@
<? $flags = array($html->byStatus($addon, array('experimental' => 'experimental', 'recommended' => 'recommended', 'default' => 'default'))); ?>
<div class="<?=(0==$idx)?'first ':''?>column">
<div class="column-inner item <?=join(' ', $flags)?>">
- <a title="<?=___('addons_title_tooltip') ?>"
+ <a title="<?=___('Learn more about this add-on') ?>"
href="<?=$html->url("/addon/{$addon['Addon']['id']}")?>">
<img src="<?=$this->controller->Image->getAddonIconURL($addon['Addon']['id'])?>"
alt="<?=$addon['Translation']['name']['string']?>"
width="32" height="32" class="icon" />
</a>
- <h3><a title="<?=___('addons_title_tooltip') ?>"
+ <h3><a title="<?=___('Learn more about this add-on') ?>"
href="<?=$html->url("/addon/{$addon['Addon']['id']}")?>"><?=$addon['Translation']['name']['string']?></a></h3>
<p><?=$html->truncateChars(80, $addon['Translation']['summary']['string'], true)?></p>
<p>
diff --git a/site/app/views/elements/amo2009/users/vcard.thtml b/site/app/views/elements/amo2009/users/vcard.thtml
index d909623..4774bcc 100644
--- a/site/app/views/elements/amo2009/users/vcard.thtml
+++ b/site/app/views/elements/amo2009/users/vcard.thtml
@@ -57,52 +57,51 @@ if (!isset($table_class)) {
?>
<div class="vcard">
- <table class="<?=$table_class?>" summary="<?=___('addon_developer_info_summary', 'Developer Information')?>">
+ <table class="<?=$table_class?>" summary="<?=___('Developer Information')?>">
<tbody>
<tr>
- <th><?=___('addon_developer_th_name')?></th>
+ <th><?=___('Name')?></th>
<td class="fn n"><?=$user['display_name']?></td>
</tr>
<? if (!empty($user['location'])): ?>
<tr>
- <th><?=___('addon_developer_th_location')?></th>
+ <th><?=___('Location')?></th>
<td class="adr"><?=$user['location']?></td>
</tr>
<? endif; ?>
<? if (!empty($user['occupation'])): ?>
<tr>
- <th><?=___('addon_developer_th_occupation')?></th>
+ <th><?=___('Occupation')?></th>
<td class="role"><?=$user['occupation']?></td>
</tr>
<? endif; ?>
<? if (!empty($user['homepage'])): ?>
<tr>
- <th><?=___('addon_developer_th_homepage')?></th>
+ <th><?=___('Homepage')?></th>
<td><a class="url" href="<?=$user['homepage']?>"><?=$user['homepage']?></a></td>
</tr>
<? endif; ?>
<?php if (!$user['emailhidden']): ?>
<tr>
- <th><?=___('addon_developer_th_email')?></th>
+ <th><?=___('Email address')?></th>
<td><a class="email" href="mailto:<?=$user['email']?>"><?=$user['email']?></a></td>
</tr>
<?php endif; ?>
<tr>
- <th><?=___('addon_developer_th_user_since')?></th>
- <td><?=strftime(_('date'), strtotime($user['created']))?></td>
+ <th><?=___('User since')?></th>
+ <td><?=strftime(___('%B %e, %Y'), strtotime($user['created']))?></td>
</tr>
<?php if ($about_addons): ?>
<tr>
- <th><?=___('addon_developer_th_num_addons')?></th>
+ <th><?=___('Number of Add-ons Developed')?></th>
<td>
<a href="<?=$html->url('/user/'.$user['id'])?>">
- <?=sprintf(n___('addon_developer_td_num_addons', 'addon_developer_td_num_addons', $user['num_valid_addons']),
- $user['num_valid_addons'])?>
+ <?=sprintf(n___('%1$s Add-on', '%1$s Add-ons', $user['num_valid_addons']), $user['num_valid_addons'])?>
</a>
</td>
</tr>
<tr>
- <th><?=___('addon_developer_th_rating')?></th>
+ <th><?=___('Average rating for their Add-ons')?></th>
<td><?=$this->renderElement('stars', array('rating' => $user['averagerating']))?></td>
</tr>
<?php endif; ?>
diff --git a/site/app/views/elements/app_chooser.thtml b/site/app/views/elements/app_chooser.thtml
index f1cb175..4eb3ee5 100644
--- a/site/app/views/elements/app_chooser.thtml
+++ b/site/app/views/elements/app_chooser.thtml
@@ -44,8 +44,8 @@ foreach (array_keys($app_shortnames) as $_app) {
$applist[] = '<li id="app-'.$_app.'"><a href="'.$html->url("/$_app/",false,true,false).'">'.$app_prettynames[$_app].'</a></li>';
}
?>
-<div id="other-apps" class="highlight" title="<?=___('other_apps_tooltip');?>">
- <h3><?=_('addons_home_other_applications')?></h3>
+<div id="other-apps" class="highlight" title="<?=___('Find add-ons for other applications');?>">
+ <h3><?=___('Other Applications')?></h3>
<ul id="nav-apps">
<?php foreach ($applist as $_app): ?>
<?=$_app?>
diff --git a/site/app/views/elements/app_compatibility.thtml b/site/app/views/elements/app_compatibility.thtml
index d41562d..2756956 100644
--- a/site/app/views/elements/app_compatibility.thtml
+++ b/site/app/views/elements/app_compatibility.thtml
@@ -45,7 +45,7 @@
?>
<div class="app_compat">
- <h5><?=_('addons_display_workswith')?></h5>
+ <h5><?=___('Works with:')?></h5>
<ul>
<?php foreach($compatible_apps as $app): ?>
<li><?=$this->renderElement('app_versions', array('app' => $app))?></li>
diff --git a/site/app/views/elements/categories.thtml b/site/app/views/elements/categories.thtml
index 7b9c338..4c41280 100644
--- a/site/app/views/elements/categories.thtml
+++ b/site/app/views/elements/categories.thtml
@@ -47,7 +47,7 @@ global $hybrid_categories;
?>
<div id="categories">
- <h3 title="<?=_('categories_header_title')?>"><span><?=_('categories_header')?></span></h3>
+ <h3 title="<?=___('Choose a category')?>"><span><?=___('Categories')?></span></h3>
<?php
if (isset($highlight) && !empty($highlight)) {
@@ -70,7 +70,7 @@ global $hybrid_categories;
$_url .= "/cat:{$highlight_cat['cat']}";
echo $html->link($highlight_cat['name'], $_url,
- array('title'=>_('categories_current_title')));
+ array('title'=>___('Current Category')));
// when appropriate, show sub-category
if ($highlight_cat['cat'] == 0 && $highlight[1] != 0
@@ -79,7 +79,7 @@ global $hybrid_categories;
echo $html->link($this_category['Translation']['name']['string'],
$_url."/cat:{$this_category['Category']['id']}",
- array('title'=>_('categories_current_title')));
+ array('title'=>___('Current Category')));
}
echo "</p>";
}
diff --git a/site/app/views/elements/collections_interactive_addon.thtml b/site/app/views/elements/collections_interactive_addon.thtml
index 3468e9d..23491df 100644
--- a/site/app/views/elements/collections_interactive_addon.thtml
+++ b/site/app/views/elements/collections_interactive_addon.thtml
@@ -59,7 +59,7 @@ if(isset($showDate) && $showDate == true) {
// prepare preview image
if (isset($addonPreviewPath) && !empty($addonPreviewPath)) {
- $_alt = sprintf(_('img_preview_of'),$addonName);
+ $_alt = sprintf(___('Preview Image of %s'),$addonName);
$previmg = '<img src="'.$addonPreviewPath.'" '
.'alt="'.$_alt.'" title="'.$_alt.'"/>';
$previmg = '<div class="preview-img">'
@@ -82,7 +82,7 @@ if (!isset($addonSummary) || empty($addonSummary))
<div class="item-desc">
<h4><?=$html->link("$icon <span>$addonName</span>", "/addon/{$addonID}");?></h4>
<?php if(isset($showDate) && $showDate == true){ ?>
- <p class="date-added"><?php echo sprintf(_('collections_interactive_addon_added'), strftime(_('date'), strtotime($addonDateAdded))); ?></p>
+ <p class="date-added"><?php echo sprintf(___('Added %s'), strftime(___('%B %e, %Y'), strtotime($addonDateAdded))); ?></p>
<?php } ?>
<p class="desc"><?=$addonSummary?> <?=$html->link('Learn more...', "/addon/{$addonID}")?></p>
diff --git a/site/app/views/elements/developers/actionbar.thtml b/site/app/views/elements/developers/actionbar.thtml
index 0420f06..7b87b54 100644
--- a/site/app/views/elements/developers/actionbar.thtml
+++ b/site/app/views/elements/developers/actionbar.thtml
@@ -39,16 +39,16 @@
<div class="action-bar actionbar <?=(!empty($disabled) && $disabled == 1 ? 'inactive' : 'active')?>">
<ul>
<?php if (!empty($revamp) && $revamp === true): ?>
- <li class="edit"><a href="<?=$html->url('/developers/addon/edit/'.$addon_id)?>" class="view"><?=_('devcp_actionbar_link_edit')?></a></li>
+ <li class="edit"><a href="<?=$html->url('/developers/addon/edit/'.$addon_id)?>" class="view"><?=___('Edit Add-on')?></a></li>
<li class="status"><a href="<?=$html->url('/developers/addon/status/'.$addon_id)?>" class="view">Change Status</a></li>
- <li class="statistics"><a href="<?=$html->url('/statistics/addon/'.$addon_id)?>" class="view"><?=_('devcp_actionbar_link_stats')?></a></li>
+ <li class="statistics"><a href="<?=$html->url('/statistics/addon/'.$addon_id)?>" class="view"><?=___('Statistics Dashboard')?></a></li>
<li class="versions"><a href="<?=$html->url('/developers/versions/'.$addon_id)?>" class="view">Versions and Files</a></li>
<?php else: ?>
- <li class="details active-only"><a href="<?=$html->url('/developers/details/'.$addon_id)?>" class="view"><?=_('devcp_actionbar_link_details')?></a></li>
+ <li class="details active-only"><a href="<?=$html->url('/developers/details/'.$addon_id)?>" class="view"><?=___('Detailed Info')?></a></li>
<li class="displaypage active-only"><a href="<?=$html->url('/addon/'.$addon_id)?>" class="view">View Listing</a></li>
- <li class="statistics"><a href="<?=$html->url('/statistics/addon/'.$addon_id)?>" class="view"><?=_('devcp_actionbar_link_stats')?></a></li>
- <li class="edit"><a href="<?=$html->url('/developers/edit/'.$addon_id)?>" class="view"><?=_('devcp_actionbar_link_edit')?></a></li>
- <li class="versions-add active-only"><a href="<?=$html->url('/developers/add/'.$addon_id)?>" class="view"><?=_('devcp_actionbar_link_newversion')?></a></li>
+ <li class="statistics"><a href="<?=$html->url('/statistics/addon/'.$addon_id)?>" class="view"><?=___('Statistics Dashboard')?></a></li>
+ <li class="edit"><a href="<?=$html->url('/developers/edit/'.$addon_id)?>" class="view"><?=___('Edit Add-on')?></a></li>
+ <li class="versions-add active-only"><a href="<?=$html->url('/developers/add/'.$addon_id)?>" class="view"><?=___('Upload New Version')?></a></li>
<?php endif; ?>
</ul>
</div>
diff --git a/site/app/views/elements/developers/additem.thtml b/site/app/views/elements/developers/additem.thtml
index 95451ca..c376d7e 100644
--- a/site/app/views/elements/developers/additem.thtml
+++ b/site/app/views/elements/developers/additem.thtml
@@ -38,19 +38,19 @@
?>
<div id="sidebar">
<div id="categories">
- <h3><span><?=_('devcp_additem_sidebar_title')?></span></h3>
+ <h3><span><?=___('Submit Add-on')?></span></h3>
<ul id="cat-list">
<?php
$items = array(
- 1 => _('devcp_additem_step1_link'),
- 2 => _('devcp_additem_step2_link'),
- 3 => _('devcp_additem_step3_link'),
- 4 => _('devcp_additem_step4_link'),
- 5 => _('devcp_additem_step5_link')
+ 1 => ___('Step 1: Upload'),
+ 2 => ___('Step 2: Add-on Details'),
+ 3 => ___('Step 3: Version Details'),
+ 4 => ___('Step 4: Localization'),
+ 5 => ___('Step 5: Success')
);
if ($newAddon == true) {
- $items[0] = _('devcp_additem_step0_newlink');
+ $items[0] = ___('Developer Agreement');
ksort($items);
}
foreach ($items as $number => $item) {
@@ -73,7 +73,7 @@
<?php
if ($step > 0 && $step < 5) {
echo '<div id="submissionHelp">';
- echo $html->link(_('devcp_additem_submissionhelp_link'), '/pages/submissionhelp#step'.$step, array('target' => '_blank', 'title' => _('devcp_additem_linktitle_opensin_newwindow')));
+ echo $html->link(___('Submission Help'), '/pages/submissionhelp#step'.$step, array('target' => '_blank', 'title' => ___('Opens in a new window')));
echo '</div>';
}
?>
diff --git a/site/app/views/elements/developers/editbox.thtml b/site/app/views/elements/developers/editbox.thtml
index f8640a0..dc6f4ff 100644
--- a/site/app/views/elements/developers/editbox.thtml
+++ b/site/app/views/elements/developers/editbox.thtml
@@ -39,34 +39,34 @@
<div class="pitch">
<h4><?=$html->link($addon_name, '/developers/dashboard#addon-'.$addon_id)?></h4>
<ul class="actionbar">
- <li class="displaypage"><?=$html->link(___('devcp_editbox_view_listing'), "/addon/{$addon_id}/")?></li>
- <li class="edit<?=($action == 'edit' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_edit_addon'), "/developers/addon/edit/{$addon_id}/")?></li>
+ <li class="displaypage"><?=$html->link(___('View Listing'), "/addon/{$addon_id}/")?></li>
+ <li class="edit<?=($action == 'edit' ? ' selected' : '')?>"><?=$html->link(___('Edit Add-on'), "/developers/addon/edit/{$addon_id}/")?></li>
<?php if ($action == 'edit'): ?>
<li class="container"><ul>
- <li class="edit-authors<?=($subaction == 'authors' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_authors'), "/developers/addon/edit/{$addon_id}/authors")?></li>
- <li class="edit-categories<?=($subaction == 'categories' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_categories'), "/developers/addon/edit/{$addon_id}/categories")?></li>
- <li class="edit-tags<?=($subaction == 'tags' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_tags'), "/developers/addon/edit/{$addon_id}/tags")?></li>
+ <li class="edit-authors<?=($subaction == 'authors' ? ' selected' : '')?>"><?=$html->link(___('Authors'), "/developers/addon/edit/{$addon_id}/authors")?></li>
+ <li class="edit-categories<?=($subaction == 'categories' ? ' selected' : '')?>"><?=$html->link(___('Categories'), "/developers/addon/edit/{$addon_id}/categories")?></li>
+ <li class="edit-tags<?=($subaction == 'tags' ? ' selected' : '')?>"><?=$html->link(___('Tags'), "/developers/addon/edit/{$addon_id}/tags")?></li>
- <li class="edit-descriptions<?=($subaction == 'descriptions' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_descriptions'), "/developers/addon/edit/{$addon_id}/descriptions")?></li>
- <li class="edit-properties<?=($subaction == 'properties' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_properties'), "/developers/addon/edit/{$addon_id}/properties")?></li>
+ <li class="edit-descriptions<?=($subaction == 'descriptions' ? ' selected' : '')?>"><?=$html->link(___('Descriptions'), "/developers/addon/edit/{$addon_id}/descriptions")?></li>
+ <li class="edit-properties<?=($subaction == 'properties' ? ' selected' : '')?>"><?=$html->link(___('Properties'), "/developers/addon/edit/{$addon_id}/properties")?></li>
<li class="edit-profile<?=($subaction == 'profile' ? ' selected' : '')?>">
<?=$this->renderElement('amo2009/new_indicator')?>
- <?=$html->link(___('devcp_editbox_profile'), "/developers/addon/edit/{$addon_id}/profile")?>
+ <?=$html->link(___('Developer Profile'), "/developers/addon/edit/{$addon_id}/profile")?>
</li>
<li class="edit-contributions<?=($subaction == 'contributions' ? ' selected' : '')?>">
<?=$this->renderElement('amo2009/new_indicator')?>
- <?=$html->link(___('devcp_editbox_contributions'), "/developers/addon/edit/{$addon_id}/contributions")?>
+ <?=$html->link(___('Contributions'), "/developers/addon/edit/{$addon_id}/contributions")?>
</li>
</ul></li>
<?php endif; ?>
- <li class="status<?=($action == 'status' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_change_status'), "/developers/addon/status/{$addon_id}/")?></li>
- <li class="statistics"><?=$html->link(___('devcp_editbox_statistics_dashboard'), "/statistics/addon/{$addon_id}/")?></li>
- <li class="versions<?=($action == 'versions' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_versions'), "/developers/versions/{$addon_id}/")?></li>
+ <li class="status<?=($action == 'status' ? ' selected' : '')?>"><?=$html->link(___('Change Status'), "/developers/addon/status/{$addon_id}/")?></li>
+ <li class="statistics"><?=$html->link(___('Statistics Dashboard'), "/statistics/addon/{$addon_id}/")?></li>
+ <li class="versions<?=($action == 'versions' ? ' selected' : '')?>"><?=$html->link(___('Versions and Files'), "/developers/versions/{$addon_id}/")?></li>
<?php if ($action == 'versions'): ?>
<li class="container"><ul>
- <li class="versions-add<?=($subaction == 'add' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_new_version'), "/developers/versions/add/{$addon_id}")?></li>
+ <li class="versions-add<?=($subaction == 'add' ? ' selected' : '')?>"><?=$html->link(___('New Version'), "/developers/versions/add/{$addon_id}")?></li>
</ul></li>
<?php endif; ?>
- <li class="previews<?=($action == 'previews' ? ' selected' : '')?>"><?=$html->link(___('devcp_editbox_screenshots'), "/developers/previews/{$addon_id}/")?></li>
+ <li class="previews<?=($action == 'previews' ? ' selected' : '')?>"><?=$html->link(___('Preview Screenshots'), "/developers/previews/{$addon_id}/")?></li>
</ul>
</div>
diff --git a/site/app/views/elements/developers/editors_comment_add_form.thtml b/site/app/views/elements/developers/editors_comment_add_form.thtml
index 0e75751..8fc25ed 100644
--- a/site/app/views/elements/developers/editors_comment_add_form.thtml
+++ b/site/app/views/elements/developers/editors_comment_add_form.thtml
@@ -43,10 +43,10 @@
*/
if ($is_subscribed) {
- $submit_value = ___('editors_review_submit_unsubscribe', 'Unsubscribe');
+ $submit_value = ___('Unsubscribe');
$action = '/editors/threadunsubscribe/';
} else {
- $submit_value = ___('editors_review_submit_subscribe', 'Subscribe');
+ $submit_value = ___('Subscribe');
$action = '/editors/threadsubscribe/';
}
?>
diff --git a/site/app/views/elements/developers/editors_review_history_item.thtml b/site/app/views/elements/developers/editors_review_history_item.thtml
index 350a9ca..7e98635 100644
--- a/site/app/views/elements/developers/editors_review_history_item.thtml
+++ b/site/app/views/elements/developers/editors_review_history_item.thtml
@@ -50,7 +50,7 @@ else
if (!empty($hist['Version'])) {
echo "{$hist['Version']['version']} ({$platforms[$hist['File']['platform_id']]})";
echo "<br />";
- echo $html->link(sprintf(ngettext('editors_review_history_comment_count', 'editors_review_history_comment_count', $hist['commentCount']), $hist['commentCount']), "/editors/review/{$hist['Version']['id']}#editorComments");
+ echo $html->link(sprintf(n___('Comments (%1$s)', 'Comments (%1$s)', $hist['commentCount']), $hist['commentCount']), "/editors/review/{$hist['Version']['id']}#editorComments");
}
?></td>
<td><?=$hist['Approval']['created']?></td>
@@ -65,31 +65,31 @@ else
<?php
if ($hist['Approval']['reviewtype'] == 'nominated') {
if ($hist['Approval']['action'] == STATUS_PUBLIC) {
- echo _('editors_review_history_nominated_approved');
+ echo ___('Nomination Approved/Public');
}
elseif ($hist['Approval']['action'] == STATUS_SANDBOX) {
- echo _('editors_review_history_nominated_denied');
+ echo ___('Nomination Denied/Sandbox');
}
elseif ($hist['Approval']['action'] == STATUS_NOMINATED) {
- echo _('editors_review_history_nominated_adminreview');
+ echo ___('Admin Review');
}
}
elseif ($hist['Approval']['reviewtype'] == 'pending') {
if ($hist['Approval']['action'] == STATUS_PUBLIC) {
- echo _('editors_review_history_pending_approved');
+ echo ___('Approved/Public');
}
elseif ($hist['Approval']['action'] == STATUS_SANDBOX) {
- echo _('editors_review_history_pending_denied');
+ echo ___('Denied/Sandbox');
}
elseif ($hist['Approval']['action'] == STATUS_PENDING) {
- echo _('editors_review_history_pending_adminreview');
+ echo ___('Admin Review');
}
}
elseif ($hist['Approval']['reviewtype'] == 'info') {
if (empty($hist['Approval']['reply_to']))
- echo ___('editors_review_history_info_request', 'Information Request');
+ echo ___('Information Request');
else
- echo ___('editors_review_history_info_reply', 'Reply');
+ echo ___('Reply');
}
?>
</td>
@@ -99,9 +99,8 @@ else
&& !empty($hist['replies'])):?>
<tr>
<td colspan="5">
- <?=$html->link(sprintf(n___('editors_review_history_show_hide_replies',
- 'editors_review_history_show_hide_replies', count($hist['replies']),
- 'Show/Hide Replies (%1$s)'), count($hist['replies'])), "#",
+ <?=$html->link(sprintf(n___('Show/Hide Replies (%1$s)',
+ 'Show/Hide Replies (%1$s)', count($hist['replies'])), count($hist['replies'])), "#",
array('onclick'=>"$('tr.reply_to_{$hist['Approval']['id']}').toggle();return false;"))?></td>
</tr>
<?php
diff --git a/site/app/views/elements/developers/editorsmenu.thtml b/site/app/views/elements/developers/editorsmenu.thtml
index 472ec1a..e9254a0 100644
--- a/site/app/views/elements/developers/editorsmenu.thtml
+++ b/site/app/views/elements/developers/editorsmenu.thtml
@@ -49,18 +49,18 @@ if (empty($mode)) {
<div id="sidebar">
<div id="categories">
- <h3><span><?=_('editorcp_menu_title')?></span></h3>
-
+ <h3><span><?=___('Editor Tools')?></span></h3>
+
<ul id="cat-list">
- <li<?=($page == 'summary') ? ' class="selected"' : ''?>><?=$html->link(_('editorcp_menu_summary_link'), '/editors/summary')?></li>
- <li<?=($mode == 'reviews') ? ' class="selected"' : ''?>><?=$html->link(sprintf(ngettext('devcp_editorsqueue_moderatedreviews', 'devcp_editorsqueue_moderatedreviews', $count['reviews']), $count['reviews']), '/editors/queue/reviews')?></li>
- <li<?=($mode == 'pending') ? ' class="selected"' : ''?>><?=$html->link(sprintf(ngettext('devcp_editorsqueue_pendingupdates', 'devcp_editorsqueue_pendingupdates', $count['pending']), $count['pending']), '/editors/queue/pending')?></li>
- <li<?=($mode == 'nominated') ? ' class="selected"' : ''?>><?=$html->link(sprintf(ngettext('devcp_editorsqueue_nominated', 'devcp_editorsqueue_nominated', $count['nominated']), $count['nominated']), '/editors/queue/nominated')?></li>
- <li<?=($mode == 'featured') ? ' class="selected"' : ''?>><?=$html->link(_('devcp_editorsqueue_featured'), '/editors/featured')?></li>
- <li<?=($page == 'logs') ? ' class="selected"' : ''?>><?=$html->link(_('editorcp_menu_eventlog_link'), '/editors/logs')?></li>
- <li<?=($page == 'reviewlog') ? ' class="selected"' : ''?>><?=$html->link(_('editorcp_menu_reviewlog_link'), '/editors/reviewlog')?></li>
- <li<?=($page == 'performance') ? ' class="selected"' : ''?>><?=$html->link(___('editorcp_menu_performance_link', 'Performance'), '/editors/performance')?></li>
- <li><?=$html->link(_('editorcp_menu_mainpage_link'), '/')?></li>
+ <li<?=($page == 'summary') ? ' class="selected"' : ''?>><?=$html->link(___('Editor Summary'), '/editors/summary')?></li>
+ <li<?=($mode == 'reviews') ? ' class="selected"' : ''?>><?=$html->link(sprintf(n___('Moderated Reviews (%s)', 'Moderated Reviews (%s)', $count['reviews']), $count['reviews']), '/editors/queue/reviews')?></li>
+ <li<?=($mode == 'pending') ? ' class="selected"' : ''?>><?=$html->link(sprintf(n___('Pending Updates (%s)', 'Pending Updates (%s)', $count['pending']), $count['pending']), '/editors/queue/pending')?></li>
+ <li<?=($mode == 'nominated') ? ' class="selected"' : ''?>><?=$html->link(sprintf(n___('Nominated Add-ons (%s)', 'Nominated Add-ons (%s)', $count['nominated']), $count['nominated']), '/editors/queue/nominated')?></li>
+ <li<?=($mode == 'featured') ? ' class="selected"' : ''?>><?=$html->link(___('Featured Add-ons'), '/editors/featured')?></li>
+ <li<?=($page == 'logs') ? ' class="selected"' : ''?>><?=$html->link(___('Event Log'), '/editors/logs')?></li>
+ <li<?=($page == 'reviewlog') ? ' class="selected"' : ''?>><?=$html->link(___('Review Log'), '/editors/reviewlog')?></li>
+ <li<?=($page == 'performance') ? ' class="selected"' : ''?>><?=$html->link(___('Performance'), '/editors/performance')?></li>
+ <li><?=$html->link(___('Back to Main'), '/')?></li>
</ul>
</div>
</div>
diff --git a/site/app/views/elements/developers/editorsqueue.thtml b/site/app/views/elements/developers/editorsqueue.thtml
index d3cb2cd..87b6734 100644
--- a/site/app/views/elements/developers/editorsqueue.thtml
+++ b/site/app/views/elements/developers/editorsqueue.thtml
@@ -39,8 +39,8 @@
<table id="tabTable">
<tr>
<td id="spacer"></h1></td>
- <td id="reviews"><div class="tab<?=($mode == 'reviews') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/queue/reviews')?>"><?=sprintf(ngettext('devcp_editorsqueue_moderatedreviews', 'devcp_editorsqueue_moderatedreviews', $count['reviews']), $count['reviews'])?></a></div></td>
- <td id="pending"><div class="tab<?=($mode == 'pending') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/queue/pending')?>"><?=sprintf(ngettext('devcp_editorsqueue_pendingupdates', 'devcp_editorsqueue_pendingupdates', $count['pending']), $count['pending'])?></a></div></td>
- <td id="nominated"><div class="tab<?=($mode == 'nominated') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/queue/nominated')?>"><?=sprintf(ngettext('devcp_editorsqueue_nominated', 'devcp_editorsqueue_nominated', $count['nominated']), $count['nominated'])?></a></div></td>
+ <td id="reviews"><div class="tab<?=($mode == 'reviews') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/queue/reviews')?>"><?=sprintf(n___('Moderated Reviews (%s)', 'Moderated Reviews (%s)', $count['reviews']), $count['reviews'])?></a></div></td>
+ <td id="pending"><div class="tab<?=($mode == 'pending') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/queue/pending')?>"><?=sprintf(n___('Pending Updates (%s)', 'Pending Updates (%s)', $count['pending']), $count['pending'])?></a></div></td>
+ <td id="nominated"><div class="tab<?=($mode == 'nominated') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/queue/nominated')?>"><?=sprintf(n___('Nominated Add-ons (%s)', 'Nominated Add-ons (%s)', $count['nominated']), $count['nominated'])?></a></div></td>
</tr>
</table>
diff --git a/site/app/views/elements/developers/license_picker.thtml b/site/app/views/elements/developers/license_picker.thtml
index c69efbc..158df11 100644
--- a/site/app/views/elements/developers/license_picker.thtml
+++ b/site/app/views/elements/developers/license_picker.thtml
@@ -39,7 +39,7 @@
* - $licenses: array to populate options (value => array(name, selected))
*/
?>
-<p><?php echo ___('devcp_uploader_please_choose') ?></p>
+<p><?php echo ___('Please Choose...') ?></p>
<ol id="license-name">
<?php foreach ($licenses as $val => $license):
$checked = $license['selected'] ? 'checked="checked"' : '';
@@ -48,7 +48,7 @@
<input type="radio" name="data[License][name]" value="<?php echo $val?>" id="license_<?php echo $val?>" <?php echo $checked ?>/>
<label for="license_<?php echo $val?>"><?php echo $license['name']?></label>&nbsp;
<?php if (strpos($val,'builtin_') === 0): ?>
- <a target="new" href="<?php echo $license['url'] ?>"><?php echo ___('devcp_view_license', 'View License'); ?></a>
+ <a target="new" href="<?php echo $license['url'] ?>"><?php echo ___('View License'); ?></a>
<?php endif ?>
</li>
<?php endforeach ?>
diff --git a/site/app/views/elements/developers/localebox.thtml b/site/app/views/elements/developers/localebox.thtml
index 6a52e9d..3d591a3 100644
--- a/site/app/views/elements/developers/localebox.thtml
+++ b/site/app/views/elements/developers/localebox.thtml
@@ -34,18 +34,18 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
if (!empty($step)) {
echo '<div id="translationBox">';
}
else {
echo '<div class="breaklessDivider"></div>';
echo '<div id="translationBox">';
- echo '<h3>'._('devcp_localebox_header_localizedfields').'</h3>';
+ echo '<h3>'.___('Localized Fields').'</h3>';
}
?>
<div id="localeIntro">
- <?=sprintf(_('devcp_localebox_intro'), $localebox['defaultLocale'])?>
+ <?=sprintf(___('Some of the fields on this page are localized to appear in the end-user\'s native language. Select a locale below to edit your add-on\'s details in that language. If a translation for a locale is not available, it will fall back to the selected default locale (%s).'), $localebox['defaultLocale'])?>
</div>
<div id="locale-box">
diff --git a/site/app/views/elements/developers/myaddons.thtml b/site/app/views/elements/developers/myaddons.thtml
index 51db5c8..8d5adc1 100644
--- a/site/app/views/elements/developers/myaddons.thtml
+++ b/site/app/views/elements/developers/myaddons.thtml
@@ -47,9 +47,9 @@
<div id="categories" class="secondary-item-list">
<?php if (!$this->controller->Session->check('User')): ?>
- <h4><?=$html->link(_('header_navlink_login'), $html->login_url())?></h4>
+ <h4><?=$html->link(___('Log in'), $html->login_url())?></h4>
<?php else: ?>
- <h4><?=$html->link(_('devcp_myaddons_link'), '/developers/index')?></h4>
+ <h4><?=$html->link(___('My Add-ons'), '/developers/index')?></h4>
<ul id="cat-list">
<?php
if (!empty($addons)) {
@@ -64,17 +64,17 @@
</div>
<div class="secondary-item-list">
- <h4><span><?=_('devcp_myaddons_title')?></span></h4>
+ <h4><span><?=___('Developer Tools')?></span></h4>
<ul class="">
- <li><?=$html->link(_('devcp_myaddons_submitaddon_link'), '/developers/addon/submit')?></li>
- <li><?=$html->link(_('devcp_myaddons_statistics_link'), '/statistics')?></li>
+ <li><?=$html->link(___('Submit Add-on'), '/developers/addon/submit')?></li>
+ <li><?=$html->link(___('Statistics Dashboard'), '/statistics')?></li>
<?php if ($this->controller->SimpleAcl->actionAllowed('Editors', '*', $this->controller->Session->read('User'))): ?>
- <li><?=$html->link(_('devcp_myaddons_editorcp_link'), '/editors')?></li>
+ <li><?=$html->link(___('Editor Tools'), '/editors')?></li>
<?php endif;
if ($this->controller->SimpleAcl->actionAllowed('Admin', '%', $this->controller->Session->read('User'))): ?>
- <li><?=$html->link(_('devcp_myaddons_admincp_link'), '/admin')?></li>
+ <li><?=$html->link(___('Admin Tools'), '/admin')?></li>
<?php endif; ?>
- <li><?=$html->link(_('devcp_myaddons_mainpage_link'), '/')?></li>
+ <li><?=$html->link(___('Back to Main'), '/')?></li>
</ul>
<?php endif; ?>
diff --git a/site/app/views/elements/developers/performanceheader.thtml b/site/app/views/elements/developers/performanceheader.thtml
index 5942ef6..f236c90 100644
--- a/site/app/views/elements/developers/performanceheader.thtml
+++ b/site/app/views/elements/developers/performanceheader.thtml
@@ -54,11 +54,11 @@
</form>
</div>
<?php endif; ?>
- <h3><?=sprintf(___('editorcp_performance_page_heading', 'Performance Report For %1$s'), $userName)?></h3>
+ <h3><?=sprintf(___('Performance Report For %1$s'), $userName)?></h3>
<table id="tabTable">
<tr>
- <td id="details"><div class="tab<?=($mode == '') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/performance'.($showUserLookup ? "?user={$user['User']['email']}" : ''))?>"><?=___('editorcp_performance_details', 'Details')?></a></div></td>
- <td id="charts"><div class="tab<?=($mode == 'charts') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/performance/charts'.($showUserLookup ? "?user={$user['User']['email']}" : ''))?>"><?=___('editorcp_performance_charts', 'Charts')?></a></div></td>
+ <td id="details"><div class="tab<?=($mode == '') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/performance'.($showUserLookup ? "?user={$user['User']['email']}" : ''))?>"><?=___('Details')?></a></div></td>
+ <td id="charts"><div class="tab<?=($mode == 'charts') ? ' selected' : ''?>"><a href="<?=$html->url('/editors/performance/charts'.($showUserLookup ? "?user={$user['User']['email']}" : ''))?>"><?=___('Charts')?></a></div></td>
</tr>
</table>
</div>
diff --git a/site/app/views/elements/developers/rolecheck.thtml b/site/app/views/elements/developers/rolecheck.thtml
index 93d46f7..fc2d4ea 100644
--- a/site/app/views/elements/developers/rolecheck.thtml
+++ b/site/app/views/elements/developers/rolecheck.thtml
@@ -39,7 +39,7 @@
if (empty($required_role) || (!empty($required_role) && $author_role < $required_role)):
?>
<div class="notice no-privs-box rounded">
- <?=___('devcp_rolecheck_no_privs')?>
+ <?=___('<span>You do not have sufficient privileges to make changes on this page.</span><br />Contact the Add-on Owner if you need to make changes.')?>
</div>
<?php
endif;
diff --git a/site/app/views/elements/developers/sidebar.thtml b/site/app/views/elements/developers/sidebar.thtml
index 2f4bc15..16e9eeb 100644
--- a/site/app/views/elements/developers/sidebar.thtml
+++ b/site/app/views/elements/developers/sidebar.thtml
@@ -45,11 +45,11 @@
?>
<div id="categories">
- <h3><span><?=_('devcp_myaddons_title')?></span></h3>
+ <h3><span><?=___('Developer Tools')?></span></h3>
<ul id="cat-list">
<?php if ($this->controller->Session->check('User')): ?>
- <li><?=$html->link(___('devcp_sidebar_a_dashboard'), '/developers/dashboard')?></li>
+ <li><?=$html->link(___('Dashboard'), '/developers/dashboard')?></li>
<?php
if (!empty($addons)) {
foreach ($addons as $addon_id => $addon_name) {
@@ -59,17 +59,17 @@
}
}
?>
- <li><?=$html->link(_('devcp_myaddons_submitaddon_link'), '/developers/addon/submit')?></li>
- <li><?=$html->link(_('devcp_myaddons_statistics_link'), '/statistics')?></li>
+ <li><?=$html->link(___('Submit Add-on'), '/developers/addon/submit')?></li>
+ <li><?=$html->link(___('Statistics Dashboard'), '/statistics')?></li>
<?php if ($this->controller->SimpleAcl->actionAllowed('Editors', '*', $this->controller->Session->read('User'))): ?>
- <li><?=$html->link(_('devcp_myaddons_editorcp_link'), '/editors')?></li>
+ <li><?=$html->link(___('Editor Tools'), '/editors')?></li>
<?php endif;
if ($this->controller->SimpleAcl->actionAllowed('Admin', '%', $this->controller->Session->read('User'))): ?>
- <li><?=$html->link(_('devcp_myaddons_admincp_link'), '/admin')?></li>
+ <li><?=$html->link(___('Admin Tools'), '/admin')?></li>
<?php endif; ?>
- <li><?=$html->link(_('devcp_myaddons_mainpage_link'), '/')?></li>
+ <li><?=$html->link(___('Back to Main'), '/')?></li>
<?php else: ?>
- <li><?=$html->link(_('header_navlink_login'), $html->login_url())?></li>
+ <li><?=$html->link(___('Log in'), $html->login_url())?></li>
<?php endif; ?>
</ul>
diff --git a/site/app/views/elements/developers/statsbar.thtml b/site/app/views/elements/developers/statsbar.thtml
index 2530a5c..2e203c0 100644
--- a/site/app/views/elements/developers/statsbar.thtml
+++ b/site/app/views/elements/developers/statsbar.thtml
@@ -38,10 +38,10 @@
?>
<div class="stats">
<?php
- echo sprintf(_('devcp_statsbar_total_downloads'), $html->number_format($addon['totaldownloads'], 0));
+ echo sprintf(___('<em>%s</em> Total Downloads'), $html->number_format($addon['totaldownloads'], 0));
echo '&nbsp;&middot;&nbsp;';
- echo sprintf(_('devcp_statsbar_weekly_downloads'), $html->number_format($addon['weeklydownloads'], 0));
+ echo sprintf(___('<em>%s</em> Weekly Downloads'), $html->number_format($addon['weeklydownloads'], 0));
echo '&nbsp;&middot;&nbsp;';
- echo sprintf(_('devcp_statsbar_adu'), $html->number_format($addon['updatepings'], 0));
+ echo sprintf(___('<em>%s</em> Active Daily Users'), $html->number_format($addon['updatepings'], 0));
?>
</div>
diff --git a/site/app/views/elements/developers/testresults.thtml b/site/app/views/elements/developers/testresults.thtml
index e83493b..becb738 100644
--- a/site/app/views/elements/developers/testresults.thtml
+++ b/site/app/views/elements/developers/testresults.thtml
@@ -42,14 +42,14 @@
<? if (!$validation_disabled) : ?>
<div class="action-button-container">
<a href="#" onclick="versions_validate.runTest(<?=$file['File']['id']?>); return false;" class="action-button rounded">
- <?= ___('devcp_versions_validate_button', 'Validate') ?>
+ <?= ___('Validate') ?>
</a>
<span class="tests-running loading-count">
- <?= ___('devcp_tests_running', 'Loading Results ...') ?>
+ <?= ___('Loading Results ...') ?>
</span>
</div>
<? else: ?>
- <?= ___('devcp_validation_disabled', 'Validation temporarily disabled, try again later') ?>
+ <?= ___('Validation temporarily disabled, try again later.') ?>
<? endif; ?>
<div id="test-details-<?=$file['File']['id']?>">
@@ -58,7 +58,7 @@
<?= $this->renderElement('developers/testresults_group', array('group' => $group, 'file' => $file)); ?>
<? endforeach; ?>
<? else : ?>
- <i><?=___('devcp_versions_validate_no_results', 'No test results found.')?></i>
+ <i><?=___('No test results found.')?></i>
<? endif; ?>
</div>
</div>
diff --git a/site/app/views/elements/developers/testresults_group.thtml b/site/app/views/elements/developers/testresults_group.thtml
index 32451af..d41bd01 100644
--- a/site/app/views/elements/developers/testresults_group.thtml
+++ b/site/app/views/elements/developers/testresults_group.thtml
@@ -36,10 +36,10 @@
*
* ***** END LICENSE BLOCK ***** */
-$group_class = '';
+$group_class = '';
if ($group['counts'][TEST_WARN] == 0 && $group['counts'][TEST_FAIL] == 0) {
- $group_class = 'passed';
-} else if ($group['counts'][TEST_FAIL] == 0) {
+ $group_class = 'passed';
+} else if ($group['counts'][TEST_FAIL] == 0) {
$group_class = 'warning';
} else {
$group_class = 'failed';
@@ -47,20 +47,20 @@ if ($group['counts'][TEST_WARN] == 0 && $group['counts'][TEST_FAIL] == 0) {
?>
<div class="test-heading" id="test-group-<?=$file['File']['id']?>-<?=$group['TestGroup']['id']?>">
<h4 class="<?=$group_class?>">
- <?=sprintf(n___('devcp_versions_validate_header_group', 'devcp_versions_validate_header_group', count($group['cases']), '%s results'), $group['TestGroup']['name'])?>
+ <?=sprintf(n___('%s result', '%s results', count($group['cases'])), $group['TestGroup']['name'])?>
</h4>
- <a href="#test-summary-<?=$file['File']['id']?>"><?=___('devcp_back_to_top', 'Back to Top')?></a>
+ <a href="#test-summary-<?=$file['File']['id']?>"><?=___('Back to Top')?></a>
</div>
<div id="test-details-<?=$file['File']['id']?>-<?=$group['TestGroup']['id']?>">
<? if (!empty($group['cases'])) : ?>
<div class="results-list <?=$group_class?>">
<? foreach ($group['cases'] as $case) : ?>
- <h5><?=$case['name']?> [<?=$html->link(___('devcp_validation_help', 'help'), '/pages/validation#help-'.$case['id'])?>]</h5>
+ <h5><?=$case['name']?> [<?=$html->link(___('help'), '/pages/validation#help-'.$case['id'])?>]</h5>
<ul class="test-results">
<? $resultNum = 0; ?>
<? if (!empty($case['results'])) : ?>
<? foreach ($case['results'] as $result) : ?>
- <?
+ <?
$resultNum++;
switch ($result['result']) {
case TEST_PASS:
@@ -85,7 +85,7 @@ if ($group['counts'][TEST_WARN] == 0 && $group['counts'][TEST_FAIL] == 0) {
<?=$result['message']?>
<? else: ?>
<?=$case['description']?>
- <? endif; ?>
+ <? endif; ?>
<? if (!empty($result['preview'])) : ?>
<div class="code">
<? foreach ($result['preview'] as $line => $code) : ?>
@@ -96,7 +96,7 @@ if ($group['counts'][TEST_WARN] == 0 && $group['counts'][TEST_FAIL] == 0) {
</li>
<? if ($resultNum == 3 && count($case['results']) > 3) : ?>
<li class="more">
- <a href="#" onclick="versions_validate.showMore($(this)); return false;" class="show-more-link"><?=sprintf(n___('devcp_more_validation_results', 'devcp_more_validation_results', count($case['results']) - 3, 'Show %d more result(s)'), count($case['results']) - 3)?></a>
+ <a href="#" onclick="versions_validate.showMore($(this)); return false;" class="show-more-link"><?=sprintf(n___('Show %1$s more result', 'Show %1$s more results', count($case['results']) - 3), count($case['results']) - 3)?></a>
</li>
<div class="hidden-results">
<? endif; ?>
@@ -109,9 +109,9 @@ if ($group['counts'][TEST_WARN] == 0 && $group['counts'][TEST_FAIL] == 0) {
<? endforeach; ?>
</div>
<? if ($group_class =='passed') : ?>
- <i><?= ___('devcp_all_tests_passed', 'All tests passed.') ?> <a href="#" onclick="versions_validate.showPasses($(this)); return false;"><?= n___('devcp_show_validation_passes', 'devcp_show_validation_passes', count($group['cases']), 'Show Pass(es)') ?></a></i>
+ <i><?= ___('All tests passed.') ?> <a href="#" onclick="versions_validate.showPasses($(this)); return false;"><?= n___('Show pass', 'Show passes', count($group['cases'])) ?></a></i>
<? endif; ?>
<? else: ?>
- <i><?= ___('devcp_versions_validate_no_results', 'No test results found.') ?></i>
+ <i><?= ___('No test results found.') ?></i>
<? endif; ?>
-</div> \ No newline at end of file
+</div>
diff --git a/site/app/views/elements/developers/testresults_header.thtml b/site/app/views/elements/developers/testresults_header.thtml
index 94225fd..2aaa04d 100644
--- a/site/app/views/elements/developers/testresults_header.thtml
+++ b/site/app/views/elements/developers/testresults_header.thtml
@@ -59,6 +59,6 @@
</li>
<? endforeach; ?>
<? else : ?>
- <i><?=___('devcp_versions_validate_no_results', 'No test results found.')?></i>
+ <i><?=___('No test results found.')?></i>
<? endif; ?>
</ul>
diff --git a/site/app/views/elements/developers/testresults_stats.thtml b/site/app/views/elements/developers/testresults_stats.thtml
index 4884b70..261bc76 100644
--- a/site/app/views/elements/developers/testresults_stats.thtml
+++ b/site/app/views/elements/developers/testresults_stats.thtml
@@ -35,44 +35,44 @@
* the terms of any one of the MPL, the GPL or the LGPL.
*
* ***** END LICENSE BLOCK ***** */
-?>
+?>
-<? if ($counts[TEST_FAIL] > 0) : ?>
+<? if ($counts[TEST_FAIL] > 0) : ?>
<span class="error-count">
<? if ($short) : ?>
<?= $counts[TEST_FAIL] ?>
<? else: ?>
- <?=sprintf(n___('devcp_validate_fail_count', 'devcp_validate_fail_count', $counts[TEST_FAIL], '%d error(s)'), $counts[TEST_FAIL]) ?>
+ <?=sprintf(n___('%1$s error', '%1$s errors', $counts[TEST_FAIL]), $counts[TEST_FAIL]) ?>
<? endif; ?>
</span>
<? if ($multiline) : ?>
<br/>
<? endif; ?>
<? endif; ?>
-<? if ($counts[TEST_WARN] > 0) : ?>
+<? if ($counts[TEST_WARN] > 0) : ?>
<span class="warning-count">
<? if ($short) : ?>
<?= $counts[TEST_WARN] ?>
<? else: ?>
- <?=sprintf(n___('devcp_validate_warn_count', 'devcp_validate_warn_count', $counts[TEST_WARN], '%d warning(s)'), $counts[TEST_WARN]) ?>
+ <?=sprintf(n___('%1$s warning', '%1$s warnings', $counts[TEST_WARN]), $counts[TEST_WARN]) ?>
<? endif; ?>
</span>
<? if ($multiline) : ?>
<br/>
<? endif; ?>
<? endif; ?>
-<? if ($counts[TEST_PASS] > 0) : ?>
+<? if ($counts[TEST_PASS] > 0) : ?>
<span class="pass-count">
<? if ($short) : ?>
<?= $counts[TEST_PASS] ?>
<? else: ?>
- <?=sprintf(n___('devcp_validate_pass_count', 'devcp_validate_pass_count', $counts[TEST_PASS], '%d pass(es)'), $counts[TEST_PASS]) ?>
+ <?=sprintf(n___('%1$s pass', '%1$s pass', $counts[TEST_PASS]), $counts[TEST_PASS]) ?>
<? endif; ?>
</span>
<? endif; ?>
-<? if ($counts == array(0,0,0)) : ?>
- <span><i><?=___('devcp_error_no_test_results', 'No test results found.')?></i></span>
+<? if ($counts == array(0,0,0)) : ?>
+ <span><i><?=___('No test results found.')?></i></span>
<? endif; ?>
<? if ($short) : ?>
- <span class="loading-count"><?=___('devcp_validate_running_test', 'Running test ...')?></span>
+ <span class="loading-count"><?=___('Running test...')?></span>
<? endif; ?>
diff --git a/site/app/views/elements/feature.thtml b/site/app/views/elements/feature.thtml
index 35c76b2..7435151 100644
--- a/site/app/views/elements/feature.thtml
+++ b/site/app/views/elements/feature.thtml
@@ -61,7 +61,7 @@
* - $compatible_apps
* - $addonType - default ADDON_EXTENSION
* - $buttonMessage - default 'a_install'
- *
+ *
*/
// Bug 444817: limit length of addon descriptions in feature elements.
@@ -70,9 +70,9 @@ if (mb_strlen($addonSummary) > $desc_limit) {
// If the addon summary exceeds the display limit, cut it off before the
// last space-delimited word in the string and add an ellipsis linking to
// the full detail page. Would use TextHelper::truncate() here, but need
- // mb_* string functions.
+ // mb_* string functions.
- // mb_substr is used twice here, because mb_strrpos doesn't support
+ // mb_substr is used twice here, because mb_strrpos doesn't support
// offset in PHP 5.1.6 - first chop down to char limit, then chop down
// to end of last space-delimited word.
$addonSummary = mb_substr($addonSummary, 0, $desc_limit);
@@ -81,29 +81,29 @@ if (mb_strlen($addonSummary) > $desc_limit) {
}
// prepare alt and title text for preview image
-$_alt = sprintf(_('img_preview_of'), $addonName);
+$_alt = sprintf(___('Preview Image of %s'), $addonName);
// is addon recommended or experimental?
global $experimental_status;
if (isset($addonStatus) && in_array($addonStatus, $experimental_status))
- $flag = _('addon_listitem_flag_experimental');
+ $flag = ___('experimental');
else
$flag = '';
?>
-<h4 class="name" title="<?=___('addons_title_tooltip') ?>"><a href="<?=$html->url("/addon/{$addonId}")?>"><img src="<?=$addonIconPath?>" width="32" height="32" alt="" class="icon"/><?=$addonName?></a></h4>
-<h5 class="author" title="<?=___('addons_author_tooltip') ?>"><?=_('addons_home_by')?> <?=$html->linkUsersFromModel($addonAuthors, 0);?></h5>
+<h4 class="name" title="<?=___('Learn more about this add-on') ?>"><a href="<?=$html->url("/addon/{$addonId}")?>"><img src="<?=$addonIconPath?>" width="32" height="32" alt="" class="icon"/><?=$addonName?></a></h4>
+<h5 class="author" title="<?=___('View Author\'s Profile') ?>"><?=___('by')?> <?=$html->linkUsersFromModel($addonAuthors, 0);?></h5>
<? if (!empty($flag)) echo '<h6 class="flag">'.$flag.'</h6>'; ?>
<p class="preview-img"><a href="<?=$html->url("/addon/{$addonId}")?>"><img src="<?=$addonThumbPath?>" alt="<?=$_alt?>" title="<?=$_alt?>"/></a></p>
<p class="desc"><?=$addonSummary?></p>
-<p class="rating"><?=$this->renderElement('stars',array('rating' => $addonRating))?><?php if ($addonReviews > 0) { ?> <a href="<?=$html->url('/addon/'.$addonId.'#reviews')?>"><?=sprintf(ngettext('feature_reviews','feature_reviews', $addonReviews), $addonReviews)?></a><?php } ?></p>
+<p class="rating"><?=$this->renderElement('stars',array('rating' => $addonRating))?><?php if ($addonReviews > 0) { ?> <a href="<?=$html->url('/addon/'.$addonId.'#reviews')?>"><?=sprintf(n___('%1$s review','%1$s reviews', $addonReviews), $addonReviews)?></a><?php } ?></p>
<p class="stats"><em><?=$html->number_format($addonWeeklyDownloads, 0)?></em>
-<?php echo ___('addon_downloads_weekly'); ?>
+<?php echo ___('weekly downloads'); ?>
</p>
<?php if (isset($addonFiles)): ?>
<p class="updated">
- <?php echo sprintf(___('addon_detail_last_updated'), strftime(_('date'), strtotime($addonVersionCreated))); ?>
+ <?php echo sprintf(___('Updated %s'), strftime(___('%B %e, %Y'), strtotime($addonVersionCreated))); ?>
</p>
<?=$this->renderElement('install',array(
@@ -119,11 +119,11 @@ else
'addonType' => $addonType
))?>
<?php else: ?>
-<p class="learn-more"><?=$html->link(_('feature_learnmore'), "/addon/{$addonId}",
- array('class'=>'view', 'title'=>sprintf(_('feature_learnmore_about_addon'), $addonName)))?></p>
+<p class="learn-more"><?=$html->link(___('Learn more'), "/addon/{$addonId}",
+ array('class'=>'view', 'title'=>sprintf(___('Learn more about %1$s'), $addonName)))?></p>
<?php endif; ?>
<?php if(!empty($addonCategories)): ?>
-<p class="more-from"><?=_('feature_view_more_from_category')?> <a href="<?=$html->url('/browse/type:'.$addonType.'/cat:'.$addonCategories[0]['Category']['id'])?>" class="view"><?=$addonCategories[0]['Translation']['name']['string']?></a></p>
+<p class="more-from"><?=___('View more from')?> <a href="<?=$html->url('/browse/type:'.$addonType.'/cat:'.$addonCategories[0]['Category']['id'])?>" class="view"><?=$addonCategories[0]['Translation']['name']['string']?></a></p>
<?php endif; ?>
diff --git a/site/app/views/elements/footer.thtml b/site/app/views/elements/footer.thtml
index 9b2f9a6..8586d05 100644
--- a/site/app/views/elements/footer.thtml
+++ b/site/app/views/elements/footer.thtml
@@ -47,7 +47,7 @@
<?php if (!isset($suppressLanguageSelector) || !$suppressLanguageSelector): ?>
<form id="footer-lang-form" method="get" action="">
<p>
- <label for="language"><?=_('footer_other_languages')?></label>
+ <label for="language"><?=___('Other languages:')?></label>
<select id="language" name="lang" dir="ltr" onchange="this.form.submit()">
<?php
// Retrieve language arrays from bootstrap.
@@ -58,22 +58,22 @@
}
?>
</select>
- <input class="hidden" type="submit" value="<?=_('footer_lang_form_lang_submit_go')?>"/>
+ <input class="hidden" type="submit" value="<?=___('Go')?>"/>
</p>
</form>
<?php endif; ?>
<div id="footer-legal">
- <p id="copyright"><?=_('footer_copyright')?> <span title="<?=php_uname('n')?>">&#169;</span> 2005&#8211;<?=date('Y')?> Mozilla. <?=_('footer_all_rights_reserved')?></p>
+ <p id="copyright"><?=___('Copyright')?> <span title="<?=php_uname('n')?>">&#169;</span> 2005&#8211;<?=date('Y')?> Mozilla. <?=___('All rights reserved.')?></p>
<ul id="nav-legal">
- <li><?=$html->link(_('footer_privacy_policy'), '/pages/privacy');?></li>
- <li><a href="http://www.mozilla.com/<?=LANG?>/about/legal.html"><?=_('footer_legal_notices')?></a></li>
- <?php if (!isset($suppressCredits) || !$suppressCredits): ?><li><?=$html->link(_('footer_credits'), '/pages/credits')?></li><?php endif; ?>
- <li><?=$html->link(___('footer_a_about'), '/pages/about')?></li>
- <li><?=$html->link('<abbr title="'.___('footer_abbr_faq').'">'.___('footer_a_faq').'</abbr>', '/pages/faq')?></li>
- <li><a href="http://blog.mozilla.com/addons"><?=___('footer_a_blog')?></a></li>
+ <li><?=$html->link(___('Privacy Policy'), '/pages/privacy');?></li>
+ <li><a href="http://www.mozilla.com/<?=LANG?>/about/legal.html"><?=___('Legal Notices')?></a></li>
+ <?php if (!isset($suppressCredits) || !$suppressCredits): ?><li><?=$html->link(___('Credits'), '/pages/credits')?></li><?php endif; ?>
+ <li><?=$html->link(___('About'), '/pages/about')?></li>
+ <li><?=$html->link('<abbr title="'.___('Frequently Asked Questions').'">'.___('FAQ').'</abbr>', '/pages/faq')?></li>
+ <li><a href="http://blog.mozilla.com/addons"><?=___('Blog')?></a></li>
</ul>
- <p id="footer-disclaimer"><?=_('footer_disclaimer')?></p>
+ <p id="footer-disclaimer"><?=___('Mozilla is providing links to these applications as a courtesy, and makes no representations regarding the applications or any information related there to. Any questions, complaints or claims regarding the applications must be directed to the appropriate software vendor.')?></p>
</div>
diff --git a/site/app/views/elements/header.thtml b/site/app/views/elements/header.thtml
index 9147b7d..c48a819 100644
--- a/site/app/views/elements/header.thtml
+++ b/site/app/views/elements/header.thtml
@@ -55,11 +55,11 @@
else
$url_format = "/status:%s";
if (isset($addonStatus) && $addonStatus == STATUS_SANDBOX) {
- $homeText = _('a_header_sandbox');
+ $homeText = ___('Sandbox');
$homeLink = "/addons/home/status:" . STATUS_SANDBOX;
}
else {
- $homeText = _('header_navlink_addons');
+ $homeText = ___('Add-ons');
$homeLink = "/";
}
@@ -72,31 +72,31 @@
}
}
$sandboxUrl = $publicUrl . sprintf($url_format, STATUS_SANDBOX);
- $sandboxUrl = $html->link(_('a_header_sandbox'), $sandboxUrl);
- $publicUrl = $html->link(_('a_header_public'), $publicUrl);
+ $sandboxUrl = $html->link(___('Sandbox'), $sandboxUrl);
+ $publicUrl = $html->link(___('Public'), $publicUrl);
if(isset($sandboxAccess) && $sandboxAccess && $this->controller->action != 'display') {
if ($addonStatus == STATUS_SANDBOX)
- $sandboxLink = "$publicUrl | "._('a_header_sandbox');
+ $sandboxLink = "$publicUrl | ".___('Sandbox');
else
- $sandboxLink = _('a_header_public')." | $sandboxUrl";
+ $sandboxLink = ___('Public')." | $sandboxUrl";
}
switch (APP_SHORTNAME) {
case 'firefox':
- $main_header = _('header_main_firefox_header');
+ $main_header = ___('Add-ons for Firefox');
break;
case 'seamonkey':
- $main_header = _('header_main_seamonkey_header');
+ $main_header = ___('SeaMonkey Add-ons');
break;
case 'sunbird':
- $main_header = _('header_main_sunbird_header');
+ $main_header = ___('Sunbird Add-ons');
break;
case 'thunderbird':
- $main_header = _('header_main_thunderbird_header');
+ $main_header = ___('Thunderbird Add-ons');
break;
default:
- $main_header = _('header_main_header');
+ $main_header = ___('Add-ons');
break;
}
?>
@@ -108,7 +108,7 @@
<div id="page-title" class="<?=APP_SHORTNAME?>">
<!-- Default header -->
<div>
- <h1><a href="<?=$html->url('/')?>" title="<?=sprintf(_('header_home_tooltip'), APP_PRETTYNAME)?>">
+ <h1><a href="<?=$html->url('/')?>" title="<?=sprintf(___('Return to the %1$s Add-ons homepage'), APP_PRETTYNAME)?>">
<?php echo $html->image('app-icons/'.APP_SHORTNAME.'.png', array('alt' => $main_header)); ?>
<?=$main_header?></a></h1>
<p class="page-intro"><?=$bigHeaderText?></p>
@@ -119,7 +119,7 @@
<div id="page-title" class="sub-page <?=LAYOUT_NAME?>">
<!-- Header for sub-pages -->
<div>
- <h1><a href="<?=$html->url('/')?>" title="<?=sprintf(_('header_home_tooltip'), APP_PRETTYNAME)?>">
+ <h1><a href="<?=$html->url('/')?>" title="<?=sprintf(___('Return to the %1$s Add-ons homepage'), APP_PRETTYNAME)?>">
<?php echo $html->image('app-icons/'.LAYOUT_NAME.'.png', array('alt' => $main_header)); ?>
<?php
if (LAYOUT_NAME == 'generic' || LAYOUT_NAME == 'developers') {
@@ -142,21 +142,21 @@
<?php
if ($this->controller->Session->check('User')) {
$user = $this->controller->Session->read('User');
- echo '<li>' . $html->link(_('header_navlink_myaccount'), '/users/edit', array('title' => $user['email'])) . '</li>' . "\n";
- echo '<li>' . $html->link(_('sidebar_navlink_developer_tools'), '/developers') . '</li>' . "\n";
+ echo '<li>' . $html->link(___('My Account'), '/users/edit', array('title' => $user['email'])) . '</li>' . "\n";
+ echo '<li>' . $html->link(___('Developer Tools'), '/developers') . '</li>' . "\n";
if ($this->controller->SimpleAcl->actionAllowed('Editors', '%', $this->controller->Session->read('User'))) {
- echo '<li>' . $html->link(_('sidebar_navlink_editor_tools'), '/editors') .'</li>' . "\n";
+ echo '<li>' . $html->link(___('Editor Tools'), '/editors') .'</li>' . "\n";
}
if ($this->controller->SimpleAcl->actionAllowed('Localizers', '%', $this->controller->Session->read('User'))) {
echo '<li>' . $html->link('Localizer Tools', '/localizers') . '</li>' . "\n";
}
if ($this->controller->SimpleAcl->actionAllowed('Admin', '%', $this->controller->Session->read('User'))) {
- echo '<li>' . $html->link(_('sidebar_navlink_admin_tools'), '/admin') . '</li>' . "\n";
+ echo '<li>' . $html->link(___('Admin Tools'), '/admin') . '</li>' . "\n";
}
- echo '<li>' . $html->link(_('header_navlink_logout'), $html->logout_url()) . '</li>' . "\n";
+ echo '<li>' . $html->link(___('Log out'), $html->logout_url()) . '</li>' . "\n";
} else {
- echo '<li>' . $html->link(_('header_navlink_register'), '/users/register') . '</li> ' . "\n";
- echo '<li>' . $html->link(_('header_navlink_login'), $html->login_url()) . '</li>' . "\n";
+ echo '<li>' . $html->link(___('Register'), '/users/register') . '</li> ' . "\n";
+ echo '<li>' . $html->link(___('Log in'), $html->login_url()) . '</li>' . "\n";
}
?>
</ul>
diff --git a/site/app/views/elements/install.thtml b/site/app/views/elements/install.thtml
index 1f9e80a..50e07e6 100644
--- a/site/app/views/elements/install.thtml
+++ b/site/app/views/elements/install.thtml
@@ -70,9 +70,9 @@ if (!isset($is_latest)) $is_latest = false;
/* "Install" for browser apps, "Download" for non-browser apps */
if (!isset($buttonMessage)) {
if (!in_array(APP_ID, $browser_apps)) {
- $buttonMessage = _('a_download');
+ $buttonMessage = ___('Download Now %s');
} else {
- $buttonMessage = sprintf(_('install_button_text'), APP_PRETTYNAME, "%s");
+ $buttonMessage = sprintf(___('Add to %1$s %2$s'), APP_PRETTYNAME, "%s");
}
}
@@ -91,7 +91,7 @@ if (empty($addonIconPath)) {
if (count($addonFiles) < 1) {
// This should never happen - this would mean the file didn't exist.
- echo '<p class="install-button">'._('install_error_addon_not_found').'</p>';
+ echo '<p class="install-button">'.___('This add-on is not available.').'</p>';
} else {
@@ -102,14 +102,14 @@ if (count($addonFiles) < 1) {
// installs, but it doesn't hurt to have these instructions still.
if (APP_ID == APP_THUNDERBIRD && empty($addonEULA) && $showInstructions) {
echo '<div class="app_install">';
- echo '<h3>'._('addons_install_in_thunderbird_title').'</h3>';
- echo _('addons_install_in_thunderbird');
+ echo '<h3>'.___('How to Install in Thunderbird').'</h3>';
+ echo ___('<ol><li>Download and save the file to your hard disk.</li><li>In Mozilla Thunderbird, open Add-ons from the Tools menu.</li><li>Click the Install button, and locate/select the file you downloaded and click "OK".</li></ol>');
echo '</div>';
}
if (APP_ID == APP_SUNBIRD && empty($addonEULA) && $showInstructions) {
echo '<div class="app_install">';
- echo '<h3>'._('addons_install_in_sunbird_title').'</h3>';
- echo _('addons_install_in_sunbird');
+ echo '<h3>'.___('How to Install in Sunbird').'</h3>';
+ echo ___('<ol><li>Download and save the file to your hard disk.</li><li>In Mozilla Sunbird, open Add-ons from the Tools menu.</li><li>Click the Install button, and locate/select the file you downloaded and click "OK".</li></ol>');
echo '</div>';
}
@@ -147,7 +147,7 @@ if (count($addonFiles) < 1) {
// prepare link options for browser apps
$linkOptions = array(
'id' => $installTriggerName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME),
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME),
'addonName' => $addonName,
'addonIcon' => $addonIconPath,
'addonHash' => $file['hash'],
@@ -156,13 +156,13 @@ if (count($addonFiles) < 1) {
} else {
// prepare link options for non-browser apps
$linkOptions = array('id' => $installTriggerName,
- 'title'=>sprintf(_('install_download'),$addonName));
+ 'title'=>sprintf(___('Download %1$s'),$addonName));
}
} else {
/* prepare link options for search engines */
$linkOptions = array(
'id' => $installTriggerName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME),
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME),
'engineURL' => FULL_BASE_URL . $html->urlFile($file['id'], $file['filename'], @$collection_uuid),
// search engines use a special install method
'jsInstallMethod' => 'search_engine_install',
@@ -178,7 +178,7 @@ if (count($addonFiles) < 1) {
INVALID_FILENAME_CHARS, '_', $html->unsanitize($file['filename'])));
// if this is the latest public version, use perma-URL. Otherwise, link directly to file.
- $linktitle = '<span><span><span><strong>'.sprintf(_('a_download'),$_install_platform_string).'</strong></span></span></span>';
+ $linktitle = '<span><span><span><strong>'.sprintf(___('Download Now %s'),$_install_platform_string).'</strong></span></span></span>';
if ($is_latest && $file['status'] == STATUS_PUBLIC) {
$latest_permalink = "/downloads/latest/{$addonId}";
if ($file['platform_id'] != PLATFORM_ALL) $latest_permalink .= "/platform:{$file['platform_id']}";
@@ -199,10 +199,10 @@ if (count($addonFiles) < 1) {
} else {
$eula_attributes = array('id' => $installTriggerName,
'addonName' => $addonName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME),
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME),
'isEULAPageLink' => 'true');
$install_button_html .= $html->link('<span><span><span><strong>'
- .sprintf(_('a_download'),$_install_platform_string)
+ .sprintf(___('Download Now %s'),$_install_platform_string)
.'</strong></span></span></span>',
"/addons/policy/0/{$addonId}/{$file['id']}",
$eula_attributes, false, false);
@@ -229,7 +229,7 @@ if (count($addonFiles) < 1) {
<input type="checkbox" name="confirm-<?= $addonId ?>" />
<div class="exp-desc">
<label for="exp-confirm-install-checkbox-<?=$addonId?>"></label>
- <span><?= sprintf(___('install_button_confirm_exp_install'), $html->url('/pages/faq#experimental-addons')) ?></span>
+ <span><?= sprintf(___('Let me install this experimental add-on. <a href="%1$s">What's this?</a>'), $html->url('/pages/faq#experimental-addons')) ?></span>
</div>
</div>
@@ -243,21 +243,21 @@ if (count($addonFiles) < 1) {
$login_url = $html->login_url('/'.LANG.'/'.APP_SHORTNAME."/addon/{$addonId}", false);
$attributes = array('id' => $installTriggerName,
'addonName' => $addonName,
- 'title' => sprintf(_('install_button_title'), $addonName, APP_PRETTYNAME));
+ 'title' => sprintf(___('Add %1$s to %2$s'), $addonName, APP_PRETTYNAME));
echo $html->link('<span><span><span><strong>'
- .sprintf(_('a_download'),$_install_platform_string)
+ .sprintf(___('Download Now %s'),$_install_platform_string)
.'</strong></span></span></span>',
$login_url, $attributes, false, false);
$exp_addon_url = "/pages/faq#experimental-addons";
?>
</p>
- <?= sprintf(___('install_a_login_to_install'), $html->url($login_url), $html->url($exp_addon_url)); ?>
+ <?= sprintf(___('<a href="%1$s">Log in</a> to install this experimental add-on. <a href="%2$s">Why</a>?'), $html->url($login_url), $html->url($exp_addon_url)); ?>
</noscript>
</div>
<?php endif; ?>
<script type="text/javascript">
- installVersusDownloadCheck("<?=$installTriggerName?>", "<?=sprintf($buttonMessage, $_install_platform_string) ?>", "<?=sprintf(_('a_download'), $_install_platform_string)?>");
+ installVersusDownloadCheck("<?=$installTriggerName?>", "<?=sprintf($buttonMessage, $_install_platform_string) ?>", "<?=sprintf(___('Download Now %s'), $_install_platform_string)?>");
</script>
<?php
}
diff --git a/site/app/views/elements/pagination.thtml b/site/app/views/elements/pagination.thtml
index 3745806..bb51346 100644
--- a/site/app/views/elements/pagination.thtml
+++ b/site/app/views/elements/pagination.thtml
@@ -49,8 +49,8 @@ if (!isset($countstring))
<?php
if($pagination->setPaging($paging)):
- $prev = $pagination->prevPage(_('pagination_previous_page'), false);
- $next = $pagination->nextPage(_('pagination_next_page'), false);
+ $prev = $pagination->prevPage(___('previous'), false);
+ $next = $pagination->nextPage(___('next'), false);
$pages = $pagination->pageNumbers();
?>
@@ -64,7 +64,7 @@ if($pagination->setPaging($paging)):
<?php endif; ?>
<?php if (!isset($show_perpage) || !$show_perpage): ?>
<p class="perpage">
- <?=$pagination->resultsPerPage('').' '._('addon_list_perpage');?>
+ <?=$pagination->resultsPerPage('').' '.___('per page');?>
</p>
<?php endif; /* show "per page"? */ ?>
<?php endif; /* paginated results? */ ?>
diff --git a/site/app/views/elements/pitch.thtml b/site/app/views/elements/pitch.thtml
index b7c96f0..4dbcac5 100644
--- a/site/app/views/elements/pitch.thtml
+++ b/site/app/views/elements/pitch.thtml
@@ -45,20 +45,20 @@
global $browser_apps;
if (in_array(APP_ID, $browser_apps)) {
$pitch_links = array(
- '/browse/type:'.ADDON_THEME.'/cat:all?sort=name' => _('sidebar_pitch_theme'),
- '/browse/type:'.ADDON_SEARCH.'/cat:all?sort=name' => _('sidebar_pitch_search'),
- '/browse/type:'.ADDON_DICT => _('sidebar_pitch_dictionary')
+ '/browse/type:'.ADDON_THEME.'/cat:all?sort=name' => ___('Theme'),
+ '/browse/type:'.ADDON_SEARCH.'/cat:all?sort=name' => ___('Search Plugin'),
+ '/browse/type:'.ADDON_DICT => ___('Dictionary')
);
} else {
$pitch_links = array(
- '/browse/type:'.ADDON_THEME.'/cat:all?sort=name' => _('sidebar_pitch_theme'),
- '/browse/type:'.ADDON_DICT => _('sidebar_pitch_dictionary')
+ '/browse/type:'.ADDON_THEME.'/cat:all?sort=name' => ___('Theme'),
+ '/browse/type:'.ADDON_DICT => ___('Dictionary')
);
}
?>
<div class="pitch">
- <h3><?=_('sidebar_pitch_looking_for')?></h3>
+ <h3><?=___('I am looking for a:')?></h3>
<ul>
<?php foreach ($pitch_links as $_url => $_text): ?>
<li><a href="<?=$html->url($_url)?>"><?=$_text?></a></li>
@@ -66,10 +66,10 @@ if (in_array(APP_ID, $browser_apps)) {
</ul>
<?php
// RSS links the hard way, bug 426541
- $subscribeHeader = ___('sidebar_pitch_subscribe_to');
- $newestLink = ___('sidebar_pitch_newest_addons');
- $updatedLink = ___('sidebar_pitch_updated_addons');
- $featuredLink = ___('sidebar_pitch_featured_addons');
+ $subscribeHeader = ___('Subscribe to');
+ $newestLink = ___('Newest Add-ons');
+ $updatedLink = ___('Updated Add-ons');
+ $featuredLink = ___('Featured Add-ons');
?>
<br/>
<h3><?=$subscribeHeader?></h3>
diff --git a/site/app/views/elements/recaptcha.thtml b/site/app/views/elements/recaptcha.thtml
index cade4a9..97807fd 100644
--- a/site/app/views/elements/recaptcha.thtml
+++ b/site/app/views/elements/recaptcha.thtml
@@ -80,7 +80,7 @@ if (isset($this->controller->Recaptcha) && $this->controller->Recaptcha->enabled
"javascript:Recaptcha.switch_type('image')")?>
</div>
<div id="recaptcha_image"></div>
- <div class="recaptcha_response"><?=___('recaptcha_enter_here', 'Enter your answer here:')?>
+ <div class="recaptcha_response"><?=___('Enter your answer here:')?>
<input type="text" id="recaptcha_response_field" name="recaptcha_response_field"/></div>
</div>
<script type="text/javascript" src="<?=$recaptcha_server?>/challenge?k=<?=RECAPTCHA_PUBLIC_KEY?>&lang=<?=$shortlang?>"></script>
diff --git a/site/app/views/elements/search.thtml b/site/app/views/elements/search.thtml
index b35eb2e..03d7500 100644
--- a/site/app/views/elements/search.thtml
+++ b/site/app/views/elements/search.thtml
@@ -93,7 +93,7 @@ if(!isset($hver)) {
// AmoPlatforms is from controller->beforeRender()
array_shift($AmoPlatforms); // get rid of PLATFORM_ALL
-$platforms = array_merge(array(PLATFORM_ANY => ___('advanced_search_form_any_type')), $AmoPlatforms); //add semantically happy PLATFORM_ANY
+$platforms = array_merge(array(PLATFORM_ANY => ___('Any')), $AmoPlatforms); //add semantically happy PLATFORM_ANY
$pid = 0;
if (isset($this->params['url']['pid'])
&& in_array($this->params['url']['pid'], array_keys($platforms))) {
@@ -106,7 +106,7 @@ if (isset($this->params['url']['pid'])
// goes to a static page and the latter is empty
array_pop($AmoAddonTypes);
array_pop($AmoAddonTypes);
-$addon_types = array_merge(array(ADDON_ANY => ___('advanced_search_form_any_type')), $AmoAddonTypes);
+$addon_types = array_merge(array(ADDON_ANY => ___('Any')), $AmoAddonTypes);
if (!isset($atype)) {
$atype = ADDON_ANY;
}
@@ -122,13 +122,13 @@ if (!isset($pp)) {
}
$updates = array(
- "" => ___('advanced_search_form_any_time'),
- '- INTERVAL 1 DAY' => ___('advanced_search_form_past_day'),
- '- INTERVAL 1 WEEK' => ___('advanced_search_form_past_week'),
- '- INTERVAL 1 MONTH' => ___('advanced_search_form_past_month'),
- '- INTERVAL 3 MONTH' => ___('advanced_search_form_past_3_months'),
- '- INTERVAL 6 MONTH' => ___('advanced_search_form_past_6_months'),
- '- INTERVAL 1 YEAR' => ___('advanced_search_form_past_year')
+ "" => ___('Any time'),
+ '- INTERVAL 1 DAY' => ___('Past Day'),
+ '- INTERVAL 1 WEEK' => ___('Past week'),
+ '- INTERVAL 1 MONTH' => ___('Past month'),
+ '- INTERVAL 3 MONTH' => ___('Past 3 months'),
+ '- INTERVAL 6 MONTH' => ___('Past 6 months'),
+ '- INTERVAL 1 YEAR' => ___('Past year')
);
$lup = "";
@@ -139,11 +139,11 @@ if (isset($this->params['url']['lup'])
}
$sort_orders = array(
- '' => ___('advanced_search_form_keyword_match'),
- 'newest' => ___('advanced_search_form_newest'),
- 'name' => ___('advanced_search_form_name'),
- 'averagerating' => ___('advanced_search_form_rating'),
- 'weeklydownloads' => ___('advanced_search_form_popularity')
+ '' => ___('Keyword Match'),
+ 'newest' => ___('Newest'),
+ 'name' => ___('Name'),
+ 'averagerating' => ___('Rating'),
+ 'weeklydownloads' => ___('Popularity')
);
if (!isset($sort)) {
$sort = "";
@@ -168,7 +168,7 @@ $toggle_uri = htmlspecialchars($toggle_uri);
// prepare query string
if (!isset($query) || !is_string($query))
- $query = _('search_form_default_text');
+ $query = ___('search for add-ons');
// prepare selected category, "all" if not set
if (!isset($category)) $category = array(0, 0);
@@ -180,11 +180,11 @@ if (!isset($category)) $category = array(0, 0);
<fieldset id="standard-search">
<legend>Standard Search</legend>
- <span id="search-query"><label for="query" title="<?=___('search_form_tooltip')?>"><?=___('search_form_default_text')?></label>
+ <span id="search-query"><label for="query" title="<?=___('Click to enter search terms')?>"><?=___('search for add-ons')?></label>
<input type="text" id="query" name="q" value="<?=$query?>"/></span>
- <label for="category"><?=___('search_form_within')?></label>
+ <label for="category"><?=___('within')?></label>
<select id="category" name="cat">
- <option value="all"<?=($category[0]==0 ? ' selected="selected"' : '')?>><?=_('search_form_all_addons')?></option>
+ <option value="all"<?=($category[0]==0 ? ' selected="selected"' : '')?>><?=___('all add-ons')?></option>
<?php
// AmoVersions is from controller->beforeRender()
foreach ($AmoCategories as $category):
@@ -199,7 +199,7 @@ if (!isset($category)) $category = array(0, 0);
?>
<option value="<?=$category['type'].','.$category['cat']?>"<?=$sel?>><?=$html->entities($category['name'])?></option>
<?php endforeach; ?>
- </select><?=$html->submit(" ", array('id'=>'my-submit', 'title' => ___('search_form_submit_tooltip'))); ?>
+ </select><?=$html->submit(" ", array('id'=>'my-submit', 'title' => ___('Search for add-ons'))); ?>
</fieldset>
<?=$two_form; ?>
<fieldset id="advanced-search" >
@@ -209,34 +209,34 @@ if (!isset($category)) $category = array(0, 0);
<input type="hidden" id="vfuz" name="vfuz" value="false" />
<table>
<tr>
- <td><?=___('advanced_search_form_application'); ?>:</td>
+ <td><?=___('Application'); ?>:</td>
<td><?php $html->simpleSelectTag('appid', $applications, $appid, array(), array(), false)?></td>
- <td><?=___('advanced_search_form_version'); ?></td><td id="lver-td">
+ <td><?=___('version'); ?></td><td id="lver-td">
<input name="lver" type="text" size="5" maxlength="10" value="<?=$lver ?>" /></td>
- <td><?=___('advanced_search_form_to'); ?></td><td id="hver-td">
+ <td><?=___('to'); ?></td><td id="hver-td">
<input name="hver" type="text" size="5" maxlength="10" value="<?=$hver ?>" /></td>
</tr>
</table>
</fieldset>
<fieldset id="search-platform">
<table>
- <tr><td><?=___('advanced_search_form_type'); ?>:</td><td><?php $html->simpleSelectTag('atype', $addon_types, $atype, array(), array(), false); ?></td></tr>
- <tr><td><?=___('advanced_search_form_platform'); ?>:</td><td><?php $html->simpleSelectTag('pid', $platforms, $pid, array(), array(), false); ?></td></tr>
- <tr><td><?=___('advanced_search_form_lastupdate'); ?>:</td><td><?php $html->simpleSelectTag('lup', $updates, $lup, array(), array(), false); ?></td></tr>
+ <tr><td><?=___('Type'); ?>:</td><td><?php $html->simpleSelectTag('atype', $addon_types, $atype, array(), array(), false); ?></td></tr>
+ <tr><td><?=___('Platform'); ?>:</td><td><?php $html->simpleSelectTag('pid', $platforms, $pid, array(), array(), false); ?></td></tr>
+ <tr><td><?=___('Last Updated'); ?>:</td><td><?php $html->simpleSelectTag('lup', $updates, $lup, array(), array(), false); ?></td></tr>
</table>
</fieldset>
<fieldset id="search-output">
<table>
- <tr><td><?=___('advanced_search_form_perpage'); ?>:</td><td><?php $html->simpleSelectTag('pp', $pages, $pp, array(), array(), false); ?></td></tr>
- <tr><td><?=___('advanced_search_form_sortby'); ?>:</td><td><?php $html->simpleSelectTag('sort', $sort_orders, $sort, array(), array(), false); ?></td></tr>
+ <tr><td><?=___('Per Page'); ?>:</td><td><?php $html->simpleSelectTag('pp', $pages, $pp, array(), array(), false); ?></td></tr>
+ <tr><td><?=___('Sort By'); ?>:</td><td><?php $html->simpleSelectTag('sort', $sort_orders, $sort, array(), array(), false); ?></td></tr>
</table>
</fieldset>
</fieldset>
</form>
</div>
-<div id="advanced-search-toggle" title="<?=___('advanced_search_form_toggle_tooltip');?>">
+<div id="advanced-search-toggle" title="<?=___('Toggle advanced search mode');?>">
<div></div>
- <span id="toggle-outer"><span id="toggle-inner"><!--[if IE]>&nbsp;<![endif]--></span><a id="advanced-search-toggle-link" href="<?=$toggle_uri; ?>" class="asclosed"><?php echo ___('advanced_search_form'); ?></a></span>
+ <span id="toggle-outer"><span id="toggle-inner"><!--[if IE]>&nbsp;<![endif]--></span><a id="advanced-search-toggle-link" href="<?=$toggle_uri; ?>" class="asclosed"><?php echo ___('Advanced'); ?></a></span>
</div>
</div>
<script type="text/javascript">
@@ -251,7 +251,7 @@ if (!isset($category)) $category = array(0, 0);
echo "\"{$version}\": \"{$version}\", ";
}
}
- echo "'".___('advanced_search_form_any_version')."' : 'any' };\n";
+ echo "'".___('Any')."' : 'any' };\n";
}
// to get default version value set up correctly needed to do after $appid, $lver and $hver set-up above in this element
diff --git a/site/app/views/elements/search_mini.thtml b/site/app/views/elements/search_mini.thtml
index 41a78fe..68217f1 100644
--- a/site/app/views/elements/search_mini.thtml
+++ b/site/app/views/elements/search_mini.thtml
@@ -40,18 +40,18 @@
<?php
// prepare query string
if (!isset($query) || !is_string($query))
- $query = _('search_form_default_text');
+ $query = ___('search for add-ons');
?>
<div id="search-mini">
<form id="" method="get" action="<?=$html->url("/search")?>">
<span id="search-query">
- <label for="query" title="<?=___('search_form_tooltip')?>"><?=___('search_form_default_text')?></label>
+ <label for="query" title="<?=___('Click to enter search terms')?>"><?=___('search for add-ons')?></label>
<input type="text" id="query" name="q" value="<?=$query?>"/>
</span>
- <label for="category"><?=___('search_form_within')?></label>
+ <label for="category"><?=___('within')?></label>
<select id="category" name="cat">
- <option value="all"<?=($category[0]==0 ? ' selected="selected"' : '')?>><?=_('search_form_all_addons')?></option>
+ <option value="all"<?=($category[0]==0 ? ' selected="selected"' : '')?>><?=___('all add-ons')?></option>
<?php
// AmoVersions is from controller->beforeRender()
foreach ($AmoCategories as $category):
@@ -67,6 +67,6 @@ if (!isset($query) || !is_string($query))
<option value="<?=$category['type'].','.$category['cat']?>"<?=$sel?>><?=$html->entities($category['name'])?></option>
<?php endforeach; ?>
</select>
- <button type="submit" id="search-mini-submit"><?= _('search'); ?></button>
+ <button type="submit" id="search-mini-submit"><?= ___('Search'); ?></button>
</form>
</div> \ No newline at end of file
diff --git a/site/app/views/elements/stars.thtml b/site/app/views/elements/stars.thtml
index ef71844..5fe1069 100644
--- a/site/app/views/elements/stars.thtml
+++ b/site/app/views/elements/stars.thtml
@@ -51,7 +51,7 @@ if (is_numeric($rating) && $rating > 0) {
$stars = ceil($rating);
}
-$msg = sprintf(_('stars_rated_x_outof_5'), $stars);
+$msg = sprintf(___('Rated %s out of 5 stars'), $stars);
?>
<img src="<?=$html->urlImage("/ratings/{$stars}stars.png")?>" width="68" height="12" alt="" title="<?=$msg?>"/>
@@ -60,7 +60,7 @@ $msg = sprintf(_('stars_rated_x_outof_5'), $stars);
} else {
?>
-<?=_('stars_not_yet_rated')?>
+<?=___('Not yet rated')?>
<?php
}
diff --git a/site/app/views/elements/translationbox.thtml b/site/app/views/elements/translationbox.thtml
index 09de259..bb143fe 100644
--- a/site/app/views/elements/translationbox.thtml
+++ b/site/app/views/elements/translationbox.thtml
@@ -65,7 +65,7 @@ if (!isset($graybox) || $graybox === true) {
} else {
echo '<div class="translation-box'.(isset($extraclass)?' '.$extraclass:'').'">';
}
- echo (!empty($displayName) ? '<h4><a href="#" title="'.___('devcp_transbox_a_title_help').'" onclick="translation_box.showHelp(this); return false;">'.$html->image('developers/help.png', array('alt' => ___('devcp_transbox_alt_help'))).'</a>'.$displayName.' </h4>' : '');
+ echo (!empty($displayName) ? '<h4><a href="#" title="'.___('Help (does not leave page)').'" onclick="translation_box.showHelp(this); return false;">'.$html->image('developers/help.png', array('alt' => ___('Help'))).'</a>'.$displayName.' </h4>' : '');
echo (!empty($description) ? "<p>{$description}</p>" : '');
?>
<div class="translation-row">
@@ -82,8 +82,8 @@ if (!isset($graybox) || $graybox === true) {
}
?>
</div>
- <div class="translation-button"><?=$html->image('developers/tab_add.png', array('onclick' => 'translation_box.addTab(this);', 'alt' => ___('devcp_transbox_img_add_trans'), 'title' => ___('devcp_transbox_img_add_trans')))?></div>
- <div class="translation-button remove" style="display: none;"><?=$html->image('developers/tab_delete.png', array('onclick' => 'translation_box.confirmRemove(this);', 'alt' => ___('devcp_transbox_img_remove_trans'), 'title' => ___('devcp_transbox_img_remove_trans')))?></div>
+ <div class="translation-button"><?=$html->image('developers/tab_add.png', array('onclick' => 'translation_box.addTab(this);', 'alt' => ___('Add Translation'), 'title' => ___('Add Translation')))?></div>
+ <div class="translation-button remove" style="display: none;"><?=$html->image('developers/tab_delete.png', array('onclick' => 'translation_box.confirmRemove(this);', 'alt' => ___('Remove Translation'), 'title' => ___('Remove Translation')))?></div>
</div>
<div class="translation-area" table="<?=$this->translationBox['table']?>" field="<?=$field?>" defaultLocale="<?=$this->translationBox['defaultLocale']?>"<?=(!empty($id) ? ' itemID="'.$id.'"' : '')?>>
<?php
@@ -98,7 +98,7 @@ if (!isset($graybox) || $graybox === true) {
}
if (!empty($maxLength)) {
- echo '<div class="translation-maxlength '.$locale.($this->translationBox['defaultLocale'] == $locale ? ' selected' : '').'">'.$html->image('developers/exclamation.png', array('alt' => '')).sprintf(___('devcp_transbox_chars_used'), '<span>'.strlen($translation).'</span>', $maxLength).'</div>';
+ echo '<div class="translation-maxlength '.$locale.($this->translationBox['defaultLocale'] == $locale ? ' selected' : '').'">'.$html->image('developers/exclamation.png', array('alt' => '')).sprintf(___('Characters used: %1$s / %2$s'), '<span>'.strlen($translation).'</span>', $maxLength).'</div>';
}
}
?>
@@ -110,7 +110,7 @@ if (!isset($graybox) || $graybox === true) {
<div class="translation-newlocale-container">
<div class="translation-newlocale new selected">
<div class="padded">
- <?=___('devcp_transbox_select_locale')?>
+ <?=___('Select the locale of the translation to add:')?>
<select>
<?php
foreach ($this->translationBox['languages'] as $code => $name) {
@@ -119,9 +119,9 @@ if (!isset($graybox) || $graybox === true) {
?>
</select>
<div class="buttons">
- <input type="button" value="<?=___('devcp_transbox_input_add_locale')?>" onclick="translation_box.addLocale(this, false);" />
- <input type="button" value="<?=___('devcp_transbox_input_add_all')?>" onclick="translation_box.addLocale(this, true);" />
- <input type="button" value="<?=___('devcp_transbox_input_cancel')?>" onclick="translation_box.cancelAdd(this);" />
+ <input type="button" value="<?=___('Add Locale')?>" onclick="translation_box.addLocale(this, false);" />
+ <input type="button" value="<?=___('Add Locale to All')?>" onclick="translation_box.addLocale(this, true);" />
+ <input type="button" value="<?=___('Cancel')?>" onclick="translation_box.cancelAdd(this);" />
</div>
</div>
</div>
@@ -129,10 +129,10 @@ if (!isset($graybox) || $graybox === true) {
<div class="translation-deletelocale-container">
<div class="translation-deletelocale">
<div class="padded">
- <?=___('devcp_transbox_delete_sure')?>
+ <?=___('Are you sure you wish to delete this translation?')?>
<div class="buttons">
- <input type="button" value="<?=___('devcp_transbox_input_delete')?>" onclick="translation_box.removeLocale(this);" />
- <input type="button" value="<?=___('devcp_transbox_input_cancel')?>" onclick="translation_box.cancelRemove(this);" />
+ <input type="button" value="<?=___('Delete It')?>" onclick="translation_box.removeLocale(this);" />
+ <input type="button" value="<?=___('Cancel')?>" onclick="translation_box.cancelRemove(this);" />
</div>
</div>
</div>
@@ -140,11 +140,11 @@ if (!isset($graybox) || $graybox === true) {
<div class="translation-help-container">
<div class="translation-help bluebox-tr"><div class="bluebox-tl">
<div class="padded">
- <h4><?=sprintf(___('devcp_transbox_help_header_tabs'), $this->translationBox['defaultLocale'])?></h4>
- <p><?=___('devcp_transbox_help_transbox')?></p>
- <h4><?=___('devcp_transbox_help_header_what')?></h4>
- <p><?=___('devcp_transbox_help_if')?>
- <div style="text-align: right;"><a href="#" onclick="translation_box.hideHelp(this); return false;"><?=___('devcp_transbox_help_hide')?></a></div></p>
+ <h4><?=sprintf(___('What are these %s tabs?'), $this->translationBox['defaultLocale'])?></h4>
+ <p><?=___('This is a <i>Translation Box</i>. It allows you to localize a specific field into any other languages for which you might have a translation. You can add, edit, and remove translations using the locale tabs.')?></p>
+ <h4><?=___('What if I don\'t have any translations?')?></h4>
+ <p><?=___('If a user browses the site and a translation isn\'t available in their own language, it will fall back to your add-on\'s Default Locale, specified in the Edit Add-on Properties area. If you don\'t have any translations, just enter what you can into your Default Locale, which should be a language you speak.')?>
+ <div style="text-align: right;"><a href="#" onclick="translation_box.hideHelp(this); return false;"><?=___('Hide Help')?></a></div></p>
</div>
<div class="bluebox-br"><div class="bluebox-bl"></div></div>
</div></div>
diff --git a/site/app/views/errors/error401.thtml b/site/app/views/errors/error401.thtml
index cb2763e..f1c6816 100644
--- a/site/app/views/errors/error401.thtml
+++ b/site/app/views/errors/error401.thtml
@@ -47,9 +47,9 @@
<div id="content-main">
-<h1><?=_('error_access_denied')?></h1>
+<h1><?=___('Access Denied')?></h1>
<br/>
-<p><?=_('error_access_denied_message')?></p>
+<p><?=___('You are not authorized to view this page.')?></p>
</div>
</div>
diff --git a/site/app/views/files/browse.thtml b/site/app/views/files/browse.thtml
index 766eb00..ea5070f 100644
--- a/site/app/views/files/browse.thtml
+++ b/site/app/views/files/browse.thtml
@@ -43,7 +43,7 @@
<?=$javascript->link('listing')?>
<?=$javascript->link('scriptaculous/prototype')?>
<?=$javascript->link('scriptaculous/scriptaculous.js')?>
- <title><?=sprintf(___('file_browser_title', '%s :: File Browser :: %s Add-ons'), $addonname, APP_PRETTYNAME)?></title>
+ <title><?=sprintf(___('%1$s :: File Browser :: %2$s Add-ons'), $addonname, APP_PRETTYNAME)?></title>
</head>
<body>
<?
@@ -61,11 +61,11 @@ $files['filename'] = 'extension.xpi';
</ul>
</div>
<div id="fileFooter">
- <?=($review == 1) ? $html->link(___('file_browser_link_review', 'Back to Review'), '/editors/review/'.$version) :
- $html->link(___('file_browser_link_addon', 'Back to Add-on'), '/addon/'.$addon)?>
+ <?=($review == 1) ? $html->link(___('Back to review'), '/editors/review/'.$version) :
+ $html->link(___('Back to add-on'), '/addon/'.$addon)?>
&nbsp;&middot;&nbsp;
- <?=$html->link(___('file_browser_link_expand_all', 'Expand All'), 'javascript: void(0);', array('onClick' => 'expandNodes();'))?>&nbsp;&middot;&nbsp;
- <?=$html->link(___('file_browser_toggle_expand_collapse', '+/-'), 'javascript: void(0);', array('onClick' => 'toggleFileListing();', 'id' => 'fileControl'))?>&nbsp;&nbsp;
+ <?=$html->link(___('Expand all'), 'javascript: void(0);', array('onClick' => 'expandNodes();'))?>&nbsp;&middot;&nbsp;
+ <?=$html->link(___('+/-'), 'javascript: void(0);', array('onClick' => 'toggleFileListing();', 'id' => 'fileControl'))?>&nbsp;&nbsp;
</div>
</div>
<script language="JavaScript" type="text/javascript">
diff --git a/site/app/views/helpers/addons_html.php b/site/app/views/helpers/addons_html.php
index d4bbfb3..6d6bd83 100644
--- a/site/app/views/helpers/addons_html.php
+++ b/site/app/views/helpers/addons_html.php
@@ -189,7 +189,7 @@ class AddonsHtmlHelper extends HtmlHelper
*/
function linkUserFromModel($userModel, $params = array('class'=>'profileLink')) {
if ($userModel['nickname'] == 'Deleted User') // XXX slightly ugly way of determining a deleted user
- $nickname = ___('user_deleted_nickname', 'Deleted User');
+ $nickname = ___('Deleted User');
else
$nickname = $userModel['nickname'];
return $this->linkUser($userModel['id'], $userModel['firstname'],
@@ -219,7 +219,7 @@ class AddonsHtmlHelper extends HtmlHelper
if ($showOthers) {
$text .= ', ';
- $_linktext = _('other_users');
+ $_linktext = ___('others');
if ($moreLink)
$text .= $this->link($_linktext, $moreLink);
else
@@ -568,9 +568,9 @@ class AddonsHtmlHelper extends HtmlHelper
function flag($addon, $default='') {
$flag = $this->byStatus($addon, array(
- 'experimental' => $this->link(___('addon_listitem_flag_experimental'),
+ 'experimental' => $this->link(___('experimental'),
'/pages/faq#experimental-addons'),
- 'recommended' => $this->link(___('addon_listitem_flag_recommended'),
+ 'recommended' => $this->link(___('recommended'),
'/pages/faq#recommended-addons'),
'default' => $default
));
diff --git a/site/app/views/helpers/localization.php b/site/app/views/helpers/localization.php
index 886a730..be6aff2 100644
--- a/site/app/views/helpers/localization.php
+++ b/site/app/views/helpers/localization.php
@@ -62,7 +62,7 @@ class LocalizationHelper extends Helper
$html = new AddonsHtmlHelper();
$formatted_no = $html->number_format($size, $decimals);
- return sprintf(_('size_kb'), $formatted_no);
+ return sprintf(___('%1$s KB'), $formatted_no);
}
}
?>
diff --git a/site/app/views/layouts/amo2009.thtml b/site/app/views/layouts/amo2009.thtml
index 9d27e26..0b90406 100644
--- a/site/app/views/layouts/amo2009.thtml
+++ b/site/app/views/layouts/amo2009.thtml
@@ -199,10 +199,10 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
<body id="mozilla-com" class="html-<?=TEXTDIR?> <?=APP_SHORTNAME?> <?= ($this->controller->Session->check('User')) ? 'user-login' : 'user-anon' ?><?= isset($bodyclass) ? ' ' . $bodyclass : '' ?>">
<ul id="nav-access" role="navigation">
- <li><a href="#content"><?=___('header_navaccess_main_content', 'Skip to main content')?></a></li>
- <li><a href="#search-form"><?=___('header_navaccess_search_form', 'Skip to search form')?></a></li>
- <li><a href="#categories"><?=___('header_navaccess_categories_menu', 'Skip to categories menu')?></a></li>
- <li><a href="#other-apps"><?=___('header_navaccess_applications_menu', 'Skip to other applications menu')?></a></li>
+ <li><a href="#content"><?=___('Skip to main content')?></a></li>
+ <li><a href="#search-form"><?=___('Skip to search form')?></a></li>
+ <li><a href="#categories"><?=___('Skip to categories menu')?></a></li>
+ <li><a href="#other-apps"><?=___('Skip to other applications menu')?></a></li>
</ul>
<?php if (is_object($this->controller->Config) && $this->controller->Config->getValue('site_notice') != ''): ?>
@@ -215,46 +215,46 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
switch (APP_SHORTNAME) {
case 'firefox':
$main_header = sprintf(
- ___('header_main_firefox_header_with_logo', 'Add-ons <em>for</em> <img src="%1$s" alt="Firefox" /> Firefox'),
+ ___('Add-ons <em>for</em> <img alt="Firefox" src="%1$s" /> <strong>Firefox</strong>'),
$html->url('/img/amo2009/app-icons/firefox.png', null, false, false)
);
break;
case 'seamonkey':
$main_header = sprintf(
- ___('header_main_seamonkey_header_with_logo', 'Add-ons <em>for</em> <img src="%1$s" alt="Seamonkey" /> Seamonkey'),
+ ___('Add-ons <em>for</em> <img alt="seamonkey" src="%1$s" /> <strong>SeaMonkey</strong>'),
$html->url('/img/amo2009/app-icons/seamonkey.png', null, false, false)
);
break;
case 'sunbird':
$main_header = sprintf(
- ___('header_main_sunbird_header_with_logo', 'Add-ons <em>for</em> <img src="%1$s" alt="Sunbird" /> Sunbird'),
+ ___('Add-ons <em>for</em> <img alt="sunbird" src="%1$s" /> <strong>Sunbird</strong>'),
$html->url('/img/amo2009/app-icons/sunbird.png', null, false, false)
);
break;
case 'thunderbird':
$main_header = sprintf(
- ___('header_main_thunderbird_header_with_logo', 'Add-ons <em>for</em> <img src="%1$s" alt="Thunderbird" /> Thunderbird'),
+ ___('Add-ons <em>for</em> <img alt="thunderbird" src="%1$s" /> <strong>Thunderbird</strong>'),
$html->url('/img/amo2009/app-icons/thunderbird.png', null, false, false)
);
break;
default:
$main_header = sprintf(
- ___('header_main_header_with_logo', 'Add-ons <img src="%1$s" alt="Add-ons" />'),
+ ___('Add-ons <img alt="Add-ons" src="%1$s" />'),
$html->url('/img/amo2009/app-icons/generic.png', null, false, false)
);
break;
}
?>
- <p id="title"><a href="<?=$html->url('/')?>" title="<?=sprintf(_('header_home_tooltip'), APP_PRETTYNAME)?>"><?= $main_header ?></a></p>
- <p id="brand"><a href="http://www.mozilla.com/<?=LANG?>/" title="<?=___('header_brand_name', 'Mozilla')?>" accesskey="1"><?=___('header_brand_name', 'Mozilla')?></a></p>
+ <p id="title"><a href="<?=$html->url('/')?>" title="<?=sprintf(___('Return to the %1$s Add-ons homepage'), APP_PRETTYNAME)?>"><?= $main_header ?></a></p>
+ <p id="brand"><a href="http://www.mozilla.com/<?=LANG?>/" title="<?=___('Mozilla')?>" accesskey="1"><?=___('Mozilla')?></a></p>
<?php if (isset($header_extra)) echo $header_extra ?>
<div id="aux-nav" role="navigation">
- <ul id="other-apps" class="change" title="<?=___('other_apps_tooltip');?>">
+ <ul id="other-apps" class="change" title="<?=___('Find add-ons for other applications');?>">
<li>
- <a href="#" class="controller"><?=_('addons_home_other_applications')?></a>
+ <a href="#" class="controller"><?=___('Other Applications')?></a>
<ul><?php
global $app_shortnames, $app_prettynames;
$applist = array();
@@ -275,7 +275,7 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
<?php if (!$this->controller->Session->check('User')): ?>
<p class="context">
<?= sprintf(
- ___('header_navlink_register_or_login', '<a href="%1$s">Register</a> or <a href="%2$s">Log in</a>'),
+ ___('<a href="%1$s">Register</a> or <a href="%2$s">Log in</a>'),
$html->url('/users/register', false), $html->url($html->login_url())
) ?>
</p>
@@ -283,19 +283,19 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
else:
$tools_links = array();
$user = $this->controller->Session->read('User');
- $tools_links[] = $html->link(_('sidebar_navlink_developer_tools'), '/developers');
+ $tools_links[] = $html->link(___('Developer Tools'), '/developers');
if ($this->controller->SimpleAcl->actionAllowed('Editors', '%', $this->controller->Session->read('User')))
- $tools_links[] = $html->link(_('sidebar_navlink_editor_tools'), '/editors');
+ $tools_links[] = $html->link(___('Editor Tools'), '/editors');
if ($this->controller->SimpleAcl->actionAllowed('Localizers', '%', $this->controller->Session->read('User')))
$tools_links[] = $html->link('Localizer Tools', '/localizers');
if ($this->controller->SimpleAcl->actionAllowed('Admin', '%', $this->controller->Session->read('User')))
- $tools_links[] = $html->link(_('sidebar_navlink_admin_tools'), '/admin');
+ $tools_links[] = $html->link(___('Admin Tools'), '/admin');
if (count($tools_links) > 1):
?>
<ul class="tools">
<li>
- <a href="#" class="controller"><?=___('header_navlink_tools', 'Tools')?></a>
+ <a href="#" class="controller"><?=___('Tools')?></a>
<ul>
<?php foreach ($tools_links as $_tl): ?>
<li><?=$_tl?></li>
@@ -309,9 +309,9 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
</p>
<?php endif; // more than one tools link ?>
<p class="context">
- <span class="greeting"><?=(!empty($welcomeName) ? sprintf(_('sidebar_navlink_welcome_name'), $welcomeName) : _('sidebar_navlink_welcome'))?></span>
- <?= $html->link(_('header_navlink_myaccount'), '/users/edit', array('class'=>'settings','title' => $user['email'])) ?>
- <?= $html->link(_('header_navlink_logout'), $html->logout_url()) ?>
+ <span class="greeting"><?=(!empty($welcomeName) ? sprintf(___('Welcome, %s'), $welcomeName) : ___('Welcome'))?></span>
+ <?= $html->link(___('My Account'), '/users/edit', array('class'=>'settings','title' => $user['email'])) ?>
+ <?= $html->link(___('Log out'), $html->logout_url()) ?>
</p>
<?php endif; // logged in ?>
@@ -329,7 +329,7 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
<?php if (!isset($suppressLanguageSelector) || !$suppressLanguageSelector): ?>
<form class="languages go" method="get" action="">
<div>
- <label for="language"><?=_('footer_other_languages')?></label>
+ <label for="language"><?=___('Other languages:')?></label>
<select id="language" name="lang" dir="ltr">
<?php
// Retrieve language arrays from bootstrap.
@@ -340,22 +340,22 @@ if(defined('SITE_STATE') && (SITE_STATE == 'production' || SITE_STATE == 'stagin
}
?>
</select>
- <button type="submit"><?=_('footer_lang_form_lang_submit_go')?></button>
+ <button type="submit"><?=___('Go')?></button>
</div>
</form>
<?php endif; ?>
- <p><strong><?=_('footer_copyright')?> <span title="<?=php_uname('n')?>">&#169;</span> 2005&#8211;<?=date('Y')?> Mozilla.</strong> <?=_('footer_all_rights_reserved')?></p>
+ <p><strong><?=___('Copyright')?> <span title="<?=php_uname('n')?>">&#169;</span> 2005&#8211;<?=date('Y')?> Mozilla.</strong> <?=___('All rights reserved.')?></p>
<ul>
- <li><?=$html->link(_('footer_privacy_policy'), '/pages/privacy');?></li>
- <li><a href="http://www.mozilla.com/<?=LANG?>/about/legal.html"><?=_('footer_legal_notices')?></a></li>
- <?php if (!isset($suppressCredits) || !$suppressCredits): ?><li><?=$html->link(_('footer_credits'), '/pages/credits')?></li><?php endif; ?>
- <li><?=$html->link(___('footer_a_about'), '/pages/about')?></li>
- <li><?=$html->link('<abbr title="'.___('footer_abbr_faq').'">'.___('footer_a_faq').'</abbr>', '/pages/faq')?></li>
- <li><a href="http://blog.mozilla.com/addons"><?=___('footer_a_blog')?></a></li>
+ <li><?=$html->link(___('Privacy Policy'), '/pages/privacy');?></li>
+ <li><a href="http://www.mozilla.com/<?=LANG?>/about/legal.html"><?=___('Legal Notices')?></a></li>
+ <?php if (!isset($suppressCredits) || !$suppressCredits): ?><li><?=$html->link(___('Credits'), '/pages/credits')?></li><?php endif; ?>
+ <li><?=$html->link(___('About'), '/pages/about')?></li>
+ <li><?=$html->link('<abbr title="'.___('Frequently Asked Questions').'">'.___('FAQ').'</abbr>', '/pages/faq')?></li>
+ <li><a href="http://blog.mozilla.com/addons"><?=___('Blog')?></a></li>
</ul>
- <p class="disclaimer"><?=_('footer_disclaimer')?></p>
+ <p class="disclaimer"><?=___('Mozilla is providing links to these applications as a courtesy, and makes no representations regarding the applications or any information related there to. Any questions, complaints or claims regarding the applications must be directed to the appropriate software vendor.')?></p>
</div>
<div class="secondary">
<img src="<?=$html->url('/img/amo2009/illustrations/logo-add-ons-half.png', null, false, false)?>" alt="" />
diff --git a/site/app/views/layouts/mozilla.thtml b/site/app/views/layouts/mozilla.thtml
index 380b2d0..d668fcf 100644
--- a/site/app/views/layouts/mozilla.thtml
+++ b/site/app/views/layouts/mozilla.thtml
@@ -185,7 +185,7 @@
var q = $("#query");
var l = $("#search-query label");
l.show();
- if ( q.val() == "<?=_('search_form_default_text')?>"){ //initially q is set to search add-ons text for javascriptless browsing
+ if ( q.val() == "<?=___('search for add-ons')?>"){ //initially q is set to search add-ons text for javascriptless browsing
q.val('');
}
if ( q.val() != "") { // if field has any value...
diff --git a/site/app/views/pages/appversions.thtml b/site/app/views/pages/appversions.thtml
index 400fc70..1209d41 100644
--- a/site/app/views/pages/appversions.thtml
+++ b/site/app/views/pages/appversions.thtml
@@ -76,21 +76,21 @@ foreach ($applications as $application) {
<?=$this->renderElement('amo2009/search')?>
<?php
- echo '<h1>'._('pages_appversions_header').'</h1>';
- echo '<p>'._('pages_appversions_intro').'</p>';
+ echo '<h1>'.___('Valid Application Versions').'</h1>';
+ echo '<p>'.___('Add-ons submitted to Mozilla Add-ons must have an install.rdf file with at least one of the below applications supported. Only the versions listed below are allowed for these applications.').'</p>';
foreach ($versions as $version) {
echo '<div>';
echo '<h3>'.
$html->image('app-icons/'.strtolower($version['name']).'_small.png', array('style' => 'vertical-align: middle; padding-right: 10px;')).
'<b>'.$version['name'].'</b></h3>';
echo '<ul>';
- echo '<li>'._('pages_appversions_guid').': '.$version['guid'].'</li>';
- echo '<li>'._('pages_appversions_versions').': '.implode(', ', $version['versions']);
+ echo '<li>'.___('GUID').': '.$version['guid'].'</li>';
+ echo '<li>'.___('Versions').': '.implode(', ', $version['versions']);
echo '</ul>';
echo '</div>';
}
- echo '<p>'.sprintf(_('pages_appversions_required_files'), $html->link(_('pages_appversions_required_files_link'), 'http://developer.mozilla.org/en/docs/Install_Manifests')).'</p>';
+ echo '<p>'.sprintf(___('If your supported application does not require an install.rdf file, you still must include one with the required properties as specified %s.'), $html->link(___('here'), 'http://developer.mozilla.org/en/docs/Install_Manifests')).'</p>';
?>
</div>
diff --git a/site/app/views/pages/collector.thtml b/site/app/views/pages/collector.thtml
index 9d29de4..a011cca 100644
--- a/site/app/views/pages/collector.thtml
+++ b/site/app/views/pages/collector.thtml
@@ -43,8 +43,8 @@ $params = array('addon' => $addon,
$_install_button = $this->renderElement('amo2009/install', $params);
$_breadcrumbs = array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
);
?>
@@ -66,5 +66,5 @@ $_breadcrumbs = array(
</div>
<div class="secondary" role="complementary">
- <?=$html->image('amo2009/illustrations/logo-collections-220x270.png', array('alt' => ___('collector_features_img_logo'), 'class' => 'scale'))?>
+ <?=$html->image('amo2009/illustrations/logo-collections-220x270.png', array('alt' => ___('Add-on Collector Logo'), 'class' => 'scale'))?>
</div>
diff --git a/site/app/views/pages/collector_faq.thtml b/site/app/views/pages/collector_faq.thtml
index 3d4f869..46de6ee 100644
--- a/site/app/views/pages/collector_faq.thtml
+++ b/site/app/views/pages/collector_faq.thtml
@@ -46,8 +46,8 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?php
$breadcrumbs = array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
);
?>
<?=$this->renderElement('amo2009/breadcrumbs', array('breadcrumbs' => $breadcrumbs))?>
@@ -58,7 +58,7 @@ $this->layout = 'amo2009';
<ul>
<li>
<a href="<?=$html->url('/pages/collector')?>">
- <?=___('collector_features_a_home')?>
+ <?=___('Add-on Collector Home')?>
</a>
</li>
</ul>
diff --git a/site/app/views/pages/collector_features.thtml b/site/app/views/pages/collector_features.thtml
index c934932..be8fd12 100644
--- a/site/app/views/pages/collector_features.thtml
+++ b/site/app/views/pages/collector_features.thtml
@@ -51,8 +51,8 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?php
$breadcrumbs = array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
);
?>
<?=$this->renderElement('amo2009/breadcrumbs', array('breadcrumbs' => $breadcrumbs))?>
@@ -64,12 +64,12 @@ $this->layout = 'amo2009';
<ul>
<li>
<a href="<?=$html->url('/pages/collector')?>">
- <?=___('collector_features_a_home')?>
+ <?=___('Add-on Collector Home')?>
</a>
</li>
<li>
<a href="<?=$html->url('/pages/collector_faq')?>">
- <?=___('footer_abbr_faq')?>
+ <?=___('Frequently Asked Questions')?>
</a>
</li>
</ul>
diff --git a/site/app/views/pages/collector_firstrun.thtml b/site/app/views/pages/collector_firstrun.thtml
index 0de7e22..dc83e6b 100644
--- a/site/app/views/pages/collector_firstrun.thtml
+++ b/site/app/views/pages/collector_firstrun.thtml
@@ -39,8 +39,8 @@
$this->layout = 'amo2009';
$breadcrumbs = array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/',
- ___('collections_breadcrumb') => '/collections'
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/',
+ ___('Collections') => '/collections'
);
// This code is a bit ugly because we need to work within the constraints of the pages controller.
// Build the collection menu here because we have access to the controllers we need.
@@ -61,7 +61,7 @@ $breadcrumbs = array(
if ($fav) {
continue;
}
- $text = ___('collections_detail_button_add');
+ $text = ___('Add to Favorites');
$_favorite_button = <<<FAVORITE_BUTTON
<form class="collector-firstrun-favorite favorite" method="post" action="{$subscribe_url}">
<div>
@@ -113,7 +113,7 @@ COLLECTION_GROUP;
</div>
<div class="secondary" role="complementary">
- <?=$html->image('amo2009/illustrations/logo-collections-220x270.png', array( 'class' => 'scale', 'alt' => ___('collector_features_img_logo')))?>
+ <?=$html->image('amo2009/illustrations/logo-collections-220x270.png', array( 'class' => 'scale', 'alt' => ___('Add-on Collector Logo')))?>
</div>
</div>
diff --git a/site/app/views/pages/credits.thtml b/site/app/views/pages/credits.thtml
index d8d05e5..7282a2b 100644
--- a/site/app/views/pages/credits.thtml
+++ b/site/app/views/pages/credits.thtml
@@ -96,49 +96,49 @@ ksort($other_contributors);
<div class="primary prose" role="main">
<?=$this->renderElement('amo2009/search')?>
-<?=_('credits_intro')?>
+<?=___('Mozilla would like to thank the following people for their contributions to the addons.mozilla.org project over the years:')?>
<br/><br/>
<div class="corner-box">
<?php
- echo '<h4>'._('credits_section_developers').'</h4>';
+ echo '<h4>'.___('Developers').'</h4>';
echo implode(', ', $developers);
?>
</div>
<div class="corner-box">
<?php
- echo '<h4>'._('credits_section_localizers').'</h4>';
+ echo '<h4>'.___('Localizers').'</h4>';
echo implode(', ', $localizers);
?>
</div>
<div class="corner-box">
<?php
- echo '<h4>'._('credits_section_editors').'</h4>';
+ echo '<h4>'.___('Editors').'</h4>';
echo implode(', ', $editors);
?>
</div>
<div class="corner-box">
<?php
- echo '<h4>'._('credits_section_other_contributors').'</h4>';
+ echo '<h4>'.___('Other Contributors').'</h4>';
echo implode(', ', $other_contributors);
?>
</div>
<div class="corner-box">
<?php
- echo '<h4>'._('credits_section_past_developers').'</h4>';
+ echo '<h4>'.___('Past Developers').'</h4>';
echo implode(', ', $past_developers);
?>
</div>
<div class="corner-box">
<?php
- echo '<h4>'._('credits_section_software').'</h4>';
+ echo '<h4>'.___('Software and Images').'</h4>';
?>
<ul>
- <li><?=_('credits_software_famfamfam')?></li>
- <li><?=___('credits_software_timeplot', 'Some pages use elements of <a href="http://www.simile-widgets.org/timeplot/">Timeplot</a>, licensed under a <a href="http://simile.mit.edu/license.html">BSD License</a>.')?></li>
+ <li><?=___('Some icons used are from the <a href="http://www.famfamfam.com/lab/icons/silk/">famfamfam Silk Icon Set</a>, licensed under a <a href="http://creativecommons.org/licenses/by/2.5/">Creative Commons Attribution 2.5 License</a>.')?></li>
+ <li><?=___('Some pages use elements of <a href="http://www.simile-widgets.org/timeplot/">Timeplot</a>, licensed under a <a href="http://simile.mit.edu/license.html">BSD License</a>.')?></li>
</ul>
</div>
<br/>
-<?=sprintf(_('credits_contributing'), $html->link(_('credits_contributing_wikipage'), 'http://wiki.mozilla.org/Update'))?>
+<?=sprintf(___('For information on contributing, please see our %s.'), $html->link(___('wiki page'), 'http://wiki.mozilla.org/Update'))?>
</div>
diff --git a/site/app/views/pages/js_constants.js.thtml b/site/app/views/pages/js_constants.js.thtml
index aca2ea9..c436fde 100644
--- a/site/app/views/pages/js_constants.js.thtml
+++ b/site/app/views/pages/js_constants.js.thtml
@@ -63,44 +63,44 @@ var APP_FENNEC = '<?=APP_FENNEC?>';
var KEYCODE_ENTER = 13;
<?php
$constants = array(
- 'addOnNotAvailableForPlatform' => ___('addon_not_available_for_platform'),
- 'error_opensearch_unsupported' => ___('addons_searchengines_error_mozilla_browser_required'),
+ 'addOnNotAvailableForPlatform' => ___('%1$s is not available for %2$s.'),
+ 'error_opensearch_unsupported' => ___('Sorry, you need a Mozilla-based browser (such as Firefox) to install a search plugin.'),
/* Fallback from 3/19/08 */
- 'app_compat_update_firefox' => ___('app_compat_update_firefox'),
- 'app_compat_try_old_version' => ___('app_compat_try_old_version'),
- 'app_compat_older_firefox_only' => ___('app_compat_older_firefox_only'),
- 'app_compat_unreleased_version' => ___('app_compat_unreleased_version'),
- 'app_compat_older_version_or_ignore_check' => ___('app_compat_older_version_or_ignore_check'),
+ 'app_compat_update_firefox' => ___('<a href="http://getfirefox.com">Upgrade Firefox</a> to use this add-on'),
+ 'app_compat_try_old_version' => ___('An <a href="%1$s">older version</a> may work'),
+ 'app_compat_older_firefox_only' => ___('This add-on is for older versions of Firefox'),
+ 'app_compat_unreleased_version' => ___('This add-on requires the not-yet released <a href="%1$s">Firefox %2$s</a>'),
+ 'app_compat_older_version_or_ignore_check' => ___('You can <a href="%1$s">try an older version</a> or <a href="#" onclick="%2$s">ignore this check</a>'),
/* developers.js */
- 'devcp_js_upload_alert' => ___('devcp_js_upload_alert'),
- 'addons_status_public' => ___('addons_status_public'),
- 'addons_status_sandbox' => ___('addons_status_sandbox'),
- 'addons_status_pending' => ___('addons_status_pending'),
- 'devcp_js_img_move_down' => ___('devcp_js_img_move_down'),
- 'devcp_js_img_move_up' => ___('devcp_js_img_move_up'),
- 'devcp_js_option_owner' => ___('devcp_js_option_owner'),
- 'devcp_js_option_developer' => ___('devcp_js_option_developer'),
- 'devcp_js_option_viewer' => ___('devcp_js_option_viewer'),
- 'devcp_js_input_list_author' => ___('devcp_js_input_list_author'),
- 'devcp_js_sure_remove' => ___('devcp_js_sure_remove'),
- 'devcp_js_remove_author' => ___('devcp_js_remove_author'),
- 'devcp_js_a_cancel' => ___('devcp_js_a_cancel'),
- 'devcp_js_add_email' => ___('devcp_js_add_email'),
- 'devcp_js_img_remove_compat' => ___('devcp_js_img_remove_compat'),
- 'devcp_js_license_select' => ___('devcp_js_license_select'),
- 'devcp_js_license_text' => ___('devcp_js_license_text'),
+ 'devcp_js_upload_alert' => ___('You must select a file to upload.'),
+ 'addons_status_public' => ___('Public'),
+ 'addons_status_sandbox' => ___('In Sandbox'),
+ 'addons_status_pending' => ___('In Sandbox; Pending Review'),
+ 'devcp_js_img_move_down' => ___('Move Down'),
+ 'devcp_js_img_move_up' => ___('Move Up'),
+ 'devcp_js_option_owner' => ___('Owner'),
+ 'devcp_js_option_developer' => ___('Developer'),
+ 'devcp_js_option_viewer' => ___('Viewer'),
+ 'devcp_js_input_list_author' => ___('List as author in public listings'),
+ 'devcp_js_sure_remove' => ___('Are you <strong>sure</strong> you wish to remove this author?'),
+ 'devcp_js_remove_author' => ___('Remove Author'),
+ 'devcp_js_a_cancel' => ___('Cancel'),
+ 'devcp_js_add_email' => ___('Please enter the account email of the author you wish to add.'),
+ 'devcp_js_img_remove_compat' => ___('Remove Application Compatibility'),
+ 'devcp_js_license_select' => ___('Please select a license.'),
+ 'devcp_js_license_text' => ___('Please enter text for your license.'),
/* Fallback from 4/14/08 */
- 'app_compat_ignore_check' => ___('app_compat_ignore_check'),
+ 'app_compat_ignore_check' => ___('Ignore version check'),
// collections
- 'collections_edit_submit' => ___('collections_edit_submit'),
- 'collections_edit_submit_deletecollection' => ___('collections_edit_submit_deletecollection'),
+ 'collections_edit_submit' => ___('Update Collection'),
+ 'collections_edit_submit_deletecollection' => ___('Delete Collection'),
/* addons display page */
- 'addons_display_collection_publish_success' => ___('addons_display_collection_publish_success')
+ 'addons_display_collection_publish_success' => ___('%1$s has been added to the %2$s collection.')
);
foreach ($constants as $var_name => $l10n_string) {
diff --git a/site/app/views/pages/policy.thtml b/site/app/views/pages/policy.thtml
index 23c93ca..c993c4a 100644
--- a/site/app/views/pages/policy.thtml
+++ b/site/app/views/pages/policy.thtml
@@ -48,6 +48,6 @@ $this->layout = 'amo2009';
<div class="primary prose" role="main">
<?=$this->renderElement('amo2009/search')?>
- <?=$localization->includeLocalPage('policy', array($html->link(_('pages_policy_sandbox_link'), '/pages/sandbox')))?>
+ <?=$localization->includeLocalPage('policy', array($html->link(___('Sandbox Information Page'), '/pages/sandbox')))?>
</div>
diff --git a/site/app/views/previews/add.thtml b/site/app/views/previews/add.thtml
index 6cfdb3f..46cfaf9 100644
--- a/site/app/views/previews/add.thtml
+++ b/site/app/views/previews/add.thtml
@@ -40,9 +40,9 @@
<?=$this->renderElement('developers/myaddons', array('addons' => $all_addons));?>
<div id="content-main">
- <h3><?=_('devcp_previews_header_add')?></h3>
+ <h3><?=___('Add Preview')?></h3>
<div class="addonName"><?=$addon['Translation']['name']['string']?></div>
- <p><?=_('devcp_previews_filetype_info')?></p>
+ <p><?=___('Use the form below to upload a PNG, JPG, or GIF screenshot of your add-on. Images larger than 700 pixels wide and 525 pixels high will automatically be resized.')?></p>
<?php
if (!empty($errors['main'])) {
echo '<div class="error">'.$errors['main'].'</div>';
@@ -51,16 +51,16 @@
?>
<div id="developersForm">
<div>
- <label for="PreviewFile"><?=_('devcp_previews_label_file')?></label>
+ <label for="PreviewFile"><?=___('Preview File')?></label>
<?=$html->file('Preview/File')?>
</div>
<div>
<?=$html->checkbox('Preview/highlight', null, $highlightCheckbox)?>
- <label for="PreviewHighlight" class="nofloat"><?=_('devcp_previews_label_makedefault')?></label>
+ <label for="PreviewHighlight" class="nofloat"><?=___('Make this the default preview image')?></label>
</div>
<?=$this->renderElement('developers/localebox')?>
<div class="buttonBox">
- <?=$html->submit(_('devcp_previews_submit_upload'))?>
+ <?=$html->submit(___('Upload Preview'))?>
</div>
</div> <!-- developersForm -->
</form>
diff --git a/site/app/views/previews/edit.thtml b/site/app/views/previews/edit.thtml
index b02726b..1adbbcc 100644
--- a/site/app/views/previews/edit.thtml
+++ b/site/app/views/previews/edit.thtml
@@ -40,19 +40,19 @@
<?=$this->renderElement('developers/myaddons', array('addons' => $all_addons));?>
<div id="content-main">
- <h3><?=_('devcp_previews_header_edit')?></h3>
+ <h3><?=___('Edit Preview')?></h3>
<div class="addonName"><?=$addon['Translation']['name']['string']?></div>
<?=$html->formTag('/previews/edit/'.$id, 'post')?>
<div id="developersForm">
<img src="<?=$previewUrl?>">
<div>
<?=$html->checkbox('Preview/highlight', null, $highlightCheckbox)?>
- <label for="PreviewHighlight" class="nofloat"><?=_('devcp_previews_label_makedefault')?></label>
+ <label for="PreviewHighlight" class="nofloat"><?=___('Make this the default preview image')?></label>
</div>
<?=$this->renderElement('developers/localebox')?>
<div class="buttonBox">
- <?=$html->submit(_('devcp_previews_submit_edit'))?>
- <?=$html->submit(_('devcp_previews_submit_delete'), array('name' => 'delete', 'class' => 'cancel', 'onClick' => 'return confirm(\''._('devcp_previews_submit_delete_confirm').'\');'))?>
+ <?=$html->submit(___('Edit Preview'))?>
+ <?=$html->submit(___('Delete Preview'), array('name' => 'delete', 'class' => 'cancel', 'onClick' => 'return confirm(\''.___('Are you sure you wish to delete this preview?').'\');'))?>
</div>
</div> <!-- developersForm -->
</form>
diff --git a/site/app/views/reviews/add.thtml b/site/app/views/reviews/add.thtml
index 1e20e47..dcd3909 100644
--- a/site/app/views/reviews/add.thtml
+++ b/site/app/views/reviews/add.thtml
@@ -34,7 +34,7 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
$this->viewVars['bodyclass'] = 'review_add';
$this->layout = 'amo2009';
@@ -45,73 +45,73 @@ $this->layout = 'amo2009';
<div class="primary prose" role="main">
<?=$this->renderElement('amo2009/search')?>
-
+
<div id="content-main">
-
-<h2><?=sprintf((@$this->data['Review']['id'] > 0) ? _('addon_review_edit_title') : _('addon_review_add_title'), $addon['Translation']['name']['string']); ?></h2>
+
+<h2><?=sprintf((@$this->data['Review']['id'] > 0) ? ___('Edit Review for %s') : ___('Add a review for %s'), $addon['Translation']['name']['string']); ?></h2>
<? $reviewRating = @$this->data['Review']['rating']; ?>
-<?php echo sprintf(___('review_guidelines_short'), $html->url("/addon/{$addon['Addon']['id']}#support"), $html->url('/pages/review_guide')); ?>
+<?php echo sprintf(___('<p>Keep these tips in mind:</p><ul><li>Write like you\'re telling a friend about your experience with the add-on. Give specifics and helpful details, such as what features you liked and/or disliked, how easy to use it is, and any disadvantages it has. Avoid generic language such as calling it "Great" or "Bad" unless you can give reasons why you believe this is so.</li><li>Please do not post bug reports in reviews. We do not make your email address available to add-on developers and they may need to contact you to help resolve your issue. See the <a href="%1$s">support section</a> to find out where to get assistance for this add-on.</li><li>Please keep reviews clean, avoid the use of improper language and do not post any personal information.</li></ul><p>Please read the <a href="%2$s">Review Guidelines</a> for more detail about user add-on reviews.</p>'), $html->url("/addon/{$addon['Addon']['id']}#support"), $html->url('/pages/review_guide')); ?>
<? // if this is a developer reply, show the original review
if (!empty($reply_to)) {
- echo "<p>"._('addon_review_in_reply_to')."</p>";
+ echo "<p>".___('Developer reply to:')."</p>";
?>
<div class="corner-box">
<h3><?=$reply_to['Translation']['title']['string']?></h3>
-
+
<div class="reviewed-on">
- <?= sprintf(_('addon_reviewed_on_x_rated_y'), $html->linkUserFromModel($reply_to['User']), strftime(_('date'), strtotime($reply_to['Review']['created'])), $reply_to['Review']['rating'])?>
+ <?= sprintf(___('by %1$s on %2$s (rated %3$s)'), $html->linkUserFromModel($reply_to['User']), strftime(___('%B %e, %Y'), strtotime($reply_to['Review']['created'])), $reply_to['Review']['rating'])?>
</div>
<?=nl2br($reply_to['Translation']['body']['string'])?>
</div>
<? } ?>
<? if (isset($errorMessage)):?>
-<div class="amo-form-error"><?= _('error_formerrors')?></div>
+<div class="amo-form-error"><?= ___('There are errors in this form. Please correct them and resubmit.')?></div>
<p></p>
<? endif;?>
<form action="<?=$html->entities($html->url())?>" method="post" class="amo-form corner-box" id="long-review">
- <?=$html->hiddenSession() ?>
+ <?=$html->hiddenSession() ?>
<?=$html->hidden('Review/id'); ?>
<div>
- <label class="amo-label-large" for="ReviewTitle"><?=_('addon_review_add_title_field')?></label>
+ <label class="amo-label-large" for="ReviewTitle"><?=___('Title/Summary:')?></label>
<?=$html->input('Review/title');?>
- <?=$html->tagErrorMsg('Review/title', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('Review/title', ___('This field must not be empty.'))?>
</div>
<? if (empty($reply_to)): ?>
<div>
-
- <label class="amo-label-large rating" for="ReviewRating"><?=_('addon_review_add_rating_field')?></label>
+
+ <label class="amo-label-large rating" for="ReviewRating"><?=___('Rating:')?></label>
<div class="stars degrade">
- <p><input class="star" type="radio" name="data[Review][rating]" value="1" title="<?=_('addons_display_hate_it')?>"
- <?php if($reviewRating == 1) { ?> checked="checked"<?php } ?>/> <?=_('addons_display_hate_it')?></p>
- <p><input class="star" type="radio" name="data[Review][rating]" value="2" title="<?=_('addons_display_dont_like_it')?>"
- <?php if($reviewRating == 2) { ?> checked="checked"<?php } ?>/> <?=_('addons_display_dont_like_it')?></p>
- <p><input class="star" type="radio" name="data[Review][rating]" value="3" title="<?=_('addons_display_like_it')?>"
- <?php if($reviewRating == 3) { ?> checked="checked"<?php } ?>/> <?=_('addons_display_like_it')?></p>
- <p><input class="star" type="radio" name="data[Review][rating]" value="4" title="<?=_('addons_display_really_like_it')?>"
- <?php if($reviewRating == 4) { ?> checked="checked"<?php } ?>/> <?=_('addons_display_really_like_it')?></p>
- <p><input class="star" type="radio" name="data[Review][rating]" value="5" title="<?=_('addons_display_love_it')?>"
- <?php if($reviewRating == 5) { ?> checked="checked"<?php } ?>/> <?=_('addons_display_love_it')?></p>
+ <p><input class="star" type="radio" name="data[Review][rating]" value="1" title="<?=___('Hate it')?>"
+ <?php if($reviewRating == 1) { ?> checked="checked"<?php } ?>/> <?=___('Hate it')?></p>
+ <p><input class="star" type="radio" name="data[Review][rating]" value="2" title="<?=___('Don\'t like it')?>"
+ <?php if($reviewRating == 2) { ?> checked="checked"<?php } ?>/> <?=___('Don\'t like it')?></p>
+ <p><input class="star" type="radio" name="data[Review][rating]" value="3" title="<?=___('Like it')?>"
+ <?php if($reviewRating == 3) { ?> checked="checked"<?php } ?>/> <?=___('Like it')?></p>
+ <p><input class="star" type="radio" name="data[Review][rating]" value="4" title="<?=___('Really like it')?>"
+ <?php if($reviewRating == 4) { ?> checked="checked"<?php } ?>/> <?=___('Really like it')?></p>
+ <p><input class="star" type="radio" name="data[Review][rating]" value="5" title="<?=___('Love it')?>"
+ <?php if($reviewRating == 5) { ?> checked="checked"<?php } ?>/> <?=___('Love it')?></p>
</div>
- <?=$html->tagErrorMsg('Review/rating', _('error_review_rating_required'))?>
+ <?=$html->tagErrorMsg('Review/rating', ___('You must select a rating.'))?>
</div>
<? endif; ?>
<div>
- <label class="amo-label-large" for="ReviewBody"><?=_('addon_review_add_review_field')?></label>
+ <label class="amo-label-large" for="ReviewBody"><?=___('Review:')?></label>
<?=$html->textarea('Review/body', array('cols'=>50, 'rows'=>5));?>
- <?=$html->tagErrorMsg('Review/body', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('Review/body', ___('This field must not be empty.'))?>
</div>
<p></p>
- <?=$html->submit(_('addon_review_add_submit'), array('class'=>'amo-submit'))?>
+ <?=$html->submit(___('Submit your review'), array('class'=>'amo-submit'))?>
</form>
<div class="divider"><hr></div>
<ul>
- <li><?= $html->link(sprintf(_('addon_review_a_back_to_reviews'), $addon['Translation']['name']['string']), '/reviews/display/'.$addon['Addon']['id']); ?></li>
- <li><?= $html->link(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
+ <li><?= $html->link(sprintf(___('Back to the reviews...'), $addon['Translation']['name']['string']), '/reviews/display/'.$addon['Addon']['id']); ?></li>
+ <li><?= $html->link(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
</ul>
</div>
diff --git a/site/app/views/reviews/delete.thtml b/site/app/views/reviews/delete.thtml
index 89a2bf6..5b9cb94 100644
--- a/site/app/views/reviews/delete.thtml
+++ b/site/app/views/reviews/delete.thtml
@@ -45,13 +45,13 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
- <h2><?=_('addon_review_delete_header')?></h2><br>
+ <h2><?=___('Delete Review')?></h2><br>
<div class="article">
<h3><?=$html->link($review['Addon']['Translation']['name']['string'], '/addons/display/'.$review['Addon']['Addon']['id']).
': '.$review['Translation']['title']['string']?></h3>
<div>
- <?= sprintf(_('addon_reviewed_on_x_rated_y'), $html->linkUserFromModel($review['User']), strftime(_('date'), strtotime($review['Review']['created'])), $review['Review']['rating'])?>
+ <?= sprintf(___('by %1$s on %2$s (rated %3$s)'), $html->linkUserFromModel($review['User']), strftime(___('%B %e, %Y'), strtotime($review['Review']['created'])), $review['Review']['rating'])?>
</div>
<?=$review['Translation']['body']['string']?>
@@ -59,9 +59,9 @@ $this->layout = 'amo2009';
</div>
<div class="item">
<div align="center">
- <?=_('addon_review_confirm_delete')?><br>
- <input type="submit" name="no" value="<?=_('addon_review_confirm_no')?>">
- <input type="submit" name="yes" value="<?=_('addon_review_confirm_yes')?>">
+ <?=___('Are you sure you wish to delete this review?')?><br>
+ <input type="submit" name="no" value="<?=___('No')?>">
+ <input type="submit" name="yes" value="<?=___('Yes')?>">
</div>
</form>
</div>
diff --git a/site/app/views/reviews/display.thtml b/site/app/views/reviews/display.thtml
index 200aac5..0c90d2f 100644
--- a/site/app/views/reviews/display.thtml
+++ b/site/app/views/reviews/display.thtml
@@ -35,11 +35,11 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
if ($loggedin) {
- $_review_flag_this = ___('review_flag_this', 'Report this review');
- $_review_flag_this_titletip = ___('review_flag_this_titletip', 'Is this review inappropriate, inaccurate or spam? Click here to flag it for editor review.');
+ $_review_flag_this = ___('Report this review');
+ $_review_flag_this_titletip = ___('Is this review inappropriate, inaccurate or spam? Click here to flag it for editor review.');
}
$bare = isset($_GET['bare']) ? ( $_GET['bare'] == 1 ) : FALSE;
?>
@@ -48,11 +48,11 @@ $bare = isset($_GET['bare']) ? ( $_GET['bare'] == 1 ) : FALSE;
<div class="secondary" role="complementary">
<?=$this->renderElement('amo2009/categories')?>
</div>
-
+
<div id="content-main" class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
-
-<h2><?=sprintf(_('reviews_header'), $addon['Translation']['name']['string']);?></h2>
+
+<h2><?=sprintf(___('Reviews for %s'), $addon['Translation']['name']['string']);?></h2>
<?php else: ?>
<div class="other-reviews">
<?php endif ?>
@@ -65,18 +65,18 @@ foreach ($reviews as $review):
?>
<div class="item review" id="review-<?=$review['Review']['id']?>">
<h3><?=$review['Translation']['title']['string']?></h3>
-
+
<div class="reviewed-on">
- <?=$this->renderElement('amo2009/stars',array('rating' => $review['Review']['rating']))?>
+ <?=$this->renderElement('amo2009/stars',array('rating' => $review['Review']['rating']))?>
<?php
- echo sprintf(___('addon_reviewed_by_u_on_d'),
+ echo sprintf(___('by %1$s on %2$s'),
$html->linkUserFromModel($review['User']),
- strftime(_('date'), strtotime($review['Review']['created'])));
+ strftime(___('%B %e, %Y'), strtotime($review['Review']['created'])));
?>
- <?=($isAuthor || $isAdmin) ? '['.$html->link(_('addon_review_author_reply_link'), "/reviews/reply/{$review['Review']['id']}").']' : '' ?>
- <?=($canDelete) ? '['.$html->link(_('addon_review_admin_delete'), "/reviews/delete/{$review['Review']['id']}").']' : ''?>
+ <?=($isAuthor || $isAdmin) ? '['.$html->link(___('Reply'), "/reviews/reply/{$review['Review']['id']}").']' : '' ?>
+ <?=($canDelete) ? '['.$html->link(___('Delete'), "/reviews/delete/{$review['Review']['id']}").']' : ''?>
- <?php /* Show either the review moderation form, or display a
+ <?php /* Show either the review moderation form, or display a
thank you message if this user already has flagged this review. */ ?>
<?php if ($loggedin): ?>
<?php
@@ -85,10 +85,10 @@ foreach ($reviews as $review):
?>
<?php if ($review_flag_name): ?>
- <?php /* If there's already a flag for this review from this
- user, re-display the thank you message without a flag
+ <?php /* If there's already a flag for this review from this
+ user, re-display the thank you message without a flag
form. */ ?>
- <p class="flag-thanks"><?php echo ___('review_flag_success',
+ <p class="flag-thanks"><?php echo ___('review_flag_success',
'Thanks; this review has been flagged for editor approval.') ?></p>
<?php else: ?>
@@ -98,20 +98,20 @@ foreach ($reviews as $review):
'class' => 'flag')); ?>
<span class="reason">
<span class="error"></span>
- <select id="data[ReviewsModerationFlag][flag_name]"
+ <select id="data[ReviewsModerationFlag][flag_name]"
name="data[ReviewsModerationFlag][flag_name]">
- <option value=""> - <?php echo _('review_flag_reason_instructions') ?> - </option>
- <?php foreach ($review_flag_reasons as $reason=>$label): ?>
+ <option value=""> - <?php echo ___('Report this review (select a reason)') ?> - </option>
+ <?php foreach ($review_flag_reasons as $reason=>$label): ?>
<option value="<?php echo $reason ?>"><?php echo $label ?></option>
<?php endforeach ?>
</select>
</span>
<?php
- echo $html->hidden('Review/id',
+ echo $html->hidden('Review/id',
array('value'=>$review_id, 'class'=>'ReviewId'));
- echo $html->input('ReviewsModerationFlag/flag_notes',
+ echo $html->input('ReviewsModerationFlag/flag_notes',
array('type'=>'text', 'size'=>'50', 'maxsize'=>'100', 'value'=>'', 'class'=>'FlagNotes hide-with-js'));
- echo $html->submit($_review_flag_this,
+ echo $html->submit($_review_flag_this,
array('title'=>$_review_flag_this_titletip, 'class'=>'FlagSubmit hide-with-js'));
?>
</form>
@@ -121,26 +121,26 @@ foreach ($reviews as $review):
</div>
<?=nl2br($review['Translation']['body']['string'])?>
-
+
<?php if ($other_count = @($reviews_others_counts[$review['Review']['id']])): ?>
<?php /* Construct the link to reveal previous reviews by this user. */ ?>
<div class="others-by-user" id="others-by-user-<?=$review['Review']['id']?>">
<?php $r_user = $review['User'] ?>
<?=$html->link(
sprintf(
- ngettext('addon_review_others_by_user',
- 'addon_review_others_by_user', $other_count),
+ n___('See %1$s previous review submitted by %2$s for this add-on.',
+ 'See %1$s previous reviews submitted by %2$s for this add-on.', $other_count),
$other_count,
- $r_user['nickname'] ? $r_user['nickname'] :
- $r_user['firstname'] . ' ' . $r_user['lastname']
- ),
+ $r_user['nickname'] ? $r_user['nickname'] :
+ $r_user['firstname'] . ' ' . $r_user['lastname']
+ ),
'/reviews/display/'.$addon['Addon']['id'].'?user_id='.$review['User']['id']
) ?>
</div>
<?php endif ?>
</div>
-
+
<? if ($other_count = @($reviews_others_counts[$review['Review']['id']])): ?>
<div class="others-by-user-load" id="others-by-user-load-<?=$review['Review']['id']?>">
</div>
@@ -154,13 +154,13 @@ foreach ($reviews as $review):
$reply_id = $reply['Review']['id'];
?>
<div class="review review-reply" id="review-<?=$reply['Review']['id']?>">
- <h3><?=_('addon_review_reply_prefix') .' '. $reply['Translation']['title']['string']?></h3>
-
+ <h3><?=___('Developer Reply:') .' '. $reply['Translation']['title']['string']?></h3>
+
<div class="reviewed-on">
- <?=sprintf(_('addon_review_reply_on_x_by_y'), $html->linkUserFromModel($reply['User']), strftime(_('date'), strtotime($reply['Review']['created']))) ?>
- <?=($canDelete) ? '['.$html->link(_('addon_review_admin_delete'), "/reviews/delete/{$reply['Review']['id']}").']' : ''?>
+ <?=sprintf(___('Reply by %1$s on %2$s'), $html->linkUserFromModel($reply['User']), strftime(___('%B %e, %Y'), strtotime($reply['Review']['created']))) ?>
+ <?=($canDelete) ? '['.$html->link(___('Delete'), "/reviews/delete/{$reply['Review']['id']}").']' : ''?>
- <?php /* Show either the review moderation form, or display a
+ <?php /* Show either the review moderation form, or display a
thank you message if this user already has flagged this review. */ ?>
<?php if ($loggedin): ?>
<?php
@@ -169,10 +169,10 @@ foreach ($reviews as $review):
?>
<?php if ($review_flag_name): ?>
- <?php /* If there's already a flag for this review from this
- user, re-display the thank you message without a flag
+ <?php /* If there's already a flag for this review from this
+ user, re-display the thank you message without a flag
form. */ ?>
- <p class="flag-thanks"><?php echo ___('review_flag_success',
+ <p class="flag-thanks"><?php echo ___('review_flag_success',
'Thanks; this review has been flagged for editor approval.') ?></p>
<?php else: ?>
@@ -181,20 +181,20 @@ foreach ($reviews as $review):
array('id' => "flag-{$reply_id}", 'class' => 'flag')); ?>
<span class="reason">
<span class="error"></span>
- <select id="data[ReviewsModerationFlag][flag_name]"
+ <select id="data[ReviewsModerationFlag][flag_name]"
name="data[ReviewsModerationFlag][flag_name]">
- <option value=""> - <?php echo _('review_flag_reason_instructions') ?> - </option>
- <?php foreach ($review_flag_reasons as $reason=>$label): ?>
+ <option value=""> - <?php echo ___('Report this review (select a reason)') ?> - </option>
+ <?php foreach ($review_flag_reasons as $reason=>$label): ?>
<option value="<?php echo $reason ?>"><?php echo $label ?></option>
<?php endforeach ?>
</select>
</span>
<?php
- echo $html->hidden('Review/id',
+ echo $html->hidden('Review/id',
array('value'=>$reply_id, 'class'=>'ReviewId'));
- echo $html->input('ReviewsModerationFlag/flag_notes',
+ echo $html->input('ReviewsModerationFlag/flag_notes',
array('type'=>'text', 'size'=>'50', 'maxsize'=>'100', 'value'=>'', 'class'=>'FlagNotes hide-with-js'));
- echo $html->submit($_review_flag_this,
+ echo $html->submit($_review_flag_this,
array('title'=>$_review_flag_this_titletip, 'class'=>'FlagSubmit hide-with-js'));
?>
</form>
@@ -213,13 +213,13 @@ foreach ($reviews as $review):
<div class="clearboth"> <hr /> </div>
<ul>
- <li><?=$html->link(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
+ <li><?=$html->link(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
<?
if (empty($isAuthor)) {
if (!empty($hasreview)) {
- $add_or_edit = _('addons_display_edit_review');
+ $add_or_edit = ___('Edit your review');
} else {
- $add_or_edit = _('addons_display_add_review');
+ $add_or_edit = ___('Add a review');
}
echo '<li>'.$html->link($add_or_edit, '/reviews/add/'.$addon['Addon']['id']).'</li>';
}
diff --git a/site/app/views/reviews/flag.thtml b/site/app/views/reviews/flag.thtml
index 3106ac3..174a1d9 100644
--- a/site/app/views/reviews/flag.thtml
+++ b/site/app/views/reviews/flag.thtml
@@ -51,14 +51,14 @@ else:
<?php if (empty($addon)): ?>
<?=$this->renderElement('notification', array('msg' => $msg));?>
- <p><?=$html->link(_('link_return_to_front_page'), '/')?></p>
+ <p><?=$html->link(___('Click here to return to the front page.'), '/')?></p>
<?php else: ?>
- <h2><?=sprintf(_('reviews_header'), $addon['Translation']['name']['string']);?></h2>
+ <h2><?=sprintf(___('Reviews for %s'), $addon['Translation']['name']['string']);?></h2>
<?=$this->renderElement('notification', array('msg' => $msg));?>
<ul>
- <li><?= $html->link(sprintf(_('addon_review_a_back_to_reviews'), $addon['Translation']['name']['string']), '/reviews/display/'.$addon['Addon']['id']); ?></li>
- <li><?=$html->link(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
+ <li><?= $html->link(sprintf(___('Back to the reviews...'), $addon['Translation']['name']['string']), '/reviews/display/'.$addon['Addon']['id']); ?></li>
+ <li><?=$html->link(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
</ul>
<?php endif; // if addon found ?>
diff --git a/site/app/views/reviews/review_added.thtml b/site/app/views/reviews/review_added.thtml
index 5b2e608..92b12da 100644
--- a/site/app/views/reviews/review_added.thtml
+++ b/site/app/views/reviews/review_added.thtml
@@ -47,14 +47,14 @@ $this->layout = 'amo2009';
<div class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
- <h2><?=sprintf(_('reviews_header'), $addon['Translation']['name']['string']);?></h2>
- <?=$this->renderElement('notification', array('type' => 'success', 'msg' => _('addon_review_saved_successfully')));?>
+ <h2><?=sprintf(___('Reviews for %s'), $addon['Translation']['name']['string']);?></h2>
+ <?=$this->renderElement('notification', array('type' => 'success', 'msg' => ___('Your review was saved successfully. Thanks!')));?>
<? if (isset($moderated) && $moderated)
- $this->renderElement('notification', array('type' => 'notification', 'msg' => _('addon_review_in_moderation'))); ?>
+ $this->renderElement('notification', array('type' => 'notification', 'msg' => ___('Please note: Before your review shows up on the public site it will be moderated by an editor.'))); ?>
<ul>
- <li><?= $html->link(sprintf(_('addon_review_a_back_to_reviews'), $addon['Translation']['name']['string']), '/reviews/display/'.$addon['Addon']['id']); ?></li>
- <li><?=$html->link(sprintf(_('addon_review_a_back_to_addon_x'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
+ <li><?= $html->link(sprintf(___('Back to the reviews...'), $addon['Translation']['name']['string']), '/reviews/display/'.$addon['Addon']['id']); ?></li>
+ <li><?=$html->link(sprintf(___('Back to %1$s...'), $addon['Translation']['name']['string']), '/addon/'.$addon['Addon']['id']); ?></li>
</ul>
</div>
diff --git a/site/app/views/search/collections.thtml b/site/app/views/search/collections.thtml
index b1a5613..7cb76cb 100644
--- a/site/app/views/search/collections.thtml
+++ b/site/app/views/search/collections.thtml
@@ -48,7 +48,7 @@ $this->layout = 'amo2009';
</div>
<div class="primary" role="main">
<?=$this->renderElement('amo2009/breadcrumbs')?>
- <h2><?=___('search_collections_header', 'Collection Search Results')?></h2>
+ <h2><?=___('Collection Search Results')?></h2>
<div class="featured listing">
<div class="featured-inner">
<div class="listing-header">
@@ -59,7 +59,7 @@ $this->layout = 'amo2009';
</script>
<?php if (count($collections) === 0): ?>
<div class="item">
- <p class="addon-search-message"><?=_('search_nothing_found')?></p>
+ <p class="addon-search-message"><?=___('No results found.')?></p>
</div>
<?php endif; ?>
<?php
diff --git a/site/app/views/search/index.thtml b/site/app/views/search/index.thtml
index b30f7ba..e66160e 100644
--- a/site/app/views/search/index.thtml
+++ b/site/app/views/search/index.thtml
@@ -72,17 +72,17 @@ $params = array(
'pid'=>$pid, 'sort'=>$sort, 'hver'=>$hver, 'lver'=>$lver, 'vfuz'=>$vfuz, 'pp'=>$pp))?>
</div>
<div class="results-head">
- <h2><span><?=___('search_results_header', 'Search Results')?></span></h2>
+ <h2><span><?=___('Search Results')?></span></h2>
<?php if (!empty($search_results)): ?>
<h3 class="result-count">
<?php if(!empty($search_terms) && !empty($tag)): ?>
- <?=sprintf(___('search_results_showing_x_of_y_for_terms_and_tags_header', 'Showing %1$s - %2$s of %3$s results for <strong>%4$s</strong> tagged with <strong>%5$s</strong>'), $offset+1, $offset+count($search_results), $total_count, $search_terms, $tag)?>
+ <?=sprintf(___('Showing %1$s - %2$s of %3$s results for <strong>%4$s</strong> tagged with <strong>%5$s</strong>'), $offset+1, $offset+count($search_results), $total_count, $search_terms, $tag)?>
<?php elseif(!empty($tag)): ?>
- <?=sprintf(___('search_results_showing_x_of_y_for_tags_header', 'Showing %1$s - %2$s of %3$s results tagged with <strong>%4$s</strong>'), $offset+1, $offset+count($search_results), $total_count, $tag)?>
+ <?=sprintf(___('Showing %1$s - %2$s of %3$s results tagged with <strong>%4$s</strong>'), $offset+1, $offset+count($search_results), $total_count, $tag)?>
<?php elseif(!empty($search_terms)): ?>
- <?=sprintf(___('search_results_showing_x_of_y_for_terms_header', 'Showing %1$s - %2$s of %3$s results for <strong>%4$s</strong>'), $offset+1, $offset+count($search_results), $total_count, $search_terms)?>
+ <?=sprintf(___('Showing %1$s - %2$s of %3$s results for <strong>%4$s</strong>'), $offset+1, $offset+count($search_results), $total_count, $search_terms)?>
<?php else: ?>
- <?=sprintf(___('search_results_showing_x_of_y_header', 'Showing %1$s - %2$s of %3$s results'), $offset+1, $offset+count($search_results), $total_count)?>
+ <?=sprintf(___('Showing %1$s - %2$s of %3$s results'), $offset+1, $offset+count($search_results), $total_count)?>
<?php endif; ?>
</h3>
<?php endif; ?>
@@ -97,7 +97,7 @@ $params = array(
<div class="featured-inner">
<div class="listing-header">
<?php if (empty($search_results)): ?>
- <p class="addon-search-message"><?=_('search_nothing_found')?></p>
+ <p class="addon-search-message"><?=___('No results found.')?></p>
<?php else : ?>
<ul>
<?php
@@ -109,14 +109,14 @@ $params = array(
?>
</ul>
<form class="item-sort" method="get" action="">
- <label><?=___('advanced_search_form_sortby'); ?></label>
+ <label><?=___('Sort By'); ?></label>
<?php
$sort_orders = array(
- '' => ___('advanced_search_form_keyword_match'),
- 'newest' => ___('advanced_search_form_newest'),
- 'name' => ___('advanced_search_form_name'),
- 'averagerating' => ___('advanced_search_form_rating'),
- 'weeklydownloads' => ___('advanced_search_form_popularity')
+ '' => ___('Keyword Match'),
+ 'newest' => ___('Newest'),
+ 'name' => ___('Name'),
+ 'averagerating' => ___('Rating'),
+ 'weeklydownloads' => ___('Popularity')
);
$html->simpleSelectTag('sort', $sort_orders, $sort, array(), array(), false);
?>
@@ -126,7 +126,7 @@ $params = array(
<input type="hidden" name="<?=$name?>" value="<?=$val?>" />
<?php endif; ?>
<?php endforeach; ?>
- <button><?=___('collections_index_button_go')?></button>
+ <button><?=___('Go')?></button>
</form>
<script type="text/javascript">collections.init();</script>
<?php endif; ?>
@@ -142,16 +142,16 @@ $params = array(
<?php if (!empty($search_results)): ?>
<div class="secondary" role="complementary">
<div class="highlight">
- <h2><?=___('search_results_refine_header', 'Refine Results')?></h2>
+ <h2><?=___('Refine Results')?></h2>
<div id="refine-compatibility">
- <h5><?=___('search_filter_compatible_header', 'Compatible with')?></h5>
+ <h5><?=___('Compatible with')?></h5>
<ul class="refinements">
<?php
$selected = "";
if ($hver == "any") {
$selected = " class='selected'";
}
- echo '<li'.$selected.'><a href="'.$html->url("/search?q=".$search_terms."&appid=".$appid."&cat=".$category[0].",".$category[1]."&tag=".$tag."&atype=".$atype."&pid=".$pid."&lup=".$lup."&sort=".$sort."&hver=any&lver=".$lver."&vfuz=".$vfuz."&pp=".$pp).'">'.___('search_refine_all_versions_link', 'All Versions').'</a></li>';
+ echo '<li'.$selected.'><a href="'.$html->url("/search?q=".$search_terms."&appid=".$appid."&cat=".$category[0].",".$category[1]."&tag=".$tag."&atype=".$atype."&pid=".$pid."&lup=".$lup."&sort=".$sort."&hver=any&lver=".$lver."&vfuz=".$vfuz."&pp=".$pp).'">'.___('All Versions').'</a></li>';
?>
<?php
$min_display_version_by_app = array(
@@ -189,7 +189,7 @@ $params = array(
</ul>
</div>
<div id="refine-category">
- <h5><?=___('search_filter_categories_header', 'Categories')?></h5>
+ <h5><?=___('Categories')?></h5>
<ul class="refinements">
<?php
if ($category == array(0,0)) {
@@ -197,7 +197,7 @@ $params = array(
} else {
$selected = "";
}
- echo '<li'.$selected.'><a href="'.$html->url("/search?q=".$search_terms."&appid=".$appid."&cat=all&tag=".$tag."&atype=".$atype."&pid=".$pid."&lup=".$lup."&sort=".$sort."&hver=".$hver."&lver=".$lver."&vfuz=".$vfuz."&pp=".$pp).'">'.___('search_refine_all_categories_link', 'All').'</a></li>';
+ echo '<li'.$selected.'><a href="'.$html->url("/search?q=".$search_terms."&appid=".$appid."&cat=all&tag=".$tag."&atype=".$atype."&pid=".$pid."&lup=".$lup."&sort=".$sort."&hver=".$hver."&lver=".$lver."&vfuz=".$vfuz."&pp=".$pp).'">'.___('All').'</a></li>';
$results_categories = array();
foreach ($search_results as $addon) {
if (!empty($addon['Category'])) {
@@ -217,11 +217,11 @@ $params = array(
</ul>
</div>
<div id="refine-tags">
- <h5><?=___('search_filter_tags_header', 'Tags')?></h5>
+ <h5><?=___('Tags')?></h5>
<ul class="refinements addon-tags">
<?php
if (empty($top_tags)) {
- echo '<li>'.___('search_filter_no_tags', 'No tags for these add-ons').'</li>';
+ echo '<li>'.___('No tags for these add-ons').'</li>';
} else {
foreach($top_tags as $top_tag ) {
$_tag = $top_tag['Tag']['tag_text'];
diff --git a/site/app/views/search/rss/index.thtml b/site/app/views/search/rss/index.thtml
index 25c6fa8..924d010 100644
--- a/site/app/views/search/rss/index.thtml
+++ b/site/app/views/search/rss/index.thtml
@@ -2,7 +2,7 @@
foreach ($search_results as $var => $val):
// prepare version string
if (!empty($val['Version']))
- $version = $val['Version'][0]['version'] .' - '. strftime(_('date'), strtotime($val['Version'][0]['created']));
+ $version = $val['Version'][0]['version'] .' - '. strftime(___('%B %e, %Y'), strtotime($val['Version'][0]['created']));
else
$version = '';
diff --git a/site/app/views/sharing_api/addon.thtml b/site/app/views/sharing_api/addon.thtml
index 7e62658..9aa31fd 100644
--- a/site/app/views/sharing_api/addon.thtml
+++ b/site/app/views/sharing_api/addon.thtml
@@ -60,9 +60,9 @@ if (empty($addonIconPath)) {
<version><?php echo $addon['install_version']; ?></version>
<status id='<?php echo $addon['status']; ?>'><?php
if ($addon['status'] == STATUS_PUBLIC) {
- echo rtrim(_('a_header_public'));
+ echo rtrim(___('Public'));
} else {
- echo rtrim(_('a_header_sandbox'));
+ echo rtrim(___('Sandbox'));
}
?></status>
<authors>
diff --git a/site/app/views/statistics/addon.thtml b/site/app/views/statistics/addon.thtml
index 9c85ed2..4b9d921 100644
--- a/site/app/views/statistics/addon.thtml
+++ b/site/app/views/statistics/addon.thtml
@@ -34,14 +34,14 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
echo '<div id="content">';
if ($this->controller->Config->getValue('stats_updating')) {
- echo '<div class="warning"><div>'._('statistics_notice_data_updating').'</div></div>';
+ echo '<div class="warning"><div>'.___('Add-on statistics are currently in the process of being updated. Recent data may be incomplete as our scripts work to update this information. Please check back in a few minutes.').'</div></div>';
}
if (isset($_GET['settings'])) {
- echo '<div class="notice-updated">'._('statistics_notice_settings_updated').'</div>';
+ echo '<div class="notice-updated">'.___('Your settings have been updated!').'</div>';
}
?>
<div class="article">
@@ -50,31 +50,31 @@ echo '<div id="content">';
<div id="statistics-controls">
<?php
if (!empty($all_addons)) {
- echo _('statistics_addon_switch').':';
+ echo ___('Switch Add-on').':';
echo $html->selectTag('Addon/id', $all_addons, $addon_id, array('onChange' => 'changeAddon(this);'), null, false).'<br>';
}
?>
<span id="statistics-links">
- <?=$html->link(_('statistics_addon_developertools_link'), '/developers')?> |
- <?=$html->link(_('statistics_addon_dashboard_link'), '/statistics')?> |
- <a href="#" onclick="$('#helpbox').toggle(); return false;"><?=_('statistics_help_link')?></a>
+ <?=$html->link(___('Developer Tools'), '/developers')?> |
+ <?=$html->link(___('Dashboard Home'), '/statistics')?> |
+ <a href="#" onclick="$('#helpbox').toggle(); return false;"><?=___('Help')?></a>
</span>
</div>
<div>
<img id="addon-icon" src="<?=$addonIcon?>" alt="<?=$addon_name?> Icon">
<h3 id="addon-title">
<a href="<?=$html->url('/addon/'.$addon_id)?>">
- <?=sprintf(_('statistics_title_addon_stats'), $addon_name)?>
+ <?=sprintf(___('%1$s Statistics'), $addon_name)?>
</a>
</h3>
</div>
</div>
-
+
<div id="helpbox" style="display: none;">
<?=$localization->includeLocalPage('statistics_help')?>
- <a href="#" onclick="$('#helpbox').hide(); return false;"><?=_('statistics_help_close_link')?></a>
+ <a href="#" onclick="$('#helpbox').hide(); return false;"><?=___('Close')?></a>
</div>
-
+
<?php if ($stats['totaldownloads'] > 0): ?>
<div id="plot-options" style="display: none;">
<div id="plot-selector-area"></div>
@@ -96,51 +96,51 @@ echo '<div id="content">';
<div id="summary-legend">
<div class="plot-legend">
<div class="colorbox" style="background-color: #33AAFF;"></div>
- <div class="plot-name"><?=_('statistics_plot_legend_downloads')?></div>
+ <div class="plot-name"><?=___('Daily Downloads')?></div>
</div>
<div class="plot-legend">
<div class="colorbox" style="background-color: #EE3322;"></div>
- <div class="plot-name"><?=_('statistics_plot_legend_adu')?></div>
+ <div class="plot-name"><?=___('Active Daily Users')?></div>
</div>
</div>
</div>
<div id="options-area">
<?=$html->image('stats/cog.png', array('id' => 'options-cog', 'style' => 'display: none;', 'alt' => ''));?>
<div id="summary-options">
- <div id="zoom-in" class="zoom-button" onclick="Plots.summary.zoomIn();" title="<?=_('statistics_plot_options_zoomin_title')?>">
- <?=$html->image('stats/zoom_in.png', array('alt' => _('statistics_plot_options_zoomin_alt')))?>
+ <div id="zoom-in" class="zoom-button" onclick="Plots.summary.zoomIn();" title="<?=___('Zoom in one month')?>">
+ <?=$html->image('stats/zoom_in.png', array('alt' => ___('Zoom In')))?>
</div>
- <div id="zoom-out" class="zoom-button" onclick="Plots.summary.zoomOut();" title="<?=_('statistics_plot_options_zoomout_title')?>">
- <?=$html->image('stats/zoom_out.png', array('alt' => _('statistics_plot_options_zoomout_alt')))?>
+ <div id="zoom-out" class="zoom-button" onclick="Plots.summary.zoomOut();" title="<?=___('Zoom out one month')?>">
+ <?=$html->image('stats/zoom_out.png', array('alt' => ___('Zoom Out')))?>
</div>
</div>
</div>
</div>
-
+
<div id="timeplot-container">
<div id="not-enough-data" class="warning" style="display: none;"><div>
- <?=_('statistics_notice_data_insufficient')?>
+ <?=___('There is not yet enough data to display this graph. Please check back later.')?>
</div></div>
-
+
<noscript>
<div class="warning"><div>
- <?=_('statistics_notice_nojavascript')?>
+ <?=___('JavaScript is required to view the Statistics Dashboard graphs.')?>
</div></div>
</noscript>
</div>
-
+
<?php elseif (!$this->controller->Config->getValue('stats_disabled')): ?>
<div class="warning"><div>
- <?=_('statistics_notice_data_none')?>
+ <?=___('We don\'t have any data for your add-on yet. Please check back in a few days.')?>
</div></div>
<?php endif; ?>
-
+
<?php if ($this->controller->Config->getValue('stats_disabled')): ?>
<div class="warning"><div>
- <?=_('statistics_notice_disabled')?>
+ <?=___('The Statistics Dashboard is currently disabled. Please check back later.')?>
</div></div>
<?php endif; ?>
-
+
<div class="bluebox-br"><div class="bluebox-bl"></div></div>
</div></div></div>
@@ -152,19 +152,19 @@ echo '<div id="content">';
<table width="100%" cellpadding="5" id="stats_overview">
<tr>
<td class="biglabel" valign="middle" style="width: 30%;">
- <?=_('statistics_summary_downloads_total')?>
- <div class="date"><?=sprintf(_('statistics_summary_downloads_total_sincedate'), strftime(_('statistics_date_shortmonthwithyear'), strtotime($addon['Addon']['created'])))?></div>
+ <?=___('Total Downloads')?>
+ <div class="date"><?=sprintf(___('Since %1$s'), strftime(___('%b. %e, %Y'), strtotime($addon['Addon']['created'])))?></div>
</td>
<td class="bigvalue" style="width: 19%;"><?=$statistics->number_format($stats, 'totaldownloads')?></td>
<td class="spacer" style="width: 2%;"></td>
<td class="biglabel" valign="middle" style="width: 30%;">
- <?=_('statistics_summary_updatepings_total')?>
+ <?=___('Active Daily Users')?>
<div class="date">
<?php
if (!empty($stats['last_updatepings_date']))
- echo sprintf(_('statistics_summary_updatepings_total_ondate'), strftime(_('statistics_date_weekdayshortmonth'), strtotime($stats['last_updatepings_date'])));
+ echo sprintf(___('On %1$s'), strftime(___('%A, %b. %e'), strtotime($stats['last_updatepings_date'])));
else
- echo _('statistics_summary_nodata');
+ echo ___('No data yet');
?>
</div>
</td>
@@ -172,19 +172,19 @@ echo '<div id="content">';
</tr>
<tr>
<td class="label">
- <?=_('statistics_summary_downloads_lastcount')?>
- <div class="date"><?=(!empty($stats['last_downloads_date']) ? strftime(_('statistics_date_weekdayshortmonth'), strtotime($stats['last_downloads_date'])) : '')?></div>
+ <?=___('Last Day Count')?>
+ <div class="date"><?=(!empty($stats['last_downloads_date']) ? strftime(___('%A, %b. %e'), strtotime($stats['last_downloads_date'])) : '')?></div>
</td>
<td class="value"><?=$statistics->number_format($stats, 'last_downloads')?></td>
<td class="spacer"></td>
<td class="label">
- <?=_('statistics_summary_updatepings_changefromprevious')?>
+ <?=___('Change from previous count')?>
<div class="date">
<?php
if (!empty($stats['previous_updatepings']))
- echo sprintf(_('statistics_summary_updatepings_changefromprevious_ondate'), $html->number_format($stats['previous_updatepings'], 0), strftime(_('statistics_date_shortmonth'), strtotime($stats['previous_updatepings_date'])));
+ echo sprintf(___('%1$s on %2$s'), $html->number_format($stats['previous_updatepings'], 0), strftime(___('%b. %e'), strtotime($stats['previous_updatepings_date'])));
else
- echo _('statistics_summary_nodata');
+ echo ___('No data yet');
?>
</div>
</td>
@@ -193,20 +193,20 @@ echo '<div id="content">';
</td>
</tr>
<tr>
- <td class="label"><?=_('statistics_summary_downloads_average')?></td>
+ <td class="label"><?=___('Average Daily Downloads')?></td>
<td class="value"><?=$statistics->number_format($stats, 'avg_downloads')?></td>
<td class="spacer"></td>
- <td class="label"><?=_('statistics_summary_updatepings_average')?></td>
+ <td class="label"><?=___('Average Daily Active Users')?></td>
<td class="value"><?=$statistics->number_format($stats, 'avg_updatepings')?></td>
</tr>
<tr>
- <td class="label"><?=_('statistics_summary_downloads_lastweek')?></td>
+ <td class="label"><?=___('Downloads in the last 7 days')?></td>
<td class="value"><?=$statistics->number_format($stats, 'weeklydownloads')?></td>
<td class="spacer"></td>
<td class="label">
- <?=___('statistics_summary_updatepings_weekly_average')?>
+ <?=___('Average Daily Users this Week')?>
<div class="date">
- <?=sprintf(___('statistics_summary_updatepings_weekly_change'),
+ <?=sprintf(___('%s from last week'),
$statistics->colored_percentage($stats, 'weekly_updatepings_change'))
?>
</div>
@@ -223,7 +223,7 @@ echo '<div id="content">';
<div id="stats-table">
- <a href="#" class="download"><? echo ___('statistics_js_download_csv', 'View this table in CSV format') ?></a>
+ <a href="#" class="download"><? echo ___('View this table in CSV format') ?></a>
<table class="template">
<thead>
@@ -242,19 +242,19 @@ echo '<div id="content">';
<div id="settings">
<?php
if ($addon['Addon']['publicstats'] == 1) {
- echo _('statistics_settings_currently_public');
- echo '&nbsp;'.$html->image('stats/lock_open.png', array('alt' => _('statistics_settings_unlocked_alt')));
+ echo ___('This dashboard is currently <b>public</b>.');
+ echo '&nbsp;'.$html->image('stats/lock_open.png', array('alt' => ___('Unlocked')));
}
else {
- echo _('statistics_settings_currently_private');
- echo '&nbsp;'.$html->image('stats/lock.png', array('alt' => _('statistics_settings_locked_alt')));
+ echo ___('This dashboard is currently <b>private</b>.');
+ echo '&nbsp;'.$html->image('stats/lock.png', array('alt' => ___('Locked')));
}
-
+
echo '<br>';
if ($this->controller->Amo->checkOwnership($addon_id, null, true))
- echo $html->link(_('statistics_settings_change_link'), '/statistics/settings/'.$addon_id);
+ echo $html->link(___('Change Settings'), '/statistics/settings/'.$addon_id);
elseif ($addon['Addon']['publicstats'] != 1)
- echo '<span class="confidential">'._('statistics_settings_confidential').'</span>';
+ echo '<span class="confidential">'.___('Please treat this information as confidential.').'</span>';
?>
</div>
diff --git a/site/app/views/statistics/index.thtml b/site/app/views/statistics/index.thtml
index eeaa56d..1b1bffe 100644
--- a/site/app/views/statistics/index.thtml
+++ b/site/app/views/statistics/index.thtml
@@ -36,26 +36,26 @@
*
* ***** END LICENSE BLOCK ***** */
?>
-<h1><?=_('statistics_index_title')?></h1>
+<h1><?=___('Statistics Dashboard')?></h1>
<div class="secondary" role="complementary">
<div class="highlight">
- <h2><?=___('statistics_index_site_stats', 'Site Statistics')?></h2>
+ <h2><?=___('Site Statistics')?></h2>
<dl>
<dt><?=$html->number_format($statsOverview['totalDownloads'])?></dt>
- <dd><?=___('statistics_index_addons_downloaded', 'Add-ons Downloaded')?></dd>
+ <dd><?=___('Add-ons Downloaded')?></dd>
<dt><?=$html->number_format($statsOverview['totalInUse'])?></dt>
- <dd><?=___('statistics_index_addons_used', 'Add-ons in Use')?></dd>
+ <dd><?=___('Add-ons in Use')?></dd>
<dt><?=$html->number_format($statsOverview['totalUsers'])?></dt>
- <dd><?=___('statistics_index_registered_users', 'Registered Users')?></dd>
+ <dd><?=___('Registered Users')?></dd>
<dt><?=$html->number_format($statsOverview['totalReviews'])?></dt>
- <dd><?=___('statistics_index_addon_reviews', 'Add-on Reviews')?></dd>
+ <dd><?=___('Add-on Reviews')?></dd>
<dt><?=$html->number_format($statsOverview['totalCollections'])?></dt>
- <dd><?=___('statistics_index_addon_collections', 'Add-on Collections')?></dd>
+ <dd><?=___('Add-on Collections')?></dd>
</dl>
</div>
@@ -71,12 +71,12 @@
<div id="timeplot-container">
<div id="not-enough-data" class="warning" style="display: none;"><div>
- <?=_('statistics_notice_data_insufficient')?>
+ <?=___('There is not yet enough data to display this graph. Please check back later.')?>
</div></div>
<noscript>
<div class="warning"><div>
- <?=_('statistics_notice_nojavascript')?>
+ <?=___('JavaScript is required to view the Statistics Dashboard graphs.')?>
</div></div>
</noscript>
</div>
@@ -87,14 +87,14 @@
<table id="stats-table-instance">
<thead>
<tr class="header">
- <th class="first"><?=_('list_sortby_date')?></th>
- <th><?=___('statistics_addons_downloaded', 'Add-ons Downloaded')?></th>
- <th><?=___('statistics_addons_inuse', 'Add-ons In Use')?></th>
- <th><?=___('statistics_addons_created', 'Add-ons Created')?></th>
- <th><?=___('statistics_addons_updated', 'Add-ons Updated')?></th>
- <th><?=___('statistics_users_created', 'Users Created')?></th>
- <th><?=___('statistics_reviews_created', 'Reviews Created')?></th>
- <th class="last"><?=___('statistics_collections_created', 'Collections Created')?></th>
+ <th class="first"><?=___('Date')?></th>
+ <th><?=___('Add-ons Downloaded')?></th>
+ <th><?=___('Add-ons In Use')?></th>
+ <th><?=___('Add-ons Created')?></th>
+ <th><?=___('Add-ons Updated')?></th>
+ <th><?=___('Users Created')?></th>
+ <th><?=___('Reviews Created')?></th>
+ <th class="last"><?=___('Collections Created')?></th>
</tr>
</thead>
<tbody>
@@ -105,7 +105,7 @@
if ($i > 30) break; // nonJS case: show the date-range that would initially be charted
?>
<tr class="row <?=($i % 2 ? 'odd' : 'even')?>">
- <td class="col first"><?=strftime(_('date'), strtotime($row['date']))?></td>
+ <td class="col first"><?=strftime(___('%B %e, %Y'), strtotime($row['date']))?></td>
<td class="col value"><?=$row['addons_downloaded']?></td>
<td class="col value"><?=$row['addons_in_use']?></td>
<td class="col value"><?=$row['addons_created']?></td>
@@ -121,7 +121,7 @@
</div>
<div class="listing-footer">
<ol id="stats-table-pagination" class="pagination"></ol>
- <a href="<?=$html->url('/statistics/sitecsv/date')?>" id="stats-csv-download"><? echo ___('statistics_js_download_csv', 'View this table in CSV format') ?></a>
+ <a href="<?=$html->url('/statistics/sitecsv/date')?>" id="stats-csv-download"><? echo ___('View this table in CSV format') ?></a>
</div>
</div>
@@ -131,7 +131,7 @@
echo '<div class="featured prose">';
echo '<div class="featured-inner article">';
if (!empty($addons)) {
- echo '<p>'._('statistics_index_myaddons').':</p>';
+ echo '<p>'.___('Select one of your add-ons to view its statistics').':</p>';
echo '<ul>';
foreach ($addons as $id => $addon) {
echo '<li>'.$html->link($addon, '/statistics/addon/'.$id).'</li>';
@@ -143,21 +143,21 @@
echo '<p>';
if (!empty($addons)) {
if ($this->controller->SimpleAcl->actionAllowed('Admin', 'ViewAnyStats', $this->controller->Session->read('User')))
- echo _('statistics_index_anotheraddon').':';
+ echo ___('or, select another add-on').':';
else
- echo _('statistics_index_anotheraddon_public').':';
+ echo ___('or, select an add-on with public statistics').':';
}
else {
if ($this->controller->SimpleAcl->actionAllowed('Admin', 'ViewAnyStats', $this->controller->Session->read('User')))
- echo _('statistics_index_selectaddon').':';
+ echo ___('Select an add-on to view its statistics').':';
else
- echo _('statistics_index_selectaddon_public').':';
+ echo ___('Select an add-on with public statistics').':';
}
echo '</p>';
echo $html->formTag('/statistics/', 'get');
echo $html->selectTag('Addon/id', $otherAddons, null, array('onChange' => 'changeAddon(this);'));
- echo '<noscript><input type="submit" value="'._('statistics_index_view_button').'"></noscript>';
+ echo '<noscript><input type="submit" value="'.___('View Statistics').'"></noscript>';
echo '</form>';
}
echo '</div>';
diff --git a/site/app/views/statistics/rss/summary.thtml b/site/app/views/statistics/rss/summary.thtml
index ffb278c..f023620 100644
--- a/site/app/views/statistics/rss/summary.thtml
+++ b/site/app/views/statistics/rss/summary.thtml
@@ -36,36 +36,36 @@
*
* ***** END LICENSE BLOCK ***** */
-$summary = '<b>'._('statistics_summary_downloads_heading').'</b><br />';
-$summary .= _('statistics_summary_downloads_total').' ('.sprintf(_('statistics_summary_downloads_total_sincedate'), strftime(_('statistics_date_shortmonthwithyear'), strtotime($addon['Addon']['created']))).'): '.$statistics->number_format($stats, 'totaldownloads').'<br />';
-$summary .= _('statistics_summary_downloads_lastcount').(!empty($stats['last_downloads_date']) ? ' ('.strftime(_('statistics_date_weekdayshortmonth'), strtotime($stats['last_downloads_date'])).')' : '').': '.$statistics->number_format($stats, 'last_downloads').'<br />';
-$summary .= _('statistics_summary_downloads_average').': '.$statistics->number_format($stats, 'avg_downloads').'<br />';
-$summary .= _('statistics_summary_downloads_lastweek').': '.$statistics->number_format($stats, 'weeklydownloads').'<br /><br />';
+$summary = '<b>'.___('Downloads').'</b><br />';
+$summary .= ___('Total Downloads').' ('.sprintf(___('Since %1$s'), strftime(___('%b. %e, %Y'), strtotime($addon['Addon']['created']))).'): '.$statistics->number_format($stats, 'totaldownloads').'<br />';
+$summary .= ___('Last Day Count').(!empty($stats['last_downloads_date']) ? ' ('.strftime(___('%A, %b. %e'), strtotime($stats['last_downloads_date'])).')' : '').': '.$statistics->number_format($stats, 'last_downloads').'<br />';
+$summary .= ___('Average Daily Downloads').': '.$statistics->number_format($stats, 'avg_downloads').'<br />';
+$summary .= ___('Downloads in the last 7 days').': '.$statistics->number_format($stats, 'weeklydownloads').'<br /><br />';
-$summary .= '<b>'._('statistics_summary_updatepings_heading').'</b><br />';
-$summary .= _('statistics_summary_updatepings_total').' (';
+$summary .= '<b>'.___('Active Daily Users').'</b><br />';
+$summary .= ___('Active Daily Users').' (';
if (!empty($stats['last_updatepings_date']))
- $summary .= sprintf(_('statistics_summary_updatepings_total_ondate'), strftime(_('statistics_date_weekdayshortmonth'), strtotime($stats['last_updatepings_date'])));
+ $summary .= sprintf(___('On %1$s'), strftime(___('%A, %b. %e'), strtotime($stats['last_updatepings_date'])));
else
- $summary .= _('statistics_summary_nodata');
+ $summary .= ___('No data yet');
$summary .= '): '.$statistics->number_format($stats, 'last_updatepings').'<br />';
-$summary .= _('statistics_summary_updatepings_changefromprevious').' (';
+$summary .= ___('Change from previous count').' (';
if (!empty($stats['previous_updatepings']))
- $summary .= sprintf(_('statistics_summary_updatepings_changefromprevious_ondate'), $html->number_format($stats['previous_updatepings'], 0), strftime(_('statistics_date_shortmonth'), strtotime($stats['previous_updatepings_date'])));
+ $summary .= sprintf(___('%1$s on %2$s'), $html->number_format($stats['previous_updatepings'], 0), strftime(___('%b. %e'), strtotime($stats['previous_updatepings_date'])));
else
- $summary .= _('statistics_summary_nodata');
+ $summary .= ___('No data yet');
$summary .= '): ';
$summary .= $statistics->colored_percentage($stats, 'updateping_change');
$summary .= '<br />';
-$summary .= _('statistics_summary_updatepings_average').': '.$statistics->number_format($stats, 'avg_updatepings').'<br />';
-$summary .= ___('statistics_summary_updatepings_weekly_average').': '.$statistics->number_format($stats, 'weekly_updatepings');
-$summary .= ' ('.sprintf(___('statistics_summary_updatepings_weekly_change'),
+$summary .= ___('Average Daily Active Users').': '.$statistics->number_format($stats, 'avg_updatepings').'<br />';
+$summary .= ___('Average Daily Users this Week').': '.$statistics->number_format($stats, 'weekly_updatepings');
+$summary .= ' ('.sprintf(___('%s from last week'),
$statistics->colored_percentage($stats, 'weekly_updatepings_change')).')';
$today = mktime(0, 0, 0, date('m'), date('d'), date('Y'));
echo $this->renderElement('rss_listitem', array(
- 'title' => sprintf(_('statistics_rss_title_statsfordate'), strftime(_('statistics_rss_title_fulldate'))),
+ 'title' => sprintf(___('Statistics for %1$s'), strftime(___('%A, %B %e, %Y'))),
'url' => SITE_URL.$html->url('/statistics/addon/'.$addon['Addon']['id']),
'description' => "<![CDATA[{$summary}]]>",
'author' => 'Mozilla Add-ons',
diff --git a/site/app/views/statistics/settings.thtml b/site/app/views/statistics/settings.thtml
index 549ad64..8670542 100644
--- a/site/app/views/statistics/settings.thtml
+++ b/site/app/views/statistics/settings.thtml
@@ -34,7 +34,7 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
?>
<div class="secondary" role="complementary">
<?=$this->renderElement('developers/myaddons', array('addons' => $all_addons));?>
@@ -43,18 +43,18 @@
<div class="primary prose">
<div id="content-main" class="article settings-content">
- <h3><?=sprintf(_('statistics_settings_title'), $addon['Translation']['name']['string'])?></h3><br>
+ <h3><?=sprintf(___('Statistics Dashboard Settings for %1$s'), $addon['Translation']['name']['string'])?></h3><br>
<?=$html->formTag('/statistics/settings/'.$addon['Addon']['id'], 'post');?>
- <h4><?=_('statistics_settings_access_heading')?></h4>
- <p><?=_('statistics_settings_access_description')?></p>
+ <h4><?=___('Dashboard Access')?></h4>
+ <p><?=___('By default, only you and Mozilla can access the information in your dashboard. You can open this up to the public so that anyone can view your add-on\'s data.')?></p>
<ul class="options">
- <li><label><input type="radio" name="data[Addon][publicstats]" value="0"<?=($addon['Addon']['publicstats'] != 1 ? ' checked' : '')?>> <?='<b>'._('statistics_settings_access_private').'</b> - '._('statistics_settings_access_private_description')?></label></li>
- <li><label><input type="radio" name="data[Addon][publicstats]" value="1"<?=($addon['Addon']['publicstats'] == 1 ? ' checked' : '')?>> <?='<b>'._('statistics_settings_access_public').'</b> - '._('statistics_settings_access_public_description')?></label></li>
+ <li><label><input type="radio" name="data[Addon][publicstats]" value="0"<?=($addon['Addon']['publicstats'] != 1 ? ' checked' : '')?>> <?='<b>'.___('Private').'</b> - '.___('Only you and Mozilla can view this add-on\'s statistics')?></label></li>
+ <li><label><input type="radio" name="data[Addon][publicstats]" value="1"<?=($addon['Addon']['publicstats'] == 1 ? ' checked' : '')?>> <?='<b>'.___('Public').'</b> - '.___('Anyone can view this add-on\'s statistics')?></label></li>
</ul>
-
+
<div class="buttons">
- <input type="submit" name="submit" value="<?=_('statistics_settings_save_button')?>"><br>
- <?=$html->link(_('statistics_settings_return_link'), '/statistics/addon/'.$addon['Addon']['id'])?>
+ <input type="submit" name="submit" value="<?=___('Save Settings')?>"><br>
+ <?=$html->link(___('Return to Dashboard'), '/statistics/addon/'.$addon['Addon']['id'])?>
</div>
</form>
</div>
diff --git a/site/app/views/tags/display.thtml b/site/app/views/tags/display.thtml
index c684c31..87e3540 100644
--- a/site/app/views/tags/display.thtml
+++ b/site/app/views/tags/display.thtml
@@ -50,14 +50,14 @@
<div class="results-head">
<h2><span><?= $tag_text; ?></span></h2>
<h3 class="result-count">
- <?=sprintf(___('search_results_showing_x_of_y_for_tags_header', 'Showing %1$s - %2$s of %3$s results tagged with <strong>%4$s</strong>'), $offset+1, $offset+count($results), $total_count, $tag_text)?>
+ <?=sprintf(___('Showing %1$s - %2$s of %3$s results tagged with <strong>%4$s</strong>'), $offset+1, $offset+count($results), $total_count, $tag_text)?>
</h3>
</div>
<?php endif; ?>
<div class="featured listing results">
<div class="featured-inner">
<?php if (empty($results)): ?>
- <p class="addon-search-message"><?=_('search_nothing_found')?></p>
+ <p class="addon-search-message"><?=___('No results found.')?></p>
<?php else: ?>
<div class="listing-header">
<ul>
@@ -70,17 +70,17 @@
?>
</ul>
<form class="item-sort" method="get" action="<?= $html->url('display/'.$tag_text); ?>">
- <label><?=___('advanced_search_form_sortby'); ?></label>
+ <label><?=___('Sort By'); ?></label>
<?php
$sort_orders = array(
- 'newest' => ___('advanced_search_form_newest'),
- 'name' => ___('advanced_search_form_name'),
- 'averagerating' => ___('advanced_search_form_rating'),
- 'weeklydownloads' => ___('advanced_search_form_popularity')
+ 'newest' => ___('Newest'),
+ 'name' => ___('Name'),
+ 'averagerating' => ___('Rating'),
+ 'weeklydownloads' => ___('Popularity')
);
$html->simpleSelectTag('sort', $sort_orders, $sort, array(), array(), false);
?>
- <button><?=___('collections_index_button_go')?></button>
+ <button><?=___('Go')?></button>
</form>
<script type="text/javascript">collections.init();</script>
</div>
diff --git a/site/app/views/tags/top.thtml b/site/app/views/tags/top.thtml
index 00c1b02..2b9d5f2 100644
--- a/site/app/views/tags/top.thtml
+++ b/site/app/views/tags/top.thtml
@@ -69,7 +69,7 @@
</div>
<div class="primary" style="width:100%;" role="main">
- <h2><?=sprintf(___('top_tags_header', 'Top %s Tags'), $numTags)?></h2>
+ <h2><?=sprintf(___('Top %1$s Tags'), $numTags)?></h2>
<div class="featured listing results">
<div class="featured-inner">
<ul class="tag-cloud">
diff --git a/site/app/views/users/activatefirst.thtml b/site/app/views/users/activatefirst.thtml
index ed5a464..c8bd6cc 100644
--- a/site/app/views/users/activatefirst.thtml
+++ b/site/app/views/users/activatefirst.thtml
@@ -44,10 +44,10 @@
<div class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
- <?=$this->renderElement('notification', array('type' => 'error', 'msg' => _('error_user_unconfirmed')));?>
+ <?=$this->renderElement('notification', array('type' => 'error', 'msg' => ___('Please confirm your user account first with the code you received by email.')));?>
<br/>
- <p><?=sprintf(_('user_register_click_confirm_link'), $email, APP_PRETTYNAME)?></p>
+ <p><?=sprintf(___('A link to activate your user account was sent by email to your address %1$s. You have to click it before you can log into %2$s Add-ons.'), $email, APP_PRETTYNAME)?></p>
<br/>
- <p><?=sprintf(_('user_register_resend_confirmation_link'), $html->link(_('user_register_confirmation_link_text'), "/users/verify/{$userid}/resend"))?></p>
+ <p><?=sprintf(___('If you did not receive the confirmation email, make sure your email service did not mark it as "junk mail" or "spam". If you need to, you can have us %1$s to your email address mentioned above.'), $html->link(___('resend the confirmation message'), "/users/verify/{$userid}/resend"))?></p>
</div>
diff --git a/site/app/views/users/delete.thtml b/site/app/views/users/delete.thtml
index 046fa9c..22d6af5 100644
--- a/site/app/views/users/delete.thtml
+++ b/site/app/views/users/delete.thtml
@@ -47,12 +47,12 @@
<?php if (isset($success) && $success): ?>
<?=$this->renderElement('notification', array('type' => 'success',
-'msg' => ___('user_del_header_farewell', 'Farewell!'),
+'msg' => ___('Farewell!'),
'description' => sprintf(___('user_del_account_deleted', 'Your user account %1$s '
.'has been successfully deleted. If you want to come back some time, '
.'you can re-register on the <a href="%2$s">user registration page</a>.')
, $useremail, $html->url('/users/register')))); ?>
- <p><?=$html->link(_('link_return_to_front_page'), '/');?></p>
+ <p><?=$html->link(___('Click here to return to the front page.'), '/');?></p>
<?php else: ?>
<?php if (!empty($deleteerror)){
@@ -97,9 +97,9 @@
}
?>
- <h1><?php echo sprintf(___('user_del_header_delete_account', 'Delete User Account %s'), $useremail)?></h1>
+ <h1><?php echo sprintf(___('Delete User Account %1$s'), $useremail)?></h1>
- <p><?=___('user_del_community_sad', 'The Mozilla Add-ons community is sad to see you go.')?></p>
+ <p><?=___('The Mozilla Add-ons community is sad to see you go.')?></p>
<p><?php sprintf(___('user_del_specific_problem_editors', 'If you have a '
.'specific problem we may help you with, please do not delete your account '
@@ -107,12 +107,12 @@
.'solving it.'), $link->email('amo-editors@mozilla.org'))?></p>
<div class="highlight">
- <h2><?=___('user_del_header_confirm_deletion', 'Confirm account deletion')?></h2>
+ <h2><?=___('Confirm account deletion')?></h2>
<p><?=___('user_del_permanently_removed_means', 'By clicking "delete" your '
.'account is going to be <strong>permanently removed</strong>. That means:')?>
<ul>
- <li><?=___('user_del_nologin', 'You will not be able to log into Mozilla Add-ons anymore.')?></li>
+ <li><?=___('You will not be able to log into Mozilla Add-ons anymore.')?></li>
<li><?=___('user_del_reviews_anonymized', 'Your reviews and ratings will '
.'not be deleted, but they will no longer be associated with you.')?></li>
</ul>
@@ -120,9 +120,9 @@
<form action="<?=$html->entities($html->url())?>" method="post" class="amo-form">
<?=$html->hiddenSession() ?>
<div>
- <label class="amo-label-large" for="UserPassword"><?=___('user_del_confirm_password', 'Confirm Password')?></label>
+ <label class="amo-label-large" for="UserPassword"><?=___('Confirm Password')?></label>
<?=$html->password('User/password', array('autocomplete'=>'off')) ?>
- <?=$html->tagErrorMsg('User/password', _('error_wrong_password'))?>
+ <?=$html->tagErrorMsg('User/password', ___('Wrong password entered!'))?>
</div>
<p>
@@ -131,9 +131,9 @@
'I understand that this step cannot be undone.')?></label>
</p>
- <p><?=$html->submit(___('user_del_deletenow', 'Delete my user account now')); ?></p>
+ <p><?=$html->submit(___('Delete my user account now')); ?></p>
</form>
</div>
- <p><?=$html->link(_('link_return_to_front_page'), '/');?></p>
+ <p><?=$html->link(___('Click here to return to the front page.'), '/');?></p>
<?php endif; ?>
</div>
diff --git a/site/app/views/users/edit.thtml b/site/app/views/users/edit.thtml
index d4b60e6..afd9017 100644
--- a/site/app/views/users/edit.thtml
+++ b/site/app/views/users/edit.thtml
@@ -65,76 +65,76 @@ $this->translationBox = array(
<?echo $this->renderElement('notification', array('type' => 'success', 'msg' => $confirmation_message))?>
<?php if (isset($newemail) && $newemail): ?>
- <?echo $this->renderElement('notification', array('type' => 'success', 'description' => sprintf(___('user_edit_confirm_email_sent'), $newemail)));?>
+ <?echo $this->renderElement('notification', array('type' => 'success', 'description' => sprintf(___('An email has been sent to %1$s to confirm your new email address. For the change to take effect, you need to click on the link provided in this email. Until then, you can keep logging in with your current email address.'), $newemail)));?>
<?php endif; ?>
<?php endif; ?>
<?php if(isset($errorMessage)): ?>
- <?echo $this->renderElement('notification', array('type' => 'error', 'msg' => _('error_formerrors')));?>
+ <?echo $this->renderElement('notification', array('type' => 'error', 'msg' => ___('There are errors in this form. Please correct them and resubmit.')));?>
<p></p>
<?php endif; ?>
-<h1><?php printf(_('user_form_editprofile'), $this->data['User']['email']); ?></h1>
+<h1><?php printf(___('Edit user profile for %s'), $this->data['User']['email']); ?></h1>
<form enctype="multipart/form-data" action="<?=$html->entities($html->url())?>" method="post" class="amo-form">
<?=$html->hiddenSession() ?>
<div id="tabbed-editor" class="flora">
<ul class="tabs-nav">
- <li><a href="#profile-user"><span><?=___('user_tab_profile', 'User Profile');?></span></a></li>
- <li><a href="#profile-collections"><span><?=___('user_tab_collections');?></span></a></li>
- <li><a href="#profile-notifications"><span><?=___('user_tab_notifications');?></span></a></li>
- <li><a href="#profile-change-pw-email"><span><?=_('user_change_password_or_email'); ?></span></a></li>
- <li><a href="#profile-other"><span><?=___('user_form_otheractions');?></span></a></li>
+ <li><a href="#profile-user"><span><?=___('User Profile');?></span></a></li>
+ <li><a href="#profile-collections"><span><?=___('Collections');?></span></a></li>
+ <li><a href="#profile-notifications"><span><?=___('Notifications');?></span></a></li>
+ <li><a href="#profile-change-pw-email"><span><?=___('Change Password or Email'); ?></span></a></li>
+ <li><a href="#profile-other"><span><?=___('Other Actions');?></span></a></li>
</ul>
<div id="profile-user">
- <h3 class="hidden"><?=___('user_tab_profile', 'User Profile');?></h3>
+ <h3 class="hidden"><?=___('User Profile');?></h3>
<div class="line">
- <label class="amo-label-large" for="UserFirstname"><?=_('user_form_firstname')?></label>
+ <label class="amo-label-large" for="UserFirstname"><?=___('First name')?></label>
<?=$html->input('User/firstname') ?>
- <?=$html->tagErrorMsg('User/firstname', _('error_field_required'))?>
- <?=___('user_required_firstlast_or_nickname', 'A first name, last name or nickname is required.')?>
+ <?=$html->tagErrorMsg('User/firstname', ___('This field must not be empty.'))?>
+ <?=___('A first name, last name or nickname is required.')?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserLastname"><?=_('user_form_lastname')?></label>
+ <label class="amo-label-large" for="UserLastname"><?=___('Last name')?></label>
<?=$html->input('User/lastname') ?>
- <?=$html->tagErrorMsg('User/lastname', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('User/lastname', ___('This field must not be empty.'))?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserNickname"><?=_('user_form_nickname')?></label>
+ <label class="amo-label-large" for="UserNickname"><?=___('Nickname')?></label>
<?=$html->input('User/nickname') ?>
- <?=$html->tagErrorMsg('User/nickname', _('error_user_nickname_notunique'))?>
+ <?=$html->tagErrorMsg('User/nickname', ___('This nickname is already taken.'))?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserLocation"><?=___('user_form_location', 'Location')?></label>
+ <label class="amo-label-large" for="UserLocation"><?=___('Location')?></label>
<?=$html->input('User/location') ?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserOccupation"><?=___('user_form_occupation', 'Occupation')?></label>
+ <label class="amo-label-large" for="UserOccupation"><?=___('Occupation')?></label>
<?=$html->input('User/occupation') ?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserHomepage"><?=_('user_form_homepage')?></label>
+ <label class="amo-label-large" for="UserHomepage"><?=___('Website URL')?></label>
<?=$html->input('User/homepage') ?>
- <?=$html->tagErrorMsg('User/homepage', _('error_invalid_url'))?>
+ <?=$html->tagErrorMsg('User/homepage', ___('This URL has an invalid format. Valid URLs look like http://example.com/my_page.'))?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserEmailhidden"><?=_('user_form_hideemail')?></label>
+ <label class="amo-label-large" for="UserEmailhidden"><?=___('Hide email address')?></label>
<?=$html->checkBox('User/emailhidden') ?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserPictureData"><?=___('user_form_picture', 'Picture')?></label>
+ <label class="amo-label-large" for="UserPictureData"><?=___('Picture')?></label>
<div class="edit-picture">
- <img src="<?=$html->url("/user/{$user_id}/picture?{$this->data['User']['picture_hash']}{$_how_much_cake_sucks_on_a_scale_of_1_to_10}")?>" alt="<?=empty($this->data['User']['picture_data']) ? ___('user_picture_alt_no_picture', 'No photo') : sprintf(___('user_picture_alt_name', 'Picture of %1$s'), $this->data['User']['email'])?>" class="avatar photo-large photo" />
+ <img src="<?=$html->url("/user/{$user_id}/picture?{$this->data['User']['picture_hash']}{$_how_much_cake_sucks_on_a_scale_of_1_to_10}")?>" alt="<?=empty($this->data['User']['picture_data']) ? ___('No photo') : sprintf(___('Picture of %1$s'), $this->data['User']['email'])?>" class="avatar photo-large photo" />
<br />
<?php if(!empty($this->data['User']['picture_data'])): ?>
- <label for="UserRemovepicture"><?=___('user_form_delete_picture', 'Remove this picture?')?></label>
+ <label for="UserRemovepicture"><?=___('Remove this picture?')?></label>
<?=$html->checkBox('User/removepicture') ?><br />
<? endif; ?>
- <label for="UserRemovepicture"><?=___('user_form_new_picture', 'Upload a new picture?')?></label>
+ <label for="UserRemovepicture"><?=___('Upload a new picture?')?></label>
<?=$html->file('User/picture_data') ?>
<?=$html->tagErrorMsg('User/picture_data', @$picture_error)?>
</div>
@@ -146,52 +146,52 @@ $this->translationBox = array(
'translations' => $translations['bio'],
'height' => '100',
'maxLength' => '500',
- 'displayName' => ___('user_form_bio'),
- 'description' => ___('user_form_bio_description'),
+ 'displayName' => ___('About me'),
+ 'description' => ___('Introduce yourself to the community, if you like! This text will appear publicly on your user info page. Line breaks will be preserved, but no HTML is allowed.'),
));
?>
</div>
</div>
<div id="profile-collections">
- <h3 class="hidden"><?=___('user_tab_collections');?></h3>
+ <h3 class="hidden"><?=___('Collections');?></h3>
<div class="line">
<?=$html->checkbox('User/display_collections') ?>
- <label for="UserDisplayCollections"><?=___('user_form_display_collections')?></label>
+ <label for="UserDisplayCollections"><?=___('Display the collections I have created in my user profile')?></label>
</div>
<div class="line">
<?=$html->checkbox('User/display_collections_fav') ?>
- <label for="UserDisplayCollectionsFav"><?=___('user_form_display_collections_fav')?></label>
+ <label for="UserDisplayCollectionsFav"><?=___('Display my favorite collections in my user profile')?></label>
</div>
</div>
<div id="profile-notifications">
- <h3 class="hidden"><?=___('user_tab_notifications', 'Notifications');?></h3>
+ <h3 class="hidden"><?=___('Notifications');?></h3>
<?php if (empty($userAddons) && empty($userVersionThreads)): ?>
- <p><?=___('user_notifications_none_available', 'There are currently no notifications available for you to configure.')?></p>
+ <p><?=___('There are currently no notifications available for you to configure.')?></p>
<?php endif; ?>
<?php if (!empty($userAddons)): ?>
- <p><?=___('user_notifications_select_topics', 'From time to time, Mozilla may send you email about upcoming releases and add-on events. Please select the topics you are interested in below:')?></p>
+ <p><?=___('From time to time, Mozilla may send you email about upcoming releases and add-on events. Please select the topics you are interested in below:')?></p>
<ul>
<li><label for="UserNotifycompat"><?=$html->checkbox('User/notifycompat')?>&nbsp;<?=___('user_notifications_item_compat', 'Add-on Compatibility (strongly recommended)')?></label></li>
- <li><label for="UserNotifyevents"><?=$html->checkbox('User/notifyevents')?>&nbsp;<?=___('user_notifications_item_events', 'Upcoming events and contests')?></label></li>
+ <li><label for="UserNotifyevents"><?=$html->checkbox('User/notifyevents')?>&nbsp;<?=___('Upcoming events and contests')?></label></li>
</ul>
- <p><?=___('user_notifications_specific_contact', 'Mozilla reserves the right to contact you individually about specific concerns with your hosted add-ons.')?></p>
+ <p><?=___('Mozilla reserves the right to contact you individually about specific concerns with your hosted add-ons.')?></p>
<?php endif; ?>
<?php if (!empty($userVersionThreads)): ?>
<div class="line">
<div class="graybox rounded spaced">
- <h4><?=___('user_notifications_editor_discussions', 'Editor Review Discussions')?></h4>
- <p><?=___('user_notifications_unselect_discussions', 'You will be notified when there is activity in any of the following discussions. Please uncheck those you wish to unsubscribe from.')?></p>
+ <h4><?=___('Editor Review Discussions')?></h4>
+ <p><?=___('You will be notified when there is activity in any of the following discussions. Please uncheck those you wish to unsubscribe from.')?></p>
<table id="editor-subscriptions">
<thead>
<tr>
<th><?php /* jquery will add a check/uncheck all box here */ ?></th>
- <th><?=___('user_notifications_th_addon', 'Add-on')?></th>
- <th><?=___('user_notifications_th_subject', 'Subject')?></th>
- <th><?=___('user_notifications_th_subscription_date', 'Subscription Date')?></th>
+ <th><?=___('Add-on')?></th>
+ <th><?=___('Subject')?></th>
+ <th><?=___('Subscription Date')?></th>
</tr>
</thead>
<tbody><?php foreach ($userVersionThreads as $thread): ?>
@@ -199,7 +199,7 @@ $this->translationBox = array(
<td><?=$html->checkbox("Subscriptions/{$thread['Subscription']['comment_id']}", null, array('value' => '1'))?></td>
<td><label for="Subscriptions<?=$thread['Subscription']['comment_id']?>"><?=$thread['Addon']['Translation']['name']['string']?> <?=$thread['Version']['version']?></label></td>
<td><?=$html->link($thread['Versioncomment']['subject'], "/editors/review/{$thread['Version']['id']}#editorComment{$thread['Versioncomment']['id']}")?></td>
- <td><?=strftime(_('datetime'), strtotime($thread['Subscription']['modified']))?></td>
+ <td><?=strftime(___('%B %e, %Y, %I:%M %p'), strtotime($thread['Subscription']['modified']))?></td>
</tr><?php endforeach; ?>
</tbody>
</table>
@@ -209,43 +209,43 @@ $this->translationBox = array(
</div>
<div id="profile-change-pw-email">
- <h3><?=_('user_change_password'); ?></h3>
+ <h3><?=___('Change password'); ?></h3>
<div class="line">
- <label class="amo-label-large" for="UserPassword"><?=_('user_form_oldpassword')?></label>
+ <label class="amo-label-large" for="UserPassword"><?=___('Old password')?></label>
<?=$html->password('User/password', array('autocomplete'=>'off')) ?>
- <?=$html->tagErrorMsg('User/password', _('error_wrong_password'))?>
+ <?=$html->tagErrorMsg('User/password', ___('Wrong password entered!'))?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserNewpassword"><?=_('user_form_newpassword')?></label>
+ <label class="amo-label-large" for="UserNewpassword"><?=___('New password')?></label>
<?=$html->password('User/newpassword', array('autocomplete'=>'off')) ?>
<?=$html->tagErrorMsg('User/newpassword', 'error_field_required')?>
</div>
<div class="line">
- <label class="amo-label-large" for="UserConfirmpw"><?=_('user_form_confirmpassword')?></label>
+ <label class="amo-label-large" for="UserConfirmpw"><?=___('Confirm password')?></label>
<?=$html->password('User/confirmpw', array('autocomplete'=>'off')) ?>
- <?=$html->tagErrorMsg('User/confirmpw', _('error_user_confirmpw_nomatch'))?>
+ <?=$html->tagErrorMsg('User/confirmpw', ___('The passwords did not match.'))?>
</div>
- <h3><?=___('user_change_email', 'Change Email Address');?></h3>
+ <h3><?=___('Change Email Address');?></h3>
<div class="line">
- <label class="amo-label-large" for="UserEmail"><?=_('user_form_email')?></label>
+ <label class="amo-label-large" for="UserEmail"><?=___('Email address')?></label>
<?=$html->input('User/email') ?>
<?php if (isset($error_email_notunique))
- echo '<div class="error_message">'._('error_user_email_notunique').'</div>';
+ echo '<div class="error_message">'.___('This email address is already taken by another user.').'</div>';
elseif (isset($error_email_empty))
- echo '<div class="error_message">'._('error_field_required').'</div>';
+ echo '<div class="error_message">'.___('This field must not be empty.').'</div>';
else
- echo $html->tagErrorMsg('User/email', _('error_email_invalid'));
+ echo $html->tagErrorMsg('User/email', ___('This is not a valid email address.'));
?>
</div>
</div>
<div id="profile-other">
- <h3 class="hidden"><?=___('user_form_otheractions', 'Other Actions');?></h3>
- <p><?=$html->link(___('user_edit_delete_user', 'Delete user account'), '/users/delete');?></p>
+ <h3 class="hidden"><?=___('Other Actions');?></h3>
+ <p><?=$html->link(___('Delete user account'), '/users/delete');?></p>
</div>
</div><!-- /#tabbed-editor -->
- <?=$html->submit(_('user_form_submit_edit'), array('class'=>'amo-submit')); ?>
+ <?=$html->submit(___('Save'), array('class'=>'amo-submit')); ?>
</form>
</div><!-- /.primary -->
diff --git a/site/app/views/users/email/confirm_plain.thtml b/site/app/views/users/email/confirm_plain.thtml
index 0e0460b..c95fa21 100644
--- a/site/app/views/users/email/confirm_plain.thtml
+++ b/site/app/views/users/email/confirm_plain.thtml
@@ -3,6 +3,6 @@ $confirmurl = SITE_URL.$html->url('/users/verify/'.$userid.'/'
.$data['User']['confirmationcode'], true);
// the whole email is localized.
-echo $html->lineBreaks(sprintf(_('user_email_confirm_account_nopass'),
+echo $html->lineBreaks(sprintf(___('Welcome to %2$s Add-ons.\n\nBefore you can use your new account you must activate it - this ensures the e-mail address you used is valid and belongs to you.\nTo activate your account, click the link below or copy and paste the whole thing into your browser\'s location bar:\n\n%1$s\n\nOnce you\'ve successfully activated your account, you can throw away this e-mail.\n\nThanks for joining %2$s Add-ons\n-- %2$s Add-ons Staff'),
$confirmurl, APP_PRETTYNAME));
?>
diff --git a/site/app/views/users/email/emailchange_plain.thtml b/site/app/views/users/email/emailchange_plain.thtml
index 4a1a852..e43ea1a 100644
--- a/site/app/views/users/email/emailchange_plain.thtml
+++ b/site/app/views/users/email/emailchange_plain.thtml
@@ -2,6 +2,6 @@
$confirmurl = SITE_URL.$html->url('/users/emailchange/'.$userid.'?code='
.urlencode($changecode), true);
-echo $html->lineBreaks(sprintf(___('user_email_confirm_emailchange'), $confirmurl, APP_PRETTYNAME));
+echo $html->lineBreaks(sprintf(___('You requested a change to your email address at %2$s Add-ons.\n\nIn order to confirm the new address, please click the link below or copy and paste the whole thing into your browser\'s location bar:\n\n%1$s\n\nYou have 48 hours to confirm the new address. If you do not want to change the address anymore, you can just ignore this email.\n\nThanks!\n-- %2$s Add-ons Staff'), $confirmurl, APP_PRETTYNAME));
?>
diff --git a/site/app/views/users/email/pwreset_plain.thtml b/site/app/views/users/email/pwreset_plain.thtml
index 39b9071..9f58558 100644
--- a/site/app/views/users/email/pwreset_plain.thtml
+++ b/site/app/views/users/email/pwreset_plain.thtml
@@ -2,5 +2,5 @@
$reseturl = SITE_URL.$html->url('/users/pwreset/'.$data['User']['id']
.'/'.$resetcode, true);
-echo $html->lineBreaks(sprintf(_('user_email_pwreset'), $reseturl, APP_PRETTYNAME));
+echo $html->lineBreaks(sprintf(___('%2$s Add-ons Password Reset\n\nA request was received to reset the password for this account on addons.mozilla.org. To change this password please click on the following link, or paste it into your browser\'s location bar:\n\n%1$s\n\nIf you did not request this email there is no need for further action.\n\nThanks,\n-- %2$s Add-ons Staff'), $reseturl, APP_PRETTYNAME));
?>
diff --git a/site/app/views/users/emailchange.thtml b/site/app/views/users/emailchange.thtml
index 9f91a53..ba79248 100644
--- a/site/app/views/users/emailchange.thtml
+++ b/site/app/views/users/emailchange.thtml
@@ -45,10 +45,10 @@
<?=$this->renderElement('amo2009/search')?>
<?php
-$_user_emailchange_success = ___('user_emailchange_success');
-$_user_emailchange_successful_description = sprintf(___('user_emailchange_successful_description'), $newemail);
-$_user_emailchange_error = ___('user_emailchange_error');
-$_link_return_to_front_page = ___('link_return_to_front_page');
+$_user_emailchange_success = ___('Success!');
+$_user_emailchange_successful_description = sprintf(___('Your email address was changed successfully. From now on, please use %1$s to log in.'), $newemail);
+$_user_emailchange_error = ___('Error!');
+$_link_return_to_front_page = ___('Click here to return to the front page.');
if (!isset($errormsg)): ?>
<?=$this->renderElement('notification', array('type' => 'success', 'msg' => $_user_emailchange_success, 'description' => $_user_emailchange_successful_description))?>
diff --git a/site/app/views/users/info.thtml b/site/app/views/users/info.thtml
index 4d7753c..f20b736 100644
--- a/site/app/views/users/info.thtml
+++ b/site/app/views/users/info.thtml
@@ -47,19 +47,19 @@
<?=$this->renderElement('amo2009/breadcrumbs', array(
'breadcrumbs' => array(
- sprintf(___('addons_home_pagetitle'), APP_PRETTYNAME) => '/')
+ sprintf(___('Add-ons for %1$s'), APP_PRETTYNAME) => '/')
))?>
<div class="vcard">
<h2 class="fn n"><?=$user['User']['display_name']?></h2>
<div class="featured">
<div class="featured-inner object-lead">
- <h3><?=___('users_info_aboutme')?></h3>
+ <h3><?=___('About Me')?></h3>
<img class="avatar thumbnail" alt=""
src="<?=$html->url('/users/picture/'.$user['User']['id'])?>"/>
<div class="object-content">
<?php if (!empty($user['Addon'])): ?>
- <p class="user-role"><?=___('users_info_developer', 'Add-ons Developer')?></p>
+ <p class="user-role"><?=___('Add-ons Developer')?></p>
<?php endif; ?>
<?=$this->renderElement('amo2009/users/vcard',
array('user' => $user['User'],
@@ -70,7 +70,7 @@
</div> <!-- object-content -->
<?php $bio = trim($user['Translation']['bio']['string']); ?>
<?php if ($bio): ?>
- <h4><?=___('users_info_in_a_little', 'In a little more detail&hellip;')?></h4>
+ <h4><?=___('In a little more detail&hellip;')?></h4>
<p class="description"><?=nl2br($bio)?></p>
<?php endif; ?>
</div> <!-- featured-inner -->
@@ -87,7 +87,7 @@
<?php if (!empty($user['Review'])): ?>
<div class="primary">
- <h3><?=___('users_info_my_reviews', 'My Reviews')?></h3>
+ <h3><?=___('My Reviews')?></h3>
<div class="article">
<?php foreach ($user['Review'] as $review): ?>
<?php $_addon = $review['Addon']; ?>
@@ -105,7 +105,7 @@
array('rating' => $review['Review']['rating']))?>
<abbr class="dtreviewed"
title="<?=strftime(ISO8601_DATE, strtotime($review['Review']['created']))?>">
- <?=strftime(_('date'), strtotime($review['Review']['created']))?>
+ <?=strftime(___('%B %e, %Y'), strtotime($review['Review']['created']))?>
</abbr>
</p>
</div>
@@ -116,14 +116,14 @@
<?php if (!empty($favorite_collections) || !empty($own_collections)): ?>
<div class="secondary" role="complementary">
- <h3><?=___('collections_index_li_mine')?></h3>
+ <h3><?=___('My Collections')?></h3>
<div class="secondary-item-list">
<?=$this->renderElement('amo2009/users/collection_list', array(
- 'heading' => ___('users_info_favorites', 'Favorites'),
+ 'heading' => ___('Favorites'),
'collections' => $favorite_collections,
))?>
<?=$this->renderElement('amo2009/users/collection_list', array(
- 'heading' => ___('users_info_created_by', 'Created by Me'),
+ 'heading' => ___('Created by Me'),
'collections' => $own_collections,
))?>
</div>
diff --git a/site/app/views/users/login.thtml b/site/app/views/users/login.thtml
index ceaa69b..14646d0 100644
--- a/site/app/views/users/login.thtml
+++ b/site/app/views/users/login.thtml
@@ -35,7 +35,7 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
?>
<div class="secondary" role="complementary">
@@ -44,18 +44,18 @@
<div class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
-
- <h2><?=___('user_login_header', 'Log In')?></h2>
-
+
+ <h2><?=___('Log In')?></h2>
+
<?php
//banner warning messages for display
if(isset($_GET['m'])) {
switch ($_GET['m']) {
case 1:
- $warn_msg = sprintf(_('users_login_sandbox_display_warning'), '/pages/policy');
+ $warn_msg = sprintf(___('The add-on you\'re looking for is currently in the sandbox. If you already have an account on Mozilla Add-ons, please log in, or <a href="%1$s">learn more about the sandbox.</a>'), '/pages/policy');
break;
case 2:
- $warn_msg = sprintf(_('users_login_sandbox_page_warning'), '/pages/policy');
+ $warn_msg = sprintf(___('The page you\'re looking for is part of the sandbox. If you already have an account on Mozilla Add-ons, please log in, or <a href="%1$s">learn more about the sandbox.</a>'), '/pages/policy');
break;
default:
$warn_msg = null;
@@ -66,34 +66,34 @@
?>
<?php if ($loginerror)
- echo $this->renderElement('notification', array('type' => 'error', 'description' => _('error_username_or_pw_wrong')));
+ echo $this->renderElement('notification', array('type' => 'error', 'description' => ___('Wrong username or password!')));
?>
<p></p>
<div class="primary">
<div class="featured">
<form action="<?=$html->entities($html->url())?>" method="post" id="login" class="featured-inner object-lead">
- <?=$html->hiddenSession() ?>
+ <?=$html->hiddenSession() ?>
<div>
- <?
+ <?
$redir = (isset($_GET['to'])) ? urldecode($_GET['to']) : urldecode(@$this->data['Login']['referer']);
$redir = $html->entities($redir);
echo $html->hidden('Login/referer', array('value' => $redir));
?>
</div>
<div class="container">
- <label for="LoginEmail"><?=_('user_form_email')?></label>
+ <label for="LoginEmail"><?=___('Email address')?></label>
<?=$html->input('Login/email') ?>
</div>
<div class="container">
- <label for="LoginPassword"><?=_('user_form_password')?></label>
+ <label for="LoginPassword"><?=___('Password')?></label>
<?=$html->password('Login/password') ?>
</div>
<div class="container remember">
<?=$html->input('Login/remember', array('type' => 'checkbox', 'value' => '1'))?>
- <label for="LoginRemember"><?=___('user_form_remember_me')?></label>
+ <label for="LoginRemember"><?=___('Remember me on this computer')?></label>
</div>
<div class="container">
- <button type="submit" class="prominent"><?= _('user_form_submit_login') ?></button>
+ <button type="submit" class="prominent"><?= ___('Log in') ?></button>
</div>
</form>
</div>
@@ -105,10 +105,10 @@
<div class="secondary">
<div id="login-help" class="article">
- <h3><?=___('user_login_problems', 'Login Problems?')?></h3>
+ <h3><?=___('Login Problems?')?></h3>
<ul>
- <li><?= $html->link(___('user_login_no_account', "I don't have an account."), '/users/register'); ?></li>
- <li><?= $html->link(___('user_login_forgot_password', 'I forgot my password.'), '/users/pwreset'); ?></li>
+ <li><?= $html->link(___('I don\'t have an account.'), '/users/register'); ?></li>
+ <li><?= $html->link(___('I forgot my password.'), '/users/pwreset'); ?></li>
</ul>
</div>
</div>
diff --git a/site/app/views/users/pwreset.thtml b/site/app/views/users/pwreset.thtml
index b9962c0..8e97d84 100644
--- a/site/app/views/users/pwreset.thtml
+++ b/site/app/views/users/pwreset.thtml
@@ -49,12 +49,12 @@
<form action="<?=$html->entities($html->url())?>" method="post" class="amo-form corner-box">
<?=$html->hiddenSession() ?>
<div class="container">
- <label class="amo-label-large" for="UserEmail"><?=_('user_form_email')?></label>
+ <label class="amo-label-large" for="UserEmail"><?=___('Email address')?></label>
<?=$html->input('User/email') ?>
- <?=$html->tagErrorMsg('User/email', _('error_user_notfound'))?>
+ <?=$html->tagErrorMsg('User/email', ___('User not found!'))?>
</div>
<div class="container">
- <?=$html->submit(_('user_pwreset_submit_sendlink'), array('class'=>'amo-submit')); ?>
+ <?=$html->submit(___('Send password reset link'), array('class'=>'amo-submit')); ?>
</div>
</form>
<?php
@@ -62,24 +62,24 @@
else:
?>
-<h1><?php echo sprintf(_('user_pwreset_for_email'), $email); ?></h1>
+<h1><?php echo sprintf(___('Password reset for %s'), $email); ?></h1>
<p></p>
<form action="<?=$html->entities($html->url())?>" method="post" class="amo-form corner-box">
<?=$html->hiddenSession() ?>
<div class="container">
- <label class="amo-label-large" for="UserPassword"><?=_('user_form_newpassword')?></label>
+ <label class="amo-label-large" for="UserPassword"><?=___('New password')?></label>
<?=$html->password('User/password') ?>
- <?=$html->tagErrorMsg('User/password', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('User/password', ___('This field must not be empty.'))?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserConfirmpw"><?=_('user_form_confirmpassword')?></label>
+ <label class="amo-label-large" for="UserConfirmpw"><?=___('Confirm password')?></label>
<?=$html->password('User/confirmpw') ?>
- <?=$html->tagErrorMsg('User/confirmpw', _('error_user_confirmpw_nomatch'))?>
+ <?=$html->tagErrorMsg('User/confirmpw', ___('The passwords did not match.'))?>
</div>
<div class="container">
- <?=$html->submit(_('user_pwreset_submit_changepw'), array('class'=>'amo-submit'));?>
+ <?=$html->submit(___('Submit password change'), array('class'=>'amo-submit'));?>
</div>
</form>
<?php endif; ?>
diff --git a/site/app/views/users/register.thtml b/site/app/views/users/register.thtml
index 1802c9f..418199f 100644
--- a/site/app/views/users/register.thtml
+++ b/site/app/views/users/register.thtml
@@ -35,7 +35,7 @@
* the provisions above, a recipient may use your version of this file under
* the terms of any one of the MPL, the GPL or the LGPL.
*
- * ***** END LICENSE BLOCK ***** */
+ * ***** END LICENSE BLOCK ***** */
?>
<div class="secondary" role="complementary">
@@ -44,73 +44,73 @@
<div class="primary prose" role="main">
<?=$this->renderElement('amo2009/search')?>
-
+
<div>
- <h1><?= ___('user_register_welcome_header') ?></h1>
- <?= sprintf(___('user_register_details'), 'http://www.mozilla.com/about/legal.html', $html->url('/pages/privacy')) ?>
+ <h1><?= ___('Welcome to addons.mozilla.org (AMO)!') ?></h1>
+ <?= sprintf(___('<p>Registration on AMO is <strong>not required</strong> if you simply want to download and install public add-ons.</p><p>You only need to register if:</p><ul><li>You want to submit reviews for add-ons</li><li>You want to keep track of your favorite add-on collections or create one yourself</li><li>You are an add-on developer and want to upload your add-on for hosting on AMO</li></ul><p>Upon successful registration, you will be sent a confirmation email to the address you provided. Please follow the instructions there to confirm your account.</p><p>If you like, you can read our <a href=\'%1$s\' title=\'Legal Notices\'>Legal Notices</a> and <a href=\'%2$s\' title=\'Privacy Policy\'>Privacy Policy</a>.</p>'), 'http://www.mozilla.com/about/legal.html', $html->url('/pages/privacy')) ?>
</div>
<?php if(isset($errorMessage)): ?>
-<?=$this->renderElement('notification', array('type' => 'error', 'msg' => _('error_formerrors')));?>
+<?=$this->renderElement('notification', array('type' => 'error', 'msg' => ___('There are errors in this form. Please correct them and resubmit.')));?>
<p></p>
-<?php
+<?php
endif;
?>
<form action="<?=$html->entities($html->url())?>" method="post" class="amo-form">
- <?=$html->hiddenSession() ?>
+ <?=$html->hiddenSession() ?>
<div class="container">
- <label class="amo-label-large" for="UserEmail"><?=_('user_form_email')?></label>
+ <label class="amo-label-large" for="UserEmail"><?=___('Email address')?></label>
<?=$html->input('User/email') ?>
- <?=(isset($error_email_notunique)) ? '<div class="error_message">'._('error_user_email_notunique').'</div>' : $html->tagErrorMsg('User/email', _('error_email_invalid'))?>
+ <?=(isset($error_email_notunique)) ? '<div class="error_message">'.___('This email address is already taken by another user.').'</div>' : $html->tagErrorMsg('User/email', ___('This is not a valid email address.'))?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserPassword"><?=_('user_form_password')?></label>
+ <label class="amo-label-large" for="UserPassword"><?=___('Password')?></label>
<?=$html->password('User/password') ?>
- <?=$html->tagErrorMsg('User/password', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('User/password', ___('This field must not be empty.'))?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserConfirmpw"><?=_('user_form_confirmpassword')?></label>
+ <label class="amo-label-large" for="UserConfirmpw"><?=___('Confirm password')?></label>
<?=$html->password('User/confirmpw') ?>
- <?=$html->tagErrorMsg('User/confirmpw', _('error_user_confirmpw_nomatch'))?>
+ <?=$html->tagErrorMsg('User/confirmpw', ___('The passwords did not match.'))?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserFirstname"><?=_('user_form_firstname')?></label>
+ <label class="amo-label-large" for="UserFirstname"><?=___('First name')?></label>
<?=$html->input('User/firstname') ?>
- <?=$html->tagErrorMsg('User/firstname', _('error_field_required'))?>
- <?=___('user_required_firstlast_or_nickname', 'A first name, last name or nickname is required.')?>
+ <?=$html->tagErrorMsg('User/firstname', ___('This field must not be empty.'))?>
+ <?=___('A first name, last name or nickname is required.')?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserLastname"><?=_('user_form_lastname')?></label>
+ <label class="amo-label-large" for="UserLastname"><?=___('Last name')?></label>
<?=$html->input('User/lastname') ?>
- <?=$html->tagErrorMsg('User/lastname', _('error_field_required'))?>
+ <?=$html->tagErrorMsg('User/lastname', ___('This field must not be empty.'))?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserNickname"><?=_('user_form_nickname')?></label>
+ <label class="amo-label-large" for="UserNickname"><?=___('Nickname')?></label>
<?=$html->input('User/nickname') ?>
- <?=$html->tagErrorMsg('User/nickname', _('error_user_nickname_notunique'))?>
+ <?=$html->tagErrorMsg('User/nickname', ___('This nickname is already taken.'))?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserEmailhidden"><?=_('user_form_hideemail')?></label>
+ <label class="amo-label-large" for="UserEmailhidden"><?=___('Hide email address')?></label>
<?=$html->checkBox('User/emailhidden')?>
</div>
<div class="container">
- <label class="amo-label-large" for="UserHomepage"><?=_('user_form_homepage')?></label>
+ <label class="amo-label-large" for="UserHomepage"><?=___('Website URL')?></label>
<?=$html->input('User/homepage') ?>
- <?=$html->tagErrorMsg('User/homepage', _('error_invalid_url'))?>
+ <?=$html->tagErrorMsg('User/homepage', ___('This URL has an invalid format. Valid URLs look like http://example.com/my_page.'))?>
</div>
<?php if (isset($this->controller->Recaptcha) && $this->controller->Recaptcha->enabled): ?>
<div class="container">
<div class="amo-label-large">
- <label for="recaptcha_response_field"><?=___('recaptcha_label', 'Are you human?')?></label><br/>
- <span id="recaptcha_whatsthis"><a href="javascript:Recaptcha.showhelp()"><?=___('recaptcha_whatsthis', "What's this?")?></a></span>
+ <label for="recaptcha_response_field"><?=___('Are you human?')?></label><br/>
+ <span id="recaptcha_whatsthis"><a href="javascript:Recaptcha.showhelp()"><?=___('What\'s this?')?></a></span>
</div>
<div class="amo-form-indent"><?=$this->renderElement('recaptcha')?></div>
- <?=$html->tagErrorMsg('User/captcha', ___('error_invalid_captcha', 'Invalid captcha, please try again!'))?>
+ <?=$html->tagErrorMsg('User/captcha', ___('Invalid captcha, please try again!'))?>
</div>
<?php endif; ?>
<div class="container">
- <?=$html->submit(_('user_form_submit_register'), array('class'=>'amo-submit')); ?>
+ <?=$html->submit(___('Register'), array('class'=>'amo-submit')); ?>
</div>
</form>
diff --git a/site/app/views/users/register_complete.thtml b/site/app/views/users/register_complete.thtml
index f709972..cbcb51b 100644
--- a/site/app/views/users/register_complete.thtml
+++ b/site/app/views/users/register_complete.thtml
@@ -44,11 +44,11 @@
<div class="primary" role="main">
<?=$this->renderElement('amo2009/search')?>
- <?=$this->renderElement('notification', array('type' => 'success', 'msg' => _('user_register_congratulations')));?>
+ <?=$this->renderElement('notification', array('type' => 'success', 'msg' => ___('Congratulations! Your user account was successfully created.')));?>
- <p><?=sprintf(_('user_register_confirm_email_sent'), $data['User']['email'])?></p>
+ <p><?=sprintf(___('An email has been sent to your address %1$s to confirm your account. Before you can log in, you have to activate your account by clicking on the link provided in this email.'), $data['User']['email'])?></p>
- <p><?=sprintf(_('user_register_welcome'), $html->link(sprintf(_('user_register_amo_link'), APP_PRETTYNAME), '/'))?></p>
+ <p><?=sprintf(___('Thanks for registering and welcome to %1$s!'), $html->link(sprintf(___('%s Add-ons'), APP_PRETTYNAME), '/'))?></p>
</div>
</div>
diff --git a/site/app/views/versions/license.thtml b/site/app/views/versions/license.thtml
index 9ec8715..1a31f7c 100644
--- a/site/app/views/versions/license.thtml
+++ b/site/app/views/versions/license.thtml
@@ -51,7 +51,7 @@
$addon_name = '<span' . $addon['Translation']['name']['locale_html'] . '>' . $addon['Translation']['name']['string'] . '</span>';
$addon_link = $html->link($addon_name, '/addon/'.$addon_id);
$version_link = $html->link($version_name, '/addons/versions/'.$addon_id.'#version-'.$version_name);
- $header = sprintf(___('versions_license_header_source'), $addon_link, $version_link);
+ $header = sprintf(___('Source code license for %1$s %2$s'), $addon_link, $version_link);
?>
<h2><?=$header?></h2>
diff --git a/site/app/views/versions/update_info.thtml b/site/app/views/versions/update_info.thtml
index 70159f8..68e9366 100644
--- a/site/app/views/versions/update_info.thtml
+++ b/site/app/views/versions/update_info.thtml
@@ -53,4 +53,4 @@ define('NO_MICROTIME', true);
echo $updateInfo;
?></p>
</body>
-</html> \ No newline at end of file
+</html>