Archived
1
0

Merge pull request #48 from ZiRo-/master

Add internationalization
This commit is contained in:
Jeff 2016-02-28 08:13:55 -05:00
commit f7a31012e8
23 changed files with 342 additions and 107 deletions

3
.gitignore vendored
View File

@ -8,7 +8,8 @@
.\#* .\#*
# srnd config files # srnd config files
*.ini srnd.ini
feeds.ini
# default article store directory # default article store directory
articles articles

View File

@ -29,7 +29,7 @@
</div> </div>
</center> </center>
<div class="board_header">{{board.Board}}</div> <div class="board_header">{{board.Board}}</div>
<div class="board_header_catalog"><a href="{{board.Prefix}}catalog-{{board.Name}}.html"> Catalog </a></div> <div class="board_header_catalog"><a href="{{board.Prefix}}catalog-{{board.Name}}.html"> {{#i18n.Translations}}{{catalog_label}}{{/i18n.Translations}} </a></div>
<!-- postform --> <!-- postform -->
<div id="postform_container"> <div id="postform_container">
{{{form}}} {{{form}}}
@ -38,7 +38,7 @@
<div id="threads_container"> <div id="threads_container">
{{#board.Threads}} {{#board.Threads}}
<div class="thread" id="thread_{{OP.PostHash}}"> <div class="thread" id="thread_{{OP.PostHash}}">
<div clsss="thread_header"> <div class="thread_header">
</div> </div>
{{{OP.Truncate.RenderPost}}} {{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}} {{#Truncate.Replies}}
@ -52,7 +52,7 @@
<span class="navbar-sep"> <span class="navbar-sep">
| |
</span> </span>
<a href="{{board.Prefix}}catalog-{{board.Name}}.html"> Catalog </a> <a href="{{board.Prefix}}catalog-{{board.Name}}.html"> {{#i18n.Translations}}{{catalog_label}}{{/i18n.Translations}} </a>
</div> </div>
<script type="text/javascript"> <script type="text/javascript">

View File

@ -10,7 +10,7 @@
<head> <head>
<link rel="stylesheet" href="{{prefix}}static/site.css"></link> <link rel="stylesheet" href="{{prefix}}static/site.css"></link>
<link rel="stylesheet" href="{{prefix}}static/user.css"></link> <link rel="stylesheet" href="{{prefix}}static/user.css"></link>
<title> {{frontend}} board list </title> <title> {{frontend}} {{#i18n.Translations}}{{board_list_title}}{{/i18n.Translations}} </title>
</head> </head>
<body> <body>
<center> <center>
@ -19,10 +19,10 @@
<table id="board_graph"> <table id="board_graph">
<thead> <thead>
<tr> <tr>
<th> Board </th> <th> {{#i18n.Translations}}{{board_label}}{{/i18n.Translations}} </th>
<th> Post per Hour </th> <th> {{#i18n.Translations}}{{pph_label}}{{/i18n.Translations}} </th>
<th> Post per Day </th> <th> {{#i18n.Translations}}{{ppd_label}}{{/i18n.Translations}} </th>
<th> Total </th> <th> {{#i18n.Translations}}{{total}}{{/i18n.Translations}} </th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -5,7 +5,7 @@
<link rel="stylesheet" href="{{board.Prefix}}static/site.css" /> <link rel="stylesheet" href="{{board.Prefix}}static/site.css" />
<link rel="stylesheet" href="{{board.Prefix}}static/user.css" /> <link rel="stylesheet" href="{{board.Prefix}}static/user.css" />
<script type="text/javascript" src="{{board.Prefix}}static/nntpchan.js"></script> <script type="text/javascript" src="{{board.Prefix}}static/nntpchan.js"></script>
<title>Catalog for {{board.Name}}</title> <title>{{#i18n.Translations}}{{catalog_title}}{{/i18n.Translations}} {{board.Name}}</title>
</head> </head>
<body> <body>
<!-- begin navbar --> <!-- begin navbar -->
@ -15,14 +15,14 @@
<div id="nntpchan_banner"> <div id="nntpchan_banner">
</div> </div>
</center> </center>
<div class="board_header">Catalog for {{board.Name}}</div> <div class="board_header">{{#i18n.Translations}}{{catalog_title}}{{/i18n.Translations}} {{board.Name}}</div>
<!-- postform --> <!-- postform -->
<hr /> <hr />
<div id="catalog_container"> <div id="catalog_container">
{{#board.Threads}} {{#board.Threads}}
<div class="catalog_thread"> <div class="catalog_thread">
<a class="linkThumb" href="{{OP.PostURL}}"><img src="{{OP.RepresentativeThumb}}"></a> <a class="linkThumb" href="{{OP.PostURL}}"><img src="{{OP.RepresentativeThumb}}"></a>
<div class="catalog_header">R: {{ReplyCount}} / P: {{Page}}</div> <div class="catalog_header">{{#i18n.Translations}}{{replies_short_label}}{{/i18n.Translations}}: {{ReplyCount}} / {{#i18n.Translations}}{{pictures_short_label}}{{/i18n.Translations}}: {{Page}}</div>
<div class="catalog_subject">{{OP.Subject}}</div> <div class="catalog_subject">{{OP.Subject}}</div>
<div class="catalog_body"> <div class="catalog_body">
{{{OP.RenderBody}}} {{{OP.RenderBody}}}

View File

@ -43,10 +43,10 @@
<table id="board_graph"> <table id="board_graph">
<thead> <thead>
<tr> <tr>
<th> Board </th> <th> {{#i18n.Translations}}{{board_label}}{{/i18n.Translations}} </th>
<th> Posts this Hour </th> <th> {{#i18n.Translations}}{{posts_hour}}{{/i18n.Translations}} </th>
<th> Posts Today </th> <th> {{#i18n.Translations}}{{posts_today}}{{/i18n.Translations}} </th>
<th> Total </th> <th> {{#i18n.Translations}}{{total}}{{/i18n.Translations}} </th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -9,15 +9,15 @@ template parameters:
<meta charset="utf-8"></meta> <meta charset="utf-8"></meta>
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<title> Post History</title> <title>{{#i18n.Translations}}{{post_history_title}}{{/i18n.Translations}}</title>
</head> </head>
<body> <body>
<td> <td>
<table id="history_graph"> <table id="history_graph">
<thead> <thead>
<tr> <tr>
<th>Month</th> <th>{{#i18n.Translations}}{{month}}{{/i18n.Translations}}</th>
<th>Posts</th> <th>{{#i18n.Translations}}{{posts}}{{/i18n.Translations}}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>

View File

@ -11,11 +11,11 @@
<meta charset="utf-8"></meta> <meta charset="utf-8"></meta>
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<title> here is a new tripcode </title> <title>{{#i18n.Translations}}{{new_tripcode_title}}{{/i18n.Translations}}</title>
</head> </head>
<body> <body>
<pre>New Tripcode: <pre>{{#i18n.Translations}}{{new_tripcode_label}}{{/i18n.Translations}}:
<div id="secret_key">secret: {{secret}}</div><div id="public_key">public: {{public}}</div><div>tripcode: <span class="tripcode" id="capcode_key">{{{tripcode}}}</span></div> <div id="secret_key">{{#i18n.Translations}}{{secret_key}}{{/i18n.Translations}}: {{secret}}</div><div id="public_key">{{#i18n.Translations}}{{public_key}}{{/i18n.Translations}}: {{public}}</div><div>{{#i18n.Translations}}{{tripcode}}{{/i18n.Translations}}: <span class="tripcode" id="capcode_key">{{{tripcode}}}</span></div>
</pre> </pre>
</body> </body>
</html> </html>

View File

@ -2,13 +2,13 @@
<head> <head>
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<title>login</title> <title>{{#i18n.Translations}}{{login}}{{/i18n.Translations}}</title>
</head> </head>
<body> <body>
<form action="login" method="POST" name="modlogin"> <form action="login" method="POST" name="modlogin">
<label for="mod_key">secret</label> <label for="mod_key">{{#i18n.Translations}}{{secret_key}}{{/i18n.Translations}}</label>
<input type="password" id="mod_key" name="privkey" /> <input type="password" id="mod_key" name="privkey" />
<input type="submit" value="login" /> <input type="submit" value="{{#i18n.Translations}}{{login}}{{/i18n.Translations}}" />
{{{csrfField}}} {{{csrfField}}}
</form> </form>
</body> </body>

View File

@ -11,9 +11,9 @@
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<meta http-equiv="refresh" content="1; {{mod_prefix}}"></meta> <meta http-equiv="refresh" content="1; {{mod_prefix}}"></meta>
<title>login</title> <title>{{#i18n.Translations}}{{login}}{{/i18n.Translations}}</title>
</head> </head>
<body> <body>
<p>{{message}}</p> <p>{{message}}</p>
</body> </body>
</html> </html>

View File

@ -10,93 +10,93 @@
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<!-- yes it uses js --> <!-- yes it uses js -->
<script type="text/javascript" src="{{prefix}}static/mod.js"></script> <script type="text/javascript" src="{{prefix}}static/mod.js"></script>
<title> nntpchan mod page </title> <title> {{#i18n.Translations}}{{modpage_title}}{{/i18n.Translations}} </title>
</head> </head>
<body> <body>
<div> <div>
<div> post actions </div> <div> {{#i18n.Translations}}{{post_actions_label}}{{/i18n.Translations}} </div>
<hr /> <hr />
<div> <div>
<label for="nntpchan_mod_target">target</label> <label for="nntpchan_mod_target">{{#i18n.Translations}}{{target_label}}{{/i18n.Translations}}</label>
<input id="nntpchan_mod_target" type="text" /> <input id="nntpchan_mod_target" type="text" />
</div> </div>
<div> <div>
<button onclick="nntpchan_ban()">ban (url)</button> <button onclick="nntpchan_ban()">{{#i18n.Translations}}{{ban_url_prompt}}{{/i18n.Translations}}</button>
<button onclick="nntpchan_delete()">delete (url)</button> <button onclick="nntpchan_delete()">{{#i18n.Translations}}{{delete_url_prompt}}{{/i18n.Translations}}</button>
<button onclick="nntpchan_unban()">unban (ip)</button> <button onclick="nntpchan_unban()">{{#i18n.Translations}}{{unban_ip_prompt}}{{/i18n.Translations}}</button>
</div> </div>
</div> </div>
<hr /> <hr />
<div> <div>
<div> key actions </div> <div> {{#i18n.Translations}}{{key_actions_label}}{{/i18n.Translations}} </div>
<div> <div>
<label for="nntpchan_board_target">pubkey:</label> <label for="nntpchan_board_target">{{#i18n.Translations}}{{pubkey_label}}{{/i18n.Translations}}:</label>
<input type="text" id="nntpchan_key_target" /> <input type="text" id="nntpchan_key_target" />
</div> </div>
<div> <div>
<button onclick="nntpchan_key_add()">add key</button> <button onclick="nntpchan_key_add()">{{#i18n.Translations}}{{add_key_prompt}}{{/i18n.Translations}}</button>
<button onclick="nntpchan_key_del()">remove key</button> <button onclick="nntpchan_key_del()">{{#i18n.Translations}}{{remove_key_prompt}}{{/i18n.Translations}}</button>
</div> </div>
</div> </div>
<hr /> <hr />
<div> <div>
<div> nntp login </div> <div> {{#i18n.Translations}}{{nntp_login_label}}{{/i18n.Translations}} </div>
<div> <div>
<label for="nntpchan_nntp_username">username:</label> <label for="nntpchan_nntp_username">{{#i18n.Translations}}{{username}}{{/i18n.Translations}}:</label>
<input id="nntpchan_nntp_username" /> <input id="nntpchan_nntp_username" />
</div> </div>
<div> <div>
<label for="nntpchan_nntp_passwd">password:</label> <label for="nntpchan_nntp_passwd">{{#i18n.Translations}}{{password}}{{/i18n.Translations}}:</label>
<input type="password" id="nntpchan_nntp_passwd" /> <input type="password" id="nntpchan_nntp_passwd" />
</div> </div>
<div> <div>
<button onclick="nntpchan_admin_nntp('nntp.login.add')">add user</button> <button onclick="nntpchan_admin_nntp('nntp.login.add')">{{#i18n.Translations}}{{add_user_prompt}}{{/i18n.Translations}}</button>
</div> </div>
<div> <div>
<button onclick="nntpchan_admin_nntp('nntp.login.del')">remove user</button> <button onclick="nntpchan_admin_nntp('nntp.login.del')">{{#i18n.Translations}}{{remove_user_prompt}}{{/i18n.Translations}}</button>
</div> </div>
</div> </div>
<hr /> <hr />
<div> <div>
<div> board actions </div> <div> {{#i18n.Translations}}{{board_actions_label}}{{/i18n.Translations}} </div>
<div> <div>
<label for="nntpchan_board_target">board name:</label> <label for="nntpchan_board_target">{{#i18n.Translations}}{{board_name_title}}{{/i18n.Translations}}:</label>
<input id="nntpchan_board_target" /> <input id="nntpchan_board_target" />
</div> </div>
<div> <div>
<button onclick="nntpchan_admin_board('frontend.add')">add board</button> <button onclick="nntpchan_admin_board('frontend.add')">{{#i18n.Translations}}{{add_board_prompt}}{{/i18n.Translations}}</button>
</div> </div>
<div> <div>
<button onclick="nntpchan_admin_board('frontend.regen')">regenerate</button> <button onclick="nntpchan_admin_board('frontend.regen')">{{#i18n.Translations}}{{regenerate_prompt}}{{/i18n.Translations}}</button>
</div> </div>
<div> <div>
<button onclick="nntpchan_admin_board('frontend.ban')">ban</button> <button onclick="nntpchan_admin_board('frontend.ban')">{{#i18n.Translations}}{{ban_prompt}}{{/i18n.Translations}}</button>
<button onclick="nntpchan_admin_board('frontend.unban')">unban</button> <button onclick="nntpchan_admin_board('frontend.unban')">{{#i18n.Translations}}{{unban_prompt}}{{/i18n.Translations}}</button>
</div> </div>
<div> <div>
<button onclick="nntpchan_admin_board('frontend.nuke')">nuke</button> <button onclick="nntpchan_admin_board('frontend.nuke')">{{#i18n.Translations}}{{nuke_prompt}}{{/i18n.Translations}}</button>
</div> </div>
</div> </div>
<hr /> <hr />
<div> <div>
<div> <div>
lightweight actions {{#i18n.Translations}}{{light_actions_label}}{{/i18n.Translations}}
</div> </div>
<div> <div>
<button onclick="nntpchan_admin('template.reload')">reload all templates</button> <button onclick="nntpchan_admin('template.reload')">{{#i18n.Translations}}{{reload_templates_prompt}}{{/i18n.Translations}}</button>
</div> </div>
</div> </div>
<hr /> <hr />
<div> <div>
<label>very load heavy actions, use with care</label> <label>{{#i18n.Translations}}{{heavy_actions_label}}{{/i18n.Translations}}</label>
<div> <div>
<button onclick="nntpchan_admin('frontend.regen')">rengenerate all markup</button> <button onclick="nntpchan_admin('frontend.regen')">{{#i18n.Translations}}{{regenerate_markup_prompt}}{{/i18n.Translations}}</button>
<button onclick="nntpchan_admin('thumbnail.regen')">regenerate all thumbnails</button> <button onclick="nntpchan_admin('thumbnail.regen')">{{#i18n.Translations}}{{regenerate_thumbs_prompt}}{{/i18n.Translations}}</button>
</div> </div>
</div> </div>
<div id="nntpchan_mod_result"></div> <div id="nntpchan_mod_result"></div>
<noscript> <noscript>
<b>enable js to use the mod panel kthx</b> <b>{{#i18n.Translations}}{{nojs_info}}{{/i18n.Translations}}</b>
</noscript> </noscript>
</body> </body>
</html> </html>

View File

@ -12,7 +12,7 @@
<div class="navbar"> <div class="navbar">
<span class="navbar-name"> <span class="navbar-name">
<span class="board_title">{{name}}</span> <span class="board_title">{{name}}</span>
on {{#i18n.Translations}}{{navbar_on}}{{/i18n.Translations}}
<span class="frontend_title">{{frontend}}</span> <span class="frontend_title">{{frontend}}</span>
</span> </span>
<span class="navbar-sep"> <span class="navbar-sep">
@ -31,16 +31,16 @@
| |
</span> </span>
<span class="navbar-links"> <span class="navbar-links">
<span class="navbar-link"><a href="{{prefix}}">front page</a></span> <span class="navbar-link"><a href="{{prefix}}">{{#i18n.Translations}}{{front_page_title}}{{/i18n.Translations}}</a></span>
</span> </span>
<span class="navbar-sep"> <span class="navbar-sep">
| |
</span> </span>
<span class="navbar-links"> <span class="navbar-links">
<span class="navbar-link"><a href="{{prefix}}ukko.html">overboard</a></span> <span class="navbar-link"><a href="{{prefix}}ukko.html">{{#i18n.Translations}}{{overboard_label}}{{/i18n.Translations}}</a></span>
</span> </span>
<span class="navbar-sep"> <span class="navbar-sep">
| |
</span> </span>
</div> </div>
<hr /> <hr />

View File

@ -1,13 +1,13 @@
<html> <html>
<head> <head>
<title>create new board</title> <title>{{#i18n.Translations}}{{new_board_title}}{{/i18n.Translations}}</title>
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<script type="text/javascript" src="{{prefix}}static/newboard.js"> <script type="text/javascript" src="{{prefix}}static/newboard.js">
</script> </script>
</head> </head>
<body> <body>
<p>make your first post</p> <p>{{#i18n.Translations}}{{first_post_label}}{{/i18n.Translations}}</p>
<hr /> <hr />
<form action="{{prefix}}post/" enctype="multipart/form-data" name="post" method="post" id="postform" > <form action="{{prefix}}post/" enctype="multipart/form-data" name="post" method="post" id="postform" >
<div id="postform-outer"> <div id="postform-outer">
@ -16,7 +16,7 @@
<tbody> <tbody>
<tr> <tr>
<th> <th>
Board Name {{#i18n.Translations}}{{board_name_title}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="text" name="name" value="" id="boardname" /> <input type="text" name="name" value="" id="boardname" />
@ -25,7 +25,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Comment {{#i18n.Translations}}{{comment}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<textarea id="postform_message" name="message" cols=40 rows=5></textarea> <textarea id="postform_message" name="message" cols=40 rows=5></textarea>
@ -33,7 +33,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Captcha {{#i18n.Translations}}{{captcha}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" /> <img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" />
@ -41,7 +41,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Solution {{#i18n.Translations}}{{solution}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="text" name="captcha" /> <input type="text" name="captcha" />

View File

@ -8,9 +8,9 @@ paramters:
<table id="overview_graph"> <table id="overview_graph">
<thead> <thead>
<tr> <tr>
<th>Newsgroup</th> <th>{{#i18n.Translations}}{{newsgroup}}{{/i18n.Translations}}</th>
<th>Posted</th> <th>{{#i18n.Translations}}{{posted}}{{/i18n.Translations}}</th>
<th>Subject</th> <th>{{#i18n.Translations}}{{subject}}{{/i18n.Translations}}</th>
</tr> </tr>
</thead> </thead>
<tbody> <tbody>

View File

@ -1,31 +1,31 @@
<div id="{{PostHash}}" class="{{CSSClass}}"> <div id="{{post.PostHash}}" class="{{post.CSSClass}}">
<legend class="postheader"> <legend class="postheader">
<span class="origin"> <span class="origin">
{{#IsI2P}} {{#post.IsI2P}}
<img src="{{Prefix}}static/i2p.png" title="post from i2p" /> <img src="{{post.Prefix}}static/i2p.png" title="{{#i18n.Translations}}{{from_i2p}}{{/i18n.Translations}}" />
{{/IsI2P}} {{/post.IsI2P}}
{{#IsTor}} {{#post.IsTor}}
<img src="{{Prefix}}static/tor.png" title="post from tor" /> <img src="{{post.Prefix}}static/tor.png" title="{{#i18n.Translations}}{{from_tor}}{{/i18n.Translations}}" />
{{/IsTor}} {{/post.IsTor}}
{{#IsClearnet}} {{#post.IsClearnet}}
<img src="{{Prefix}}static/clearnet.png" title="post from clearnet" /> <img src="{{post.Prefix}}static/clearnet.png" title="{{#i18n.Translations}}{{from_clearnet}}{{/i18n.Translations}}" />
{{/IsClearnet}} {{/post.IsClearnet}}
</span> </span>
<span class="subject">{{Subject}}</span> <span class="subject">{{post.Subject}}</span>
<span class="name">{{Name}}</span> <span class="name">{{post.Name}}</span>
<time datetime="{{DateRFC}}">{{Date}}</time> <time datetime="{{post.DateRFC}}">{{post.Date}}</time>
<a href="#" class="postnol">No.</a><a class="postno" onclick="nntpchan_backlink('{{ShortHash}}');" title="{{MessageID}}">{{ShortHash}}</a> <a href="#" class="postnol">No.</a><a class="postno" onclick="nntpchan_backlink('{{post.ShortHash}}');" title="{{post.MessageID}}">{{post.ShortHash}}</a>
<a href="{{PostURL}}">[Reply]</a> <a href="{{post.PostURL}}">[{{#i18n.Translations}}{{reply_label}}{{/i18n.Translations}}]</a>
<span class="tripcode">{{{Pubkey}}}</span> <span class="tripcode">{{{post.Pubkey}}}</span>
</legend> </legend>
{{#Attachments}} {{#post.Attachments}}
<figure> <figure>
<figcaption> <figcaption>
<a href="{{Source}}" title="{{Filename}}" target="_blank"><img src="{{Thumbnail}}" alt="{{Filename}}" class="thumbnail"/></a> <a href="{{Source}}" title="{{Filename}}" target="_blank"><img src="{{Thumbnail}}" alt="{{Filename}}" class="thumbnail"/></a>
</figcaption> </figcaption>
</figure> </figure>
{{/Attachments}} {{/post.Attachments}}
<div class="post_body"> <div class="post_body">
{{{RenderBody}}} {{{post.RenderBody}}}
</div> </div>
</div> </div>

View File

@ -4,6 +4,6 @@
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<meta http-equiv="refresh" content="1; {{redirect_url}}" /> <meta http-equiv="refresh" content="1; {{redirect_url}}" />
<body> <body>
<p>post failed: {{reason}}</p> <p>{{#i18n.Translations}}{{post_failed_label}}{{/i18n.Translations}}: {{reason}}</p>
</body> </body>
</html> </html>

View File

@ -24,7 +24,7 @@
<tbody> <tbody>
<tr> <tr>
<th> <th>
Captcha {{#i18n.Translations}}{{captcha}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<img id="captcha_img" src="{{prefix}}captcha/{{captcha_id}}.png" alt="captcha" /> <img id="captcha_img" src="{{prefix}}captcha/{{captcha_id}}.png" alt="captcha" />
@ -32,7 +32,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Solution {{#i18n.Translations}}{{solution}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="text" name="captcha" /> <input type="text" name="captcha" />
@ -45,4 +45,4 @@
</div> </div>
</form> </form>
</body> </body>
</html> </html>

View File

@ -10,6 +10,6 @@
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
<meta http-equiv="refresh" content="2; {{redirect_url}}" /> <meta http-equiv="refresh" content="2; {{redirect_url}}" />
<body> <body>
<pre>posted as {{message_id}}</pre> <pre>{{#i18n.Translations}}{{posted_as_label}}{{/i18n.Translations}} {{message_id}}</pre>
</body> </body>
</html> </html>

View File

@ -17,7 +17,7 @@
<tbody> <tbody>
<tr> <tr>
<th> <th>
Name {{#i18n.Translations}}{{name}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="text" name="name" value="" /> <input type="text" name="name" value="" />
@ -25,7 +25,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Subject {{#i18n.Translations}}{{subject}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="text" name="subject" value="" /> <input type="text" name="subject" value="" />
@ -34,7 +34,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Comment {{#i18n.Translations}}{{comment}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<textarea id="postform_message" name="message" cols=40 rows=5></textarea> <textarea id="postform_message" name="message" cols=40 rows=5></textarea>
@ -43,7 +43,7 @@
{{#files}} {{#files}}
<tr> <tr>
<th> <th>
File {{#i18n.Translations}}{{file}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input id="postform_attachment" type="file" name="attachment" /> <input id="postform_attachment" type="file" name="attachment" />
@ -52,7 +52,7 @@
{{/files}} {{/files}}
<tr> <tr>
<th> <th>
Get Dubs {{#i18n.Translations}}{{dubs}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="checkbox" name="dubs" /> <input type="checkbox" name="dubs" />
@ -60,7 +60,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Captcha {{#i18n.Translations}}{{captcha}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" /> <img id="captcha_img" src="{{prefix}}captcha/img" alt="captcha" />
@ -68,7 +68,7 @@
</tr> </tr>
<tr> <tr>
<th> <th>
Solution {{#i18n.Translations}}{{solution}}{{/i18n.Translations}}
</th> </th>
<td> <td>
<input type="text" name="captcha" autocomplete="off" /> <input type="text" name="captcha" autocomplete="off" />

View File

@ -8,8 +8,8 @@ parameters:
<table id="posts_graph"> <table id="posts_graph">
<thead> <thead>
<tr> <tr>
<th>Day</th> <th>{{#i18n.Translations}}{{day}}{{/i18n.Translations}}</th>
<th>Posts</th> <th>{{#i18n.Translations}}{{posts}}{{/i18n.Translations}}</th>
<th></th> <th></th>
</tr> </tr>
</thead> </thead>

View File

@ -44,7 +44,7 @@
{{/ thread.Replies}} {{/ thread.Replies}}
</div> </div>
<hr/> <hr/>
<div class="navLinks">[<a href="{{thread.BoardURL}}" accesskey="a">Return</a>] [<a href="{{thread.Prefix}}catalog-{{thread.Board}}.html" accesskey="r">Catalog</a>] [<a href="#thread_{{thread.OP.PostHash}}">Top</a>] [<a href="#navlinks" accesskey="r" onclick="location.reload();">Update</a>]</div> <div class="navLinks">[<a href="{{thread.BoardURL}}" accesskey="a">{{#i18n.Translations}}{{return}}{{/i18n.Translations}}</a>] [<a href="{{thread.Prefix}}catalog-{{thread.Board}}.html" accesskey="r">{{#i18n.Translations}}{{catalog_label}}{{/i18n.Translations}}</a>] [<a href="#thread_{{thread.OP.PostHash}}">{{#i18n.Translations}}{{to_top_label}}{{/i18n.Translations}}</a>] [<a href="#navlinks" accesskey="r" onclick="location.reload();">{{#i18n.Translations}}{{update}}{{/i18n.Translations}}</a>]</div>
<script type="text/javascript"> <script type="text/javascript">
var e = document.getElementById("nntpchan_banner"); var e = document.getElementById("nntpchan_banner");
nntpchan_inject_banners(e, "{{thread.Prefix}}"); nntpchan_inject_banners(e, "{{thread.Prefix}}");

View File

@ -6,7 +6,7 @@
}} }}
<html> <html>
<head> <head>
<title> ukko / overboard </title> <title> {{#i18n.Translations}}{{overboard_title}}{{/i18n.Translations}} </title>
<meta charset="utf-8" /> <meta charset="utf-8" />
<link rel="stylesheet" href="{{prefix}}static/site.css" /> <link rel="stylesheet" href="{{prefix}}static/site.css" />
<link rel="stylesheet" href="{{prefix}}static/user.css" /> <link rel="stylesheet" href="{{prefix}}static/user.css" />
@ -17,12 +17,12 @@
<div id="nntpchan_banner"> <div id="nntpchan_banner">
</div> </div>
</center> </center>
<div class="board_header"> ukko / overboard </div> <div class="board_header"> {{#i18n.Translations}}{{overboard_title}}{{/i18n.Translations}} </div>
<div id="ukko_threads"> <div id="ukko_threads">
{{#threads}} {{#threads}}
<div class="thread" id="thread_{{OP.PostHash}}"> <div class="thread" id="thread_{{OP.PostHash}}">
<div class="ukko_thread_header"> <div class="ukko_thread_header">
<p>Posted on <a href="{{{BoardURL}}}"><span class="ukko_boardname">{{OP.Board}}</span></a></p> <p>{{#i18n.Translations}}{{posted_on_label}}{{/i18n.Translations}} <a href="{{{BoardURL}}}"><span class="ukko_boardname">{{OP.Board}}</span></a></p>
</div> </div>
{{{OP.Truncate.RenderPost}}} {{{OP.Truncate.RenderPost}}}
{{#Truncate.Replies}} {{#Truncate.Replies}}

View File

@ -0,0 +1,117 @@
[formats]
full_date_format=15:04:05 02.01.2006
month_date_format=01.2006
day_date_format=02.01
[strings]
#catalog
catalog_title=Katalog für
replies_short_label=A
pictures_short_label=B
#board
catalog_label=Katalog
#board list
board_list_title=Boardliste
board_label=Board
pph_label=Posts pro Stunde
ppd_label=Posts pro Tag
total=Gesamt
#front page
posts_today=Posts heute
posts_hour=Posts diese Stunde
#history
month=Monat
posts=Posts
post_history_title=Postverlauf
#keygen
new_tripcode_title=Hier ist der neue Tripcode
new_tripcode_label=Neuer Tripcode
secret_key=Privater Schlüssel
public_key=Öffentlicher Schlüssel
tripcode=Tripcode
#login
login=Anmeldung
#modpage
modpage_title=nntpchan-Moderationsseite
post_actions_label=Postfunktionen
target_label=Ziel
ban_url_prompt=Bannen (URL)
delete_url_prompt=Löschen (URL)
unban_ip_prompt=Bann aufheben (IP)
key_actions_label=Schlüsselfunktionen
pubkey_label=Öffentlicher Schlüssel
add_key_prompt=Schlüssel hinzufügen
remove_key_prompt=Schlüssen entfernen
nntp_login_label=NNTP-Benutzer
username=Benutzername
password=Password
add_user_prompt=Benutzer hinzufügen
remove_user_prompt=Benutzer entfernen
board_actions_label=Boardfunktionen
board_name_title=Boardname
add_board_prompt=Board hinzufügen
regenerate_prompt=Regenerieren
ban_prompt=Bannen
unban_prompt=Bann aufheben
nuke_prompt=Sprengen
light_actions_label=Schnelle Funktionen
reload_templates_prompt=Alle Templates erneut laden
heavy_actions_label=Rechenintensive Funktionen (mit Vorsicht verwenden)
regenerate_markup_prompt=Alle HTML-Seiten regenerieren
regenerate_thumbs_prompt=Alle Vorschaubilder regenerieren
nojs_info=Bitte aktivieren Sie JavaScript, um diese Seite zu nutzen.
#navbar
navbar_on=@
front_page_title=Startseite
overboard_label=Überboard
#newboard
new_board_title=Neues Board erstellen
first_post_label=Machen Sie den ersten Post
comment=Kommentar
captcha=Captcha
solution=Lösung
#overview
newsgroup=Newsgroup
posted=Gepostet
subject=Betreff
#post
from_i2p=Vom I2P-Netzwerk gepostet
from_tor=Vom Tor-Netzwerk gepostet
from_clearnet=Vom Clearnet gepostet
reply_label=Antworten
#post failed
post_failed_label=Post fehlgeschlagen
#post form
name=Name
file=Anhang
dubs=Doppel?
#posts graph
day=Tag
#post success
posted_as_label=Gepostet als
#thread
return=Zurück
to_top_label=Nach oben
update=Updaten
#ukko
overboard_title=ukko / Überboard
posted_on_label=Gepostet in

View File

@ -0,0 +1,117 @@
[formats]
full_date_format=Mon Jan _2 15:04:05 2006
month_date_format=2006-02
day_date_format=01-02
[strings]
#catalog
catalog_title=Catalog for
replies_short_label=R
pictures_short_label=P
#board
catalog_label=Catalog
#board list
board_list_title=board list
board_label=Board
pph_label=Posts per Hour
ppd_label=Posts per Day
total=Total
#front page
posts_today=Posts Today
posts_hour=Posts this Hour
#history
month=Month
posts=Posts
post_history_title=Post History
#keygen
new_tripcode_title=here is a new tripcode
new_tripcode_label=New Tripcode
secret_key=secret
public_key=public
tripcode=tripcode
#login
login=login
#modpage
modpage_title=nntpchan mod page
post_actions_label=post actions
target_label=target
ban_url_prompt=ban (url)
delete_url_prompt=delete (url)
unban_ip_prompt=unban (ip)
key_actions_label=key actions
pubkey_label=pubkey
add_key_prompt=add key
remove_key_prompt=remove key
nntp_login_label=nntp login
username=username
password=password
add_user_prompt=add user
remove_user_prompt=remove user
board_actions_label=board actions
board_name_title=board name
add_board_prompt=add board
regenerate_prompt=regenerate
ban_prompt=ban
unban_prompt=unban
nuke_prompt=nuke
light_actions_label=lightweight actions
reload_templates_prompt=reload all templates
heavy_actions_label=very load heavy actions, use with care
regenerate_markup_prompt=regenerate all markup
regenerate_thumbs_prompt=regenerate all thumbnails
nojs_info=enable js to use the mod panel kthx
#navbar
navbar_on=on
front_page_title=front page
overboard_title=overboard
#newboard
new_board_title=create new board
first_post_label=make your first post
comment=Comment
captcha=Captcha
solution=Solution
#overview
newsgroup=Newsgroup
posted=Posted
subject=Subject
#post
from_i2p=posted from i2p
from_tor=posted from tor
from_clearnet=posted from clearnet
reply_label=Reply
#post failed
post_failed_label=post failed
#post form
name=Name
file=File
dubs=Get Dubs
#posts graph
day=Day
#post success
posted_as_label=posted as
#thread
return=Return
to_top_label=Top
update=Update
#ukko
overboard_title=ukko / overboard
posted_on_label=Posted on