summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYorhel <git@yorhel.nl>2009-10-07 14:38:47 +0200
committerYorhel <git@yorhel.nl>2009-10-07 14:38:47 +0200
commitde09cecb62a56a9dc017876d32c07e1a51f6378d (patch)
tree7548cf6394b2e1c18c7c7ca2727b250eb8aeec74
parent246165b399856e207295773da2c03b135c1ca86a (diff)
L10N: Extracted strings for and improved release list selector on VN pages
-rw-r--r--ChangeLog1
-rw-r--r--data/global.pl1
-rw-r--r--data/lang.txt12
-rw-r--r--data/script.js22
-rwxr-xr-xutil/jsgen.pl11
-rwxr-xr-xutil/skingen.pl1
6 files changed, 31 insertions, 17 deletions
diff --git a/ChangeLog b/ChangeLog
index 399a2110..4babb39f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -14,6 +14,7 @@ git - ?
- Everything merged into one file.
- Optionally minified (using JavaScript::Minifier::XS)
- Language strings are translatable
+ - Information is automatically synchronised with data/global.pl
2.7 - 2009-09-24
- Improved styling of the threeboxes layout
diff --git a/data/global.pl b/data/global.pl
index 108f7332..1cbb9902 100644
--- a/data/global.pl
+++ b/data/global.pl
@@ -98,7 +98,6 @@ our %S = (%S,
voiced => [ 0..4 ],
animated => [ 0..4 ],
wishlist_status => [ 0..3 ],
- # note: keep these synchronised in script.js
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 a5749fef..3437455c 100644
--- a/data/lang.txt
+++ b/data/lang.txt
@@ -3337,6 +3337,18 @@ ru : Добавить к списку
en : remove from wishlist
ru : убрать из списка
+:_vnpage_uopt_relrstat
+en : Release status
+ru*:
+
+:_vnpage_uopt_relvstat
+en : Play status
+ru*:
+
+:_vnpage_uopt_reldel
+en : Remove from VN list
+ru*:
+
:_vnpage_rel
en : Releases
ru : Выпуски
diff --git a/data/script.js b/data/script.js
index ec13e306..2ddadb49 100644
--- a/data/script.js
+++ b/data/script.js
@@ -352,40 +352,38 @@ function ddRefresh() {
// release list dropdown on VN pages
-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(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<=rl_rstat; i++) {
- var val = mt('_rlst_rstat_'+i);
+ var rs = tag('ul', tag('li', tag('b', mt('_vnpage_uopt_relrstat'))));
+ var vs = tag('ul', tag('li', tag('b', mt('_vnpage_uopt_relvstat'))));
+ for(var i=0; i<rlst_rstat.length; i++) {
+ var val = mt('_rlst_rstat_'+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}, val)));
+ rs.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:'r'+rlst_rstat[i], onclick:rlMod}, val)));
}
- for(var i=0; i<=rl_vstat; i++) {
- var val = mt('_rlst_vstat_'+i);
+ for(var i=0; i<rlst_vstat.length; i++) {
+ var val = mt('_rlst_vstat_'+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}, val)));
+ vs.appendChild(tag('li', tag('a', {href:'#', rl_rid:relid, rl_act:'v'+rlst_vstat[i], onclick:rlMod}, val)));
}
return tag('div', {'class':'vrdd'}, rs, vs, st[0] == '--' ? null :
- tag('ul', {'class':'full'}, tag('li', tag('a', {href:'#', rl_rid: relid, rl_act:'del', onclick:rlMod}, 'Remove from VN List')))
+ tag('ul', {'class':'full'}, tag('li', tag('a', {href:'#', rl_rid: relid, rl_act:'del', onclick:rlMod}, mt('_vnpage_uopt_reldel'))))
);
}
function rlMod() {
var lnk = byId('rlsel_'+this.rl_rid);
ddHide();
- setContent(lnk, tag('b', {'class': 'patch'}, mt('_js_loading')));
+ setContent(lnk, tag('b', {'class': 'grayedout'}, 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/util/jsgen.pl b/util/jsgen.pl
index eee52c2a..3afb371a 100755
--- a/util/jsgen.pl
+++ b/util/jsgen.pl
@@ -1,13 +1,16 @@
#!/usr/bin/perl
+package VNDB;
+
use strict;
use warnings;
use Encode 'encode_utf8';
use Cwd 'abs_path';
eval { require JavaScript::Minifier::XS; };
-our($ROOT, %O);
+our($ROOT, %S);
BEGIN { ($ROOT = abs_path $0) =~ s{/util/jsgen\.pl$}{}; }
+require $ROOT.'/data/global.pl';
use lib "$ROOT/lib";
use lib "$ROOT/yawf/lib";
@@ -22,7 +25,7 @@ use VNDB::L10N;
my $jskeys = qr{^(?:
_js_.+|
_menu_emptysearch|
- _vnpage_uopt_10?vote|
+ _vnpage_uopt_(?:10?vote|rel.+)|
_rlst_[vr]stat_.+
)$}x;
@@ -70,7 +73,9 @@ sub l10n {
sub jsgen {
# JavaScript::Minifier::XS doesn't correctly handle perl's unicode,
# so just do everything in raw bytes instead.
- my $js = encode_utf8(l10n()) . "\n\n";
+ my $js = encode_utf8(l10n()) . "\n";
+ $js .= sprintf "rlst_rstat = [ %s ];\n", join ', ', map qq{"$_"}, @{$S{rlst_rstat}};
+ $js .= sprintf "rlst_vstat = [ %s ];\n", join ', ', map qq{"$_"}, @{$S{rlst_vstat}};
open my $JS, '<', "$ROOT/data/script.js" or die $!;
$js .= join '', <$JS>;
close $JS;
diff --git a/util/skingen.pl b/util/skingen.pl
index d18f5fde..73e4fdc7 100755
--- a/util/skingen.pl
+++ b/util/skingen.pl
@@ -11,7 +11,6 @@ eval { require CSS::Minifier::XS };
our($ROOT, %O);
BEGIN { ($ROOT = abs_path $0) =~ s{/util/skingen\.pl$}{}; }
-require $ROOT.'/data/global.pl';
if(@ARGV) {