summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/js/filter.js53
-rw-r--r--data/js/relmedia.js17
-rw-r--r--data/js/vnstaff.js6
-rw-r--r--lib/VNDB/Handler/Releases.pm7
-rwxr-xr-xutil/jsgen.pl16
5 files changed, 33 insertions, 66 deletions
diff --git a/data/js/filter.js b/data/js/filter.js
index 36a32e50..a9766f55 100644
--- a/data/js/filter.js
+++ b/data/js/filter.js
@@ -436,20 +436,13 @@ function filFTagInput(name, label, type) {
}
function filChars() {
- var gend = VARS.genders;
- for(var i=0; i<gend.length; i++) // l10n /_gender_.+/
- gend[i] = [ gend[i], mt('_gender_'+gend[i]) ];
- var bloodt = VARS.blood_types;
- for(var i=0; i<bloodt.length; i++) // l10n /_bloodt_.+/
- bloodt[i] = [ bloodt[i], bloodt[i] == 'unknown' ? mt('_unknown') : mt('_bloodt_'+bloodt[i]) ];
-
var ontraitpage = location.pathname.indexOf('/c/') < 0;
return [
mt('_charb_fil_title'),
[ mt('_charb_general'),
- filFSelect('gender', mt('_charb_gender'), 4, gend),
- filFSelect('bloodt', mt('_charb_bloodt'), 5, bloodt),
+ filFSelect('gender', mt('_charb_gender'), 4, VARS.genders),
+ filFSelect('bloodt', mt('_charb_bloodt'), 5, VARS.blood_types),
'',
filFSlider('bust_min', mt('_charb_bust_min'), 20, 120, 40, 'cm'),
filFSlider('bust_max', mt('_charb_bust_max'), 20, 120, 100, 'cm'),
@@ -476,25 +469,14 @@ function filChars() {
}
function filReleases() {
- var types = VARS.release_types;
- for(var i=0; i<types.length; i++) // l10n /_rtype_.+/
- types[i] = [ types[i], mt('_rtype_'+types[i]) ];
var plat = VARS.platforms;
plat.splice(0, 0, [ 'unk', mt('_unknown') ]);
var med = VARS.media;
- for(var i=0; i<med.length; i++) // l10n /_med_.+/
- med[i] = [ med[i], mt('_med_'+med[i]) ];
med.splice(0, 0, [ 'unk', mt('_unknown') ]);
- var voi = VARS.voiced;
- for(var i=0; i<voi.length; i++) // l10n /_voiced_.+/
- voi[i] = [ voi[i], voi[i] == 0 ? mt('_unknown') : mt('_voiced_'+voi[i]) ];
- var ani = VARS.animated;
- for(var i=0; i<ani.length; i++) // l10n /_animated_.+/
- ani[i] = [ ani[i], ani[i] == 0 ? mt('_unknown') : mt('_animated_'+ani[i]) ];
return [
mt('_rbrowse_fil_title'),
[ mt('_rbrowse_general'),
- filFOptions('type', mt('_rbrowse_type'), types),
+ filFOptions('type', mt('_rbrowse_type'), VARS.release_types),
filFOptions('patch', mt('_rbrowse_patch'), [ [1, mt('_rbrowse_patch_yes')], [0, mt('_rbrowse_patch_no')] ]),
filFOptions('freeware', mt('_rbrowse_freeware'),[ [1, mt('_rbrowse_freeware_yes')], [0, mt('_rbrowse_freeware_no')] ]),
filFOptions('doujin', mt('_rbrowse_doujin'), [ [1, mt('_rbrowse_doujin_yes')], [0, mt('_rbrowse_doujin_no')] ]),
@@ -508,25 +490,21 @@ function filReleases() {
[ mt('_rbrowse_resolution'), filFSelect('resolution', mt('_rbrowse_resolution'), 15, VARS.resolutions) ],
[ mt('_rbrowse_platform'), filFSelect('plat', mt('_rbrowse_platform'), 20, plat) ],
[ mt('_rbrowse_medium'), filFSelect('med', mt('_rbrowse_medium'), 10, med) ],
- [ mt('_rbrowse_voiced'), filFSelect('voiced', mt('_rbrowse_voiced'), 5, voi) ],
+ [ mt('_rbrowse_voiced'), filFSelect('voiced', mt('_rbrowse_voiced'), 5, VARS.voiced) ],
[ mt('_rbrowse_animation'),
- filFSelect('ani_story', mt('_rbrowse_ani_story'), 5, ani),
- filFSelect('ani_ero', mt('_rbrowse_ani_ero'), 5, ani)
+ filFSelect('ani_story', mt('_rbrowse_ani_story'), 5, VARS.animated),
+ filFSelect('ani_ero', mt('_rbrowse_ani_ero'), 5, VARS.animated)
]
];
}
function filVN() {
- var len = VARS.vn_lengths;
- for(var i=0; i<len.length; i++) // l10n /_vnlength_.+/
- len[i] = [ len[i], len[i] == 0 ? mt('_unknown') : mt('_vnlength_'+len[i]) ];
-
var ontagpage = location.pathname.indexOf('/v/') < 0;
return [
mt('_vnbrowse_fil_title'),
[ mt('_vnbrowse_general'),
- filFSelect( 'length', mt('_vnbrowse_length'), 6, len),
+ filFSelect( 'length', mt('_vnbrowse_length'), 6, VARS.vn_lengths),
filFOptions('hasani', mt('_vnbrowse_anime'), [[1, mt('_vnbrowse_anime_yes')],[0, mt('_vnbrowse_anime_no')]])
],
ontagpage ? [ mt('_vnbrowse_tags'),
@@ -557,14 +535,15 @@ function filStaff() {
['m', mt('_gender_m')],
['f', mt('_gender_f')],
];
- var roles = [];
- for(var i=0; i<VARS.staff_roles.length; i++) { // l10n /_credit_.+/
- if(VARS.staff_roles[i] == 'staff') {
- roles.push(['seiyuu', mt('_credit_seiyuu')]);
- roles.push(['staff', mt('_credit_other')]);
- } else
- roles.push([ VARS.staff_roles[i], mt('_credit_'+VARS.staff_roles[i]) ]);
- }
+
+ // Insert seiyuu into the list of roles, before the "staff" role.
+ var roles = VARS.staff_roles;
+ for(var i=0; i<roles.length; i++)
+ if(roles[i][0] == 'staff') {
+ roles.splice(i, 0, ['seiyuu', mt('_credit_seiyuu')]);
+ break;
+ }
+
return [
mt('_sbrowse_fil_title'),
[ mt('_sbrowse_general'),
diff --git a/data/js/relmedia.js b/data/js/relmedia.js
index 195d5c96..3b1a4f4a 100644
--- a/data/js/relmedia.js
+++ b/data/js/relmedia.js
@@ -1,11 +1,4 @@
-var medTypes = [ ];
function medLoad() {
- // load the medTypes and clear the div
- var sel = byName(byId('media_div'), 'select')[0].options;
- for(var i=0; i<sel.length; i++)
- medTypes[medTypes.length] = [ sel[i].value, getText(sel[i]), !hasClass(sel[i], 'noqty') ];
- setText(byId('media_div'), '');
-
// load the selected media
var med = byId('media').value.split(',');
for(var i=0; i<med.length && med[i].length > 1; i++)
@@ -22,8 +15,8 @@ function medAdd(med, qty) {
var msel = tag('select', {'class':'medium', onchange: med == '' ? medFormAdd : medSerialize});
if(med == '')
msel.appendChild(tag('option', {value:''}, mt('_redit_form_med_medium')));
- for(var i=0; i<medTypes.length; i++)
- msel.appendChild(tag('option', {value:medTypes[i][0], selected: med==medTypes[i][0]}, medTypes[i][1]));
+ for(var i=0; i<VARS.media.length; i++)
+ msel.appendChild(tag('option', {value:VARS.media[i][0], selected: med==VARS.media[i][0]}, VARS.media[i][1]));
byId('media_div').appendChild(tag('span', qsel, msel,
med != '' ? tag('input', {type: 'button', 'class':'submit', onclick:medDel, value:mt('_js_remove')}) : null
@@ -61,12 +54,12 @@ function medSerialize() {
var qty = byClass(meds[i], 'select', 'qty')[0];
/* correct quantity if necessary */
- if(medTypes[med.selectedIndex][2] && !qty.selectedIndex)
+ if(VARS.media[med.selectedIndex][2] && !qty.selectedIndex)
qty.selectedIndex = 1;
- if(!medTypes[med.selectedIndex][2] && qty.selectedIndex)
+ if(!VARS.media[med.selectedIndex][2] && qty.selectedIndex)
qty.selectedIndex = 0;
- r[r.length] = medTypes[med.selectedIndex][0] + ' ' + qty.selectedIndex;
+ r[r.length] = VARS.media[med.selectedIndex][0] + ' ' + qty.selectedIndex;
}
byId('media').value = r.join(',');
}
diff --git a/data/js/vnstaff.js b/data/js/vnstaff.js
index 11542a81..a4fa012f 100644
--- a/data/js/vnstaff.js
+++ b/data/js/vnstaff.js
@@ -25,9 +25,9 @@ function vnsAdd(staff, role, note) {
var tbl = byId('credits_tbl');
var rlist = tag('select', {onchange:vnsSerialize});
- for (var i = 0; i < VARS.staff_roles.length; i++) // l10n /^_credit_/
- rlist.appendChild(tag('option', {value:VARS.staff_roles[i], selected:VARS.staff_roles[i]==role},
- mt('_credit_'+VARS.staff_roles[i])));
+ var r = VARS.staff_roles;
+ for (var i = 0; i<r.length; i++)
+ rlist.appendChild(tag('option', {value:r[i][0], selected:r[i][0]==role}, r[i][1]));
tbl.appendChild(tag('tr', {id:'vns_a'+staff.aid},
tag('td', {'class':'tc_name'},
diff --git a/lib/VNDB/Handler/Releases.pm b/lib/VNDB/Handler/Releases.pm
index 805329af..35cf824c 100644
--- a/lib/VNDB/Handler/Releases.pm
+++ b/lib/VNDB/Handler/Releases.pm
@@ -433,12 +433,7 @@ sub _form {
end;
h2 mt '_redit_form_media';
- div id => 'media_div';
- Select;
- option value => $_, class => $self->{media}{$_} ? 'qty' : 'noqty', mt "_med_$_", 1
- for (sort keys %{$self->{media}});
- end;
- end;
+ div id => 'media_div', '';
}],
],
diff --git a/util/jsgen.pl b/util/jsgen.pl
index 784c80c0..ae0a9402 100755
--- a/util/jsgen.pl
+++ b/util/jsgen.pl
@@ -129,14 +129,14 @@ sub vars {
languages => [ map [ $_, l10nstr($lang, "_lang_$_") ], @{$S{languages}} ],
platforms => [ map [ $_, l10nstr($lang, "_plat_$_") ], @{$S{platforms}} ],
char_roles => [ map [ $_, l10nstr($lang, "_charrole_$_") ], @{$S{char_roles}} ],
- media => [sort keys %{$S{media}}],
- release_types => $S{release_types},
- animated => $S{animated},
- voiced => $S{voiced},
- vn_lengths => $S{vn_lengths},
- blood_types => $S{blood_types},
- genders => $S{genders},
- staff_roles => $S{staff_roles},
+ media => [ map [ $_, l10nstr($lang, "_med_$_"), $S{media}{$_} ], sort keys %{$S{media}} ],
+ release_types => [ map [ $_, l10nstr($lang, "_rtype_$_") ], @{$S{release_types}} ],
+ animated => [ map [ 1*$_, l10nstr($lang, $_?"_animated_$_":'_unknown' ) ], @{$S{animated}} ],
+ voiced => [ map [ 1*$_, l10nstr($lang, $_?"_voiced_$_":'_unknown' ) ], @{$S{voiced}} ],
+ vn_lengths => [ map [ 1*$_, l10nstr($lang, $_?"_vnlength_$_":'_unknown' ) ], @{$S{vn_lengths}} ],
+ blood_types => [ map [ $_, l10nstr($lang, $_ eq 'unknown' ? '_unknown' : "_bloodt_$_") ], @{$S{blood_types}} ],
+ genders => [ map [ $_, l10nstr($lang, "_gender_$_") ], @{$S{genders}} ],
+ staff_roles => [ map [ $_, l10nstr($lang, "_credit_$_") ], @{$S{staff_roles}} ],
resolutions => scalar resolutions($lang),
l10n_lang => [ map [ $_, l10nstr($_, "_lang_$_") ], VNDB::L10N::languages() ],
l10n_str => $l10n,