From 246165b399856e207295773da2c03b135c1ca86a Mon Sep 17 00:00:00 2001 From: Yorhel Date: Wed, 7 Oct 2009 14:16:36 +0200 Subject: L10N: Extracted release list statuses Should be converted to enums at some point... integers don't do the trick here. --- data/global.pl | 16 ++-------------- data/lang.txt | 43 +++++++++++++++++++++++++++++++++++++++++++ data/script.js | 26 ++++++++++++++------------ lib/VNDB/Func.pm | 4 ++-- lib/VNDB/Handler/Releases.pm | 10 +++++----- lib/VNDB/Handler/ULists.pm | 12 ++++++------ util/jsgen.pl | 3 ++- 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= 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= 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|$rs| if $l->{rstat} == 2; # Obtained $rs = qq|$rs| if $l->{rstat} < 2; # Unknown/pending - my $vs = $YAWF::OBJ->{vn_vstat}[$l->{vstat}]; + my $vs = mt('_rlst_vstat_'.$l->{vstat}); $vs = qq|$vs| if $l->{vstat} == 2; # Finished $vs = qq|$vs| 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 { -- cgit v1.2.3