Browse code

Merge branch 'datetime_localization' into 'master'

Datetime localization

Closes #3

See merge request guzzisti1/hashover-legacy!1

rwa authored on 06.03.2019 20:50:51
Showing 3 changed files

... ...
@@ -178,58 +178,6 @@
178 178
 			'first_comment' => 'Verfasse den ersten Kommentar!'
179 179
 		),
180 180
 
181
-		'jp' => array(
182
-			'comment_form'	=> 'ここにコメントを入力し(その他のフィールドはオプショナル)',
183
-			'reply_form'	=> 'ここに返信を入力し(その他のフィールドはオプショナル)',
184
-			'post_button'	=> 'コメントポスト',
185
-			'del_note'	=> 'このコメントは削除されました。',
186
-			'cmt_deleted'	=> 'コメント削除た',
187
-			'options'	=> 'のオプション',
188
-			'cancel'	=> '取り消す',
189
-			'reply_to_cmt'	=> 'コメントへ返信',
190
-			'edit_your_cmt'	=> 'あなたのコメントを編集',
191
-			'nickname_tip'	=> 'ニックネームTwitterまたは @username',
192
-			'nickname'	=> 'ニックネームまたは @user',
193
-			'password_tip'	=> 'パスワード(後でコメントを編集/削除するためにのみ)',
194
-			'password'	=> 'パスワード',
195
-			'email'		=> 'メールアドレス',
196
-			'website'	=> 'ウェブサイト',
197
-			'logged_in'	=> 'あなたは、正常にログインされています!',
198
-			'cmt_needed'	=> 'あなたが適切なコメントを入力ていませんでした。下記のフォームを使用。',
199
-			'reply_needed'	=> 'あなたが適切なを入力応答ていませんでした。下記のフォームを使用。',
200
-			'post_fail'	=> 'コメントをするには失敗しました!あなたは十分な権限を欠いている。',
201
-			'cmt_tip'	=> 'HTML容認:<b>、<u>、<i>、<s>、<pre>、<ul>、<ol>、<li>、<blockquote>、<code>はHTMLをエスケープ、URLは自動的にリンクになり、とここで[img]URLここ[/img]外部画像を表示します。',
202
-			'post_reply'	=> 'ポスト返信',
203
-			'delete'	=> '削除',
204
-			'subscribe_tip'	=> '電子メール通知を購読',
205
-			'subscribe'	=> '購読する',
206
-			'edit_cmt'	=> 'コメントを編集',
207
-			'save_edit'	=> '保存編集',
208
-			'no_email_warn'	=> 'あなたは、電子メールをずにあなたのコメントへの返信の通知を受け取ることができません。',
209
-			'delete_cmt'	=> 'あなたはこのコメントを削除してもよろしいですか?',
210
-			'post_cmt'	=> 'コメントの投稿',
211
-			'popular_cmts'	=> '人気',
212
-			'showing_cmts'	=> '表示',
213
-			'comment'		=> 'comment',
214
-			'comments'		=> 'comments',
215
-			'reply'			=> ' reply',
216
-			'replies'		=> ' replies',
217
-			'sort'		=> 'ソート',
218
-			'sort_ascend'	=> '順番に',
219
-			'sort_descend'	=> '逆の順番で',
220
-			'sort_byname'	=> '評者によって',
221
-			'sort_bydate'	=> '日によって(最初最新)',
222
-			'sort_bylikes'	=> 'によって Likes',
223
-			'thread'	=> 'ねじ山の頂',
224
-			'thread_tip'	=> 'スレッドの先頭にジャンプ',
225
-			'like_cmt'	=> '「Like」このコメントを',
226
-			'liked_cmt'	=> '君「Liked」このコメントを',
227
-			'op_cmt_note'	=> 'あなたが電子メールを介して通知されません',
228
-			'subbed_note'	=> '電子メールを介して通知され',
229
-			'unsubbed_note' => 'は、電子メール通知にサブスクライブされていない',
230
-			'first_comment' => 'Verfasse den ersten Kommentar!'
231
-		),
232
-
233 181
 		'fr' => array(
234 182
 			'comment_form'	=> 'Tapez votre commentaire ici (les autres champs sont optionnels)',
235 183
 			'reply_form'	=> 'Tapez votre réponse ici (les autres champs sont optionnels)',
... ...
@@ -26,7 +26,7 @@
26 26
 	$array_count = 0;
27 27
 
28 28
 	function parse_comments($file, $variable, $check) {
29
-		global $mode, $root_dir, $ref_path, $text, $html_template, $icons, $icon_size, $short_dates, $top_likes, $popular, $domain, $indention, $admin_nickname, $admin_password, $script_query;
29
+		global $mode, $root_dir, $ref_path, $text, $html_template, $icons, $icon_size, $top_likes, $popular, $domain, $indention, $admin_nickname, $admin_password, $script_query, $dateformat;
30 30
 
31 31
 		// Generate permalink
32 32
 		$permalink = 'c' . str_replace('-', 'r', basename($file, '.xml'));
... ...
@@ -83,28 +83,8 @@
83 83
 					$variable_name = $name_at . '<a id="opt-website-' . $permalink . '" href="' . $read_cmt->website . '" target="_blank">' . preg_replace('/^@(.*?)$/', '\\1', str_replace('@identica', '<span style="display: none;">@identica</span>', $read_cmt->name)) . '</a>';
84 84
 				}
85 85
 
86
-				// Format date and time
87
-				if ($short_dates == 'yes') {
88
-					$get_cmtdate = explode(' - ', $read_cmt->date);
89
-					$make_cmtdate = new DateTime($get_cmtdate[0]);
90
-					$cur_date = new DateTime(date('m/d/Y'));
91
-					$interval = $make_cmtdate->diff($cur_date);
92
-
93
-					if ($interval->y != '') {
94
-						$cmt_date = $interval->y . ' year';
95
-						$cmt_date .= ($interval->y != '1') ? 's ago' : ' ago';
96
-					} else if ($interval->m != '') {
97
-						$cmt_date = $interval->m . ' month';
98
-						$cmt_date .= ($interval->m != '1') ? 's ago' : ' ago';
99
-					} else if ($interval->d != '') {
100
-						$cmt_date = $interval->d . ' day';
101
-							$cmt_date .= ($interval->d != '1') ? 's ago' : ' ago';
102
-					} else {
103
-						$cmt_date = $get_cmtdate[1] . ' today';
104
-					}
105
-				} else {
106
-					$cmt_date = $read_cmt->date;
107
-				}
86
+				$make_cmtdate = DateTime::createFromFormat( 'm/d/Y - g:ia', $read_cmt->date);
87
+				$cmt_date = $make_cmtdate->format($dateformat);
108 88
 
109 89
 				// Get avatar icons
110 90
 				if ($icons == 'yes') {
... ...
@@ -172,7 +152,7 @@
172 152
 					$variable["$array_count"]['date'] = '<a href="#' . str_replace('_pop', '', $permalink) . '" title="Permalink">' . $cmt_date . '</a>';
173 153
 					if ($read_cmt['likes'] > '0') $variable["$array_count"]['likes'] = $read_cmt['likes'] . ' Like' . (($read_cmt['likes'] != '1') ? 's' : '');
174 154
 					$variable["$array_count"]['sort_name'] = $read_cmt->name;
175
-					$variable["$array_count"]['sort_date'] = strtotime(str_replace('- ', '', $read_cmt->date));
155
+					$variable["$array_count"]['sort_date'] = $make_cmtdate->format('U');
176 156
 					$variable["$array_count"]['sort_likes'] = $read_cmt['likes'];
177 157
 					$variable["$array_count"]['notifications'] = $read_cmt['notifications'];
178 158
 
... ...
@@ -24,12 +24,12 @@
24 24
 
25 25
 	// Various Settings
26 26
 	$root_dir	= '/hashover/';					// HTTP root directory for comments
27
-	$language	= 'en';						// Language used for forms, buttons, links, and tooltips
27
+	$language	= 'en';						// Language used for forms, buttons, links, and tooltips, currently available: en, de, fr, es
28 28
 	$name		= 'GNU Knows Who';				// Nickname when one isn't given
29 29
 	$template	= 'default';					// Comment layout template
30 30
 	$page_title	= 'yes';					// Whether page title is shown or not
31
-	$count_missing	= 'yes';					// Whether comment counts should include deleted comments
32
-	$short_dates	= 'yes';					// Whether comment dates are shortened
31
+	$count_missing	= 'no';					// Whether comment counts should include deleted comments
32
+	$dateformat     = 'd.m.Y H:i';					// datetime format string as accepted by date(): http://php.net/manual/de/function.date.php
33 33
 	$icons		= 'yes';					// Whether comments have avatar icons (Gravatar)
34 34
 	$icon_size	= '45';						// Size of Gravatar icons in pixels
35 35
 	$indention	= 'left';					// Side to add comment indention on