summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/global.pl16
-rw-r--r--data/lang.txt43
-rw-r--r--data/script.js26
-rw-r--r--lib/VNDB/Func.pm4
-rw-r--r--lib/VNDB/Handler/Releases.pm10
-rw-r--r--lib/VNDB/Handler/ULists.pm12
-rwxr-xr-xutil/jsgen.pl3
7 files changed, 74 insertions, 40 deletions
diff --git a/data/global.pl b/data/global.pl
index 22e18670..108f7332 100644
--- a/data/global.pl
+++ b/data/global.pl
@@ -99,20 +99,8 @@ our %S = (%S,
animated => [ 0..4 ],
wishlist_status => [ 0..3 ],
# note: keep these synchronised in script.js
- vn_rstat => [
- 'Unknown',
- 'Pending',
- 'Obtained', # hardcoded
- 'On loan',
- 'Deleted',
- ],
- vn_vstat => [
- 'Unknown',
- 'Playing',
- 'Finished', # hardcoded
- 'Stalled',
- 'Dropped',
- ],
+ rlst_rstat => [ 0..4 ], # 2 = hardcoded 'OK', < 2 = hardcoded 'NOK'
+ rlst_vstat => [ 0..4 ], # 2 = hardcoded 'OK', 0 || 4 = hardcoded 'NOK'
);
diff --git a/data/lang.txt b/data/lang.txt
index 7d4d2a67..a5749fef 100644
--- a/data/lang.txt
+++ b/data/lang.txt
@@ -588,6 +588,49 @@ en : Very long[index,_1,, (> 50 hours), (Clannad)]
ru : Очень длинная[index,_1,, (> 50 часов), (Clannad)]
+# VN list statuses
+
+:_rlst_rstat_0
+en : Unknown
+ru*:
+
+:_rlst_rstat_1
+en : Pending
+ru*:
+
+:_rlst_rstat_2
+en : Obtained
+ru*:
+
+:_rlst_rstat_3
+en : On loan
+ru*:
+
+:_rlst_rstat_4
+en : Deleted
+ru*:
+
+:_rlst_vstat_0
+en : Unknown
+ru*:
+
+:_rlst_vstat_1
+en : Playing
+ru*:
+
+:_rlst_vstat_2
+en : Finished
+ru*:
+
+:_rlst_vstat_3
+en : Stalled
+ru*:
+
+:_rlst_vstat_4
+en : Dropped
+ru*:
+
+
# Form messages
:_formerr_e_login_failed
diff --git a/data/script.js b/data/script.js
index 826b3bb2..ec13e306 100644
--- a/data/script.js
+++ b/data/script.js
@@ -352,27 +352,29 @@ function ddRefresh() {
// release list dropdown on VN pages
-var rstat = [ 'Unknown', 'Pending', 'Obtained', 'On loan', 'Deleted' ];
-var vstat = [ 'Unknown', 'Playing', 'Finished', 'Stalled', 'Dropped' ];
+var rl_rstat = 4;
+var rl_vstat = 4;
function rlDropDown(lnk) {
var relid = lnk.id.substr(6);
var st = getText(lnk).split(' / ');
- if(st[0].indexOf('loading') >= 0)
+ if(st[0].indexOf(mt('_js_loading')) >= 0)
return null;
var rs = tag('ul', tag('li', tag('b', 'Release status')));
var vs = tag('ul', tag('li', tag('b', 'Play status')));
- for(var i=0;i<rstat.length;i++) {
- if(st[0] && st[0].indexOf(rstat[i]) >= 0)
- rs.appendChild(tag('li', tag('i', rstat[i])));
+ for(var i=0; i<=rl_rstat; i++) {
+ var val = mt('_rlst_rstat_'+i);
+ if(st[0] && st[0].indexOf(val) >= 0)
+ rs.appendChild(tag('li', tag('i', val)));
else
- rs.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:'r'+i, onclick:rlMod}, rstat[i])));
+ rs.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:'r'+i, onclick:rlMod}, val)));
}
- for(var i=0;i<vstat.length;i++) {
- if(st[0] && st[0].indexOf(vstat[i]) >= 0)
- vs.appendChild(tag('li', tag('i', vstat[i])));
+ for(var i=0; i<=rl_vstat; i++) {
+ var val = mt('_rlst_vstat_'+i);
+ if(st[1] && st[1].indexOf(val) >= 0)
+ vs.appendChild(tag('li', tag('i', val)));
else
- vs.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:'v'+i, onclick:rlMod}, vstat[i])));
+ vs.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:'v'+i, onclick:rlMod}, val)));
}
return tag('div', {'class':'vrdd'}, rs, vs, st[0] == '--' ? null :
@@ -383,7 +385,7 @@ function rlDropDown(lnk) {
function rlMod() {
var lnk = byId('rlsel_'+this.rl_rid);
ddHide();
- setContent(lnk, tag('b', {'class': 'patch'}, mt('js_loading')));
+ setContent(lnk, tag('b', {'class': 'patch'}, mt('_js_loading')));
ajax('/xml/rlist.xml?id='+this.rl_rid+';e='+this.rl_act, function(hr) {
// TODO: get rid of innerHTML here...
lnk.innerHTML = hr.responseXML.getElementsByTagName('rlist')[0].firstChild.nodeValue;
diff --git a/lib/VNDB/Func.pm b/lib/VNDB/Func.pm
index cd4c4b62..ad38215e 100644
--- a/lib/VNDB/Func.pm
+++ b/lib/VNDB/Func.pm
@@ -149,10 +149,10 @@ sub gtintype {
sub liststat {
my $l = shift;
return '' if !$l;
- my $rs = $YAWF::OBJ->{vn_rstat}[$l->{rstat}];
+ my $rs = mt('_rlst_rstat_'.$l->{rstat});
$rs = qq|<b class="done">$rs</b>| if $l->{rstat} == 2; # Obtained
$rs = qq|<b class="todo">$rs</b>| if $l->{rstat} < 2; # Unknown/pending
- my $vs = $YAWF::OBJ->{vn_vstat}[$l->{vstat}];
+ my $vs = mt('_rlst_vstat_'.$l->{vstat});
$vs = qq|<b class="done">$vs</b>| if $l->{vstat} == 2; # Finished
$vs = qq|<b class="todo">$vs</b>| if $l->{vstat} == 0 || $l->{vstat} == 4; # Unknown/dropped
return "$rs / $vs";
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index e7442845..e3656cc3 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -241,14 +241,14 @@ sub _infotable {
td;
Select id => 'listsel', name => 'listsel';
option mt !$rl ? '_relinfo_user_notlist' :
- ('_relinfo_user_inlist', $self->{vn_rstat}[$rl->{rstat}], $self->{vn_vstat}[$rl->{vstat}]);
+ ('_relinfo_user_inlist', mt('_rlst_rstat_'.$rl->{rstat}), mt('_rlst_vstat_'.$rl->{vstat}));
optgroup label => mt '_relinfo_user_setr';
- option value => "r$_", $self->{vn_rstat}[$_]
- for (0..$#{$self->{vn_rstat}});
+ option value => "r$_", mt '_rlst_rstat_'.$_
+ for (@{$self->{rlst_rstat}});
end;
optgroup label => mt '_relinfo_user_setv';
- option value => "v$_", $self->{vn_vstat}[$_]
- for (0..$#{$self->{vn_vstat}});
+ option value => "v$_", mt '_rlst_vstat_'.$_
+ for (@{$self->{rlst_vstat}});
end;
option value => 'del', mt '_relinfo_user_del' if $rl;
end;
diff --git a/lib/VNDB/Handler/ULists.pm b/lib/VNDB/Handler/ULists.pm
index 049ef48a..19db9f1e 100644
--- a/lib/VNDB/Handler/ULists.pm
+++ b/lib/VNDB/Handler/ULists.pm
@@ -69,7 +69,7 @@ sub rlist {
return $self->htmlDenied() if !$uid;
my $f = $self->formValidate(
- { name => 'e', required => 1, enum => [ 'del', map("r$_", 0..$#{$self->{vn_rstat}}), map("v$_", 0..$#{$self->{vn_vstat}}) ] },
+ { name => 'e', required => 1, enum => [ 'del', map("r$_", @{$self->{rlst_rstat}}), map("v$_", @{$self->{rlst_vstat}}) ] },
);
return 404 if $f->{_err};
@@ -212,7 +212,7 @@ sub vnlist {
if($own && $self->reqMethod eq 'POST') {
my $frm = $self->formValidate(
{ name => 'sel', required => 0, default => 0, multi => 1, template => 'int' },
- { name => 'batchedit', required => 1, enum => [ 'del', map("r$_", 0..$#{$self->{vn_rstat}}), map("v$_", 0..$#{$self->{vn_vstat}}) ] },
+ { name => 'batchedit', required => 1, enum => [ 'del', map("r$_", @{$self->{rlst_rstat}}), map("v$_", @{$self->{rlst_vstat}}) ] },
);
if(!$frm->{_err} && @{$frm->{sel}} && $frm->{sel}[0]) {
$self->dbVNListDel($uid, $frm->{sel}) if $frm->{batchedit} eq 'del';
@@ -333,12 +333,12 @@ sub _vnlist_browse {
Select id => 'batchedit', name => 'batchedit';
option mt '_rlist_selection';
optgroup label => mt '_rlist_changerel';
- option value => "r$_", $self->{vn_rstat}[$_]
- for (0..$#{$self->{vn_rstat}});
+ option value => "r$_", mt "_rlst_rstat_$_"
+ for (@{$self->{rlst_rstat}});
end;
optgroup label => mt '_rlist_changeplay';
- option value => "v$_", $self->{vn_vstat}[$_]
- for (0..$#{$self->{vn_vstat}});
+ option value => "v$_", mt "_rlst_vstat_$_"
+ for (@{$self->{rlst_vstat}});
end;
option value => 'del', mt '_rlist_del';
end;
diff --git a/util/jsgen.pl b/util/jsgen.pl
index 3ae63157..eee52c2a 100755
--- a/util/jsgen.pl
+++ b/util/jsgen.pl
@@ -22,7 +22,8 @@ use VNDB::L10N;
my $jskeys = qr{^(?:
_js_.+|
_menu_emptysearch|
- _vnpage_uopt_10?vote
+ _vnpage_uopt_10?vote|
+ _rlst_[vr]stat_.+
)$}x;
sub l10n {