diff --git a/addons/blogapi/conf/info.xml b/addons/blogapi/conf/info.xml index e8239a986..53ce4be4f 100644 --- a/addons/blogapi/conf/info.xml +++ b/addons/blogapi/conf/info.xml @@ -1,13 +1,29 @@ BlogAPI 애드온 + BlogAPI 機能拡張 + BlogAPI Add-on 제로 + ゼロ + zero metaWeblog를 지원하는 blogApi애드온입니다. 사용으로 설정하시면 각 모듈마다 RSD 태그를 노출합니다. api의 주소는 http://설치주소/모듈명/api 입니다. 사용아로 하셔야 RSD태그 및 api가 동작을 합니다. + + metaWeblog をサポートする blogApi 機能拡張です。 + 「使用する」に設定すると各モジュルごと RSD タグを出力します。 + API のアドレスは「http://設置URL/モジュル名/api」です。 + 使用可にしておけば RSD タグと API が動作します。 + + + 支持metaWeblog的 blogApi add-on. + 把状态设定为"启用",会使每个模块都会输出RSD标签. + api地址 http://安装地址/模块名/api + 把状态设定为"启用"才会激活RSD标签及api. + diff --git a/addons/counter/conf/info.xml b/addons/counter/conf/info.xml index 00a983af1..45ce29ef4 100644 --- a/addons/counter/conf/info.xml +++ b/addons/counter/conf/info.xml @@ -2,9 +2,11 @@ 기본 카운터 애드온 基本接続カウンター機能拡張 + 网站访问统计 Add-on 제로 ゼロ + zero 제로보드XE의 기본 카운터 모듈을 이용하여 접속 정보를 기록합니다. 이 애드온을 켜셔야 접속 정보 수집이 됩니다. @@ -13,5 +15,9 @@ セロボードXEの基本接続カウンターモジュルを利用して接続情報を記録します。 この機能拡張をオンにしておくと接続情報が記録されます。 + + zeroboardXE的网站访问统计Add-on是统计网站访问信息的 + 把状态设定为"启用"才会采集网站访问信息. + diff --git a/addons/member_extra_info/conf/info.xml b/addons/member_extra_info/conf/info.xml index 20d855b62..7224a028a 100644 --- a/addons/member_extra_info/conf/info.xml +++ b/addons/member_extra_info/conf/info.xml @@ -1,8 +1,10 @@ 사용자 추가 정보 및 커뮤니케이션 기능 활성화 + 用户添加信息与Communication功能激活 제로 + zero 사용자의 정보중 이미지이름, 이미지마크, 서명등을 화면에 출력해주는 애드온입니다. 이런 정보들을 사용하지 않을 경우를 대비하여 별도의 애드온으로 빼어서 실행시간을 줄여줍니다. @@ -13,5 +15,14 @@ 4. MemberModel::getMemberMenu 호출시 대상이 회원일 경우 쪽지 보내기 기능 추가합니다. 5. MemberModel::getMemberMenu 호출시 친구 등록 메뉴를 추가합니다. + + 用户信息中显示在页面的昵称图像,用户图标,签名等的Add-On。 + 激活Add-On以后后才可以使用昵称图像, 用户图标, 签名等功能。 + 1. 显示之前查找定义在 <div class="member_会员编号">....</div> 的部分确认有没有昵称图像,用户图标后变更相关内容。 + 2. 显示之前查找定义 <div class="document_会员编号">...</div>的部分判断帖子的内容后,在下端添加签名。 + 3. 接收新信息时用弹窗表示 + 4. MemberModel::getMemberMenu 呼出时 对象是会员的情况添加发送信息的功能。 + 5. MemberModel::getMemberMenu 呼出时 添加好友登录菜单。 + diff --git a/addons/naver_search/conf/info.xml b/addons/naver_search/conf/info.xml index 3d9c6105a..76b8ff957 100644 --- a/addons/naver_search/conf/info.xml +++ b/addons/naver_search/conf/info.xml @@ -1,12 +1,17 @@ 네이버 검색 연동 애드온 + 韩国naver搜索 Add-On 제로 + 제로 글을 작성시 네이버의 검색서버에 해당 글의 상황을 보냅니다. 내용을 보내는 것이 아니라 글의 url만 보내고 글에서 선택한 공개옵션에 따라서 크롤링을 하게 됩니다. 네이버 검색서버 연동을 하시면 사이트의 검색 기능을 네이버의 검색서버를 이용하실 수 있게 됩니다. + + 中文用户不支持此功能 + diff --git a/addons/openid_delegation_id/conf/info.xml b/addons/openid_delegation_id/conf/info.xml index fc456ba09..7bb92b932 100644 --- a/addons/openid_delegation_id/conf/info.xml +++ b/addons/openid_delegation_id/conf/info.xml @@ -1,25 +1,37 @@ OpenID delegation ID + OpenID delegation ID 제로 + zero 본인의 도메인을 사용하여 오픈아이디로 활용할 수 있도록 합니다. 꼭 설정을 통해서 openid provider관련 값을 입력후 사용해주세요. + + 使用本人的域名利用分散式的身份识别系统。 + 必须通过openid provider相关值的设定后再使用。 + server openid.server 값을 입력해 주세요. + server + 请输入 openid.server 值。 delegate openid.delegate값을 입력해주세요. + delegate + 请输入 openid.delegate 值。 xrds X-XRDS-Location값을 입력해주세요. + xrds + 请输入 X-XRDS-Location 值 diff --git a/addons/rainbow_link/conf/info.xml b/addons/rainbow_link/conf/info.xml index eadcf2297..554569b2c 100644 --- a/addons/rainbow_link/conf/info.xml +++ b/addons/rainbow_link/conf/info.xml @@ -1,11 +1,17 @@ 레인보우 링크 애드온 + Rainbow 链接 Add-On dynamicdrive.com + dynamicdrive.com rainbow.js를 header에 추가하여 링크가 걸린 글의 색을 무지개색으로 나타냅니다. 이 애드온의 rainbow.js는 <a href="http://www.dynamicdrive.com" target="_blank">Dynamicdrive.com</a>에 저작권이 있습니다. + + 把rainbow.js添加在 header使链接显示彩虹色。 + 此 Add-On的 rainbow.js版权属于 <a href="http://www.dynamicdrive.com" target="_blank">Dynamicdrive.com</a> + diff --git a/addons/spamfilter/conf/info.xml b/addons/spamfilter/conf/info.xml index d20fa314c..f0697c84f 100644 --- a/addons/spamfilter/conf/info.xml +++ b/addons/spamfilter/conf/info.xml @@ -1,11 +1,17 @@ 스팸필터 애드온 + SpamFilter Add-On 제로 + zero SpamFilter 모듈을 이용하여 글/코멘트/트랙백 등록 이전에 스팸 필터링 및 도배 방지를 합니다. 자세한 설정은 " 스팸필터 모듈" 에서 해주세요. + + 利用SpamFilter 模块防止过滤恶意发表的帖子、评论、引用等功能。 + 详细的设定在 " SpamFilter 模块里" 设置。 + diff --git a/classes/context/Context.class.php b/classes/context/Context.class.php index 56f715dd5..53bd71aaf 100644 --- a/classes/context/Context.class.php +++ b/classes/context/Context.class.php @@ -34,7 +34,7 @@ * * 기본으로 ko. HTTP_USER_AGENT나 사용자의 직접 세팅(쿠키이용)등을 통해 변경됨 **/ - var $lang_type = 'ko'; ///< 언어 종류 + var $lang_type = ''; ///< 언어 종류 var $lang = NULL; ///< 언어 데이터를 담고 있는 변수 var $loaded_lang_files = array(); ///< 로딩된 언어파일의 목록 (재로딩을 피하기 위함) @@ -70,6 +70,26 @@ // 기본적인 DB정보 세팅 $this->_loadDBInfo(); + // 쿠키로 설정된 언어타입 가져오기 + if($_COOKIE['lang_type']) $this->lang_type = $_COOKIE['lang_type']; + + // 등록된 기본 언어파일 찾기 + $lang_files = FileHandler::readDir('./common/lang'); + $accept_lang = strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']); + foreach($lang_files as $key => $val) { + list($lang_prefix) = explode('.',$val); + $lang_supported[] = $lang_prefix; + if(!$this->lang_type && ereg($lang_prefix, strtolower($_SERVER['HTTP_ACCEPT_LANGUAGE']))) { + $this->lang_type = $lang_prefix; + setcookie('lang_type', $this->lang_type, time()+60*60*24*365, '/'); + break; + } + } + + Context::set('lang_supported', $lang_supported); + + $this->setLangType($this->lang_type); + // 기본 언어파일 로드 $this->lang = &$GLOBALS['lang']; $this->_loadLang("./common/lang/"); @@ -238,12 +258,12 @@ global $lang; if(substr($path,-1)!='/') $path .= '/'; $filename = sprintf('%s%s.lang.php', $path, $this->lang_type); - if(!file_exists($filename)) $filename = sprintf('%slang/%s.lang.php', $path, $this->lang_type); + if(!file_exists($filename)) $filename = sprintf('%s%s.lang.php', $path, 'ko'); if(!file_exists($filename)) return; if(!is_array($this->loaded_lang_files)) $this->loaded_lang_files = array(); if(in_array($filename, $this->loaded_lang_files)) return; $this->loaded_lang_files[] = $filename; - @include($filename); + include($filename); } /** @@ -251,7 +271,7 @@ **/ function setLangType($lang_type = 'ko') { $oContext = &Context::getInstance(); - $oContext->_setLangType($lang); + $oContext->_setLangType($lang_type); } /** diff --git a/common/js/common.js b/common/js/common.js index 79fc89cc5..d3cfcce47 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -535,3 +535,15 @@ function open_calendar(fo_id, day_str, callback_func) { popopen(url, 'Calendar'); } + +// 언어코드 (lang_type) 쿠키값 변경 +function doChangeLangType(obj) { + var val = obj.options[obj.selectedIndex].value; + setLangType(val); + location.href = location.href; +} +function setLangType(lang_type) { + var expire = new Date(); + expire.setTime(expire.getTime()+ (7000 * 24 * 3600000)); + xSetCookie('lang_type', lang_type, expire); +} diff --git a/common/lang/jp.lang.php b/common/lang/jp.lang.php new file mode 100644 index 000000000..5f8d5a3e2 --- /dev/null +++ b/common/lang/jp.lang.php @@ -0,0 +1,214 @@ +cmd_write = '書き込む'; + $lang->cmd_reply = '返信'; + $lang->cmd_delete = '削除'; + $lang->cmd_modify = '修正'; + $lang->cmd_edit = '編集'; + $lang->cmd_view = '表示'; + $lang->cmd_view_all = '全体表示'; + $lang->cmd_list = '一覧'; + $lang->cmd_prev = '前へ'; + $lang->cmd_next = '次へ'; + $lang->cmd_send_trackback = 'トラックバック送信'; + $lang->cmd_registration = $lang->cmd_submit = '登録'; + $lang->cmd_comment_registration = 'コメント登録'; + $lang->cmd_insert = '挿入'; + $lang->cmd_save = '保存'; + $lang->cmd_input = '入力'; + $lang->cmd_search = '検索'; + $lang->cmd_cancel = 'キャンセル'; + $lang->cmd_back = '戻る'; + $lang->cmd_vote = '推薦'; + $lang->cmd_move = '移動'; + $lang->cmd_move_up = '上へ'; + $lang->cmd_move_down = '下へ'; + $lang->cmd_add_indent = 'インデント'; + $lang->cmd_remove_indent = 'インデント解除'; + $lang->cmd_management = '管理'; + $lang->cmd_make = '作成'; + $lang->cmd_select = '選択'; + $lang->cmd_select_all = 'すべて選択'; + $lang->cmd_unselect_all = 'すべて選択解除'; + $lang->cmd_close_all = 'すべて閉じる'; + $lang->cmd_open_all = 'すべて開く'; + $lang->cmd_reload = 'リロード'; + $lang->cmd_close = '閉じる'; + $lang->cmd_open = '開く'; + $lang->cmd_setup = '設定'; + $lang->cmd_apply = '適用'; + $lang->cmd_open_calendar = 'カレンダを開く'; + $lang->cmd_send = '送信'; + + $lang->enable = '可'; + $lang->disable = '不可'; + + // 기본 단어 + $lang->no = '番号'; + $lang->notice = 'お知らせ'; + $lang->secret = '内緒'; + $lang->category = '分類'; + $lang->document_srl = '書き込み番号'; + $lang->user_id = 'ユーザID'; + $lang->author = '作成者'; + $lang->password = 'パスワード'; + $lang->password1 = 'パスワード'; + $lang->password2 = 'パスワード確認'; + $lang->admin_id = '管理者ID'; + $lang->writer = '投稿者'; + $lang->user_name = '名前'; + $lang->nick_name = 'ニック'; + $lang->email_address = 'メールアドレス'; + $lang->homepage = 'ホームページ'; + $lang->blog = 'ブログ'; + $lang->birthday = '誕生日'; + $lang->browser_title = 'ブラウザータイトル'; + $lang->title = '題名'; + $lang->title_content = '題名+内容'; + $lang->content = '内容'; + $lang->document = '書き込み'; + $lang->comment = 'コメント'; + $lang->description = '説明'; + $lang->trackback = 'トラックバック'; + $lang->tag = 'タグ'; + $lang->allow_comment = 'トラックバック'; + $lang->lock_comment = 'トラックバック不許可'; + $lang->allow_trackback = 'トラックバック許可'; + $lang->uploaded_file = '添付'; + $lang->grant = '権限'; + $lang->target = '対象'; + $lang->total = '全体'; + $lang->total_count = '全体数'; + $lang->ipaddress = 'IPアドレス'; + $lang->path = 'パス'; + $lang->cart = '選択項目'; + $lang->friend = '友達'; + + $lang->mid = 'モジュル名'; + $lang->layout = 'レイアウト'; + $lang->widget = 'ウィジェット'; + $lang->module = 'モジュル'; + $lang->skin = 'スキン'; + $lang->colorset = 'カラーセット'; + $lang->extra_vars = '拡張変数'; + + $lang->document_url = '書き込みURL'; + $lang->trackback_url = 'トラックバックURL'; + $lang->blog_name = 'ブログ名'; + $lang->excerpt = '要約'; + + $lang->document_count = '書き込み数'; + $lang->page_count = 'ページ数'; + $lang->list_count = 'リスト数'; + $lang->readed_count = '照合数'; + $lang->voted_count = '推薦数'; + $lang->member_count = '会員数'; + $lang->date = '年月日'; + $lang->regdate = '登録日'; + $lang->last_update = '最近修正日'; + $lang->signup_date = '加入日'; + $lang->last_login = '最近のログイン'; + $lang->first_page = '最初のページ'; + $lang->last_page = '最後のページ'; + $lang->search_target = '検索対象'; + $lang->search_keyword = '検索語'; + $lang->is_default = 'デフォルト'; + + $lang->no_documents = '書き込みがありません。'; + + $lang->board_manager = '掲示板管理'; + $lang->member_manager = '会員管理'; + $lang->layout_manager = 'レイアウト'; + + $lang->use = '使用'; + $lang->notuse = '未使用'; + $lang->not_exists = 'なし'; + + $lang->unit_sec = '秒'; + $lang->unit_min = '分'; + $lang->unit_hour = '時'; + $lang->unit_day = '日'; + $lang->unit_week = '週'; + $lang->unit_month = '月'; + $lang->unit_year = '年'; + + // 説明関連 + $lang->about_tag = 'タグ入力時、「,」を使うと複数登録できます。'; + $lang->about_layout = 'レイアウトはモジュルのモジュルの枠をデザインします。上段のレイアウトメニューで管理できます。'; + + // メッセージ関連 + $lang->msg_call_server = 'サーバへ問合わせ中です。しばらくお待ちください'; + $lang->msg_db_not_setted = 'DBが設定されていません'; + $lang->msg_invalid_queryid = 'Query IDの値が無効です'; + $lang->msg_not_permitted = '権限がありません'; + $lang->msg_input_password = 'パスワードを入力してください'; + $lang->msg_invalid_document = '無効な書き込み番号です'; + $lang->msg_invalid_request = '無効なリクエストです'; + $lang->msg_invalid_password = 'パスワードが正しくありません'; + $lang->msg_error_occured = 'エラーが発生しました'; + $lang->msg_not_founded = '見つかりません'; + $lang->msg_no_result = '検索結果がありません'; + + $lang->msg_not_permitted_act = '現在の命令は実行する権限がありません'; + $lang->msg_module_is_not_exists = 'モジュルが見つかりません'; + $lang->msg_module_is_not_standalone = 'このモジュールはスタンドアローンでは動作しません'; + + $lang->success_registed = '登録しました'; + $lang->success_updated = '修正しました'; + $lang->success_deleted = '削除しました'; + $lang->success_voted = '推薦しました'; + $lang->success_moved = '移動しました'; + $lang->success_sended = '送信しました'; + $lang->success_reset = '初期化しました'; + $lang->success_leaved = '脱退しました'; + + $lang->fail_to_delete = '削除に失敗しました'; + $lang->fail_to_move = '移動に失敗しました'; + + $lang->failed_voted = '推薦できません'; + $lang->fail_to_delete_have_children = '返信の書き込みがあり、削除できません'; + + $lang->confirm_submit = '登録しますか'; + $lang->confirm_logout = 'ログアウトしますか'; + $lang->confirm_vote = '推薦しますか'; + $lang->confirm_delete = '削除しますか'; + $lang->confirm_move = '移動しますか'; + $lang->confirm_reset = '初期化しますか'; + $lang->confirm_leave = '脱退しますか'; + + $lang->column_type = 'タイプ'; + $lang->column_type_list['text'] = '入力フィールド(text)'; + $lang->column_type_list['homepage'] = 'ホームページタイプ(url)'; + $lang->column_type_list['email_address'] = 'メールタイプ(email)'; + $lang->column_type_list['tel'] = '電話番号タイプ(phone)'; + $lang->column_type_list['textarea'] = 'テキストエリア(textarea)'; + $lang->column_type_list['checkbox'] = 'チェックボックス(checkbox)'; + $lang->column_type_list['select'] = 'セレクト(select)'; + $lang->column_type_list['kr_zip'] = '韓国住所(zip)'; + $lang->column_type_list['date'] = '年月日'; + //$lang->column_type_list['jp_zip'] = '日本住所(zip)'; + $lang->column_name = 'コラム名'; + $lang->column_title = 'コラム題名'; + $lang->default_value = 'デフォルト値'; + $lang->is_active = '活性化'; + $lang->is_required = '必須'; + + // xml filterで用いられているjavascript用のアラートメッセージ + $lang->filter->isnull = '%sを入力してください'; + $lang->filter->outofrange = '%sの文字の長さを合わせてください'; + $lang->filter->equalto = '%sが正しくありません'; + $lang->filter->invalid_email = '%sのパターンが正しくありません (例: zbxe@zeroboard.com)'; + $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "%sの形式が正しくありません。\\n半角の英数と記号「_」を組み合わせて入力してください。最初の文字は半角英数でなければなりません。"; + $lang->filter->invalid_homepage = '%sの形式が正しくありません (例: http://www.zeroboard.com)'; + $lang->filter->invalid_korean = '%sの形式が正しくありません。ハングルのみ入力してください。'; + $lang->filter->invalid_korean_number = '%sの形式が正しくありません。ハングルと半角数字で入力してください。'; + $lang->filter->invalid_alpha = '%sの形式が正しくありません。半角英文字で入力してください。'; + $lang->filter->invalid_alpha_number = '%sの形式が正しくありません。半角英数で入力してください。'; + $lang->filter->invalid_number = '%sの形式が正しくありません。半角数字で入力してください。'; +?> diff --git a/common/lang/zh-CN.lang.php b/common/lang/zh-CN.lang.php new file mode 100644 index 000000000..d0d91c8cf --- /dev/null +++ b/common/lang/zh-CN.lang.php @@ -0,0 +1,217 @@ +cmd_write = '发表新帖'; + $lang->cmd_reply = '回复'; + $lang->cmd_delete = '删除'; + $lang->cmd_modify = '修改'; + $lang->cmd_edit = '编辑'; + $lang->cmd_view = '查看'; + $lang->cmd_view_all = '全部查看'; + $lang->cmd_list = '目录'; + $lang->cmd_prev = '上一页'; + $lang->cmd_next = '下一页'; + $lang->cmd_send_trackback = '传送引用'; + $lang->cmd_registration = $lang->cmd_submit = '发表'; + $lang->cmd_comment_registration = '发表评论'; + $lang->cmd_insert = '添加'; + $lang->cmd_save = '保存'; + $lang->cmd_input = '输入'; + $lang->cmd_search = '搜索'; + $lang->cmd_cancel = '取消'; + $lang->cmd_back = '返回'; + $lang->cmd_vote = '推荐'; + $lang->cmd_move = '转移'; + $lang->cmd_move_up = '向上'; + $lang->cmd_move_down = '向下'; + $lang->cmd_add_indent = '拉长'; + $lang->cmd_remove_indent = '缩短'; + $lang->cmd_management = '管理'; + $lang->cmd_make = '生成'; + $lang->cmd_select = '选择'; + $lang->cmd_select_all = '全部选择'; + $lang->cmd_unselect_all = '全部解除'; + $lang->cmd_close_all = '全部关闭'; + $lang->cmd_open_all = '全部打开'; + $lang->cmd_reload = '从新载入'; + $lang->cmd_close = '关闭'; + $lang->cmd_open = '打开'; + $lang->cmd_setup = '设置'; + $lang->cmd_apply = '适用'; + $lang->cmd_open_calendar = '选择日期'; + $lang->cmd_send = '发送'; + + $lang->enable = '使用'; + $lang->disable = '禁用'; + + // 基本单词 + $lang->no = '编号'; + $lang->notice = '公告'; + $lang->secret = '密帖'; + $lang->category = '分类'; + $lang->document_srl = '文章编号'; + $lang->user_id = '用户名'; + $lang->author = '发表者'; + $lang->password = '密码'; + $lang->password1 = '密码'; + $lang->password2 = '确认密码'; + $lang->admin_id = '管理员ID'; + $lang->writer = '昵称'; + $lang->user_name = '姓名'; + $lang->nick_name = '昵称'; + $lang->email_address = '邮件'; + $lang->homepage = '主页'; + $lang->blog = '博客'; + $lang->birthday = '生日'; + $lang->browser_title = '浏览器标题'; + $lang->title = '标题'; + $lang->title_content = '标题+内容'; + $lang->content = '内容'; + $lang->document = '文章'; + $lang->comment = '评论'; + $lang->description = '说明'; + $lang->trackback = '引用'; + $lang->tag = '标签'; + $lang->allow_comment = '允许评论'; + $lang->lock_comment = '关闭评论'; + $lang->allow_trackback = '允许引用'; + $lang->uploaded_file = '附件'; + $lang->grant = '权限'; + $lang->target = '目标'; + $lang->total = '全部'; + $lang->total_count = '总数'; + $lang->ipaddress = 'IP 地址'; + $lang->path = '路径'; + $lang->cart = '选择项目'; + $lang->friend = '朋友'; + + $lang->mid = '模块名称'; + $lang->layout = '布局'; + $lang->widget = '控件 '; + $lang->module = '模块'; + $lang->skin = '皮肤'; + $lang->colorset = '颜色设定'; + $lang->extra_vars = '扩展变数'; + + $lang->document_url = '文章地址'; + $lang->trackback_url = '引用地址'; + $lang->blog_name = '博客名称'; + $lang->excerpt = '载自'; + + $lang->document_count = '帖子数'; + $lang->page_count = '页数'; + $lang->list_count = '目录数'; + $lang->readed_count = '浏览数'; + $lang->voted_count = '推荐数'; + $lang->member_count = '会员数'; + $lang->date = '日期'; + $lang->regdate = '登录日期'; + $lang->last_update = '近期修改日期'; + $lang->signup_date = '加入日期'; + $lang->last_login = '最近登陆日起'; + $lang->first_page = '第一页'; + $lang->last_page = '最后一页'; + $lang->search_target = '搜索目标'; + $lang->search_keyword = '关键词'; + $lang->is_default = '基本'; + + $lang->no_documents = '没有文章'; + + $lang->board_manager = '管理板块'; + $lang->member_manager = '管理会员'; + $lang->layout_manager = '管理布局'; + + $lang->use = '使用'; + $lang->notuse = '未使用'; + $lang->not_exists = '无'; + + $lang->unit_sec = '秒'; + $lang->unit_min = '分'; + $lang->unit_hour = '时'; + $lang->unit_day = '日'; + $lang->unit_week = '周'; + $lang->unit_month = '月'; + $lang->unit_year = '年'; + + // 说明关联 + $lang->about_tag = '输入标签时请使用逗号(,)区分开.例如:踏板车,假期,秋天'; + $lang->about_layout = '布局可设置模块的外观.请点击布局管理进行管理'; + + // 信息关联 + $lang->msg_call_server = '请求中. 请您稍等.'; + $lang->msg_db_not_setted = '数据库没有设定'; + $lang->msg_invalid_queryid = 'Query ID值指定错误'; + $lang->msg_not_permitted = '没有权限'; + $lang->msg_input_password = '请输入密码'; + $lang->msg_invalid_document = '出错的文章编号'; + $lang->msg_invalid_request = '出错的请求'; + $lang->msg_invalid_password = '密码错误'; + $lang->msg_error_occured = '发生错误'; + $lang->msg_not_founded = '没有找到对象'; + $lang->msg_no_result = '没有搜索结果'; + + $lang->msg_not_permitted_act = '没有权限执行 action命令'; + $lang->msg_module_is_not_exists = '没有找到模块'; + $lang->msg_module_is_not_standalone = '模块不能单独执行'; + + $lang->success_registed = '登录成功'; + $lang->success_updated = '修改成功'; + $lang->success_deleted = '删除成功'; + $lang->success_voted = '推荐成功'; + $lang->success_moved = '移动成功'; + $lang->success_sended = '发送成功'; + $lang->success_reset = '初期化成功'; + $lang->success_leaved = '注销成功'; + $lang->fail_to_delete = '删除成功'; + $lang->fail_to_move = '移动成功'; + + + $lang->fail_to_delete = '删除完毕'; + $lang->fail_to_move = '转移完毕'; + + $lang->failed_voted = '您不能推荐'; + $lang->fail_to_delete_have_children = '已经有回复所以不能删除'; + + $lang->confirm_submit = '确认要发表吗?'; + $lang->confirm_logout = '确认要退出吗?'; + $lang->confirm_vote = '确认要推荐吗?'; + $lang->confirm_delete = '确认要删除吗?'; + $lang->confirm_move = '确认要转移吗?'; + $lang->confirm_reset = '确认要初始化吗?'; + $lang->confirm_leave = '确认要注销吗?'; + + $lang->column_type = '类型'; + $lang->column_type_list['text'] = '文本类型 (text)'; + $lang->column_type_list['homepage'] = '主页类型 (url)'; + $lang->column_type_list['email_address'] = '邮件类型 (email)'; + $lang->column_type_list['tel'] = '电话号码类型 (phone)'; + $lang->column_type_list['textarea'] = '文本区类型 (textarea)'; + $lang->column_type_list['checkbox'] = '复选框 (checkbox)'; + $lang->column_type_list['select'] = '单一选择 (select)'; + $lang->column_type_list['kr_zip'] = '韩国地址 (zip)'; + $lang->column_type_list['date'] = '日期 (年月日)'; + //$lang->column_type_list['jp_zip'] = '日本地址 (zip)'; + $lang->column_name = '项目名称'; + $lang->column_title = '项目标题'; + $lang->default_value = '基本值'; + $lang->is_active = '激活'; + $lang->is_required = '必填项目'; + + // 在xml filter使用的 javascript用 alert msg + $lang->filter->isnull = '请输入%s'; + $lang->filter->outofrange = '请确认%s字数'; + $lang->filter->equalto = '%s值有误。'; + $lang->filter->invalid_email = '%s格式有误。(例:zbxe@zeroboard.com)'; + $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "%s只能用英文,数字和 _,首个字符必须是英文字母。"; + $lang->filter->invalid_homepage = '%s格式有误。(例: http://www.zeroboard.com)'; + $lang->filter->invalid_korean = '%s只能输入中文'; + $lang->filter->invalid_korean_number = '%s只能输入中文或数字'; + $lang->filter->invalid_alpha = '%s只能输入英文字母'; + $lang->filter->invalid_alpha_number = '%s只能输入英文或数字'; + $lang->filter->invalid_number = '%s只能输入数字'; +?> diff --git a/layouts/sample_layout_js_menu/conf/info.xml b/layouts/sample_layout_js_menu/conf/info.xml index 35ccac867..ae2eb82a5 100644 --- a/layouts/sample_layout_js_menu/conf/info.xml +++ b/layouts/sample_layout_js_menu/conf/info.xml @@ -1,43 +1,60 @@ 견본 레이아웃 (JS 메뉴) + 样本布局(JS 菜单) 제로 + zero 가장 기본적인 기능으로 이루어진 견본 레이아웃입니다. main_menu, bottom_menu 2개의 메뉴로 구성되어 있으며 각 메뉴의 출력은 javascript 함수를 이용해서 출력합니다. 레이아웃을 만들때 편리하지만 자유도가 떨어집니다. + + 此布局是最基本的功能形成的样本布局。 + 此布局由 main_menu, bottom_menu 两个菜单构成,每个菜单的呼出方式是利用 javascript 函数显示。 + 制作布局的时候方便的同时自由度相对落后。 + 컬러셋 + 颜色 원하시는 컬러셋을 선택해주세요. + 请选择颜色。 적색 + 红色 red 청색 + 青色 blue 상단 제목 + 顶部标题 레이아웃의 상단에 표시할 제목을 입력하세요. + 请输入布局顶部显示的标题。(网站名称) 홈 페이지 URL + 网站 URL 로고나 제목을 클릭시에 이동할 홈 페이지 URL을 입력해 주세요. + 点击网站LOGO或标题时要移动的页面URL。 주 메뉴 + 主 菜单 2 하단 메뉴 + 底部菜单 1 diff --git a/layouts/sample_layout_php_menu/conf/info.xml b/layouts/sample_layout_php_menu/conf/info.xml index 7946afeac..b400feaa0 100644 --- a/layouts/sample_layout_php_menu/conf/info.xml +++ b/layouts/sample_layout_php_menu/conf/info.xml @@ -1,43 +1,60 @@ 견본 레이아웃 (PHP 메뉴) + 样本布局 (PHP 菜单) 제로 + zero 가장 기본적인 기능으로 이루어진 견본 레이아웃입니다. main_menu, bottom_menu 2개의 메뉴로 구성되어 있으며 각 메뉴의 출력은 php 코드로 하게 됩니다. 레이아웃을 만들때 js menu 보다는 복잡하지만 자유도가 높습니다. + + 此布局是最基本的功能形成的样本布 + 此布局由 main_menu, bottom_menu 两个菜单构成,每个菜单的呼出方式是利用 PHP 显示。 + 制作布局时候复杂的同时自由度相对提高。 + 컬러셋 + 颜色 원하시는 컬러셋을 선택해주세요. + 请选择颜色。 적색 + 红色 red 청색 + 青色 blue 상단 제목 + 顶部标题 레이아웃의 상단에 표시할 제목을 입력하세요. + 请输入布局顶部显示的标题。(网站名称) 홈 페이지 URL + 网站 URL 로고나 제목을 클릭시에 이동할 홈 페이지 URL을 입력해 주세요. + 点击网站LOGO或标题时要移动的页面URL。 주 메뉴 + 主菜单 2 하단 메뉴 + 底部菜单 1 diff --git a/layouts/zb5_site/conf/info.xml b/layouts/zb5_site/conf/info.xml index 0bbf10bbf..ce56dac62 100644 --- a/layouts/zb5_site/conf/info.xml +++ b/layouts/zb5_site/conf/info.xml @@ -1,49 +1,67 @@ zb5beta 사이트 레이아웃 + zb5beta 网站布局 styx + styx zb5beta에서 사용되던 사이트 레이아웃입니다. + + 在zb5beta 使用的布局 + 컬러셋 + 颜色 원하시는 컬러셋을 선택해주세요. + 请选择颜色。 파란색 + 蓝色 blue 녹색 + 绿色 green 빨간색 + 红色 red 보라색 + 紫色 purple 로고이미지 + LOGO图片 레이아웃의 상단에 표시될 로고이미지를 입력하세요. (세로길이가 100px인 투명이미지가 가장 어울립니다) + 请输入布局顶部现实的LOGO图片。 (适合高度 100px的透明LOGO。) 홈 페이지 URL + 网站 URL 로고를 클릭시에 이동할 홈 페이지 URL을 입력해 주세요. + 点击网站LOGO或标题时要移动的页面URL。 카피라이트 + 版权信息 사이트 하단에 표시될 카피라이트를 입력해주세요. + 请输入网站底部显示的版权信息。 상단 메뉴 + 顶部菜单 3 diff --git a/layouts/zb5_site/css/blue.css b/layouts/zb5_site/css/blue.css index 89d12fc83..617edae6e 100644 --- a/layouts/zb5_site/css/blue.css +++ b/layouts/zb5_site/css/blue.css @@ -53,3 +53,5 @@ body { margin:0; } #layout_zx .layout_menu { padding:10px; background:#FFFFFF; border:solid 1px #E0E8EE; margin:0 10px 10px 10px; color:#666666; } #layout_zx .layout_menu a { color:#666666; } + +.lang_type_option {float:left; margin:8px 0 0 10px;} diff --git a/layouts/zb5_site/css/green.css b/layouts/zb5_site/css/green.css index eec136ec4..8e39e7b0a 100644 --- a/layouts/zb5_site/css/green.css +++ b/layouts/zb5_site/css/green.css @@ -54,3 +54,5 @@ body { margin:0; } #layout_zx .layout_menu { padding:10px; background:#FFFFFF; border:solid 1px #E0E8EE; margin:0 10px 10px 10px; color:#666666; } #layout_zx .layout_menu a { color:#666666; } + +.lang_type_option {float:left; margin:8px 0 0 10px;} diff --git a/layouts/zb5_site/css/purple.css b/layouts/zb5_site/css/purple.css index dae4e0447..45769aec6 100644 --- a/layouts/zb5_site/css/purple.css +++ b/layouts/zb5_site/css/purple.css @@ -53,3 +53,5 @@ body { margin:0; } #layout_zx .layout_menu { padding:10px; background:#FFFFFF; border:solid 1px #E0E8EE; margin:0 10px 10px 10px; color:#666666; } #layout_zx .layout_menu a { color:#666666; } + +.lang_type_option {float:left; margin:8px 0 0 10px;} diff --git a/layouts/zb5_site/css/red.css b/layouts/zb5_site/css/red.css index fbf87b463..2abd8ebd1 100644 --- a/layouts/zb5_site/css/red.css +++ b/layouts/zb5_site/css/red.css @@ -53,3 +53,5 @@ body { margin:0; } #layout_zx .layout_menu { padding:10px; background:#FFFFFF; border:solid 1px #E0E8EE; margin:0 10px 10px 10px; color:#666666; } #layout_zx .layout_menu a { color:#666666; } + +.lang_type_option {float:left; margin:8px 0 0 10px;} diff --git a/layouts/zb5_site/layout.html b/layouts/zb5_site/layout.html index 5642fdb67..911d12a1c 100644 --- a/layouts/zb5_site/layout.html +++ b/layouts/zb5_site/layout.html @@ -26,6 +26,18 @@ + + + + {$lang_type} + + + {$val} + + + + + diff --git a/modules/admin/tpl/css/admin.css b/modules/admin/tpl/css/admin.css index 93caae918..d3989f8c5 100644 --- a/modules/admin/tpl/css/admin.css +++ b/modules/admin/tpl/css/admin.css @@ -70,7 +70,7 @@ h4 .view { color:#158692; padding-right:.6em; font:bold .9em Tahoma; background: .clear { clear:both; } .nospace { margin:0; padding:0; } -.buttonTypeA { display:block; cursor:pointer; background:url(../images/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap; } +.buttonTypeA { display:block; cursor:pointer; background:url(../images/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap; font-size:.9em;} .buttonTypeA:hover { text-decoration:none;} .buttonTypeA img { vertical-align:middle;} .buttonTypeA input { border:none; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; vertical-align:middle; } diff --git a/modules/admin/tpl/css/admin_layout.css b/modules/admin/tpl/css/admin_layout.css index 777d4494f..d6a185e6b 100644 --- a/modules/admin/tpl/css/admin_layout.css +++ b/modules/admin/tpl/css/admin_layout.css @@ -16,7 +16,7 @@ IE7 Only */ /* default.css - Type Selector Definition */ -* { margin:0; padding:0; font-family:"돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +* { margin:0; padding:0; } html, body { } html { width:100%; position:relative;} body { font-size:.75em; width:100%; background:#2f2f2f; margin:0;} diff --git a/modules/blog/blog.admin.model.php b/modules/blog/blog.admin.model.php index e9dba3c4a..8bd505241 100644 --- a/modules/blog/blog.admin.model.php +++ b/modules/blog/blog.admin.model.php @@ -1,4 +1,3 @@ - board = "掲示板"; + + // ボタンに使用する用語 + $lang->cmd_board_list = '掲示板リスト'; + $lang->cmd_module_config = '掲示板共通設定'; + $lang->cmd_view_info = '掲示板情報'; + $lang->move_target_module = "移動対象モジュル"; + + $lang->about_board = "掲示板を生成、管理できる掲示板モジュルです。\n生成後、リストからモジュル名を選択すると詳細な設定ができます。\n掲示板のモジュル名はURLになりますので注意してください。 (ex : http://ドメイン/zb/?mid=モジュル名)"; +?> diff --git a/modules/board/skins/xe_gallery/css/white.css b/modules/board/skins/xe_gallery/css/white.css index 5f2228f3d..131e657e8 100644 --- a/modules/board/skins/xe_gallery/css/white.css +++ b/modules/board/skins/xe_gallery/css/white.css @@ -38,7 +38,7 @@ Jeong, Chan Myeong 070601~070630 /* boardList */ .boardList { width:100%; position:relative; border:1px solid #e0e1db;} .boardList tr.notice { background:#f8f8f8;} -.boardList tr.notice .num { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; font-weight:bold;} +.boardList tr.notice .num { font-size:.9em; font-weight:bold;} .boardList tr.bg1 { background:#ffffff} .boardList tr.bg2 { background:#fbfbfb;} .boardList th { color:#3e3f3e; font-weight:normal; border-bottom:1px solid #ffffff; padding:.8em .5em .5em .5em; background:#ffffff url(../images/white/lineBoardListTh.gif) no-repeat left bottom;} @@ -66,7 +66,7 @@ Jeong, Chan Myeong 070601~070630 .boardList td.title, .boardList td.title a { color:#444444;} .boardList td.title a:visited { color:#777777;} -.boardList td.author { color:#333333; font:.95em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +.boardList td.author { color:#333333; font-size:.95em;} .boardList td.author a { font-size:1em; color:#333333;} .boardList td.reading { font:.8em Tahoma; color:#999999; text-align:center;} .boardList td.recommend { font:bold .8em Tahoma; color:#ff6600; text-align:center;} @@ -111,7 +111,7 @@ Jeong, Chan Myeong 070601~070630 .pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; } /* buttonType */ -.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px;} +.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; font-size:.9em;} .buttonTypeA:hover { text-decoration:none;} .buttonTypeA img { vertical-align:middle;} .buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;} diff --git a/modules/board/skins/xe_list/css/white.css b/modules/board/skins/xe_list/css/white.css index d2f8603fe..ef6dfa0f2 100644 --- a/modules/board/skins/xe_list/css/white.css +++ b/modules/board/skins/xe_list/css/white.css @@ -38,7 +38,7 @@ Jeong, Chan Myeong 070601~070630 /* boardList */ .boardList { width:100%; position:relative; border:1px solid #e0e1db;} .boardList tr.notice { background:#f8f8f8;} -.boardList tr.notice .num { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; font-weight:bold;} +.boardList tr.notice .num { font-size:.9em; font-weight:bold;} .boardList tr.bg1 { background:#ffffff} .boardList tr.bg2 { background:#fbfbfb;} .boardList th { color:#3e3f3e; font-weight:normal; border-bottom:1px solid #ffffff; padding:.8em .5em .5em .5em; background:#ffffff url(../images/white/lineBoardListTh.gif) no-repeat left bottom;} @@ -66,7 +66,7 @@ Jeong, Chan Myeong 070601~070630 .boardList td.title, .boardList td.title a { color:#444444;} .boardList td.title a:visited { color:#777777;} -.boardList td.author { color:#333333; font:.95em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +.boardList td.author { color:#333333; font-size:.95em;} .boardList td.author a { font-size:1em; color:#333333;} .boardList td.reading { font:.8em Tahoma; color:#999999; text-align:center;} .boardList td.recommend { font:bold .8em Tahoma; color:#ff6600; text-align:center;} @@ -111,10 +111,10 @@ Jeong, Chan Myeong 070601~070630 .pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; } /* buttonType */ -.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px;} +.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; font-size:.9em;} .buttonTypeA:hover { text-decoration:none;} .buttonTypeA img { vertical-align:middle;} -.buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;} +.buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 -1px; position:relative; left:-1px;} .buttonTypeA .rightCap { width:2px; height:24px; background:url(../images/white/buttonTypeARight.gif) no-repeat; margin:0 -1px 0 .4em;} .buttonTypeA .icon { margin:0 .2em;} .buttonTypeA input { border:none; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; vertical-align:middle; } @@ -122,7 +122,7 @@ Jeong, Chan Myeong 070601~070630 .buttonTypeB { display:block; cursor:pointer; background:url(../images/white/buttonTypeBCenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; font-size:.9em; white-space:nowrap;} .buttonTypeB:hover { text-decoration:none;} .buttonTypeB img { vertical-align:middle;} -.buttonTypeB .leftCap { width:2px; height:21px; background:url(../images/white/buttonTypeBLeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;} +.buttonTypeB .leftCap { width:2px; height:21px; background:url(../images/white/buttonTypeBLeft.gif) no-repeat; margin:0 .3em 0 1px; position:relative; left:-1px;} .buttonTypeB .rightCap { width:2px; height:21px; background:url(../images/white/buttonTypeBRight.gif) no-repeat; margin:0 -1px 0 .4em;} .buttonTypeB .icon { margin:0 .2em;} .buttonTypeB input { border:none; cursor:pointer; background:url(../images/white/buttonTypeBCenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; vertical-align:middle; } diff --git a/modules/board/skins/xe_webzine/css/white.css b/modules/board/skins/xe_webzine/css/white.css index d3017083f..e2ce181bb 100644 --- a/modules/board/skins/xe_webzine/css/white.css +++ b/modules/board/skins/xe_webzine/css/white.css @@ -38,7 +38,7 @@ Jeong, Chan Myeong 070601~070630 /* boardList */ .boardList { width:100%; position:relative; border:1px solid #e0e1db;} .boardList tr.notice { background:#f8f8f8;} -.boardList tr.notice .num { font:.9em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif; font-weight:bold;} +.boardList tr.notice .num { font-size:.9em; font-weight:bold;} .boardList tr.bg1 { background:#ffffff} .boardList tr.bg2 { background:#fbfbfb;} .boardList th { color:#3e3f3e; font-weight:normal; border-bottom:1px solid #ffffff; padding:.8em .5em .5em .5em; background:#ffffff url(../images/white/lineBoardListTh.gif) no-repeat left bottom;} @@ -66,7 +66,7 @@ Jeong, Chan Myeong 070601~070630 .boardList td.title, .boardList td.title a { color:#444444;} .boardList td.title a:visited { color:#777777;} -.boardList td.author { color:#333333; font:.95em "돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +.boardList td.author { color:#333333; font-size:.95em} .boardList td.author a { font-size:1em; color:#333333;} .boardList td.reading { font:.8em Tahoma; color:#999999; text-align:center;} .boardList td.recommend { font:bold .8em Tahoma; color:#ff6600; text-align:center;} @@ -111,7 +111,7 @@ Jeong, Chan Myeong 070601~070630 .pageNavigation .current { position:relative; margin-left:-4px; font:bold 1em Tahoma; color:#ff6600; display:inline-block; padding:1px 7px 1px 6px; border-left:1px solid #dedfde; border-right:1px solid #CCCCCC; text-decoration:none; line-height:1em; } /* buttonType */ -.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px;} +.buttonTypeA { display:block; cursor:pointer; background:url(../images/white/buttonTypeACenter.gif) repeat-x left center; line-height:100%; overflow:visible; color:#3f4040; margin:0 1px; white-space:nowrap;border:0px; font-size:.9em;} .buttonTypeA:hover { text-decoration:none;} .buttonTypeA img { vertical-align:middle;} .buttonTypeA .leftCap { width:2px; height:24px; background:url(../images/white/buttonTypeALeft.gif) no-repeat; margin:0 .3em 0 0; position:relative; left:-1px;} diff --git a/modules/install/tpl/css/install.css b/modules/install/tpl/css/install.css index 06eaa64a7..93e368337 100644 --- a/modules/install/tpl/css/install.css +++ b/modules/install/tpl/css/install.css @@ -16,7 +16,7 @@ IE7 Only */ /* default.css - Type Selector Definition */ -* { margin:0; padding:0; font-family:"돋움", Dotum, "굴림", Gulim, AppleGothic, Sans-serif;} +* { margin:0; padding:0; } html, body {} html { width:100%; position:relative;} body { position:relative; font-size:.75em; width:100%; background:#4d4d4d url(../images/installBg.gif) repeat-x;}