# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  The ASF licenses this file to You
# under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.  For additional information regarding
# copyright in this work, please see the NOTICE file in the top level
# directory of this distribution.
#
# To find unused strings, see <roller-trunk>/docs/examples/i18n/check-default-resource-file.py
# (Usage instructions given at the top of that script)
#
# When to use double-apostrophe for an apostrophe in resource strings?  If they're being rendered
# via Struts s:text or JSTL fmt:message *with* parameters -- see http://tinyurl.com/m5bqn2h
#
# -- Common terms used to reduce the number of strings that need translation.
generic.all=All
generic.none=None
generic.cancel=Cancel
generic.done=Done
generic.yes=Yes
generic.yesRemove=Yes Remove
generic.no=No
generic.name=Name
generic.description=Description
generic.action=Action
generic.save=Save
generic.rename=Rename
generic.edit=Edit
generic.delete=Delete
generic.tagline=Tagline
generic.error.check.logs=System error - check logs for more information.
generic.changes.saved=Changes saved
generic.toggle=Toggle
generic.success=Success
generic.looksGood=Looks good!

# ------------------------------------------------------------- BookmarkForm.jsp

bookmarkForm.add.title=Add New Bookmark
bookmarkForm.add.subtitle=Adding new bookmark in folder:
bookmarkForm.edit.title=Edit Bookmark
bookmarkForm.edit.subtitle=Editing bookmark in folder:
bookmarkForm.image=Image URL
bookmarkForm.rssUrl=Newsfeed URL
bookmarkForm.url=Bookmark URL
bookmarkForm.created=Bookmark "{0}" created
bookmarkForm.updated=Bookmark "{0}" updated
bookmarkForm.required=Name and Bookmark URL are required.
bookmarkForm.badUrls=These URLs are invalid:

bookmarkForm.requiredFields=Name and Bookmark URL are required.

# errors from validation
Bookmark.error.nameNull=Name is a required field
Bookmark.error.nameSize=Name cannot be more than 255 characters
Bookmark.error.descriptionSize=Description cannot be more than 255 characters
Bookmark.error.urlNull=Bookmark URL is a required field
Bookmark.error.urlBad=The URL you entered is not valid
Bookmark.error.imageBad=The image URL you entered is not valid
Bookmark.error.feedUrlBad=The feed URL you entered is not valid
bookmarkForm.error.duplicateName=Bookmark with that name already exists in folder


# ----------------------------------------------------------- BookmarksForm.jsp

bookmarksForm.root=root
bookmarksForm.rootTitle=Blogroll

bookmarksForm.subtitle=Manage blogrolls in weblog <span>{0}</span>

bookmarksForm.rootPrompt=This is your blog''s default blogroll. \
The links (also known as bookmarks) you keep here will appear in the blogroll section of your blog \
(assuming that you are using one of the default themes). You can create  additional blogrolls, \
but you will have to add corresponding blogroll display macros to your weblog''s templates \
if you wish to display their contents.

bookmarksForm.path=Blogroll
bookmarksForm.blogrollName=Blogroll name
bookmarksForm.switchTo=Switch to blogroll
bookmarksForm.deleteFolder=Delete current blogroll
bookmarksForm.newBlogroll=New blogroll...

bookmarksForm.addBookmark=Add blogroll link
bookmarksForm.addFolder=New blogroll
bookmarksForm.delete=Delete selected
bookmarksForm.delete.confirm=Confirm Selected Link Delete
bookmarksForm.delete.areYouSure=Are you sure you want to delete the selected blogroll links?
bookmarksForm.url=URL
bookmarksForm.feedurl=Newsfeed URL
bookmarksForm.folder=Blogroll
bookmarksForm.edit.tip=Click to modify this link
bookmarksForm.folder.edit.tip=Click to edit blogroll
bookmarksForm.move=Move selected to
bookmarksForm.move.confirm=Move selected link?
bookmarksForm.selectAllLabel=Select all links
bookmarksForm.selectOneLabel=Select blogroll named {0}
bookmarksForm.visitLink=Visit
bookmarksForm.visitLink.tip=Click to visit this site

bookmarksForm.error.move=Error performing move, parent to child moves not allowed
bookmarksForm.importBookmarks=Import Blogroll via OPML
bookmarksForm.noresults=There are currently no Blogroll links

bookmarksForm.addBlogroll.title=Add New Blogroll
bookmarksForm.editBlogroll.title=Edit Blogroll
bookmarksForm.blogroll.requiredFields=You must specify a blogroll name

blogrollDeleteOK.removeBlogroll=Confirm Blogroll Delete
blogrollDeleteOK.areYouSure=Are you sure you want to delete blogroll and all of its links?

# --------------------------------------------------------- Bookmarks import.jsp

bookmarksImport.title=Import OPML Bookmarks
bookmarksImport.subtitle=Import bookmarks in to weblog <span>{0}</span> via OPML
bookmarksImport.prompt=Upload a standard OPML file to your bookmark collection. \
The bookmarks will be imported into a new bookmark folder with the name \
imported-[timestamp]. You will then be able to edit them and move them to \
other bookmark folders if you wish.
bookmarksImport.imported=Imported OPML bookmarks into folder [{0}]
bookmarksImport.error=Error importing bookmarks: {0}
bookmarksImport.import=Import

# ----------------------------------------------------------------- cacheInfo.jsp

cacheInfo.title=Cache Information
cacheInfo.subtitle=Monitor cache statistics
cacheInfo.prompt=This page offers instrumentation data about what is happening \
in the system caches.
cacheInfo.clear=Clear

# -------------------------------------------------------------------- Calendars

calendar.summary=Blog Archive Calendar
calendar.prev=Prev
calendar.today=Today
calendar.next=Next
calendar.dateFormat=MMMM yyyy

# ------------------------------------------------------------- CategoryForm.jsp

categoryForm.edit.title=Edit Category
categoryForm.edit.subtitle=Editing category
categoryForm.add.title=Add Category
categoryForm.add.subtitle=Adding category
categoryForm.image=Image URL
categoryForm.created=Category  created
categoryForm.changesSaved=Category "{0}" updated
categoryForm.error.duplicateName=Category name already in use
categoryForm.removed=Category "{0}" deleted
categoryForm.requiredFields=Name is required.

# errors from validation
Category.error.nameNull=Name is a required field
Category.error.nameSize=Name cannot be more than 255 characters
Category.error.descriptionSize=Description cannot be more than 255 characters
Category.error.imageBad=The image URL you entered is not valid
categoriesForm.noresults=There are currently no categories


# ----------------------------------------------------------- CategoriesForm.jsp

categoriesForm.subtitle=Manage categories in weblog <span>{0}</span>
categoriesForm.root=root
categoriesForm.rootTitle=Categories
categoriesForm.rootPrompt=\
These are your top-level weblog categories. Roller requires at least one \
category to be defined. \
Categories are used to organize your weblog entries and your readers can \
choose to subscribe to separate feeds for each of your categories.
categoriesForm.addCategory=Add Category
categoriesForm.move=Move
categoriesForm.move.confirm=Move selected categories?
categoriesForm.remove=Remove
categoriesForm.imageUrl=Image URL
categoryForm.badURL=Image URL is invalid

# --------------------------------------------------------- CategoryDeleteOK.jsp

categoryDeleteOK.title=Delete Category
categoryDeleteOK.removeCategory=Delete Weblog Category
categoryDeleteOK.warningCatInUse=WARNING: This category is in use!
categoryDeleteOK.youMustMoveEntries=You must move the weblog entries in the \
category to another category, use the combo-box to select which category \
should receive the entries.</p>
categoryDeleteOK.moveToWhere=Move the contents to another category:
categoryDeleteOK.noEntriesInCat=There are no weblog entries in this category, \
OK to delete.
categoryDeleteOK.areYouSure=Are you sure you want to delete this weblog category?

# ----------------------------------------------------------------- comments.jsp

comments.title=Comment
comments.email=Email:
comments.header2=Comments:
comments.htmlenabled=Allowed
comments.disabled=Comments are closed for this entry.
comments.at=at

comments.mathAuthenticatorQuestion=Please answer this simple math question
# not translated
comments.ldapAuthenticatorUserName=Please provide your Active Directory Username.
comments.ldapAuthenticatorPassword=Please provide your Active Directory Password.
# end not translated!

error.commentAuthFailed=The response {0} is not correct.  Please try again.
error.commentPostFailedEmailAddress=The e-mail address is invalid.
error.commentPostFailedURL=The URL is invalid.

# -------------------------------------------------------- comment validators

comment.validator.excessLinksName=Excess Links Comment Validator
comment.validator.excessLinksMessage=Comment has more than {0} links

comment.validator.excessSizeName=Excess Size Comment Validator
comment.validator.excessSizeMessage=Comment has more than {0} characters

comment.validator.blacklistName=Blacklist Comment Validator
comment.validator.blacklistMessage=Comment contains blacklisted/ignored words

comment.validator.trackbackLinkbackName=Trackback Linkback Comment Validator
comment.validator.trackbackLinkbackMessage=Trackback from site/page that does not link to your weblog entry

comment.validator.akismetName=Akismet Comment Validator
comment.validator.akismetMessage=Akismet service (akismet.com) says comment is spam

# ---------------------------------------------------------- Comment management

commentManagement.title=Comment Management
commentManagement.subtitle=Manage comments across all weblogs in system
commentManagement.entry.subtitle=Manage comments for entry titled <span>{0}</span>
commentManagement.website.subtitle=Manage comments in weblog <span>{0}</span>

commentManagement.tip=You have comments. \
You can change approval, spam status and delete comments via the checkboxes below. \
If you make any changes, be sure to save them by clicking the \
<em>Save changes</em> at the bottom of the page.

commentManagement.globalTip=As a global administrator \
you can change spam status and delete comments via the checkboxes below. \
You cannot change pending and approved status here, so you won''t interfere \
with anybody''s comment approval workflow. If you make any changes, be sure to \
save them by clicking the <em>Save changes</em> at the bottom of the page.

commentManagement.nowShowing=Displaying <b>{0}</b> comments
commentManagement.noCommentsFound=No comments found

commentManagement.pending=Pending
commentManagement.spam=Spam

commentManagement.next=Next page
commentManagement.prev=Previous page
commentManagement.query=Filter
commentManagement.endDate=End date
commentManagement.startDate=Start date

commentManagement.bulkDeletePrompt1=Your query matched {0} comments, 
commentManagement.bulkDeletePrompt2=delete them all?
commentManagement.confirmBulkDelete=Are you sure you want to delete all {0} selected by your query?
commentManagement.lookupError=Error looking up comments
commentManagement.deleteSuccess=Successfully deleted {0} comments
commentManagement.deleteError=Bulk delete failed due to unexpected error

commentManagement.pendingStatus=Pending status
commentManagement.onlyPending=Pending only
commentManagement.onlyApproved=Approved only
commentManagement.onlyDisapproved=Disapproved only
commentManagement.onlySpam=Spam only

commentManagement.columnApproved=Approved
commentManagement.columnSpam=Spam
commentManagement.columnComment=Comment
commentManagement.update=Save changes
commentManagement.updateSuccess=Successfully updated comments
commentManagement.updateError=Error updating comments
commentManagement.searchString=Search string
commentManagement.sidebarTitle=Filter comments
commentManagement.sidebarDescription=Filter comments by search string, status, and/or date

commentManagement.commentBy=Posted by
commentManagement.commentByURL=Posted url
commentManagement.commentByBoth={0} (<a href="mailto:{1}">{2}</a>) from IP address {3}
commentManagement.commentByName={0} from IP address {1}
commentManagement.commentByIP=User from IP address {0}
commentManagement.postTime=Posted at
commentManagement.entryTitled=Regarding

commentManagement.select=Select
commentManagement.readmore=View Entire Comment

commentManagement.saveError=Error saving comment

commentManagement.date.toStringFormat={0,date,MM/dd/yy hh:mm a}

# -------------------------------------------------------------- CommentServlet

commentServlet.commentAccepted=Your comment has been accepted.
commentServlet.commentMarkedAsSpam=Your comment was marked as spam and will not be displayed.
commentServlet.submittedToModerator=Your comment has been submitted to the moderator for approval.
commentServlet.previewCommentOnly=This is a comment preview only

commentServlet.email.thereAreSystemMessages=Messages from the Roller system:
commentServlet.email.thereAreErrorMessages=This comment failed validation for these reasons:

# --------------------------------------------------------------- Configuration

configForm.title=Roller Configuration
configForm.subtitle=Change site-wide configuration settings.
configForm.prompt=<p>Make the changes you wish and then use the <b>Save</b> button below. \
Changes you make here apply to the entire site.<p> \
<p>Note that there is also a Roller configuration file that contains additional settings. \
Talk to your systems administrator or refer to the Roller documentation for more information.</p>

configForm.siteSettings=Site Settings
configForm.siteName=Site Name (for main page and RSS feed)
configForm.shortName=Short name (shown in site banner)
configForm.siteDescription=Site Description (for main page and RSS feed)
configForm.frontpageWeblogHandle=Weblog to serve as frontpage blog
configForm.frontpageWeblogAggregated=Enable aggregated site-wide frontpage
configForm.siteAdminEmail=Site Administrator''s email address
configForm.absoluteUrl=Absolute URL to site (if required)
configForm.suspendPingProcessing=Suspend all ping processing?
configForm.allowUserWeblogCreation=Allow users to create new weblogs?
configForm.none=None specified

configForm.userSettings=User Settings
configForm.requireEmailActivation=Require new users to activate accounts via email
configForm.allowNewUsers=Allow New Users?
configForm.registrationUrl=Registration URL override (optional)
configForm.editorPages=Editor Pages

configForm.webServicesSettings=Web Services Settings
configForm.enableAtomPub=Enable Atom Publishing Protocol
configForm.AtomPubAuth=AtomPub authentication (basic, oauth, or wsse)
configForm.enableXmlRpc=Enable Blogger / MetaWeblog API

configForm.weblogSettings=Weblog Rendering Settings
configForm.pageMaxEntries=Max number of entries to allow per page
configForm.newsfeedMaxEntries=Number of entries to provide in feeds
configForm.styledFeeds=Display styled feeds for browsers

configForm.commentSettings=Comment and Trackback Settings
configForm.enableComments=Allow weblog comments?
configForm.ignoreSpamComments=Don''t save comments thought to be spam
configForm.enableTrackbacks=Allow weblog trackbacks?
configForm.ignoreSpamTrackbacks=Don''t save trackbacks thought to be spam
configForm.commentHtmlAllowed=Allow html in comments?
configForm.commentPlugins=Enabled comment formatting plugins
configForm.emailComments=Allow email notification of comments?
configForm.moderationRequired=Require comment moderation for all weblogs
configForm.enableTrackbackValidation=Enable verification of trackback links?

configForm.fileUploadSettings=File Upload Settings
configForm.enableFileUploads=Enable File Uploads?
configForm.allowedExtensions=Allowed Extensions
configForm.forbiddenExtensions=Forbidden Extensions
configForm.maxFileSize=Max File Size (MB)
configForm.maxDirSize=Max Directory Size (MB)

configForm.themeSettings=Theme Settings
configForm.newUserThemes=Themes Directory
configForm.allowCustomTheme=Allow Custom Themes?

configForm.webAnalytics=Web Analytics
configForm.defaultAnalyticsTrackingCode=Default tracking code
configForm.allowAnalyticsCodeOverride=Allow individual blogs to override?

# ---------------------------------------------------------------- Create weblog

createWebsite.title=Create Weblog

createWebsite.prompt=Use this form to create a new weblog for you or for \
you and a group of your friends.

createWebsite.tip.name=The name is the title of your weblog, it will be \
displayed at the top of your weblog page, and in the title field of your \
weblog''s feed. This field should not include HTML.
createWebsite.tip.description=The description of your weblog may be displayed \
at the top of your weblog (depending on the theme you choose), and it will be \
used in description or subtitle field of your feed. This field should not \
include HTML.
createWebsite.tip.handle=The handle is a short one-word name for your \
weblog. It will be used in your URL, so please limit it to simple ASCII \
alphanumeric characters (a-z, A-Z and 0-9), and do not use HTML.
createWebsite.tip.email=Your email address or the email address of the person \
responsible for the weblog that you are creating. 
createWebsite.tip.timezone=The timezone to be used for entry and display \
of this weblog.
createWebsite.tip.locale=The default locale to be used for the display of this \
weblog when the browser does not specify a locale.
createWebsite.tip.theme=The theme to be used to display this weblog. Later, \
you can easily switch to another theme or edit the themes templates to \
customize it to your liking.

createWebsite.handle=Handle
createWebsite.emailAddress=Email Address
createWebsite.locale=Locale
createWebsite.timeZone=Timezone
createWebsite.theme=Theme
createWebsite.weblogUrl=URL
createWebsite.button.save=Create Weblog
createWebsite.created=New weblog [{0}] has been successfully created.
createWebsite.oneBlogLimit=Sorry, only one weblog per user is allowed.
createWebsite.disabled=Sorry, the blog administrator has disabled creation of new blogs.

# errors from validation
CreateWeblog.error.handleNull=Handle is a required field
CreateWeblog.error.handleSize=Handle cannot be more than 255 characters
CreateWeblog.error.nameNull=Name is a required field
CreateWeblog.error.nameSize=Name cannot be more than 255 characters
CreateWeblog.error.descriptionSize=Description cannot be more than 255 characters
CreateWeblog.error.emailAddressNull=Email address is a required field
CreateWeblog.error.emailAddressSize=Email address cannot be more than 255 characters
CreateWeblog.error.emailAddressBad=The email address you entered is not properly formatted
CreateWeblog.error.localeNull=Locale is a required field
CreateWeblog.error.localeSize=Locale cannot be more than 8 characters
CreateWeblog.error.timeZoneNull=Time Zone is a required field
CreateWeblog.error.timeZoneSize=Time Zone cannot be more than 64 characters

createWeblog.error.invalidHandle=The handle you specified is not valid
createWeblog.error.handleExists=A weblog with that handle already exists

# --------------------------------------------------------------- Entry editors

editor.text.name=Plain HTML
editor.xinha.name=Rich Text Editor (Xinha)

# --------------------------------------------------------------- Comment emails

email.comment.wrote=wrote
email.comment.anonymous=An anonymous user wrote
email.comment.respond=Respond to this comment at
email.comment.management.link=Link to comment management page
email.comment.commenter.email=Commenter's email address
email.comment.title=Comment
email.comment.moderate.title=Pending Blog Comment
email.comment.commentApproved=Comment Approved

#---------------------------------------------------------------- Error messages 

error.untranslated={0}

error.add.user.userNameInUse=Username already in use.
error.add.user.openIdInUse=Open ID already in use with another account.
error.add.user.missingUserName=You must specify a username.
error.add.user.badUserName=Invalid user name (must be alpha-numerics only).
error.add.user.missingPassword=You must specify a password.
error.upload.dirmax=You cannot exceed the maximum directory size of {0} MB.
error.upload.disabled=File Upload has been turned off
error.upload.file=No file selected
error.upload.filemax=File <b>{0}</b> larger than maximum <b>{1}</b> MB allowed
error.upload.forbiddenFile=File <b>{0}</b> content-type <b>{1}</b> not allowed
error.general=ERROR: Unexpected Exception [{0}] has been logged.
error.password.mismatch=Wrong username and password combination
error.unmatched.openid=Unknown or invalid OpenID URL

error.trackback=Error sending trackback. Possible cause: incorrect \
trackback URL. {0}
error.trackbackNotAllowed=Error sending trackback. The site administrator \
does not permit sending tracbacks to the URL you specified.

error.title.403=Access Denied
error.text.403=You do not have the privileges necessary to access the requested page.

error.title.404=Sorry! We couldn't find your document
error.text.404=The file that you requested could not be found on this server. 


error.permissionDenied.title=Permission Denied
error.permissionDenied.prompt=Possible causes:
error.permissionDenied.reason0=You requested a weblog entry that you do not have \
permission to edit (perhaps one you've already submitted for review?).
error.permissionDenied.reason1=You tried to save an object from "stale" web page, \
left by an earlier login under a different user account.
error.permissionDenied.reason2=You logged in using incorrect capitalization of \
your username. To resolve this problem, logout and login again with your \
correct username.
error.permissionDenied.reason3=Your blog server's database connection is \
misconfigured. To resolve this problem, see your system administrator.

error.unexpected=Unexpected error. If this error occurs again, please contact the administrator.

# -------------------------------------------------------------------- error.jsp

errorPage.title=Unexpected Exception
errorPage.message=Roller has encountered and logged an unexpected exception.

# --------------------------------------------------------------- FolderForm.jsp

folderForm.add.title=Add Folder
folderForm.add.subtitle=Adding new bookmark folder

folderForm.edit.title=Edit Folder
folderForm.edit.subtitle=Editing bookmark folder [{0}]

folderForm.created=Folder created
folderForm.updated=Folder name updated

folderForm.error.duplicateName=The folder name {0} is already in use, please choose another name

# errors from validation
Folder.error.nameNull=Name is a required field
Folder.error.nameSize=Name cannot be more than 255 characters


# ---------------------------------------------------------------------- Footer

footer.productName=Powered by <a href="http://roller.apache.org">Apache Roller Weblogger</a> Version {0} ({1})

# ------------------------------------------------------ index / setup page

index.heading=Welcome to Roller!
index.prompt=Follow these steps to finalize your Roller installation:

index.createUser=Create a user
index.createUserDone=DONE: this site has {0} user(s)
index.createUserHelp=\
Before you can start to use Roller, you need to create a user so you \
can login, manage Roller and start blogging. Note that the first user \
you create will be given the <i>Global Admin</i> rights necessary to \
manage Roller, manage Roller users and designate other Global Admins.
index.createUserBy=Create your first user via the 
index.createUserPage=New User Registration Page

index.createWeblog=Create a weblog
index.createWeblogDone=DONE: this site has {0} weblog(s)
index.createWeblogHelp=\
Before you can start blogging, you need to create at least one weblog. \
Just so you know, you can create as many as you want. Each Roller user \
can have multiple weblogs and each Roller weblog can have multiple \
authors.
index.createWeblogBy=Create your first weblog via the 
index.createWeblogPage=New Weblog Creation Page
   
index.setFrontpage=Designate a frontpage weblog
index.setFrontpageHelp=\
You must specify a weblog to serve as the front page weblog, you can do this \
via the <b>Server Admin->Configuration</b> page or the form that will appear \
below once you have created at least one weblog.

frontpageConfig.frontpageBlogName=Name of weblog to serve as frontpage blog
frontpageConfig.frontpageAggregated=Enable aggregated site-wide frontpage
frontpageConfig.values.saved=Properties successfully saved
frontpageConfig.values.error=Error saving properties
frontpageConfig.weblogs.error=Unexpected error accessing Weblogs


# --------------------------------------------------------------- Invite member

inviteMember.title=Invite New Member

inviteMember.subtitle=Invite a new user to join this weblog
inviteMember.prompt=Invite a user to join this weblog by selecting his or \
her email address below, picking a permission for them and clicking the send \
invitation button. If the user is not shown in the list below, type the first \
couple of letters of the username or email address view matches.

inviteMember.userName=Username
inviteMember.administrator=Admin
inviteMember.author=Author
inviteMember.limited=Limited
inviteMember.permissions=Permissions

inviteMember.button.save=Send Invitation

inviteMember.error.userNotFound=User not found system
inviteMember.error.userAlreadyInvited=User already invited to this weblog
inviteMember.error.userAlreadyMember=User already a member of this weblog

inviteMember.userInvited=User successfully invited

inviteMember.notificationSubject=Roller: Invitation to join weblog "{0}" ({1})
inviteMember.notificationContent=You have been invited to join weblog "{0}" ({1}). \
Click the following link and login as user [{2}] to accept or decline this \
invitation <{3}>.

inviteMember.disabled=invitations disabled

# ------------------------------------------------------------------- Installer

installer.bannerTitleLeft=Apache Roller Weblogger
installer.bannerTitleRight=Auto-Installer

# database error
installer.error.connection.pageTitle=Database connection error
installer.cannotConnectToDatabase=Cannot connect to database
installer.whatHappened=What happened?
installer.whatHappenedDatabaseConnectionError=\
A database error occurred, probably because your database connection is \
misconfigured. You will have to fix this problem and then restart or redeploy \
Roller before you can proceed. Here''s what happened when Roller \
tried to establish a connection:
installer.whyDidThatHappen=Why did that happen?
installer.aboutTheException=In case the clues above are not enough to help you \
figure out what is going wrong, here are some more details. The root cause of \
the problem is an exception of type
installer.heresTheStackTrace=\
To help you debug the problem, here is the stack trace for that exception:

# unknown error
installer.error.unknown.pageTitle=Unknown error
installer.unknownError=An unknown error has occurred
installer.whatHappenedUnknown=An unknown and unexpected error occured when \
Roller tried to check database status or bootstrap itself. Roller can''t \
determine what happened so you will have to look at your servers log files \
and diagnose the problem yourself. Follow the instructons on the Roller wiki \
and seek help from the <a href=\
"https://cwiki.apache.org/confluence/display/ROLLER/Roller+Mailing+Lists"> \
Roller user mailing list</a>.

# create tables
installer.database.creation.pageTitle=Database table creation
installer.noDatabaseTablesFound=No database tables found
installer.noDatabaseTablesExplanation=\
Roller is able to connect to your database of type [{0}], but found no tables. 
installer.createTables=Would you like Roller to create the tables for you?
installer.yesCreateTables=Yes - create tables now
installer.tablesCreated=Tables created successfully
installer.tablesCreatedExplanation=Database tables were created successfully \
as you can see below. 
installer.tryBootstrapping=Database tables are present and up-to-date. \
Click <a href="{0}">here</a> to complete the installation process and start \
using Roller.
installer.errorCreatingTables=Error creating tables
installer.errorCreatingTablesExplanation=Error creating tables, possibly due \
to an error in the database creation script or because you are using an \
unsupported database. You will have to fix this problem and then restart or \
redeploy Roller before you can proceed. Below are the success/error messages \
issued during the creation process:

# upgrade tables
installer.database.upgrade.pageTitle=Database table upgrade
installer.databaseUpgradeNeeded=Database tables need to be upgraded
installer.databaseUpgradeNeededExplanation=\
Roller is able to connect to your database of type [{0}] and found tables, \
but the tables need to be upgraded.
installer.upgradeTables=Would you like Roller to upgrade the tables for you?
installer.yesUpgradeTables=Yes - upgrade tables now
installer.tablesUpgraded=Tables were upgraded successfully
installer.tablesUpgradedExplanation=\
Database tables were upgraded successfully as you can see below. 
installer.errorUpgradingTables=Error upgrading tables
installer.errorUpgradingTablesExplanation=Error upgrading tables, possibly due \
to an error in the database creation script or because you are using an \
unsupported database. You will have to fix this problem and then restart or \
redeploy Roller before you can proceed. Below are the success/error messages \
issued during the upgrade process:


# ----------------------------------------------------------------------- Login

loginPage.title=Welcome to Roller
loginPage.prompt=Please login
loginPage.openIdPrompt=Login with OpenID
loginPage.openIdHybridPrompt=Or with username
loginPage.userName=Username
loginPage.password=Password
loginPage.openID=OpenID username
loginPage.loginOpenID=Login
loginPage.rememberMe=Remember Me (up to two weeks)
loginPage.login=Login
loginPage.reset=Reset

# -------------------------------------------------------------- Bookmark Macro

macro.bookmark.urlFeed=URL of site''s RSS feed

# --------------------------------------------------------- Search Results Macro

macro.searchresults.incategory=- All Categories -

error.searchProblem=There was a problem with your search.

# ----------------------------------------------------------------- Weblog Macro
# These are macros commonly used within themes

macro.weblog.comments=Comments
macro.weblog.comment=Comment
macro.weblog.comment.unknown=Unknown
macro.weblog.datepattern=MMMMM dd, yyyy 'at' hh:mm aa z
macro.weblog.date.toStringFormat=EEEE MMMM dd, yyyy
macro.weblog.datetime.toStringFormat=hh:mma MMM dd, yyyy
macro.weblog.time.toStringFormat=hh:mma
macro.weblog.preview=Comment Preview
macro.weblog.commentpermalink.title=comment permalink
# below used by some themes in Roller-extras
macro.weblog.daypermalink.title=Permanent link to this day's entries
macro.weblog.readMore=Read More
macro.weblog.readMoreLink=[<a class="readmore" href="{0}">Read More</a>]

macro.weblog.postedby=Posted by
macro.weblog.on=on
macro.weblog.name=Name:
macro.weblog.email=E-Mail:
macro.weblog.url=URL:
macro.weblog.rememberinfo=Remember Information?
macro.weblog.yourcomment=Your Comment:
macro.weblog.htmlsyntax=HTML Syntax:
macro.weblog.htmldisabled=NOT allowed
macro.weblog.htmlenabled=Allowed
macro.weblog.commentwarning=Please enter a comment.
macro.weblog.postcommentHeader=Post a Comment:
macro.weblog.postcomment=Post Comment
macro.weblog.post=Post
macro.weblog.postpreview=Preview
macro.weblog.searchalert=Please enter a search term to continue.
macro.weblog.searchbutton=Search
macro.weblog.searchhits=Entries found for "{0}": <strong>{1}</strong>
macro.weblog.searchgoogle=<em>You can also \
<a href="http://google.com/search?q={0}%20site:{1}/{3}" \
class="google">try this same search</a> on Google.</em>
macro.weblog.notifyMeOfComments=Notify me by email of new comments
macro.weblog.noEntriesForCategory=No entries found for specified category

# -------------------------------------------------------------------- Main page

mainPage.category=Category
mainPage.searchWeblogs=Search for blogs
mainPage.actions=Actions
mainPage.loggedInAs=Logged in as
mainPage.currentWebsite=Editing weblog
mainPage.mainMenu=Main Menu

# ------------------------------------------------------------------ Maintenance

maintenance.title=Weblog Maintenance
maintenance.subtitle=Perfom weblog maintenance operations.
maintenance.prompt.index=Rebuild the search index for your Roller weblog.
maintenance.button.index=Rebuild Search Index
maintenance.prompt.flush=Flush the page cache for your Roller weblog.
maintenance.button.flush=Flush Cache
maintenance.message.indexed=Successfully scheduled search index rebuild for your \
Roller weblog
maintenance.message.indexed.failure=Error rebuilding search index - check system logs
maintenance.message.flushed=Successfully flushed the page cache of your \
Roller weblog
maintenance.prompt.reset=Reset the hit count for your Roller weblog.
maintenance.button.reset=Reset Hit Count
maintenance.message.reset=Successfully reset the hit count of your Roller weblog 

# ----------------------------------------------------------- Media file management

mediaFileImageChooser.subtitle=Choose an image
mediaFileImageChooser.rootPageTip=Click to choose an image or click on a \
directory to enter it.
mediaFileImageChooser.dirPageTip=Click to choose an image or use the Switch to Folder \
drop-down to move to another directory.


# -- Media File Add

mediaFileAdd.title=Add new media file
mediaFileAdd.pageTip=Use this page to upload up to five new media files. The name, description, tags and other properties will be applied to all files uploaded.
mediaFileAdd.fileLocation=Choose media files to upload
mediaFileAdd.tags=Tags (space separated)
mediaFileAdd.copyright=Copyright statement
mediaFileAdd.directory=Folder
mediaFileAdd.includeGallery=Include in Gallery?
mediaFileAdd.upload=Upload
mediaFileAdd.multipleNames=(Multiple names)
mediaFileAdd.errorUploading=Error uploading file {0}

#--- Media File Success

mediaFileAddSuccess.title=Media File Upload Complete
mediaFileSuccess.subtitle=Create a new weblog entry?
mediaFileSuccess.pageTip=Your upload was successful. If you would like to \
create a new weblog entry including your newly uploaded files then use the \
form below to select the file(s) to be included. For images, we will include \
them in your post as thumbnails. For other file types you can choose one to \
be attached to the new post as an enclosure (i.e. a podcast).
mediaFileSuccess.createPost=Create a weblog post using your new upload
mediaFileSuccess.addAnother=Upload another media file
mediaFileSuccess.createPostPrompt=Once you have selected the file(s) you want, \
click the button to create your new weblog entry.
mediaFileSuccess.noEnclosure=No enclosure
mediaFileSuccess.selectEnclosure=You can select one file (or none) to be \
included in the weblog entry as an RSS/Atom enclosure (i.e. as a podcast):
mediaFileSuccess.selectImages=Select the the images that you would like to \
include in your new weblog entry:

mediaFileSuccess.name=Name:
mediaFileSuccess.size=Size:
mediaFileSuccess.type=Type:
mediaFileSuccess.link=Link:
mediaFileSuccess.pixels=pixels
mediaFileSuccess.bytes=bytes

mediaFileSuccess.noThanks=<b>Not interested?</b> Here are some other options:
mediaFileSuccess.mediaFileView=Return to Media File View


# -- Media File Edit

mediaFileEdit.subtitle=Editing media file <span>{0}</span>
mediaFileEdit.pagetip=You may edit the information stored about this media \
file. Each file must have a name, but all other fields are optional.
mediaFileEdit.tags=Tags (space separated)
mediaFileEdit.copyright=Copyright statement
mediaFileEdit.directory=Folder
mediaFileEdit.fileInfo=File info
mediaFileEdit.fileTypeSize=<b>Type</b>: {0} <b>Size</b>: {1} bytes
mediaFileEdit.fileDimensions=<b>Image</b>: {0} X {1} pixels
mediaFileEdit.includeGallery=Include in Gallery
mediaFileEdit.includeGalleryHelp=Check this box if you would like this media \
file included in the new media file RSS and Atom feeds for your weblog.
mediaFileEdit.updateFileContents=Update File Contents
mediaFileEdit.clickToView=Click to view in new window
mediaFileEdit.permalink=Link (URL)
mediaFileEdit.linkTitle=Link to Media File, opens in new window
mediaFileEdit.includesEnclosure=This weblog entry includes the following media file enclosure:

mediaFileEdit.popupTitle=Media File Editor

# -- Media File View

mediaFileView.title=Media Files
mediaFileView.subtitle=Media Files in weblog <span>{0}</span>
mediaFileView.rootPageTip=\
This page shows the media files that you have uploaded as well as files \
copied in when you chose to customize a theme. You can use folders \
to organize your files, and you do not have to worry about "breaking \
URLs" when you move or rename files.
mediaFileView.dirPageTip=This is a media file subfolder.

mediaFileView.viewFolder=View Folder

mediaFileView.sortBy=Sort by

mediaFileView.deleteSelected=Delete selected
mediaFileView.moveSelected=Move selected to:
mediaFileView.deleteFolder=Delete folder

mediaFileView.gt=>
mediaFileView.ge=>\=
mediaFileView.eq=\=
mediaFileView.le=<\=
mediaFileView.lt=<
mediaFileView.any=Any
mediaFileView.image=Image
mediaFileView.video=Video
mediaFileView.audio=Audio
mediaFileView.others=Others
mediaFileView.kb=KB
mediaFileView.mb=MB
mediaFileView.bytes=Bytes
mediaFileView.date=Date
mediaFileView.type=Type
mediaFileView.size=Size
mediaFileView.tags=Tags
mediaFileView.addDirectory=Add New Folder
mediaFileView.directoryName=Name:
mediaFileView.create=Create
mediaFileView.search=Search Media Files
mediaFileView.searchTitle=Search Results
mediaFileView.matchingResults=Found <b>{0}</b> matching results.
mediaFileView.noResults=No matching results found. Try widening your search.
mediaFileView.searchInfo=You searched for all media files matching the following criteria:
mediaFileView.filesNamed=Files named like <b>{0}</b>
mediaFileView.filesOfSize=Files of <b>size {0} {1} {2}</b>
mediaFileView.filesOfType=Files of type <b>{0}</b>
mediaFileView.filesTagged=Files with tags <b>{0}</b>
mediaFileView.noFiles=No files in this folder.
mediaFileView.folderName=Folder
mediaFileView.reset=Reset


#--- Media File Sidebar

mediaFileSidebar.actions=Actions
mediaFileSidebar.add=Add Media File

mediaFile.delete.confirm=Delete selected media files?
mediaFile.move.confirm=Move selected media files?
mediaFile.directoryCreate.success=New folder [{0}] successfully created.
mediaFile.directoryCreate.error.exists=New folder [{0}] already exists.  Please choose another name.
mediaFile.includeInGallery.success=Media file(s) successfully included in gallery.
mediaFile.includeInGallery.error=Error including media file {0} in gallery.
mediaFile.delete.success=Media file(s) successfully deleted.
mediaFile.deleteFolder.success=Media folder successfully deleted.
mediaFile.deleteFolder.confirm=Delete entire folder including all its media files?
mediaFile.delete.error=Error deleting media file {0}.
mediaFile.move.success=Media file(s) successfully moved.
mediaFile.move.errors=Error moving media files.
mediaFile.update.success=Media file successfully updated.

# errors from validation
MediaFile.error.nameNull=Name is a required field
MediaFile.error.nameSize=Name cannot be more than 255 characters
MediaFile.error.descriptionSize=Description cannot be more than 255 characters
MediaFile.error.copyrightTextSize=Copyright text cannot be more than 1023 characters
MediaFile.error.duplicateName=The file name {0} is already in use, you will need to choose another
MediaFile.error.search.empty=Please enter one or more criteria for search.
MediaFile.error.view=Error viewing directory.
mediaFile.error.view.dirNameEmpty=Directory name is empty.
mediaFile.error.view.dirNameInvalid=Directory name is invalid.

mediaFileEdit.originalPath=Original Path (alternative full path to file)

# ----------------------------------------------------------- Member permissions

memberPermissions.title=Weblog Member Permissions
memberPermissions.subtitle=Manage permissions of users in weblog <span>{0}</span>
memberPermissions.description=You can change permissions of weblog members, \
or remove them from the weblog entirely using the controls in the table below \
and clicking Save to commit your changes. Note that you are not allowed to \
demote or remove yourself from the weblog.

memberPermissions.userName=Username
memberPermissions.administrator=Admin
memberPermissions.author=Author
memberPermissions.limited=Limited
memberPermissions.remove=Remove

memberPermissions.noSelfModifications=Only another admin may alter your role.
memberPermissions.oneAdminRequired=Blog must have at least one admin.
memberPermissions.membersRemoved=Removed {0} user(s)
memberPermissions.membersChanged=Changed permission for {0} user(s)

memberPermissions.confirmRemove=Are you sure you want to remove members from this \
weblog?

memberPermissions.saveError=Error saving permissions

memberPermissions.inviteMember=Invite new member
memberPermissions.whyInvite=Invite somebody to help you write your weblog.

memberPermissions.permissionsHelpTitle=Permission Definitions
memberPermissions.permissionHelp=\
<b>Admin:</b> Full control including posting, user management, and weblog design.<br /> \
<b>Author:</b> Can post entries and moderate comments.<br /> \
<b>Limited:</b> No posting ability, can save draft entries and submit them for review.

# --------------------------------------------------------- New user registation

newUser.addNewUser=New User Registration

# --------------------------------------------------------------- Navigation Bar

navigationBar.newEntry=New Entry
navigationBar.settings=Settings
navigationBar.logout=Logout
navigationBar.login=Login
navigationBar.register=Register

# ----------------------------------------------------------------- OAuth pages

oauthKeys.title=OAuth Keys
oauthKeys.description=OAuth key and secret for your account <span>{0}</span>
oauthKeys.tip=You can authorize other sites and weblog client programs \
to access your account to create and edit weblog posts, but only if those \
sites and programs support OAuth. 
oauthKeys.consumerKey=Consumer Key
oauthKeys.consumerSecret=Consumer Secret
oauthKeys.userKeys=User Specific Secret and Key
oauthKeys.userKeysTip=These keys are tied to your user account, use them to \
authorize weblog clients that need access your account.
oauthKeys.siteWideKeys=Site Wide Secret and Key
oauthKeys.siteWideKeysTip=Since you are a site admin, you have access to the \
site wide key and secret. You can provide them to other sites that need to \
access accounts on this site. Users will still have to authenticate access \
by logging in to Roller.
oauthKeys.urls=OAuth URLs
oauthKeys.urlsTip=These are the URLs that your weblog client will need to \
perform OAuth authorization against Roller.
oauthKeys.requestTokenURL=Request Token URL
oauthKeys.authorizationURL=Authorization URL
oauthKeys.accessTokenURL=Access Token URL


oauthAuthorize.title=OAuth Authorization
oauthAuthorize.description=Authorize OAuth access to user account <span>{0}</span>?
oauthAuthorize.tip=A web site is asking to have access your account. Press \
the button below to allow access or simply close this window to deny it.


# -------------------------------------------------------------- Page management

pagesForm.title=Templates
pagesForm.subtitle=Manage templates that define weblog <b>{0}</b>
pagesForm.tip=You can edit the templates that define the layout, colors and \
fonts of your weblog. You can also create new templates to define entirely \
new pages. This is for advanced users only, if you''re not comfortable \
with HTML, you might want to leave your templates alone.  Please <b>backup</b> your templates!

pageForm.advancedSettings=Advanced Settings
pagesForm.action=Action
pagesForm.remove=Remove
pagesForm.required=(required)
pagesForm.addNewPage=Add a new template
pagesForm.add=Add
pagesForm.deleteselected=Delete Selected
pagesForm.themesReminder=<b>Reminder:</b> You are currently using the {0} shared \
theme, so some template edits may not effect how your blog looks.
editPages.title.removeOK=Confirm remove of template
editPages.remove.notFound=Template id {0} was not found
editPages.remove.requiredTemplate=You cannot remove a required template
editPages.remove.error=Error removing template

pagesForm.error.alreadyExists=The template {0} already exists.

# -------------------------------------------------------------------- Page edit

pageForm.action=Edit Template
pageForm.subtitle=Edit template <span>{0}</span> in weblog <span>{1}</span>
pageForm.tip=You can edit this template to change what it generates. \
Refer the the Roller Template Guide for information about the objects \
and code you are allowed to use in a template. This is for advanced \
users only, if you''re not comfortable with HTML, you might want to leave \
your templates alone.
pageForm.tip.required=You can edit this template to change what it generates.\
Refer the the Roller Template Guide for information about the objects \
and code you are allowed to use in a template. This is for advanced \
users only, if you''re not comfortable with HTML, you might want to leave \
your templates alone. NOTE: this is a required weblog template, you cannot \
change the name, link or description.
pageForm.link=Link (path)
pageForm.resultingUrlWillBe=Resulting URL will be: 
pageForm.noUrl=No link! Will be unable to access this new page via the web
pageForm.hidden=Hidden
pageForm.hidden.tip=Hidden pages cannot be accessed via URL
pageForm.navbar=Include in page menu 
pageForm.navbar.tip=Include in menu produced by <pre>showPageMenu()</pre> macro 
pageForm.template=Template
pageForm.newTemplateContent=<html><body></body></html>
pageForm.save.success=Template updated successfully.
pageForm.launch=launch
pageForm.useAutoContentType=Automatically set content type
pageForm.useManualContentType=Use manually specified content-type
pageForm.notemplates=No templates defined. Select action ''weblog'' to create from \
scratch or a predefined theme from the Theme tab.
pageForm.templateLanguage=Template Language
pageForm.outputContentType=Content-Type

pageRemove.confirm=Are you sure you want to remove this template: 

# errors from validation
Template.error.nameNull=Name is a required field
Template.error.nameSize=Name cannot be more than 255 characters
Template.error.linkSize=Link cannot be more than 255 characters
Template.error.descriptionSize=Description cannot be more than 255 characters
Template.error.actionNull=The Action is a required field

# ---------------------------------------------------- Ping Target Admin/Editing



commonPingTargets.subtitle=Ping target management
commonPingTargets.commonPingTargets=Weblog Ping Targets
commonPingTargets.explanation=These target sites are available to all weblogs \
for weblog update pings.
commonPingTargets.error.loading=Error loading common ping targets
commonPingTargets.error.saving=Error saving common ping targets
commonPingTargets.error.enabling=Error enabling ping target
commonPingTargets.error.disabling=Error disabling ping target

pings.title=Configure Automatic Weblog Pings
pings.subtitle=Setup automatic pings for weblog <span>{0}</span>
pings.explanation=Pings allow you to notify sites that your weblog has changed \
so that the sites can read your feed to retrieve updates. \
You can enable automatic pings for sites that you wish to notify whenever \
your weblog changes. You can also trigger pings manually \
to specific sites from this page.  <strong>Note:</strong> Normally, you are \
expected to register your weblog with a site before starting \
to send that site pings.
pings.commonPingTargets=Common Ping Targets
pings.commonPingTargetsExplanation=These ping targets have been configured by the \
site administrator for use by all users. \
You can send pings to any of these well-known sites.

ping.successful=The ping was successful.
ping.transmittedButError=The ping was transmitted but the server \
responded with the following error message.
ping.transmissionFailed=The ping transmission failed. Check to make sure the \
ping target URL is correct.
ping.unknownHost=The hostname in the ping target URL is unknown.
ping.networkConnectionFailed=There were network connection problems reaching the \
ping target site.
ping.pingProcessingIsSuspended=Ping processing has been suspended temporarily by \
a site administrator.

pingTarget.addTarget=Add Ping Target
pingTarget.editTarget=Edit Ping Target

pingTargetEdit.subtitle=Edit ping target
pingTargetAdd.subtitle=Add ping target

pingTarget.pingUrl=Ping URL
pingTarget.autoEnabled=Auto Ping?
pingTarget.remove=Remove
pingTarget.confirmRemoveTitle=Remove Ping Target Confirmation
pingTarget.confirmCommonRemove=Removing this target will also remove all user''s \
automatic ping configurations that use this target.  Are you sure?
pingTarget.enable=Enable
pingTarget.enabled=ON
pingTarget.disable=Disable
pingTarget.disabled=OFF
pingTarget.auto=Automatic
pingTarget.manual=Manual
pingTarget.sendPingNow=Send Ping Now
pingTarget.updated=Ping target "{0}" updated
pingTarget.created=Ping target "{0}" created
pingTarget.deleted=Ping target "{0}" deleted

pingTarget.nameNotUnique=Target name already exists, please choose another.
pingTarget.nameMissing=Name is required
pingTarget.pingUrlMissing=Ping URL is required
pingTarget.malformedUrl=The URL is not properly formed.
pingTarget.unknownHost=The hostname in this URL doesn''t seem to exist.
pingTarget.notFound=Ping target id {0} was not found

# --------------------------------------------------------------- Planet Roller: config

planetConfig.title=Planet Configuration
planetConfig.subtitle=Configure Roller\'s built-in RSS/Atom feed aggregator.
planetConfig.prompt=Roller's Planet feature gives you a way to aggregate all of the weblogs on your site along with feeds from other sites. On this page you can set title, description and email addresses that are to be displayed in the RSS or Atom feeds for your aggregation, and to be used in weblog templates that display your site. You can also configure a proxy if you Roller site requires one.

ConfigForm.siteSettings=Planet Settings
ConfigForm.title=Planet title
ConfigForm.description=Planet description
ConfigForm.adminName=Name of Planet administrator
ConfigForm.adminEmail=Email of Planet administrator
ConfigForm.absoluteUrl=Absolute URL to Planet page
ConfigForm.proxyHost=Proxy host for feed fetcher
ConfigForm.proxyPort=Proxy port for feed fetcher

ConfigForm.message.saveSucceeded=Saved Planet configuration
ConfigForm.error.saveFailed=Error saving Planet configuration

ConfigForm.invalidBooleanProperty=Property {0} must be a boolean: {1}
ConfigForm.invalidIntegerProperty=Property {0} must be an integer: {1}
ConfigForm.invalidFloatProperty=Property {0} must be a float: {1}
ConfigForm.invalidProperty=Property {0} is null

# ----------------------------------------------------- Planet Roller: group subscriptions

planetGroupSubs.default.title=Default Planet Group Subscriptions
planetGroupSubs.default.subtitle=Manage feed subscriptions for Roller's Default Planet Group
planetGroupSubs.default.desc=By default, Roller's Planet feature includes all weblogs on this Roller site in the aggregation. On this page you can add RSS and Atom feeds from other sites to this aggregation.

planetGroupSubs.custom.title=Custom Planet Group {0}
planetGroupSubs.custom.title.new=New Custom Planet Group
planetGroupSubs.custom.subtitle=Manage feed subscriptions for Custom Planet Group {0}
planetGroupSubs.custom.desc=This is a Custom Planet Group. Once you have added one or more RSS/Atom feeds here Roller will create an aggregated feed that containing entries from all of the feeds you add. You can display that aggregated feed in a blog template or access it via URL.

planetGroupSubs.custom.subtitle.new=Creating a new Custom Planet Group

planetGroupSubs.addFeed=Add a new RSS/Atom feed subscription
planetGroupSubs.creatingNewGroup=Before you can add subscriptions you must set a name and handle for your new Custom Planet Feed.
planetGroupSubs.editingExistingGroup=You can edit the name and handle for the group, but be aware that changing the handle will change the URL of the Planet Group.

planetGroupSubs.noneDefinedCustom=No feed subscriptions exist for this Custom Planet Group
planetGroupSubs.noneDefinedDefault=No additional feeds have been added to the Default Planet Group

planetGroupSubs.properties=Properties
planetGroupSubs.subscriptions=Subscriptions
planetGroupSubs.column.title=Title
planetGroupSubs.column.feedUrl=Feed URL
planetSubscription.feedUrl=Feed URL
planetSubscription.success.deleted=Subscription successfully deleted
planetSubscription.foundExisting=Found existing subscription [{0}], adding it instead
planetSubscription.success.saved=Saved subscription
planetSubscription.error=Must specify feed URL
planetSubscription.error.feedUrl=Feed URL is required
planetGroupSubs.error.duringSave=Unexpected error saving subscription: {0}
planetGroupSubs.error.fetchingFeed=Error fetching subscription: {0}
planetSubscription.error.deleting=Error deleting object

planetGroupSubs.badFeedURL=Invalid URL

planetGroupSubs.delete.confirm=Are you sure you want to delete this subscription?

# ------------------------------------------------------------ Planet Roller: groups

planetGroups.pagetitle=Custom Planet Groups
planetGroups.subtitle=Manage Custom Planet Groups, each available for use in weblog templates or as a feed.

planetGroups.prompt.add=To create a group, just enter a display name and a unique handle to be used in the feed URL then click Save.
planetGroups.prompt.edit=You are editing a custom aggregation group. Make your changes and then click Save. Or, use click Delete to remove it.

planetGroups.existingTitle=Existing Custom Aggregation Groups
planetGroups.existingPrompt=Select an existing custom aggregation group to edit.

planetGroups.noneDefined=No Custom Planet Groups defined.

planetGroups.column.title=Title
planetGroups.column.subscriptions=Subscriptions
planetGroups.column.handle=Handle

planetGroups.tip.title=Title of the group for display purposes.
planetGroups.tip.handle=Handle of this group. A simple string with no spaces to be used in the group's URL.
planetGroups.edit.tip=Edit this group

planetGroupSubs.subscriptionDesc=Add subscriptions to this group via the form on the right.

planetGroups.title=Title
planetGroups.handle=Handle

planetGroups.subscriptions.tip=Edit the subscriptions in this Custom Group

planetGroups.success.saved=Saved group
planetGroups.error.saved=Error saving planet group - duplicate?

planetGroups.error.title=Title is required
planetGroups.error.handle=Handle is required
planetGroups.error.nameReserved=Can''t use handle ''all''

planetGroups.delete.confirm=Are you sure you want to remove this group?

# ------------------------------------------------------------------ Statistics

statCount.weblogCommentCountType=Weblog comment count
statCount.weblogEntryCommentCountType=Weblog entry comment count
statCount.weblogDayHits=Today''s hit count

# ------------------------------------------------------------------ Stylesheet Editor

stylesheetEdit.title=Stylesheet

stylesheetEdit.subtitle=Edit weblog custom stylesheet

stylesheetEdit.copyStylesheet=Copy Stylesheet
stylesheetEdit.copyStylesheetTip=Copy Shared Theme's stylesheet into your weblog so you can edit it.

stylesheetEdit.standard=Standard

stylesheetEdit.mobile=Mobile

stylesheetEdit.tip=This form allows you to edit the customizable CSS Stylesheet for your theme.

stylesheetEdit.youCanCustomize=\
  <p><b>You can customize!</b> \
  The theme you are using provides a customizable stylesheet. If you make changes to it \
  here you will see those changes reflected in the theme pages that include the stylesheet.</p> \
  <p>You can also choose to <b>Revert</b> your copy of the stylesheet so that it matches the default one from \
  the theme. Or you can <b>Delete</b> your copy so that this weblog will use the Shared Theme's stylesheet instead.</p>

stylesheetEdit.sharedThemeWithStylesheet=\
 <p>The <b>Shared Theme</b> you are using provides a customizable stylesheet.</p> \
 <p>Would you like to copy that stylesheet into your weblog so you can edit it?</p>

stylesheetEdit.sharedThemeNoStylesheetSupport=\
  <p>The <b>Shared Theme</b> you are using does not provide a customizable stylesheet.</p> \
  <p>Choose another theme if you want to be able to customize your CSS.</p>

stylesheetEdit.customThemeNoStylesheet=\
  The <b>Custom Theme</b> you are using does not provide a customizable stylesheet, but since \
  you are using a Custom Theme, you can add any stylesheets and new templates that you wish.

stylesheetEdit.revert=Revert
stylesheetEdit.revertTip=Reverts this weblog's copy to match the Shared Theme's default stylesheet.

stylesheetEdit.delete=Delete
stylesheetEdit.deleteTip=Delete's this weblog's copy setup weblog to use the Shared Theme's default stylesheet.

stylesheetEdit.create.success=Custom stylesheet created successfully.

stylesheetEdit.save.success=Stylesheet updated successfully.

stylesheetEdit.revert.success=Stylesheet reverted successfully.

stylesheetEdit.default.success=Stylesheet deleted successfully. Your theme is now using the Shared Theme default.

stylesheetEdit.confirmDelete=Are you sure you want to delete your stylesheet and use the themes default instead?

stylesheetEdit.confirmRevert=Are you sure you want to revert your stylesheet to the theme default?

# ------------------------------------------------------------------ Tabbed Menu

tabbedmenu.weblog=Create &amp; Edit
tabbedmenu.weblog.newEntry=New Entry
tabbedmenu.weblog.archives=Entries
tabbedmenu.weblog.categories=Categories
tabbedmenu.bookmarks.allFolders=Blogroll

tabbedmenu.design=Design
tabbedmenu.design.stylesheet=Stylesheet

tabbedmenu.website=Preferences
tabbedmenu.website.settings=Settings
tabbedmenu.website.themes=Theme
tabbedmenu.website.pages=Templates
tabbedmenu.website.members=Members
tabbedmenu.website.maintenance=Maintenance
tabbedmenu.weblog.pingSetup=Pings

tabbedmenu.weblog.mediaFiles=Media Files

tabbedmenu.admin=Server Admin
tabbedmenu.admin.config=Configuration
tabbedmenu.admin.userAdmin=User Admin
tabbedmenu.admin.commentManagement=Comments
tabbedmenu.admin.pingTargets=Ping Targets
tabbedmenu.admin.cacheInfo=Cache Info

tabbedmenu.planet=Planet Admin
tabbedmenu.admin.planetConfig=Configuration
tabbedmenu.admin.planetGroupSubs=Subscriptions
tabbedmenu.admin.planetGroups=Custom Groups

# ---------------------------------------------------------------------- Search

searchPager.home=Main
searchPager.next=Next page
searchPager.prev=Previous page
searchSummary.text=Showing {0} - {1} of total {2} search results

# ----------------------------------------------------------------------- Theme

themeEditor.title=Weblog Theme
themeEditor.subtitle=Define the theme for weblog <span>{0}</span>.

themeEditor.sharedTheme=Shared Theme
themeEditor.sharedThemeDescription=This option is for users who don''t \
want to fuss with designing their weblog on their own and prefer the \
easier option of using a predefined theme.

themeEditor.customTheme=Custom Theme
themeEditor.customThemeDescription=This option is for the creative \
bloggers who want to be able to create a blog design of their own.  \
Beware though, managing a blog design of your own takes a bit of effort.

themeEditor.yourCurrentTheme=Your current theme is
themeEditor.yourCustomStylesheet=using <em style="color:red">custom</em> override stylesheet.
themeEditor.yourThemeStyleSheet=using the <em>Shared Theme</em> default stylesheet.

themeEditor.youAreUsingACustomTheme=This weblog is using a custom theme.

themeEditor.thisTheme=This theme:

themeEditor.proposedChangeToShared=You are proposing to switch from a Custom Theme to a new Shared Theme.

themeEditor.proposedSharedThemeChange=You are proposing to switch to a new Shared Theme.

themeEditor.proposedSharedChangeToCustom=You are proposing to switch from a Shared Theme to a Custom Theme.

themeEditor.selectTheme=Select a new shared theme for your blog:

themeEditor.preview=Preview Theme
themeEditor.save=Update Theme

themeEditor.previewDescription=Before you update your theme you can use <b>Preview Theme</b> \
  to launch a new browser window and see what your blog will look like with the new theme.

themeEditor.importWarning=WARNING: Updating your custom theme <b>will overwrite</b> \
  some of your existing templates.

themeEditor.importRequired=Since this is the first time using a  custom theme, \
  Roller will copy the templates from your existing Shared Theme so you can edit them.

themeEditor.importAndOverwriteTemplates=Import the Shared Theme selected above and overwrite \
  existing custom theme.

themeEditor.existingTemplatesWarning=<b>This blog already has a custom theme defined so you need to \
  make a choice</b>. Do you want to switch back to using that theme, or do you want to over write that \
  theme with the Shared Theme currently in use?
themeEditor.setTheme.success=Theme set to {0}
themeEditor.setCustomTheme.success=Shared theme {0} imported into custom templates
themeEditor.setCustomTheme.instructions=Use the Stylesheet and Templates tabs above to edit your custom theme.

# ---------------------------------------------------------------------- Uploads

uploadFiles.upload=Upload

uploadFiles.uploadedFiles=Uploaded file(s):
uploadFiles.uploadedFile={0}

uploadFiles.error.badPath=The path [{0}] is invalid.  Paths may not contain "/", "\\", or ".."
uploadFiles.error.upload=Upload failed for [{0}]

# ---------------------------------------------------------------- User settings

userSettings.username=Username
userSettings.screenname=Screen Name
userSettings.fullname=Full Name
userSettings.password=Password
userSettings.passwordConfirm=Password (Confirm)
userSettings.email=Email
userSettings.locale=Locale
userSettings.timeZone=Timezone
userSettings.openIdUrl=OpenID URL
userSettings.tip.username=Usernames can''t be changed.

# ----------------------------------------------------------------- Your profile (profile.jsp)

yourProfile.title=Your Profile
yourProfile.passwordsNotSame=Password and Password (confirm) do not match
yourProfile.requiredFields=Screen name, full name and email are required

# ------------------------------------------------------------------- User admin

userAdmin.title.searchUser=User Administration
userAdmin.subtitle.searchUser=Select user to administer
userAdmin.prompt.searchUser=Find user by typing first letters of username \
or password. Select user and click edit button to edit the user''s profile \
and the user''s weblogs.

userAdmin.title.editUser=Edit user profile
userAdmin.subtitle.editUser=Editing profile of user <span>{0}</span>

userAdmin.title.createNewUser=Create new user
userAdmin.subtitle.createNewUser=Creating user
userAdmin.addInstructions=All fields are required.

userAdmin.enabled=Enabled
userAdmin.title=User Administration
userAdmin.userAdmin=Administrator

userAdmin.subtitle.userCreation=New user creation
userAdmin.prompt.orYouCan=Or you can
userAdmin.prompt.createANewUser=create a new user

userAdmin.userWeblogs=User''s Weblogs
userAdmin.userMemberOf=User is a member of the following weblog(s)
userAdmin.userHasNoWeblogs=User is a member of no weblogs.
userAdmin.newEntry=New Entry
userAdmin.editEntries=Edit Entries
userAdmin.manage=Manage

userAdmin.noPasswordForOpenID=Leave password field(s) blank if providing an OpenID.
userAdmin.tip.screenName=User''s screen name (with no HTML).
userAdmin.tip.fullName=User''s full name (with no HTML).
userAdmin.tip.userName=A short one-word username for the user account. \
Please limit it to simple ASCII alphanumeric characters (a-z, A-Z and 0-9), \
and do not use HTML.
userAdmin.tip.openIdUrl=Open ID identifier (in the form of a URL).
userAdmin.tip.password=User''s password.  Fill in only to change it to what you enter.
userAdmin.tip.email=Valid email address needed for automated notification.
userAdmin.tip.enabled=Disabled users are unable to login to Roller.
userAdmin.tip.userAdmin=Check to give user Global Admin rights on this Roller instance.
userAdmin.tip.locale=User''s preferred locale.
userAdmin.tip.timeZone=User''s preferred timezone.


userAdmin.userSaved=User profile saved
userAdmin.cantChangeOwnRole=Cannot change your own role

userAdmin.error.userNotFound=Specified user not found

# --------------------------------------------------------------- User register

userRegister.prompt=Welcome! Before you can get started, you need to create a \
new user account. Please complete this form and click the button at the end \
to request your new account. <b>All fields are required</b>.

Register.disabled=The administrator of this site has disabled user registrations \
at this time. Please contact the system administrators if you think this is \
incorrect.

userRegister.heading.identification=How would you like to be identified?
userRegister.tip.identification=Enter your name(s) so you can be identified on \
this site and your email address so we can reach you for account activation.

userRegister.tip.userName=A short one-word username to uniquely identify \
yourself on the site. Please limit it to simple alphanumeric characters (a-z, \
A-Z and 0-9) and do not use HTML. You will <b>not</b> be able to change this \
later, but that''s OK because this string will not be publicly displayed.

userRegister.tip.screenName=Your desired screen name (with no HTML). This is \
is what will be displayed in your weblog and on weblog entries that you write.

userRegister.tip.fullName=Your full name (with no HTML), first and last. Some \
weblog themes will display this instead of (or in addition to) your screenname.

userRegister.tip.email=Please enter valid email address, the site administrator \
may disable your account if he/she cannot reach you via email.

userRegister.heading.authentication=How will you be authenticated?

userRegister.tip.openid.disabled=Enter a password to be used when you login \
and confirm that password by entering it a second time.

userRegister.tip.openid.hybrid=You can choose to login via username/password or \
<a href=\"http://openid.net\">OpenID</a>.  If you choose the latter, leave \
the password fields blank.

userRegister.tip.openid.only=This site uses only OpenID for logins, so please \
specify your OpenID identifier below. For more information about OpenID see \
<a href=\"http://openid.net\">http://openid.net</a>.

userRegister.tip.password=Your password.  
userSettings.tip.password=Your password. Fill-in only if you wish to change it.  
userRegister.tip.passwordConfirm=Confirm your password.
userRegister.tip.openIdUrl=Your OpenID identifier (in the form of a URL).

userRegister.heading.locale=What are your locale and timezone settings?

userRegister.tip.localeAndTimeZone=We have attempted to guess your preferred \
locale and timezone settings below. Please set them correctly as they will be \
used in the weblog entries you create.

userRegister.tip.timeZone=Your preferred timezone.
userRegister.tip.locale=Your preferred locale.

userRegister.heading.ready=Ready to roll?
userRegister.tip.ready=When you are, click the button below.

userRegister.button.save=Sign Up

userRegister.success.ready=Yes, form appears to be complete. Click the button below.
userRegister.error.mismatchedPasswords=Your passwords do not match!
userRegister.error.missingOpenID=Open ID URL must be provided.
userRegister.error.missingOpenIDOrPassword=Either an Open ID URL or a password must be provided.
userRegister.error.bothOpenIDAndPassword=Please supply just a password or an OpenID (not both).

# errors from validation
Register.error.screenNameNull=Screen Name is a required field
Register.error.screenNameSize=Screen Name cannot be more than 255 characters
Register.error.fullNameNull=Full name is a required field
Register.error.fullNameSize=Full name cannot be more than 255 characters
Register.error.emailAddressNull=Email address is a required field
Register.error.emailAddressSize=Email address cannot be more than 255 characters
Register.error.emailAddressBad=The email address you entered is not properly formatted
Register.error.localeNull=Locale is a required field
Register.error.localeSize=Locale cannot be more than 20 characters
Register.error.timeZoneNull=Time Zone is a required field
Register.error.timeZoneSize=Time Zone cannot be more than 20 characters


# ------------------------------------------------------------------ Weblog edit

weblogEdit.title.newEntry=New Entry
weblogEdit.subtitle.newEntry=Create a new entry in weblog <span>{0}</span>

weblogEdit.title.editEntry=Edit Entry
weblogEdit.subtitle.editEntry=Editing weblog entry in weblog <span>{0}</span>

weblogEntry.pendingEntrySubject=\
Roller: new post pending review in weblog "{0}" ({1})

weblogEntry.pendingEntryContent=User [{0}] has submitted a new weblog entry \
for your review. Please review this post and either publish it or save it as a \
draft so that user [{1}] may edit it again.\
\
Link to edit the pending post:\
<{2}>

weblogEntry.notFound=Cannot find requested weblog entry

weblogEdit.summary=Summary (optional)
weblogEdit.summary.tooltip=If provided, replaces above content on weblog home page \
with this summary and a link to the full blog entry.
weblogEdit.content=Content
weblogEdit.category=Category
weblogEdit.comments=Comments
weblogEdit.entryRemoved=Entry "{0}" deleted
weblogEdit.draft=Draft
weblogEdit.draftEntries=Recent Drafts
weblogEdit.deleteEntry=Delete Entry
weblogEdit.insertMediaFile=Insert Media File
weblogEdit.fullPreviewMode=Full Preview
weblogEdit.locale=Language
weblogEdit.pendingEntries=Pending Entries
weblogEdit.pending=Pending
weblogEdit.publishedEntries=Recent Entries
weblogEdit.post=Post to Weblog
weblogEdit.permaLink=Permalink
weblogEdit.published=Published
weblogEdit.pubTime=Publishing Time
weblogEdit.save=Save as Draft
weblogEdit.scheduled=Scheduled
weblogEdit.scheduledEntries=Scheduled Entries
weblogEdit.status=Status
weblogEdit.submitForReview=Submit for Review
weblogEdit.draftSaved=Draft saved
weblogEdit.publishedEntry=Blog entry published!
weblogEdit.scheduledEntry=Blog entry scheduled for publication on {0}
weblogEdit.submittedForReview=Entry submitted for review
weblogEdit.tags=Tags
weblogEdit.title=Title
weblogEdit.unsaved=Not saved
weblogEdit.updateTime=Last updated 

weblogEdit.allowComments=Allow comments
weblogEdit.commentDays=How long to allow comments
weblogEdit.commentsNotAllowed=Comments not allowed
weblogEdit.unlimitedCommentDays=Unlimited days
weblogEdit.days3=3 days
weblogEdit.days7=7 days
weblogEdit.days14=14 days
weblogEdit.days30=30 days
weblogEdit.days60=60 days
weblogEdit.days90=90 days

weblogEdit.pluginsToApply=Plugins To Apply
weblogEdit.miscSettings=Advanced Settings

weblogEdit.rightToLeft=Text reads right-to-left
weblogEdit.pinnedToMain=Pinned to main
weblogEdit.pinnedToMain.tooltip=Pin blog entry to top of front page weblog \
(if theme supports it).  Option provided only for global admins.
weblogEdit.searchDescription=Search Description
weblogEdit.searchDescription.tooltip=Short description of blog entry that gets \
placed in HTML header (if coded by your blog template) for SEO.
weblogEdit.trackback=Trackback
weblogEdit.sendTrackback=Send Trackback
weblogEdit.trackbackUrl=Trackback URL

weblogEdit.trackbackSuccess=Trackback succeeded.
weblogEdit.trackbackFailure=Trackback failed, remote server said "{0}"
weblogEdit.trackbackErrorTransport=Trackback failed, could not reach trackback URL.  Are you sure you put in the right URL?
weblogEdit.trackbackErrorResponse=Trackback failed, error in sending.  Response was {0} - {1}
weblogEdit.trackbackErrorParsing=Trackback failed, URL indicated success but response message was improperly formatted.  Response was: {0}
weblogEdit.trackbackError404=Trackback failed, could not reach trackback URL.  Are you sure you put in the right URL?

weblogEdit.hasComments=<a href="{0}">Comments [{1}]</a>

weblogEdit.enclosureURL=Enclosure URL
weblogEdit.enclosureURL.tooltip=Podcast or other multimedia URL to embed within the RSS & Atom feeds for this blog entry.
weblogEdit.enclosureType=Type
weblogEdit.enclosureLength=Length
weblogEdit.mediaCastFailedFetchingInfo=Unable to reach the enclosure. Check the hostname in the URL.
weblogEdit.mediaCastUrlMalformed=The enclosure URL was malformed.
weblogEdit.mediaCastResponseError=The enclosure server returned an error. Do you have the right URL?
weblogEdit.mediaCastLacksContentTypeOrLength=Unable to use enclosure URL. Server provided no content type or no length.
weblogEdit.mediaCastErrorRemoving=Error removing MediaCast from weblog entry


# errors from validation
Entry.error.titleNull=Title is a required field
Entry.error.titleSize=Title cannot be more than 255 characters
Entry.error.localeNull=Locale is a required field
Entry.error.categoryNull=Category is required field
Entry.error.textNull=Content is a required field


# -------------------------------------------------------- Weblog entries Pager 

weblogEntriesPager.latest.home=Main
weblogEntriesPager.latest.next=Next page
weblogEntriesPager.latest.prev=Previous page

weblogEntriesPager.single.home=Main
# argument ${0} is truncated title of weblog entry
weblogEntriesPager.single.next={0}
weblogEntriesPager.single.prev={0}

weblogEntriesPager.day.home=Main
# argument ${0} is date of next day
weblogEntriesPager.day.next=Next page of day ({0})
weblogEntriesPager.day.prev=Previous page of day ({0})
weblogEntriesPager.day.nextCollection=Next day ({0})
weblogEntriesPager.day.prevCollection=Previous day ({0})
weblogEntriesPager.day.dateFormat=MMM d, yyyy

weblogEntriesPager.month.home=Main
# argument ${0} is date of next month
weblogEntriesPager.month.next=Next page of month ({0})
weblogEntriesPager.month.prev=Previous page of month ({0})
weblogEntriesPager.month.nextCollection=Next month ({0})
weblogEntriesPager.month.prevCollection=Previous month ({0})
weblogEntriesPager.month.dateFormat=MMM yyyy

# ---------------------------------------------------------- Weblog Entry Remove 

weblogEntryRemove.removeWeblogEntry=Delete Weblog Entry
weblogEntryRemove.areYouSure=Are you sure you want to delete this Weblog Entry?
weblogEntryRemove.entryTitle=Entry Title
weblogEntryRemove.entryId=Entry ID

# --------------------------------------------------- Weblog Entry Export/Import

weblogEntryQuery.title=Blog Entries
weblogEntryQuery.subtitle=Find and edit entries in weblog <span>{0}</span>
weblogEntryQuery.tip=You can select an entry from the list below to edit \
or use the Filter entries control to look for entries in a specific category, \
date range or status.

weblogEntryQuery.sidebarTitle=Filter entries
weblogEntryQuery.sidebarDescription=\
Filter weblog entries by category, date, and/or status.

weblogEntryQuery.noneFound=No entries found that match filter criteria.

weblogEntryQuery.label.startDate=Start Date
weblogEntryQuery.label.endDate=End Date

weblogEntryQuery.label.category=Category
weblogEntryQuery.label.tags=Tags
weblogEntryQuery.label.text=Search string
weblogEntryQuery.label.status=Status
weblogEntryQuery.label.allEntries=All Entries
weblogEntryQuery.label.draftOnly=Draft Only
weblogEntryQuery.label.publishedOnly=Published Only
weblogEntryQuery.label.pendingOnly=Pending Only
weblogEntryQuery.label.scheduledOnly=Scheduled Only

weblogEntryQuery.view=View
weblogEntryQuery.category=Category
weblogEntryQuery.pubTime=Published
weblogEntryQuery.updateTime=Updated
weblogEntryQuery.pending=Pending
weblogEntryQuery.draft=Draft
weblogEntryQuery.scheduled=Scheduled

weblogEntryQuery.button.query=Filter

weblogEntryQuery.label.sortby=Sort by
weblogEntryQuery.label.pubTime=Publish time
weblogEntryQuery.label.updateTime=Update time
weblogEntryQuery.nowShowing=Displaying {0} weblog entries
weblogEntryQuery.prev=Previous page
weblogEntryQuery.next=Next page

weblogEntryQuery.date.toStringFormat={0,date,MM/dd/yy hh:mm a}

# ---------------------------------------------------------------------- Website

websiteSettings.title=Weblog Settings
websiteSettings.subtitle=Manage settings for weblog <span>{0}</span>
websiteSettings.tip=Change weblog title, description, comment and spam prevention settings.


# --- General settings

websiteSettings.generalSettings=General Settings
websiteSettings.websiteTitle=Title
websiteSettings.icon=Icon
websiteSettings.about=About your blog
websiteSettings.emailAddress=Email address of weblog owner
websiteSettings.editor=Weblog editor page to be used
websiteSettings.entryDisplayCount=Number of entries to display on weblog
websiteSettings.active=Weblog is active (and should be included in community listings)
websiteSettings.error.entryDisplayCount=You have chosen a value too high for ''number of entries to display''

# --- i18n settings

websiteSettings.languageSettings=Internationalization Settings
websiteSettings.enableMultiLang=I publish my weblog in multiple languages
websiteSettings.showAllLangs=Show my weblog entries from all languages on my homepage

# --- Comments

websiteSettings.commentSettings=Comments
websiteSettings.allowComments=Allow comments for your weblog?
websiteSettings.moderateComments=Moderate comments before posting
websiteSettings.emailComments=Email notification of posted comments
websiteSettings.commentsOffForInactiveWeblog=Turned comments off for inactive weblog

# --- Default comments settings

websiteSettings.defaultCommentSettings=Default comment settings
websiteSettings.defaultAllowComments=By default, allow comments for new entries
websiteSettings.defaultCommentDays=Default time to allow comments for new entries
websiteSettings.applyCommentDefaults=Apply comment defaults to existing entries (this time only)?

# --- Weblog API

websiteSettings.bloggerApi=Weblog Client API
websiteSettings.enableBloggerApi=Enable weblog client support?
websiteSettings.bloggerApiCategory=Category for posts received via clients

# --- Formatting

websiteSettings.formatting=Formatting

# --- Spam prevention

websiteSettings.spamPrevention=Spam Prevention
websiteSettings.ignoreUrls=List of words and regex expressions listed one per \
line to be added to the blacklist used to check comments, trackbacks and referrers.
websiteSettings.acceptedBlacklist=Accepted {0} string and {1} regex blacklist rules
websiteSettings.error.processingBlacklist=Error processing blacklist: {0}

# --- web analytics

websiteSettings.analyticsTrackingCode=Tracking code

# --- Buttons

websiteSettings.savedChanges=Saved changes to weblog settings
websiteSettings.button.update=Update Weblog Settings

# --- Remove weblog

websiteSettings.button.remove=Remove Weblog
websiteSettings.removeWebsiteHeading=Remove Weblog?
websiteSettings.removeWebsite=You are the last contributor to this weblog, \
would you like to remove it?
websiteSettings.removeWebsiteWarning=\
<b>WARNING</b>: removing a weblog will remove everything: all of the weblog \
entries,<br />comments, blogroll and settings. <b>Weblog removal is \
NOT REVERSIBLE</b>.

websiteRemove.title=Confirm Weblog Remove
websiteRemove.subtitle=Weblog removal is <b>NOT REVERSIBLE</b>
websiteRemove.youSure=Are you sure you want to remove the weblog <b style="color:red">{0}</b>?
websiteRemove.websiteId=Weblog ID
websiteRemove.websiteName=Weblog Name
websiteRemove.success=Successfully removed weblog [{0}]
websiteRemove.error=Error removing weblog [{0}]

websiteSettings.label1=Default Entry Formatters 
websiteSettings.label2=(applied in the listed order)

# errors from validation
WeblogConfig.error.nameNull=Name is a required field
WeblogConfig.error.nameSize=Name cannot be more than 255 characters
WeblogConfig.error.descriptionSize=Description cannot be more than 255 characters
WeblogConfig.error.analyticsCodeSize=Analytics tracking key(s) cannot be more than 1200 characters


# ------------------------------------------------------------- Welcome.jsp

welcome.title=Welcome to Roller
welcome.accountCreated=Your new user account has been created.
welcome.clickHere=Click here
welcome.toLoginAndPost=to login.

welcome.user.account.activated=Your user account is activated.
welcome.user.account.not.activated=In order to login to the system, you have to \
activate your user account by clicking the link that is sent to you via e-mail.

# ---------------------------------------------------------------- Your Weblogs

yourWebsites.title=Your Weblogs
yourWebsites.actions=Actions

yourWebsites.prompt.noBlog=You have a user account, but no weblog. \
Would you like to
yourWebsites.createOne=create one?

yourWebsites.prompt.hasBlog=Access your weblogs here or create a new one.

yourWebsites.accept=accept
yourWebsites.decline=decline

yourWebsites.resign=Resign
yourWebsites.youHave=You have
yourWebsites.permission=Permission
yourWebsites.confirmResignation=Are you sure you wish to resign from weblog [{0}]?
yourWebsites.weblog=Link

yourWebsites.newEntry=New&nbsp;Entry
yourWebsites.editEntries=Entries
yourWebsites.manageComments=Comments
yourWebsites.theme=Theme
yourWebsites.manage=Settings

yourWebsites.createWeblog=Create new weblog 
yourWebsites.createWeblog.desc=\
Feel like you''ve got more to say? Maybe another weblog is what you need. 

yourWebsites.editProfile=Your Profile
yourWebsites.editProfile.desc=Change user info, password, timezone

yourWebsites.oauthKeys=OAuth Credentials
yourWebsites.oauthKeys.desc=Enable other sites and programs to access your \
account remotely.

yourWebsites.globalAdmin=Server administration
yourWebsites.globalAdmin.desc=Make site-wide administration changes.

yourWebsites.planetAdmin=Planet administration
yourWebsites.planetAdmin.desc=\
Manage the planet aggregator. Add feeds, organize groups, set configs.


yourWebsites.invitations=Weblog Invitations
yourWebsites.invitationsPrompt=You have one or more invitations to accept or \
decline:
yourWebsites.youAreInvited=You are invited to join weblog [{0}] - 

yourWebsites.declined=You have declined an invitation to join weblog [{0}]
yourWebsites.resigned=You have resigned from weblog [{0}]
yourWebsites.permNotFound=Sorry, that invitation was just revoked.

yourWebsites.userCount=Members
yourWebsites.todaysHits=Today''s hits

# ---------------------------------------------------------------- Activating User Account with E-mail

createUser.add.success=User created

error.activate.user.missingActivationCode=Activation code is missing.
error.activate.user.invalidActivationCode=\
Invalid activation code. You must have already activated your account. \
If not, please contact your Roller administrator for assistance.

user.account.activation.mail.subject=Roller: Activation Code for your user account
user.account.activation.mail.content=\
<html><body style=\"background: white; color: black; font-size: 12px\"> \
<p>To activate your new Roller user account with username [{1}], please click the link below:</p> \
<p><a href=\"{2}\">{2}</a></p></body></html>
