summaryrefslogtreecommitdiff
path: root/data
diff options
context:
space:
mode:
Diffstat (limited to 'data')
-rw-r--r--data/docs/1124
-rw-r--r--data/docs/42
-rw-r--r--data/docs/52
-rw-r--r--data/global.pl20
-rw-r--r--data/lang.txt85
-rw-r--r--data/script.js37
-rw-r--r--data/style.css13
7 files changed, 127 insertions, 56 deletions
diff --git a/data/docs/11 b/data/docs/11
index e1e49881..28d1acc1 100644
--- a/data/docs/11
+++ b/data/docs/11
@@ -376,6 +376,16 @@ however still required.<br />
</td>
</tr>
<tr class="odd">
+ <td>image</td>
+ <td>details</td>
+ <td>string</td>
+ <td>yes</td>
+ <td>
+ HTTP link to the VN image. Please note that hotlinking is not allowed, so
+ make sure to leave the HTTP Referer header empty when fetching the image.
+ </td>
+ </tr>
+ <tr>
<td>anime</td>
<td>anime</td>
<td>array of objects</td>
@@ -393,7 +403,7 @@ however still required.<br />
and may not reflect the latest state of their information due to caching.
</td>
</tr>
- <tr>
+ <tr class="odd">
<td>relations</td>
<td>relations</td>
<td>array of objects</td>
@@ -889,3 +899,15 @@ however still required.<br />
+:SUB:Change Log
+<p>
+ This section lists the changes made in each version of the VNDB code.
+ Check out the <a href="/t/an">announcements board</a> for more information about updates.
+</p>
+<b>2.12</b>
+<ul>
+ <li>Added "image" member to "get vn"</li>
+ <li>A few minor fixes in some error messages</li>
+ <li>Switched to a different (and faster) search algorithm for "get vn .. (search ~ ..)"</li>
+</ul>
+
diff --git a/data/docs/4 b/data/docs/4
index f2dccba8..fc383e74 100644
--- a/data/docs/4
+++ b/data/docs/4
@@ -64,7 +64,7 @@ The following relations are defined:
The difference with the <i>Formerly</i> relation is that the producer where the
members came from is still alive.
</dd><dt>Originated from</dt><dd>
- Reverse of <i>Spawned</i> - current producer spawned the selected producer.
+ Reverse of <i>Spawned</i> - selected producer spawned the current producer.
</dd>
</dl>
diff --git a/data/docs/5 b/data/docs/5
index ada10755..ee938f3a 100644
--- a/data/docs/5
+++ b/data/docs/5
@@ -24,7 +24,7 @@
:SUB:Capitalization
<p>
It occasionally happens that official titles or names are either entirely in
- uppercase or lowercase characters. If there is no real reason for this choise
+ uppercase or lowercase characters. If there is no real reason for this choice
of capitalization (e.g. it's not an acronym), these titles and names should be
properly converted to normal English capitalization (as described
<a href="http://en.wikipedia.org/wiki/Capitalization">on Wikipedia</a>) before
diff --git a/data/global.pl b/data/global.pl
index 0d58e9b4..4046ce10 100644
--- a/data/global.pl
+++ b/data/global.pl
@@ -19,9 +19,12 @@ our %S = (%S,
url_static => 'http://s.vndb.org',
skin_default => 'angel',
cookie_domain => '.vndb.org',
+ cookie_prefix => 'vndb_',
global_salt => 'any-private-string-here',
source_url => 'http://git.blicky.net/vndb.git/?h=master',
admin_email => 'contact@vndb.org',
+ scr_size => [ 136, 102 ], # w*h of screenshot thumbnails
+ cv_size => [ 256, 400 ], # max. w*h of cover images
user_ranks => [
# allowed actions # DB number
[qw| hist |], # 0
@@ -52,16 +55,16 @@ our %S = (%S,
prod_relations => {
'old' => [ 0, 'new' ],
'new' => [ 1, 'old' ],
- 'sub' => [ 2, 'par' ],
- 'par' => [ 3, 'sub' ],
- 'imp' => [ 4, 'ipa' ],
- 'ipa' => [ 5, 'imp' ],
- 'spa' => [ 6, 'ori' ],
- 'ori' => [ 7, 'spa' ],
+ 'spa' => [ 2, 'ori' ],
+ 'ori' => [ 3, 'spa' ],
+ 'sub' => [ 4, 'par' ],
+ 'par' => [ 5, 'sub' ],
+ 'imp' => [ 6, 'ipa' ],
+ 'ipa' => [ 7, 'imp' ],
},
age_ratings => [undef, 0, 6..18],
release_types => [qw|complete partial trial|],
- platforms => [qw|win dos lin mac dvd gba msx nds nes p98 psp ps1 ps2 ps3 drc sat sfc wii xb3 oth|],
+ platforms => [qw|win dos lin mac ios dvd gba msx nds nes p98 psp ps1 ps2 ps3 drc sat sfc wii xb3 oth|],
media => {
#DB qty?
cd => 1,
@@ -85,9 +88,11 @@ our %S = (%S,
[ '1024x768', '4:3' ],
[ '1600x1200', '4:3' ],
[ '640x400', 'widescreen' ],
+ [ '1024x576', 'widescreen' ],
[ '1024x600', 'widescreen' ],
[ '1024x640', 'widescreen' ],
[ '1280x720 (720p)', 'widescreen' ],
+ [ '1280x800', 'widescreen' ],
[ '1920x1080 (1080p)', 'widescreen' ],
],
voiced => [ 0..4 ],
@@ -105,7 +110,6 @@ our %M = (
#API => {}, # disabled by default, not really needed
RG => {},
Image => {},
- Sitemap => {},
#Anime => {}, # disabled by default, requires AniDB username/pass
Maintenance => {},
#IRC => {}, # disabled by default, no need to run an IRC bot when debugging
diff --git a/data/lang.txt b/data/lang.txt
index fff7d167..1f8479b9 100644
--- a/data/lang.txt
+++ b/data/lang.txt
@@ -409,6 +409,13 @@ cs : Mac OS
hu :
nl :
+:_plat_ios
+en : Apple iProduct
+ru*:
+cs*:
+hu*:
+nl :
+
:_plat_dvd
en : DVD Player
ru : DVD-плеер
@@ -1062,39 +1069,39 @@ hu : Ismeretlen
nl : Onbekend
:_vnlength_1
-en : Very short[index,_1,, (< 2 hours), (OMGWTHOTL~, A Dream of Summer)]
-ru : Крошечная[index,_1,, (< 2 часов), (OMGWTFOTL~, A Dream Of Summer)]
-cs : Velmi krátká[index,_1,, (< 2 hours), (OMGWTHOTL~, A Dream of Summer)]
-hu : Nagyon rövid[index,_1,, (< 2 óra), (OMGWTHOTL~, A Dream of Summer)]
-nl : Erg kort[index,_1,, (< 2 uur), (OMGWTHOTL~, A Dream of Summer)]
+en : Very short[index,_1,, (< 2 hours), (OMGWTFOTL~, Jouka no Monshou~, The world to reverse)]
+ru : Крошечная[index,_1,, (< 2 часов), (OMGWTFOTL~, Jouka no Monshou~, The world to reverse)]
+cs : Velmi krátká[index,_1,, (< 2 hours), (OMGWTFOTL~, Jouka no Monshou~, The world to reverse)]
+hu : Nagyon rövid[index,_1,, (< 2 óra), (OMGWTFOTL~, Jouka no Monshou~, The world to reverse)]
+nl : Erg kort[index,_1,, (< 2 uur), (OMGWTFOTL~, Jouka no Monshou~, The world to reverse)]
:_vnlength_2
-en : Short[index,_1,, (2 - 10 hours), (Narcissu~, Planetarian)]
-ru : Малая[index,_1,, (2 - 10 часов), (Narcissu~, Planetarian)]
-cs : Krátká[index,_1,, (2 - 10 hours), (Narcissu~, Planetarian)]
-hu : Rövid[index,_1,, (2 - 10 óra), (Narcissu~, Planetarian)]
-nl : Kort[index,_1,, (2 - 10 uur), (Narcissu~, Planetarian)]
+en : Short[index,_1,, (2 - 10 hours), (Narcissu~, Saya no Uta~, Planetarian)]
+ru : Малая[index,_1,, (2 - 10 часов), (Narcissu~, Saya no Uta~, Planetarian)]
+cs : Krátká[index,_1,, (2 - 10 hours), (Narcissu~, Saya no Uta~, Planetarian)]
+hu : Rövid[index,_1,, (2 - 10 óra), (Narcissu~, Saya no Uta~, Planetarian)]
+nl : Kort[index,_1,, (2 - 10 uur), (Narcissu~, Saya no Uta~, Planetarian)]
:_vnlength_3
-en : Medium[index,_1,, (10 - 30 hours), (Kana: Little Sister)]
-ru : Средняя[index,_1,, (10 - 30 часов), (Kana: Little Sister)]
-cs : Střední[index,_1,, (10 - 30 hours), (Kana: Little Sister)]
-hu : Közepes[index,_1,, (10 - 30 óra), (Kana: Little Sister)]
-nl : Gemiddeld[index,_1,, (10 - 30 uur), (Kana: Little Sister)]
+en : Medium[index,_1,, (10 - 30 hours), (Yume Miru Kusuri~, Cross†Channel~, Crescendo)]
+ru : Средняя[index,_1,, (10 - 30 часов), (Yume Miru Kusuri~, Cross†Channel~, Crescendo)]
+cs : Střední[index,_1,, (10 - 30 hours), (Yume Miru Kusuri~, Cross†Channel~, Crescendo)]
+hu : Közepes[index,_1,, (10 - 30 óra), (Yume Miru Kusuri~, Cross†Channel~, Crescendo)]
+nl : Gemiddeld[index,_1,, (10 - 30 uur), (Yume Miru Kusuri~, Cross†Channel~, Crescendo)]
:_vnlength_4
-en : Long[index,_1,, (30 - 50 hours), (Tsukihime)]
-ru : Большая[index,_1,, (30 - 50 часов), (Tsukihime)]
-cs : Dlouhá[index,_1,, (30 - 50 hours), (Tsukihime)]
-hu : Hosszú[index,_1,, (30 - 50 óra), (Tsukihime)]
-nl : Lang[index,_1,, (30 - 50 uur), (Tsukihime)]
+en : Long[index,_1,, (30 - 50 hours), (Tsukihime~, Ever17~, Utawarerumono)]
+ru : Большая[index,_1,, (30 - 50 часов), (Tsukihime~, Ever17~, Utawarerumono)]
+cs : Dlouhá[index,_1,, (30 - 50 hours), (Tsukihime~, Ever17~, Utawarerumono)]
+hu : Hosszú[index,_1,, (30 - 50 óra), (Tsukihime~, Ever17~, Utawarerumono)]
+nl : Lang[index,_1,, (30 - 50 uur), (Tsukihime~, Ever17~, Utawarerumono)]
:_vnlength_5
-en : Very long[index,_1,, (> 50 hours), (Clannad)]
-ru : Очень большая[index,_1,, (> 50 часов), (Clannad)]
-cs : Velmi dlouhá[index,_1,, (> 50 hours), (Clannad)]
-hu : Nagyon hosszú[index,_1,, (> 50 óra), (Clannad)]
-nl : Erg lang[index,_1,, (> 50 uur), (Clannad)]
+en : Very long[index,_1,, (> 50 hours), (Clannad~, Umineko~, Fate/Stay Night)]
+ru : Очень большая[index,_1,, (> 50 часов), (Clannad~, Umineko~, Fate/Stay Night)]
+cs : Velmi dlouhá[index,_1,, (> 50 hours), (Clannad~, Umineko~, Fate/Stay Night)]
+hu : Nagyon hosszú[index,_1,, (> 50 óra), (Clannad~, Umineko~, Fate/Stay Night)]
+nl : Erg lang[index,_1,, (> 50 uur), (Clannad~, Umineko~, Fate/Stay Night)]
# VN list statuses
@@ -5472,6 +5479,13 @@ cs*:
hu : bejelöltek eltávolítássa
nl : verwijder
+:_usern_autodel
+en : (Read notifications are automatically removed after one month)
+ru*:
+cs*:
+hu*:
+nl : (Gelezen notificaties worden na 1 maand automatisch verwijderd)
+
:_usern_set_saved
en : Settings successfully saved.
ru : Параметры успешно сохранены.
@@ -5728,19 +5742,19 @@ hu : Más nevek
nl : Aliassen
:_vnedit_alias_msg
-en : Comma separated list of alternative titles or abbreviations. Can include both official
- (japanese/english) titles and unofficial titles used around net.[br]
+en : List of alternative titles or abbreviations. One line for each alias.
+ Can include both official (japanese/english) titles and unofficial titles used around net.[br]
Titles that are listed in the releases should not be added here!
-ru : Список альтернативных названий или аббревиатур, перечисленных через запятую. Может включать как
+ru*: Список альтернативных названий или аббревиатур, перечисленных через запятую. Может включать как
официальные (японские/английские/русские) названия, так и неофициальные, имеющие хождение в сети.[br]
Не следует добавлять сюда названия, указанные в выпусках!
-cs : Seznam alternativních názvů nebo zkratek, oddělených čárkou. Může zahrnovat oba
+cs*: Seznam alternativních názvů nebo zkratek, oddělených čárkou. Může zahrnovat oba
(japonský/anglický) názvy a neoficiální názvy používané na internetu.[br]
Názvy, vypsané ve vydáních by se sem přidávat neměly!
-hu : Vesszővel elválasztott lista, más címekkel vagy rövidítésekkel. Tartalmazhat hivatalos
+hu*: Vesszővel elválasztott lista, más címekkel vagy rövidítésekkel. Tartalmazhat hivatalos
(japán/angol) címeket vagy nem hivatalosokat amelyet a netten használnak.[br]
Azok a címek amelyek a kiadásokba vannak ne tegyétek bele!
-nl : Kommagescheiden lijst van alternatieve titels of afkortingen. Kan zowel officiële
+nl : Lijst van alternatieve titels of afkortingen, één titel per regel. Kan zowel officiële
(Japanse/Engelse) als officieuze titels bevatten.
:_vnedit_desc
@@ -5954,6 +5968,13 @@ cs : Screenshoty
hu : Pillanatképek
nl :
+:_vnedit_scrnorel
+en : No releases in the database yet. Screenshots can only be uploaded after a release has been added.
+ru*:
+cs*:
+hu*:
+nl : Nog geen uitgaven in de database. Screenshots kunnen alleen geupload worden nadat een uitgave is toegevoegd.
+
:_vnedit_scrmsg
en : Please keep the following in mind when uploading screenshots:[br]
- Screenshots have to be in the native resolution of the game,[br]
@@ -6950,3 +6971,5 @@ cs : Váš prohlížeč je na nic, nepodporuje vykreslování našich krásných
hu : A böngésződ szar, nem képes megjeleníteni a szép összefüggés grafikonunkat.
nl : Je browser is troep, het heeft niet de benodigde functionaliteit om onze mooie grafiekjes weer te geven.
+
+# vim: set ft=none:
diff --git a/data/script.js b/data/script.js
index 521c30df..61f37d66 100644
--- a/data/script.js
+++ b/data/script.js
@@ -14,6 +14,25 @@
* tvs -> VN page tag spoilers
* vnr -> VN relation editor
*/
+
+/* Internationalization note:
+ * The translation keys to be inserted in the header of this file are parsed
+ * from the source code. So when using mt(), make sure it is in the following
+ * format:
+ * mt('<exact translation key>',<more arguments>
+ * or
+ * mt('<exact translation key>')
+ * The single quotes and (lack of) spaces are significant!
+ *
+ * To use non-exact translation keys as argument to mt(), make sure to
+ * indicate which keys should be inserted in the header by adding a comment
+ * containing the following format:
+ * l10n /<perl regex>/
+ * any keys matching that regex will be included.
+ *
+ * The "_lang_*" keys for all languages for which we have a translation are
+ * already included automatically.
+ */
var expanded_icon = '▾';
var collapsed_icon = '▸';
@@ -41,10 +60,11 @@ function ajax(url, func) {
function setCookie(n,v) {
var date = new Date();
date.setTime(date.getTime()+(365*24*60*60*1000));
- document.cookie = n+'='+v+'; expires='+date.toGMTString()+'; path=/';
+ document.cookie = cookie_prefix+n+'='+v+'; expires='+date.toGMTString()+'; path=/';
}
function getCookie(n) {
var l = document.cookie.split(';');
+ n = cookie_prefix+n;
for(var i=0; i<l.length; i++) {
var c = l[i];
while(c.charAt(0) == ' ')
@@ -365,14 +385,14 @@ function rlDropDown(lnk) {
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]);
+ var val = mt('_rlst_rstat_'+rlst_rstat[i]); // l10n /_rlst_rstat_\d+/
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'+rlst_rstat[i], onclick:rlMod}, val)));
}
for(var i=0; i<rlst_vstat.length; i++) {
- var val = mt('_rlst_vstat_'+rlst_vstat[i]);
+ var val = mt('_rlst_vstat_'+rlst_vstat[i]); // l10n /_rlst_vstat_\d+/
if(st[1] && st[1].indexOf(val) >= 0)
vs.appendChild(tag('li', tag('i', val)));
else
@@ -1040,7 +1060,7 @@ function scrAdd(id, nsfw, rel) {
var tr = tag('tr', { id:'scr_tr_'+id, scr_id: id, scr_status: id?2:1, scr_rel: rel, scr_nsfw: nsfw},
tag('td', { 'class': 'thumb'}, mt('_js_loading')),
tag('td',
- tag('b', mt(id ? '_vnedit_scr_fetching' : '_vnedit_scr_uploading')),
+ tag('b', id ? mt('_vnedit_scr_fetching') : mt('_vnedit_scr_uploading')),
tag('br', null),
id ? null : mt('_vnedit_scr_upl_msg'),
tag('br', null),
@@ -1189,7 +1209,8 @@ function scrUploadComplete() {
tr.scr_id = -10;
}
if(tr.scr_id < 0) {
- alert(mt(tr.scr_id == -10 ? '_vnedit_scr_oops' : tr.scr_id == -1 ? '_vnedit_scr_errformat' : '_vnedit_scr_errempty'));
+ alert(tr.scr_id == -10 ? mt('_vnedit_scr_oops') :
+ tr.scr_id == -1 ? mt('_vnedit_scr_errformat') : mt('_vnedit_scr_errempty'));
scrDel(tr);
} else {
tr.id = 'scr_tr_'+tr.scr_id;
@@ -1220,7 +1241,7 @@ function scrSerialize() {
byId('screenshots').value = r.join(' ');
}
-if(byId('jt_box_vn_scr'))
+if(byId('jt_box_vn_scr') && byId('scr_table'))
scrLoad();
@@ -1232,7 +1253,7 @@ var tglSpoilers = [];
function tglLoad() {
for(var i=0; i<=3; i++)
- tglSpoilers[i] = mt('_tagv_spoil'+i);
+ tglSpoilers[i] = mt('_tagv_spoil'+i); // l10n /_tagv_spoil\d+/
// tag dropdown search
dsInit(byId('tagmod_tag'), '/xml/tags.xml?q=', function(item, tr) {
@@ -1872,7 +1893,7 @@ if(byId('expandlist')) {
var lnk = byId('expandlist');
setexpand = function() {
var exp = getCookie('histexpand') == 1;
- setText(lnk, mt(exp ? '_js_collapse' : '_js_expand'));
+ setText(lnk, exp ? mt('_js_collapse') : mt('_js_expand'));
var tbl = lnk;
while(tbl.nodeName.toLowerCase() != 'table')
tbl = tbl.parentNode;
diff --git a/data/style.css b/data/style.css
index 191ea231..638782cc 100644
--- a/data/style.css
+++ b/data/style.css
@@ -548,12 +548,12 @@ div.mainbox.discussions td.tc4 {
div.mainbox.discussions a.locked {
text-decoration: line-through;
}
-div.mainbox.discussions td.boards {
- padding-top: 0;
- padding-left: 60px;
+div.mainbox.discussions b.boards {
+ padding-left: 10px;
+ font-weight: normal;
}
-div.mainbox.discussions td.boards a {
- color: $grayedout$!important
+div.mainbox.discussions b.boards a {
+ color: $grayedout$!important;
}
div.discussions td.tc2 { width: 50px; }
div.discussions td.tc3 { width: 90px; }
@@ -1144,7 +1144,7 @@ div#iv_view {
/****** Icons *******/
.icons {
- background: url(/f/icons.png) no-repeat;
+ background: url(/f/icons.png?$version$) no-repeat;
width: 16px;
height: 14px;
margin: 0 2px 0 0;
@@ -1192,6 +1192,7 @@ a .icons { cursor: pointer }
.icons.msx { background-position: -32px -56px; }
.icons.nes { background-position: -32px -70px; }
.icons.dos { background-position: -32px -84px; }
+.icons.ios { background-position: -32px -98px; }
.icons.cs { background-position: -48px 0px; }
.icons.da { background-position: -48px -11px; }