사용자 삽입 이미지


현재 시판되고 있는 Mac OS X Server Leopard 의 경우 영어, 일본어, 독일어, 프랑스어에 대해서는 기본적으로 지원하지만 한국어에 대한 배려는 깊지 않은 편이다.

하지만 어쩌랴...

사용하는 사람들이 더욱 편하게 하기 위해서는 누군가가 한글화에 대한 고민을 해야만 하는 것을...

그래도 매우 편리하게 구조화되어 있는 관계로 그다지 어렵지 않게 한글화가 가능하다.

이 한글화 작업이 중요한 이유는 그룹을 생성하는 시점에 관련된 파일들을 불러와 디폴트 값으로 설정해 버리기 때문인데...
Workgroup 매니저에서 사용자를 설정하고 그룹을 생성하기 전에 한글화 작업을 마쳐두는 편이 여러모로... 그냥 사용하는 모든 사람들에게 편리한 상황이 되기 때문입니다.

가장 중요한 것은 두가지인데...
/Library/Application Support/Apple/WikiServer/en.lproj/ 폴더 안에 있는 js.strings 과 default.strings 파일 두가지를 한글화 시키는 것과...

/Library/Application Support/Apple/WikiServer/WikiTemplates 폴더안에 있는 html 파일 5개를 한글화시키는 것
이다.

WikiTemplates 안에 있는 내용은 자신이 운영하고자 하는 서버의 성격에 맞게 수정해도 되는 부분이므로 그다지 큰 신경을 쓰지 않아도 되는 부분이지만, js.strings 와 default.strings 는 각 상황에서 공통적으로 사용하게 되는 부분들이므로 조금은 신경써서 번역할 필요가 있다.

이를테면 한글로 '로그인' 이라고 할 것인지 영어로 'Log In' 상태로 그냥 둘것인지에 따라 사이트의 느낌이 달라지는 부분이 생기기 때문인데 차근 차근 한줄씩 고민을 해 가면서 번역을 해 보도록 하자.

물론 공을 들이는만큼 좀 더 정확한 의미 전달이 가능하겠지만 이 내용을 번역하느라 서버 셋팅을 미룰수는 없는 일이므로 대략 빠르고 명확하게 번역하도록 하자.

원문은 이렇다.

js.strings
"incorrectRevision"="The versions of the server and UI don’t match. Try clicking Reload; if that doesn't work, please make sure both server components are up-to-date.";
"noparse_error"="This page cannot be displayed. Its HTML is incorrect and cannot be parsed.";
"session_expired"="Your session has timed out, or is no longer valid. Please log in.";
"no_cookies"="It appears that your browser does not have cookies enabled. Logging in is not possible if your browser has cookies turned off.";
"noserver_error_format"="Couldn't contact the server. Please ensure that you can connect to %(hostname)s and try again. If you continue to have trouble, contact your system administrator.";
"search_hint"="Search";
"more_link_format"="See all %(count)s…";
"help"="Help";
"cancel"="Cancel";
"login"="Log In";
"logout"="Log Out";
"loggedIn"="Logged in.";
"loggedOut"="Logged out.";
"choose_date_button"="Choose date…";
"debug_dialog_header"="Error from server (debug enabled)";
"error_from_server"="Error from server:";
"unloadConfirm"="Your changes will not be saved.";
"delete_page_confirm_header"="Really delete page?";
"delete_page_confirm_title"="Title:";
"delete_page_confirm_permanent_delete"="Permanently Delete";
"delete_page_confirm_ok"="Delete";
"delete_page_progress"="Deleting page…";
"undelete_page_progress"="Undeleting page…";
"undelete_page_message"="Page undeleted.";
"page_deleted_message"="Page deleted.";
"overview"="Overview";
"today"="Today";
"yesterday"="Yesterday";
"tomorrow"="Tomorrow";
"thisWeek"="This Week";
"nextWeek"="Next Week";
"calendars"="Calendars";
"contacts"="Contacts";
"email"="Email";
"weblogs"="Weblogs";
"documents"="Wiki";
"paginator_picker_format"="%(firstEntry)s - %(lastEntry)s of %(totalEntries)s";
"paginator_popup_item_format"="%(firstEntry)s - %(lastEntry)s";
"paginator_previous"="Previous";
"paginator_up"="Back to List";
"paginator_next"="Next";
"editorFrameTitle"="Editable Content";
"bodyLangAttribute"="en";
"login_dialog_header"="Please log in.";
"login_dialog_username"="Username:";
"login_dialog_password"="Password:";
"login_dialog_persistent"="Remember me";
"login_dialog_ok"="Log In";
"login_progress"="Logging in…";
"login_error"="There was an error logging in.";
"login_bad_username_error"="You entered an incorrect user name or password.";
"logout_progress"="Logging out…";
"link_tooltip_title"="Title:";
"link_tooltip_lastmod"="Modified:";
"link_tooltip_lastmod_format"="%(date)s by %(author)s";
"link_tooltip_tags"="Tags:";
"weblog_createblog_dialog_header"="Create Your Weblog";
"weblog_createblog_username"="Username:";
"weblog_createblog_ok"="Create";
"weblog_createblog_error_notallowed"="Couldn't create a weblog, because this user is not allowed a weblog.";
"weblog_createblog_error_misc"="Couldn't create your weblog, because an error occurred.";
"weblog_createblog_confirm"="Weblog created.";
"weblog_delete_page_confirm_header"="Really delete blog entry?";
"weblog_delete_page_progress"="Deleting blog entry...";
"weblog_page_deleted_message"="Blog entry deleted.";
"weblog_new_page_dialog_header"="New Entry";
"weblog_new_page_dialog_title"="Entry Title:";
"weblog_new_page_progress"="Creating entry...";
"weblog_new_page_confirm"="Entry created.";
"weblog_new_page_is_podcast"="Add podcast media to this entry";
"weblog_new_page_podcast"="Podcast:";
"weblog_new_page_optional_note"="(optional)";
"weblog_podcast_progress_message"="Uploading podcast file…";
"tt_dtstart"="Start Time:";
"tt_duration"="Duration:";
"tt_location"="Location:";
"tt_guests"="Guests:";
"tt_status"="Status:";
"tt_description"="Notes:";
"calendar_auth_error"="Calendar server returned an error: Authorization failed";
"calendar_404_error"="Calendar server returned an error: File not found";
"calendar_noreponse_error"="The calendar server is not responding.";
"calendar_malformed_error"="The calendar server returned malformed calendar data.";
"default_appt_summary"="New Event";
"appointment_dialog_header"="Event";
"appointment_dialog_summary"="Summary:";
"appointment_dialog_location"="Location:";
"appointment_dialog_description"="Notes:";
"appointment_dialog_more"="More…";
"appointment_dialog_ok"="OK";
"appointment_entry_starttime"="Start Time:";
"appointment_entry_duration"="Duration:";
"appointment_entry_location"="Location:";
"appointment_entry_description"="Notes:";
"appointment_entry_duration_days"=" day(s), ";
"appointment_entry_allday"="All-Day (Banner) event";
"appointment_allday"="All Day";
"delete_appointment_confirm_header"="Really delete event?";
"delete_appointment_progress"="Deleting event…";
"appointment_deleted_message"="Event deleted.";
"appointment_created_message"="Event created.";
"appointment_save_progress"="Saving event…";
"appointment_saved_message"="Event saved.";
"updating_calendar_message"="Getting events from server…";
"recent_entries"="Recent Entries";
"directory_listing"="Directory Listing";
"page_listing"="Quick Clicks";
"page_listing_all"="All Entries";
"page_listing_recent"="Recent Entries";
"page_listing_weblog"="Group Weblog";
"table_of_contents"="Contents";
"entry_last_updated"="Last updated";
"hide"="Hide";
"show"="Show";
"edit_unsupported_error"="Your web browser is not fully supported, but might work for basic editing. For best results use Safari 3, Internet Explorer 6, Firefox 2 or later.";
"page_type_weblog"="Weblog page";
"page_type_wiki"="Wiki page";
"last_edited"="History";
"settings_getting_progress"="Getting settings…";
"settings_saving_progress"="Saving settings…";
"settings_group_button"="Group Settings…";
"settings_group_saved_message"="Saved group settings.";
"settings_user_saved_message"="Saved user settings.";
"settings_group_header"="Group Settings";
"settings_user_header"="User Settings";
"settings_group_dialog_header"="Group Settings";
"settings_group_dialog_ok"="OK";
"settings_title_header"="Title:";
"settings_banner_header"="Banner";
"settings_banner_label"="Banner:";
"settings_banner_size_nobanner"="no banner";
"settings_banner_size_width"="banner width: %(bannerImageWidth)spx";
"settings_banner_size_height"="banner height: %(bannerImageHeight)spx";
"settings_banner_size_dimensions"="banner size: %(bannerImageWidth)s x %(bannerImageHeight)s";
"settings_banner_progress"="Uploading banner image…";
"settings_default_banner"="Default banner image";
"settings_no_banner"="No banner image";
"settings_custom_banner"="Custom banner:";
"settings_theme_label"="Theme:";
"settings_sidebar_header"="Sidebar";
"settings_sidebar_label"="Sidebar:";
"settings_sidebar_tag_label"="Tag:";
"settings_sidebar_title_label"="Title:";
"settings_podcast_header"="Podcast";
"settings_podcast_label"="Podcast Blog:";
"settings_podcast_checkbox_label"="Create a podcast for this group's weblog";
"settings_user_podcast_checkbox_label"="Create a podcast for this user's weblog";
"settings_podcast_genre_label"="iTunes Category:";
"settings_acl_username_hint"="Short username or group name";
"settings_comments_label"="Comments:";
"settings_comments_disabled"="None allowed";
"settings_comments_authenticated"="Authenticated users";
"settings_comments_anonymous"="Anyone";
"settings_comment_moderation_label"="Comment moderation:";
"settings_comment_moderation_disabled"="None";
"settings_comment_moderation_authenticated"="All comments";
"settings_comment_moderation_anonymous"="Only anonymous comments";
"choose_theme_dialog_header"="Choose Theme";
"choose_theme_dialog_ok"="OK";
"tags_button_tooltip"="Searches this group for tagged content.";
"tags_all_item"="all tags…";
"tags_deleted_item"="deleted entries…";
"tags_recents_item"="recent changes…";
"tags_edit_tags"="Edit Tags";
"tags_label"="Tags: ";
"tags_avail_tooltip"="Current Tags";
"tags_addtag_hint"="Add Tags Here";
"tags_rename_dialog_header"="Edit Tag";
"tags_rename_dialog_name"="Tag Name:";
"tags_rename_dialog_ok"="Save";
"tags_rename_dialog_delete"="Delete";
"tags_save_progress"="Saving tag changes…";
"tags_saved_message"="Tag changes saved.";
"tag_tooltip"="Click this tag to search for other items with this tag. Drag the tag from the tag bar to delete it.";
"tags_remove_tag_dialog_header"="Really remove tag?";
"tags_remove_tag_dialog_description"="Are you sure you want to remove this tag? This change will take effect immediately.";
"tags_remove_tag_dialog_ok"="Remove";
"tags_remove_tooltip"="Remove Tag";
"tags_delete_tooltip"="Delete Tag";
"tag_added"="Tag added.";
"tag_removed"="Tag removed.";
"new_page_dialog_header"="New Page";
"new_page_dialog_title"="Page Title:";
"new_page_dialog_ok"="Create";
"new_page_progress"="Creating page…";
"new_page_confirm"="Page created.";
"link_other_dialog_header"="Link to Location";
"link_other_dialog_title"="URL:";
"link_other_dialog_text"="Link Text:";
"link_other_dialog_ok"="Link";
"save_page_dialog_header"="Save Page";
"save_page_dialog_comment"="Comment:";
"save_page_dialog_hot"="Add this to “What’s Hot”";
"save_page_dialog_progress"="Saving document…";
"save_page_error_html"="Unable to save this page. Its HTML is incorrect and cannot be validated.";
"save_page_error_other"="Unable to save this page. An error occurred. (%(errorStr)s)";
"save_comment_hint"="Describe your changes here";
"save_overwrite_check_progress"="Checking document status…";
"save_overwrite_confirm"="This page was modified by %(lastModifiedAuthorLongName)s after you started editing it. Save anyway?";
"document_saved"="Document saved.";
"editing_document_title"="Document Title";
"link_dialog_header"="Link";
"link_dialog_error"="Error retrieving available links.";
"link_popup_searching_progress"="Searching…";
"search_selected_tags"="Selected Tags";
"search_related_tags"="Related Tags";
"search_tag_remove"="(remove)";
"search_kind_all"="all entries";
"search_kind_weblog"="blog entries";
"search_kind_wiki"="wiki entries";
"search_kind_mailinglist"="mail messages";
"search_kind_calendar"="calendar events";
"search_sort_date"="by modified date";
"search_sort_title"="by title";
"search_sort_kind"="by kind";
"search_sort_author"="by author";
"search_recent_tags"="Recent Tags";
"search_quicksearch"="QuickSearch";
"history_title"="Document History: ";
"history_cancel"="Back";
"history_no_revision_sel"="No revision selected";
"history_popup_progress"="Getting history…";
"history_compare"="Compare";
"history_compare_tooltip"="Compare this to the previous version.";
"history_view_alone"="View Alone";
"history_view_alone_tooltip"="View this version without differences displayed.";
"history_delete"="Delete";
"history_delete_tooltip"="Delete displayed version.";
"history_revert"="Restore";
"history_revert_tooltip"="Restore displayed version.";
"history_revert_confirm"="Do you really want to restore this older version?";
"history_delete_confirm"="Do you really want to delete this revision? This action cannot be undone.";
"history_no_comment"="%(author)s has no comment.";
"history_updated"="Updated ";
"history_created"="Created ";
"history_restored"="Restored ";
"history_by"=" by ";
"history_reverted"="Restoring…";
"history_reverted_comment"="Restored previous version ";
"history_reverted_notify"="Restored.";
"history_deleted"="Deleting…";
"history_deleted_comment"="Version deleted.";
"image_dialog_header"="Insert Media";
"image_dialog_file"="Media File:";
"image_dialog_align"="Alignment:";
"image_dialog_align_left"="Left-aligned (wrap text to the right of image)";
"image_dialog_align_center"="Centered (wrap text above and below image only)";
"image_dialog_align_right"="Right-aligned (wrap text to the left of image)";
"image_dialog_align_none"="Display image inline.";
"image_dialog_alt"="Text Alternative:";
"image_dialog_explanation1"="PSD, PDF and TIFF files will be converted to PNGs.";
"image_dialog_explanation2"="QuickTime Movies and audio files can be embedded here.";
"image_dialog_explanation3"="Upload a ZIP file to insert several media files at once.";
"image_dialog_ok"="Insert";
"image_settings_dialog_header"="Image Settings";
"image_dialog_delete"="Delete.";
"image_settings_dialog_ok"="Apply";
"image_thumbnail_caption"="Click for full-size image";
"image_invalid_error"="The file you’re trying to insert is not a valid image. If you wish to attach the file, use the Attach button in the toolbar.";
"image_dragdrop_error"="Local media cannot be pasted or dragged into the editor. Please use the “Insert Media” button in the toolbar.";
"image_upload_progress"="Uploading media…";
"attach_dialog_header"="Attach File";
"attach_dialog_file"="File:";
"attach_dialog_ok"="Attach";
"attach_confirm"="File “%(filename)s” attached.";
"attach_alt"="Download file: %(filename)s";
"attach_upload_error"="There was an error uploading the file. Please try again.";
"attach_upload_nofile_error"="No file was selected to upload.";
"attach_upload_toobig_error"="The file you selected is too large (maximum file size is %(maxFileSize)s).";
"attach_noauth_error"="Please log in before uploading files.";
"attach_upload_progress"="Uploading attachment…";
"table_dialog_use_editor"="It appears this table has not been edited before. Would you like to use the wiki table editor?";
"table_dialog_delete"="Delete Table";
"table_dialog_addcol"="Add Column";
"table_dialog_addrow"="Add Row";
"table_dialog_delcol"="Delete Column";
"table_dialog_delrow"="Delete Row";
"table_dialog_ok"="OK";
"table_dialog_header"="Table";
"table_dialog_row_header_add"="Enable Header Row";
"table_dialog_row_header_del"="Disable Header Row";
"table_dialog_col_header_add"="Enable Header Column";
"table_dialog_col_header_del"="Disable Header Column";
"table_cell"="Cell";
"comment_add_progress"="Adding comment…";
"comment_added_message"="Comment added.";
"comment_delete_progress"="Deleting comment…";
"comment_deleted_message"="Comment deleted.";
"comment_approve_progress"="Approving comment…";
"comment_approved_message"="Comment approved.";
"comment_form_author"="Enter name or ";
"comment_form_login"="log in.";
"comment_form_subject"="Subject";
"comment_form_body"="Comment";
"comment_form_show"="Add a new comment.";
"comment_form_submit"="Save comment";
"comment_form_cancel"="Cancel";
"comment_by"=" by ";
"comment_delete"="Delete comment: ";
"comment_approve_link"="Approve comment: ";
"comment_moderated"="This comment will not be displayed to others until it has been approved by a moderator.";
"comment_delete_confirm_pre"="Are you sure you want to delete the comment by ";
"comment_delete_confirm_post"="? This cannot be undone.";
"unauthenticated"=" (unauthenticated)";
"back"="Back";
"forward"="Forward";
"previous"="Previous";
"next"="Next";
"go_to_page"="Skip to a specific page.";
"up_to_blog"="View all blog entries.";
"up_to_mail"="View all mail messages.";
"search_summary"="Search Summary";
"directory_all"="All";
"directory_people"="People";
"directory_groups"="Groups";
"directory_locations"="Locations";
"directory_resources"="Resources";
"directory_no_display_name"="No display name.";
"directory_progress_search"="Searching…";
"directory_no_results"="No search results.";
"directory_progress_loading"="Searching…";
"directory_tabs_contact"="Contact";
"directory_tabs_relationships"="Organization";
"directory_tabs_groups"="Groups";
"directory_tabs_info"="Details";
"directory_tabs_members"="Members";
"directory_attr_mainPhone"="Phone";
"directory_attr_mainMobile"="Mobile Phone";
"directory_attr_mainEmail"="Email";
"directory_attr_mainAIMHandle"="AIM";
"directory_attr_mainJabberHandle"="Jabber";
"directory_attr_mainYahooHandle"="Yahoo";
"directory_attr_mainICQHandle"="ICQ";
"directory_attr_mainMSNHandle"="MSN"; 
"directory_attr_addresses"="Address";
"directory_attr_owner"="Owner";
"directory_attr_contact"="Contact";
"directory_attr_supervisor"="Supervisor";
"directory_attr_subordinates"="Subordinates";
"directory_attr_groups"="Groups";
"directory_attr_members"="Members";
"directory_attr_comments"="Comments";

/* namespace: dateFormats */
/* PHP-style date formats; see http://us2.php.net/date */
"dateFormats_calendarDayHeader"="l, M j";
"dateFormats_hour"="g a";
"dateFormats_hourAndMinutes"="g:i a";
"dateFormats_mediumDateAndShortTime"="M j, Y g:i a";
"dateFormats_longDateAndShortTime"="l, M j, Y g:i a";
"dateFormats_longDateAndLongTime"="l, M j, Y g:i:s a";
"dateFormats_mediumDate"="M j, Y";
"dateFormats_monthAndYear"="M, Y";
"dateFormats_longMonthAndYear"="F, Y";

/* namespace: durationFormats */
"durationFormats_mainFormat"="%(daysString)s %(hoursString)s %(and)s %(minutesString)s"
"durationFormats_and"="and";
"durationFormats_minutesFormat"="%(minutes)i %(pluralString)s";
"durationFormats_minutes"="minutes";
"durationFormats_minute"="minute";
"durationFormats_hoursFormat"="%(hours)i %(pluralString)s";
"durationFormats_hours"="hours";
"durationFormats_hour"="hour";
"durationFormats_daysFormat"="%(days)i %(pluralString)s";
"durationFormats_days"="days";
"durationFormats_day"="day";

/* namespace: addressFormats */
/* 
addressFormats_locality
Reorder "CountryCode Locality Region PostalCode" to match preferred order.
Note: Each of these is optional.
Note: CountryCode is not CountryName; it is usually an optional prefix to the PostalCode. See Finland examples below.
Note: Locality usually refers to City, Town, Parish, County, etc.
Note: Region usually refers to State, Province, Prefecture, etc.
Examples: 
USA       "Locality Region PostalCode"      matches "Austin Texas 78701"
France    "PostalCode Locality"             matches "14390 Cabourg"
Finland   "PostalCode Locality"             matches "00630 Helsinki"
Finland   "CountryCode PostalCode Locality" matches "FIN-00630 Helsinki" (with optional CountryCode)
India     "Locality PostalCode"             matches "New Delhi 110034"
Japan     "Locality Region PostalCode"      matches "Sapporo Hokkaido 060"
*/
"addressFormats_locality"="Locality Region PostalCode";

/* namespace: tooltips */
"tooltips_search_button"="Search";
"tooltips_history_link"="View Document History";
"tooltips_history_cancel"="Hide Document History";
"tooltips_date_picker_widget_choose"="Start Date";
"tooltips_edit_button"="Edit this page";
"tooltips_edit_button_tags"="Edit this group's tags";
"tooltips_edit_button_user"="Edit the settings for this blog";
"tooltips_edit_button_weblog"="Edit this blog entry";
"tooltips_edit_button_calendar"="Edit this calendar event";
"tooltips_add_button"="Create a new page";
"tooltips_add_button_weblog"="Create a new blog entry";
"tooltips_add_button_calendar"="Create a new calendar event";
"tooltips_remove_button"="Delete this page";
"tooltips_remove_button_weblog"="Delete this blog entry";
"tooltips_remove_button_calendar"="Delete this calendar event";
"tooltips_header_button"="Choose a paragraph style";
"tooltips_forecolor_button"="Choose a text style";
"tooltips_createlink_button"="Create or edit a link";
"tooltips_attach_button"="Attach a file";
"tooltips_image_button"="Insert images, audio, or QuickTime movies";
"tooltips_table_button"="Insert a table";
"tooltips_lists_button"="Choose a list style";
"tooltips_html_button"="Edit HTML";
"tooltips_cancel_button"="Revert to saved version";
"tooltips_done_button"="Save changes";
"tooltips_week_button"="View one week at a time";
"tooltips_month_button"="View an entire month";
"tooltips_prev_button"="Previous";
"tooltips_prev_button_month"="View the previous month";
"tooltips_prev_button_week"="View the previous week";
"tooltips_prev_button_page"="View the previous %(count)s entries";
"tooltips_prev_button_weblog"="View the previous blog entry";
"tooltips_prev_button_mail"="View the previous mail message";
"tooltips_next_button"="Next";
"tooltips_next_button_month"="View the next month";
"tooltips_next_button_week"="View the next week";
"tooltips_next_button_page"="View the next %(count)s entries";
"tooltips_next_button_weblog"="View the next blog entry";
"tooltips_next_button_mail"="View the next mail message";
"tooltips_up_blog"="Return to list of recent weblog entries";
"tooltips_up_mail"="Return to list of recent mail messages";
"tooltips_current_button"="Go to today";
"tooltips_image_dialog_delete" ="Delete image";

/* namespace: months */
"months_Jan"="Jan";
"months_Feb"="Feb";
"months_Mar"="Mar";
"months_Apr"="Apr";
"months_May"="May";
"months_Jun"="Jun";
"months_Jul"="Jul";
"months_Aug"="Aug";
"months_Sep"="Sep";
"months_Oct"="Oct";
"months_Nov"="Nov";
"months_Dec"="Dec";

/* namespace: longMonths */
"longMonths_January"="January";
"longMonths_February"="February";
"longMonths_March"="March";
"longMonths_April"="April";
"longMonths_May"="May";
"longMonths_June"="June";
"longMonths_July"="July";
"longMonths_August"="August";
"longMonths_September"="September";
"longMonths_October"="October";
"longMonths_November"="November";
"longMonths_December"="December";

/* namespace: weekdays */
"weekdays_Sun"="Sun";
"weekdays_Mon"="Mon";
"weekdays_Tue"="Tue";
"weekdays_Wed"="Wed";
"weekdays_Thu"="Thu";
"weekdays_Fri"="Fri";
"weekdays_Sat"="Sat";
"weekdays_dash"="-";

/* namespace: shortWeekdays */
"shortWeekdays_Sun"="S";
"shortWeekdays_Mon"="M";
"shortWeekdays_Tue"="T";
"shortWeekdays_Wed"="W";
"shortWeekdays_Thu"="T";
"shortWeekdays_Fri"="F";
"shortWeekdays_Sat"="S";

/* namespace: longWeekdays */
"longWeekdays_Sun"="Sunday";
"longWeekdays_Mon"="Monday";
"longWeekdays_Tue"="Tuesday";
"longWeekdays_Wed"="Wednesday";
"longWeekdays_Thu"="Thursday";
"longWeekdays_Fri"="Friday";
"longWeekdays_Sat"="Saturday";

/* namespace: ampm */
"ampm_am"="AM";
"ampm_pm"="PM";

/* namespace: toolbar_buttons */
"toolbar_buttons_header_button"="Block Style";
"toolbar_buttons_lists_button"="Lists";
"toolbar_buttons_image_button"="Insert Image";
"toolbar_buttons_table_button"="Insert Table";
"toolbar_buttons_createlink_button"="Link";
"toolbar_buttons_attach_button"="Attach file";
"toolbar_buttons_image_button"="Insert image";
"toolbar_buttons_table_button"="Insert table";
"toolbar_buttons_html_button"="Edit HTML";
"toolbar_buttons_cancel_button"="Cancel";
"toolbar_buttons_done_button"="Save";

/* namespace: wysiwyg_header_popup */
"wysiwyg_header_popup_p"="Paragraph";
"wysiwyg_header_popup_h1"="Header 1";
"wysiwyg_header_popup_h2"="Header 2";
"wysiwyg_header_popup_h3"="Header 3";
"wysiwyg_header_popup_h4"="Header 4";
"wysiwyg_header_popup_h5"="Header 5";
"wysiwyg_header_popup_pre"="Monospace";
"wysiwyg_header_popup_blockquote"="Block Quote";

/* namespace: wysiwyg_lists_popup */
"wysiwyg_lists_popup_none"="None";
"wysiwyg_lists_popup_insertunorderedlist"="Bullets";
"wysiwyg_lists_popup_insertorderedlist"="Ordered";
"wysiwyg_lists_popup_outdent"="Outdent List";
"wysiwyg_lists_popup_indent"="Indent List";

/* namespace: wysiwyg_forecolor_popup */
"wysiwyg_forecolor_popup_color_none"="Plain";
"wysiwyg_forecolor_popup_bold"="Bold";
"wysiwyg_forecolor_popup_italic"="Italic";
"wysiwyg_forecolor_popup_underline"="Underline";
"wysiwyg_forecolor_popup_forecolor_important"="Important";
"wysiwyg_forecolor_popup_forecolor_emphasis"="Emphasis";
"wysiwyg_forecolor_popup_backcolor_highlight"="Highlight";

/* namespace: link_manager_popup */
"link_manager_popup_newpage"="New Page…";
"link_manager_popup_recents"="Recent Pages";
"link_manager_popup_related"="Related Pages";
"link_manager_popup_search"="Search…";
"link_manager_popup_other"="Enter URL…";
"link_manager_popup_unlink"="Unlink";

/* namespace: historyTableHeaders */
"historyTableHeaders_revision"="#";
"historyTableHeaders_lastModifiedBy"="Author";
"historyTableHeaders_comment"="Comment";
"historyTableHeaders_time"="Time";

/* Theme names */
"themes_Apple_Default_Theme"="Apple Default Theme";
"themes_Horizon"="Horizon";
"themes_Horizon_Blue"="Horizon Blue";
"themes_Horizon_Blue_Cityscape"="Horizon Blue Cityscape";
"themes_Horizon_red"="Horizon Red";
"themes_Horizon_red_sunset"="Horizon Red Sunset";
"themes_Horizon_green"="Horizon Green";
"themes_Horizon_green_forest"="Horizon Green Forest";
"themes_Obsidian"="Obsidian";
"themes_Obsidian_molecule"="Obsidian Molecule";
"themes_Obsidian_camera"="Obsidian Camera";
"themes_Blueprint"="Blueprint";
"themes_Blueprint_default"="Blueprint";
"themes_Blueprint_sound_board"="Blueprint Sound Board";
"themes_Block_office"="Block Office";
"themes_Block_books"="Block Books";
"themes_Float"="Float";
"themes_Float_audio"="Float Audio";
"themes_Float_binder"="Float Binder";
"themes_Sunlight"="Sunlight";



default.strings
/* The %(someName)s is a substitution variable */

"%(author)s:Added tag - %(tag)s"="%(author)s added tag: %(tag)s";
"%(author)s:Removed tag - %(tag)s"="%(author)s removed tag: %(tag)s";
"unknown:Updated tags"="unknown:Updated tags";
"Minor edit"="Minor edit";
"unknown"="unknown";
"unknown:Removed"="unknown:Removed";
"unknown:Un-removed"="unknown:Un-removed";

/* Server Home */
"serverhome_disabled_groups" = "Group Wikis and Blogs are currently disabled. Use Server Preferences or Server Admin to enable this service.";
"serverhome_disabled_userblogs" = "User blogs are currently disabled. Use Server Preferences or Server Admin to enable this service.";
"serverhome_sidebar_groups" = "The Groups wiki, blog, calendar, and mailing list archive make it easy for teams to create and distribute information through their own shared websites. Distribute files, publish podcasts, and share calendars right from your web browser, naturally, using formatting and commands you already know.";
"serverhome_sidebar_userblogs" = "Publish your own blog, with drag-and-drop ease, using the built-in professional templates. Keep your colleagues up-to-date with projects, the files you’re working on, and pictures or podcasts. Your searchable blog is the perfect place to store information for your team, or just for your own reference.";

/* Header */
"Browse"="Browse";

/* Footer */
"Recent Changes"="Recent Changes";
"Logout"="Log Out";
"Login"="Log In";
"Help"="Help";

/* Search Page */
"See all %(tagCount)i..."="See all %(tagCount)i…";
"by %(authorDisplayName)s"="by %(authorDisplayName)s";

/* Metadata */
"link_other_text"="Link Text";
"unauthenticated"=" (unauthenticated)";
"%(time)s by %(authorDisplayName)s…"="%(time)s by %(authorDisplayName)s…";
"%(time)s by %(authorDisplayName)s… (unauthenticated)"="%(time)s by %(authorDisplayName)s… (unauthenticated)";
"comment"="comment";
"comments"="comments";
"comment_by"=" by ";
"Delete comment: %(subject)s"="Delete comment: %(subject)s";
"History"="History";
"rss"="RSS";

/* Comments */
"comment_moderated"="This comment will not be displayed to others until it has been approved by a moderator.";
"comment_approve_link"="Approve comment: ";
"comment_delete"="Delete comment: ";
"Moderate comments"="Moderate comments";

/* Tags */
"Tags"="Tags";
"Tags:"="Tags:";
"Filter by Tag"="Filter by Tag";

/* Search */
"Search Summary"="Search Summary";
"Your search %(query)s%(fieldsString)s%(betweenDates)s returned %(howMany)i %(resultsString)s."="Your search %(query)s%(fieldsString)s%(betweenDates)s returned %(howMany)i %(resultsString)s.";
" between %(from)s and %(to)s"=" between %(from)s and %(to)s";
" in %(field)s"=" in %(field)s";
" after %(from)s"=" after %(from)s";
" before %(to)s"=" before %(to)s";
"for \"%(query)s\""="for \"%(query)s\"";

/* fields */
"lastModifiedAuthor"="last author";
"author"="original author";
"title"="page title";
"content"="page content";
"createdDate"="date created";
"modifiedDate"="date last modified";
"result"="result";
"results"="results";
"everything"="everything";
"Search"="Search";
"No entries."="No entries.";

/* Blog */
"Display"="Display";
"Filter by Date"="Filter by Date";

/* Calendar */
"Calendar:"="Calendar:";
"Start Time:"="Start Time:";
"Duration:"="Duration:";
"Location:"="Location:";
"Description:"="Notes:";
"Week"="Week";
"Month"="Month";

/* Podcast */
"Podcasts are not enabled for this weblog."="Podcasts are not enabled for this weblog.";
"Subscribe to this podcast in iTunes."="Subscribe to this podcast in iTunes.";
"Subscribe in iTunes"="Subscribe in iTunes";
"Podcast"="Podcast";

/* Help related strings */
"No help files in that language"="No help files in that language";
"No such item in help"="No such item in help";

/* nav strings */
"wiki"="wiki";
"weblog"="blog";
"webcalendar"="calendar";
"webmailinglist"="mail";
"webmail"="webmail";
"Directory"="Directory";
"Recent Changes"="Recent Changes";
"Logout"="Log Out";
"Login"="Log In";
"Help"="Help";
"Other Wikis"="Other Wikis";
"Other Blogs"="Other Blogs";

/* Default Sidebars */
"What’s Hot"="What’s Hot";
"What’s New"="What’s New";
"What's Hot"="What’s Hot";
"What's New"="What’s New";
"Recent Changes"="Recent Changes";
"Popular Pages"="Popular Pages";
"Upcoming Events"="Upcoming Events";
"No upcoming events."="No upcoming events.";
"No recent changes."="No recent changes.";
"No items tagged with %(tagName)s."="No items tagged with %(tagName)s.";
"No items."="No items."; /* (default fallback for custom sidebar searches) */
"Settings"="Settings";
"Settings for this site"="Settings for this site";
"Deleted wiki pages"="Deleted wiki pages";
"All pages not permanently deleted"="All pages not permanently deleted";
"Admin functions"="Admin functions";


/* Duration */
/* duration strings use these substitutions to return stuff like: "1 day 2 hours and 15 minutes" or "2 days" or "15 minutes" or "1 hour and 30 minutes" */
"%(daysString)s %(hoursString)s %(and)s %(minutesString)s"="%(daysString)s %(hoursString)s %(and)s %(minutesString)s"
"and"="and";
"%(minutes)i %(pluralString)s"="%(minutes)i %(pluralString)s";
"minutes"="minutes";
"minute"="minute";
"%(hours)i %(pluralString)s"="%(hours)i %(pluralString)s";
"hours"="hours";
"hour"="hour";
"%(days)i %(pluralString)s"="%(days)i %(pluralString)s";
"days"="days";
"day"="day";

/*"%(dayString) at %(dateTimeString)" is used for strings like:
    yesterday at 5:12PM
    today at 5:12AM
    tomorrow at 5:12PM
*/
"%(dayString)s at %(dateTimeString)s"="%(dayString)s at %(dateTimeString)s"

/* Unedited page localizations */
"This is placeholder text for your new wiki page. Replace it with your own."="This is placeholder text for your new wiki page. Replace it with your own.";
"This is placeholder text for your new blog entry. Replace it with your own."="This is placeholder text for your new blog entry. Replace it with your own.";
"Welcome to your wiki.<ul><li>To create a new page, click the New Page (+) button.</li><li>To edit a page, click the Edit (pencil) button.</li><li>To change wiki settings, log in as a group owner or administrator, click Settings, then click the Edit (pencil) button.</li></ul>For more information about using the wiki, click Help at the bottom of the page."="Welcome to your wiki.<ul><li>To create a new page, click the New Page (+) button.</li><li>To edit a page, click the Edit (pencil) button.</li><li>To change wiki settings, log in as a group owner or administrator, click Settings, then click the Edit (pencil) button.</li></ul>For more information about using the wiki, click Help at the bottom of the page.";
"This is placeholder text for your new podcast entry. Replace it with your own."="This is placeholder text for your new podcast entry. Replace it with your own.";

/* These are important */
"Image"="Image";
"Attachment"="Attachment";
"An error occured"="An error occured";
"Unimplemented method"="Unimplemented method";
"Calendar Server returned error"="Calendar Server returned error";
"No calendar entry at that path"="No calendar entry at that path";
"Not valid atom xml in body"="Not valid atom xml in body";
"Could not create the new entry: %(title)s"="Could not create the new entry: %(title)s";
"Page doesn't exist: %(uid)s"="Page doesn’t exist: %(uid)s";
"Trying to access a deleted page"="Trying to access a deleted page";
"Problem saving the page %(uid)s: %(error)s"="Problem saving the page %(uid)s: %(error)s";
"Content updated"="Content updated";
"File not found"="File not found";
"Groups services not enabled for this server"="Groups services not enabled for this server";
"Users services not enabled for this server"="Users services not enabled for this server";
"Web Directory not enabled for this server"="Web Directory not enabled for this server";
"This is a feed of pages for %(groupTitle)s"="This is a feed of pages for %(groupTitle)s";
"No group with that name (%(groupName)s) hosted on this server"="No group with that name (%(groupName)s) hosted on this server";
"Service disabled for this path"="Service disabled for this path";
"No service of that name (%(serviceName)s)"="No service of that name (%(serviceName)s)";
"You are not allowed to access this service"="You are not allowed to access this service";
"This is a feed of revisions for %(title)s"="This is a feed of revisions for %(title)s";
"User is not allowed a Weblog"="User is not allowed a Weblog";
"Service is not enabled for this path"="Service is not enabled for this path";
"No entries for the discussion"="No entries for the discussion";
"Bad request on wiki root: %(method)s"="Bad request on wiki root: %(method)s";
"Trying to access a path beyond the weblog-post is not allowed"="Trying to access a path beyond the weblog-post is not allowed";
"Type and Request do not match: (%s, %s)"="Type and Request do not match: (%s, %s)";
"No available %(userType)s."="No available %(userType)s.";
"groups"="groups";
"users"="users";
"Mac OS X Server"="Mac OS X Server";
"Available Groups"="Available Groups";
"Available Group Wikis"="Available Group Wikis";
"Available User Blogs"="Available User Blogs";
"This is a podcast for %(groupTitle)s"="This is a podcast for %(groupTitle)s";
"Please Log In"="Please Log In";
"Search Results"="Search Results";
"deleteExplanation"="This page has been deleted.";
"undelete"="Undelete page";
"Bad duration type"="Bad duration type";
"Yes"="Yes";
"No"="No";
"Enabled"="Enabled";
"Disabled"="Disabled";
"None"="None";

/* Stuff I found lying around */
"Mac OS X Server"="Mac OS X Server";
"&copy; Apple Inc."="&copy; Apple Inc.";
"Groups"= "Groups";
"Users"="Users";
"Directory"="Directory";
"Webmail"="Webmail";

/* Help Sidebar items */
"Quick Searches"="Quick Searches";
"Wiki"="Wiki";
"Blog"="Blog";
"Calendar"="Calendar";
"Mailing List"="Mailing List";

/* Web Directory */
"Groups"="Groups"
"Users"="Users"
"Webmail"="Webmail"

"directoryAll"="All";
"directoryPeople"="People";
"directoryGroups"="Groups";
"directoryLocations"="Locations";
"directoryResources"="Resources";

/* Settings page */
"settings_comment_moderation_label"="Comment moderation:";
"General"="General";
"Theme"="Theme";
"Themes"="Themes";
"Banner Image:"="Banner Image:";
"Banner image width:"="Banner image width:";
"Banner image height:"="Banner image height:";
"Custom banner:"="Custom banner:";
"Default"="Default";
"Current Image"="Current Image";
"Upload New…"="Upload New…";
"Default banner image"="Default banner image";
"No Banner Image"="No banner image";
"Custom Sidebar"="Custom Sidebar";
"Access Control"="Access Control";
"Readers:"="Readers:";
"settings_acl_anyone"="Anyone";
"settings_acl_authenticated"="Authenticated users";
"settings_acl_list"="Specific users";
"Comments"="Comments";
"Commenters:"="Commenters:";
"Moderation:"="Moderation:";
2008/10/27 19:29 2008/10/27 19:29

댓글을 달아 주세요

  1. 당췌~ 뭘 어떻게 하라는게야???? 음.....그냥 복사해? 같다 붙여?? 응??

    logust
[로그인][오픈아이디란?]

음...
제가 서버를 매우 디테일하게 설정할 수 없을거라는 상상은 누구나 하실 겁니다.
그리고 안타깝게도 인정할 수 밖에 없는 상황입니다.
^^

이런 상황에서 목표를 정확하게 설정하지 않으면 계속되는 테스트와 오류... 그리고 포맷과 재설정의 쳇바퀴에서 벗어나지 못하게 되리라는건 매우 뻔해 보입니다.

만약에 저처럼 서버 설정과 관련해 식견을 가지지 못한 분이라면 이 서버를 이용해 무엇을 할 것인가를 정확하게 설정하는 것이 매우 중요해 집니다.

식견이 있는 분이라면 제품의 사양을 보는 순간 매우 빠르게 머릿속에서 정리가 될 것이니 그다지 필요없는 절차일 수도 있겠지만 어디까지나 저처럼 잘 알지 못하는 사람이라면 이런 형태의 서버 구성 계획을 세우는 것이 매우 중요하다고 할 수 있겠습니다.

Mac OS X Server 매뉴얼의 첫부분에도 이점을 매우 중요하게 강조하고 있는 상태입니다.

대략 모형의 설계도와 같은 기분으로 서버 설정을 어떻게 할 것인지를 꼬옥 한번은 고민한 이후에 셋팅을 시작하시기 바랍니다.

설정 작업을 하다 보면 이런 도면이 저절로 그려지기도 하겠지만 서비스 내용의 목표를 설정하는 것은 설정 초기에 아무리 강조해도 지나치지 않을 것 같습니다.

사용자 삽입 이미지



2008/08/24 23:00 2008/08/24 23:00

댓글을 달아 주세요

  1. 일반적인 마인드맵 툴로 그려본 건데 아무래도 상호연관성이라는 측면을 표현하기에는 한계가 있군요.
    CMapTool 을 이용해서 다시 그려야겠습니다.

[로그인][오픈아이디란?]

이전에 포스팅한 글에서 Mac OS X 에 내장되어 있는 원격 접속으로도 서버의 컨트롤이 가능하다고 했었습니다.

하지만 이 방식은 전체 화면을 전송받고 컨트롤하는 방식이기에 Mac OS 전체의 환경을 설정하는 것이 아니라 서버의 셋팅값만 확인하거나 데몬을 재시동하기에는 조금 불편한 감이 있습니다.

Mac OS X Server 를 보면 DVD 두장이 들어있는데 한장은 Server OS 를 설치하는 것이고, 다른 한장에는 Administration Tools 라는 것이 들어 있습니다.

이 Administration Tools 는 서버가 아닌 다른 Mac OS X 에 응용 프로그램을 설치해서 서버에 접속, 관리할 수 있는 패키지입니다.

설치하게 되면 응용프로그램 폴더 아래에 이런 프로그램들이 보이게 됩니다.

프로그램 각각에 대해서는 할 얘기가 많은 관계로 천천히 풀어봅시다.
사용자 삽입 이미지

어쨌거나 가장 간단한 Server Preferences (Standard Setting) 을 실행시키면 서버의 주소, 사용자 이름 (어드민 권한), 비밀 번호를 물어보고 이 셋팅을 키체인에 기록할 것인지 물어 봅니다.
사용자 삽입 이미지

무사히 접속하고 나면 상단에 어떤 서버에 접속했는지와 함께 서버 환경 설정 화면이 그대로 나타나게 됩니다.
사용자 삽입 이미지

다른 툴들도 서버에서 직접 실행시키는 것과 동일하게 컨트롤 가능합니다.

저같은 경우에는 서버를 재시동한다거나 하는 OS 자체의 작업을 해야 할 경우에는 원격 접속을...
서버의 환경 설정만을 바꿀 때에는 Administration Tool 을 사용하는 것이 편하더군요.

Unix Command Line 을 통해서도 접속해서 컨트롤 가능하다지만 그런 부분은 저와는 너무 거리가 먼 관계로 패스 했습니다.

그리고 ACLs 처럼 일반 유닉스의 퍼미션 개념보다 훨씬 복잡해져버린 상황에서 간단한 chmod 명령어도 제대로 활용할 수가 없어 곤란해하고 있다가, Server Admin 에서의 퍼미션 변경 기능을 보고 굳이 Command Line 을 사용할 필요가 없겠다고도 느끼고 있습니다.

그럼 다음부터는 이 프로그램 하나 하나를 살펴보도록 하지요.
2008/08/24 23:00 2008/08/24 23:00

댓글을 달아 주세요

[로그인][오픈아이디란?]

Apple 의 Mac OS X 에는 원격으로 접속해서 컨트롤 할 수 있는 기능이 내장되어 있습니다.

제가 이 기능을 처음 접했던 것은 꽤나 오래전에 (대략 4~5년 전쯤) Timbuktu 라는 유틸리티를 통해서였는데 팀북투는 서로 다른 이기종의 컴퓨터들끼리 컨트롤이 가능하다는 장점이 매우 인상적인 제품이었습니다. (여튼 이것도 마이너 아이템일 뿐입니다. ㅠㅠ)

현재 집에서 회사에 있는 서버에 접속해서 스크린 캡쳐를 받았는데 대략 아래 그림과 같습니다.

원격으로 접속하면 로그인 화면부터 시작합니다.
물론 회사에서 로그인한 상태로 두고 퇴근을 했더라면 바로 그 화면부터 시작하겠지만 서버라는 녀석이 딱히 뭔가 화면을 보면서 하는 작업이 아닌 관계로 관리자 계정은 로그오프해 두기 마련입니다.
사용자 삽입 이미지

로그인을 하게 되면 Mac OS X Leopard 와 동일한 화면이 펼쳐집니다.
OS X 이라는 점 때문에 동일한 환경에 그다지 신기해 보일 것이 없는 것 같은 첫 인상입니다만 여기까지 오는 과정에서는 OS 를 처음 설치하고 나서 진행되는 몇가지 환경 설정 내용에서부터 서버임을 확연하게 구분할 수 있을 겁니다. (OS 인스톨 과정에서는 캡쳐를 할 수 없으므로 대략 패스)

그래도 화면 아랫쪽에 있는 System Preference 좌측에 있는 생소한 아이콘 3개를 눈여겨 봐 주시기 바랍니다.
저 3가지 아이콘이 서버의 설정을 쉽게... 그리고 아주 디테일하게 할 수 있는 프로그램들입니다.
사용자 삽입 이미지

3가지중에서 첫번째에 해당하는 Server Preference (Standard Setting) 화면입니다.
대략 10여가지의 아이콘으로 구성된 기능 설정이 있는데 기능 설정 내용은 On/Off 정도만 설정하게 되면 기능이 바로 작동하게 되는 구조이므로 그야말로 '컴맹도 서버 운영할 수 있다' 버전의 서버 설정 화면이라고 보시면 되겠습니다.

좀 더 자세한 내용은 차근 차근... 그리고 하나씩 껍질을 벗겨 보도록 하죠.
사용자 삽입 이미지

그리고 이 그림은 Server Admi (Advanced Setting) 의 화면입니다.
여기에서는 서버를 활용한 다양한 데몬들을 띄울 수 있고, 각각의 디테일한 설정을 할 수 있습니다.
(아직 서버 환경 설정이 마무리되지 않았으므로 서버 주소와 관련되는 부분은 가려 두었습니다. ^^)
사용자 삽입 이미지

여기에 Mac OS 를 이용해 제작한 콘텐츠들의 렌더링을 위해 iWork 08 과 iLife 08 까지는 설치해 두었습니다.
가능하다면 Final Cut Pro 를 설치해 두고 싶은데 우선은 서버 환경 설정을 하면서 네트워크 렌더링이나 CPU 를 빌려 쓸 수 있는 방법을 찾게 된다면 그 때 좀 더 구체적으로 고민해 보도록 하겠습니다.

참고로 Apple xServer 를 구입하기 전에 Mac Mini 를 구입해서 Mac OS X Leopard Server 를 설치하고 이런 저런 테스트를 진행했었고, 일부 업무에는 직접 투입해 작업 프로세스에 얼마나 도움이 될 수 있을 것인지에 대해서 테스트를 우선적으로 진행했었습니다.

Mac Mini 라는 가장 간단한 시스템에서도 필요한 작업은 충분히 할 수 있을 정도였으니 Mac OS X Leopard Server 가 얼마나 탄탄하게 구성되어 있는지 믿음이 가더군요.
2008/08/24 02:26 2008/08/24 02:26

댓글을 달아 주세요

[로그인][오픈아이디란?]