Index: css/style.css
===================================================================
--- css/style.css	(revision 680)
+++ css/style.css	(working copy)
@@ -52,6 +52,38 @@
 	padding: 0.25em 0.5em;
 	color: #444;
 }
+select {
+	font-size: 12px;
+	line-height: 14px;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	border: 1px solid #dfdfdf;
+	background-color: #fff;
+	padding: 2px;
+	height: 2em;
+}
+input.button {
+	text-decoration: none;
+	font-size: 12px;
+	line-height: 14px;
+	padding: 3px 8px;
+	cursor: pointer;
+	border: 1px solid #bbb;
+	color: #464646;
+	-webkit-border-radius: 3px;
+	border-radius: 3px;
+	-moz-box-sizing: content-box;
+	-webkit-box-sizing: content-box;
+	box-sizing: content-box;
+	background-color: #f2f2f2; /* Fallback */
+	background-image: -ms-linear-gradient(bottom, #ededed, #fff); /* IE10 */
+	background-image: -moz-linear-gradient(bottom, #ededed, #fff); /* Firefox */
+	background-image: -o-linear-gradient(bottom, #ededed, #fff); /* Opera */
+	background-image: -webkit-gradient(linear, left bottom, left top, from(#ededed), to(#fff)); /* old Webkit  */
+	background-image: -webkit-linear-gradient(bottom, #ededed, #fff); /* new Webkit */
+	background-image: linear-gradient(bottom, #ededed, #fff); /* proposed W3C Markup */
+	text-shadow: #fff 0 1px 0;
+}
 .breadcrumb a {
     color: #3A7399;
     text-decoration: none;
@@ -315,13 +347,25 @@
 .paging .current {
     font-weight: bold;
 }
+.paging .next {
+	margin-right: 1px;
+}
 .paging .disabled {
     color: #999;
     border-color: #eee;
 }
-form.filters-toolbar {
-    float: left;
+.bulk-actions {
+	float: left;
 }
+.bulk-actions input {
+	margin-right: 8px;
+}
+.bulk-actions select {
+	width: 130px;
+}
+form.filters-toolbar > div {
+	line-height: 2em;
+}
 form.filters-toolbar ul {
     list-style-type: none;    
 }
@@ -342,6 +386,7 @@
     vertical-align: bottom;
 }
 dl.filters-expanded {
+	float: left;
     font-size: 80%;    
     padding: 0.8em;
     margin: 0 0 0.5em 0.2em;
Index: gp-templates/translation-row.php
===================================================================
--- gp-templates/translation-row.php	(revision 680)
+++ gp-templates/translation-row.php	(working copy)
@@ -10,7 +10,7 @@
 );
 ?>
 <tr class="preview <?php echo $parity().' '.$status_class.' '.$warning_class.' '.$priority_class ?>" id="preview-<?php echo $t->row_id ?>" row="<?php echo $t->row_id; ?>">
-	<th scope="row" class="checkbox"><input type="checkbox" name="selected-row[]" /></th>
+	<?php if ( $can_approve ) : ?><th scope="row" class="checkbox"><input type="checkbox" name="selected-row[]" /></th><?php endif; ?>
 	<?php /*
 	<td class="priority" style="background-color: <?php echo $priority_char[$t->priority][1] ?>; color: <?php echo $priority_char[$t->priority][2] ?>; text-align: center; font-size: 1.2em;" title="<?php echo esc_attr('Priority: '.gp_array_get( GP::$original->get_static( 'priorities' ), $t->priority )); ?>">
 	*/ ?>
@@ -51,7 +51,7 @@
 	</td>
 </tr>
 <tr class="editor <?php echo $warning_class; ?>" id="editor-<?php echo $t->row_id; ?>" row="<?php echo $t->row_id; ?>">
-	<td colspan="5">
+	<td colspan="<?php echo $can_approve ? 5 : 4 ?>">
 		<div class="strings">
 		<?php if ( !$t->plural ): ?>
 		<p class="original"><?php echo prepare_original( esc_translation($t->singular) ); ?></p>
Index: gp-templates/translations.php
===================================================================
--- gp-templates/translations.php	(revision 680)
+++ gp-templates/translations.php	(working copy)
@@ -10,7 +10,6 @@
 $editor_options = compact('can_approve', 'can_write', 'url', 'discard_warning_url', 'set_priority_url', 'set_status_url');
 $editor_options['google_translate_language'] = $locale->google_code;
 wp_localize_script( 'editor', '$gp_editor_options', $editor_options );
-wp_localize_script( 'translations-page', '$gp_translations_options', array('action' => $bulk_action) );
 $parity = gp_parity_factory();
 add_action( 'gp_head', lambda( '', 'gp_preferred_sans_serif_style_tag($locale);', compact( 'locale' ) ) );
 
@@ -21,12 +20,24 @@
 	Translation of <?php echo esc_html( $project->name ); ?>: <?php echo esc_html( $translation_set->name ); ?>
 	<?php gp_link_set_edit( $translation_set, $project, '(edit)' ); ?>
 </h2>
-<!-- TODO: use another form for bulk actions -->
+<?php if ( $can_approve ): ?>
+<form id="bulk-actions-toolbar" class="filters-toolbar bulk-actions" action="<?php echo $bulk_action; ?>" method="post">
+	<div>
+	<select name="bulk[action]">
+		<option value="" selected="selected">Bulk Actions</option>
+		<option value="approve">Approve</option>
+		<option value="reject">Reject</option>
+		<option value="gtranslate">Translate via Google</option>
+	</select>
+	<input type="hidden" name="bulk[redirect_to]" value="<?php echo esc_attr(gp_url_current()); ?>" id="bulk[redirect_to]" />
+	<input type="hidden" name="bulk[row-ids]" value="" id="bulk[row-ids]" />
+	<input type="submit" class="button" value="<?php esc_attr_e( 'Apply' ); ?>" />
+	</div>
+</form>
+<?php endif; ?>
+<?php echo gp_pagination( $page, $per_page, $total_translations_count ); ?>
 <form id="upper-filters-toolbar" class="filters-toolbar" action="" method="get" accept-charset="utf-8">
 	<div>
-	<?php if ( $can_approve ): ?>
-	<a href="#" class="revealing bulk"><?php _e('Bulk &darr;'); ?></a> <strong class="separator">&bull;</strong>
-	<?php endif; ?>
 	<a href="#" class="revealing filter"><?php _e('Filter &darr;'); ?></a> <span class="separator">&bull;</span>
 	<a href="#" class="revealing sort"><?php _e('Sort &darr;'); ?></a> <strong class="separator">&bull;</strong>
 	<?php
@@ -106,25 +117,11 @@
 		</dd>
 		<dd><input type="submit" value="<?php echo esc_attr(__('Sort')); ?>" name="sorts" /></dd>
 	</dl>
-	<dl class="hidden bulk-actions filters-expanded clearfix">
-		<dd>
-			<input type="hidden" name="bulk[redirect_to]" value="<?php echo esc_attr(gp_url_current()); ?>" id="bulk[redirect_to]" />
-			<input type="hidden" name="bulk[row-ids]" value="" id="bulk[row-ids]" />
-			<input type="submit" value="<?php echo esc_attr(__('Approve Selected')); ?>" name="approve" /><br />
-			<input type="submit" value="<?php echo esc_attr(__('Reject Selected')); ?>" name="reject" />
-		</dd>
-		<dd class="separator"></dd>
-		<dd>
-			<input type="submit" value="<?php echo esc_attr(__('Translate via Google')); ?>" name="gtranslate" />
-		</dd>
-	</dl>
 </form>
-
-<?php echo gp_pagination( $page, $per_page, $total_translations_count ); ?>
 <table id="translations" class="translations clear">
 	<thead>
 	<tr>
-		<th class="checkbox"><input type="checkbox" /></th>
+		<?php if ( $can_approve ) : ?><th class="checkbox"><input type="checkbox" /></th><?php endif; ?>
 		<th><?php /* Translators: Priority */ _e('Prio'); ?></th>
 		<th class="original"><?php _e('Original string'); ?></th>
 		<th class="translation"><?php _e('Translation'); ?></th>
@@ -138,11 +135,12 @@
 <?php
 	if ( !$translations ):
 ?>
-	<tr><td colspan="4"><?php _e('No translations were found!'); ?></td></tr>
+	<tr><td colspan="<?php echo $can_approve ? 5 : 4; ?>"><?php _e('No translations were found!'); ?></td></tr>
 <?php
 	endif;
 ?>
 </table>
+<?php echo gp_pagination( $page, $per_page, $total_translations_count ); ?>
 <div id="legend" class="secondary clearfix">
 	<div><strong><?php _e('Legend:'); ?></strong></div>
 <?php 
@@ -156,7 +154,6 @@
 	<div><?php _e('with warnings'); ?></div>
 
 </div>
-<?php echo gp_pagination( $page, $per_page, $total_translations_count ); ?>
 <p class="clear actionlist secondary">
 	<?php
 		$footer_links = array();
Index: gp-includes/routes/translation.php
===================================================================
--- gp-includes/routes/translation.php	(revision 679)
+++ gp-includes/routes/translation.php	(working copy)
@@ -135,11 +135,11 @@
 		$bulk = gp_post('bulk');
 		$bulk['row-ids'] = array_filter( explode( ',', $bulk['row-ids'] ) );
 		if ( !empty( $bulk['row-ids'] ) ) {
-			if ( gp_post( 'approve' ) || gp_post( 'reject' ) ) {
+			if ( 'approve' == $bulk['action'] || 'reject' == $bulk['action'] ) {
 				$this->_bulk_approve( $project, $locale, $translation_set, $bulk );
 			}
 
-			if ( gp_post( 'gtranslate' ) ) {
+			if ( 'gtranslate' == $bulk['action'] ) {
 				$this->_bulk_google_translate( $project, $locale, $translation_set, $bulk );
 			}
 		} else {
@@ -155,7 +155,7 @@
 	
 	function _bulk_approve( $project, $locale, $translation_set, $bulk ) {
 		
-		$action = gp_post( 'approve' )? 'approve' : 'reject';
+		$action = $bulk['action'];
 		
 		$ok = $error = 0;
 		$new_status = 'approve' == $action? 'current' : 'rejected';
Index: js/translations-page.js
===================================================================
--- js/translations-page.js	(revision 680)
+++ js/translations-page.js	(working copy)
@@ -9,66 +9,16 @@
 		hide_text: 'Filter &uarr;',
 		focus: '#filters\\[term\\]'
 	});
-	$gp.showhide('#upper-filters-toolbar a.bulk', '#upper-filters-toolbar dl.bulk-actions', {
-		show_text: 'Bulk &darr;',
-		hide_text: 'Bulk &uarr;',
-		focus: '#filters\\[term\\]'
-	});
-
-	var bulk_dl = $('.filters-toolbar dl.bulk-actions');
-	var submits = $('input[type=submit]', bulk_dl);
 	
 	var rows_checked = 0;
 
-	$('#upper-filters-toolbar a.bulk').click(function() {
-		rows_checked = $('input:checked', $('table#translations th.checkbox')).length;
-		change_row_checked(0);
+	$('form.filters-toolbar.bulk-actions').submit(function(e) {
+		var	row_ids = $('input:checked', $('table#translations th.checkbox')).map(function() {
+			return $(this).parents('tr.preview').attr('row');
+		}).get().join(',');
+		$('input[name="bulk[row-ids]"]', $(this)).val(row_ids);
 	});
 	
-	var change_row_checked = function(num) {
-		rows_checked += num;
-		submits.prop('disabled', ! rows_checked);
-	}
-	
-	$(':checkbox', $('table#translations th.checkbox')).each(function() {
-		$(this).change(function() {
-			this.checked? change_row_checked(+1) : change_row_checked(-1);
-		});
-	});
-	
-
-	var set_all = function (value) {
-		$(':checkbox', $('table#translations th.checkbox')).each(function() {
-			if ( !this.checked && value) change_row_checked(+1);
-			if ( this.checked && !value) change_row_checked(-1);
-			this.checked = value;
-		});
-	}
-	
-	$('.filters-toolbar dl.bulk-actions a.all').click( function() {
-		set_all(true);
-	});
-	$('.filters-toolbar dl.bulk-actions a.none').click( function() {
-		set_all(false);
-	});
-	
-	submits.prop('disabled', true);
-	
-	$('form.filters-toolbar').submit(function(e) {
-		if ($('input[name=approve]', bulk_dl).is(':visible')) {
-			this.method = 'post';
-			this.action = $gp_translations_options.action;
-			var	row_ids = $('input:checked', $('table#translations th.checkbox')).map(function() {
-				return $(this).parents('tr.preview').attr('row');
-			}).get().join(',');
-			$('input[name="bulk[row-ids]"]', $(this)).val(row_ids);
-		} else {
-			// do not litter the GET form with the long redirect_to
-			$('input[name^="bulk"]', $(this)).remove();
-		}
-		return true;
-	});
-	
 	$('a#export').click(function() {
 		var format = $('#export-format').val();
 		var what_to_export = $('#what-to-export').val();
