Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/site/app/views/developers
diff options
context:
space:
mode:
Diffstat (limited to 'site/app/views/developers')
-rw-r--r--site/app/views/developers/addon_edit.thtml18
-rw-r--r--site/app/views/developers/addon_edit_authors.thtml40
-rw-r--r--site/app/views/developers/addon_edit_categories.thtml28
-rw-r--r--site/app/views/developers/addon_edit_descriptions.thtml30
-rw-r--r--site/app/views/developers/addon_edit_properties.thtml77
-rw-r--r--site/app/views/developers/addon_status.thtml122
-rw-r--r--site/app/views/developers/addon_status_confirm.thtml48
-rw-r--r--site/app/views/developers/addon_status_nominate.thtml8
-rw-r--r--site/app/views/developers/dashboard.thtml23
-rw-r--r--site/app/views/developers/discuss.thtml85
-rw-r--r--site/app/views/developers/previews.thtml39
-rw-r--r--site/app/views/developers/uploader.thtml55
-rw-r--r--site/app/views/developers/versions.thtml26
-rw-r--r--site/app/views/developers/versions_delete.thtml18
-rw-r--r--site/app/views/developers/versions_edit.thtml66
15 files changed, 387 insertions, 296 deletions
diff --git a/site/app/views/developers/addon_edit.thtml b/site/app/views/developers/addon_edit.thtml
index 1d15fb3..5e0d147 100644
--- a/site/app/views/developers/addon_edit.thtml
+++ b/site/app/views/developers/addon_edit.thtml
@@ -40,17 +40,17 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main">
- <?=$this->renderElement('developers/addonheader', array('title' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<dl id="edit-listing" class="actionbar">
- <dt class="edit-authors"><?=$html->link('Manage Activity Authors', "/developers/addon/edit/{$addon_id}/authors")?></dt>
- <dd>Add or remove users that can manage this activity.</dd>
- <dt class="edit-categories"><?=$html->link('Manage Activity Categories', "/developers/addon/edit/{$addon_id}/categories")?></dt>
- <dd>Select the relevant categories for your activity.</dd>
- <dt class="edit-descriptions"><?=$html->link('Edit Activity Descriptions', "/developers/addon/edit/{$addon_id}/descriptions")?></dt>
- <dd>Add and modify translations for your activity's summary, description, end-user license, and privacy policy.</dd>
- <dt class="edit-properties"><?=$html->link('Edit Activity Properties', "/developers/addon/edit/{$addon_id}/properties")?></dt>
- <dd>Change your activies's name, homepage, icon, and other flags.</dd>
+ <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-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>
</dl>
</div>
diff --git a/site/app/views/developers/addon_edit_authors.thtml b/site/app/views/developers/addon_edit_authors.thtml
index a86dffc..dcfb3f3 100644
--- a/site/app/views/developers/addon_edit_authors.thtml
+++ b/site/app/views/developers/addon_edit_authors.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_OWNER ? 'privs' : 'no-privs')?>">
- <?=$this->renderElement('developers/addonheader', array('title' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- 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>';
+ echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
}
?>
- <h2>Manage Add-on Authors</h2>
+ <h2><?=___('devcp_edit_authors_header_manage')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
@@ -54,46 +54,46 @@
<?=$html->hiddenSession();?>
<div class="graybox field rounded spaced">
- <h4>Current Authors</h4>
+ <h4><?=___('devcp_edit_authors_header_current')?></h4>
<table id="author-table" class="pretty-table">
<thead><tr>
<th></th>
- <th>Author</th>
- <th>Role</th>
- <th>Listed</th>
+ <th><?=___('devcp_edit_authors_th_author')?></th>
+ <th><?=___('devcp_edit_authors_th_role')?></th>
+ <th><?=___('devcp_edit_authors_th_listed')?></th>
<th></th>
</tr></thead>
<tbody></tbody>
</table>
<div class="save-changes rounded">
- <strong>You have unsaved changes.</strong> Click the Update Authors button below to save.
+ <strong><?=___('devcp_notice_unsaved_changes')?></strong><?=___('devcp_edit_authors_click_save')?>
</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 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>
</form>
- <div class="action-button-container centered"><a href="#" onclick="addon_edit_authors.save(); return false;" class="action-button rounded">Update Authors</a></div>
+ <div class="action-button-container centered"><a href="#" onclick="addon_edit_authors.save(); return false;" class="action-button rounded"><?=___('devcp_edit_authors_update_author')?></a></div>
<br />
<div id="add-author" class="graybox rounded spaced field" style="display: none;">
- <h4>Add New Author</h4>
+ <h4><?=___('devcp_edit_authors_add_author')?></h4>
<br />
- <p><label>Author Account Email: <input id="add-email" type="text" size="40" /></label></p>
+ <p><label><?=___('devcp_edit_authors_add_email')?> <input id="add-email" type="text" size="40" /></label></p>
<div id="add-error" class="rounded"></div>
- <p>Select a role for the author:</p>
+ <p><?=___('devcp_edit_authors_select_role')?></p>
<ul>
- <li><label><input id="add-role-owner" type="radio" name="role" checked="checked" />&nbsp;<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>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>Viewer</strong> - Can view add-on developer listing and statistics, but can't make any changes.</label></li>
+ <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>
</ul>
- <p><label><input id="add-listed" type="checkbox" checked="checked" />&nbsp;List as author in public display pages</label></p>
+ <p><label><input id="add-listed" type="checkbox" checked="checked" />&nbsp;<?=___('devcp_edit_authors_label_add_listed')?></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">Add Author</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"><?=___('devcp_edit_authors_add_author_button')?></a></div>
</td><td valign="middle">
- <div id="add-loading"><?=$html->image('ajax_loading.gif', array('alt' => 'Loading'))?>&nbsp;Checking account email...</div>
+ <div id="add-loading"><?=$html->image('ajax_loading.gif', array('alt' => 'Loading'))?>&nbsp;<?=___('devcp_edit_authors_add_loading')?></div>
</td></tr></table>
</div>
</div>
@@ -113,4 +113,4 @@ $(document).ready(function() {
?>
});
-</script> \ No newline at end of file
+</script>
diff --git a/site/app/views/developers/addon_edit_categories.thtml b/site/app/views/developers/addon_edit_categories.thtml
index e9ab173..20e5e22 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' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- 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>';
+ echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
}
?>
- <h2>Manage Add-on Categories</h2>
+ <h2><?=___('devcp_edit_categories_header_manage')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<?php
@@ -58,15 +58,15 @@
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('%s Categories', $applications[$application_id]).'</h4>';
+ echo sprintf(___('devcp_edit_categories_header_application'), $applications[$application_id]).'</h4>';
if (!empty($tags)) {
- echo '<p>'.sprintf('Select up to three %s categories for your add-on', $applications[$application_id]).':</p>';
+ echo '<p>'.sprintf(___('devcp_edit_categories_select_application_categories'), $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('Category %s', $i).':&nbsp;';
+ echo '<label>'.sprintf(___('devcp_edit_categories_label_category_num'), $i).':&nbsp;';
echo '<select name="data[Tag]['.$application_id.'][]"'.($otherSelected ? ' disabled="disabled"' : '').'>';
- echo '<option value="" style="color: gray;">(none selected)</option>';
+ echo '<option value="" style="color: gray;">'.___('devcp_edit_authors_option_empty').'</option>';
foreach ($tags as $tag_id => $tag_name) {
if ($otherTags[$application_id] == $tag_id)
continue;
@@ -83,25 +83,25 @@
echo '</select></label>';
}
if (!empty($otherTags[$application_id])) {
- echo '<label onmouseover="addon_edit_categories.updateDescription('.$application_id.', \''.$html->entities('<strong>'.$sortedTags[$application_id][$otherTags[$application_id]].'</strong><br />Place your add-on into this category only if it does not fit into any other available categories.').'\');">';
+ echo '<label onmouseover="addon_edit_categories.updateDescription('.$application_id.', \''.$html->entities('<strong>'.$sortedTags[$application_id][$otherTags[$application_id]].'</strong><br />'.___('devcp_edit_categories_other')).'\');">';
echo '<input type="checkbox" name="data[Tag]['.$application_id.'][]" value="'.$otherTags[$application_id].'" onclick="addon_edit_categories.toggleDropdowns(this, '.$application_id.');"'.($otherSelected ? ' checked="checked"' : '').' />&nbsp;';
- echo 'My add-on doesn\'t fit into any available categories.';
+ echo ___('devcp_edit_categories_does_not_fit');
echo '</label>';
}
- echo '</td><td id="edit-categories-descriptions'.$application_id.'" style="border-left: 1px solid #CCCCCC;">Hover over a category to see its description.</td></tr></table>';
+ echo '</td><td id="edit-categories-descriptions'.$application_id.'" style="border-left: 1px solid #CCCCCC;">'.___('devcp_edit_categories_hover').'</td></tr></table>';
}
else {
- echo '<p>'.'No categories are available for this add-on type and application.'.'</p>';
+ echo '<p>'.___('devcp_edit_categories_none_available').'</p>';
}
echo '</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 '<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 '</form>';
}
else {
- echo '<p>'.'No categories are available for this add-on type and application.'.'</p>';
+ echo '<p>'.___('devcp_edit_categories_none_available').'</p>';
}
?>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/site/app/views/developers/addon_edit_descriptions.thtml b/site/app/views/developers/addon_edit_descriptions.thtml
index 1214b18..69ad01d 100644
--- a/site/app/views/developers/addon_edit_descriptions.thtml
+++ b/site/app/views/developers/addon_edit_descriptions.thtml
@@ -40,14 +40,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' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- 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>';
+ echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
}
?>
- <h2>Edit Add-on Descriptions</h2>
+ <h2><?=___('devcp_edit_descriptions_header')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="addon-edit-descriptions-form" action="" method="post">
@@ -73,24 +73,24 @@
'translations' => $translations['summary'],
'height' => '60',
'maxLength' => '250',
- '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>'
+ 'displayName' => ___('devcp_edit_descriptions_transbox_summary_name'),
+ 'description' => ___('devcp_edit_descriptions_transbox_summary_description'),
));
// Description
echo $this->renderElement('developers/translationbox', array(
'field' => 'description',
'translations' => $translations['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.'
+ 'displayName' => ___('devcp_edit_descriptions_transbox_description_name'),
+ 'description' => ___('devcp_edit_descriptions_transbox_description_description'),
));
// Developer Comments
echo $this->renderElement('developers/translationbox', array(
'field' => 'developercomments',
'translations' => $translations['developercomments'],
- '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.'
+ 'displayName' => ___('devcp_edit_descriptions_transbox_comments_name'),
+ 'description' => ___('devcp_edit_descriptions_transbox_comments_description'),
));
// EULA
@@ -98,8 +98,8 @@
'field' => 'eula',
'translations' => $translations['eula'],
'height' => '200',
- '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.'
+ 'displayName' => ___('devcp_edit_descriptions_transbox_eula_name'),
+ 'description' => ___('devcp_edit_descriptions_transbox_eula_description'),
));
// Privacy Policy
@@ -107,12 +107,12 @@
'field' => 'privacypolicy',
'translations' => $translations['privacypolicy'],
'height' => '200',
- '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.'
+ 'displayName' => ___('devcp_edit_descriptions_transbox_privacy_name'),
+ 'description' => ___('devcp_edit_descriptions_transbox_privacy_description'),
));
?>
- <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>
+ <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>
</form>
</div>
</div>
diff --git a/site/app/views/developers/addon_edit_properties.thtml b/site/app/views/developers/addon_edit_properties.thtml
index 6850441..5efd28a 100644
--- a/site/app/views/developers/addon_edit_properties.thtml
+++ b/site/app/views/developers/addon_edit_properties.thtml
@@ -40,16 +40,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' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- 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>';
+ echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
}
if (!empty($errors)) {
- 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>';
+ echo '<div class="notice-error rounded">'.___('devcp_notice_changes_error').'</div>';
}
?>
- <h2>Edit Add-on Properties</h2>
+ <h2><?=___('devcp_edit_properties_header')?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="addon-edit-properties-form" action="" method="post" enctype="multipart/form-data">
@@ -74,14 +74,14 @@
'field' => 'name',
'translations' => $translations['name'],
'type' => 'textbox',
- 'displayName' => 'Add-on Name',
- 'description' => 'The name of your add-on is displayed everywhere your add-on is listed.'
+ 'displayName' => ___('devcp_edit_properties_transbox_name_name'),
+ 'description' => ___('devcp_edit_properties_transbox_name_description'),
));
?>
<div class="field graybox rounded spaced" style="width: 600px;">
- <h4>Default Locale</h4>
- <p>An add-on's default locale is the main locale in which translations must be present. If translations for your add-on's descriptions are unavailable in a user's selected language, they will fall back to this default locale.</p>
+ <h4><?=___('devcp_edit_properties_header_default_locale')?></h4>
+ <p><?=___('devcp_edit_properties_default_locale')?></p>
<select name="data[Addon][defaultlocale]">
<?php
// Retrieve language arrays from bootstrap.
@@ -100,13 +100,13 @@
</div>
<div class="field graybox rounded spaced<?=(!empty($errors['icon']) ? ' errors' : '')?>" style="width: 600px;">
- <h4>Add-on Icon</h4>
+ <h4><?=___('devcp_edit_properties_header_icon')?></h4>
<?=(!empty($errors['icon']) ? '<div class="error-message">'.$errors['icon'].'</div>' : '')?>
- <p>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: <?=implode(', ', $this->controller->Developers->imageExtensions)?></p>
+ <p><?=sprintf(___('devcp_edit_properties_icon'), implode(', ', $this->controller->Developers->imageExtensions))?></p>
<table width="100%" id="edit-properties-icon-table">
<tr>
- <th style="width: 20%;">Current icon:</th>
- <th>New icon:</th>
+ <th style="width: 20%;"><?=___('devcp_edit_properties_current_icon')?></th>
+ <th><?=___('devcp_edit_properties_new_icon')?></th>
</tr>
<tr>
<td style="text-align: center;">
@@ -114,8 +114,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;">Remove Icon</a></div>';
- echo '<div id="undelete-icon-area" style="display: none;">Icon will be deleted on save. <a href="#" onclick="addon_edit_properties.undeleteIcon(); return false;">Cancel?</a></div>';
+ 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 '<input id="delete-icon" type="hidden" name="data[Addon][deleteIcon]" value="0" />';
}
?>
@@ -131,8 +131,8 @@
'field' => 'homepage',
'translations' => $translations['homepage'],
'type' => 'textbox',
- '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.'
+ 'displayName' => ___('devcp_edit_properties_transbox_homepage_name'),
+ 'description' => ___('devcp_edit_properties_transbox_homepage_description'),
));
// Support Email
@@ -140,8 +140,8 @@
'field' => 'supportemail',
'translations' => $translations['supportemail'],
'type' => 'textbox',
- '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.'
+ 'displayName' => ___('devcp_edit_properties_transbox_supportemail_name'),
+ 'description' => ___('devcp_edit_properties_transbox_supportemail_description'),
));
// Support URL
@@ -149,26 +149,27 @@
'field' => 'supporturl',
'translations' => $translations['supporturl'],
'type' => 'textbox',
- '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.'
+ 'displayName' => ___('devcp_edit_properties_transbox_supporturl_name'),
+ 'description' => ___('devcp_edit_properties_transbox_supporturl_description'),
));
?>
<div class="field graybox rounded spaced" style="width: 600px;">
- <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>
+ <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>
<?php if ($addon['Addon']['addontype_id'] != ADDON_SEARCH): ?>
- <h5>Add-on Flags</h5>
- <p class="smallmargin">These flags are used to filter and classify add-ons.</p>
+ <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;This add-on contains binary components</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 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 <?=SITE_NAME?>.</p>
<label class="indented"><tt><?=$addon['Addon']['guid']?></tt></label>
@@ -177,12 +178,12 @@
<?php if ($this->controller->SimpleAcl->actionAllowed('Admin', 'ConfigureAnyAddon', $this->controller->Session->read('User'))): ?>
<div class="field graybox rounded spaced" style="width: 600px;">
- <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>
+ <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>
<select name="data[Addon][addontype_id]">
<?php
if (!empty($addontypes)) {
@@ -193,8 +194,8 @@
?>
</select>
- <h5>Add-on GUID</h5>
- <p class="smallmargin">Only change if you understand all of the consequences.</p>
+ <h5><?=___('devcp_edit_properties_header_guid')?></h5>
+ <p class="smallmargin"><?=___('devcp_edit_properties_change_guid')?></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))): ?>
@@ -208,7 +209,7 @@
</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">Update Properties</a></div>
+ <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>
</form>
</div>
</div>
diff --git a/site/app/views/developers/addon_status.thtml b/site/app/views/developers/addon_status.thtml
index 7763ea1..0ef7489 100644
--- a/site/app/views/developers/addon_status.thtml
+++ b/site/app/views/developers/addon_status.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' => "{$addon_name} Status", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_addon_status_title'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- 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>';
+ echo '<div class="notice-success rounded"><span>'.___('devcp_notice_changes_saved').'</div>';
}
if (!empty($errors)) {
- 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>';
+ echo '<div class="notice-error rounded"><span>'.___('devcp_notice_changes_error').'</div>';
}
?>
<?=$this->renderElement('noscript')?>
@@ -55,100 +55,102 @@
<?=$html->hiddenSession();?>
<div class="field graybox rounded spaced">
- <h4 class="status">Add-on Status: <span class="status-<?=$addon['Addon']['status']?>"><?=$statuses[$addon['Addon']['status']]?></span></h4>
+ <h4 class="status"><?=sprintf(___('devcp_addon_status_header'), '<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'));
switch ($addon['Addon']['status']) {
- case STATUS_NULL:
- 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:
- echo '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:
- echo '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 'Your add-on is currently nominated to become <span class="status-4">Public</span> and is awaiting editor review. There are currently '.$nominationCount.' other add-ons in the nomination queue.';
- break;
+ case STATUS_NULL:
+ echo ___('devcp_addon_status_switch_incomplete');
+ break;
+
+ case STATUS_SANDBOX:
+ ___('devcp_addon_status_switch_sandbox');
+ break;
- case STATUS_PENDING:
- echo 'Your add-on is pending. This shouldn\'t have happened. Please e-mail amo-editors@mozilla.org with your add-on ID and state this error.';
- break;
+ case STATUS_NOMINATED:
+ ___('devcp_addon_status_switch_sandbox');
+ echo '</p><p>';
+ echo sprintf(___('devcp_addon_status_switch_nominated'), $nominationCount);
+ break;
- case STATUS_PUBLIC:
- echo '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_PENDING:
+ echo sprintf(___('devcp_addon_status_switch_pending'), 'amo-editors@mozilla.org');
+ break;
+
+ case STATUS_PUBLIC:
+ ___('devcp_addon_status_switch_public');
+ break;
- case STATUS_DISABLED:
- echo '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 '.ADMIN_EMAIL.'.';
- break;
+ case STATUS_DISABLED:
+ echo sprintf(___('devcp_addon_status_switch_disabled'), 'amo-admins@mozilla.org');
+ break;
}
?>
</p>
<?php
if ($addon['Addon']['status'] == STATUS_NULL) {
- echo '<h5>Add-on Completion Criteria</h5>';
+ echo '<h5>'.___('devcp_addon_status_header_criteria').'</h5>';
echo '<ul class="criteria">';
- 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 '<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 '</ul>';
$completionEnabled = false;
if ($criteria['name'] && $criteria['summary'] && $criteria['description'] && $criteria['category']) {
$completionEnabled = true;
- echo '<p>You may now complete your add-on and move it to the <span class="status-1">Sandbox</span> by clicking the button below.</p>';
+ echo '<p>'.sprintf(___('devcp_addon_status_completion_enabled'), $sandbox).'</p>';
}
else {
- echo '<p>Please fulfill the criteria above before you can complete your add-on and move it to the <span class="status-1">Sandbox</span>.</p>';
+ echo '<p>'.sprintf(___('devcp_addon_status_completion_disabled'), $sandbox).'</p>';
}
}
$nominationEnabled = false;
- if ($addon['Addon']['status'] == STATUS_SANDBOX && $addon['Addon']['higheststatus'] < STATUS_PUBLIC) {
- echo '<h5>Public Nomination Criteria</h5>';
+ if ($addon['Addon']['status'] == STATUS_SANDBOX || $addon['Addon']['higheststatus'] < STATUS_PUBLIC) {
+ echo '<h5>'.___('devcp_addon_status_header_nomination').'</h5>';
echo '<ul class="criteria">';
- echo '<li class="'.($criteria['previews'] ? 'pass' : 'fail').'">At least one preview image required for extensions and themes.</li>';
- echo '<li class="'.($criteria['reviews'] ? 'pass' : 'meh').'">Several user reviews of the add-on (may be external reviews).</li>';
- echo '<li class="'.($criteria['prerelease'] ? 'pass' : 'fail').'">Add-on is not marked as pre-release.</li>';
+ echo '<li class="'.($criteria['previews'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_preview').'</li>';
+ echo '<li class="'.($criteria['reviews'] ? 'pass' : 'meh').'">'.___('devcp_addon_status_criteria_review').'</li>';
+ echo '<li class="'.($criteria['prerelease'] ? 'pass' : 'fail').'">'.___('devcp_addon_status_criteria_prerelease').'</li>';
echo '</ul>';
if ((!in_array($addon['Addon']['addontype_id'], array(ADDON_EXTENSION, ADDON_THEME)) || $criteria['previews']) && $criteria['prerelease']) {
$nominationEnabled = true;
- echo '<p>You may now nominate your add-on for <span class="status-4">Public</span> by clicking the button below.</p>';
+ echo '<p>'.___('devcp_addon_status_nominate_enabled').'</p>';
}
else {
- echo '<p>Please fulfill the criteria above before nominating your add-on to become <span class="status-4">Public</span>.</p>';
+ echo '<p>'.___('devcp_addon_status_nominate_disabled').'</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">Complete Add-on</a></td>';
- $actions .= '<td class="description">Complete your add-on and move to the Sandbox</td></tr>';
+ $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>';
}
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">Nominate for Public</a></td>';
- $actions .= '<td class="description">Nominate your add-on to become Public</td></tr>';
+ $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>';
}
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">Move to Sandbox</a></td>';
- $actions .= '<td class="description">Move your add-on back to the Sandbox. This is reversible.</td></tr>';
+ $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>';
}
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">Make Public</a></td>';
- $actions .= '<td class="description">Make your add-on Public again.</td></tr>';
+ $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>';
}
if (!empty($actions)) {
- echo '<h5>Available Actions</h5>';
+ echo '<h5>'.___('devcp_addon_status_header_actions').'</h5>';
echo '<table class="actions"><tbody>';
echo $actions;
echo '</tbody></table>';
@@ -157,14 +159,15 @@
</div>
<div class="field graybox rounded spaced">
- <h4 class="status">Active Status: <span class="inactive-<?=($addon['Addon']['inactive'] == 1 ? '1">Inactive' : '0">Active')?></span></h4>
<p>
<?php
if ($addon['Addon']['inactive'] == 1) {
- 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.';
+ echo '<h4 class="status">'.___('devcp_addon_status_header_inactive').'</h4>';
+ echo ___('devcp_addon_status_inactive');
}
else {
- 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.';
+ echo '<h4 class="status">'.___('devcp_addon_status_header_active').'</h4>';
+ echo ___('devcp_addon_status_active');
}
?>
</p>
@@ -172,12 +175,12 @@
<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">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.</td></tr>';
+ 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>';
}
else {
- echo '<tr><td class="action"><a href="'.$html->url("/developers/addon/status/{$addon_id}/inactive").'" class="make-inactive add-button rounded">Make Inactive</a></td>';
- echo '<td class="description">Make your add-on inactive to hide it from all public listings and disable the update check service.</td></tr>';
+ 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>';
}
?>
</tbody></table>
@@ -185,9 +188,8 @@
<?php if ($addon['Addon']['trusted'] == 1): ?>
<div class="field graybox rounded spaced">
- <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>
+ <h4 class="status"><?=___('devcp_addon_status_header_trusted')?></h4>
+ <p><?=___('devcp_addon_status_trusted')?></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 0361888..fb3f6a3 100644
--- a/site/app/views/developers/addon_status_confirm.thtml
+++ b/site/app/views/developers/addon_status_confirm.thtml
@@ -40,49 +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' => "{$addon_name} Status", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_addon_status_title'), $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>Are you sure?</h4>
+ <h4><?=___('devcp_status_confirm_header_sure')?></h4>
<p>
<?php
switch ($subaction) {
- case 'inactive':
- 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.';
- echo '</p><p>';
- echo 'Are you sure you wish to mark this add-on inactive?';
- break;
-
- case 'active':
- 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.';
- echo '</p><p>';
- echo 'Are you sure you wish to mark this add-on active?';
- break;
-
- case 'sandbox':
- echo 'Moving this add-on back to the sandbox will require users to login 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.';
- echo '</p><p>';
- echo 'Are you sure you wish to move this add-on to the sandbox?';
- break;
-
- case 'public':
- echo 'Making this add-on public will make it available for anyone to download and will begin offering updates to existing users.';
- echo '</p><p>';
- echo 'Are you sure you wish to make this add-on public?';
- break;
+ case 'inactive':
+ echo ___('devcp_status_confirm_inactive').'</p><p>'.___('devcp_status_confirm_inactive_sure');
+ break;
+
+ case 'active':
+ echo ___('devcp_status_confirm_active').'</p><p>'.___('devcp_status_confirm_active_sure');
+ break;
+
+ case 'sandbox':
+ echo ___('devcp_status_confirm_sandbox').'</p><p>'.___('devcp_status_confirm_sandbox_sure');
+ break;
+
+ case 'public':
+ echo ___('devcp_status_confirm_public').'</p><p>'.___('devcp_status_confirm_public_sure');
+ break;
}
?>
</p>
<div style="text-align: center;">
- <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>
+ <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>
</div>
</div>
</form>
-
+
</div>
</div> \ No newline at end of file
diff --git a/site/app/views/developers/addon_status_nominate.thtml b/site/app/views/developers/addon_status_nominate.thtml
index bdb495d..2373732 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' => "{$addon_name} Status", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_addon_status_title'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($errors)) {
- 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>';
+ echo '<div class="notice-error rounded">'.___('devcp_status_nominate_error_notice').'</div>';
}
?>
<?=$this->renderElement('noscript')?>
@@ -52,14 +52,14 @@
<?=$html->hiddenSession();?>
<input type="hidden" name="confirmed" value="true" />
<div class="graybox field rounded">
- <h4>Add-on Nomination</h4>
+ <h4><?=___('devcp_status_nominate_header')?></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}/")?>">Cancel and return</a>
+ <a href="<?=$html->url("/developers/addon/status/{$addon_id}/")?>"><?=___('devcp_nominate_cancel')?></a>
</div>
</div>
</div>
diff --git a/site/app/views/developers/dashboard.thtml b/site/app/views/developers/dashboard.thtml
index 14bd92a..4659ece 100644
--- a/site/app/views/developers/dashboard.thtml
+++ b/site/app/views/developers/dashboard.thtml
@@ -40,7 +40,7 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons));?>
<div id="content-main">
- <h3>Developer Dashboard</h3>
+ <h3><?= ___('devcp_dashboard_header_main') ?></h3>
<div id="summary">
<?php
@@ -62,10 +62,13 @@
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('Last edited on %s', strftime(_('date'), strtotime($addon['Addon']['modified']))).'</span></li>';
+ echo '<span class="action-details">'.sprintf(___('devcp_dashboard_last_edited'), strftime(_('date'), strtotime($addon['Addon']['modified']))).'</span></li>';
// Change Status
- echo '<li class="status"><a href="'.$html->url('/developers/addon/status/'.$addon_id).'" class="view">Change Status</a>';
- echo '<span class="action-details">'.sprintf('%s currently %s and %s', $addontypes[$addon['Addon']['addontype_id']], '<span class="inactive-'.$addon['Addon']['inactive'].'">'.($addon['Addon']['inactive'] == 1 ? 'Inactive' : 'Active').'</span>', '<span class="status-'.$addon['Addon']['status'].'">'.$statuses[$addon['Addon']['status']].'</span>').'</span></li>';
+ 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']],
+ '<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 '<span class="action-details stats">';
@@ -76,7 +79,7 @@
echo sprintf(_('devcp_statsbar_adu'), $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">Versions and Files</a>';
+ echo '<li class="versions"><a href="'.$html->url('/developers/versions/'.$addon_id).'" class="view">'.___('devcp_dashboard_versions').'</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']).')';
@@ -85,7 +88,7 @@
}
}
if ($addon['Addon']['inactive'] != 1) {
- echo '<a href="'.$html->url('/developers/versions/add/'.$addon_id).'">Upload a new version</a>';
+ echo '<a href="'.$html->url('/developers/versions/add/'.$addon_id).'">'.___('devcp_dashboard_versions_new').'</a>';
}
echo '</span></li>';
// Previews
@@ -94,8 +97,8 @@
}
else {
// Admin Disabled Add-on
- echo '<p>Add-on Status: <span class="status-'.STATUS_DISABLED.'">'.$statuses[STATUS_DISABLED].'</span></p>';
- echo '<p>Your add-on was disabled by an administrator and cannot be used. If you have any questions, please e-mail'.ADMIN_EMAIL.'.</p>';
+ 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>';
}
?>
</div>
@@ -106,6 +109,10 @@
}
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 '.SITE_NAME.'. 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>';
diff --git a/site/app/views/developers/discuss.thtml b/site/app/views/developers/discuss.thtml
new file mode 100644
index 0000000..914ee4b
--- /dev/null
+++ b/site/app/views/developers/discuss.thtml
@@ -0,0 +1,85 @@
+<?php
+/* ***** BEGIN LICENSE BLOCK *****
+ * Version: MPL 1.1/GPL 2.0/LGPL 2.1
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ * http://www.mozilla.org/MPL/e
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * The Original Code is addons.mozilla.org site.
+ *
+ * The Initial Developer of the Original Code is
+ * Frederic Wenzel <fwenzel@mozilla.com>.
+ * Portions created by the Initial Developer are Copyright (C) 2009
+ * the Initial Developer. All Rights Reserved.
+ *
+ * Contributor(s):
+ *
+ * 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
+ * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
+ * in which case the provisions of the GPL or the LGPL are applicable instead
+ * of those above. If you wish to allow use of your version of this file only
+ * under the terms of either the GPL or the LGPL, and not to allow others to
+ * use your version of this file under the terms of the MPL, indicate your
+ * decision by deleting the provisions above and replace them with the notice
+ * and other provisions required by the GPL or the LGPL. If you do not delete
+ * 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 ***** */
+?>
+<div id="content">
+ <?=$this->renderElement('developers/sidebar', array('addons' => $all_addons));?>
+
+ <div id="content-main">
+
+ <h3><?=sprintf(___('devcp_discuss_pagetitle', '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 '
+ .'information from you regarding version %2$s of your add-on %1$s.'), $addonName, $versionno)?></p>
+
+ <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'])))?>
+ </cite>
+ </div>
+
+ <?php if (!empty($replies)): ?>
+ <h4><?=___('devcp_discuss_allreplies_header', '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'])))?>
+ </cite>
+ </div>
+ <?php endforeach; ?>
+ <?php endif; ?>
+
+ <h4><?=___('devcp_discuss_addreply_header', '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>
+ <?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>
+ <?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'))?>
+ </div>
+ </form>
+ <?php endif; ?>
+
+ </div> <!-- content-main -->
+</div> <!-- content -->
diff --git a/site/app/views/developers/previews.thtml b/site/app/views/developers/previews.thtml
index 2c3768d..2cbdccf 100644
--- a/site/app/views/developers/previews.thtml
+++ b/site/app/views/developers/previews.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' => "{$addon_name} Preview Manager", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_previews_title'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($messages['success'])) {
- 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>';
+ echo '<div class="notice-success rounded"><span>'.___('devcp_previews_notice_success').'</span><br /><ul><li>'.implode('</li><li>', $messages['success']).'</li></ul></div>';
}
if (!empty($messages['errors'])) {
- 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 '<div class="notice-error rounded"><span>'.___('devcp_previews_notice_error').'</span><br /><ul><li>'.implode('</li><li>', $messages['errors']).'</li></ul></div>';
}
echo $this->renderElement('noscript');
@@ -55,7 +55,7 @@
echo $html->hiddenSession();
if (!empty($previews)) {
- 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>';
+ echo '<p>'.___('devcp_previews_p_screenshots').'</p>';
// Retrieve language arrays from bootstrap.
global $valid_languages, $native_languages;
foreach (array_keys($valid_languages) as $key) {
@@ -74,9 +74,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="Thumbnail" />
+ <img src="<?=$this->controller->Image->getPreviewURL($preview['Preview']['id'])?>/0" alt="<?=___('devcp_previews_thumbnail')?>" />
</td><td style="vertical-align: top;">
- <h5 style="margin-top: 0; margin-bottom: 2px;">Preview Caption</h5>
+ <h5 style="margin-top: 0; margin-bottom: 2px;"><?=___('devcp_previews_header_caption')?></h5>
<div class="translation-box">
<?php
echo $this->renderElement('developers/translationbox', array(
@@ -91,22 +91,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"' : '')?>/>
- Default Preview</label>
+ <?=___('devcp_previews_label_default')?></label>
</td><td style="text-align: right;">
- <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>
+ <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>
</td></tr></table>
<div class="replace-preview" style="display: none;">
- <label>New image:
+ <label><?=___('devcp_previews_label_new')?>
<input type="file" name="data[Preview][New][<?=$preview['Preview']['id']?>]" /></label>
- <p>Click the Update Previews button below to save this image. (<a href="#" onclick="previews.cancelReplace(this); return false;">Cancel?</a>)</p>
+ <p><?=sprintf(___('devcp_previews_click_update'), '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">This preview will be deleted when Update Previews is clicked below. (<a href="#" onclick="previews.cancelDelete(this); return false;">Cancel?</a>)</div>
-
+ <div class="error-message"><?=sprintf(___('devcp_previews_error_message'), 'href="#" onclick="previews.cancelDelete(this); return false;"')?></div>
</div>
<?php
}
@@ -114,18 +113,18 @@
?>
<div id="add-preview-box" class="graybox rounded spaced field" style="<?=(!empty($previews) ? 'display: none;' : '')?>">
- <h4>Add New Preview</h4>
- <p>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: <?=implode(', ', $this->controller->Developers->imageExtensions)?></p>
+ <h4><?=___('devcp_previews_add_new')?></h4>
+ <p><?=sprintf(___('devcp_previews_add_select'), implode(', ', $this->controller->Developers->imageExtensions))?></p>
<div id="new-preview-container">
- <label class="new-preview">Upload Preview: <input type="file" name="data[Preview][New][]" size="40" /></label>
+ <label class="new-preview"><?=___('devcp_previews_label_upload')?><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">Add Another Preview</a></div>
- <div style="text-align: right;">Click Update Previews below to upload.</div>
+ <div class="add-button-container"><a href="#" onclick="previews.addUploadBox(); return false;" class="add-button rounded"><?=___('devcp_previews_a_another')?></a></div>
+ <div style="text-align: right;"><?=___('devcp_previews_click_below')?></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">Add New Preview</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"><?=___('devcp_previews_add_new')?></a></div>
- <div class="action-button-container centered"><a href="#" onclick="previews.save(); return false;" class="action-button rounded">Update Previews</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>
</form>
</div>
</div> \ No newline at end of file
diff --git a/site/app/views/developers/uploader.thtml b/site/app/views/developers/uploader.thtml
index 7a16fc2..6d5c425 100644
--- a/site/app/views/developers/uploader.thtml
+++ b/site/app/views/developers/uploader.thtml
@@ -47,14 +47,14 @@
echo '<div id="content-main" class="'.($type != 'new' && $author_role < AUTHOR_ROLE_DEV ? 'no-privs' : 'privs').'">';
if ($type == 'new') {
- $title = 'Submit New Add-on';
+ $title = ___('devcp_uploader_title_submit');
$addon_id = 0;
}
elseif ($type == 'update') {
- $title = sprintf('Update %s', $addon_name);
+ $title = sprintf(___('devcp_uploader_title_update'), $addon_name);
}
elseif ($type == 'file') {
- $title = sprintf('Add File to %s', "{$addon_name} {$version}");
+ $title = sprintf(___('devcp_uploader_title_file'), $addon_name, $version);
}
echo $this->renderElement('developers/addonheader', array('title' => $title, 'addon_id' => $addon_id));
?>
@@ -63,6 +63,10 @@
<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 <?=SITE_NAME?>. Hosting your add-on on <?=SITE_NAME?> is the easiest way to handle distribution of your add-on. Here's what you'll get:</p>
<ul>
@@ -87,16 +91,16 @@
<?php endif; ?>
<div id="file-upload"<?=($type == 'new' ? ' style="display: none;"' : '')?>>
- <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.</p>
+ <h3><?=___('devcp_uploader_header_upload')?></h3>
+ <p><?=___('devcp_uploader_p_upload')?>
<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>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>
+ <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>
<?php
$platforms = $this->controller->Platform->getNames();
foreach ($platforms as $platform_id => $platform_name) {
@@ -107,13 +111,13 @@
<div class="submit">
<input type="submit" value="Upload File" class="require-privs" />
</div>
- <div id="upload-loading"><?=$html->image('ajax_loading.gif')?>&nbsp;Uploading file...</div>
+ <div id="upload-loading"><?=$html->image('ajax_loading.gif')?>&nbsp;<?=___('devcp_uploader_ajax_loading')?></div>
</form>
<div id="upload-error" class="redbox-tr"><div class="redbox-tl">
<div id="upload-error-content">
- <h4>Oops! There seems to be a problem with this file...</h4>
+ <h4><?=___('devcp_uploader_header_error')?></h4>
<p id="upload-error-text" class="smallmargin"></p>
- <p class="smallmargin">Please correct this problem and upload your file again.</p>
+ <p class="smallmargin"><?=___('devcp_uploader_error_correct')?></p>
</div>
<div class="redbox-br"><div class="redbox-bl"></div></div>
</div></div>
@@ -124,33 +128,30 @@
<div id="upload-success" class="greenbox-tr"><div class="greenbox-tl">
<?php if ($type == 'new'): ?>
<div id="addon-created-content">
- <h3>Add-on Created!</h3>
+ <h3><?=___('devcp_uploader_header_created')?>
<div id="created-results">
- <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 id="status-link" href="<?=$html->url('/developers/addon/status/')?>">status page</a>.</p>
-
- <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>
+ <?=sprintf(___('devcp_uploader_created_results'), 'href="/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>
</div>
</div><!-- /#addon-created-content -->
<?php elseif ($type == 'update'): ?>
<div id="version-created-content">
- <h3>Version <span id="new-version-number"></span> Created!</h3>
+ <h3><?=sprintf(___('devcp_uploader_header_update_created'), '<span id="new-version-number"></span>')?></h3>
<div id="created-results">
- <p>Your new version has been created and is currently marked as <span id="new-file-status"></span>.</p>
- <p id="pending-message">The new version will be available to the public as soon as an editor is able to review it. There are currently <span id="queue-count"></span> other add-ons in the queue. Want to be reviewed faster? Consider <a href="http://wiki.sugarlabs.org/go/ActivityTeam/aslo">becoming an editor</a>.</p>
- <p>View your new version in the <a id="version-link" href="<?=$html->url('/developers/versions/edit/')?>">Versions and Files page</a>, check out your add-on's <a href="<?=$html->url('/developers/addon/status/'.$addon_id)?>">current status</a>, or <b>add release notes</b> by clicking the button below (highly recommended).</p>
-
- <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>
+ <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>
</div>
</div><!-- /#version-created-content -->
<?php elseif ($type == 'file'): ?>
<div id="file-created-content">
- <h3>File Added!</h3>
+ <h3><?=___('devcp_uploader_header_file_added')?></h3>
<div id="created-results">
- <p>Your new file has been added to version <?=$version?> and is currently marked as <span id="new-file-status"></span>.</p>
- <p id="pending-message">The new version will be available to the public as soon as an editor is able to review it. There are currently <span id="queue-count"></span> other add-ons in the queue. Want to be reviewed faster? Consider <a href="http://wiki.sugarlabs.org/go/ActivityTeam/aslo">becoming an editor</a>.</p>
- <p>View your new file in the <a href="<?=$html->url('/developers/versions/edit/'.$version_id)?>">Versions and Files page</a>, or check out your add-on's <a href="<?=$html->url('/developers/addon/status/'.$addon_id)?>">current status</a>.</p>
+ <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_p_update_file'), '/developers/versions/edit/', '/developers/addon/status/'.$addon_id)?>
</div>
</div><!-- /#file-created-content -->
<?php endif; ?>
diff --git a/site/app/views/developers/versions.thtml b/site/app/views/developers/versions.thtml
index 1fd67d9..323ba34 100644
--- a/site/app/views/developers/versions.thtml
+++ b/site/app/views/developers/versions.thtml
@@ -40,22 +40,22 @@
<?=$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' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($deleteSuccess)) {
- echo '<div class="notice-success rounded"><span>Version '.$deletedVersion.' deleted successfully.</span></div>';
+ echo '<div class="notice-success rounded"><span>'.sprintf(___('devcp_versions_notice_success'), $deletedVersion).'</span></div>';
}
?>
- <h2>Manage Versions and Files</h2>
+ <h2><?=___('devcp_versions_header_manage')?></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%;">Version</th>';
- echo '<th style="width: 30%;">File Status</th>';
- echo '<th style="width: 30%;">Created</th>';
+ echo '<th style="width: 25%;">'.___('devcp_versions_th_version').'</th>';
+ echo '<th style="width: 30%;">'.___('devcp_versions_th_status').'</th>';
+ echo '<th style="width: 30%;">'.___('devcp_versions_th_created').'</th>';
echo '<th style="width: 15%;"></th>';
echo '</tr>';
if (!empty($versions)) {
@@ -68,15 +68,15 @@
echo '<td class="delete-area" style="text-align: right;">';
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">Remove?</a>';
+ echo '<a href="#" onclick="versions.deleteVersion(this); return false;" class="remove-button rounded trigger">'.___('devcp_versions_a_remove').'</a>';
echo '<div class="inline-delete-box">';
- 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 '<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 '</div></div>';
}
else {
- 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 '<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 '</td>';
echo '</tr>';
@@ -84,11 +84,11 @@
}
}
else {
- echo '<tr><td colspan="3" style="text-align: center;"><i>No versions.</i></td></tr>';
+ echo '<tr><td colspan="3" style="text-align: center;"><i>'.___('devcp_versions_no_versions').'</i></td></tr>';
}
?>
</table>
- <div class="add-button-container"><a href="<?=$html->url("/developers/versions/add/{$addon_id}")?>" class="add-button rounded">Add New Version</a></div>
+<div class="add-button-container"><a href="<?=$html->url("/developers/versions/add/{$addon_id}")?>" class="add-button rounded"><?=___('devcp_versions_add')?></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 ff5016a..c1d7d67 100644
--- a/site/app/views/developers/versions_delete.thtml
+++ b/site/app/views/developers/versions_delete.thtml
@@ -40,20 +40,24 @@
<?=$this->renderElement('developers/sidebar', array('addons' => $all_addons, 'extra' => 'developers/editbox'));?>
<div id="content-main">
- <?=$this->renderElement('developers/addonheader', array('title' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?=$this->renderElement('noscript')?>
<form id="versions-delete-form" action="" method="post">
<?=$html->hiddenSession();?>
<div class="graybox rounded">
- <h4>Delete Version <?=$version['Version']['version']?>?</h4>
- <p class="smallmargin">Are you sure you want to permanently delete version <?=$version['Version']['version']?>?</p>
- <p>This will also delete its <?=count($version['Review'])?> review(s) and <?=count($version['File'])?> file(s).</p>
+ <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>
+ <ul>
+ <li><?=sprintf(n___('devcp_versions_delete_reviews', 'devcp_versions_delete_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">Delete Version</a>
+ <a href="#" onclick="versions_delete.confirm(); return false;" class="remove-button rounded"><?=___('devcp_versions_delete_a_delete')?></a>
<input type="hidden" name="confirmDelete" value="1"/>&nbsp;&nbsp;
- <a href="<?=$html->url('/developers/versions/'.$addon_id)?>" class="button rounded">Cancel</a>
+ <a href="<?=$html->url('/developers/versions/'.$addon_id)?>" class="button rounded"><?=___('devcp_versions_delete_a_cancel')?></a>
</div>
</div>
</form>
</div>
-</div> \ No newline at end of file
+</div>
diff --git a/site/app/views/developers/versions_edit.thtml b/site/app/views/developers/versions_edit.thtml
index c3dc730..da0504e 100644
--- a/site/app/views/developers/versions_edit.thtml
+++ b/site/app/views/developers/versions_edit.thtml
@@ -40,16 +40,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' => "Edit {$addon_name}", 'addon_id' => $addon_id));?>
+ <?=$this->renderElement('developers/addonheader', array('title' => sprintf(___('devcp_title_edit_addon'), $addon_name), 'addon_id' => $addon_id));?>
<?php
if (!empty($success)) {
- 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>';
+ echo '<div class="notice-success rounded">'.___('devcp_notice_changes_saved').'</div>';
}
if (!empty($errors)) {
- 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>';
+ echo '<div class="notice-error rounded">'.___('devcp_notice_changes_error').'</div>';
}
?>
- <h2>Manage Version <?=$version['Version']['version']?></h2>
+ <h2><?=sprintf(___('devcp_versions_edit_header_manage'), $version['Version']['version'])?></h2>
<?=$this->renderElement('noscript')?>
<?=$this->renderElement('developers/rolecheck')?>
<form id="versions-edit-form" action="" method="post">
@@ -70,14 +70,14 @@
);
echo '<div class="graybox rounded spaced field">';
- echo '<h4>File Information</h4>';
+ echo '<h4>'.___('devcp_versions_edit_header_file').'</h4>';
if (!empty($version['File'])) {
echo '<table id="files-table" class="pretty-table">';
echo '<thead><tr>';
- echo '<th>File</th>';
- echo '<th>Platform</th>';
- echo '<th>Size</th>';
- echo '<th>Status</th>';
+ 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 style="width: 25px;"></th>';
echo '</tr></thead><tbody>';
$i = 0;
@@ -94,11 +94,11 @@
echo '<td>'.sprintf(_('size_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' => 'Delete File', 'title' => 'Delete File')).'</a>';
+ 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 '<div class="inline-delete-box">';
- 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 '<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 '</div>';
echo '</div></td>';
echo '</tr>';
@@ -107,17 +107,17 @@
echo '</tbody></table>';
}
else {
- echo '<p><i>No files found.</i></p>';
+ echo '<p><i>'.___('devcp_versions_edit_no_files').'</i></p>';
}
- 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 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>';
// Compatible applications (hidden for search engines)
if ($addon['Addon']['addontype_id'] != ADDON_SEARCH) {
echo '<div class="graybox rounded spaced field">';
- echo '<h4>Compatible Applications</h4>';
- echo '<p>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 href="'.$html->url('/pages/appversions').'">List of supported applications and versions</a></p>';
+ echo '<h4>'.___('devcp_versions_edit_header_compat').'</h4>';
+ echo '<p>'.sprintf(___('devcp_versions_edit_adjust'), '/pages/appversions').'</p>';
echo '<table id="edit-versions-targetapps-table" class="pretty-table"><tbody>';
$i = 0;
@@ -147,11 +147,11 @@
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' => 'Remove Application Compatibility', 'title' => 'Remove Application Compatibility')).'</a>';
- echo '<div class="inline-delete-box">';
- 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 '<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 '<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 '</div>';
echo '</div></td>';
@@ -160,10 +160,10 @@
}
}
echo '</tbody></table>';
- echo '<div class="save-changes rounded"><strong>You have unsaved changes.</strong> Compatibility will not be modified 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 '<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 '<span id="new-app-picker"><select onchange="versions_edit.addApplication(this);">';
- echo '<option value="">Please Select an Application</option>';
+ echo '<option value="">'.___('devcp_versions_edit_select_app').'</option>';
foreach ($applications as $application_id => $application_name) {
echo '<option value="'.$application_id.'">'.$application_name.'</option>';
}
@@ -178,26 +178,26 @@
'translations' => $translations['releasenotes'],
'height' => '130',
'width' => 'inherit',
- '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.'
+ 'displayName' => ___('devcp_versions_edit_transbox_releasenotes_name'),
+ 'description' => ___('devcp_versions_edit_transbox_releasenotes_description'),
));
echo '<div class="graybox rounded spaced field">';
- echo '<h4>Approval Information</h4>';
+ echo '<h4>'.___('devcp_versions_edit_header_approval').'</h4>';
if (!empty($version['File'])) {
echo '<ul>';
foreach ($version['File'] as $file) {
- 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(_('date'), strtotime($file['created'])), $statuses[$file['status']], strftime(_('date'), strtotime($file['datestatuschanged']))).'</li>';
+ 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 '</ul>';
}
- echo '<h5>Approval Notes</h5>';
- echo '<p class="smallmargin">Optional information for the Editor that reviews this version.</p>';
+ echo '<h5>'.___('devcp_versions_edit_header_notes').'</h5>';
+ echo '<p class="smallmargin">'.___('devcp_versions_edit_optional').'</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">Update Version</a></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>
</form>
</div>
</div>