OK, I'm done with the preg_replace() in the paragraph parser. It's too buggy. Replaced with preg_match_all()/str_replace_once().
/*
* Enano - an open-source CMS capable of wiki functions, Drupal-like sidebar blocks, and everything in between
* Version 1.1.6 (Caoineag beta 1)
* Copyright (C) 2006-2007 Dan Fuhry
*
* This program is Free Software; you can redistribute and/or modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for details.
*/
var enano_lang = {
categories: [
'meta', 'search', 'specialpage', 'pagetools', 'log'
],
strings: {
meta: {
search: 'Search page',
specialpage: 'Special pages',
pagetools: 'Userspace page-management tools',
log: 'Log and history display',
},
specialpage: {
administration: 'Administration',
manage_sidebar: 'Manage the Sidebar',
css: 'Templated style sheet generator',
groupcp: 'Group Membership',
create_page: 'Create page',
all_pages: 'All pages',
special_pages: 'List of special pages',
about_enano: 'About Enano',
gnu_gpl: 'GNU General Public License',
tag_cloud: 'Tag cloud',
search_rebuild: 'Rebuild search index',
search: 'Search',
upload_file: 'Upload file',
download_file: 'Download file',
log_in: 'Log in',
log_out: 'Log out',
register: 'Register',
preferences: 'Edit Profile',
autofill: 'Javascript suggestion servlet',
contributions: 'User contributions',
change_theme: 'Change my preferred theme',
activate_account: 'Activate user account',
captcha: 'CAPTCHA image generator',
password_reset: 'Reset forgotten password',
member_list: 'Member list',
language_export: 'Language exporter',
private_messages: 'Private Messages',
log: 'Log',
avatar: 'Fetch avatar'
},
search: {
th_advanced_search: 'Advanced Search',
err_query_title: 'Some problems were encountered during your search.',
err_query_body: 'There was a problem with your search query, and as a result there may be a reduced number of search results.',
err_query_too_many_terms: 'Some of your search terms were excluded because searches are limited to 20 terms to prevent excessive server load.',
err_query_has_stopwords: 'One or more of your search terms was excluded because either it was less than 2 characters in length or is a common word (a stopword) that is typically found on a large number of pages. Examples of stopwords include "the", "this", "which", "with", etc.',
err_query_dup_terms: 'One or more of your search terms was excluded because duplicate terms were encountered.',
err_query_term_too_short: 'One or more of your search terms was excluded because terms must be at least 4 characters in length.',
err_query_no_positive: 'You need to have at least one keyword in your search query. Searching only for pages not containing a term is not allowed.',
btn_search: 'Search',
// note the case difference with th_advanced_search
btn_advanced_search: 'Advanced search',
msg_no_results: 'No results.',
msg_result_detail: 'Results <b>%start_string%</b> - <b>%per_string%</b> of about <b>%num_results%</b> for <b>%q_trim%</b> in %search_time%s.',
body_no_results_title: 'Your search for <b>"%query%"</b> didn\'t turn up any results.',
body_no_results_body: '<p>There are a few things you can try:</p>
<ul>
<li>Were you looking for a specific Special page? Special pages are not searchable. You may want to see a <a href="%special_url%">list of special pages</a>.</li>
<li>If you have the appropriate permissions, you can <a href="%create_url%">start the %query% page</a>.</li>
<li>Try using fewer keywords. You can get broader results if you remove quotes from your search query.</li>
<li>Did your search trigger any warnings? Sometimes a search can be cancelled if there aren\'t any terms in a search query that are 4 characters or greater in length.</li>
</ul>',
lbl_site_search: 'Site search',
lbl_relevance: 'Relevance:',
lbl_field_any: 'Search for pages with <b>any of these words</b>:',
lbl_field_exact: 'with <b>this exact phrase</b>:',
lbl_field_none: 'with <b>none of these words</b>:',
lbl_field_all: 'with <b>all of these words</b>:',
lbl_field_casesensitive: 'Case-sensitive search:',
result_tag_special: 'Special page',
},
pagetools: {
// Create a page
create_err_invalid_namespace: 'You have selected an invalid page type.',
create_err_invalid_urlname: 'Please enter a title for your page and a custom URL if desired.',
create_err_already_exists: 'A page with that URL already exists. Please enter another title or enter a custom URL. (You can have two pages with the same name, but not two pages with the same URL.)',
create_err_no_permission: 'You don\'t have permission to create this page. Try another URL or title; if that does not work, please contact the site administration for permission to create pages.',
create_err_nodb_namespace: 'You cannot create Special or Admin pages - they can\'t be stored in the database.',
create_err_reserved_prefix: 'The prefix "Project:" is reserved for internal links and can\'t be used on a page name.',
create_blurb: 'Add a new page to the site.',
create_field_title: 'Page title:',
create_field_namespace: 'Page type:',
create_group_advanced: 'Advanced options',
create_field_url_auto: 'Generate a URL based on the title',
create_field_url_manual: 'Enter a custom page URL',
create_field_url: 'Page ID:',
create_field_preview: 'Preview of URL:',
create_field_preview_hint: '(Requires Javascript support)',
create_btn_create: 'Create page',
// All pages
allpages_blurb: 'Below is a list of all of the pages on this website.',
// Special pages
specialpages_blurb: 'Below is a list of all of the special pages on this website.',
// GPL page
gpl_blurb: 'The following text represents the license that the <a href="%about_url%">Enano</a> content management system is under. To make it easier to read, the text has been wiki-formatted; in no other way has it been changed.',
// !!
// !! The following three strings will be used ONLY in non-English
// !! languages. A Spanish example is provided here.
// !!
// "Version in Spanish"
gpl_title_native: 'Versión en español',
// "Version in English"
gpl_title_english: 'Versión en inglés',
// "View the license in English"
gpl_link_to_english: 'Vea la licencia en inglés',
gpl_err_file_missing: 'It appears that the file "GPL" is missing from your Enano installation. You may find a wiki-formatted copy of the GPL at: <a href="http://enanocms.org/GPL">http://enanocms.org/GPL</a>. In the mean time, you may wish to contact the site administration and ask them to replace the GPL file.',
// Tag cloud
tagcloud_pagelist_th: 'Pages tagged "%tag%"',
tagcloud_blurb: 'Summary of page tagging',
tagcloud_msg_no_tags: 'No pages are tagged yet.',
tagcloud_btn_return: 'Return to tag cloud',
tagcloud_instructions: 'Hover your mouse over a tag to see how many pages have the tag. Click on a tag to see a list of the pages that have it.',
tagcloud_sidebar_title: 'Tag cloud',
tagcloud_sidebar_btn_larger: 'Larger version',
tagcloud_tip_popularity_one: '1 page',
tagcloud_tip_popularity_plural: '%popularity% pages',
// Recent changes
rc_btn_diff: 'diff',
rc_btn_hist: 'hist',
rc_btn_undo: 'undo',
rc_btn_view: 'view',
rc_btn_pm: 'PM',
rc_btn_usertalk: 'comment',
},
log: {
action_rename: 'Renamed (old name: %old_name%)',
action_create: 'Created page',
action_delete: 'Deleted page (%reason%)',
action_protect_none: 'Unprotected page (%reason%)',
action_protect_semi: 'Semiprotected page (%reason%)',
action_protect_full: 'Protected page (%reason%)',
action_reupload: 'Uploaded new revision: %reason%',
action_votereset: 'Reset deletion votes (had %num_votes% vote%plural%)',
action_protect: 'Protect and unprotect',
action_edit: 'Edit',
breadcrumb_author: 'Author: %user%',
breadcrumb_within: 'Newer than: %time%',
breadcrumb_page: 'Page: %page%',
breadcrumb_action: 'Action: %action%',
msg_no_reason_provided: 'No reason provided',
msg_reversion: 'Reversion of previous action',
msg_file_restored: 'Restored previous version',
msg_no_results: 'No results',
msg_no_filters: 'All site logs',
form_filtertype_user: 'Author',
form_filtertype_within: 'Within',
form_filtertype_page: 'Page',
form_filtertype_action: 'Action',
form_filtertype_minor: 'Minor edit',
form_filtertype_minor_yes: 'Show only minor edits',
form_filtertype_minor_no: 'Hide minor edits',
formaction_rename: 'Rename',
formaction_create: 'Create page',
formaction_delete: 'Delete page',
formaction_reupload: 'File reupload',
formaction_votereset: 'Reset of deletion votes',
heading_addfilter: 'Add a filter',
heading_logdisplay: 'Log filter results',
btn_add_filter: 'Add filter',
err_addfilter_field_empty: 'The filter was not added because you didn\'t enter a valid value in the field.',
err_access_denied: 'You don\'t have permission to view page logs.',
}
}
};
// All done! :-)