summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/gallery/controllers/l10n_client.php5
-rw-r--r--modules/gallery/js/l10n_client.js8
2 files changed, 8 insertions, 5 deletions
diff --git a/modules/gallery/controllers/l10n_client.php b/modules/gallery/controllers/l10n_client.php
index e3b47681..084f88af 100644
--- a/modules/gallery/controllers/l10n_client.php
+++ b/modules/gallery/controllers/l10n_client.php
@@ -38,6 +38,7 @@ class L10n_Client_Controller extends Controller {
}
$is_plural = Gallery_I18n::is_plural_message(unserialize($root_message->message));
+ $is_empty = true;
if ($is_plural) {
$plural_forms = l10n_client::plural_forms($locale);
$translation = array();
@@ -47,9 +48,11 @@ class L10n_Client_Controller extends Controller {
throw new Exception("@todo bad request data");
}
$translation[$plural_form] = $value;
+ $is_empty = $is_empty && empty($value);
}
} else {
$translation = $input->post("l10n-edit-translation");
+ $is_empty = empty($translation);
if (null === $translation || !is_string($translation)) {
throw new Exception("@todo bad request data");
}
@@ -60,7 +63,7 @@ class L10n_Client_Controller extends Controller {
->where("locale", "=", $locale)
->find();
- if (empty($translation)) {
+ if ($is_empty) {
if ($entry->loaded()) {
$entry->delete();
}
diff --git a/modules/gallery/js/l10n_client.js b/modules/gallery/js/l10n_client.js
index a77667f3..a1170e2d 100644
--- a/modules/gallery/js/l10n_client.js
+++ b/modules/gallery/js/l10n_client.js
@@ -166,7 +166,7 @@ jQuery.extend(Gallery, {
if (form == 'one') {
text = source['one'];
}
- $('#l10n-edit-plural-translation-' + form)
+ $("#plural-" + form + " textarea[name='l10n-edit-plural-translation-" + form + "']")
.attr('value', text);
}
} else {
@@ -264,8 +264,8 @@ Gallery.behaviors.l10nClient = function(context) {
if (is_plural) {
for (var i = 0; i < num_plural_forms; i++) {
var form = plural_forms[i];
- translation[form] = $('#g-l10n-client-save-form #l10n-edit-plural-translation-' + form).attr('value');
- is_non_empty |= translation[form];
+ translation[form] = $("#plural-" + form + " textarea[name='l10n-edit-plural-translation-" + form + "']").attr('value');
+ is_non_empty = is_non_empty || translation[form];
}
} else {
translation = $('#l10n-edit-translation').attr('value');
@@ -287,7 +287,7 @@ Gallery.behaviors.l10nClient = function(context) {
for (var i = 0; i < num_plural_forms; i++) {
var form = plural_forms[i];
- $('#g-l10n-client-save-form #l10n-edit-plural-translation-' + form).val('');
+ $("#plural-" + form + " textarea[name='l10n-edit-plural-translation-" + form + "']").val('');
}
$("#g-l10n-client-save-form input[name='l10n-message-key']").val('');
},