Created 0.2.1-rc1 release

This commit is contained in:
Sam Minnee 2009-07-07 23:54:41 +00:00
parent fc60f702de
commit b7293651ed
62 changed files with 2852 additions and 0 deletions

42
0.2.1-rc1/ChangeLog Normal file
View File

@ -0,0 +1,42 @@
ChangeLog
0.2.0
Features
- Blogs can now be configured to use HTML instead of BBCode
- Tags now follow the rel-tag microformat standard
- Blog module is now translatable
- The entries shown on the BlogHolder when not browsing by date/tag can now be restricted to only show entries that are younger than a user specified age
- The RSS feed name can now be changed in the CMS
- Added support for receiving trackback pings
- Added SubscribeRSSWidget for linking directly to the blog RSS feed
- Tag widget title is now editable
- Added empty relationship statics so BlogEntry and BlogHolder can be decorated by a DataObjectDecorator
- Use pagination summary, so a full list of pages isnt generated
- Added Date variable to RSSWidget feed items, so Date can be used in template if wanted
- Cast Title variable on RSSWidget feed items, so Title can have Text functions called in the template if wanted
Bugfixes
- Removed deprecated calls to sapphire, and made other fixes to support sapphire 2.3.0
- Don't use PHP short tags
- Don't display $Content on a BlogHolder, as it isnt editable in the CMS
- Prevent infinite loops when an RSSWidget on a blog points to itself
- Fix URL segment generation
- RSS feed is now sorted by date, newest first
- Fixed pagination
- Fixed summaries on BlogHolder
- Fixed issues with display by month when blog post is on last month of the day
- BlogEntry::Tags() was renamed to TagsCollection() to prevent conflicts with the database fields called Tags
- Fixed invalid use of single quotes in BlogEntryForm HTML
- Fixed extra <p> tags around blog content
- Default parent needs to be a string instead of an array
- Fixed escaping in BlogHolder
- Use themedCSS instead of hardlinking paths
- Fixed rss feed caching
- Fixed archive widget showing months and years for unpublished posts
- SetDate doesn't need to be called, as the date is automatically set
0.1
Initial release

15
0.2.1-rc1/README Normal file
View File

@ -0,0 +1,15 @@
####################################################
Blog Module
####################################################
# Maintainer Contact
Andrew O'Neil (Nickname: aoneil)
<andrew (at) silverstripe (dot) com>
# Requirements
SilverStripe minimum version 2.3.0
# Documentation
http://doc.silverstripe.com/doku.php?id=modules:blog

3
0.2.1-rc1/_config.php Normal file
View File

@ -0,0 +1,3 @@
<?php
?>

View File

@ -0,0 +1,92 @@
<?php
/**
* Shows a widget with viewing blog entries
* by months or years.
*
* @package blog
*/
class ArchiveWidget extends Widget {
static $db = array(
'DisplayMode' => 'Varchar'
);
static $defaults = array(
'DisplayMode' => 'month'
);
static $title = 'Browse by Date';
static $cmsTitle = 'Blog Archive';
static $description = 'Show a list of months or years in which there are blog posts, and provide links to them.';
function getBlogHolder() {
$page = Director::currentPage();
if($page instanceof BlogHolder) {
return $page;
} elseif(($page instanceof BlogEntry) && ($page->getParent() instanceof BlogHolder)) {
return $page->getParent();
} else {
return DataObject::get_one('BlogHolder');
}
}
function getCMSFields() {
return new FieldSet(
new OptionsetField(
'DisplayMode',
_t('ArchiveWidget.DispBY', 'Display by'),
array(
'month' => _t('ArchiveWidget.MONTH', 'month'),
'year' => _t('ArchiveWidget.YEAR', 'year')
)
)
);
}
function Dates() {
Requirements::themedCSS('archivewidget');
$results = new DataObjectSet();
$blogHolder = $this->getBlogHolder();
$id = $blogHolder->ID;
$stage = Versioned::current_stage();
$suffix = (!$stage || $stage == 'Stage') ? "" : "_$stage";
if($this->DisplayMode == 'month') {
$sqlResults = DB::query("SELECT DISTINCT MONTH(`Date`) AS `Month`, YEAR(`Date`) AS `Year` FROM `SiteTree$suffix` NATURAL JOIN `BlogEntry$suffix` WHERE `ParentID` = $id ORDER BY `Date` DESC");
} else {
$sqlResults = DB::query("SELECT DISTINCT YEAR(`Date`) AS `Year` FROM `SiteTree$suffix` NATURAL JOIN `BlogEntry$suffix` WHERE `ParentID` = $id ORDER BY `Date` DESC");
}
if(!$sqlResults) return new DataObjectSet();
foreach($sqlResults as $sqlResult) {
$date = new Date('Date');
$month = ($this->DisplayMode == 'month') ? (int)$sqlResult['Month'] : 1;
$date->setValue(array(
'Day' => 1,
'Month' => $month,
'Year' => (int) $sqlResult['Year']
));
if($this->DisplayMode == 'month') {
$link = $blogHolder->Link() . $sqlResult['Year']. '/' . sprintf("%'02d", $sqlResult['Month']);
} else {
$link = $blogHolder->Link() . $sqlResult['Year'];
}
$results->push(new ArrayData(array(
'Date' => $date,
'Link' => $link
)));
}
return $results;
}
}
?>

View File

@ -0,0 +1,216 @@
<?php
/**
* An individual blog entry page type.
*
* @package blog
*/
class BlogEntry extends Page {
static $default_parent = 'BlogHolder';
static $can_be_root = false;
static $icon = "blog/images/blogpage";
static $db = array(
"Date" => "SSDatetime",
"Author" => "Text",
"Tags" => "Text"
);
static $has_one = array(
);
static $has_many = array(
);
static $many_many = array(
);
static $defaults = array(
"ProvideComments" => true,
'ShowInMenus' => false
);
static $extensions = array(
'Hierarchy',
'TrackBackDecorator',
"Versioned('Stage', 'Live')"
);
/**
* Is WYSIWYG editing allowed?
* @var boolean
*/
static $allow_wysiwyg_editing = false;
/**
* Is WYSIWYG editing enabled?
* Used in templates.
*
* @return boolean
*/
public function IsWYSIWYGEnabled() {
return self::$allow_wysiwyg_editing;
}
/**
* Overload so that the default date is today.
*/
public function populateDefaults(){
parent::populateDefaults();
$this->setField('Date', date('Y-m-d H:i:s', strtotime('now')));
}
function getCMSFields() {
Requirements::javascript('blog/javascript/bbcodehelp.js');
Requirements::themedCSS('bbcodehelp');
$firstName = Member::currentUser() ? Member::currentUser()->FirstName : '';
$codeparser = new BBCodeParser();
$fields = parent::getCMSFields();
if(!self::$allow_wysiwyg_editing) {
$fields->removeFieldFromTab("Root.Content.Main","Content");
$fields->addFieldToTab("Root.Content.Main", new TextareaField("Content", _t("BlogEntry.CN", "Content"), 20));
}
$fields->addFieldToTab("Root.Content.Main", new PopupDateTimeField("Date", _t("BlogEntry.DT", "Date")),"Content");
$fields->addFieldToTab("Root.Content.Main", new TextField("Author", _t("BlogEntry.AU", "Author"), $firstName),"Content");
if(!self::$allow_wysiwyg_editing) {
$fields->addFieldToTab("Root.Content.Main", new LiteralField("BBCodeHelper", "<div id='BBCode' class='field'>" .
"<a id=\"BBCodeHint\" target='new'>" . _t("BlogEntry.BBH", "BBCode help") . "</a>" .
"<div id='BBTagsHolder' style='display:none;'>".$codeparser->useable_tagsHTML()."</div></div>"));
}
$fields->addFieldToTab("Root.Content.Main", new TextField("Tags", _t("BlogEntry.TS", "Tags (comma sep.)")),"Content");
return $fields;
}
/**
* Returns the tags added to this blog entry
*/
function TagsCollection() {
$tags = split(" *, *", trim($this->Tags));
$output = new DataObjectSet();
foreach($tags as $tag) {
$output->push(new ArrayData(array(
'Tag' => $tag,
'Link' => $this->getParent()->Link() . 'tag/' . urlencode($tag)
)));
}
if($this->Tags) {
return $output;
}
}
/**
* Get the sidebar from the BlogHolder.
*/
function SideBar() {
return $this->getParent()->SideBar();
}
/**
* Get a bbcode parsed summary of the blog entry
*/
function ParagraphSummary(){
if(self::$allow_wysiwyg_editing) {
return $this->obj('Content')->FirstParagraph('html');
} else {
$parser = new BBCodeParser($this->Content);
$html = new HTMLText('Content');
$html->setValue($parser->parse());
return $html->FirstParagraph('html');
}
}
/**
* Get the bbcode parsed content
*/
function ParsedContent() {
if(self::$allow_wysiwyg_editing) {
return $this->obj('Content');
} else {
$parser = new BBCodeParser($this->Content);
$content = new Text('Content');
$content->value = $parser->parse();
return $content;
}
}
/**
* Link for editing this blog entry
*/
function EditURL() {
return $this->getParent()->Link('post') . '/' . $this->ID . '/';
}
/**
* Check to see if trackbacks are enabled.
*/
function TrackBacksEnabled() {
return $this->getParent()->TrackBacksEnabled;
}
function trackbackping() {
if($this->TrackBacksEnabled()) {
return $this->extInstance('TrackBackDecorator')->trackbackping();
} else {
Director::redirect($this->Link());
}
}
/**
* Call this to enable WYSIWYG editing on your blog entries.
* By default the blog uses BBCode
*/
static function allow_wysiwyg_editing() {
self::$allow_wysiwyg_editing = true;
}
}
class BlogEntry_Controller extends Page_Controller {
static $allowed_actions = array(
'trackbackping',
'unpublishPost',
'PageComments'
);
function init() {
parent::init();
Requirements::themedCSS('blog');
}
/**
* Gets a link to unpublish the blog entry
*/
function unpublishPost() {
if(!Permission::check('ADMIN')) {
Security::permissionFailure(
$this,
'Unpublishing blogs is an administrator task. Please log in.'
);
} else {
$SQL_id = (int) $this->ID;
$page = DataObject::get_by_id('SiteTree', $SQL_id);
$page->deleteFromStage('Live');
$page->flushCache();
$page = DataObject::get_by_id('SiteTree', $SQL_id);
$page->Status = 'Unpublished';
Director::redirect($this->getParent()->Link());
}
}
}
?>

View File

@ -0,0 +1,381 @@
<?php
/**
* @package blog
*/
/**
* Blog holder to display summarised blog entries
*/
class BlogHolder extends Page {
static $icon = "blog/images/blogholder";
static $db = array(
'LandingPageFreshness' => 'Varchar',
'Name' => 'Varchar',
'TrackBacksEnabled' => 'Boolean'
);
static $has_one = array(
"SideBar" => "WidgetArea"
);
static $has_many = array(
);
static $many_many = array(
);
static $allowed_children = array(
'BlogEntry'
);
function getCMSFields() {
$fields = parent::getCMSFields();
$fields->removeFieldFromTab("Root.Content.Main","Content");
$fields->addFieldToTab("Root.Content.Widgets", new WidgetAreaEditor("SideBar"));
$fields->addFieldToTab("Root.Content.Main", new TextField("Name", "Name of blog"));
$fields->addFieldToTab('Root.Content.Main', new DropdownField('LandingPageFreshness', 'When you first open the blog, how many entries should I show', array(
"" => "All entries",
"1 MONTH" => "Last month's entries",
"2 MONTH" => "Last 2 months' entries",
"3 MONTH" => "Last 3 months' entries",
"4 MONTH" => "Last 4 months' entries",
"5 MONTH" => "Last 5 months' entries",
"6 MONTH" => "Last 6 months' entries",
"7 MONTH" => "Last 7 months' entries",
"8 MONTH" => "Last 8 months' entries",
"9 MONTH" => "Last 9 months' entries",
"10 MONTH" => "Last 10 months' entries",
"11 MONTH" => "Last 11 months' entries",
"12 MONTH" => "Last year's entries"
)));
$fields->addFieldToTab('Root.Content.Main', new CheckboxField('TrackBacksEnabled', 'Enable TrackBacks'));
return $fields;
}
/**
* Get entries in this blog.
* @param string limit A clause to insert into the limit clause.
* @param string tag Only get blog entries with this tag
* @param string date Only get blog entries on this date - either a year, or a year-month eg '2008' or '2008-02'
* @return DataObjectSet
*/
public function Entries($limit = '', $tag = '', $date = '') {
$tagCheck = '';
$dateCheck = '';
if($tag) {
$SQL_tag = Convert::raw2sql($tag);
$tagCheck = "AND `BlogEntry`.Tags LIKE '%$SQL_tag%'";
}
if($date) {
if(strpos($date, '-')) {
$year = (int) substr($date, 0, strpos($date, '-'));
$month = (int) substr($date, strpos($date, '-') + 1);
if($year && $month) {
$dateCheck = "AND MONTH(`BlogEntry`.Date) = $month AND YEAR(`BlogEntry`.Date) = $year";
}
} else {
$year = (int) $date;
if($year) {
$dateCheck = "AND YEAR(`BlogEntry`.Date) = $year";
}
}
}
return DataObject::get("Page","`ParentID` = $this->ID $tagCheck $dateCheck","`BlogEntry`.Date DESC",'',"$limit");
}
/**
* Only display the blog entries that have the specified tag
*/
function ShowTag() {
if(Director::urlParam('Action') == 'tag') {
return Convert::raw2xml(Director::urlParam('ID'));
}
}
/**
* Check if url has "/post"
*/
function isPost() {
return Director::urlParam('Action') == 'post';
}
/**
* Link for creating a new blog entry
*/
function postURL(){
return $this->Link('post');
}
/**
* Create default blog setup
*/
function requireDefaultRecords() {
parent::requireDefaultRecords();
if(!DataObject::get_one('BlogHolder')) {
$blogholder = new BlogHolder();
$blogholder->Title = "Blog";
$blogholder->URLSegment = "blog";
$blogholder->Status = "Published";
$widgetarea = new WidgetArea();
$widgetarea->write();
$blogholder->SideBarID = $widgetarea->ID;
$blogholder->write();
$blogholder->publish("Stage", "Live");
$managementwidget = new BlogManagementWidget();
$managementwidget->ParentID = $widgetarea->ID;
$managementwidget->write();
$tagcloudwidget = new TagCloudWidget();
$tagcloudwidget->ParentID = $widgetarea->ID;
$tagcloudwidget->write();
$archivewidget = new ArchiveWidget();
$archivewidget->ParentID = $widgetarea->ID;
$archivewidget->write();
$widgetarea->write();
$blog = new BlogEntry();
$blog->Title = _t('BlogHolder.SUCTITLE', "SilverStripe blog module successfully installed");
$blog->URLSegment = 'sample-blog-entry';
$blog->Tags = _t('BlogHolder.SUCTAGS',"silverstripe, blog");
$blog->Content = _t('BlogHolder.SUCCONTENT',"Congratulations, the SilverStripe blog module has been successfully installed. This blog entry can be safely deleted. You can configure aspects of your blog (such as the widgets displayed in the sidebar) in [url=admin]the CMS[/url].");
$blog->Status = "Published";
$blog->ParentID = $blogholder->ID;
$blog->write();
$blog->publish("Stage", "Live");
Database::alteration_message("Blog page created","created");
}
}
}
class BlogHolder_Controller extends Page_Controller {
static $allowed_actions = array(
'postblog' => 'BLOGMANAGEMENT',
'post' => 'BLOGMANAGEMENT',
'BlogEntryForm' => 'BLOGMANAGEMENT',
'rss',
'tag',
'showarchive',
);
function init() {
parent::init();
// This will create a <link> tag point to the RSS feed
RSSFeed::linkToFeed($this->Link() . "rss", _t('BlogHolder.RSSFEED',"RSS feed of this blog"));
Requirements::themedCSS("blog");
Requirements::themedCSS("bbcodehelp");
}
function BlogEntries($limit = 10) {
$start = isset($_GET['start']) ? (int) $_GET['start'] : 0;
$tag = '';
$date = '';
if(Director::urlParams()) {
if(Director::urlParam('Action') == 'tag') {
$tag = Director::urlParam('ID');
} else {
$year = Director::urlParam('Action');
$month = Director::urlParam('ID');
if($month && is_numeric($month) && $month >= 1 && $month <= 12 && is_numeric($year)) {
$date = "$year-$month";
} else if(is_numeric($year)) {
$date = $year;
}
}
}
return $this->Entries("$start,$limit", $tag, $date);
}
/**
* Gets the archived blogs for a particular month or year, in the format /year/month/ eg: /2008/10/
*/
function showarchive() {
$month = addslashes($this->urlParams['ID']);
return array(
"Children" => DataObject::get('SiteTree', "ParentID = $this->ID AND DATE_FORMAT(`BlogEntry`.`Date`, '%Y-%M') = '$month'"),
);
}
function ArchiveMonths() {
$months = DB::query("SELECT DISTINCT DATE_FORMAT(`BlogEntry`.`Date`, '%M') AS `Month`, DATE_FORMAT(`BlogEntry`.`Date`, '%Y') AS `Year` FROM `BlogEntry` ORDER BY `BlogEntry`.`Date` DESC");
$output = new DataObjectSet();
foreach($months as $month) {
$month['Link'] = $this->Link() . "showarchive/$month[Year]-$month[Month]";
$output->push(new ArrayData($month));
}
return $output;
}
function tag() {
if($this->ShowTag()) {
return array(
'Tag' => $this->ShowTag()
);
} else {
return array();
}
}
/**
* Get the rss feed for this blog holder's entries
*/
function rss() {
global $project;
$blogName = $this->Name;
$altBlogName = $project . ' blog';
$entries = $this->Entries(20);
if($entries) {
$rss = new RSSFeed($entries, $this->Link(), ($blogName ? $blogName : $altBlogName), "", "Title", "ParsedContent");
$rss->outputToBrowser();
}
}
/**
* Return list of usable tags for help
*/
function BBTags() {
return BBCodeParser::usable_tags();
}
/**
* Post a new blog entry
*/
function post(){
if(!Permission::check('BLOGMANAGEMENT')) return Security::permissionFailure();
$page = $this->customise(array(
'Content' => false,
'Form' => $this->BlogEntryForm()
));
return $page->renderWith('Page');
}
function defaultAction($action) {
// Protection against infinite loops when an RSS widget pointing to this page is added to this page
if(stristr($_SERVER['HTTP_USER_AGENT'], 'SimplePie')) {
return $this->rss();
}
return parent::defaultAction($action);
}
/**
* A simple form for creating blog entries
*/
function BlogEntryForm() {
if(!Permission::check('BLOGMANAGEMENT')) return Security::permissionFailure();
Requirements::javascript('jsparty/behaviour.js');
Requirements::javascript('jsparty/prototype.js');
Requirements::javascript('jsparty/scriptaculous/effects.js');
Requirements::javascript('cms/javascript/PageCommentInterface.js');
Requirements::javascript('blog/javascript/bbcodehelp.js');
$id = 0;
if(Director::urlParam('ID')) {
$id = (int) Director::urlParam('ID');
}
$codeparser = new BBCodeParser();
$membername = Member::currentMember() ? Member::currentMember()->getName() : "";
if(BlogEntry::$allow_wysiwyg_editing) {
$contentfield = new HtmlEditorField("BlogPost", _t("BlogEntry.CN"));
} else {
$contentfield = new CompositeField(
new LiteralField("BBCodeHelper","<a id=\"BBCodeHint\" target='new'>"._t("BlogEntry.BBH")."</a><div class='clear'><!-- --></div>" ),
new TextareaField("BlogPost", _t("BlogEntry.CN"),20), // This is called BlogPost as the id #Content is generally used already
new LiteralField("BBCodeTags","<div id=\"BBTagsHolder\">".$codeparser->useable_tagsHTML()."</div>")
);
}
if(class_exists('TagField')) {
$tagfield = new TagField('Tags', null, null, 'BlogEntry');
$tagfield->setSeparator(', ');
} else {
$tagfield = new TextField('Tags');
}
$fields = new FieldSet(
new HiddenField("ID", "ID"),
new TextField("Title",_t('BlogHolder.SJ', "Subject")),
new TextField("Author",_t('BlogEntry.AU'),$membername),
$contentfield,
$tagfield,
new LiteralField("Tagsnote"," <label id='tagsnote'>"._t('BlogHolder.TE', "For example: sport, personal, science fiction")."<br/>" .
_t('BlogHolder.SPUC', "Please separate tags using commas.")."</label>")
);
$submitAction = new FormAction('postblog', _t('BlogHolder.POST', 'Post blog entry'));
$actions = new FieldSet($submitAction);
$validator = new RequiredFields('Title','Content');
$form = new Form($this, 'BlogEntryForm',$fields, $actions,$validator);
if($id != 0) {
$entry = DataObject::get_by_id('BlogEntry', $id);
$form->loadNonBlankDataFrom($entry);
$form->datafieldByName('BlogPost')->setValue($entry->Content);
} else {
$form->loadNonBlankDataFrom(array("Author" => Cookie::get("BlogHolder_Name")));
}
return $form;
}
function postblog($data, $form) {
if(!Permission::check('BLOGMANAGEMENT')) return Security::permissionFailure();
Cookie::set("BlogHolder_Name", $data['Author']);
$blogentry = false;
if(isset($data['ID']) && $data['ID']) {
$blogentry = DataObject::get_by_id("BlogEntry", $data['ID']);
}
if(!$blogentry) {
$blogentry = new BlogEntry();
}
$form->saveInto($blogentry);
$blogentry->ParentID = $this->ID;
$blogentry->Content = $form->datafieldByName('BlogPost')->dataValue();
$blogentry->Status = "Published";
$blogentry->writeToStage("Stage");
$blogentry->publish("Stage", "Live");
Director::redirect($this->Link());
}
}
?>

View File

@ -0,0 +1,56 @@
<?php
class BlogManagementWidget extends Widget {
static $db = array();
static $title = "Blog Management";
static $cmsTitle = "Blog Management";
static $description = "Provide a number of links useful for administering a blog. Only shown if the user is an admin.";
function CommentText() {
$unmoderatedcount = DB::query("SELECT COUNT(*) FROM PageComment WHERE NeedsModeration=1")->value();
if($unmoderatedcount == 1) {
return _t("BlogManagementWidget.UNM1", "You have 1 unmoderated comment");
} else if($unmoderatedcount > 1) {
return sprintf(_t("BlogManagementWidget.UNMM", "You have %i unmoderated comments"), $unmoderatedcount);
} else {
return _t("BlogManagementWidget.COMADM", "Comment administration");
}
}
function CommentLink() {
$unmoderatedcount = DB::query("SELECT COUNT(*) FROM PageComment WHERE NeedsModeration=1")->value();
if($unmoderatedcount > 0) {
return "admin/comments/unmoderated";
} else {
return "admin/comments";
}
}
function WidgetHolder() {
if(Permission::check("ADMIN")) {
return $this->renderWith("WidgetHolder");
}
}
function PostLink() {
$blogholder = $this->getBlogHolder();
return $blogholder->Link('post');
}
function getBlogHolder() {
$page = Director::currentPage();
if($page->is_a("BlogHolder")) {
return $page;
} else if($page->is_a("BlogEntry") && $page->getParent()->is_a("BlogHolder")) {
return $page->getParent();
} else {
return DataObject::get_one("BlogHolder");
}
}
}
?>

View File

@ -0,0 +1,75 @@
<?php
class RSSWidget extends Widget {
static $db = array(
"RSSTitle" => "Text",
"RssUrl" => "Text",
"NumberToShow" => "Int"
);
static $defaults = array(
"NumberToShow" => 10,
"RSSTitle" => 'RSS Feed'
);
static $cmsTitle = "RSS Feed";
static $description = "Shows the latest entries of a RSS feed.";
/**
* If the RssUrl is relative, convert it to absolute with the
* current baseURL to avoid confusing simplepie.
* Passing relative URLs to simplepie will result
* in strange DNS lookups and request timeouts.
*
* @return string
*/
function getAbsoluteRssUrl() {
$urlParts = parse_url($this->RssUrl);
if(!isset($urlParts['host']) || !$urlParts['host']) {
return Director::absoluteBaseURL() . $this->RssUrl;
} else {
return $this->RssUrl;
}
}
function getCMSFields() {
return new FieldSet(
new TextField("RSSTitle", _t('RSSWidget.CT', "Custom title for the feed")),
new TextField("RssUrl", _t('RSSWidget.URL', "URL of RSS Feed")),
new NumericField("NumberToShow", _t('RSSWidget.NTS', "Number of Items to show"))
);
}
function Title() {
return ($this->RSSTitle) ? $this->RSSTitle : 'RSS Feed';
}
function FeedItems() {
$output = new DataObjectSet();
include_once(Director::getAbsFile(SAPPHIRE_DIR . '/thirdparty/simplepie/SimplePie.php'));
$t1 = microtime(true);
$this->feed = new SimplePie($this->AbsoluteRssUrl, TEMP_FOLDER);
$this->feed->init();
if($items = $this->feed->get_items(0, $this->NumberToShow)) {
foreach($items as $item) {
// Cast the Date
$date = new Date('Date');
$date->setValue($item->get_date());
// Cast the Title
$title = new Text('Title');
$title->setValue($item->get_title());
$output->push(new ArrayData(array(
'Title' => $title,
'Date' => $date,
'Link' => $item->get_link()
)));
}
return $output;
}
}
}
?>

View File

@ -0,0 +1,52 @@
<?php
/**
* A simple widget that just shows a link
* to this website's blog RSS, with an RSS
* icon.
*
* @package blog
*/
class SubscribeRSSWidget extends Widget {
static $title = 'Subscribe via RSS';
static $cmsTitle = 'Subscribe via RSS widget';
static $description = 'Shows a link allowing a user to subscribe to this blog via RSS.';
/**
* Get the BlogHolder instance that this widget
* is located on.
*
* @return BlogHolder
*/
function getBlogHolder() {
$page = Director::currentPage();
if($page instanceof BlogHolder) {
return $page;
} elseif(($page instanceof BlogEntry) && ($page->getParent() instanceof BlogHolder)) {
return $page->getParent();
} else {
return DataObject::get_one('BlogHolder');
}
}
/**
* Return an absolute URL based on the BlogHolder
* that this widget is located on.
*
* @return string
*/
function RSSLink() {
Requirements::themedCSS('subscribersswidget');
$blogHolder = $this->getBlogHolder();
if($blogHolder) {
return $blogHolder->Link() . 'rss';
}
}
}
?>

View File

@ -0,0 +1,158 @@
<?php
class TagCloudWidget extends Widget {
static $db = array(
"Title" => "Varchar",
"Limit" => "Int",
"Sortby" => "Varchar"
);
static $defaults = array(
"Title" => "Tag Cloud",
"Limit" => "0",
"Sortby" => "alphabet"
);
static $cmsTitle = "Tag Cloud";
static $description = "Shows a tag cloud of tags on your blog.";
function getBlogHolder() {
$page = Director::currentPage();
if($page->is_a("BlogHolder")) {
return $page;
} else if($page->is_a("BlogEntry") && $page->getParent()->is_a("BlogHolder")) {
return $page->getParent();
} else {
return DataObject::get_one("BlogHolder");
}
}
function getCMSFields() {
return new FieldSet(
new TextField("Title", _t("TagCloudWidget.TILE", "Title")),
new TextField("Limit", _t("TagCloudWidget.LIMIT", "Limit number of tags")),
new OptionsetField("Sortby",_t("TagCloudWidget.SORTBY","Sort by"),array("alphabet"=>_t("TagCloudWidget.SBAL", "alphabet"),"frequency"=>_t("TagCloudWidget.SBFREQ", "frequency")))
);
}
function Title() {
return $this->Title ? $this->Title : 'Tag Cloud';
}
function TagsCollection() {
Requirements::css("blog/css/tagcloud.css");
$allTags = array();
$max = 0;
$blogHolder = $this->getBlogHolder();
$entries = $blogHolder->Entries();
if($entries) {
foreach($entries as $entry) {
$theseTags = split(" *, *", strtolower(trim($entry->Tags)));
foreach($theseTags as $tag) {
if($tag != "") {
$allTags[$tag] = isset($allTags[$tag]) ? $allTags[$tag] + 1 : 1; //getting the count into key => value map
$max = ($allTags[$tag] > $max) ? $allTags[$tag] : $max;
}
}
}
if($allTags) {
//TODO: move some or all of the sorts to the database for more efficiency
if($this->Limit > 0){
uasort($allTags, array($this, "column_sort_by_popularity")); //sort by popularity
$allTags = array_slice($allTags, 0, $this->Limit);
}
if($this->Sortby == "alphabet"){
$this->natksort($allTags);
}
$sizes = array();
foreach($allTags as $tag => $count){
$sizes[$count] = true;
}
$numsizes = count($sizes)-1; //Work out the number of different sizes
if($numsizes > 5){$numsizes = 5;}
foreach($allTags as $tag => $count) {
$popularity = floor($count / $max * $numsizes);
switch($popularity) {
case 0:
$class = "not-popular";
break;
case 1:
$class = "not-very-popular";
break;
case 2:
$class = "somewhat-popular";
break;
case 3:
$class = "popular";
break;
case 4:
$class = "very-popular";
break;
case 5:
$class = "ultra-popular";
break;
default:
$class = "broken";
break;
}
$allTags[$tag] = array(
"Tag" => $tag,
"Count" => $count,
"Class" => $class,
"Link" => $blogHolder->Link() . 'tag/' . urlencode($tag)
);
}
}
$output = new DataObjectSet();
foreach($allTags as $tag => $fields) {
$output->push(new ArrayData($fields));
}
return $output;
}
return;
}
/**
* Helper method to compare 2 Vars to work out the results.
* @param mixed
* @param mixed
* @return int
*/
private function column_sort_by_popularity($a, $b){
if($a == $b) {
$result = 0;
}
else {
$result = $b - $a;
}
return $result;
}
private function natksort(&$aToBeSorted) {
$aResult = array();
$aKeys = array_keys($aToBeSorted);
natcasesort($aKeys);
foreach ($aKeys as $sKey) {
$aResult[$sKey] = $aToBeSorted[$sKey];
}
$aToBeSorted = $aResult;
return true;
}
}
?>

View File

@ -0,0 +1,53 @@
<?php
class TrackBackDecorator extends DataObjectDecorator {
function extraDBFields() {
return array(
'has_many' => array(
'TrackBacks' => 'TrackBackPing'
)
);
}
function updateMetaTags(&$tags) {
$tags .= $this->owner->renderWith('TrackBackRdf');
}
function TrackBackPingLink() {
return $this->owner->AbsoluteLink() . 'trackbackping';
}
function trackbackping() {
$error = 0;
$message = '';
if(!(isset($_POST['url']) && $_POST['url'])) {
$error = 1;
$message = 'Missing required POST parameter \'url\'.';
} else {
$trackbackping = new TrackBackPing();
$trackbackping->Url = $_POST['url'];
if(isset($_POST['title']) && $_POST['title']) {
$trackbackping->Title = $_POST['title'];
}
if(isset($_POST['excerpt']) && $_POST['excerpt']) {
$trackbackping->Excerpt = $_POST['excerpt'];
}
if(isset($_POST['blog_name']) && $_POST['blog_name']) {
$trackbackping->BlogName = $_POST['blog_name'];
}
$trackbackping->PageID = $this->owner->ID;
$trackbackping->write();
}
$returnData = new ArrayData(array(
'Error' => $error,
'Message' => $message
));
return $returnData->renderWith('TrackBackPingReturn');
}
}
?>

View File

@ -0,0 +1,16 @@
<?php
class TrackBackPing extends DataObject {
static $db = array(
'Title' => 'Varchar',
'Excerpt' => 'Text',
'Url' => 'Varchar',
'BlogName' => 'Varchar'
);
static $has_one = array(
'Page' => 'Page'
);
}
?>

View File

@ -0,0 +1,152 @@
<?php
require_once("core/model/DB.php");
class TypoImport extends Controller {
/**
* Imports product status and price change updates.
*
*/
function testinstall() {
echo "Ok";
}
/**
* Imports blog entries and comments from a Potgres-based typo installation into a SilverStripe blog
*/
function import(){
// some of the guys in the contents table are articles, some are contents. Distinguished by type = "Article" or "Comment"
// fields are: id, title, author, body, body_html, extended, excerpt, keywords, created_at, updated_at, extended_html, user_id, permalink, guid, [13]
// text_filter_id, whiteboard, type, article_id, email, url, ip, blog_name, name, published, allow_pings, allow_comments, blog_id
// published_at, state, status_confirmed
$dbconn = pg_connect("host=orwell port=5432 dbname=typo_prod user=postgres password=possty");
// create a new blogholder and call it "imported blog"
$bholder = new BlogHolder();
$bholder->Title = "imported blog";
// write it!
$bholder->write();
$bholder->publish("Stage", "Live");
// get the typo articles
$result = pg_query($dbconn, "SELECT * FROM contents WHERE type='Article'");
while ($row = pg_fetch_row($result)) {
// title [1]
// author [2]
// body [3]
// body_html [4] (type rendered and cached the html here. This is the preferred blog entry content for migration)
// keywords (space separated) [7] (tags table is just a list of the unique variants of these keywords)
// created_at [8]
// permalink [12] (this is like the url in sitetree, prolly not needed)
// email [18] (address of the commenter)
// url [19] (url of the commenter)
$title = $row[1];
$author = $row[2];
$blog_entry = $row[4];
$keywords = $row[7];
$created_at = $row[8];
// sometimes it's empty. If it is, grab the body
if ($blog_entry == ""){
// use "body"
$blog_entry = $row[3];
}
echo "blog_entry: $blog_entry";
echo "<br />\n";
// put the typo blog entry in the SS database
$newEntry = new BlogEntry();
$newEntry->Title = $title;
$newEntry->Author = $author;
$newEntry->Content = $blog_entry;
$newEntry->Tags = $keywords;
$newEntry->Date = $created_at;
// tie each blog entry back to the blogholder we created initially
$newEntry->ParentID = $bholder->ID;
// write it!
$newEntry->write();
$newEntry->publish("Stage", "Live");
// grab the id so we can get the comments
$old_article_id = $row[0];
// get the comments
$result2 = pg_query($dbconn, "SELECT * FROM contents WHERE type = 'Comment' AND article_id = $old_article_id");
while ($row2 = pg_fetch_row($result2)) {
// grab the body_html
$comment = $row2[4];
// sometimes it's empty. If it is, grab the body
if ($comment == ""){
// use "body"
$comment = $row2[3];
}
$Cauthor = $row2[2];
$Ccreated_at = $row2[8];
// put the typo blog comment in the SS database
$newCEntry = new PageComment();
$newCEntry->Name = $Cauthor;
$newCEntry->Comment = $comment;
$newCEntry->Created = $created_at;
// need to grab the newly inserted blog entry's id
$newCEntry->ParentID = $newEntry->ID;
// write it!
$newCEntry->write();
echo "comment: $comment";
echo "<br />\n";
}
$newEntry->flushCache();
// fix up the specialchars
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#215;\", \"x\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8217;\", \"&rsquo;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8216;\", \"&lsquo;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#151;\", \"&mdash;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8220;\", \"&ldquo;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8221;\", \"&rdquo;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8211;\", \"&ndash;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8212;\", \"&mdash;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8230;\", \"&hellip;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#8482;\", \"&trade;\")");
pg_query($dbconn, "UPDATE SiteTree SET Content = REPLACE(Content, \"&#38;\", \"&amp;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#215;\", \"x\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8217;\", \"&rsquo;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8216;\", \"&lsquo;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#151;\", \"&mdash;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8220;\", \"&ldquo;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8221;\", \"&rdquo;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8211;\", \"&ndash;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8212;\", \"&mdash;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8230;\", \"&hellip;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#8482;\", \"&trade;\")");
pg_query($dbconn, "UPDATE PageComment SET Comment = REPLACE(Comment, \"&#38;\", \"&amp;\")");
}
pg_close($dbconn);
} // end function
} // end class
?>

View File

@ -0,0 +1,9 @@
.archiveMonths{
}
ul.archiveYears li{
display: inline;
font-size: 1.2em !important;
margin:0 !important;
}

View File

@ -0,0 +1,32 @@
/*
Foundational BBHelper formatting
*/
ul.bbcodeExamples li {
list-style-type:none;
font-size: 1em;
}
ul.bbcodeExamples li.last {
border: none;
}
ul.bbcodeExamples li span.example {
}
#BBTagsHolder{
color: #777;
padding: 5px;
width: 270px;
background-color: #fff;
font-size:0.8em;
}
.bbcodeExamples{
margin: 0 !important;
padding: 0;
}
#BBCodeHint{
cursor: pointer;
}

11
0.2.1-rc1/css/blog.css Normal file
View File

@ -0,0 +1,11 @@
.BlogError {
text-align: center;
}
.BlogError p {
color: #fff;
display: inline;
background-color: #f77;
padding: 7px;
font-weight:bold;
}

View File

@ -0,0 +1,3 @@
div.flickrwidget {
text-align: center;
}

View File

@ -0,0 +1,4 @@
.subscribeLink {
background: url(../images/feed-icon-14x14.png) no-repeat left center;
padding-left: 20px;
}

View File

@ -0,0 +1,6 @@
.tagcloud .not-popular { font-size: 1em; }
.tagcloud .not-very-popular { font-size: 1.3em; }
.tagcloud .somewhat-popular { font-size: 1.6em; }
.tagcloud .popular { font-size: 1.9em; }
.tagcloud .very-popular { font-size: 2.2em; }
.tagcloud .ultra-popular { font-size: 2.5em; }

Binary file not shown.

After

Width:  |  Height:  |  Size: 297 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 689 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@ -0,0 +1,12 @@
Behaviour.register({
'#BBCodeHint': {
onclick: function() {
if($('BBTagsHolder').style.display == "none") {
Effect.BlindDown('BBTagsHolder');
} else{
Effect.BlindUp('BBTagsHolder');
}
return false;
}
}
});

View File

62
0.2.1-rc1/lang/ar_SA.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Arabic (Saudi Arabia) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('ar_SA', $lang) && is_array($lang['ar_SA'])) {
$lang['ar_SA'] = array_merge($lang['en_US'], $lang['ar_SA']);
} else {
$lang['ar_SA'] = $lang['en_US'];
}
$lang['ar_SA']['ArchiveWidget']['DispBY'] = 'استعراض بواسطة';
$lang['ar_SA']['ArchiveWidget']['MONTH'] = 'شهر';
$lang['ar_SA']['ArchiveWidget']['YEAR'] = 'سنة';
$lang['ar_SA']['BlogEntry']['AU'] = 'الكاتب';
$lang['ar_SA']['BlogEntry']['BBH'] = 'مساعدة BBCode';
$lang['ar_SA']['BlogEntry']['CN'] = 'المحتوى';
$lang['ar_SA']['BlogEntry']['DT'] = 'تاريخ';
$lang['ar_SA']['BlogEntry.ss']['COMMENTS'] = 'التعليقات';
$lang['ar_SA']['BlogEntry.ss']['EDITTHIS'] = 'تحرير التدوينة';
$lang['ar_SA']['BlogEntry.ss']['POSTEDBY'] = 'نشرت بواسطة';
$lang['ar_SA']['BlogEntry.ss']['POSTEDON'] = 'في';
$lang['ar_SA']['BlogEntry.ss']['TAGS'] = 'الوسوم:';
$lang['ar_SA']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'عدم نشر التدوينة';
$lang['ar_SA']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'عرض جميع التدوينات';
$lang['ar_SA']['BlogEntry']['TS'] = 'وسوم (فاصلة,بين,الوسوم)';
$lang['ar_SA']['BlogHolder']['HAVENTPERM'] = 'تدوين المدونات يعتبر مهمة إدارية. فضلاً قم بتسجيل الدخول';
$lang['ar_SA']['BlogHolder']['POST'] = 'Post blog entry';
$lang['ar_SA']['BlogHolder']['RSSFEED'] = 'RSS لهذه المدونة';
$lang['ar_SA']['BlogHolder']['SJ'] = 'الموضوع';
$lang['ar_SA']['BlogHolder']['SPUC'] = 'فضلاً افصل بين الوسوم بفاصلة';
$lang['ar_SA']['BlogHolder.ss']['NOENTRIES'] = 'لا يوجد مدخلات';
$lang['ar_SA']['BlogHolder.ss']['VIEWINGTAGGED'] = 'عرض المخلات الموسومة بـ';
$lang['ar_SA']['BlogHolder']['SUCCONTENT'] = 'مبروك, تم تركيب Silverstripe blog بنجاح. هذه المدونة يمكن حذفها بأمان.يمكن تعديل المدونة عبر عبر رابط [url=admin]إدارة المحتوى[/url]';
$lang['ar_SA']['BlogHolder']['SUCTAGS'] = 'َsilverstripe , blog';
$lang['ar_SA']['BlogHolder']['SUCTITLE'] = 'تم تركيب SilverStripe Blog بنجاح';
$lang['ar_SA']['BlogHolder']['TE'] = 'مثال:رياضة,شخصية,علمية';
$lang['ar_SA']['BlogManagementWidget']['COMADM'] = 'إدارة التعليقات';
$lang['ar_SA']['BlogManagementWidget.ss']['LOGOUT'] = 'خروج';
$lang['ar_SA']['BlogManagementWidget.ss']['POSTNEW'] = 'نشر تدوينة جديدة';
$lang['ar_SA']['BlogManagementWidget']['UNM1'] = 'يوجد تعليق واحد لا يحتاج إلى موافقة';
$lang['ar_SA']['BlogManagementWidget']['UNMM'] = 'يوجد %i تعليقات لا تحتاج إلى موافقة';
$lang['ar_SA']['BlogSummary.ss']['COMMENTS'] = 'التعليقات';
$lang['ar_SA']['BlogSummary.ss']['POSTEDON'] = 'في';
$lang['ar_SA']['BlogSummary.ss']['VIEWFULL'] = 'عرض كامل التدوينة';
$lang['ar_SA']['RSSWidget']['CT'] = 'العنوان المخصص للخلاصة';
$lang['ar_SA']['RSSWidget']['NTS'] = 'عدد العناصر لعرضها';
$lang['ar_SA']['RSSWidget']['URL'] = 'رابط الخلاصة';
$lang['ar_SA']['TagCloudWidget']['LIMIT'] = 'العدد المحدد للوسوم';
$lang['ar_SA']['TagCloudWidget']['SBAL'] = 'هجائي';
$lang['ar_SA']['TagCloudWidget']['SBFREQ'] = 'تكرار';
$lang['ar_SA']['TagCloudWidget']['SORTBY'] = 'ترتيب';
$lang['ar_SA']['TagCloudWidget']['TILE'] = 'العنوان';
?>

62
0.2.1-rc1/lang/bg_BG.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Bulgarian (Bulgaria) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('bg_BG', $lang) && is_array($lang['bg_BG'])) {
$lang['bg_BG'] = array_merge($lang['en_US'], $lang['bg_BG']);
} else {
$lang['bg_BG'] = $lang['en_US'];
}
$lang['bg_BG']['ArchiveWidget']['DispBY'] = 'Покажи по';
$lang['bg_BG']['ArchiveWidget']['MONTH'] = 'месец';
$lang['bg_BG']['ArchiveWidget']['YEAR'] = 'година';
$lang['bg_BG']['BlogEntry']['AU'] = 'Автор';
$lang['bg_BG']['BlogEntry']['BBH'] = 'BBCode помощ';
$lang['bg_BG']['BlogEntry']['CN'] = 'Съдържание';
$lang['bg_BG']['BlogEntry']['DT'] = 'Дата';
$lang['bg_BG']['BlogEntry.ss']['COMMENTS'] = 'Коментари';
$lang['bg_BG']['BlogEntry.ss']['EDITTHIS'] = 'Промени тази статия';
$lang['bg_BG']['BlogEntry.ss']['POSTEDBY'] = 'Публикувано от';
$lang['bg_BG']['BlogEntry.ss']['POSTEDON'] = 'на';
$lang['bg_BG']['BlogEntry.ss']['TAGS'] = 'Марки:';
$lang['bg_BG']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Премахни от публикация тази статия';
$lang['bg_BG']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Прегледай всички маркирани статий';
$lang['bg_BG']['BlogEntry']['TS'] = 'Марки (разделени със запетайка)';
$lang['bg_BG']['BlogHolder']['HAVENTPERM'] = 'Публикуване на блогове е администраторска задача. Моля влезте в системата.';
$lang['bg_BG']['BlogHolder']['POST'] = 'Публикувай блог статия';
$lang['bg_BG']['BlogHolder']['RSSFEED'] = 'RSS емисия за този блог';
$lang['bg_BG']['BlogHolder']['SJ'] = 'Предмет';
$lang['bg_BG']['BlogHolder']['SPUC'] = 'Моля разделете марките използвайки запетайки.';
$lang['bg_BG']['BlogHolder.ss']['NOENTRIES'] = 'Няма никакви блог статий';
$lang['bg_BG']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Разглеждане на статий маркирани с';
$lang['bg_BG']['BlogHolder']['SUCCONTENT'] = 'Поздравления, SilverStripe blog модула беше инсталиран успешно. Тази блог статия може да бъде изтрита. Сега можете да конфигурирате аспектите на вашият блог (например кои widgets ще се показват) в [url=admin]CMS системата[/url].';
$lang['bg_BG']['BlogHolder']['SUCTAGS'] = 'silverstripe, блог';
$lang['bg_BG']['BlogHolder']['SUCTITLE'] = 'SilverStripe блог модул успешно инсталиран';
$lang['bg_BG']['BlogHolder']['TE'] = 'Например: спорт, наука, здраве';
$lang['bg_BG']['BlogManagementWidget']['COMADM'] = 'Администрация за коментари';
$lang['bg_BG']['BlogManagementWidget.ss']['LOGOUT'] = 'Излез';
$lang['bg_BG']['BlogManagementWidget.ss']['POSTNEW'] = 'Публикувайте нова блог статия';
$lang['bg_BG']['BlogManagementWidget']['UNM1'] = 'Вие имате 1 непрегледан коментар';
$lang['bg_BG']['BlogManagementWidget']['UNMM'] = 'Вие имате %i непрегледани коментара';
$lang['bg_BG']['BlogSummary.ss']['COMMENTS'] = 'Коментари';
$lang['bg_BG']['BlogSummary.ss']['POSTEDON'] = 'на';
$lang['bg_BG']['BlogSummary.ss']['VIEWFULL'] = 'Разгледай цялата статия';
$lang['bg_BG']['RSSWidget']['CT'] = 'Собствено заглавие за емисията';
$lang['bg_BG']['RSSWidget']['NTS'] = 'Брой на предмети за показване';
$lang['bg_BG']['RSSWidget']['URL'] = 'Адрес на RSS емисия';
$lang['bg_BG']['TagCloudWidget']['LIMIT'] = 'Ограничете броя на тагове';
$lang['bg_BG']['TagCloudWidget']['SBAL'] = 'азбука';
$lang['bg_BG']['TagCloudWidget']['SBFREQ'] = 'честота';
$lang['bg_BG']['TagCloudWidget']['SORTBY'] = 'Сортирай по';
$lang['bg_BG']['TagCloudWidget']['TILE'] = 'Заглавие';
?>

61
0.2.1-rc1/lang/da_DK.php Normal file
View File

@ -0,0 +1,61 @@
<?php
/**
* Danish (Denmark) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('da_DK', $lang) && is_array($lang['da_DK'])) {
$lang['da_DK'] = array_merge($lang['en_US'], $lang['da_DK']);
} else {
$lang['da_DK'] = $lang['en_US'];
}
$lang['da_DK']['ArchiveWidget']['DispBY'] = 'Vis efter';
$lang['da_DK']['ArchiveWidget']['MONTH'] = 'måned';
$lang['da_DK']['ArchiveWidget']['YEAR'] = 'år';
$lang['da_DK']['BlogEntry']['AU'] = 'Forfatter';
$lang['da_DK']['BlogEntry']['BBH'] = 'BBCode hjælp';
$lang['da_DK']['BlogEntry']['CN'] = 'Indhold';
$lang['da_DK']['BlogEntry']['DT'] = 'Dato';
$lang['da_DK']['BlogEntry.ss']['COMMENTS'] = 'Kommentarer';
$lang['da_DK']['BlogEntry.ss']['EDITTHIS'] = 'Rediger dette indlæg';
$lang['da_DK']['BlogEntry.ss']['POSTEDBY'] = 'Indsendt af';
$lang['da_DK']['BlogEntry.ss']['POSTEDON'] = 'd. ';
$lang['da_DK']['BlogEntry.ss']['TAGS'] = 'Tags:';
$lang['da_DK']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Upubliceret dette indlæg';
$lang['da_DK']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Vis alle indlæg tagged ';
$lang['da_DK']['BlogEntry']['TS'] = 'Tags (kommasep.)';
$lang['da_DK']['BlogHolder']['HAVENTPERM'] = 'At sende indlæg kræver er en administrativ opgave. Log venligst ind.';
$lang['da_DK']['BlogHolder']['POST'] = 'Send blog indlæg';
$lang['da_DK']['BlogHolder']['RSSFEED'] = 'RSS feed af denne blog';
$lang['da_DK']['BlogHolder']['SJ'] = 'Emne';
$lang['da_DK']['BlogHolder']['SPUC'] = 'Husk at seperere tags med komma';
$lang['da_DK']['BlogHolder.ss']['NOENTRIES'] = 'Der er ingen blog indlæg';
$lang['da_DK']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Se indlæg tagged med';
$lang['da_DK']['BlogHolder']['SUCCONTENT'] = 'Tillykke, SilverStripe blog modul er installeret succesfuldt. Dette blog indlæg kan du trygt slette. Du kan konfigurere bloggen som du har lyst (f.eks. widgets placeret i sidepanelet)';
$lang['da_DK']['BlogHolder']['SUCTAGS'] = 'Silverstripe, blog';
$lang['da_DK']['BlogHolder']['SUCTITLE'] = 'SilverStripe Blog modul installeret succesfuldt';
$lang['da_DK']['BlogHolder']['TE'] = 'F.eks. sport, personligt, science fiction';
$lang['da_DK']['BlogManagementWidget']['COMADM'] = 'Kommentaradministration';
$lang['da_DK']['BlogManagementWidget.ss']['LOGOUT'] = 'Log ud';
$lang['da_DK']['BlogManagementWidget.ss']['POSTNEW'] = 'Send et nyt blog indlæg';
$lang['da_DK']['BlogManagementWidget']['UNM1'] = 'Du har 1 uvurderet kommentar';
$lang['da_DK']['BlogManagementWidget']['UNMM'] = 'Du har %i uvurderet kommentarer';
$lang['da_DK']['BlogSummary.ss']['COMMENTS'] = 'Kommentarer';
$lang['da_DK']['BlogSummary.ss']['POSTEDON'] = 'd. ';
$lang['da_DK']['RSSWidget']['CT'] = 'Brugerdefineret title for dette feed';
$lang['da_DK']['RSSWidget']['NTS'] = 'Antal af viste indlæg ';
$lang['da_DK']['RSSWidget']['URL'] = 'URL eller RSS Feed';
$lang['da_DK']['TagCloudWidget']['LIMIT'] = 'Begrænsning af antalle af tags';
$lang['da_DK']['TagCloudWidget']['SBAL'] = 'alfabet';
$lang['da_DK']['TagCloudWidget']['SBFREQ'] = 'frekvens';
$lang['da_DK']['TagCloudWidget']['SORTBY'] = 'Sorter efter';
$lang['da_DK']['TagCloudWidget']['TILE'] = 'Titel';
?>

61
0.2.1-rc1/lang/de_DE.php Normal file
View File

@ -0,0 +1,61 @@
<?php
/**
* German (Germany) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('de_DE', $lang) && is_array($lang['de_DE'])) {
$lang['de_DE'] = array_merge($lang['en_US'], $lang['de_DE']);
} else {
$lang['de_DE'] = $lang['en_US'];
}
$lang['de_DE']['ArchiveWidget']['DispBY'] = 'Anzeige nach';
$lang['de_DE']['ArchiveWidget']['MONTH'] = 'Monat';
$lang['de_DE']['ArchiveWidget']['YEAR'] = 'Jahr';
$lang['de_DE']['BlogEntry']['AU'] = 'Autor';
$lang['de_DE']['BlogEntry']['BBH'] = 'BBCode Hilfe';
$lang['de_DE']['BlogEntry']['CN'] = 'Inhalt';
$lang['de_DE']['BlogEntry']['DT'] = 'Datum';
$lang['de_DE']['BlogEntry.ss']['COMMENTS'] = 'Kommentare';
$lang['de_DE']['BlogEntry.ss']['EDITTHIS'] = 'Eintrag bearbeiten';
$lang['de_DE']['BlogEntry.ss']['POSTEDBY'] = 'Eintrag von';
$lang['de_DE']['BlogEntry.ss']['POSTEDON'] = 'am';
$lang['de_DE']['BlogEntry.ss']['TAGS'] = 'Tags:';
$lang['de_DE']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Eintrag zurückziehen';
$lang['de_DE']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Alle Beiträge mit Tag';
$lang['de_DE']['BlogEntry']['TS'] = 'Tags (Komma getrennt)';
$lang['de_DE']['BlogHolder']['HAVENTPERM'] = 'Beiträge können nur von Administratoren eingestellt werden. Bitte einloggen.';
$lang['de_DE']['BlogHolder']['POST'] = 'Eintrag senden';
$lang['de_DE']['BlogHolder']['RSSFEED'] = 'RSS feed von diesem Blog';
$lang['de_DE']['BlogHolder']['SJ'] = 'Betreff';
$lang['de_DE']['BlogHolder']['SPUC'] = 'Bitte Tags mit Kommata trennen.';
$lang['de_DE']['BlogHolder.ss']['NOENTRIES'] = 'Es gibt keine Blog Einträge';
$lang['de_DE']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Anzeige der Einträge mit Tag';
$lang['de_DE']['BlogHolder']['SUCCONTENT'] = 'Herzlichen Glückwunsch, das SilverStripe Blog Modul wurde erfolgreich installiert. Dieser Blog-Eintrag kann sicher gelöscht werden. Sie können die Blog-Einstellungen (z.B. die angezeigten Widgets in der Sidebar) im admin-Bereich verändern.';
$lang['de_DE']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['de_DE']['BlogHolder']['SUCTITLE'] = 'SilverStripe Blog Module erfolgreich installiert';
$lang['de_DE']['BlogHolder']['TE'] = 'Zum Beispiel: sport, musik, video';
$lang['de_DE']['BlogManagementWidget']['COMADM'] = 'Kommentare bearbeiten';
$lang['de_DE']['BlogManagementWidget.ss']['LOGOUT'] = 'Logout';
$lang['de_DE']['BlogManagementWidget.ss']['POSTNEW'] = 'Neuen Eintrag schreiben';
$lang['de_DE']['BlogManagementWidget']['UNM1'] = 'Sie haben 1 noch nicht moderierten Kommentar';
$lang['de_DE']['BlogManagementWidget']['UNMM'] = 'Sie haben %i noch nicht moderierte Kommentare';
$lang['de_DE']['BlogSummary.ss']['COMMENTS'] = 'Kommentare';
$lang['de_DE']['BlogSummary.ss']['POSTEDON'] = 'am';
$lang['de_DE']['RSSWidget']['CT'] = 'Eigener Titel für den feed';
$lang['de_DE']['RSSWidget']['NTS'] = 'Anzahl der angezeigten Items';
$lang['de_DE']['RSSWidget']['URL'] = 'URL des RSS Feed';
$lang['de_DE']['TagCloudWidget']['LIMIT'] = 'Anzahl der erlaubten Tags';
$lang['de_DE']['TagCloudWidget']['SBAL'] = 'Alphabet';
$lang['de_DE']['TagCloudWidget']['SBFREQ'] = 'Häufigkeit';
$lang['de_DE']['TagCloudWidget']['SORTBY'] = 'Sortiert nach';
$lang['de_DE']['TagCloudWidget']['TILE'] = 'Titel';
?>

62
0.2.1-rc1/lang/en_GB.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* English (United Kingdom) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('en_GB', $lang) && is_array($lang['en_GB'])) {
$lang['en_GB'] = array_merge($lang['en_US'], $lang['en_GB']);
} else {
$lang['en_GB'] = $lang['en_US'];
}
$lang['en_GB']['ArchiveWidget']['DispBY'] = 'Display by';
$lang['en_GB']['ArchiveWidget']['MONTH'] = 'month';
$lang['en_GB']['ArchiveWidget']['YEAR'] = 'year';
$lang['en_GB']['BlogEntry']['AU'] = 'Author';
$lang['en_GB']['BlogEntry']['BBH'] = 'BBCode help';
$lang['en_GB']['BlogEntry']['CN'] = 'Content';
$lang['en_GB']['BlogEntry']['DT'] = 'Date';
$lang['en_GB']['BlogEntry.ss']['COMMENTS'] = 'Comments';
$lang['en_GB']['BlogEntry.ss']['EDITTHIS'] = 'Edit this post';
$lang['en_GB']['BlogEntry.ss']['POSTEDBY'] = 'Posted by';
$lang['en_GB']['BlogEntry.ss']['POSTEDON'] = 'on';
$lang['en_GB']['BlogEntry.ss']['TAGS'] = 'Tags:';
$lang['en_GB']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Unpublish this post';
$lang['en_GB']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'View all posts tagged';
$lang['en_GB']['BlogEntry']['TS'] = 'Tags (comma sep.)';
$lang['en_GB']['BlogHolder']['HAVENTPERM'] = 'Posting blogs is an administrator task. Please log in.';
$lang['en_GB']['BlogHolder']['POST'] = 'Post blog entry';
$lang['en_GB']['BlogHolder']['RSSFEED'] = 'RSS feed of this blog';
$lang['en_GB']['BlogHolder']['SJ'] = 'Subject';
$lang['en_GB']['BlogHolder']['SPUC'] = 'Please separate tags using commas.';
$lang['en_GB']['BlogHolder.ss']['NOENTRIES'] = 'There are no blog entries';
$lang['en_GB']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Viewing entries tagged with';
$lang['en_GB']['BlogHolder']['SUCCONTENT'] = 'Congratulations, the SilverStripe blog module has been successfully installed. This blog entry can be safely deleted. You can configure aspects of your blog (such as the widgets displayed in the sidebar) in [url=admin]the CMS[/url].';
$lang['en_GB']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['en_GB']['BlogHolder']['SUCTITLE'] = 'SilverStripe blog module successfully installed';
$lang['en_GB']['BlogHolder']['TE'] = 'For example: sport, personal, science fiction';
$lang['en_GB']['BlogManagementWidget']['COMADM'] = 'Comment administration';
$lang['en_GB']['BlogManagementWidget.ss']['LOGOUT'] = 'Logout';
$lang['en_GB']['BlogManagementWidget.ss']['POSTNEW'] = 'Post a new blog entry';
$lang['en_GB']['BlogManagementWidget']['UNM1'] = 'You have 1 unmoderated comment';
$lang['en_GB']['BlogManagementWidget']['UNMM'] = 'You have %i unmoderated comments';
$lang['en_GB']['BlogSummary.ss']['COMMENTS'] = 'Comments';
$lang['en_GB']['BlogSummary.ss']['POSTEDON'] = 'on';
$lang['en_GB']['BlogSummary.ss']['VIEWFULL'] = 'View full post titled -';
$lang['en_GB']['RSSWidget']['CT'] = 'Custom title for the feed';
$lang['en_GB']['RSSWidget']['NTS'] = 'Number of Items to show';
$lang['en_GB']['RSSWidget']['URL'] = 'URL of RSS Feed';
$lang['en_GB']['TagCloudWidget']['LIMIT'] = 'Limit number of tags';
$lang['en_GB']['TagCloudWidget']['SBAL'] = 'alphabet';
$lang['en_GB']['TagCloudWidget']['SBFREQ'] = 'frequency';
$lang['en_GB']['TagCloudWidget']['SORTBY'] = 'Sort by';
$lang['en_GB']['TagCloudWidget']['TILE'] = 'Title';
?>

119
0.2.1-rc1/lang/en_US.php Normal file
View File

@ -0,0 +1,119 @@
<?php
global $lang;
$lang['en_US']['ArchiveWidget']['DispBY'] = 'Display by';
$lang['en_US']['ArchiveWidget']['MONTH'] = 'month';
$lang['en_US']['ArchiveWidget']['PLURALNAME'] = array(
'Archive Widgets',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['ArchiveWidget']['SINGULARNAME'] = array(
'Archive Widget',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
$lang['en_US']['ArchiveWidget']['YEAR'] = 'year';
$lang['en_US']['BlogEntry']['AU'] = 'Author';
$lang['en_US']['BlogEntry']['BBH'] = 'BBCode help';
$lang['en_US']['BlogEntry']['CN'] = 'Content';
$lang['en_US']['BlogEntry']['DT'] = 'Date';
$lang['en_US']['BlogEntry']['PLURALNAME'] = array(
'Blog Entries',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['BlogEntry']['SINGULARNAME'] = array(
'Blog Entry',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
$lang['en_US']['BlogEntry']['TS'] = 'Tags (comma sep.)';
$lang['en_US']['BlogEntry.ss']['COMMENTS'] = 'Comments';
$lang['en_US']['BlogEntry.ss']['EDITTHIS'] = 'Edit this post';
$lang['en_US']['BlogEntry.ss']['POSTEDBY'] = 'Posted by';
$lang['en_US']['BlogEntry.ss']['POSTEDON'] = 'on';
$lang['en_US']['BlogEntry.ss']['TAGS'] = 'Tags:';
$lang['en_US']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Unpublish this post';
$lang['en_US']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'View all posts tagged';
$lang['en_US']['BlogHolder']['HAVENTPERM'] = 'Posting blogs is an administrator task. Please log in.';
$lang['en_US']['BlogHolder']['PLURALNAME'] = array(
'Blog Holders',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['BlogHolder']['POST'] = 'Post blog entry';
$lang['en_US']['BlogHolder']['RSSFEED'] = 'RSS feed of this blog';
$lang['en_US']['BlogHolder']['SINGULARNAME'] = array(
'Blog Holder',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
$lang['en_US']['BlogHolder']['SJ'] = 'Subject';
$lang['en_US']['BlogHolder']['SPUC'] = 'Please separate tags using commas.';
$lang['en_US']['BlogHolder']['SUCCONTENT'] = 'Congratulations, the SilverStripe blog module has been successfully installed. This blog entry can be safely deleted. You can configure aspects of your blog (such as the widgets displayed in the sidebar) in [url=admin]the CMS[/url].';
$lang['en_US']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['en_US']['BlogHolder']['SUCTITLE'] = 'SilverStripe blog module successfully installed';
$lang['en_US']['BlogHolder']['TE'] = 'For example: sport, personal, science fiction';
$lang['en_US']['BlogHolder.ss']['NOENTRIES'] = 'There are no blog entries';
$lang['en_US']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Viewing entries tagged with';
$lang['en_US']['BlogManagementWidget']['COMADM'] = 'Comment administration';
$lang['en_US']['BlogManagementWidget']['PLURALNAME'] = array(
'Blog Management Widgets',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['BlogManagementWidget']['SINGULARNAME'] = array(
'Blog Management Widget',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
$lang['en_US']['BlogManagementWidget']['UNM1'] = 'You have 1 unmoderated comment';
$lang['en_US']['BlogManagementWidget']['UNMM'] = 'You have %i unmoderated comments';
$lang['en_US']['BlogManagementWidget.ss']['LOGOUT'] = 'Logout';
$lang['en_US']['BlogManagementWidget.ss']['POSTNEW'] = 'Post a new blog entry';
$lang['en_US']['BlogSummary.ss']['COMMENTS'] = 'Comments';
$lang['en_US']['BlogSummary.ss']['POSTEDBY'] = 'Posted by';
$lang['en_US']['BlogSummary.ss']['POSTEDON'] = 'on';
$lang['en_US']['BlogSummary.ss']['VIEWFULL'] = 'View full post titled -';
$lang['en_US']['RSSWidget']['CT'] = 'Custom title for the feed';
$lang['en_US']['RSSWidget']['NTS'] = 'Number of Items to show';
$lang['en_US']['RSSWidget']['PLURALNAME'] = array(
'R S S Widgets',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['RSSWidget']['SINGULARNAME'] = array(
'R S S Widget',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
$lang['en_US']['RSSWidget']['URL'] = 'URL of RSS Feed';
$lang['en_US']['TagCloudWidget']['LIMIT'] = 'Limit number of tags';
$lang['en_US']['TagCloudWidget']['PLURALNAME'] = array(
'Tag Cloud Widgets',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['TagCloudWidget']['SBAL'] = 'alphabet';
$lang['en_US']['TagCloudWidget']['SBFREQ'] = 'frequency';
$lang['en_US']['TagCloudWidget']['SINGULARNAME'] = array(
'Tag Cloud Widget',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
$lang['en_US']['TagCloudWidget']['SORTBY'] = 'Sort by';
$lang['en_US']['TagCloudWidget']['TILE'] = 'Title';
$lang['en_US']['TrackBackPing']['PLURALNAME'] = array(
'Track Back Pings',
50,
'Pural name of the object, used in dropdowns and to generally identify a collection of this object in the interface'
);
$lang['en_US']['TrackBackPing']['SINGULARNAME'] = array(
'Track Back Ping',
50,
'Singular name of the object, used in dropdowns and to generally identify a single object in the interface'
);
?>

20
0.2.1-rc1/lang/es_419.php Normal file
View File

@ -0,0 +1,20 @@
<?php
/**
* language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('es_', $lang) && is_array($lang['es_'])) {
$lang['es_'] = array_merge($lang['en_US'], $lang['es_']);
} else {
$lang['es_'] = $lang['en_US'];
}
?>

39
0.2.1-rc1/lang/es_ES.php Normal file
View File

@ -0,0 +1,39 @@
<?php
/**
* Spanish (Spain) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('es_ES', $lang) && is_array($lang['es_ES'])) {
$lang['es_ES'] = array_merge($lang['en_US'], $lang['es_ES']);
} else {
$lang['es_ES'] = $lang['en_US'];
}
$lang['es_ES']['ArchiveWidget']['MONTH'] = 'mes';
$lang['es_ES']['ArchiveWidget']['YEAR'] = 'año';
$lang['es_ES']['BlogEntry']['AU'] = 'Autor';
$lang['es_ES']['BlogEntry']['BBH'] = 'BBCode ayuda';
$lang['es_ES']['BlogEntry']['CN'] = 'Contenido';
$lang['es_ES']['BlogEntry']['DT'] = 'Fecha';
$lang['es_ES']['BlogEntry.ss']['COMMENTS'] = 'Comentarios';
$lang['es_ES']['BlogEntry.ss']['POSTEDBY'] = 'Publicado por';
$lang['es_ES']['BlogEntry.ss']['TAGS'] = 'Etiquetas:';
$lang['es_ES']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Ver todas las publicaciones etiquetadas';
$lang['es_ES']['BlogEntry']['TS'] = 'Etiquetas (separados por comas)';
$lang['es_ES']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['es_ES']['BlogHolder']['TE'] = 'Por ejemplo: deporte, cine, tecnología';
$lang['es_ES']['BlogManagementWidget.ss']['LOGOUT'] = 'Salir';
$lang['es_ES']['BlogSummary.ss']['COMMENTS'] = 'Comentarios';
$lang['es_ES']['TagCloudWidget']['SBAL'] = 'alfabeto';
$lang['es_ES']['TagCloudWidget']['SBFREQ'] = 'frecuencia';
$lang['es_ES']['TagCloudWidget']['SORTBY'] = 'Ordenar por';
$lang['es_ES']['TagCloudWidget']['TILE'] = 'Título';
?>

62
0.2.1-rc1/lang/es_MX.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Spanish (Mexico) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('es_MX', $lang) && is_array($lang['es_MX'])) {
$lang['es_MX'] = array_merge($lang['en_US'], $lang['es_MX']);
} else {
$lang['es_MX'] = $lang['en_US'];
}
$lang['es_MX']['ArchiveWidget']['DispBY'] = 'Mostrar por';
$lang['es_MX']['ArchiveWidget']['MONTH'] = 'mes';
$lang['es_MX']['ArchiveWidget']['YEAR'] = 'año';
$lang['es_MX']['BlogEntry']['AU'] = 'Autor';
$lang['es_MX']['BlogEntry']['BBH'] = 'Ayuda de BBCode';
$lang['es_MX']['BlogEntry']['CN'] = 'Contenido';
$lang['es_MX']['BlogEntry']['DT'] = 'Fecha';
$lang['es_MX']['BlogEntry.ss']['COMMENTS'] = 'Comentarios';
$lang['es_MX']['BlogEntry.ss']['EDITTHIS'] = 'Editar este mensaje';
$lang['es_MX']['BlogEntry.ss']['POSTEDBY'] = 'Enviado por';
$lang['es_MX']['BlogEntry.ss']['POSTEDON'] = 'en';
$lang['es_MX']['BlogEntry.ss']['TAGS'] = 'Etiquetas:';
$lang['es_MX']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Ocultar este mensaje';
$lang['es_MX']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Ver todos los mensajes marcados con la etiqueta';
$lang['es_MX']['BlogEntry']['TS'] = 'Etiquetas (separadas por coma)';
$lang['es_MX']['BlogHolder']['HAVENTPERM'] = 'La corrección de la bitácora es tarea del administrador. Por favor ingresa como tal.';
$lang['es_MX']['BlogHolder']['POST'] = 'Enviar entrada a la bitácora';
$lang['es_MX']['BlogHolder']['RSSFEED'] = 'Alimentar al RSS con esta bitácora';
$lang['es_MX']['BlogHolder']['SJ'] = 'Asunto';
$lang['es_MX']['BlogHolder']['SPUC'] = 'Por favor separa etiquetas utilizando comas.';
$lang['es_MX']['BlogHolder.ss']['NOENTRIES'] = 'Bitácora vacía';
$lang['es_MX']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Ver entradas etiquetadas con';
$lang['es_MX']['BlogHolder']['SUCCONTENT'] = 'Felicidades, el módulo bitácora de Silverstripe se ha instalado satisfactoriamente. Esta entrada de la bitácora se puede eliminar con seguridad. Puedes configurar aspectos de tu nueva bitácora (tal cómo reproductores mostrados en la barra lateral) en [url=admin] el CMS[/url].';
$lang['es_MX']['BlogHolder']['SUCTAGS'] = 'bitácora, silverstripe';
$lang['es_MX']['BlogHolder']['SUCTITLE'] = 'El Módulo bitácora Silverstripe se ha instalado satisfactoriamente.';
$lang['es_MX']['BlogHolder']['TE'] = 'Por ejemplo: deportes, personal. ciencia ficción';
$lang['es_MX']['BlogManagementWidget']['COMADM'] = 'Administración de comentarios';
$lang['es_MX']['BlogManagementWidget.ss']['LOGOUT'] = 'Salir';
$lang['es_MX']['BlogManagementWidget.ss']['POSTNEW'] = 'Enviar nueva entrada a la bitácora';
$lang['es_MX']['BlogManagementWidget']['UNM1'] = 'Tienes 1 comentario pendiente de moderación';
$lang['es_MX']['BlogManagementWidget']['UNMM'] = 'Tienes %i comentarios pendientes de moderación';
$lang['es_MX']['BlogSummary.ss']['COMMENTS'] = 'Comentarios';
$lang['es_MX']['BlogSummary.ss']['POSTEDON'] = 'en';
$lang['es_MX']['BlogSummary.ss']['VIEWFULL'] = 'Ver completo el mensaje titulado -';
$lang['es_MX']['RSSWidget']['CT'] = 'Título personalizado para el alimentador';
$lang['es_MX']['RSSWidget']['NTS'] = 'Número de elementos a mostrar:';
$lang['es_MX']['RSSWidget']['URL'] = 'URL del RSS alimentado';
$lang['es_MX']['TagCloudWidget']['LIMIT'] = 'Limitar el número de etiquetas';
$lang['es_MX']['TagCloudWidget']['SBAL'] = 'alfabeto';
$lang['es_MX']['TagCloudWidget']['SBFREQ'] = 'frecuencia';
$lang['es_MX']['TagCloudWidget']['SORTBY'] = 'Ordenar por';
$lang['es_MX']['TagCloudWidget']['TILE'] = 'Título';
?>

62
0.2.1-rc1/lang/et_EE.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Estonian (Estonia) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('et_EE', $lang) && is_array($lang['et_EE'])) {
$lang['et_EE'] = array_merge($lang['en_US'], $lang['et_EE']);
} else {
$lang['et_EE'] = $lang['en_US'];
}
$lang['et_EE']['ArchiveWidget']['DispBY'] = 'Kuva';
$lang['et_EE']['ArchiveWidget']['MONTH'] = 'kuu';
$lang['et_EE']['ArchiveWidget']['YEAR'] = 'aasta';
$lang['et_EE']['BlogEntry']['AU'] = 'Autor';
$lang['et_EE']['BlogEntry']['BBH'] = 'BBCode spikker';
$lang['et_EE']['BlogEntry']['CN'] = 'Sisu';
$lang['et_EE']['BlogEntry']['DT'] = 'Kuupäev';
$lang['et_EE']['BlogEntry.ss']['COMMENTS'] = 'Kommentaarid';
$lang['et_EE']['BlogEntry.ss']['EDITTHIS'] = 'Muuda seda postitust';
$lang['et_EE']['BlogEntry.ss']['POSTEDBY'] = 'Autori';
$lang['et_EE']['BlogEntry.ss']['POSTEDON'] = 'poolt';
$lang['et_EE']['BlogEntry.ss']['TAGS'] = 'Sildid:';
$lang['et_EE']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Muuda see postitus avaldamatuks';
$lang['et_EE']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Vaata kõiki postitusi siltidega';
$lang['et_EE']['BlogEntry']['TS'] = 'Sildid (komaga eraldatud)';
$lang['et_EE']['BlogHolder']['HAVENTPERM'] = 'Blogi postitamine on administraatori ülesanne. Palun logi sisse.';
$lang['et_EE']['BlogHolder']['POST'] = 'Postita blogi sissekanne';
$lang['et_EE']['BlogHolder']['RSSFEED'] = 'Selle blogi RSS voog';
$lang['et_EE']['BlogHolder']['SJ'] = 'Teema';
$lang['et_EE']['BlogHolder']['SPUC'] = 'Palun eralda sildid komadega.';
$lang['et_EE']['BlogHolder.ss']['NOENTRIES'] = 'Blogi sissekanded puuduvad';
$lang['et_EE']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Kuvatakse sissekandeid siltidega';
$lang['et_EE']['BlogHolder']['SUCCONTENT'] = 'Õnnitleme, SilverStripe blogimoodul on edukalt installeeritud. Selle blogi sissekande võib ohutult ära kustutada. Oma blogi ilmet (nagu küljeribal kuvatavaid vidinaid) saad seadistada [url=admin]sisuhaldussüsteemi kaudu[/url].';
$lang['et_EE']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['et_EE']['BlogHolder']['SUCTITLE'] = 'SilverStripe blogimoodul edukalt installeeritud';
$lang['et_EE']['BlogHolder']['TE'] = 'Näiteks: sport, isiklik, teaduslik fantastika';
$lang['et_EE']['BlogManagementWidget']['COMADM'] = 'Kommentaaride haldamine';
$lang['et_EE']['BlogManagementWidget.ss']['LOGOUT'] = 'Logi välja';
$lang['et_EE']['BlogManagementWidget.ss']['POSTNEW'] = 'Postita uus blogi sissekanne';
$lang['et_EE']['BlogManagementWidget']['UNM1'] = 'Sul on 1 üle vaatamata kommentaar';
$lang['et_EE']['BlogManagementWidget']['UNMM'] = 'Sul on %i üle vaatamata kommentaari';
$lang['et_EE']['BlogSummary.ss']['COMMENTS'] = 'Kommentaarid';
$lang['et_EE']['BlogSummary.ss']['POSTEDON'] = '-';
$lang['et_EE']['BlogSummary.ss']['VIEWFULL'] = 'Vaata tervet postitust pealkirjaga - ';
$lang['et_EE']['RSSWidget']['CT'] = 'Kohandatud pealkiri voole';
$lang['et_EE']['RSSWidget']['NTS'] = 'Kuvatavate sissekannete arv';
$lang['et_EE']['RSSWidget']['URL'] = 'URL või RSS voog';
$lang['et_EE']['TagCloudWidget']['LIMIT'] = 'Piira siltide arvu';
$lang['et_EE']['TagCloudWidget']['SBAL'] = 'tähestikuliselt';
$lang['et_EE']['TagCloudWidget']['SBFREQ'] = 'sageduse järgi';
$lang['et_EE']['TagCloudWidget']['SORTBY'] = 'Sorteeri';
$lang['et_EE']['TagCloudWidget']['TILE'] = 'Pealkiri';
?>

62
0.2.1-rc1/lang/fr_FR.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* French (France) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('fr_FR', $lang) && is_array($lang['fr_FR'])) {
$lang['fr_FR'] = array_merge($lang['en_US'], $lang['fr_FR']);
} else {
$lang['fr_FR'] = $lang['en_US'];
}
$lang['fr_FR']['ArchiveWidget']['DispBY'] = 'Afficher par';
$lang['fr_FR']['ArchiveWidget']['MONTH'] = 'mois';
$lang['fr_FR']['ArchiveWidget']['YEAR'] = 'années';
$lang['fr_FR']['BlogEntry']['AU'] = 'Auteur';
$lang['fr_FR']['BlogEntry']['BBH'] = 'Aide BBCode';
$lang['fr_FR']['BlogEntry']['CN'] = 'Contenu';
$lang['fr_FR']['BlogEntry']['DT'] = 'Date';
$lang['fr_FR']['BlogEntry.ss']['COMMENTS'] = 'Commentaires';
$lang['fr_FR']['BlogEntry.ss']['EDITTHIS'] = 'Modifier ce message';
$lang['fr_FR']['BlogEntry.ss']['POSTEDBY'] = 'Posté par';
$lang['fr_FR']['BlogEntry.ss']['POSTEDON'] = 'sur';
$lang['fr_FR']['BlogEntry.ss']['TAGS'] = 'Tags:';
$lang['fr_FR']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Dépublier ce message';
$lang['fr_FR']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Voir tous les messages marqués';
$lang['fr_FR']['BlogEntry']['TS'] = 'Tags (Séparer par une virgule)';
$lang['fr_FR']['BlogHolder']['HAVENTPERM'] = 'L\'envoi de blog est réservé aux administrateurs. Loggez vous s\'il vous plaît.';
$lang['fr_FR']['BlogHolder']['POST'] = 'Poster une entrée sur le blog';
$lang['fr_FR']['BlogHolder']['RSSFEED'] = 'Flux RSS de ce blog';
$lang['fr_FR']['BlogHolder']['SJ'] = 'Sujet';
$lang['fr_FR']['BlogHolder']['SPUC'] = 'Veuillez séparer les tags en utilisant une virgule';
$lang['fr_FR']['BlogHolder.ss']['NOENTRIES'] = 'Il n\'y a aucune entrée dans le blog';
$lang['fr_FR']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Affichage des entrées marquées avec';
$lang['fr_FR']['BlogHolder']['SUCCONTENT'] = 'Félicitations, le module de blog SilverStripe a été installé avec succès. Cette entrée du blog peut être supprimée sans problème. Vous pouvez configurer les aspects de votre blog (comme les gadgets affichés dans la barre de coté) dans [url=admin]le CMS[/url].';
$lang['fr_FR']['BlogHolder']['SUCTAGS'] = 'blog, silverStripe';
$lang['fr_FR']['BlogHolder']['SUCTITLE'] = 'Le module de blog SilverStripe a été installé avec succès';
$lang['fr_FR']['BlogHolder']['TE'] = 'Par exemple: sport, personnel, science fiction';
$lang['fr_FR']['BlogManagementWidget']['COMADM'] = 'Administration des commentaires';
$lang['fr_FR']['BlogManagementWidget.ss']['LOGOUT'] = 'Déconnexion';
$lang['fr_FR']['BlogManagementWidget.ss']['POSTNEW'] = 'Publier une nouvelle entrée dans le blog';
$lang['fr_FR']['BlogManagementWidget']['UNM1'] = 'Vous avez 1 commentaire non modéré';
$lang['fr_FR']['BlogManagementWidget']['UNMM'] = 'Vous avez %i commentaires non modérés';
$lang['fr_FR']['BlogSummary.ss']['COMMENTS'] = 'Commentaires';
$lang['fr_FR']['BlogSummary.ss']['POSTEDON'] = 'sur';
$lang['fr_FR']['BlogSummary.ss']['VIEWFULL'] = 'Voir le titre du post en entier -';
$lang['fr_FR']['RSSWidget']['CT'] = 'Titre personnalisé pour le flux';
$lang['fr_FR']['RSSWidget']['NTS'] = 'Nombre d\'éléments à afficher';
$lang['fr_FR']['RSSWidget']['URL'] = 'URL du flux RSS';
$lang['fr_FR']['TagCloudWidget']['LIMIT'] = 'Nombre limite des tags';
$lang['fr_FR']['TagCloudWidget']['SBAL'] = 'alphabet';
$lang['fr_FR']['TagCloudWidget']['SBFREQ'] = 'fréquence';
$lang['fr_FR']['TagCloudWidget']['SORTBY'] = 'Trier par';
$lang['fr_FR']['TagCloudWidget']['TILE'] = 'Titre';
?>

56
0.2.1-rc1/lang/hr_HR.php Normal file
View File

@ -0,0 +1,56 @@
<?php
/**
* Croatian (Croatia) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('hr_HR', $lang) && is_array($lang['hr_HR'])) {
$lang['hr_HR'] = array_merge($lang['en_US'], $lang['hr_HR']);
} else {
$lang['hr_HR'] = $lang['en_US'];
}
$lang['hr_HR']['ArchiveWidget']['MONTH'] = 'mjesec';
$lang['hr_HR']['ArchiveWidget']['YEAR'] = 'godina';
$lang['hr_HR']['BlogEntry']['AU'] = 'Autor';
$lang['hr_HR']['BlogEntry']['BBH'] = 'Pomoć za BBCode';
$lang['hr_HR']['BlogEntry']['CN'] = 'Sadržaj';
$lang['hr_HR']['BlogEntry']['DT'] = 'Datum';
$lang['hr_HR']['BlogEntry.ss']['COMMENTS'] = 'Komentari';
$lang['hr_HR']['BlogEntry.ss']['POSTEDBY'] = 'Objavio';
$lang['hr_HR']['BlogEntry.ss']['POSTEDON'] = 'Objavljeno';
$lang['hr_HR']['BlogEntry.ss']['TAGS'] = 'Tagovi:';
$lang['hr_HR']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Pogledaj sve blog zapise tagirane sa';
$lang['hr_HR']['BlogEntry']['TS'] = 'Tagovi (odvojeni zarezom)';
$lang['hr_HR']['BlogHolder']['HAVENTPERM'] = 'Molimo prijavite se. Objava blog zapisa je administratorova zadaća.';
$lang['hr_HR']['BlogHolder']['POST'] = 'Objavi blog zapis';
$lang['hr_HR']['BlogHolder']['RSSFEED'] = 'RSS feed ovog bloga';
$lang['hr_HR']['BlogHolder']['SJ'] = 'Tema';
$lang['hr_HR']['BlogHolder']['SPUC'] = 'Molimo vas razdovojite tagove zarezima.';
$lang['hr_HR']['BlogHolder.ss']['NOENTRIES'] = 'Nema blog zapisa';
$lang['hr_HR']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Pogledaj zapise tagirane sa';
$lang['hr_HR']['BlogHolder']['SUCCONTENT'] = 'Čestitamo, SilverStripe blog modul je uspješno instaliran. Ovaj blog zapis se slobodno može obrisati. Postavke bloga je moguće konfigurirati (kao što su widgeti prikazani sa strane) u [url=admin]CMSu[/url].';
$lang['hr_HR']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['hr_HR']['BlogHolder']['SUCTITLE'] = 'SilverStripe blog modul uspješno je instaliran';
$lang['hr_HR']['BlogHolder']['TE'] = 'Na primjer: sport, osobno, znanstvena fantastika';
$lang['hr_HR']['BlogManagementWidget']['COMADM'] = 'Administriranje komentara';
$lang['hr_HR']['BlogManagementWidget.ss']['LOGOUT'] = 'Odlogiraj se';
$lang['hr_HR']['BlogManagementWidget.ss']['POSTNEW'] = 'Objavi novi blog zapis';
$lang['hr_HR']['BlogSummary.ss']['COMMENTS'] = 'Komentari';
$lang['hr_HR']['BlogSummary.ss']['POSTEDON'] = 'Objavljeno';
$lang['hr_HR']['BlogSummary.ss']['VIEWFULL'] = 'Pogledaj potpuni blog zapis pod nazivom - ';
$lang['hr_HR']['RSSWidget']['NTS'] = 'Broj orikazanih zapisa';
$lang['hr_HR']['RSSWidget']['URL'] = 'URL RSS feeda';
$lang['hr_HR']['TagCloudWidget']['LIMIT'] = 'Ograniči broj tagova';
$lang['hr_HR']['TagCloudWidget']['SBAL'] = 'abecedi';
$lang['hr_HR']['TagCloudWidget']['SBFREQ'] = 'učestalosti (frekvenciji)';
$lang['hr_HR']['TagCloudWidget']['SORTBY'] = 'Sortiraj prema';
$lang['hr_HR']['TagCloudWidget']['TILE'] = 'Naslov';
?>

63
0.2.1-rc1/lang/is_IS.php Normal file
View File

@ -0,0 +1,63 @@
<?php
/**
* Icelandic (Iceland) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('is_IS', $lang) && is_array($lang['is_IS'])) {
$lang['is_IS'] = array_merge($lang['en_US'], $lang['is_IS']);
} else {
$lang['is_IS'] = $lang['en_US'];
}
$lang['is_IS']['ArchiveWidget']['DispBY'] = 'Birta sem';
$lang['is_IS']['ArchiveWidget']['MONTH'] = 'mánuður';
$lang['is_IS']['ArchiveWidget']['YEAR'] = 'ár';
$lang['is_IS']['BlogEntry']['AU'] = 'Höfundur';
$lang['is_IS']['BlogEntry']['BBH'] = 'BBCode hjálp';
$lang['is_IS']['BlogEntry']['CN'] = 'Efni';
$lang['is_IS']['BlogEntry']['DT'] = 'Dags';
$lang['is_IS']['BlogEntry.ss']['COMMENTS'] = 'Athugasemdir';
$lang['is_IS']['BlogEntry.ss']['EDITTHIS'] = 'Breyta þessari færslu';
$lang['is_IS']['BlogEntry.ss']['POSTEDBY'] = 'Birt af';
$lang['is_IS']['BlogEntry.ss']['POSTEDON'] = 'á';
$lang['is_IS']['BlogEntry.ss']['TAGS'] = 'Tög:';
$lang['is_IS']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Hætta birtingu þessarar færslu';
$lang['is_IS']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Birta allar taggaðar færslur';
$lang['is_IS']['BlogEntry']['TS'] = 'Tög (komma til aðskilnaðar)';
$lang['is_IS']['BlogHolder']['HAVENTPERM'] = 'Birting bloggs er hlutverk stjórnanda. Vinsamlegast innskráðu þig.';
$lang['is_IS']['BlogHolder']['POST'] = 'Birta blogg færslu';
$lang['is_IS']['BlogHolder']['RSSFEED'] = 'RSS þjónusta fyrir þetta blogg';
$lang['is_IS']['BlogHolder']['SJ'] = 'Málefni';
$lang['is_IS']['BlogHolder']['SPUC'] = 'Vinsamlegast notaðu kommu til að aðskilja tögin';
$lang['is_IS']['BlogHolder.ss']['NOENTRIES'] = 'Það eru engar blogg færslur';
$lang['is_IS']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Skoða færslur sem eru taggaðar með';
$lang['is_IS']['BlogHolder']['SUCCONTENT'] = 'Til hamingju, uppsetningin á SilverStripe blogg einingunni tókst.
Þessari blogg færslu er hægt eyða á örugganhátt. Þú getur stillt útlit blogsins þíns (svo sem widgets) i [url=admin] CMS[/url].';
$lang['is_IS']['BlogHolder']['SUCTAGS'] = 'silverstripe, blogg';
$lang['is_IS']['BlogHolder']['SUCTITLE'] = 'Uppsetning á SilverStripe blogg einingunni tókst';
$lang['is_IS']['BlogHolder']['TE'] = 'Til dæmis: íþróttir, persónulegt, vísindasögur';
$lang['is_IS']['BlogManagementWidget']['COMADM'] = 'Athugasemdir stjórnanda';
$lang['is_IS']['BlogManagementWidget.ss']['LOGOUT'] = 'Útskrá';
$lang['is_IS']['BlogManagementWidget.ss']['POSTNEW'] = 'Birta nýju blogg færsluna';
$lang['is_IS']['BlogManagementWidget']['UNM1'] = 'Þú átt 1 óskoðaða athugasemd';
$lang['is_IS']['BlogManagementWidget']['UNMM'] = 'Þú átt %i óskoðaða athugasemd';
$lang['is_IS']['BlogSummary.ss']['COMMENTS'] = 'Athugasemdir';
$lang['is_IS']['BlogSummary.ss']['POSTEDON'] = 'á';
$lang['is_IS']['BlogSummary.ss']['VIEWFULL'] = 'Skoða alla færslu -';
$lang['is_IS']['RSSWidget']['CT'] = 'Titill fyrir þjónustuna';
$lang['is_IS']['RSSWidget']['NTS'] = 'Fjöldi hluta til að sýna';
$lang['is_IS']['RSSWidget']['URL'] = 'Slóð á RSS þjónustuna';
$lang['is_IS']['TagCloudWidget']['LIMIT'] = 'Takmarka fjölda tag';
$lang['is_IS']['TagCloudWidget']['SBAL'] = 'stafróf';
$lang['is_IS']['TagCloudWidget']['SBFREQ'] = 'tíðni';
$lang['is_IS']['TagCloudWidget']['SORTBY'] = 'Raða eftir';
$lang['is_IS']['TagCloudWidget']['TILE'] = 'Titill';
?>

32
0.2.1-rc1/lang/it_IT.php Normal file
View File

@ -0,0 +1,32 @@
<?php
/**
* Italian (Italy) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('it_IT', $lang) && is_array($lang['it_IT'])) {
$lang['it_IT'] = array_merge($lang['en_US'], $lang['it_IT']);
} else {
$lang['it_IT'] = $lang['en_US'];
}
$lang['it_IT']['ArchiveWidget']['MONTH'] = 'mese';
$lang['it_IT']['ArchiveWidget']['YEAR'] = 'anno';
$lang['it_IT']['BlogEntry']['AU'] = 'Autore';
$lang['it_IT']['BlogEntry']['DT'] = 'Data';
$lang['it_IT']['BlogEntry.ss']['COMMENTS'] = 'Commenti';
$lang['it_IT']['BlogHolder']['SJ'] = 'Soggetto';
$lang['it_IT']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['it_IT']['BlogSummary.ss']['COMMENTS'] = 'Commenti';
$lang['it_IT']['TagCloudWidget']['SBAL'] = 'alfabeto';
$lang['it_IT']['TagCloudWidget']['SBFREQ'] = 'frequenza';
$lang['it_IT']['TagCloudWidget']['SORTBY'] = 'Ordina per';
$lang['it_IT']['TagCloudWidget']['TILE'] = 'Titolo';
?>

37
0.2.1-rc1/lang/nl_NL.php Normal file
View File

@ -0,0 +1,37 @@
<?php
/**
* Dutch (Netherlands) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('nl_NL', $lang) && is_array($lang['nl_NL'])) {
$lang['nl_NL'] = array_merge($lang['en_US'], $lang['nl_NL']);
} else {
$lang['nl_NL'] = $lang['en_US'];
}
$lang['nl_NL']['BlogEntry.ss']['COMMENTS'] = 'Reacties';
$lang['nl_NL']['BlogEntry.ss']['EDITTHIS'] = 'Bewerk dit post';
$lang['nl_NL']['BlogEntry.ss']['POSTEDBY'] = 'Auteur';
$lang['nl_NL']['BlogEntry.ss']['POSTEDON'] = 'Aan';
$lang['nl_NL']['BlogEntry.ss']['TAGS'] = 'Tags:';
$lang['nl_NL']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'onpubliceer dit post';
$lang['nl_NL']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Bekijk alle posten getiteld';
$lang['nl_NL']['BlogHolder.ss']['NOENTRIES'] = 'Er zijn geen blog entrees ';
$lang['nl_NL']['BlogHolder.ss']['VIEWINGTAGGED'] = 'U bekijkt entrees tagged met';
$lang['nl_NL']['BlogManagementWidget.ss']['LOGOUT'] = 'Afmelden';
$lang['nl_NL']['BlogManagementWidget.ss']['POSTNEW'] = 'Publiceer een nieuw blog entree';
$lang['nl_NL']['BlogSummary.ss']['COMMENTS'] = 'Reacties';
$lang['nl_NL']['BlogSummary.ss']['POSTEDON'] = 'Aan';
$lang['nl_NL']['BlogSummary.ss']['VIEWFULL'] = 'Bekijk het gehele post getitled';
$lang['nl_NL']['TagCloudWidget']['SBAL'] = 'alfabet';
$lang['nl_NL']['TagCloudWidget']['SBFREQ'] = 'frequentie';
$lang['nl_NL']['TagCloudWidget']['SORTBY'] = 'Sorteer bij';
?>

62
0.2.1-rc1/lang/pl_PL.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Polish (Poland) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('pl_PL', $lang) && is_array($lang['pl_PL'])) {
$lang['pl_PL'] = array_merge($lang['en_US'], $lang['pl_PL']);
} else {
$lang['pl_PL'] = $lang['en_US'];
}
$lang['pl_PL']['ArchiveWidget']['DispBY'] = 'Wyświetlaj według';
$lang['pl_PL']['ArchiveWidget']['MONTH'] = 'miesiąc';
$lang['pl_PL']['ArchiveWidget']['YEAR'] = 'rok';
$lang['pl_PL']['BlogEntry']['AU'] = 'Autor';
$lang['pl_PL']['BlogEntry']['BBH'] = 'Pomoc BBCode';
$lang['pl_PL']['BlogEntry']['CN'] = 'Zawartość';
$lang['pl_PL']['BlogEntry']['DT'] = 'Data';
$lang['pl_PL']['BlogEntry.ss']['COMMENTS'] = 'Komentarze';
$lang['pl_PL']['BlogEntry.ss']['EDITTHIS'] = 'Edytuj ten post';
$lang['pl_PL']['BlogEntry.ss']['POSTEDBY'] = 'Dodane przez';
$lang['pl_PL']['BlogEntry.ss']['POSTEDON'] = 'w';
$lang['pl_PL']['BlogEntry.ss']['TAGS'] = 'Tagi:';
$lang['pl_PL']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Cofnij publikację tego postu';
$lang['pl_PL']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Zobacz wszystkie posty otagowane jako';
$lang['pl_PL']['BlogEntry']['TS'] = 'Tagi (oddziel przecinkami)';
$lang['pl_PL']['BlogHolder']['HAVENTPERM'] = 'Tylko administrator może publikować wpisy na blogu. Zaloguj się.';
$lang['pl_PL']['BlogHolder']['POST'] = 'Publikuj wpis';
$lang['pl_PL']['BlogHolder']['RSSFEED'] = 'Subskrybuj wpisy na tym blogu przez RSS';
$lang['pl_PL']['BlogHolder']['SJ'] = 'Temat';
$lang['pl_PL']['BlogHolder']['SPUC'] = 'Oddziel tagi używając przecinków.';
$lang['pl_PL']['BlogHolder.ss']['NOENTRIES'] = 'Nie ma żadnych wpisów na blogu';
$lang['pl_PL']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Zobacz wpisy otagowane jako';
$lang['pl_PL']['BlogHolder']['SUCCONTENT'] = 'Gratulacje, moduł bloga SilverStripe został poprawnie zainstalowany. Możesz spokojnie usunąć ten wpis. Możesz skonfigurować różne części swojego bloga (takie jak widgety, wyświetlane z boku) w [url=admin]CMSie[/url].';
$lang['pl_PL']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['pl_PL']['BlogHolder']['SUCTITLE'] = 'Blog SilverStripe został poprawnie zainstalowany.';
$lang['pl_PL']['BlogHolder']['TE'] = 'Na przykład: sport, osobiste, science fiction';
$lang['pl_PL']['BlogManagementWidget']['COMADM'] = 'Administracja komentarzami';
$lang['pl_PL']['BlogManagementWidget.ss']['LOGOUT'] = 'Wyloguj';
$lang['pl_PL']['BlogManagementWidget.ss']['POSTNEW'] = 'Dodaj nowy wpis';
$lang['pl_PL']['BlogManagementWidget']['UNM1'] = 'Masz 1 niesprawdzony komentarz';
$lang['pl_PL']['BlogManagementWidget']['UNMM'] = 'Masz %i niesprawdzonych komentarzy';
$lang['pl_PL']['BlogSummary.ss']['COMMENTS'] = 'Komentarze';
$lang['pl_PL']['BlogSummary.ss']['POSTEDON'] = 'w';
$lang['pl_PL']['BlogSummary.ss']['VIEWFULL'] = 'Zobacz pełny post zatytułowany - ';
$lang['pl_PL']['RSSWidget']['CT'] = 'Tytuł dla kanału';
$lang['pl_PL']['RSSWidget']['NTS'] = 'Ilość pokazywanych wpisów';
$lang['pl_PL']['RSSWidget']['URL'] = 'URL RSS';
$lang['pl_PL']['TagCloudWidget']['LIMIT'] = 'Limit tagów';
$lang['pl_PL']['TagCloudWidget']['SBAL'] = 'alfabetu';
$lang['pl_PL']['TagCloudWidget']['SBFREQ'] = 'częstości występowania';
$lang['pl_PL']['TagCloudWidget']['SORTBY'] = 'Sortuj według';
$lang['pl_PL']['TagCloudWidget']['TILE'] = 'Tytuł';
?>

40
0.2.1-rc1/lang/pt_PT.php Normal file
View File

@ -0,0 +1,40 @@
<?php
/**
* Portuguese (Portugal) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('pt_PT', $lang) && is_array($lang['pt_PT'])) {
$lang['pt_PT'] = array_merge($lang['en_US'], $lang['pt_PT']);
} else {
$lang['pt_PT'] = $lang['en_US'];
}
$lang['pt_PT']['BlogEntry.ss']['COMMENTS'] = 'Comentários';
$lang['pt_PT']['BlogEntry.ss']['EDITTHIS'] = 'Editar este post';
$lang['pt_PT']['BlogEntry.ss']['POSTEDBY'] = 'Inserido por';
$lang['pt_PT']['BlogEntry.ss']['POSTEDON'] = 'em';
$lang['pt_PT']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Não publicar este post';
$lang['pt_PT']['BlogHolder']['HAVENTPERM'] = 'A inserção de post é uma tarefa do administrador. Por favor faça o login.';
$lang['pt_PT']['BlogHolder']['RSSFEED'] = 'Feed RSS para este blog';
$lang['pt_PT']['BlogHolder']['SUCCONTENT'] = 'Parabéns, o módulo do blog do SilverStripe foi instalado com sucesso. Este post pode ser apagado. Poderá configurar as preferências do blog (assim como os widgets presentes no menu) através [url=admin]do CMS[/url].';
$lang['pt_PT']['BlogHolder']['SUCTITLE'] = 'O módulo do blog do SilverStripe foi instalado com sucesso.';
$lang['pt_PT']['BlogManagementWidget']['COMADM'] = 'Administração de comentários';
$lang['pt_PT']['BlogManagementWidget.ss']['LOGOUT'] = 'Sair';
$lang['pt_PT']['BlogManagementWidget']['UNM1'] = 'Existe 1 comentário por moderar';
$lang['pt_PT']['BlogManagementWidget']['UNMM'] = 'Existem %i comentários por moderar';
$lang['pt_PT']['BlogSummary.ss']['COMMENTS'] = 'Comentários';
$lang['pt_PT']['BlogSummary.ss']['POSTEDON'] = 'em';
$lang['pt_PT']['RSSWidget']['NTS'] = 'Número de items para mostrar';
$lang['pt_PT']['RSSWidget']['URL'] = 'Endereço (URL) do RSS Feed';
$lang['pt_PT']['TagCloudWidget']['SBAL'] = 'alfabeto';
$lang['pt_PT']['TagCloudWidget']['SORTBY'] = 'Ordenar por';
$lang['pt_PT']['TagCloudWidget']['TILE'] = 'Título';
?>

62
0.2.1-rc1/lang/ru_RU.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Russian (Russia) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('ru_RU', $lang) && is_array($lang['ru_RU'])) {
$lang['ru_RU'] = array_merge($lang['en_US'], $lang['ru_RU']);
} else {
$lang['ru_RU'] = $lang['en_US'];
}
$lang['ru_RU']['ArchiveWidget']['DispBY'] = 'Группировать по';
$lang['ru_RU']['ArchiveWidget']['MONTH'] = 'месяцу';
$lang['ru_RU']['ArchiveWidget']['YEAR'] = 'году';
$lang['ru_RU']['BlogEntry']['AU'] = 'Автор';
$lang['ru_RU']['BlogEntry']['BBH'] = 'Подсказка по BBCode';
$lang['ru_RU']['BlogEntry']['CN'] = 'Содержимое';
$lang['ru_RU']['BlogEntry']['DT'] = 'Дата';
$lang['ru_RU']['BlogEntry.ss']['COMMENTS'] = 'Комментарии';
$lang['ru_RU']['BlogEntry.ss']['EDITTHIS'] = 'Редакт. эту запись';
$lang['ru_RU']['BlogEntry.ss']['POSTEDBY'] = 'Автор: ';
$lang['ru_RU']['BlogEntry.ss']['POSTEDON'] = ':';
$lang['ru_RU']['BlogEntry.ss']['TAGS'] = 'Метки:';
$lang['ru_RU']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Убрать запись с опубликов. сайта';
$lang['ru_RU']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Смотреть все записи с метками';
$lang['ru_RU']['BlogEntry']['TS'] = 'Метки (раздел. запят.)';
$lang['ru_RU']['BlogHolder']['HAVENTPERM'] = 'Публикация записей в блоге доступна только администратору. Пожалуйста, войдите.';
$lang['ru_RU']['BlogHolder']['POST'] = 'Опубликовать запись в блоге';
$lang['ru_RU']['BlogHolder']['RSSFEED'] = 'RSS подписка на этот блог';
$lang['ru_RU']['BlogHolder']['SJ'] = 'Тема';
$lang['ru_RU']['BlogHolder']['SPUC'] = 'Разделяйте метки запятыми.';
$lang['ru_RU']['BlogHolder.ss']['NOENTRIES'] = 'В блоге нет записей';
$lang['ru_RU']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Просмотр записей с метками ';
$lang['ru_RU']['BlogHolder']['SUCCONTENT'] = 'Поздравляем, модуль блога SilverStripe был успешно установлен. Эта запись в блоге может быть удалена. Вы можете настроить вид блога (например, отображение виджетов в боковой панели) в [url=admin]Системе Управления Содержимым[/url].';
$lang['ru_RU']['BlogHolder']['SUCTAGS'] = 'silverstripe, блог';
$lang['ru_RU']['BlogHolder']['SUCTITLE'] = 'Модуль блога SilverStripe успешно установлен';
$lang['ru_RU']['BlogHolder']['TE'] = 'Например, спорт, личное, фантастика';
$lang['ru_RU']['BlogManagementWidget']['COMADM'] = 'Управление комментариями';
$lang['ru_RU']['BlogManagementWidget.ss']['LOGOUT'] = 'Выход';
$lang['ru_RU']['BlogManagementWidget.ss']['POSTNEW'] = 'Опубликовать новую запись';
$lang['ru_RU']['BlogManagementWidget']['UNM1'] = 'У вас 1 непроверенный комментарий';
$lang['ru_RU']['BlogManagementWidget']['UNMM'] = 'У вас %i непроверенных комментариев';
$lang['ru_RU']['BlogSummary.ss']['COMMENTS'] = 'Комментарии';
$lang['ru_RU']['BlogSummary.ss']['POSTEDON'] = ':';
$lang['ru_RU']['BlogSummary.ss']['VIEWFULL'] = 'См. полностью запись под названием: ';
$lang['ru_RU']['RSSWidget']['CT'] = 'Собственное название ленты новостей';
$lang['ru_RU']['RSSWidget']['NTS'] = 'Показывать кол-во записей';
$lang['ru_RU']['RSSWidget']['URL'] = 'URL ленты RSS';
$lang['ru_RU']['TagCloudWidget']['LIMIT'] = 'Ограничить кол-во меток';
$lang['ru_RU']['TagCloudWidget']['SBAL'] = 'алфавиту';
$lang['ru_RU']['TagCloudWidget']['SBFREQ'] = 'частоте';
$lang['ru_RU']['TagCloudWidget']['SORTBY'] = 'Сортировать по';
$lang['ru_RU']['TagCloudWidget']['TILE'] = 'Название';
?>

58
0.2.1-rc1/lang/sr_RS.php Normal file
View File

@ -0,0 +1,58 @@
<?php
/**
* Serbian (Serbia) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('sr_RS', $lang) && is_array($lang['sr_RS'])) {
$lang['sr_RS'] = array_merge($lang['en_US'], $lang['sr_RS']);
} else {
$lang['sr_RS'] = $lang['en_US'];
}
$lang['sr_RS']['ArchiveWidget']['DispBY'] = 'Прикажи по';
$lang['sr_RS']['ArchiveWidget']['MONTH'] = 'месецу';
$lang['sr_RS']['ArchiveWidget']['YEAR'] = 'години';
$lang['sr_RS']['BlogEntry']['AU'] = 'Аутор';
$lang['sr_RS']['BlogEntry']['BBH'] = 'Помоћ око ББкода';
$lang['sr_RS']['BlogEntry']['CN'] = 'Садржај';
$lang['sr_RS']['BlogEntry']['DT'] = 'Датум';
$lang['sr_RS']['BlogEntry.ss']['COMMENTS'] = 'Коментари';
$lang['sr_RS']['BlogEntry.ss']['EDITTHIS'] = 'Измени овај унос';
$lang['sr_RS']['BlogEntry.ss']['POSTEDBY'] = 'Послао';
$lang['sr_RS']['BlogEntry.ss']['POSTEDON'] = ' ';
$lang['sr_RS']['BlogEntry.ss']['TAGS'] = 'Тагови:';
$lang['sr_RS']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Погледајте све уносе означене са';
$lang['sr_RS']['BlogEntry']['TS'] = 'Ознаке (одвојене зарезом)';
$lang['sr_RS']['BlogHolder']['HAVENTPERM'] = 'Слање нових уноса у блог је администраторски задатак. Пријавите се.';
$lang['sr_RS']['BlogHolder']['POST'] = 'Пошаљи унос у блог';
$lang['sr_RS']['BlogHolder']['RSSFEED'] = 'RSS довод овог блога';
$lang['sr_RS']['BlogHolder']['SJ'] = 'Наслов';
$lang['sr_RS']['BlogHolder']['SPUC'] = 'Одвојите ознаке зарезима.';
$lang['sr_RS']['BlogHolder.ss']['NOENTRIES'] = 'Нема уноса у блог';
$lang['sr_RS']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Приказујем уносе означене са';
$lang['sr_RS']['BlogHolder']['SUCTAGS'] = 'silverstripe, блог';
$lang['sr_RS']['BlogHolder']['SUCTITLE'] = 'SilverStripe модул за блог је успешно инсталиран';
$lang['sr_RS']['BlogHolder']['TE'] = 'На пример: спорт, лично, научна фантастика';
$lang['sr_RS']['BlogManagementWidget']['COMADM'] = 'Администрација коментара';
$lang['sr_RS']['BlogManagementWidget.ss']['LOGOUT'] = 'Одјави се';
$lang['sr_RS']['BlogManagementWidget.ss']['POSTNEW'] = 'Пошаљи нов унос у блог';
$lang['sr_RS']['BlogSummary.ss']['COMMENTS'] = 'Коментари';
$lang['sr_RS']['BlogSummary.ss']['POSTEDON'] = 'у';
$lang['sr_RS']['BlogSummary.ss']['VIEWFULL'] = 'Погледајте цео унос насловљен - ';
$lang['sr_RS']['RSSWidget']['CT'] = 'Прилагођени наслов за овај довод';
$lang['sr_RS']['RSSWidget']['NTS'] = 'Број ставки за приказивање';
$lang['sr_RS']['RSSWidget']['URL'] = 'URL RSS довода';
$lang['sr_RS']['TagCloudWidget']['LIMIT'] = 'Ограничи број тагова';
$lang['sr_RS']['TagCloudWidget']['SBAL'] = 'азбучном реду';
$lang['sr_RS']['TagCloudWidget']['SBFREQ'] = 'фреквенцији';
$lang['sr_RS']['TagCloudWidget']['SORTBY'] = 'Сортирај по';
$lang['sr_RS']['TagCloudWidget']['TILE'] = 'Наслов';
?>

62
0.2.1-rc1/lang/tr_TR.php Normal file
View File

@ -0,0 +1,62 @@
<?php
/**
* Turkish (Turkey) language pack
* @package modules: blog
* @subpackage i18n
*/
i18n::include_locale_file('modules: blog', 'en_US');
global $lang;
if(array_key_exists('tr_TR', $lang) && is_array($lang['tr_TR'])) {
$lang['tr_TR'] = array_merge($lang['en_US'], $lang['tr_TR']);
} else {
$lang['tr_TR'] = $lang['en_US'];
}
$lang['tr_TR']['ArchiveWidget']['DispBY'] = 'Görüntüle';
$lang['tr_TR']['ArchiveWidget']['MONTH'] = 'ay';
$lang['tr_TR']['ArchiveWidget']['YEAR'] = 'yıl';
$lang['tr_TR']['BlogEntry']['AU'] = 'Yazar';
$lang['tr_TR']['BlogEntry']['BBH'] = 'BBCode yardımı';
$lang['tr_TR']['BlogEntry']['CN'] = 'İçerik';
$lang['tr_TR']['BlogEntry']['DT'] = 'Tarih';
$lang['tr_TR']['BlogEntry.ss']['COMMENTS'] = 'Yorumlar';
$lang['tr_TR']['BlogEntry.ss']['EDITTHIS'] = 'Bu girdiyi yeniden düzenle';
$lang['tr_TR']['BlogEntry.ss']['POSTEDBY'] = 'Gönderen ';
$lang['tr_TR']['BlogEntry.ss']['POSTEDON'] = 'üzerinde';
$lang['tr_TR']['BlogEntry.ss']['TAGS'] = 'Etiketler:';
$lang['tr_TR']['BlogEntry.ss']['UNPUBLISHTHIS'] = 'Bu girdiyi yayından kaldır';
$lang['tr_TR']['BlogEntry.ss']['VIEWALLPOSTTAGGED'] = 'Etiketlenen tüm girdileri görüntüle';
$lang['tr_TR']['BlogEntry']['TS'] = 'Etiketler (virgülle ayrılmış)';
$lang['tr_TR']['BlogHolder']['HAVENTPERM'] = 'Sadece yöneticiler blog girebilirler. Lütfen oturum açın.';
$lang['tr_TR']['BlogHolder']['POST'] = 'Blog girdisi gönderin';
$lang['tr_TR']['BlogHolder']['RSSFEED'] = 'Bu blog\'un RSS beslemesi';
$lang['tr_TR']['BlogHolder']['SJ'] = 'Konu';
$lang['tr_TR']['BlogHolder']['SPUC'] = 'Lüfen etiketleri virgülle ayırın.';
$lang['tr_TR']['BlogHolder.ss']['NOENTRIES'] = 'Blog girdileri mevcut değil';
$lang['tr_TR']['BlogHolder.ss']['VIEWINGTAGGED'] = 'Girdiler görüntüleniyor, etiket:';
$lang['tr_TR']['BlogHolder']['SUCCONTENT'] = 'Tebrikler, SilverStripe blog modülü başarıyla kuruldu. Bu blog girdisini silebilirsiniz. Ayrıca, isterseniz [url=admin]CMS[/url] içerisinde blog\'unuzun görünümünde degişiklikler yapabilirsiniz.';
$lang['tr_TR']['BlogHolder']['SUCTAGS'] = 'silverstripe, blog';
$lang['tr_TR']['BlogHolder']['SUCTITLE'] = 'SilverStripe blog modülü başarıyla kuruldu';
$lang['tr_TR']['BlogHolder']['TE'] = 'Örneğin: spor, kişisel, bilim kurgu';
$lang['tr_TR']['BlogManagementWidget']['COMADM'] = 'Yorum yönetimi';
$lang['tr_TR']['BlogManagementWidget.ss']['LOGOUT'] = 'Oturumu kapat';
$lang['tr_TR']['BlogManagementWidget.ss']['POSTNEW'] = 'Yeni bir blog girdisi oluştur';
$lang['tr_TR']['BlogManagementWidget']['UNM1'] = '1 adet onay bekleyen yorumunuz var';
$lang['tr_TR']['BlogManagementWidget']['UNMM'] = '%i adet onay bekleyen yorumunuz var';
$lang['tr_TR']['BlogSummary.ss']['COMMENTS'] = 'Yorumlar';
$lang['tr_TR']['BlogSummary.ss']['POSTEDON'] = 'üzerinde';
$lang['tr_TR']['BlogSummary.ss']['VIEWFULL'] = 'Postun tamamını görüntüle -';
$lang['tr_TR']['RSSWidget']['CT'] = 'Besleme için özel başlık';
$lang['tr_TR']['RSSWidget']['NTS'] = 'Görüntülenecek öğe adedi';
$lang['tr_TR']['RSSWidget']['URL'] = 'RSS beslemesi\'nin URL\'i';
$lang['tr_TR']['TagCloudWidget']['LIMIT'] = 'Etiket sayısini sınırla';
$lang['tr_TR']['TagCloudWidget']['SBAL'] = 'alfabe';
$lang['tr_TR']['TagCloudWidget']['SBFREQ'] = 'frekans';
$lang['tr_TR']['TagCloudWidget']['SORTBY'] = 'Sıralama';
$lang['tr_TR']['TagCloudWidget']['TILE'] = 'Başlık';
?>

View File

@ -0,0 +1,21 @@
<% if DisplayMode == month %>
<ul class="archiveMonths">
<% control Dates %>
<li>
<a href="$Link">
$Date.Format(F) $Date.Year
</a>
</li>
<% end_control %>
</ul>
<% else %>
<ul class="archiveYears">
<% control Dates %>
<li>
<a href="$Link">
$Date.Year<% if Last %><% else %>,<% end_if %>
</a>
</li>
<% end_control %>
</ul>
<% end_if %>

View File

@ -0,0 +1,5 @@
<ul>
<li><a href="$PostLink"><% _t('POSTNEW', 'Post a new blog entry') %></a></li>
<li><a href="$CommentLink">$CommentText</a></li>
<li><a href="Security/logout"><% _t('LOGOUT', 'Logout') %></a></li>
</ul>

View File

@ -0,0 +1,27 @@
<% if BlogEntries.MoreThanOnePage %>
<div id="PageNumbers">
<p>
<% if BlogEntries.NotFirstPage %>
<a class="prev" href="$BlogEntries.PrevLink" title="View the previous page">Prev</a>
<% end_if %>
<span>
<% control BlogEntries.PaginationSummary(4) %>
<% if CurrentBool %>
$PageNum
<% else %>
<% if Link %>
<a href="$Link" title="View page number $PageNum">$PageNum</a>
<% else %>
&hellip;
<% end_if %>
<% end_if %>
<% end_control %>
</span>
<% if BlogEntries.NotLastPage %>
<a class="next" href="$BlogEntries.NextLink" title="View the next page">Next</a>
<% end_if %>
</p>
</div>
<% end_if %>

View File

@ -0,0 +1,3 @@
<div id="Sidebar" class="typography">
$SideBar
</div>

View File

@ -0,0 +1,14 @@
<div class="blogSummary">
<h2><a href="$Link" title="<% _t('VIEWFULL', 'View full post titled -') %> '$Title'">$MenuTitle</a></h2>
<p class="authorDate"><% _t('POSTEDBY', 'Posted by') %> $Author.XML <% _t('POSTEDON', 'on') %> $Date.Long | <a href="$Link#PageComments_holder" title="View Comments Posted">$Comments.Count <% _t('COMMENTS', 'Comments') %></a></p>
<% if TagsCollection %>
<p class="tags">
Tags:
<% control TagsCollection %>
<a href="$Link" title="View all posts tagged '$Tag'" rel="tag">$Tag</a><% if Last %><% else %>,<% end_if %>
<% end_control %>
</p>
<% end_if %>
$ParagraphSummary
<p class="blogVitals"><a href="$Link#PageComments_holder" class="comments" title="View Comments for this post">$Comments.Count comments</a> | <a href="$Link" class="readmore" title="Read Full Post">Read the full post</a></p>
</div>

View File

@ -0,0 +1,20 @@
<div id="TrackBacks_holder" class="typography">
<h4>TrackBacks</h4>
<% if TrackBacks %>
<ul id="TrackBacks">
<% control TrackBacks %>
<li>
<a href="$Url"><% if Title %>$Title<% else %>$Url<% end_if %></a> <span class="date">on $Created.Nice</span>
<% if Excerpt %><p class="excerpt">$Excerpt</p><% end_if %>
</li>
<% end_control %>
</ul>
<% else %>
<p>No TrackBacks have been submitted for this page.</p>
<% end_if %>
<a href="$TrackBackPingLink">Trackback URL for this page.</a>
</div>

View File

@ -0,0 +1,30 @@
<% include BlogSideBar %>
<div id="BlogContent" class="typography">
<% include BreadCrumbs %>
<div class="blogEntry">
<h2>$Title</h2>
<p class="authorDate"><% _t('POSTEDBY', 'Posted by') %> $Author.XML <% _t('POSTEDON', 'on') %> $Date.Long | $Comments.Count <% _t('COMMENTS', 'Comments') %></p>
<% if TagsCollection %>
<p class="tags">
<% _t('TAGS', 'Tags:') %>
<% control TagsCollection %>
<a href="$Link" title="<% _t('VIEWALLPOSTTAGGED', 'View all posts tagged') %> '$Tag'" rel="tag">$Tag</a><% if Last %><% else %>,<% end_if %>
<% end_control %>
</p>
<% end_if %>
<% if IsWYSIWYGEnabled %>
$Content
<% else %>
$ParsedContent
<% end_if %>
<br />
</div>
<% if CurrentMember %><p><a href="$EditURL" id="editpost" title="<% _t('EDITTHIS', 'Edit this post') %>"><% _t('EDITTHIS', 'Edit this post') %></a> | <a href="$Link(unpublishPost)" id="unpublishpost"><% _t('UNPUBLISHTHIS', 'Unpublish this post') %></a></p><% end_if %>
<% if TrackBacksEnabled %>
<% include TrackBacks %>
<% end_if %>
$PageComments
</div>

View File

@ -0,0 +1,21 @@
<% include BlogSideBar %>
<div id="BlogContent" class="blogcontent typography">
<% include BreadCrumbs %>
<% if Tag %>
<h3><% _t('VIEWINGTAGGED', 'Viewing entries tagged with') %> '$Tag'</h3>
<% end_if %>
<% if BlogEntries %>
<% control BlogEntries %>
<% include BlogSummary %>
<% end_control %>
<% else %>
<h3><% _t('NOENTRIES', 'There are no blog entries') %></h3>
<% end_if %>
<% include BlogPagination %>
</div>

View File

@ -0,0 +1,7 @@
<ul>
<% control FeedItems %>
<li>
<a href="$Link">$Title</a>
</li>
<% end_control %>
</ul>

View File

@ -0,0 +1,5 @@
<p>
<a href="$RSSLink" class="subscribeLink" title="<% _t('SUBSCRIBETITLE', 'Subscribe to this blog via RSS') %>">
<% _t('SUBSCRIBETEXT', 'Subscribe') %>
</a>
</p>

View File

@ -0,0 +1,5 @@
<p class="tagcloud">
<% control TagsCollection %>
<a href="$Link" class="$Class">$Tag</a>
<% end_control %>
</p>

View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<response>
<error>$Error</error>
<% if Message %><message>$Message</message><% end_if %>
</response>

View File

@ -0,0 +1,3 @@
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:dc="http://purl.org/dc/elements/1.1/" >
<rdf:Description rdf:about="$AbsoluteLink" trackback:ping="$TrackBackPingLink" dc:identifier="$AbsoluteLink" dc:title="$Title" />
</rdf:RDF>

View File

@ -0,0 +1,49 @@
<?php
/**
* @package blog
* @subpackage tests
*/
class BlogHolderFunctionalTest extends FunctionalTest {
static $fixture_file = 'blog/tests/BlogHolderFunctionalTest.yml';
function setUp() {
parent::setUp();
$blogHolder = $this->objFromFixture('BlogHolder', 'blogholder');
$blogHolder->publish('Stage', 'LIve');
$blogEntry = $this->objFromFixture('BlogEntry', 'entry1');
$blogEntry->publish('Stage', 'LIve');
}
function testFrontendBlogPostRequiresPermission() {
// get valid SecurityID (from comments form, would usually be copy/pasted)
$blogEntry = $this->objFromFixture('BlogEntry', 'entry1');
$response = $this->get($blogEntry->URLSegment);
$securityID = Session::get('SecurityID');
// without login
$data = array(
'Title'=>'Disallowed',
'Author'=>'Disallowed',
'Content'=>'Disallowed',
'action_postblog' => 'Post blog entry',
'SecurityID' => $securityID
);
$response = $this->post('blog/BlogEntryForm', $data);
$this->assertFalse(DataObject::get_one('BlogEntry', sprintf("Title = 'Disallowed'")));
// with login
$blogEditor = $this->objFromFixture('Member', 'blog_editor');
$blogEditor->logIn();
$data = array(
'Title'=>'Allowed',
'Author'=>'Allowed',
'Content'=>'Allowed',
'action_postblog' => 'Post blog entry',
'SecurityID' => $securityID
);
$response = $this->post('blog/BlogEntryForm', $data);
$this->assertType('BlogEntry', DataObject::get_one('BlogEntry', sprintf("Title = 'Allowed'")));
}
}

View File

@ -0,0 +1,20 @@
Permission:
blog_management:
Code: BLOGMANAGEMENT
Group:
blog_editors:
Code: blog-editors
Permissions: =>Permission.blog_management
Member:
blog_editor:
Email: blogeditor@test.com
Groups: =>Group.blog_editors
BlogHolder:
blogholder:
Title: Blog Holder
URLSegment: blog
BlogEntry:
entry1:
Title: Blog Entry
ProvideComments: 1
Parent: =>BlogHolder.blogholder

View File

@ -0,0 +1,57 @@
<?php
class BlogHolderTest extends SapphireTest {
static $fixture_file = 'blog/tests/BlogTest.yml';
function testGetAllBlogEntries() {
$mainblog = $this->fixture->objFromFixture('BlogHolder', 'mainblog');
$this->assertEquals($mainblog->Entries()->Count(), 3);
}
function testEntriesByMonth() {
$mainblog = $this->fixture->objFromFixture('BlogHolder', 'mainblog');
$entries = $mainblog->Entries('', '', '2008-01');
$this->assertEquals($entries->Count(), 2);
$expectedEntries = array(
'test-post-2',
'test-post-3'
);
foreach($entries as $entry) {
$this->assertContains($entry->URLSegment, $expectedEntries);
}
}
function textEntriesByYear() {
$mainblog = $this->fixture->objFromFixture('BlogHolder', 'mainblog');
$entries = $mainblog->Entries('', '', '2007');
$this->assertEquals($entries->Count(), 1);
$expectedEntries = array(
'test-post'
);
foreach($entries as $entry) {
$this->assertContains($entry->URLSegment, $expectedEntries);
}
}
function testEntriesByTag() {
$mainblog = $this->fixture->objFromFixture('BlogHolder', 'mainblog');
$entries = $mainblog->Entries('', 'tag1');
$this->assertEquals($entries->Count(), 2);
$expectedEntries = array(
'test-post',
'test-post-3'
);
foreach($entries as $entry) {
$this->assertContains($entry->URLSegment, $expectedEntries);
}
}
}
?>

View File

@ -0,0 +1,28 @@
BlogHolder:
mainblog:
Title: Main Blog
otherblog:
Title: Other Blog
BlogEntry:
testpost:
Title: Test Post
URLSegment: test-post
Date: 2007-02-17 18:45:00
Parent: =>BlogHolder.mainblog
Tags: tag1,tag2
testpost2:
Title: Test Post 2
URLSegment: test-post-2
Date: 2008-01-31 20:48:00
Parent: =>BlogHolder.mainblog
Tags: tag2,tag3
testpost3:
Title: Test Post 3
URLSegment: test-post-3
Date: 2008-01-17 18:45:00
Parent: =>BlogHolder.mainblog
Tags: tag1,tag2,tag3