diff options
author | Yorhel <git@yorhel.nl> | 2015-07-12 09:47:52 +0200 |
---|---|---|
committer | Yorhel <git@yorhel.nl> | 2015-07-12 09:47:52 +0200 |
commit | c6c65db2411c1bfbd226f41c5f4a99c57ebea8f7 (patch) | |
tree | 1f1e89e2c212e37c1a40f4199acb25c3340adccf | |
parent | 2f61c4f6772f852f9e0b9ede6228de4e4dbf71a0 (diff) |
d17: Document the interface translation procedure
-rw-r--r-- | data/docs/17 | 141 | ||||
-rw-r--r-- | data/docs/index | 11 | ||||
-rw-r--r-- | data/docs/index.cs | 7 | ||||
-rw-r--r-- | data/docs/index.de | 3 | ||||
-rw-r--r-- | data/docs/index.es | 3 | ||||
-rw-r--r-- | data/docs/index.hu | 2 | ||||
-rw-r--r-- | data/docs/index.it | 3 | ||||
-rw-r--r-- | data/docs/index.ru | 3 | ||||
-rw-r--r-- | data/docs/index.tr | 2 | ||||
-rw-r--r-- | data/lang.txt | 80 | ||||
-rw-r--r-- | lib/VNDB/Plugin/TransAdmin.pm | 16 |
11 files changed, 172 insertions, 99 deletions
diff --git a/data/docs/17 b/data/docs/17 new file mode 100644 index 00000000..8aff7b29 --- /dev/null +++ b/data/docs/17 @@ -0,0 +1,141 @@ +:TITLE:VNDB Interface Translation +:INC:index + +:SUB:Introduction +<p> + Translation of the VNDB interface happens in roughly the following steps: +</p> +<ol> + <li>You contact Yorhel that you're interested in maintaining a translation + into some language.</li> + <li>You will be granted access to the translation admin (see below) so you can + translate stuff.</li> + <li>When you're done (or, when you feel you've translated enough to have a + useful translation), you can contact Yorhel again and he can move the + translation to the main website.</li> +</ol> +<p> + Be warned that VNDB has quite a lot of text to translate, so doing a full + translation might take some time. Also keep in mind that the translations will + need to be kept up-to-date when changes to the site are made. +</p> + + +:SUB:Translation Admin +<p> + The translation admin interface is available on a separate installation of + VNDB. It can be reached on the following URL:<br /> + <a href="http://vndbtl.blicky.net/tladmin">http://vndbtl.blicky.net/tladmin</a><br /> + That VNDB installation is completely separated from the main VNDB, so you're + free to modify things and screw around as much as you like. The changes to the + database are not saved and may be reverted at any time.<br /><br /> + Make sure to log in to the site if you wish to modify the translation. Changes + to the translations are saved locally and are directly visible on the test + site. The changes are not automatically moved on to the main VNDB. You can + notify Yorhel to move the edited translation to the main website. + <br /><br /> + <b class="standout">IMPORTANT</b>: When editing translations, make sure to + save often. It would really suck if you spend an hour translating everything + on a page, and then forget to save it. Or if you accidentally leave the page + and can't get back with your changes intact. Or if you wanted to save but the + server is suddenly having some issues. Whatever happens, be sure to hit the + "Save" button once every few minutes to limit any trouble! +</p> + +:SUBSUB:Sections +<p> + All the interface text of VNDB is grouped into several <i>sections</i>. + Selecting a section allows you to view/edit the individual translation lines. + <br /><br /> + If the translation of a line is the same as the English text, the text box of + the translation can be left blank. Blank fields are automatically replaced + with the English text on the site. + <br /><br /> + Always try to find each translated line used on the actual site and see if it + looks good in context. Sometimes there are limits to the length of a line and + the layout will look bad if the translation is too long. At other times you + might notice that the translation is used in a very different context than you + had thought. + <br /><br /> +<b>Checkbox</b><br /> + There is a checkbox next to each translation line. This is used for + administrative purposes and can be used to signal which lines still need to be + (re)translated. When the English line is modified, or when a new line is + added, this checkbox will be set. After updating the translation you can unset + it to mark the line as finished. When, and whether, to unmark the checkbox is + up to you as translator. The checkboxes are not used for any other purpose + than to help you keep track of a to-do list. The numbers next to the section + links at the top indicate how many lines are still checked in that section + versus the total number of lines. + <br /><br /> +<b>Formatting</b><br /> + Some lines have special formatting codes in them. In most cases you can just + copy the codes from the original text into the translation and translate + anything that looks like actual text. Here's a list of the currently used + formatting codes: +</p> +<dl> + <dt>[_#] ([_1], [_2], etc)</dt><dd>Placeholder for something that will be replaced in + the code. You can usually guess from the context what it will be replaced + with, otherwise it is often explained in the comments.</dd> + <dt>[age,_#]</dt><dd>Formats a date/time as an age, like "5 days ago".</dd> + <dt>[br]</dt><dd>Line break</dd> + <dt>[date,_#]</dt><dd>Formats a date</dd> + <dt>[date,_#,full]</dt><dd>Formats a date/time</dd> + <dt>[datestr,_#]</dt><dd>Formats a release date</dd> + <dt>[url,_#,title]</dt><dd>Formats a link. The title part needs to be translated, the rest should be the same as the original text.</dd> + <dt>[user,_#]</dt><dd>Formats a username</dd> + <dt>[index,_#,..]</dt><dd>This code will select one of its items to be + displayed. For example, "[index,_1,Meta trait,Trait]" is a placeholder for + either "Meta trait" or "Trait". Both texts should be translated and should + make sense in the context of the line.</dd> + <dt>[quant,_#,..]</dt><dd>This one is important. It is used to handle words + that need to be different depending on a certain number. For example, + English has only singular and plural forms, so "[quant,_1,vote,votes]" is + used to select the right word depending on whether it's about a single or + multiple votes. Czech has three possible forms, so that becomes + "[quant,_1,hlas,hlasy,hlasů]". This formatting code can be used in any + scenario where there is a number, even if the English line is not it. + </dd> +</dl> + + +:SUBSUB:Doc pages +<p> + Doc pages are pages like the FAQ, guidelines and other stuff. These can be + translated by editing the document on the right. Doc pages are written in HTML + and have a few special codes like :TITLE:, :INC:, etc. You don't have to worry + much about this, just make sure that if there's any codes on the original + document on the left, the same codes are used in the translated document on + the right. It helps to keep the line-breaks at the same point in the + translated document as in the original document, so that it's easy to follow + which lines correspond to each other. + <br /><br /> + Doc pages always start with a <b>:TITLE:</b> on the first line and a + <b>:INC:index</b> on the second. In the translated document it's also possible + to add a special <b>:INC:incomplete</b> line to indicate that the translation + is not yet finished or not synchronized with the English version. This line is + added whenever the English version of the doc page has been changed, and makes + it easy to see which documents need to be updated. After ensuring that the + translation has been synchronised, you can remove the <b>:INC:incomplete</b> + line from the document. + <br /><br /> + For convenience, in the doc page selection there is a <b + class="standout">!!</b> indicator next to the doc page to indicate that it has + not been translated yet, or that it still has a <b>:INC:incomplete</b> line. + Unfortunately, this indicator is not added when one of the <i>incomplete</i>, + <i>index</i> or <i>notfinished</i> pages is modified. Be sure to regularly + check the <i>index</i> page for any additions! + <br /><br /> + When updating an existing translation for a doc page that has recently been + modified, it may be useful to see what has been changed exactly. The "Recent + changes" link at the top-right of the box will bring you to the edit history + of the English version of the doc page. + <br /><br /> + The following doc pages are not available for translation: +</p> +<ul> + <li><a href="/d8">d8</a>: Status and stuff about the VNDB roadmap. Used to change too often to be worth translating.</li> + <li><a href="/d11">d11</a> & <a href="/d14">d14</a>: Documentation intended for developers, they should learn English.</li> + <li><a href="/d17">d17</a>: This page. Only useful to (potential) translators, English shouldn't be a problem.</li> +</ul> diff --git a/data/docs/index b/data/docs/index index a1ca1acd..05a345f7 100644 --- a/data/docs/index +++ b/data/docs/index @@ -1,19 +1,20 @@ <ul class="index"> <li><b>Guidelines</b></li> - <li><a href="/d5">Editing guidelines</a></li> + <li><a href="/d5">Editing Guidelines</a></li> <li><a href="/d2">Visual Novels</a></li> <li><a href="/d15">Special Games</a></li> <li><a href="/d3">Releases</a></li> <li><a href="/d4">Producers</a></li> <li><a href="/d16">Staff</a></li> <li><a href="/d12">Characters</a></li> - <li><a href="/d10">Tags & traits</a></li> - <li><a href="/d13">Capturing screenshots</a></li> + <li><a href="/d10">Tags & Traits</a></li> + <li><a href="/d13">Capturing Screenshots</a></li> <li><b>About VNDB</b></li> - <li><a href="/d9">Discussion board</a></li> + <li><a href="/d9">Discussion Board</a></li> <li><a href="/d6">FAQ</a></li> - <li><a href="/d7">About us</a></li> + <li><a href="/d7">About Us</a></li> <li><a href="/d11">Database API</a></li> <li><a href="/d14">Database Dumps</a></li> <li><a href="/d8">Development</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/docs/index.cs b/data/docs/index.cs index dfd838c1..58813eb0 100644 --- a/data/docs/index.cs +++ b/data/docs/index.cs @@ -5,13 +5,16 @@ <li><a href="/d15">Special Games</a></li> <li><a href="/d3">Vydání</a></li> <li><a href="/d4">Producenti</a></li> -<li><a href="/d12">Postavy</a></li> + <li><a href="/d16">Staff</a></li> + <li><a href="/d12">Postavy</a></li> <li><a href="/d10">Tagy</a></li> + <li><a href="/d13">Capturing Screenshots</a></li> <li><b>O VNDB</b></li> <li><a href="/d9">Diskusní boardy</a></li> <li><a href="/d6">FAQ</a></li> <li><a href="/d7">O nás</a></li> <li><a href="/d11">Databáze API</a></li> + <li><a href="/d14">Database Dumps</a></li> <li><a href="/d8">Vývoj</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> - diff --git a/data/docs/index.de b/data/docs/index.de index 43281f4d..619af81a 100644 --- a/data/docs/index.de +++ b/data/docs/index.de @@ -5,6 +5,7 @@ <li><a href="/d15">Besondere Spiele</a></li> <li><a href="/d3">Veröffentlichungen</a></li> <li><a href="/d4">Hersteller</a></li> + <li><a href="/d16">Staff</a></li> <li><a href="/d12">Charaktere</a></li> <li><a href="/d10">Schlagworte und Eigenschaften</a></li> <li><a href="/d13">Screenshots machen</a></li> @@ -13,5 +14,7 @@ <li><a href="/d6">FAQ</a></li> <li><a href="/d7">Über uns</a></li> <li><a href="/d11">Datenbank API</a></li> + <li><a href="/d14">Database Dumps</a></li> <li><a href="/d8">Entwicklung</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/docs/index.es b/data/docs/index.es index 1f7041c6..e75d1200 100644 --- a/data/docs/index.es +++ b/data/docs/index.es @@ -5,6 +5,7 @@ <li><a href="/d15">Special Games</a></li> <li><a href="/d3">Estrenos</a></li> <li><a href="/d4">Creadores</a></li> + <li><a href="/d16">Staff</a></li> <li><a href="/d12">Personajes</a></li> <li><a href="/d10">Etiquetas & rasgos</a></li> <li><a href="/d13">Capturar imágenes</a></li> @@ -13,5 +14,7 @@ <li><a href="/d6">PUF(FAQ)</a></li> <li><a href="/d7">Sobre nosotros</a></li> <li><a href="/d11">Base de datos API</a></li> + <li><a href="/d14">Database Dumps</a></li> <li><a href="/d8">Desarrollo</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/docs/index.hu b/data/docs/index.hu index f669ef77..99be363e 100644 --- a/data/docs/index.hu +++ b/data/docs/index.hu @@ -5,6 +5,7 @@ <li><a href="/d15">Special Games</a></li> <li><a href="/d3">Kiadások</a></li> <li><a href="/d4">Készítők</a></li> + <li><a href="/d16">Staff</a></li> <li><a href="/d12">Szereplők</a></li> <li><a href="/d10">Címkék és jellemzők</a></li> <li><a href="/d13">Pillanatképek készítése</a></li> @@ -15,4 +16,5 @@ <li><a href="/d11">Adatbázis API</a></li> <li><a href="/d14">Adatbázis mentések</a></li> <li><a href="/d8">Fejlesztés</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/docs/index.it b/data/docs/index.it index bdc57b68..42394de2 100644 --- a/data/docs/index.it +++ b/data/docs/index.it @@ -5,6 +5,7 @@ <li><a href="/d15">Special Games</a></li> <li><a href="/d3">Pubblicazioni</a></li> <li><a href="/d4">Editori</a></li> + <li><a href="/d16">Staff</a></li> <li><a href="/d12">Personaggi</a></li> <li><a href="/d10">Tags & caratteristiche</a></li> <li><a href="/d13">Creare screenshot</a></li> @@ -13,5 +14,7 @@ <li><a href="/d6">FAQ</a></li> <li><a href="/d7">Chi siamo</a></li> <li><a href="/d11">Database API</a></li> + <li><a href="/d14">Database Dumps</a></li> <li><a href="/d8">Sviluppo</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/docs/index.ru b/data/docs/index.ru index 1c2b46d8..9782053b 100644 --- a/data/docs/index.ru +++ b/data/docs/index.ru @@ -5,6 +5,7 @@ <li><a href="/d15">Special Games</a></li> <li><a href="/d3">Выпуски</a></li> <li><a href="/d4">Компании</a></li> + <li><a href="/d16">Staff</a></li> <li><a href="/d12">Персонажи</a></li> <li><a href="/d10">Теги и черты</a></li> <li><a href="/d13">Как делать скриншоты</a></li> @@ -13,5 +14,7 @@ <li><a href="/d6">ЧаВо</a></li> <li><a href="/d7">О нас</a></li> <li><a href="/d11">API базы данных (англ.)</a></li> + <li><a href="/d14">Database Dumps</a></li> <li><a href="/d8">Разработка (англ.)</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/docs/index.tr b/data/docs/index.tr index 4c5db621..efe7f2d9 100644 --- a/data/docs/index.tr +++ b/data/docs/index.tr @@ -5,6 +5,7 @@ <li><a href="/d15">Özel oyunlar</a></li> <li><a href="/d3">Yayımlar</a></li> <li><a href="/d4">Yapımcılar</a></li> + <li><a href="/d16">Staff</a></li> <li><a href="/d12">Karakterler</a></li> <li><a href="/d10">Etiketler & nitelikler</a></li> <li><a href="/d13">Ekran görüntüsü yakalama</a></li> @@ -15,4 +16,5 @@ <li><a href="/d11">Veritabanı API</a></li> <li><a href="/d14">Veritabanı dökümleri</a></li> <li><a href="/d8">Geliştirme</a></li> + <li><a href="/d17">Interface Translation</a></li> </ul> diff --git a/data/lang.txt b/data/lang.txt index 0b324770..604a8a03 100644 --- a/data/lang.txt +++ b/data/lang.txt @@ -17,83 +17,9 @@ Here's an example of a line: ru : Возрастной рейтинг nl*: -In this example, "_relinfo_minage" is the 'key', and the lines following are -the translations. If a line does not have a translation for a particular -language, the system will fall back to the English version (i.e. the string -that starts with 'en :'). - -Because VNDB is in constant development, changes to the interface text are -inevitable, and the translations will get out of sync with the English text -very quickly. To indicate which lines should be synchronised to their English -counterparts, and asterisk is used between the language tag and the colon, as -used in the above examples. As soon as a line is retranslated or synchronised -again by the translator, (s)he should replace the asterick with a space to -indicate that it has been checked. - -The text strings can contain some special formatting and text expansion codes. -Such a code starts with '[', followed by a list of comma-separated options, and -ends with ']'. To insert a literal '[', ']' in the text (or a ',' as an -argument to a formatting code), prefix them with a '~'. E.g. to display -"[bbcode]" on the site, type "~[bbcode~]". The following options are supported: - - - [_x] - Insert argument x in here. The arguments differ for each string, and come - from the VNDB code. The English line would give an indication of the - supported arguments. - - [age,{arg}] - Formats the date/time '{arg}' into an age string, e.g. '3 days ago'. Commonly - used as '[age,_1]'. - - [br] - The classic HTML <br>, used to force a line break into the text. - - [date,{arg}] - Formats the date '{arg}' into a readable date. Usually used as: [date,_1]. - - [date,{arg},full] - Formats the date and time '{arg}' into something readable. Usually used as: - [date,_1,full] - - [datestr,{arg}] - Similar to [date], but used for release dates. (These are slightly different - from normal dates, as the month or year can be unknown). - - [index,{idx},{list},..] - Displays the item in {list} numbered by {idx}. Often used when the same - sentence is used for different types of information. E.g.: - [index,_1,visual novel,release,producer] - - [monthstr,{arg}] - Similar to [datestr], but doesn't display the day, only month+year. - - [quant,{num},{singular},{plural}] (English) - Takes the correct form of a word depending on the quantity specified by {num}. - E.g.: - 2 [quant,2,room,rooms] - Will be displayed as: - 2 rooms - {num} is usually an argument (which is variable), otherwise it wouldn't - make much sense to use this format. - - [quant,{num},{singular},{multi},{many}] (Russian) - Same as the english [quant] as above, but has three forms for a word - instead of two. - - [quant,{num},{singular},{normative},{genetive}] (Czech) - Same as the english [quant] as above, but has three forms for a word - instead of two. - - [url,{url},{title}] - Formats a link to another page, where {url} is the location of the page - and {title} the link title. {url} is usually an argument, e.g.: - [url,_1,discussion board] - - [user,{arg}] - Formats a username+id into a link to the userpage. - - +This file can be edited by hand, but it's more convenient to use the +translation administration interface. See https://vndb.org/d17 for more +information. (Actual processing of this file begins after the following line) /intro diff --git a/lib/VNDB/Plugin/TransAdmin.pm b/lib/VNDB/Plugin/TransAdmin.pm index a13c95a6..86cfb872 100644 --- a/lib/VNDB/Plugin/TransAdmin.pm +++ b/lib/VNDB/Plugin/TransAdmin.pm @@ -40,7 +40,6 @@ sub tladmin { my($self, $lang) = @_; $lang ||= ''; - my $intro = $lang =~ s/intro//; return $self->resNotFound if $lang && ($lang eq 'en' || !grep $_ eq $lang, $self->{l10n}->languages); my $sect = $self->reqGet('sect')||''; my $doc = $self->reqGet('doc')||''; @@ -64,7 +63,7 @@ sub tladmin { $self->htmlHeader(title => 'Quick-and-dirty Translation Editor', noindex => 1); div class => 'mainbox'; - a class => 'addnew', href => '/tladmin/intro', 'README'; + a class => 'addnew', href => '/d17', 'README'; h1 'Quick-and-dirty Translation Editor'; h2 class => 'alttitle', 'Step #1: Choose a language'; p class => 'browseopts'; @@ -75,7 +74,6 @@ sub tladmin { _docs($lang, $doc) if $lang; end; - _intro() if $intro; _section($self, $lang, $sect, $page) if $lang && $sect; _doc($self, $lang, $doc) if $lang && $doc; @@ -155,18 +153,6 @@ sub _readlang { } -sub _intro { - my $f = LangFile->new(read => $langfile); - my $intro = $f->read; - $intro = join "\n", @$intro[1..$#$intro]; - $f->close; - div class => 'mainbox'; - h1 'Introduction to the language file'; - pre style => 'padding: 0; margin: 0; background: none; border: none', $intro; - end; -} - - sub _sections { my($self, $lang, $sect, $list) = @_; |