Translate application to Korean and convert encodings to UTF-8

This commit is contained in:
sanjeok77
2026-06-22 22:22:41 +09:00
parent dc9058e0da
commit f43e7fa915
61 changed files with 11582 additions and 11644 deletions
Regular → Executable
+310 -312
View File
@@ -1,312 +1,310 @@
#!/usr/local/bin/perl
# サーバーの環境に合わせて変更して下さい。
require './ore_config.cgi'; # ore_config.cgiのパス
#-----------------------------------------------------------#
# 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://www17.big.or.jp/~obochan/chat/ ] #
#-----------------------------------------------------------#
# トップページ Version 1.0
#--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------#
#===============================================================================
# 設定項目
$help = "./html/Help.html"; # 取り扱い説明書[PC]
$help_i = "./html/Help_i.html"; # 取り扱い説明書[MV]
#===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。
&get_time; # 日時取得
&axs_check; # アクセスチェック
&read_data_index; # ログデータ読み込み
print "Content-type: text/html; charset=shift_jis\n\n" ;
# メニュー表示
($mv_mode eq 'mv') ? &html_top_mv : &html_top_pc ;
# 削除・移動・変更不可
&copyright;
exit;
#-------------------------------------------------------------------------------
# html生成(PC)
sub html_top_pc{
print <<"EOM";
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>$titleh</title>
<style type="text/css">
<!--
.button1{
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
border: 2px #666699 ridge; cursor: hand; background-color: #222244;
width:100px;
}
body,td { font-size: 10px; color: #aaaab9; background-color: #000000; cursor: crosshair}
.bar {
scrollbar-face-color: #333333;
scrollbar-highlight-color: #333333;
scrollbar-shadow-color: #000000;
scrollbar-arrow-color: #ffffff;
scrollbar-base-color: #000000;
scrollbar-3d-light-color: #ffffff;
scrollbar-dark-shadow-color: #000000
}
-->
</style>
</head>
<body bgcolor="#000000" text="#aaaaaa" link="#b5a7cF" vlink="#b5a7cF" alink="#b5a7cF" class="bar">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%" align="center">
<tr>
<td align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0" width="200">
<tr>
<td align="center" valign="top"><img src="$imgs/title_text.png" width="166" height="56"></td>
<td rowspan="2"><img src="$imgs/fairy2_la.jpg" width="110" height="160"></td>
</tr>
<tr>
<td align="center" valign="top"><img src="$imgs/title_game.png" width="220" height="52"></td>
</tr>
</table>
<br><br><br><br><br><br><br><br><br><br>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<form method="$method" action="$script" name="ore_">
<td align="left" valign="top">
<tt>
<span style="font-size:12px">悠久の大地へ</span><br>
EOM
if($now_nm_cnt>=$play_limit){
print qq|<br><span style="color:#dddd00;font-size:12px">現在ログイン規制中</span><br><br>|;
}
else{
print <<"EOM";
ユーザーID:<input type="text" name="id" value="" class="button1" style="width:95px">
<br>
パスワード:<input type="password" name="pw" value="" class="button1" style="width:60px" maxlength="8">
<input type="submit" value="IN" class="button1" style="width:30px">
<input type="hidden" name="mode" value="1">
EOM
}
print <<"EOM";
</tt>
</td>
</form>
<td rowspan=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td rowspan=2 align="left" valign="top" nowrap style="font-size:12px;">
&gt;&gt; プレイ中の参加者 [ $now_nm_cnt ]
<hr size=1 style="color:bbbbcc">
<div style="height:140px; overflow-y:auto; padding:2; background-color:#292929" class="bar">
$now_nm
</div>
<td>
</tr>
<tr>
<td align="left" valign="top">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$ore_reg">新規登録</a></span><br>
登録する前に必ず↓を読んで下さい。
</tt>
</td>
</tr>
<tr>
<td align="left" valign="top">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$help">取り扱い説明書</a></span><br>
読まないとワケわかりませんよ?
</tt>
</td>
<td align="left">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$hist?mode=guest">過去の栄光</a></span><br>
悠久の大地の歴史を振り返る
</tt>
</td>
</tr>
<tr>
<td align="left" valign="top">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$home">本館へ戻る</a></span><br>
</tt>
</td>
<td align="left">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$hist_hasya">罪と罰++の石碑</a></span><br>
悠久の大地で覇者となった人の名前
</tt>
</td>
</tr>
<tt>
<td align="left" valign="top" colspan="3">
<tt>
<br>
<br>
<span style="font-size:12px"><br>
  &gt;&gt; 現在登録人数 [ $now_sanka ] 最大登録人数 [ $sanka ]<br>
    削除放置期間 [ $del_limit ] プレイ規制時間帯 [ $safe_time ]
</span>
<br><br>
<span style="font-size:12px"><br>
  携帯(i-mode,J-Sky)に完全対応,ezweb対応。PC要らずです。<br>
  携帯からPCと同じURLにアクセスするだけです。
</span>
</tt>
</td>
</tr>
</table>
</td>
</tr>
</table>
EOM
}
#-------------------------------------------------------------------------------
# html生成(モバイル)
sub html_top_mv{
print <<"EOM";
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>$titleh</title>
</head>
<body bgcolor="#000000" text="#aaaaaa" link="#c597ff" vlink="#c597ff" alink="#c597ff">
$title_i
<hr color="white">
   君が望む永遠 それは悠久の大地に
<hr color="white">
<form method="$method" action="$script" name="ore_">
続きから<br>
EOM
if($now_nm_cnt>=$play_limit){
print qq|現在ログイン規制中|;
}
else{
print <<"EOM";
I D:<input type="text" name="id" value="" size="8"><br>
パスワード:<input type="text" name="pw" value="" size="2" maxlength="8">
<input type="hidden" name="mode" value="1">
<input type="submit" value="IN">
EOM
}
print <<"EOM";
</form>
<hr color="white">
<a href="$ore_reg" ACCESKEY="1">1.新規登録</a><br>登録する前に必ず↓を読んで下さい<hr color="white">
<a href="$help_i" ACCESKEY="2">2.説 明 書</a><br>読まないとワケわかりませんよ?<hr color="white">
<a href="$hist?mode=guest" ACCESKEY="3">3.過去の栄光</a><br>悠久の大地の歴史を振り返る<hr color="white">
<a href="$hist_hasya" ACCESKEY="4">4.罪と罰++石碑</a><br>悠久の大地で覇者となった人の名前<hr color="white">
<a href="$home_i" ACCESKEY="9">9.本館へ戻る</a><hr color="white">
プレイ中のキャラ $now_nm_cnt<br>
$now_nm
<hr color="white">
現在登録人数[$now_sanka]<br>
最大登録人数[$sanka ]<br>
削除放置期間[$del_limit]<br>
プレイ規制時間帯[$safe_time]<br>
<hr color="white">
<br>
EOM
}
#-------------------------------------------------------------------------------
# データ読み込み
# 参加者データ一括読み込み
sub read_data_index{
local @tdat;
# 参加者データファイル一覧取得/一括読み込み
&usrdata_read;
&usrdata_open;
$now_sanka=$#tdat+1;
$now_nm_cnt=0;
foreach(0 .. $#tdat){
%DAT = '';
my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){
my($key,$v) = split(/;/,$prats);
$DAT{$key} = $v;
}
# 現在のプレイヤー抽出
if($player_now>=$time-$DAT{'la'}){
if($mv_mode eq 'pc'){
$now_nm .= ($DAT{'sogo'}) ? qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]] [$cmp[$DAT{'camp'}]]</div>| : qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$cmp[$DAT{'camp'}]]</div>| ;
}else{
$now_nm .= ($DAT{'sogo'}) ? "$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]]/" : "$DAT{'nm'}/" ;
}
$now_nm_cnt++;
}
}
foreach (0 .. $#safetime){
$safe_time .= ($safetime[$_]<0) ? "--" : "$safetime[$_],";
}
# 自動バックアップ
&auto_backup if($backdata);
return ($now_nm,$now_sanka,$now_nm_cnt,$safe_time);
}
#-------------------------------------------------------------------------------
# 自動バップアップ
sub auto_backup{
my $backup_flag1 = "backup_flag1";
my $backup_flag2 = "backup_flag2";
# フラグ消失は作成
if(!-e "$backdata$backup_flag1" && !-e "$backdata$backup_flag2"){
open (OUT,">$backdata$backup_flag1");
print OUT "このファイルは削除及びリネームしないでください。";
close(OUT) or die "Can't close : $!";
chmod($chmod,"$backdata$backup_flag1");
}
# 0時にバックアップ
if(!$hour){
if(-e "$backdata$backup_flag1"){
open (OUT,">$backdata$week[$wday]\.cgi");
print OUT @tdat;
close(OUT) or die "Can't close : $!";
chmod($chmod,"$backdata$week[$wday]\.cgi");
rename("$backdata$backup_flag1","$backdata$backup_flag2");
}
}else{
rename("$backdata$backup_flag2","$backdata$backup_flag1");
}
}
#!/usr/bin/perl
# サーバーの環境に合わせて変更して下さい。
require './ore_config.cgi'; # ore_config.cgi의 패스
#-----------------------------------------------------------#
# 罪と罰++ 二律背反 #
# Copyright(C) 2001-2002 by Vivid Studio. BLANK BOARD #
# Vivid Studio.[ http://www17.big.or.jp/~obochan/vivid/ ] #
# BLANK BOARD [ http://www17.big.or.jp/~obochan/chat/ ] #
#-----------------------------------------------------------#
# トップページ Version 1.0
#--- [注意事項] --------------------------------------------#
# 1.このスクリプトは以下の利用規程に従って配布しています。 #
# http://www24.big.or.jp/~obo/game/ore_/gild/ #
#-----------------------------------------------------------#
#===============================================================================
# 設定項目
$help = "./html/Help.html"; # 사용설명서[PC]
$help_i = "./html/Help_i.html"; # 사용설명서[MV]
#===============================================================================
# 以下処理 基本的にこれ以下はいじらないように。
&get_time; # 日時取得
&axs_check; # アクセスチェック
&read_data_index; # ログデータ読み込み
print "Content-type: text/html; charset=UTF-8\n\n" ;
# メニュー表示
($mv_mode eq 'mv') ? &html_top_mv : &html_top_pc ;
# 削除・移動・変更不可
&copyright;
exit;
#-------------------------------------------------------------------------------
# html生成(PC)
sub html_top_pc{
print <<"EOM";
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>$titleh</title>
<style type="text/css">
<!--
.button1{
font-family: "MS Pゴシック", "Osaka"; font-size: 12px; font-weight: 400; color: #bbbbcc;
border: 2px #666699 ridge; cursor: hand; background-color: #222244;
width:100px;
}
body,td { font-size: 10px; color: #aaaab9; background-color: #000000; cursor: crosshair}
.bar {
scrollbar-face-color: #333333;
scrollbar-highlight-color: #333333;
scrollbar-shadow-color: #000000;
scrollbar-arrow-color: #ffffff;
scrollbar-base-color: #000000;
scrollbar-3d-light-color: #ffffff;
scrollbar-dark-shadow-color: #000000
}
-->
</style>
</head>
<body bgcolor="#000000" text="#aaaaaa" link="#b5a7cF" vlink="#b5a7cF" alink="#b5a7cF" class="bar">
<table width="100%" border="0" cellspacing="0" cellpadding="0" height="100%" align="center">
<tr>
<td align="center" valign="middle">
<table border="0" cellspacing="0" cellpadding="0" width="200">
<tr>
<td align="center" valign="top"><img src="$imgs/title_text.png" width="166" height="56"></td>
<td rowspan="2"><img src="$imgs/fairy2_la.jpg" width="110" height="160"></td>
</tr>
<tr>
<td align="center" valign="top"><img src="$imgs/title_game.png" width="220" height="52"></td>
</tr>
</table>
<br><br><br><br><br><br><br><br><br><br>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<form method="$method" action="$script" name="ore_">
<td align="left" valign="top">
<tt>
<span style="font-size:12px">유구한 대지로</span><br>
EOM
if($now_nm_cnt>=$play_limit){
print qq|<br><span style="color:#dddd00;font-size:12px">현재 로그인 제한 중</span><br><br>|;
}
else{
print <<"EOM";
유저 ID:<input type="text" name="id" value="" class="button1" style="width:95px">
<br>
비밀번호:<input type="password" name="pw" value="" class="button1" style="width:60px" maxlength="8">
<input type="submit" value="IN" class="button1" style="width:30px">
<input type="hidden" name="mode" value="1">
EOM
}
print <<"EOM";
</tt>
</td>
</form>
<td rowspan=4>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td rowspan=2 align="left" valign="top" nowrap style="font-size:12px;">
&gt;&gt; 플레이 중인 참가자 [ $now_nm_cnt ]
<hr size=1 style="color:bbbbcc">
<div style="height:140px; overflow-y:auto; padding:2; background-color:#292929" class="bar">
$now_nm
</div>
<td>
</tr>
<tr>
<td align="left" valign="top">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$ore_reg">신규 등록</a></span><br>
등록하기 전에 반드시 ↓ 내용을 읽어주세요.
</tt>
</td>
</tr>
<tr>
<td align="left" valign="top">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$help">사용 설명서</a></span><br>
안 읽으면 도통 이해하기 힘들걸요?
</tt>
</td>
<td align="left">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$hist?mode=guest">과거의 영광</a></span><br>
유구한 대지의 역사를 돌아보다
</tt>
</td>
</tr>
<tr>
<td align="left" valign="top">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$home">본관으로 돌아가기</a></span><br>
</tt>
</td>
<td align="left">
<tt>
<br>
<br>
<span style="font-size:12px"><a href="$hist_hasya">죄와 벌++의 석비</a></span><br>
유구한 대지에서 패권을 쥔 자의 이름
</tt>
</td>
</tr>
<tt>
<td align="left" valign="top" colspan="3">
<tt>
<br>
<br>
<span style="font-size:12px"><br>
  &gt;&gt; 현재 등록 인원 [ $now_sanka ] 최대 등록 인원 [ $sanka ]<br>
    삭제 방치 기간 [ $del_limit ] 플레이 제한 시간대 [ $safe_time ]
</span>
<br><br>
<span style="font-size:12px"><br>
  모바일(i-mode, J-Sky) 완벽 대응, ezweb 대응. PC가 필요 없습니다.<br>
  모바일에서 PC와 동일한 URL로 접속하시면 됩니다.
</span>
</tt>
</td>
</tr>
</table>
</td>
</tr>
</table>
EOM
}
#-------------------------------------------------------------------------------
# html生成(モバイル)
sub html_top_mv{
print <<"EOM";
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>$titleh</title>
</head>
<body bgcolor="#000000" text="#aaaaaa" link="#c597ff" vlink="#c597ff" alink="#c597ff">
$title_i
<hr color="white">
   그대가 바라는 영원 그것은 유구한 대지에
<hr color="white">
<form method="$method" action="$script" name="ore_">
이어하기<br>
EOM
if($now_nm_cnt>=$play_limit){
print qq|현재 로그인 제한 중|;
}
else{
print <<"EOM";
I D:<input type="text" name="id" value="" size="8"><br>
비밀번호:<input type="text" name="pw" value="" size="2" maxlength="8">
<input type="hidden" name="mode" value="1">
<input type="submit" value="IN">
EOM
}
print <<"EOM";
</form>
<hr color="white">
<a href="$ore_reg" ACCESKEY="1">1.신규 등록</a><br>등록하기 전에 반드시 ↓ 내용을 읽어주세요<hr color="white">
<a href="$help_i" ACCESKEY="2">2.설 명 서</a><br>안 읽으면 도통 이해하기 힘들걸요?<hr color="white">
<a href="$hist?mode=guest" ACCESKEY="3">3.과거의 영광</a><br>유구한 대지의 역사를 돌아보다<hr color="white">
<a href="$hist_hasya" ACCESKEY="4">4.죄와 벌++ 석비</a><br>유구한 대지에서 패권을 쥔 자의 이름<hr color="white">
<a href="$home_i" ACCESKEY="9">9.본관으로 돌아가기</a><hr color="white">
플레이 중인 캐릭터 $now_nm_cnt<br>
$now_nm
<hr color="white">
현재 등록 인원[$now_sanka]<br>
최대 등록 인원[$sanka ]<br>
삭제 방치 기간[$del_limit]<br>
플레이 제한 시간대[$safe_time]<br>
<hr color="white">
<br>
EOM
}
#-------------------------------------------------------------------------------
# データ読み込み
# 参加者データ一括読み込み
sub read_data_index{
local @tdat;
# 参加者データファイル一覧取得/一括読み込み
&usrdata_read;
&usrdata_open;
$now_sanka=$#tdat+1;
$now_nm_cnt=0;
foreach(0 .. $#tdat){
%DAT = '';
my @prats = split(/,/,$tdat[$_]);
foreach $prats (@prats){
my($key,$v) = split(/;/,$prats);
$DAT{$key} = $v;
}
# 現在のプレイヤー抽出
if($player_now>=$time-$DAT{'la'}){
if($mv_mode eq 'pc'){
$now_nm .= ($DAT{'sogo'}) ? qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]] [$cmp[$DAT{'camp'}]]</div>| : qq|<div style="color:$color[$DAT{'camp'}]">$DAT{'nm'} [$cmp[$DAT{'camp'}]]</div>| ;
}else{
$now_nm .= ($DAT{'sogo'}) ? "$DAT{'nm'} [$sogo_p[$DAT{'sogo'}]]/" : "$DAT{'nm'}/" ;
}
$now_nm_cnt++;
}
}
foreach (0 .. $#safetime){
$safe_time .= ($safetime[$_]<0) ? "--" : "$safetime[$_],";
}
# 自動バックアップ
&auto_backup if($backdata);
return ($now_nm,$now_sanka,$now_nm_cnt,$safe_time);
}
#-------------------------------------------------------------------------------
# 自動バップアップ
sub auto_backup{
my $backup_flag1 = "backup_flag1";
my $backup_flag2 = "backup_flag2";
# フラグ消失は作成
if(!-e "$backdata$backup_flag1" && !-e "$backdata$backup_flag2"){
open (OUT,">$backdata$backup_flag1");
print OUT "이 파일은 삭제하거나 이름을 변경하지 마십시오.";
close(OUT) or die "Can't close : $!";
chmod($chmod,"$backdata$backup_flag1");
}
# 0時にバックアップ
if(!$hour){
if(-e "$backdata$backup_flag1"){
open (OUT,">$backdata$week[$wday]\.cgi");
print OUT @tdat;
close(OUT) or die "Can't close : $!";
chmod($chmod,"$backdata$week[$wday]\.cgi");
rename("$backdata$backup_flag1","$backdata$backup_flag2");
}
}else{
rename("$backdata$backup_flag2","$backdata$backup_flag1");
}
}